1 artificial intelligence adina magda florea. 2 lecture no. 6 prolog language rule-based systems...

25
1 Artificial Artificial Intelligence Intelligence Adina Magda Florea

Upload: kristian-kennedy

Post on 19-Jan-2016

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 Artificial Intelligence Adina Magda Florea. 2 Lecture No. 6 Prolog Language Rule-based Systems Knowledge representation using rules RBS structure Inference

1

Artificial IntelligenceArtificial Intelligence

Adina Magda Florea

Page 2: 1 Artificial Intelligence Adina Magda Florea. 2 Lecture No. 6 Prolog Language Rule-based Systems Knowledge representation using rules RBS structure Inference

2

Lecture No. 6

Prolog Language

Rule-based Systems Knowledge representation using rules RBS structure Inference cycle of a RBS Control strategy

2

Page 3: 1 Artificial Intelligence Adina Magda Florea. 2 Lecture No. 6 Prolog Language Rule-based Systems Knowledge representation using rules RBS structure Inference

3

1. Prolog R. Kowalski, A. Colmerauer - '70

Prolog control structure A goal S is true in a Prolog program (can be

satisfied or is a logical consequence of the program) iff:

1.  There is a clause C in the program;

2.  There is an instance I of the clause C such that: 2.1.   the head of I is the asme with the head of S;

2.2 all the goals in I’s body has true (can be satisfied)

3

Page 4: 1 Artificial Intelligence Adina Magda Florea. 2 Lecture No. 6 Prolog Language Rule-based Systems Knowledge representation using rules RBS structure Inference

4

Prolog

4

Execuþie

sistem Prolog

conjuncþiide scopuri

program Prolog

indicator SUCCES/INSUCCES

instanþele variabilelor din scopuri

Page 5: 1 Artificial Intelligence Adina Magda Florea. 2 Lecture No. 6 Prolog Language Rule-based Systems Knowledge representation using rules RBS structure Inference

5

Prolog% parinte(IndividX, IndividY)% stramos(IndividX, IndividZ)parinte(vali, gelu).parinte(ada, gelu).parinte(ada, mia).parinte(gelu, lina).parinte(gelu, misu).parinte(misu, roco).

str1(X, Z) :- parinte(X, Z).str1(X, Z) :- parinte(X, Y), str1(Y, Z).

5

vali ada

gelu mia

lina mişu

roco

Page 6: 1 Artificial Intelligence Adina Magda Florea. 2 Lecture No. 6 Prolog Language Rule-based Systems Knowledge representation using rules RBS structure Inference

6

Prolog% Change the order of the rules:

str2(X, Z) :- parinte(X, Y), str2(Y, Z).

str2(X, Z) :- parinte(X, Z).

% Change the order of goals:

str3(X, Z) :- parinte(X, Z).

str3(X, Z) :- str3(X, Y), parinte(Y, Z).

% Change both the order of rules and the order of goals:

str4(X, Z) :- str4(X, Y), parinte(Y, Z).

str4(X, Z) :- parinte(X,Z).

6

Page 7: 1 Artificial Intelligence Adina Magda Florea. 2 Lecture No. 6 Prolog Language Rule-based Systems Knowledge representation using rules RBS structure Inference

7

Prolog

?- str1(ada, misu).

yes

?- str2(ada, misu).

yes

?- str3(ada, misu).

yes

7

str1(ada, misu)

parinte(ada, misu)

INSUCCES

parinte(ada, Y), str1(Y, misu)

parinte(ada, gelu)

Y=gelu

SUCCES

str1(gelu, misu)

parinte(gelu, misu)

SUCCES

str3(ada, misu)

parinte(ada, misu)

INSUCCES

str3(ada, Y), parinte(Y, misu)

parinte(ada, Y')

Y=Y'

SUCCES

parinte(gelu, misu)

SUCCES

parinte(ada, gelu)

Y'=gelu

Page 8: 1 Artificial Intelligence Adina Magda Florea. 2 Lecture No. 6 Prolog Language Rule-based Systems Knowledge representation using rules RBS structure Inference

8

Prolog?- str4(ada, misu).

?- str3(mia, roco).

8

str4(ada, misu)

str4(ada, Y), parinte(Y, misu)

str4(ada, Y'), parinte(Y', Y)

str4(ada, Y"), parinte(Y", Y)

arbore infinit...

str3(mia, roco)

parinte(mia, roco)

INSUCCES

str3(mia, Y), parinte(Y, roco)

parinte(mia, Y)

INSUCCES

str3(mia, Y'), parinte(Y', Y)

parinte(mia, Y')

INSUCCES

str3(mia, Y"), parinte(Y", Y')

parinte(mia, Y")

INSUCCES

...arbore infinit

Page 9: 1 Artificial Intelligence Adina Magda Florea. 2 Lecture No. 6 Prolog Language Rule-based Systems Knowledge representation using rules RBS structure Inference

9

2. Knowledge representation using rules Declarative representation / procedural representation

R1: if the patient has fever

and the type of the organism is gram-pozitiv

and the patient has a stiff neck

then the identity of the organism is streptococcus

R2: if the car does not start

and the lights do not turn on

then the battery is faulty

sau there is no contact of the battery

R3: if the temperature > 95o C

then open the protection valve9

Page 10: 1 Artificial Intelligence Adina Magda Florea. 2 Lecture No. 6 Prolog Language Rule-based Systems Knowledge representation using rules RBS structure Inference

10

Reprezenthasa prin reguli - cont

( p)( o)(Temperatura (p,mare) Tip(o,gram - pozitiv) GitUscat(p))

Identitate (o,streptococ)

( m)( b)(NuPorneste(m) NuAprinde(m,far))

(Stare(b,consumata) Borne(b, fara_ contact))

Page 11: 1 Artificial Intelligence Adina Magda Florea. 2 Lecture No. 6 Prolog Language Rule-based Systems Knowledge representation using rules RBS structure Inference

3. Structura SBR

MEMORIEDE LUCRU

Fapte dinamice

BAZA DE CUNOSTINTE Reguli Fapte

Date de activare

MOTOR DEINFERENTA

Selectie reguliReguli selectate

Actiuni(Concluzii)

Date

Reprezentare

Control

Intrari

(date de caz)

Iesiri

(Raspunsuri)si fapte

Page 12: 1 Artificial Intelligence Adina Magda Florea. 2 Lecture No. 6 Prolog Language Rule-based Systems Knowledge representation using rules RBS structure Inference

12

4. Inference cycle of an RBS

Match Selection Execution

Page 13: 1 Artificial Intelligence Adina Magda Florea. 2 Lecture No. 6 Prolog Language Rule-based Systems Knowledge representation using rules RBS structure Inference

13

Inference cycle of an RBS - cont

Algorithm: Functioning of an RBS

1. WM Case data

2. repeat

2.1. Identify WM and KB and create the conflict set (CS)

2.2. Select a rule from the CS to apply

2.3. Apply selected rule

until there are no more applicable rules or

WM satisfies goal or

a predefined effort has been exhausted

end.

Page 14: 1 Artificial Intelligence Adina Magda Florea. 2 Lecture No. 6 Prolog Language Rule-based Systems Knowledge representation using rules RBS structure Inference

14

5. Control strategy

Selection criteria from the CS Direction of rule application

14

Page 15: 1 Artificial Intelligence Adina Magda Florea. 2 Lecture No. 6 Prolog Language Rule-based Systems Knowledge representation using rules RBS structure Inference

15

5.1 Selection criteria from the CS

Select the first applicable rule Select a rule from the CS

Preferences based on rule identitySpecificity

- the set of premises of R1 includes the set of premises of R2;

- the set of conditions of R1 are similar to that of R2, but the premises of R1 refer to constants while the premises of R2 refer to variables.

Time of last use Preferences based on matched objects

15

Page 16: 1 Artificial Intelligence Adina Magda Florea. 2 Lecture No. 6 Prolog Language Rule-based Systems Knowledge representation using rules RBS structure Inference

16

Selection criteria from the CS - cont

Use of meta-rules

if a rule has conditions A and B and

the rule refers {does not refer} X

{ not at all/

only in the LHS/

only in the RHS }

then the rule will be certainly useful

{ probably useful/

probably useless/

certainly useless }

Application of all rules in the CS 16

Page 17: 1 Artificial Intelligence Adina Magda Florea. 2 Lecture No. 6 Prolog Language Rule-based Systems Knowledge representation using rules RBS structure Inference

17

5.2 Direction of rule application

17

INLANTUIRE INAINTE

daca atuncidaca atunci

INLANTUIRE INAPOI

daca atuncidaca atunci

daca atunci

A B B C

A (data)

C (concluzie)

determina C B C A B

( A C, implicit)Este A adevarata? (data)

Forward chaining Backward chaining

Page 18: 1 Artificial Intelligence Adina Magda Florea. 2 Lecture No. 6 Prolog Language Rule-based Systems Knowledge representation using rules RBS structure Inference

Continut initial al memoriei de lucru: A,EStare scop: D

A,E A,E,B A,E,B,C A,E,B,C,D

(a)

R3 R1 R2

A,E

A,E,B

A,E,B,C

A,E,B,C,D

A,E,C

A,E,C,D

R4

R2

R3

R1

R2

(b)

(a) Forward chaining

18

Page 19: 1 Artificial Intelligence Adina Magda Florea. 2 Lecture No. 6 Prolog Language Rule-based Systems Knowledge representation using rules RBS structure Inference

R3

Continut initial al memoriei de lucru: A,EStare scop: D

D? C? A?, B? A?, E?

(a)

R3R1R2

D

C

A B E

R1 R4

R2

A? A? E?

E?

(b)

A

C

(b) Backward chaining

19

Page 20: 1 Artificial Intelligence Adina Magda Florea. 2 Lecture No. 6 Prolog Language Rule-based Systems Knowledge representation using rules RBS structure Inference

Algorithm: Find a value using forward chaining (a)FindValueD(A)1. if A has value

then return SUCCESS2. Build CS3. return Find(A, CS)end.Find(A, CS)1. if CS = {}

then return FAIL2. Choose a rule RCS according to a selection criterion (criteria) 3. for each premise Ij of R execute

3.1. Find the truth of Ij4. if all Ij , j=1,N are satisfied

then4.1. if A has value

then return SUCCESS4.2. Add the fact(s) refered in the RHS of R to WM

5. CS CS - R6. return Find(A, CS)end.

20

Page 21: 1 Artificial Intelligence Adina Magda Florea. 2 Lecture No. 6 Prolog Language Rule-based Systems Knowledge representation using rules RBS structure Inference

Algoritm: Find a value using backward chaining (b) Detvalue(A)1. Build the set if rules which refer A in RHS, CS2. if CS = {}

then2.1. Ask the user the value of A2.2. if the user answers A then stare this value in WM else return FAIL

3. else3.1. Choose a rule according to a selection criterion (criteria)3.2. for each premise Ij, j=1,N, in LHS of R execute3.2.1. Be Aj refered by the premise Ij3.2.2. if Aj has valuethen evaluate the truth of Ij3.2.3. elsei. if Detvalue(Aj) = SUCCESSthen evaluate the truth of Ijii. else consider Ij unsatisfied

21

Page 22: 1 Artificial Intelligence Adina Magda Florea. 2 Lecture No. 6 Prolog Language Rule-based Systems Knowledge representation using rules RBS structure Inference

3.3. if all premises Ij, j=1,N are satisfied

then store the value A obtained from the RHS of R in WM

4. if A has value (in WM)

then return SUCCESS

5. else

5.1 CS CS – R

5.2 repeat from 2

end.

1'. if A is primary data

then

1'.1. Ask the user the value of A

1'.2. if the user knows the value of A

then - store this value in WM

- return SUCCESS

1’.3. else return FAIL

22

Page 23: 1 Artificial Intelligence Adina Magda Florea. 2 Lecture No. 6 Prolog Language Rule-based Systems Knowledge representation using rules RBS structure Inference

Example of RBS with forward chaining (a)

R11: if Etapa is Verifica-Decor

and exists o statuie

and does not exist soclu

then Add soclu la Obiecte-Neimpachetate …..

R17: if Etapa is Verifica-Decor

then finish Etapa Verifica-Decor

and start Etapa Obiecte-Mari

23

Nume Greutate Dimensiune Fragil Impachetat

Etapa :Cutie 1 :Obiecte Neimpachetate :

Statuie mediu mare nu nuTablou usor medie nu nuVaza usor mica da nuSoclu greu mare nu nu

Verifica - Decor

Statuie,Tablou,Vaza ,Soclu{ }

Page 24: 1 Artificial Intelligence Adina Magda Florea. 2 Lecture No. 6 Prolog Language Rule-based Systems Knowledge representation using rules RBS structure Inference

Example of RBS with forward chaining - contR21: if Etapa is Obiecte-Mari

and exists un obiect mare de ambalatand exists un obiect greu de ambalatand exists o cutie cu mai putin de trei obiecte marithen pune obiectul greu in cutie

R22: if Etapa is Obiecte-Mariand exists un obiect mare de ambalatand exists o cutie cu mai putin de trei obiecte mari …..then pune obiectul mare in cutie

R28: if Etapa is Obiecte-Mariand exists un obiect mare de pusthen foloseste o cutie noua

R29: if Etapa is Obiecte-Marithen finish Etapa Obiecte-Mariand start Etapa Obiecte-Medii

24

Etapa :Cutie 1 :Obiecte Neimpachetate :

Obiecte - MediiSoclu,StatuieTablou,Vaza

Page 25: 1 Artificial Intelligence Adina Magda Florea. 2 Lecture No. 6 Prolog Language Rule-based Systems Knowledge representation using rules RBS structure Inference

Example of RBS with backward chaining (b)R1: if X has par

then X is mamalR2: if X feeds puii with milk

then X is mamalR3: if X is mamal

and X has pointed teethand X has falcithen X is carnivor

R4: if X is carnivorand X is brownand X has petethen X is cheetah

R5: if X is carnivorand X is brownand X has stripsthen X is tiger

25

What is X?