Sem 7‎ > ‎AI‎ > ‎

### 0 Intro

posted Aug 5, 2013, 11:40 PM by Neil Mathew   [ updated Aug 6, 2013, 12:01 AM ]
 To transform an English sentence to Predicate Logic, we remove unnecessary terms. This leaves only the relationship and the entities involved, known as arguments. Predicate Logic Ex:  A pie is good   =   good(pie) The relation is ‘good’, the relation’s argument is ‘pie’. Prolog RulesTo infer facts from other facts, Prolog uses Rules. Ex:  Bill likes cars if they are red =                likes(bill, cars):- red(cars). By the way, in prolog, ‘:-’ is pronounced ‘if’. Prolog Queries • We may want to ask, “What does ali like?” •In Prolog syntax, we ask:  likes(ali,What).  Note: capital W on what Examples: a_kind_of(aa,ship). a_kind_of(bb,ship). part_of(aa,jordanian_navy). part_of(bb,jordanian_navy). part_of(jordanian_navy,jordanian_government). a_kind_of(jordanian_government,government). color(ship,red). a_kind_of(aa,ship).  a_kind_of(bb,ship). part_of(aa,jordanian_navy). part_of(bb,jordanian_navy). part_of(jordanian_navy,jordanian_government). a_kind_of(jordanian_government,government). color(ship,red). Parts of a Prolog Program All programs written in Prolog contain at least 4 parts:DOMAINS PREDICATES CLAUSES GOALS Domains:The section of code where we define the legal values for any type that is not defined as a standard type.  Predicates: The predicate section is where we define predicates to be used in the CLAUSES section and define the domains for their arguments.  Symbolic name of a relation We found it best to think of predicate declarations as function prototypes.  Ex:  age(string, integer) Clauses: Clauses are the heart of the program. A clause is an instance of a predicate, followed by a period. Clauses are of two types: FactsRules>> Facts:Facts in the CLAUSE section are relations that are known to be true by the programmer. A property of an object or a relation between objects.  Ex: red(car) >> Rules: •Used to infer other facts. Property or relation known given the fact that some other set of relations are known. Ex: Jane can eat food if it is a vegetable on the doctor’s list. Can_eat(jane, X):- food(X), vegetable(X), doc_list(X). Goals: Part of program where queries are made. Can be singular or compound. Each part of a compound goal is known as a subgoal.  To satisfy a compound goal (or query) each subgoal must itself be satisfied by the system •Ex:  What are the things do Bill and Cindy both like (in common)? •In Prolog: likes(bill, What), likes(cindy, What).Attached a ppt with more information on the AI page.