Presentation on theme: "Some Thoughts to Consider 7 What is the difference between Knowledge Engineering and Programming? What is the difference between Knowledge Engineering."— Presentation transcript:
Some Thoughts to Consider 7 What is the difference between Knowledge Engineering and Programming? What is the difference between Knowledge Engineering and Ontological Engineering? Is there a difference between what a software system should do and how a software system should do it?
English to FOL Examples Every skier likes the snow. ( x) skier(x) likes(x, snow) You can fool some of the people all of the time. ( x) (person(x) ( t) (time(t) canFool(x, t))) You can fool all of the people some of the time. ( x) ((person(x) ( t) (time(t) canFool(x, t))) All purple plants are poisonous. ( x) (plant(x) purple(x)) poisonous(x) No purple plant is poisonous. ¬ ( x) purple(x) plant(x) poisonous(x) or ( x) (plant(x) purple(x)) ¬ poisonous(x) There are exactly two purple plants. ( x)( y) plant(x) purple(x) plant(y) purple(y) ¬ (x = y) ( z) (plant(z) purple(z)) ((x = z) (y = z)) Mortimer is not tall. ¬ tall(Mortimer) X is above Y if X is directly on top of Y or else there is a pile of one or more other objects directly on top of one another starting with X and ending with Y. ( x)( y) above(x,y) (on(x,y) ( z) (on(x,z) above(z,y)))
FOL Example: Nono (RN p.280) Statement of Problem: The law says that it is a crime for an American to sell weapons to hostile nations. The country, Nono, an enemy of America, has some missiles, and all of its missiles were sold to it by Colonel West, who is American. Pseudo First Order Logic: American(West) Enemy(Nono, America) Owns(Nono, M1) Missile(M1) Missile(x) Weapon(x) Enemy(x, America) Hostile(x) Missile(x) Owns(Nono, x) Sells(West, x, Nono) American(x) Weapon(y) Sells(x, y, z) Hostile(z) Criminal(x) Prolog Statements: american(west). enemy(nono, america). owns(nono, m1). missile(m1). weapon(X) :- missile(X). hostile(X) :- enemy(X, america). sells(west, X, nono) :- missile(X), owns(nono, X). criminal(X) :- american(X), weapon(Y), sells(X, Y, Z), hostile(Z).
FOL Example: Hoofers Club Statement of Problem: Tony, Shi-Kuo, and Ellen belong to the Hoofers Club. Every member of the Hoofers Club is either a skier or a mountain climber or both. No mountain climber likes rain, and all skiers like snow. Ellen dislikes whatever Tony likes and likes whatever Tony dislikes. Tony likes rain and snow. Query: Is there a member of the Hoofers Club who is a mountain climber but not a skier? Semantics: Let S(x) mean x is a skier, M(x) mean x is a mountain climber, and L(x,y) mean x likes y, where the domain of the first variable is Hoofers Club members, and the domain of the second variable is snow and rain. FOL Statements: ( x) S(x) M(x) ¬ ( x) M(x) L(x, Rain) ( x) S(x) L(x, Snow) ( y) L(Ellen, y) ¬ L(Tony, y) L(Tony, Rain) L(Tony, Snow) Query and Negation of Query: ( x) M(x) ¬ S(x) ¬ ( x) M(x) ¬ S(x)
Knowledge Principles A good knowledge representation language is: expressive concise unambiguous context insensitive effective A knowledge base should be: clear correct
A Recipe for Knowledge Engineering Identify the task. Assemble the relevant knowledge. Decide on a vocabulary of predicates, functions, and constants. Encode general knowledge about the domain. Encode a description of the specific problem instance. Pose queries to the inference procedure and get answers. Debug the knowledge base.
The Ontology of an Ontology Categories (Natural Kinds) Measures Composite Objects Time, Space, and Change Events and Processes Physical Objects Substances (Stuff) Mental Objects and Beliefs