Contents Domain Illustration Methods Conclusions
|
Domain
B.A.R - Bartending Assistant Robot - is the bartender of the future. It contains
a database of
known drinks and likewise a database of available
ingredients. Both of these can be modified by the agent. B.A.R first asks for a
drink name, if the name is not found in its knowledgebase it will ask you whether
you have spelled the drink correctly. If the spelling is incorrect it will go
back and ask for a drink name again. If the spelling is correct it asks you
weather you would like to teach this new drink to it. At this point you have
two options. An answer of yes will take you through the drink learning process
and an answer of no will take you to the drink suggestion process. To suggest a
drink B.A.R will ask you for your favorite alcohol and search its knowledgebase
for a drink with that ingredient, and respond with the first one found. This is
very primitive, and I hope to have the suggestion process be a little more
complex in the future. If you choose the drink it suggested it will make it for
you. The drink learning process is also still under construction. It will learn
all the ingredients needed and then attempt to create a process for making the
drink. One the drink is learned, you can request B.A.R. to make it for
you.
| ?- make .
Spelling Error:
| ?- make .
Suggestion:
| ?- make .
Learning:
| ?- make .
B.A.R
searches through knowledge base for the_drink(name, I,G,P) where I is the list
of ingredients of the drink, G is the glass used for the drink, and P is the
list of steps used for making the drink. The rest of the program works
on manipulating the lists of ingredients and processes and also adding and
removing items from the knowledgebase. You can also replenish the supply of
ingredients in the knowledgebase using 'stock' but this is currently unnecessary,
because as of yet I haven't found the right way to "use up" the
ingredients.
It would certainly be self-rewarding to get this program to run the way I
originally envisioned it. I hope to gather a stronger grasp for Prolog that will
enable me to add more features to B.A.R. Overall, I'm glad that this project has
started me on a road to explore the interesting field of AI. Through it I hope
to broaden my study of cognitive science and psychology.
|
||||