Monday, July 18, 2011

The Challenge of Pattern Design

Patterns must describe the desired object in a form that can be implemented by the Replicator. 

For a start, let us think of a Replicator Pattern as a kind of recipe.  For reference I have included a particularly good recipe.  Any cook knows that you (or your mother) must have read The Joy of Cooking before you are actually allowed in the kitchen.  Thus, you have the background knowledge to be able to measure flour (don’t pack it down), and what it means to “cream the butter”.

I have modified the presentation from a normal cookbook format to include the required equipment.  If you try making the cookies yourself, see how many little things I have left out.  Experiment.  Try baking cookies on a clear, cold day and again on a hot, rainy one.  Do all the cookies come out nicely brown?  What do you “get to know” about your oven.  Do you really leave them in the oven for 10 minutes, zero seconds?  Or do you peek and take them out when they look and smell nice. 

How do you get the cookies off the cookie sheet?  When?  Are we going to need a cookie jar?


Chocolate Chip Cookie Recipe

Equipment:
    blender
    grater
    mixing bowl
    measuring spoons
    measuring cup
    spatula
    cookie sheet
    oven
Ingredients:
    2 cups    butter
    4 cups    flour
    2 tsp.    baking soda
    2 cups    granulated sugar
    2 cups    brown sugar
    5 cups    blended oatmeal (measure oatmeal and blend in blender to a fine powder)
    24 oz.    chocolate chips
    1 tsp.    salt
    1 8 oz.    Hershey bar (grated)
    4    eggs
    2 tsp.    baking powder
    3 cups    chopped nuts (your choice)
    2 tsp.    vanilla

Cream the butter and both sugars. Add eggs and vanilla; mix together with flour, oatmeal, salt, baking powder, and soda. Add chocolate chips, Hershey bar and nuts. Roll into balls and place two inches apart on a cookie sheet.

Bake for 10 minutes at 375 degrees.

Makes 112 cookies.

Now we have a batch of cookies.  And a terrible mess.  How do we know what to do with the leftover ingredients and the dirty dishes?  Not even The Joy of Cooking is any help here.  We have common knowledge and some vague instructions from the dishwasher’s Operator Guide.

I believe that a Replicator Pattern must restore the system to exactly the initial state.  And it should have provisions for cleaning up and recycling the inevitable accidents - like the egg that got dropped on the floor.
  • How many patterns would be required to recreate the Replicator itself?
  • How many patterns would be required to support a sustainable human population?

  • How many patterns would be required to support a modern technological society?

  • How many patterns would be required to support a colony in space or on Mars?
I expect the Replicator to be able to internally derive processing steps and self-optimize operations without explicit direction.

Patterns must include tolerances and test parameters to be used during production to detect flaws.

Patterns must describe deconstruction steps to be used during recycling.  This must work with incomplete or damaged objects. 

Deconstruction patterns are also used to handle production waste by-products such as materials and used tools.

Software tools must be available to allow ordinary human beings to create and edit patterns safely and successfully.

Patterns must be standardized in such a way that they can be transmitted from one Replicator to another.

No comments:

Post a Comment