CS代考计算机代写 algorithm CS 561a: Introduction to Artificial Intelligence

CS 561a: Introduction to Artificial Intelligence

CS 561, Sessions 9-10
1
Knowledge and reasoning – second part
Knowledge representation
Logic and representation
Propositional (Boolean) logic
Normal forms
Inference in propositional logic
Wumpus world example

CS 561, Sessions 9-10
2
Knowledge-Based Agent
Agent that uses prior or acquired knowledge to achieve its goals
Can make more efficient decisions
Can make informed decisions
Knowledge Base (KB): contains a set of representations of facts about the Agent’s environment
Each representation is called a sentence
Use some knowledge representation language, to TELL it what to know e.g., (temperature 72F)
ASK agent to query what to do
Agent can use inference to deduce new facts from TELLed facts

Knowledge Base
Inference engine
Domain independent algorithms
Domain specific content

TELL
ASK

CS 561, Sessions 9-10
3
Generic knowledge-based agent

TELL KB what was perceived
Uses a KRL to insert new sentences, representations of facts, into KB

ASK KB what to do.
Uses logical reasoning to examine actions and select best.

CS 561, Sessions 9-10
4
Wumpus world example

CS 561, Sessions 9-10
5
Wumpus world characterization
Deterministic?

Accessible?

Static?

Discrete?

Episodic?

CS 561, Sessions 9-10
6
Wumpus world characterization
Deterministic? Yes – outcome exactly specified.

Accessible? No – only local perception.

Static? Yes – Wumpus and pits do not move.

Discrete? Yes

Episodic? (Yes) – because static.

CS 561, Sessions 9-10
7
Exploring a Wumpus world

A= Agent
B= Breeze
S= Smell
P= Pit
W= Wumpus
OK = Safe
V = Visited
G = Glitter

CS 561, Sessions 9-10
8
Exploring a Wumpus world

A= Agent
B= Breeze
S= Smell
P= Pit
W= Wumpus
OK = Safe
V = Visited
G = Glitter

CS 561, Sessions 9-10
9
Exploring a Wumpus world

A= Agent
B= Breeze
S= Smell
P= Pit
W= Wumpus
OK = Safe
V = Visited
G = Glitter

CS 561, Sessions 9-10
10
Exploring a Wumpus world

A= Agent
B= Breeze
S= Smell
P= Pit
W= Wumpus
OK = Safe
V = Visited
G = Glitter

CS 561, Sessions 9-10
11
Exploring a Wumpus world

A= Agent
B= Breeze
S= Smell
P= Pit
W= Wumpus
OK = Safe
V = Visited
G = Glitter

CS 561, Sessions 9-10
12
Exploring a Wumpus world

A= Agent
B= Breeze
S= Smell
P= Pit
W= Wumpus
OK = Safe
V = Visited
G = Glitter

CS 561, Sessions 9-10
13
Exploring a Wumpus world

A= Agent
B= Breeze
S= Smell
P= Pit
W= Wumpus
OK = Safe
V = Visited
G = Glitter

CS 561, Sessions 9-10
14
Exploring a Wumpus world

A= Agent
B= Breeze
S= Smell
P= Pit
W= Wumpus
OK = Safe
V = Visited
G = Glitter

CS 561, Sessions 9-10
15
Other tight spots

CS 561, Sessions 9-10
16
Another example solution

No perception  1,2 and 2,1 OK
Move to 2,1
B in 2,1  2,2 or 3,1 P?
1,1 V  no P in 1,1
Move to 1,2 (only option)

CS 561, Sessions 9-10
17
Example solution

S and No S when in 2,1  1,3 or 1,2 has W
1,2 OK  1,3 W
No B in 1,2  2,2 OK & 3,1 P

CS 561, Sessions 9-10
18
Logic in general

CS 561, Sessions 9-10
19
Types of logic

CS 561, Sessions 9-10
20

The Semantic Wall

Physical Symbol System World
+BLOCKA+

+BLOCKB+

+BLOCKC+

P1:(IS_ON +BLOCKA+ +BLOCKB+)
P2:((IS_RED +BLOCKA+)

20
Syntax: says what is allowed on the LHS
Semantics: says how what is on the LHS relates to what is on the RHS
Inference: says how you can manipulate (formally, i.e., with no reference to the RHS) the symbols. [remember PSSH]
Want to be able to trust the results: want whatever the inference procedure does to “respect” what’s true or what follows in the world. So this is where we’re headed; good to keep in mind as we go through all the definitions now to follow. There is a method in this madness…

algebra example (put on board): but don’t use “entails” instead convey the idea
> n m: is this true or false? don’t know
if n=3, m=5, and > has its usual meaning, then (>n m) is false
(> n m) and (> m p) entail (n p)

CS 561, Sessions 9-10
21

Truth depends on Interpretation

Representation 1 World

A

B
ON(A,B) T
ON(B,A) F

ON(A,B) F A

ON(B,A) T B

21
block pictures
(on A B) and on(B C) entails (on A C)

(again don’t say “entails)
for this as well as for number example jus t did, need transitivity relationships

spend time on why it matters: if build a KB want to be able to verify its answers

introduce notion of “refer” “mean” idea of mapping into world; for this slide handwave about meaning of “on(a,b)”

CS 561, Sessions 9-10
22
Entailment

Entailment is different than inference

CS 561, Sessions 9-10
23
Logic as a representation of the World

Facts
World
Fact
follows
Refers to
(Semantics)
Representation: Sentences
Sentence
entails

CS 561, Sessions 9-10
24
Models

CS 561, Sessions 9-10
25
Inference

CS 561, Sessions 9-10
26
Basic symbols
Expressions only evaluate to either “true” or “false.”

P “P is true”
¬P “P is false” negation
P V Q “either P is true or Q is true or both” disjunction
P ^ Q “both P and Q are true” conjunction
P => Q “if P is true, then Q is true” implication
P  Q “P and Q are either both true or both false” equivalence

CS 561, Sessions 9-10
27
Propositional logic: syntax

CS 561, Sessions 9-10
28
Propositional logic: semantics

CS 561, Sessions 9-10
29
Truth tables
Truth value: whether a statement is true or false.
Truth table: complete list of truth values for a statement given all possible values of the individual atomic expressions.

Example:

P Q P V Q
T T T
T F T
F T T
F F F

CS 561, Sessions 9-10
30
Truth tables for basic connectives

P Q ¬P ¬Q P V Q P ^ Q P=>Q PQ

T T F F T T T T
T F F T T F F F
F T T F T F T F
F F T T F F T T

CS 561, Sessions 9-10
31
Propositional logic: basic manipulation rules

¬(¬A) = A Double negation

¬(A ^ B) = (¬A) V (¬B) Negated “and”
¬(A V B) = (¬A) ^ (¬B) Negated “or”

A ^ (B V C) = (A ^ B) V (A ^ C) Distributivity of ^ on V
A V (B ^ C) = (A V B) ^ (A V C) Distributivity of V on ^
A => B = (¬A) V B by definition
¬(A => B) = A ^ (¬B) using negated or
A  B = (A => B) ^ (B => A) by definition
¬(A  B) = (A ^ (¬B))V(B ^ (¬A)) using negated and & or

CS 561, Sessions 9-10
32
Propositional inference: enumeration method

true

CS 561, Sessions 9-10
33
Enumeration: Solution

CS 561, Sessions 9-10
34
Propositional inference: normal forms

“sum of products of
simple variables or
negated simple variables”
“product of sums of
simple variables or
negated simple variables”

CS 561, Sessions 9-10
35
Deriving expressions from functions
Given a boolean function in truth table form, find a propositional logic expression for it that uses only V, ^ and ¬.
Idea: We can easily do it by disjoining the “T” rows of the truth table.

Example: XOR function

P Q RESULT
T T F
T F T P ^ (¬Q)
F T T (¬P) ^ Q
F F F

RESULT = (P ^ (¬Q)) V ((¬P) ^ Q)

CS 561, Sessions 9-10
36
Deriving expressions from functions
Given a boolean function in truth table form, find a propositional logic expression for it that uses only V, ^ and ¬.
Idea: We can easily do it by disjoining the “T” rows of the truth table.

Example: XOR function

P Q RESULT
T T F
T F T P ^ (¬Q)
F T T (¬P) ^ Q
F F F

RESULT = (P ^ (¬Q)) V ((¬P) ^ Q)

CS 561, Sessions 9-10
37
A more formal approach
To construct a logical expression in disjunctive normal form from a truth table:

Build a “minterm” for each row of the table, where:

– For each variable whose value is T in that row, include
the variable in the minterm
– For each variable whose value is F in that row, include
the negation of the variable in the minterm
– Link variables in minterm by conjunctions

The expression consists of the disjunction of all minterms.

CS 561, Sessions 9-10
38
Example: adder with carry
Takes 3 variables in: x, y and ci (carry-in); yields 2 results: sum (s) and carry-out (co). To get you used to other notations, here we assume T = 1, F = 0, V = OR, ^ = AND, ¬ = NOT.

co is:
s is:

CS 561, Sessions 9-10
39
Tautologies
Logical expressions that are always true. Can be simplified out.

Examples:

T
T V A
A V (¬A)
¬(A ^ (¬A))
A  A
((P V Q)  P) V (¬P ^ Q)
(P  Q) => (P => Q)

CS 561, Sessions 9-10
40
Validity and satisfiability

Theorem
B

CS 561, Sessions 9-10
41
Proof methods

CS 561, Sessions 9-10
42
Inference Rules

Modus Tollens:

CS 561, Sessions 9-10
43
Inference Rules

CS 561, Sessions 9-10
44
Inference example
http://www.site.uottawa.ca/~lucia/courses/2101-10/lecturenotes/04InferenceRulesProofMethods.pdf

CS 561, Sessions 9-10
45
Inference example
http://www.site.uottawa.ca/~lucia/courses/2101-10/lecturenotes/04InferenceRulesProofMethods.pdf

CS 561, Sessions 9-10
46
Inference example
http://www.site.uottawa.ca/~lucia/courses/2101-10/lecturenotes/04InferenceRulesProofMethods.pdf

CS 561, Sessions 9-10
47
Inference example
http://www.site.uottawa.ca/~lucia/courses/2101-10/lecturenotes/04InferenceRulesProofMethods.pdf

CS 561, Sessions 9-10
48
Inference example
http://www.site.uottawa.ca/~lucia/courses/2101-10/lecturenotes/04InferenceRulesProofMethods.pdf

CS 561, Sessions 9-10
49
Inference example
http://www.site.uottawa.ca/~lucia/courses/2101-10/lecturenotes/04InferenceRulesProofMethods.pdf

CS 561, Sessions 9-10
50
Inference example
http://www.site.uottawa.ca/~lucia/courses/2101-10/lecturenotes/04InferenceRulesProofMethods.pdf

CS 561, Sessions 9-10
51
Inference example
http://www.site.uottawa.ca/~lucia/courses/2101-10/lecturenotes/04InferenceRulesProofMethods.pdf

CS 561, Sessions 9-10
52
Inference example
http://www.site.uottawa.ca/~lucia/courses/2101-10/lecturenotes/04InferenceRulesProofMethods.pdf

CS 561, Sessions 9-10
53
Inference example
http://www.site.uottawa.ca/~lucia/courses/2101-10/lecturenotes/04InferenceRulesProofMethods.pdf

CS 561, Sessions 9-10
54
Wumpus world: example

Facts: Percepts inject (TELL) facts into the KB
[stench at 1,1 and 2,1]  S1,1 ; S2,1
Rules: if square has no stench then neither the square or adjacent squares contain the wumpus
R1: ¬S1,1 ¬W1,1  ¬W1,2  ¬W2,1
R2: ¬S2,1 ¬W1,1 ¬W2,1  ¬W2,2  ¬W3,1

Inference:
KB contains ¬S1,1 then using Modus Ponens we infer
¬W1,1  ¬W1,2  ¬W2,1
Using And-Elimination we get: ¬W1,1 ¬W1,2 ¬W2,1

CS 561, Sessions 9-10
55
Limitations of Propositional Logic
1. It is too weak, i.e., has very limited expressiveness:
Each rule has to be represented for each situation:
e.g., “don’t go forward if the wumpus is in front of you” takes 64 rules

2. It cannot keep track of changes:
If one needs to track changes, e.g., where the agent has been before then we need a timed-version of each rule. To track 100 steps we’ll then need 6400 rules for the previous example.

Its hard to write and maintain such a huge rule-base
Inference becomes intractable

CS 561, Sessions 9-10
56
Summary

/docProps/thumbnail.jpeg