artificial intelligence – lecture 8130.243.105.49/~mbl/ai/lectures.2010/ai-8.pdf · 2011. 12....

40
Artificial Intelligence – Lecture 8

Upload: others

Post on 26-Aug-2021

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Artificial Intelligence – Lecture 8130.243.105.49/~mbl/AI/lectures.2010/AI-8.pdf · 2011. 12. 13. · 15 Knowledge Representation Semantic Networks Prop. Logic Wordnet • Wordnet

Artificial Intelligence – Lecture 8

Page 2: Artificial Intelligence – Lecture 8130.243.105.49/~mbl/AI/lectures.2010/AI-8.pdf · 2011. 12. 13. · 15 Knowledge Representation Semantic Networks Prop. Logic Wordnet • Wordnet

2

● KnowledgeRepresentation

● Semantic Networks

● Prop. Logic

Lecture plan

• AI in general  (ch. 1)

• Search based AI (ch. 4)

• search, games, planning, optimization 

• Agents (ch. 8)

• applied AI techniques in robots, software agents, ...

• Knowledge representation (ch. 2)

• semantic networks, frames, logic, resolution

• Expert systems (ch. 3)

• forward/backward chaining, uncertainty, baysian networks

• Natural language processing (ch. 5)

• Machine learning (ch. 7)

• version spaces, decision trees, classification, neural networks

Page 3: Artificial Intelligence – Lecture 8130.243.105.49/~mbl/AI/lectures.2010/AI-8.pdf · 2011. 12. 13. · 15 Knowledge Representation Semantic Networks Prop. Logic Wordnet • Wordnet

3

● KnowledgeRepresentation

● Semantic Networks

● Prop. Logic

Structured knowledge representation

• How can we represent knowledge as data in our programs?• Semantic networks

• Frames

• Propositional logic

• Predicate logic

• ...

Page 4: Artificial Intelligence – Lecture 8130.243.105.49/~mbl/AI/lectures.2010/AI-8.pdf · 2011. 12. 13. · 15 Knowledge Representation Semantic Networks Prop. Logic Wordnet • Wordnet

4

● KnowledgeRepresentation

● Semantic Networks

● Prop. Logic

Semantic networks

• Directed graph where: • nodes correspond to classes, instances or values. 

• edges correspond to instance, subclass or attributes.

• Object oriented programming build on semantic networks!

Page 5: Artificial Intelligence – Lecture 8130.243.105.49/~mbl/AI/lectures.2010/AI-8.pdf · 2011. 12. 13. · 15 Knowledge Representation Semantic Networks Prop. Logic Wordnet • Wordnet

5

● KnowledgeRepresentation

● Semantic Networks

● Prop. Logic

Common semantic relations

• No “official” standard exists. 

• Common relations:• instance vs. is­a: Often these two are differentiated 

• has­part

Page 6: Artificial Intelligence – Lecture 8130.243.105.49/~mbl/AI/lectures.2010/AI-8.pdf · 2011. 12. 13. · 15 Knowledge Representation Semantic Networks Prop. Logic Wordnet • Wordnet

6

● KnowledgeRepresentation

● Semantic Networks

● Prop. Logic

Reasoning on Semantic networks

• Assumption: general attributes (eg. lives­in, has, ...) is closed under inheritance attributes (eg. is­a, subclass, ...)

• Examples: • cat has vertebra since: cat is­a mammal and mammal has vertebra

• mathias has vertebra since: ...

• There exists a path from X to Y consisting of zero or more is­a steps and the has step as the last step. 

Page 7: Artificial Intelligence – Lecture 8130.243.105.49/~mbl/AI/lectures.2010/AI-8.pdf · 2011. 12. 13. · 15 Knowledge Representation Semantic Networks Prop. Logic Wordnet • Wordnet

7

● KnowledgeRepresentation

● Semantic Networks

● Prop. Logic

Semantic networks in python

• List of nodes

Nodes=[“Mathias”, “Bobby”, “Human”, “Cat”, ...]

• List of edges aka. “relations”

Edges=[(“is­a”,”cat”,”mammal”),(“has”,”mammal”,”vertebra”) ... ]

• Propagating relations

def reason():

    Facts, NewFacts, i = Edges, list(Edges), 1

    while True:

        for E in Facts:

            if E[0] in Inheritable:

                R,A,B = E

                for N in Nodes:

                    if ("is­a",N,A) in Facts and (R,N,B) not in Facts:

                        NewFacts.append((R,N,B))

                        print("%d: %s %s %s"%(i,N,R,B))

        if Facts == NewFacts:

            break;

        Facts=NewFacts ; i=i+1

Page 8: Artificial Intelligence – Lecture 8130.243.105.49/~mbl/AI/lectures.2010/AI-8.pdf · 2011. 12. 13. · 15 Knowledge Representation Semantic Networks Prop. Logic Wordnet • Wordnet

8

● KnowledgeRepresentation

● Semantic Networks

● Prop. Logic

Semantic networks in python

>>> reason()

1: cat has vertebra

1: human has vertebra

1: whale has vertebra

1: Bobby has fur

1: Bijou has fur

2: Bobby has vertebra

2: Bijou has vertebra

2: Mathias has vertebra

Page 9: Artificial Intelligence – Lecture 8130.243.105.49/~mbl/AI/lectures.2010/AI-8.pdf · 2011. 12. 13. · 15 Knowledge Representation Semantic Networks Prop. Logic Wordnet • Wordnet

9

● KnowledgeRepresentation

● Semantic Networks

● Prop. Logic

Non­binary relations in semantic networks

• Non­binary relations: convert the relation into an object• Called reification in logics

• eg. “Mathias gave cat food to Bobby”

Page 10: Artificial Intelligence – Lecture 8130.243.105.49/~mbl/AI/lectures.2010/AI-8.pdf · 2011. 12. 13. · 15 Knowledge Representation Semantic Networks Prop. Logic Wordnet • Wordnet

10

● KnowledgeRepresentation

● Semantic Networks

● Prop. Logic

Non­binary relations in semantic networks

• Reasoning over reified relations, example rule:• If [object,X,R1] and [is­a,X,Y] then:

• create new node R2

• add [object,Y,R2]

• for each [P,W,R1] where W != X and W != Y: add [P,W,R2] 

• Same is­a path(s), shows that Mathias gave food to Bobby, or to a cat, or that bobby was given food by a human. 

Page 11: Artificial Intelligence – Lecture 8130.243.105.49/~mbl/AI/lectures.2010/AI-8.pdf · 2011. 12. 13. · 15 Knowledge Representation Semantic Networks Prop. Logic Wordnet • Wordnet

11

● KnowledgeRepresentation

● Semantic Networks

● Prop. Logic

Semantic networks

• Semantic networks allows us to represent relationships between entities

• Semantic networks allows us to propagate relationships between entities (reason)

Page 12: Artificial Intelligence – Lecture 8130.243.105.49/~mbl/AI/lectures.2010/AI-8.pdf · 2011. 12. 13. · 15 Knowledge Representation Semantic Networks Prop. Logic Wordnet • Wordnet

12

● KnowledgeRepresentation

● Semantic Networks

● Prop. Logic

Inference by association

• What is the common factor between sk1047 and rusty?• Both has­part wing, and both can­do fly

• If two entities X,Y have the same relation R to an entity Z, ie. if X R Z and Y R Z then they are associated. 

Page 13: Artificial Intelligence – Lecture 8130.243.105.49/~mbl/AI/lectures.2010/AI-8.pdf · 2011. 12. 13. · 15 Knowledge Representation Semantic Networks Prop. Logic Wordnet • Wordnet

13

● KnowledgeRepresentation

● Semantic Networks

● Prop. Logic

Default values

• Inheritance of properites through is­a can be contradicted by direct links.

• Only treat inheritance as default values

Page 14: Artificial Intelligence – Lecture 8130.243.105.49/~mbl/AI/lectures.2010/AI-8.pdf · 2011. 12. 13. · 15 Knowledge Representation Semantic Networks Prop. Logic Wordnet • Wordnet

14

● KnowledgeRepresentation

● Semantic Networks

● Prop. Logic

Wordnet

• Lexical database over English language• Nouns, verbs, adjectives and adverbs

• Grouped into cognitive synonyms (synsets) 

• Relations (eg. hyponym's and hypernym's) between words

Synsets

HyponymsHypernyms

Page 15: Artificial Intelligence – Lecture 8130.243.105.49/~mbl/AI/lectures.2010/AI-8.pdf · 2011. 12. 13. · 15 Knowledge Representation Semantic Networks Prop. Logic Wordnet • Wordnet

15

● KnowledgeRepresentation

● Semantic Networks

● Prop. Logic

Wordnet

• Wordnet is a semantic network

• Freely available, download online

• 150.000 words organised in 115.000 synsets (meanings)

• Relations

• hypernyms: 

• Nouns: Y is a hypernym of X if every X is a (kind of) Y 

• Verbs: the verb Y is a hypernym of the verb X if the activity X is a kind of Y  (cf. troponym)

• hyponyms: Y is a hyponym of X if every Y is a (kind of) X

• coordinate terms: Y is a coordinate term of X if X and Y share a hypernym 

• holonym: Y is a holonym of X if X is a part of Y

• meronym: Y is a meronym of X if Y is a part of X 

• entailment: the verb Y is entailed by X if by doing X you must be doing Y 

• adjectives: related nouns, similar to, participle of verb

• adverbs: root adjectives

Page 16: Artificial Intelligence – Lecture 8130.243.105.49/~mbl/AI/lectures.2010/AI-8.pdf · 2011. 12. 13. · 15 Knowledge Representation Semantic Networks Prop. Logic Wordnet • Wordnet

16

● KnowledgeRepresentation

● Semantic Networks

● Prop. Logic

Frames

• More advanced than semantic networks

• A frame is a collection of attributes (slots) and values that describe some entity

• Constraints on attributes 

• Procedural attachments: Associated function to slots

• Generic frames (eg. classes) vs. instances (eg. objects)

Team; 

    * has­member: Human

Hockey­team;

    is­a: Team

Large­team;    

    is­a: Team

    (> 10) has­member: Human

LHC;

    instance­of: {Large­team, Hockey­team}

    has­member: { .... }

Page 17: Artificial Intelligence – Lecture 8130.243.105.49/~mbl/AI/lectures.2010/AI-8.pdf · 2011. 12. 13. · 15 Knowledge Representation Semantic Networks Prop. Logic Wordnet • Wordnet

17

● KnowledgeRepresentation

● Semantic Networks

● Prop. Logic

Frames : inheritance

• Proper inheritance• Slots and values inherited by subclass and instances

• Inheritance with exceptions• Overriding values given from superclass

• Multiple inheritance• Inheriting from multiple parents

• Problem with order of inheritance

Page 18: Artificial Intelligence – Lecture 8130.243.105.49/~mbl/AI/lectures.2010/AI-8.pdf · 2011. 12. 13. · 15 Knowledge Representation Semantic Networks Prop. Logic Wordnet • Wordnet

18

● KnowledgeRepresentation

● Semantic Networks

● Prop. Logic

Frames : example

Animal:

   Flies: False

   Alive: True

Mammal: 

   is­a: Animal

   Legs: 4

Cats:

    is­a: Mammal

Bird:

   is­a: Animal

   Flies: True

   Wings: True

Penguin:

   is­a: Birds

   Flies: False

Bill:

   instance­of: {Cat}

   Friends: {Opus}

Opus:

   instance­of: {Penguin}

    Friends: {Bill}

Page 19: Artificial Intelligence – Lecture 8130.243.105.49/~mbl/AI/lectures.2010/AI-8.pdf · 2011. 12. 13. · 15 Knowledge Representation Semantic Networks Prop. Logic Wordnet • Wordnet

19

● KnowledgeRepresentation

● Semantic Networks

● Prop. Logic

Frames : meta­slots

• Frames that describe other slots

• Example

Spotty:

   instance­of: dog

   owner: mathias

Owner:

   value: person

   inverse: owns

Conclusions:

person(mathias)

owns(mathias,spotty)

Page 20: Artificial Intelligence – Lecture 8130.243.105.49/~mbl/AI/lectures.2010/AI-8.pdf · 2011. 12. 13. · 15 Knowledge Representation Semantic Networks Prop. Logic Wordnet • Wordnet

20

● KnowledgeRepresentation

● Semantic Networks

● Prop. Logic

Frames : Procedural attachments

• Functions attached to metaslots• trigger when adding/removing/replacing slots

• trigger when needing (but not having) a slot

• ...

Page 21: Artificial Intelligence – Lecture 8130.243.105.49/~mbl/AI/lectures.2010/AI-8.pdf · 2011. 12. 13. · 15 Knowledge Representation Semantic Networks Prop. Logic Wordnet • Wordnet

21

● KnowledgeRepresentation

● Semantic Networks

● Prop. Logic

Cyc

• Cyc

• Large AI project to create “complete” database of common sense knowledge

• Goal: enable human like reasoning

• Technologies

• Representation language

• Knowledge base

• Inference mechanism

• Natural language processing

• Developer tools

Page 22: Artificial Intelligence – Lecture 8130.243.105.49/~mbl/AI/lectures.2010/AI-8.pdf · 2011. 12. 13. · 15 Knowledge Representation Semantic Networks Prop. Logic Wordnet • Wordnet

22

● KnowledgeRepresentation

● Semantic Networks

● Prop. Logic

OpenCyc

• OpenCyc• Free subset of knowledge base

• Free subset of tools, inference mechanism ...

• Uses same representational (CycL) language

• Links with WordNet• Which Cyc concept correspond to which word?

• Links with Wikipedia• Link concepts with articles, browse Wikipedia with OpenCyc 

tools (find common concepts etc)

• ...

Page 23: Artificial Intelligence – Lecture 8130.243.105.49/~mbl/AI/lectures.2010/AI-8.pdf · 2011. 12. 13. · 15 Knowledge Representation Semantic Networks Prop. Logic Wordnet • Wordnet

23

● KnowledgeRepresentation

● Semantic Networks

● Prop. Logic

Lecture plan

• AI in general  (ch. 1)

• Search based AI (ch. 4)

• search, games, planning, optimization 

• Agents (ch. 8)

• applied AI techniques in robots, software agents, ...

• Knowledge representation (ch. 2)

• semantic networks, frames, logic, resolution

• Expert systems (ch. 3)

• forward/backward chaining, uncertainty, baysian networks

• Natural language processing (ch. 5)

• Machine learning (ch. 7)

• version spaces, decision trees, classification, neural networks

Page 24: Artificial Intelligence – Lecture 8130.243.105.49/~mbl/AI/lectures.2010/AI-8.pdf · 2011. 12. 13. · 15 Knowledge Representation Semantic Networks Prop. Logic Wordnet • Wordnet

24

● KnowledgeRepresentation

● Semantic Networks

● Prop. Logic

Logic

• What is logic?• The study of inference – how new assertions can be 

produced from already established ones

• Requirements• Representation (syntax) and interpretation (semantics)

• Basic axioms (something to start reasoning with)• cf. René Descartes (cogito ergo sum)

• An inference mechanism• Soundness (truth­preserving)

• Complete

Page 25: Artificial Intelligence – Lecture 8130.243.105.49/~mbl/AI/lectures.2010/AI-8.pdf · 2011. 12. 13. · 15 Knowledge Representation Semantic Networks Prop. Logic Wordnet • Wordnet

25

● KnowledgeRepresentation

● Semantic Networks

● Prop. Logic

Logic – the AI dream of the 60's

• Logic allows us to express everything “formally”

• Logic also allows us to prove theorems based on given information• Can we exploit this to build the ultimate automated 

reasoning systems?

• Different logics allow different representation and inference mechanisms• Reasoning about propositions

• Reasonings about predicates, quantifiers, ...

• Representing time, and changes over time

• ...

Page 26: Artificial Intelligence – Lecture 8130.243.105.49/~mbl/AI/lectures.2010/AI-8.pdf · 2011. 12. 13. · 15 Knowledge Representation Semantic Networks Prop. Logic Wordnet • Wordnet

26

● KnowledgeRepresentation

● Semantic Networks

● Prop. Logic

Example:

The following knowledge is given :

1. Marcus was a man.

2. Marcus was a Pompeian.

3. All Pompeians were Romans.

4. Caesar was a ruler.

5. All Romans were either loyal to Caesar or hated him.

6. Everyone is loyal to someone.

7. People only try to assassinate rulers to whom they are not loyal.

8. Marcus tried to assassinate Caesar.

Can we automatically answer the following questions? Was Marcus loyal to Caesar?

Did Marcus hate Caesar?

Page 27: Artificial Intelligence – Lecture 8130.243.105.49/~mbl/AI/lectures.2010/AI-8.pdf · 2011. 12. 13. · 15 Knowledge Representation Semantic Networks Prop. Logic Wordnet • Wordnet

27

● KnowledgeRepresentation

● Semantic Networks

● Prop. Logic

Conversion to the First Order Logic:

Representation of facts:

1. Marcus was a man.man(Marcus)

2. Marcus was a Pompeian.Pompeian(Marcus)

4. Caesar was a ruler.ruler(Caesar)

8. Marcus tried to assassinate Caesar.try_assassinate(Marcus, Caesar)

Page 28: Artificial Intelligence – Lecture 8130.243.105.49/~mbl/AI/lectures.2010/AI-8.pdf · 2011. 12. 13. · 15 Knowledge Representation Semantic Networks Prop. Logic Wordnet • Wordnet

28

● KnowledgeRepresentation

● Semantic Networks

● Prop. Logic

5. All Romans were either loyal to Caesar or hated him.

Conversion to the First Order Logic (2):

General representation (representation of rules):

3. All Pompeians were Romans.∀∀x Pompeian(x)x Pompeian(x) →→ Roman(x) Roman(x)

6. Everyone is loyal to someone.∀∀xx ∃∃yy loyal_to(x,y)loyal_to(x,y)

7. People only try to assassinate rulers to whom they are not loyal.

∀∀xx∀∀y person(x)y person(x) ∧∧ ruler(y)ruler(y) ∧∧ try_assassinate(x,y)try_assassinate(x,y) →→ ~loyal_to(x,y)~loyal_to(x,y)

∀∀x Roman(x) x Roman(x) →→ loyal_to(x,Caesar) loyal_to(x,Caesar) ∨∨ hates(x,Caesar)hates(x,Caesar)

Page 29: Artificial Intelligence – Lecture 8130.243.105.49/~mbl/AI/lectures.2010/AI-8.pdf · 2011. 12. 13. · 15 Knowledge Representation Semantic Networks Prop. Logic Wordnet • Wordnet

29

● KnowledgeRepresentation

● Semantic Networks

● Prop. Logic

Prove that he did:Prove that he did:

The “theorem” ?

Was Marcus loyal to Caesar?Was Marcus loyal to Caesar?

Did Marcus hate Caesar?Did Marcus hate Caesar?

hates(Marcus,Caesar)hates(Marcus,Caesar)

Try, for example, to prove that he was not Try, for example, to prove that he was not :: ~loyal_to(Marcus,Caesar)~loyal_to(Marcus,Caesar)

Page 30: Artificial Intelligence – Lecture 8130.243.105.49/~mbl/AI/lectures.2010/AI-8.pdf · 2011. 12. 13. · 15 Knowledge Representation Semantic Networks Prop. Logic Wordnet • Wordnet

30

● KnowledgeRepresentation

● Semantic Networks

● Prop. Logic

Logic

• Interpretation

• Truth assignments to propositions “a possible world”

• Not neccessarily the world

• Valid sentence

• True in every interpretation

• Satisfiable sentence

• True in some interpretation

• Unsatisfiable sentence

• True in no interpretation

Page 31: Artificial Intelligence – Lecture 8130.243.105.49/~mbl/AI/lectures.2010/AI-8.pdf · 2011. 12. 13. · 15 Knowledge Representation Semantic Networks Prop. Logic Wordnet • Wordnet

31

● KnowledgeRepresentation

● Semantic Networks

● Prop. Logic

Propositional logic (sv. sats­logik)

• Syntax

Page 32: Artificial Intelligence – Lecture 8130.243.105.49/~mbl/AI/lectures.2010/AI-8.pdf · 2011. 12. 13. · 15 Knowledge Representation Semantic Networks Prop. Logic Wordnet • Wordnet

32

● KnowledgeRepresentation

● Semantic Networks

● Prop. Logic

Propositional logic: Well formed formulas

Page 33: Artificial Intelligence – Lecture 8130.243.105.49/~mbl/AI/lectures.2010/AI-8.pdf · 2011. 12. 13. · 15 Knowledge Representation Semantic Networks Prop. Logic Wordnet • Wordnet

33

● KnowledgeRepresentation

● Semantic Networks

● Prop. Logic

Propositional logic: interpretation

• Interpretation• An assignment of true / false to each propositional 

variable

• Indirectly gives true / false to all other formulas

Page 34: Artificial Intelligence – Lecture 8130.243.105.49/~mbl/AI/lectures.2010/AI-8.pdf · 2011. 12. 13. · 15 Knowledge Representation Semantic Networks Prop. Logic Wordnet • Wordnet

34

● KnowledgeRepresentation

● Semantic Networks

● Prop. Logic

Interpretation:

pp qq ~p~p p p ∧∧ q q p p ∨∨ q q p p →→ q q p p ↔↔ q qTT TTTT FFFF TTFF FF

FF TT TT TT TTFF FF TT FF FFTT FF TT TT FFTT FF FF TT TT

Truth tableTruth table

• A function that assigns truth value to each “atomic” formula• Also provides (indirectly) truth values for each wff

Page 35: Artificial Intelligence – Lecture 8130.243.105.49/~mbl/AI/lectures.2010/AI-8.pdf · 2011. 12. 13. · 15 Knowledge Representation Semantic Networks Prop. Logic Wordnet • Wordnet

35

● KnowledgeRepresentation

● Semantic Networks

● Prop. Logic

Model

p p →→ ~ q ~ q

ppq q ∨∨ r r

SSExample:Example:

p p →→ ~q ~q q q ∨∨ r rTT TT TT

pppp qq rrTT FF TT

Model:Model:

• Given a set of formulas S• A model of S, is an interpretation that makes all 

formulas of S true

Page 36: Artificial Intelligence – Lecture 8130.243.105.49/~mbl/AI/lectures.2010/AI-8.pdf · 2011. 12. 13. · 15 Knowledge Representation Semantic Networks Prop. Logic Wordnet • Wordnet

36

● KnowledgeRepresentation

● Semantic Networks

● Prop. Logic

Logical entailment:

p p →→ ~ q ~ q

ppq q ∨∨ r r

SSExample:Example:

F:F:

r r →→ p ppp qq rrTT FF TT

(the only) Model:(the only) Model:

r r →→ p pTT

• Given a set of formulas S and a formula F:• F is logically entailed by S   ( S |= F ),  if all models of S 

also make F true.

Page 37: Artificial Intelligence – Lecture 8130.243.105.49/~mbl/AI/lectures.2010/AI-8.pdf · 2011. 12. 13. · 15 Knowledge Representation Semantic Networks Prop. Logic Wordnet • Wordnet

37

● KnowledgeRepresentation

● Semantic Networks

● Prop. Logic

Propositional logic: Example 1

• Use a truth table to figure out in which interpretations the following formula is true

• Thus, that formula is a valid statement (since it is always true)

Page 38: Artificial Intelligence – Lecture 8130.243.105.49/~mbl/AI/lectures.2010/AI-8.pdf · 2011. 12. 13. · 15 Knowledge Representation Semantic Networks Prop. Logic Wordnet • Wordnet

38

● KnowledgeRepresentation

● Semantic Networks

● Prop. Logic

Inference rules for prop. logic

Page 39: Artificial Intelligence – Lecture 8130.243.105.49/~mbl/AI/lectures.2010/AI-8.pdf · 2011. 12. 13. · 15 Knowledge Representation Semantic Networks Prop. Logic Wordnet • Wordnet

39

● KnowledgeRepresentation

● Semantic Networks

● Prop. Logic

Propositional logic: Example 2

Page 40: Artificial Intelligence – Lecture 8130.243.105.49/~mbl/AI/lectures.2010/AI-8.pdf · 2011. 12. 13. · 15 Knowledge Representation Semantic Networks Prop. Logic Wordnet • Wordnet

40

● KnowledgeRepresentation

● Semantic Networks

● Prop. Logic

Examples

• 1.Given X (Y (¬X ⇒ ⇒ ∧ Z) and Y, prove ¬X

• 2. Given A   (B⇒ ∨C) and C   ¬A, prove ¬A⇒ ∨B