For Monday Read chapter 8 Homework: –Chapter 7, exercises 1, 8, and 9 May be done in pairs.

Slides:



Advertisements
Similar presentations
Knowledge Representation using First-Order Logic
Advertisements

Artificial Intelligence
First-Order Logic Chapter 8.
First-Order Logic: Better choice for Wumpus World Propositional logic represents facts First-order logic gives us Objects Relations: how objects relate.
Agents That Reason Logically Copyright, 1996 © Dale Carnegie & Associates, Inc. Chapter 7 Spring 2004.
SE Last time: Logic and Reasoning Knowledge Base (KB): contains a set of sentences expressed using a knowledge representation language TELL: operator.
Knowledge Representation Methods
Propositional Calculus A propositional calculus formula is composed of atomic propositions, which area simply statements that are either true or false.
3/30/00 Agents that Reason Logically by Chris Horn Jiansui Yang Xiaojing Wu.
First-Order Logic Copyright, 1996 © Dale Carnegie & Associates, Inc. Chapter 8 Spring 2004.
Artificial Intelligence Knowledge-based Agents Russell and Norvig, Ch. 6, 7.
Logic. Propositional Logic Logic as a Knowledge Representation Language A Logic is a formal language, with precisely defined syntax and semantics, which.
CS 561, Session Midterm format Date: 10/10/2002 from 11:00am – 12:20 pm Location: THH 101 Credits: 35% of overall grade Approx. 4 problems, several.
First-Order Logic Copyright, 1996 © Dale Carnegie & Associates, Inc. Chapter 8 Spring 2007.
CS 460, Sessions Knowledge and reasoning – second part Knowledge representation Logic and representation Propositional (Boolean) logic Normal forms.
Knowledge Representation using First-Order Logic (Part II) Reading: Chapter 8, First lecture slides read: Second lecture slides read:
CS 561, Session Last time: Logic and Reasoning Knowledge Base (KB): contains a set of sentences expressed using a knowledge representation language.
Knowledge in intelligent systems So far, we’ve used relatively specialized, naïve agents. How can we build agents that incorporate knowledge and a memory?
FIRST-ORDER LOGIC FOL or FOPC
CSCI 5582 Fall 2006 CSCI 5582 Artificial Intelligence Lecture 8 Jim Martin.
First-Order Logic: Better choice for Wumpus World Propositional logic represents facts First-order logic gives us Objects Relations: how objects relate.
Logical Agents Copyright, 1996 © Dale Carnegie & Associates, Inc. Chapter 7 Spring 2005.
First-Order Logic Chapter 8. Problem of Propositional Logic  Propositional logic has very limited expressive power –E.g., cannot say "pits cause breezes.
First-Order Logic Chapter 8. Outline Why FOL? Syntax and semantics of FOL Using FOL Wumpus world in FOL Knowledge engineering in FOL.
Predicate Calculus.
Agents that Reason Logically Logical agents have knowledge base, from which they draw conclusions TELL: provide new facts to agent ASK: decide on appropriate.
FIRST ORDER LOGIC Levent Tolga EREN.
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM] Professor Janis Grundspenkis Riga Technical University Faculty of Computer Science and Information.
For Monday Read chapter 9 Homework: –Chapter 8, exercises 9 and 10.
For Wednesday No reading Homework –Chapter 8, exercises 9 and 10.
1 Logical Agents CS 171/271 (Chapter 7) Some text and images in these slides were drawn from Russel & Norvig’s published material.
1 Last time: Logic and Reasoning Knowledge Base (KB): contains a set of sentences expressed using a knowledge representation language TELL: operator to.
1 CMSC 471 Fall 2002 Class #10/12–Wednesday, October 2 / Wednesday, October 9.
Class Project Due at end of finals week Essentially anything you want, so long as its AI related and I approve Any programming language you want In pairs.
First-Order Logic Chapter 8. Outline Why FOL? Syntax and semantics of FOL Using FOL Wumpus world in FOL Knowledge engineering in FOL.
1 Predicate (Relational) Logic 1. Introduction The propositional logic is not powerful enough to express certain types of relationship between propositions.
Logical Agents Chapter 7. Knowledge bases Knowledge base (KB): set of sentences in a formal language Inference: deriving new sentences from the KB. E.g.:
1 Logical Agents CS 171/271 (Chapter 7) Some text and images in these slides were drawn from Russel & Norvig’s published material.
For Friday Read chapter 8 Homework: –Chapter 7, exercise 1.
Kansas State University Department of Computing and Information Sciences CIS 730: Introduction to Artificial Intelligence Lecture 12 Friday, 17 September.
1 Logical Inference Algorithms CS 171/271 (Chapter 7, continued) Some text and images in these slides were drawn from Russel & Norvig’s published material.
1 The Wumpus Game StenchBreeze Stench Gold Breeze StenchBreeze Start  Breeze.
Artificial Intelligence Chapter 15 The Predicate Calculus Artificial Intelligence Chapter 15 The Predicate Calculus Biointelligence Lab School of Computer.
1 First-Order Logic Propositional logic does not represent and cannot handle objects. First-order logic is to represent and reason on objects and their.
Artificial Intelligence First-Order Logic (FOL). Outline of this Chapter The need for FOL? What is a FOL? Syntax and semantics of FOL Using FOL.
CS-554 Part-3: First-Order Logic
For Wednesday Read chapter 9, sections 1-3 Homework: –Chapter 7, exercises 8 and 9.
For Friday Read chapter 8 Homework: –Chapter 7, exercises 2 and 10 Program 1, Milestone 2 due.
For Wednesday Read chapter 9, sections 1-4 Homework: –Chapter 8, exercise 6 May be done in groups.
1 Propositional logic (cont…) 命題論理 Syntax&Semantics of first-order logic 構文論と意味論 Deducing hidden properties Describing actions Propositional logic (cont…)
First-Order Logic Chapter 8 (not 8.1). Outline Why FOL? Why FOL? Syntax and semantics of FOL Syntax and semantics of FOL Using FOL Using FOL Wumpus world.
First-Order Logic. Outline Why FOL? Syntax and semantics of FOL Using FOL Knowledge engineering in FOL.
First-Order Logic Semantics Reading: Chapter 8, , FOL Syntax and Semantics read: FOL Knowledge Engineering read: FOL.
1 First Order Logic CS 171/271 (Chapter 8) Some text and images in these slides were drawn from Russel & Norvig’s published material.
1 UNIT-3 KNOWLEDGE REPRESENTATION. 2 Agents that reason logically(Logical agents) A Knowledge based Agent The Wumpus world environment Representation,
First-Order Logic Chapter 8. Problem of Propositional Logic  Propositional logic has very limited expressive power –E.g., cannot say "pits cause breezes.
For Wednesday Finish chapter 8 Homework: –Chapter 8, exercise 6 May be done in pairs.
1 CS 2710, ISSP 2610 Chapter 8, Part 1 First Order Predicate Calculus FOPC.
Knowledge and reasoning – second part
First-Order Logic Chapter 8.
EA C461 – Artificial Intelligence Logical Agent
CS201: Data Structures and Discrete Mathematics I
First-Order Logic Chapter 8.
Knowledge and reasoning – second part
First-order Logic Propositional logic (cont…)
Knowledge Representation I (Propositional Logic)
Chapter 1: Propositional and First-Order Logic
CS201: Data Structures and Discrete Mathematics I
First-Order Logic Chapter 8.
Logical Agents Prof. Dr. Widodo Budiharto 2018
Presentation transcript:

For Monday Read chapter 8 Homework: –Chapter 7, exercises 1, 8, and 9 May be done in pairs

Program 1 Any questions?

Propositional Inference Rules Modus Ponens or Implication Elimination And-Elimination Unit Resolution Resolution

Simpler Inference Horn clauses Forward-chaining Backward-chaining

Building an Agent with Propositional Logic Propositional logic has some nice properties –Easily understood –Easily computed Can we build a viable wumpus world agent with propositional logic???

The Problem Propositional Logic only deals with facts. We cannot easily represent general rules that apply to any square. We cannot express information about squares and relate (we can’t easily keep track of which squares we have visited)

More Precisely In propositional logic, each possible atomic fact requires a separate unique propositional symbol. If there are n people and m locations, representing the fact that some person moved from one location to another requires nm 2 separate symbols.

First Order Logic Predicate logic includes a richer ontology: –objects (terms) –properties (unary predicates on terms) –relations (n­ary predicates on terms) –functions (mappings from terms to other terms) Allows more flexible and compact representation of knowledge Move(x, y, z) for person x moved from location y to z.

Syntax for First­Order Logic Sentence  AtomicSentence | Sentence Connective Sentence | Quantifier Variable Sentence | ¬Sentence | (Sentence) AtomicSentence  Predicate(Term, Term,...) | Term=Term Term  Function(Term,Term,...) | Constant | Variable Connective   Quanitfier   Constant  A | John | Car1 Variable  x | y | z |... Predicate  Brother | Owns |... Function  father­of | plus |...

Terms Objects are represented by terms: –Constants: Block1, John –Function symbols: father­of, successor, plus An n­ary function maps a tuple of n terms to another term: father­of(John), succesor(0), plus(plus(1,1),2) Terms are simply names for objects. Logical functions are not procedural as in programming languages. They do not need to be defined, and do not really return a value. Functions allow for the representation of an infinite number of terms.

Predicates Propositions are represented by a predicate applied to a tuple of terms. A predicate represents a property of or relation between terms that can be true or false: –Brother(John, Fred), Left­of(Square1, Square2) –GreaterThan(plus(1,1), plus(0,1)) In a given interpretation, an n­ary predicate can defined as a function from tuples of n terms to {True, False} or equivalently, a set tuples that satisfy the predicate: –{,,,...}

Sentences in First­Order Logic An atomic sentence is simply a predicate applied to a set of terms. –Owns(John,Car1) –Sold(John,Car1,Fred) Semantics is True or False depending on the interpretation, i.e. is the predicate true of these arguments. The standard propositional connectives (   ) can be used to construct complex sentences: –Owns(John,Car1)  Owns(Fred, Car1) –Sold(John,Car1,Fred)  ¬Owns(John, Car1) Semantics same as in propositional logic.

Quantifiers Allow statements about entire collections of objects Universal quantifier:  x –Asserts that a sentence is true for all values of variable x  x Loves(x, FOPC)  x Whale(x)  Mammal(x)  x  y Dog(y)  Loves(x,y))   z Cat(z)  Hates(x,z)) Existential quantifier:  –Asserts that a sentence is true for at least one value of a variable x  x Loves(x, FOPC)  x(Cat(x)  Color(x,Black)  Owns(Mary,x))  x(  y Dog(y)  Loves(x,y))  (  z Cat(z)  Hates(x,z))

Use of Quantifiers Universal quantification naturally uses implication: –  x Whale(x)  Mammal(x) Says that everything in the universe is both a whale and a mammal. Existential quantification naturally uses conjunction: –  x Owns(Mary,x)  Cat(x) Says either there is something in the universe that Mary does not own or there exists a cat in the universe. –  x Owns(Mary,x)  Cat(x) Says all Mary owns is cats (i.e. everthing Mary owns is a cat). Also true if Mary owns nothing. –  x Cat(x)  Owns(Mary,x) Says that Mary owns all the cats in the universe. Also true if there are no cats in the universe.

Nesting Quantifiers The order of quantifiers of the same type doesn't matter: –  x  y(Parent(x,y)  Male(y)  Son(y,x)) –  x  y(Loves(x,y)  Loves(y,x)) The order of mixed quantifiers does matter: –  x  y(Loves(x,y)) Says everybody loves somebody, i.e. everyone has someone whom they love. –  y  x(Loves(x,y)) Says there is someone who is loved by everyone in the universe. –  y  x(Loves(x,y)) Says everyone has someone who loves them. –  x  y(Loves(x,y)) Says there is someone who loves everyone in the universe.

Variable Scope The scope of a variable is the sentence to which the quantifier syntactically applies. As in a block structured programming language, a variable in a logical expression refers to the closest quantifier within whose scope it appears. –  x (Cat(x)   x(Black (x))) The x in Black(x) is universally quantified Says cats exist and everything is black In a well­formed formula (wff) all variables should be properly introduced: –  xP(y) not well­formed A ground expression contains no variables.

Relations Between Quantifiers Universal and existential quantification are logically related to each other: –  x ¬Love(x,Saddam)  ¬  x Loves(x,Saddam) –  x Love(x,Princess­Di)  ¬  x ¬Loves(x,Princess­Di) General Identities –  x ¬P  ¬  x P – ¬  x P   x ¬P –  x P  ¬  x ¬P –  x P  ¬  x ¬P –  x P(x)  Q(x)   x P(x)   x Q(x) –  x P(x)  Q(x)   x P(x)   x Q(x)

Equality Can include equality as a primitive predicate in the logic, or require it to be introduced and axiomitized as the identity relation. Useful in representing certain types of knowledge: –  x  y(Owns(Mary, x)  Cat(x)  Owns(Mary,y)  Cat(y) –  ¬(x=y)) –Mary owns two cats. Inequality needed to ensure x and y are distinct. –  x  y married(x, y)  z(married(x,z)  y=z) –Everyone is married to exactly one person. Second conjunct is needed to guarantee there is only one unique spouse.

Higher­Order Logic FOPC is called first­order because it allows quantifiers to range over objects (terms) but not properties, relations, or functions applied to those objects. Second­order logic allows quantifiers to range over predicates and functions as well: –  x  y [ (x=y)  (  p p(x)  p(y)) ] Says that two objects are equal if and only if they have exactly the same properties. –  f  g [ (f=g)  (  x f(x) = g(x)) ] Says that two functions are equal if and only if they have the same value for all possible arguments. Third­order would allow quantifying over predicates of predicates, etc.

Alternative Notations Prolog: cat(X) :- furry(X), meows(X), has(X, claws). good_pet(X) :- cat(X); dog(X). Lisp: (forall ?x (implies (and (furry ?x) (meows ?x) (has ?x claws)) (cat ?x)))

A Kinship Domain  m,c Mother(c) = m  Female(m)  Parent(m, c)  w,h Husband(h, w)  Male(h)  Spouse(h,w)  x Male(x)   Female(x)  p,c Parent(p, c)  Child(c, p)  g,c Grandparent(g, c)   p Parent(g, p)  Parent(p, c)  x,y Sibling(x, y)  x  y   p Parent(p, x)  Parent(p, y)  x,y Sibling(x, y)  Sibling(y, x)

Axioms Axioms are the basic predicates of a knowledge base. We often have to select which predicates will be our axioms. In defining things, we may have two conflicting goals –We may wish to use a small set of definitions –We may use “extra” definitions to achieve more efficient inference

A Wumpus Knowledge Base Start with two types of sentence: –Percepts: Percept([stench, breeze, glitter, bump, scream], time) Percept([Stench,None,None,None,None],2) Percept(Stench,Breeze,Glitter,None,None],5) –Actions: Action(action,time) Action(Grab,5)

Agent Processing Agent gets a percept Agent tells the knowledge base the percept Agent asks the knowledge base for an action Agent tells the knowledge base the action Time increases Agent performs the action and gets a new percept Agent depends on the rules that use the knowledge in the KB to select an action

Simple Reflex Agent Rules that map the current percept onto an action. Some rules can be handled that way: action(grab,T) :- percept([S, B, glitter, Bump, Scr],T). Simplifying our rules: stench(T) :- percept([stench, B, G, Bu, Scr],T). breezy(T) :- percept([S, breeze, G, Bu, Scr], T). at_gold(T) :- percept([S, B, glitter, Bu, Scr], T). action(grab, T) :- at_gold(T). How well can a reflex agent work?

Situation Calculus A way to keep track of change We have a state or situation parameter to every predicate that can vary We also must keep track of the resulting situations for our actions Effect axioms Frame axioms Successor-state axioms

Frame Problem How do we represent what is and is not true and how things change? Reasoning requires keeping track of the state when it seems we should be able to ignore what does not change

Wumpus Agent’s Location Where agent is: at(agent, [1,1], s0). Which way agent is facing: orientation(agent,s0) = 0. We can now identify the square in front of the agent: location_toward([X,Y],0) = [X+1,Y]. location_toward([X,Y],90) = [X, Y+1]. We can then define adjacency: adjacent(Loc1, Loc2) :- Loc1 = location_toward(L2,D).

Changing Location at(Person, Loc, result(Act,S)) :- (Act = forward, Loc = location_ahead(Person, S), \+wall(loc)) ; (at(Person, Loc, S), A \= forward). Similar rule required for orientation that specifies how turning changes the orientation and that any other action leaves the orientation the same

Deducing Hidden Properties breezy(Loc) :- at(agent, Loc, S), breeze(S). Smelly(Loc) :- at(agent, Loc, S), Stench(S). Causal Rules smelly(Loc2) :- at(wumpus, Loc1, S), adjacent(Loc1, Loc2). breezy(Loc2) :- at(pit, Loc1, S), adjacent(Loc1, Loc2). Diagnostic Rules ok(Loc2) :- percept([none, none, G, U, C], T), at(agent, Loc1, S), adjacent(Loc1, Loc2).

Preferences Among Actions We need some way to decide between the possible actions. We would like to do this apart from the rules that determine what actions are possible. We want the desirability of actions to be based on our goals.

Handling Goals Original goal is to find and grab the gold Once the gold is held, we want to find the starting square and climb out We have three primary methods for finding a path out –Inference (may be very expensive) –Search (need to translate problem) –Planning (which we’ll discuss later)