1 / 7

Some Thoughts to Consider 7

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?.

astrid
Download Presentation

Some Thoughts to Consider 7

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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?

  2. 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)))

  3. 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).

  4. 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)

  5. Knowledge Principles • A good knowledge representation language is: • expressive • concise • unambiguous • context insensitive • effective • A knowledge base should be: • clear • correct

  6. 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.

  7. 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

More Related