190 likes | 706 Views
Represent the following sentences in first-order logic, using a consistent vocabulary. Not all students take both History and Biology. Only one student failed History. Only one student failed both history and biology. The best score in History was better than the best score in Biology.
E N D
Represent the following sentences in first-order logic, using a consistent vocabulary • Not all students take both History and Biology. • Only one student failed History. • Only one student failed both history and biology. • The best score in History was better than the best score in Biology. • Every person who dislikes all vegetarians is smart. • No person likes a smart vegetarian. • There is a woman who likes all men who are not vegetarians. • There is a barber who shaves all men in town who do not shave themselves. • No person likes a professor unless the professor is smart. • Politicians can fool some of the people all of the time, and they can fool all of the people some of the time , but they can’t fool all of the people all of the time.
BUILDING A KNOWLEDGE BAGE After learning this lesson we can develop a methodology for building knowledge bases for particulardomains The previous lessons we showed that first order logic is a powerful tool for knowledge representation and reasoning. However , a logic by itself consists of only the syntax, semantics, and proof theory. A logic does not offer any guidance as to what facts should be expressed , nor what vocabulary should be used to express them The process of building a knowledge base is calledKnowledge engineering The knowledge engineering will usually interview the real experts to become educated about the domain and to elicit the required knowledge , in a process calledknowledge acquisition
Knowledge Engineering Programming • Choosing a programming language. • Writing a program. • Choosing or writing a compiler • Running a program • Choosing a logic • Building a Knowledge base • Implementing the proof theory. • Inferring new facts. Knowledge Engineering VS. Programming A useful analogy can be made between knowledge engineering and programming. Both activities can be seen as consisting of for steps:
Decide what to talk about • Decide on a vocabulary of predicates • Encode general knowledge about the domain • Encode a description of the specific problem instance • Pose queries to the inference procedure and get answer