NKS Cooking
A novel approach to cooking
The algorithm:
- Consider the space of all possible recipes.
- Enumerate the ingredients per food style (Mexican, Chinese, French, Italian, and so on).
- Take the subsets of the ingredients per food-style set.
- Begin with a random choice of initial ingredients.
- Mix them by following a set of simple cooking rules like baking, sprinkling or heating.
- Season with salt and pepper to taste.
One could use a robotic device and see what results. One would also have to set up an evaluation scheme to decide which dishes are good and which are bad– either a human tester or a reliable sensor such as a modern “artificial nose” (essentially a microarray-like object with a number of different receptors).
However, since the testing procedure is undecidable in general, in the case of any given recipe, neither a human nor an automatic device can decide whether or not the end result will taste good.
It would also be of interest to find out which “cooking rules” lead to which patterns of smell and taste. For instance, one would expect any dish involving sugar, butter, and flour to taste reasonably good provided the rules do not yield a “burnt offering”. Of course, to make things really interesting, one should introduce additional ingredients, including ingredients which aren’t traditionally combined with the basic ones.
For French cuisine, butter would be a primitive, for American food, ketchup, for Mexican, chili, for Chinese, rice, for Italian, tomato. French and Italian food share cheese as a primitive; cooking “au gratin” would always be a reasonably safe bet. Since primitives are important, you cannot cook pancakes au gratin, and ketchup would be safer if you wanted your dish to meet with the approval of the American tester.
An ingredient is a primitive in the sense that any dish in a given style can use either more or less of it and still retain its character as an exemplar of that style. Primitives can be used at will, including in emergencies or when the rules happen to yield nasty results.
One might investigate reducible shortcuts, such as preparing something faster or skipping steps. However, most of the recipes are irreducible, making it impossible to take shortcuts without going through the whole preparation.
With some effort one can also prove that there exists a universal algorithm which, given a recipe and the initial ingredients, is able to reproduce any other recipe.
Concerning time/space complexity, it remains an open question whether the preparation time can always be reduced to a polynomial.
One can also ask about the algorithmic complexity of a dish, since one can measure its information content–the number of ingredients involved, the number of rules and steps applied, whether the rules were iterated, nested or random- looking. However, since, as noted above, the procedure is undecidable, the only known way to approach the question of the complexity of a dish is to compress it into a piece of universal tupper-ware and see what happens.
Another open question: Given a compressed ingredient, how many other ingredients can one compress? It is believed that this yields a classification of food types, defining a threshold between those in a lower/trivial class and more sophisticated items.
Comments (No comments)
What do you think?
You must be logged in to post a comment.