lunes, 12 de junio de 2017

Building an intelligent Chef

Let's start by analyzing the scope of the job: Building an intelligent machine means that the system must pass Turing's Test. Therefore, we are introducing by default a "common sense" rule in our research.

An interesting problem appears if we want to create an intelligent machine that can act as a Chef.

Cooking is an open problem, and it introduces some challenges to the intelligent machine. We will consider only three:
1. Should it cook by replicating a recipe step by step? What about measures? Cooking time? Is Fuzzy Logic the tool that could help solving these problems?
2. Could it create its own recipes by using the available products only? Could it transfer some skills that it has learned before such as music composing or poetry? How? Would Evolutionary Algorithms help?
3. What results can be accepted as "tasty meals"?


We can continue writing challenges that our "Chef" should overcome, but the last one is the main problem: the expectations about the resulting meal vary for each person, and even worse: each culture redefines cooking according to its history, location, and standards.

Therefore, which one is the appropriate "output"? I'm afraid that there are many solutions, and all these "tasty meals" would pass Turing's Test, but some of them would not pass the people’s taste.

The next step should be to "model" our Chef. To do so, we will analyze the problem again by reviewing the required actions to build an intelligent machine transforming the inputs (i.e.: beef, salt, lemon, onion, garlic, margarine, etc.) in an output: the meal (Steak!).

First, the desired recipe should be selected. This can be done by surfing the Internet. Therefore, our Chef can solve this easily.

Second, it should be verified if there are all the required products in the recipe. Also, the intelligent machine must check if there is the required quantity of all those products. The cooperation of another intelligent system is needed to keep records of the existing products.

Third, preparation: the beef must be sprinkled each side with salt. Then it must be added lemon juice, garlic, and onion. So, the intelligent Chef will need some additional devices:
- Sprinkler,
- Squeezer, to extract the lemon juice
- Peel the garlic clove, and chop it
- Cut the onion 
Fortunately, we can assume that have been created a set of intelligent machines that can solve these problems.

Finally, the intelligent Chef should melt margarine in a large skillet over "medium-high heat", fry the steak on each side, and transfer to a hot serving plate. Two comments: 
A) Which one is the appropriate temperature of the skillet? What is the meaning of medium-high heat? 
B) How much time is needed to fry the steak on each side?


There are many other problems that the intelligent machine may ask itself. A few examples are:  
- What if there is "not enough" (less than the required) margarine, but there is enough vegetable oil and butter?
- What if the recipe must be cooked without garlic and onions, or less salt because of the consumer's requirements? 
- Can be used the same procedure to cook fry chicken?

This is only a preliminary exercise. Thus, I have written more questions than answers. However, I feel confident about the future, because Artificial Intelligence is still young, and there are many researchers contributing to the field, so my expectations are high.