09 Wnioskowanie w logice pierwszego rzędu

background image

WPROWADZENIE

DO SZTUCZNEJ INTELIGENCJI

POLITECHNIKA WARSZAWSKA

WYDZIAŁ MECHANICZNY ENERGETYKI I LOTNICTWA

MEL

MEL

NS 586

Dr in

ż

. Franciszek Dul

© F.A. Dul 2007

background image

9. WNIOSKOWANIE W LOGICE

PIERWSZEGO RZĘDU

© F.A. Dul 2007

PIERWSZEGO RZĘDU

background image

Wnioskowanie w logice pierwszego rz

ę

du

Poka

ż

emy, w jaki sposób uogólni

ć

algorytmy wnioskowania rachunku
zda

ń

tak, aby wnioskowa

ć

w logice

© F.A. Dul 2007

zda

ń

tak, aby wnioskowa

ć

w logice

pierwszego rz

ę

du.

background image

• Sprowadzenie wnioskowania w logice pierwszego rz

ę

du

do wnioskowania w rachunku zda

ń

• Unifikacja
• Uogólniona reguła odrywania (modus ponens)
• Wnioskowanie w przód i wstecz
• Rezolucja
• Automatyczne dowodzenie twierdze

ń

Plan rozdziału

© F.A. Dul 2007

background image

Jak wnioskowa

ć

z kwantyfikatorami...

W j

ę

zyku logiki pierwszego rz

ę

du mo

ż

na opisa

ć

ś

wiat w sposób

ś

cisły, a zarazem bardzo zwi

ę

zły.

Zwi

ę

zło

ść

opisu osi

ą

ga si

ę

poprzez u

ż

ycie obiektów,

relacji mi

ę

dzy nimi, funkcji oraz

kwantyfikatorów

.

Wyst

ę

powanie kwantyfikatorów uniemo

ż

liwia

jednak prowadzenie wnioskowania w taki sposób,
jak w rachunku zda

ń

.

©

F.A. Dul 2007

jak w rachunku zda

ń

.

Zdania zapisane w j

ę

zyku logiki pierwszego rz

ę

du

musz

ą

wi

ę

c najpierw by

ć

przekształcone do postaci

umo

ż

liwiaj

ą

cej wnioskowanie.

Zdania FOL mo

ż

na przekształci

ć

do postaci

rachunku zda

ń

, albo te

ż

do takich postaci, które

umo

ż

liwiaj

ą

wnioskowanie bezpo

ś

rednie w FOL

za pomoc

ą

przekształconych metod wnioskowania.

background image

9.1. Sprowadzenie wnioskowania logiki pierwszego

rz

ę

du do wnioskowania w rachunku zda

ń

Wnioskowanie w logice pierwszego rz

ę

du mo

ż

e by

ć

sprowadzone do wnioskowania w rachunku zda

ń

.

Idea: nale

ż

y zast

ą

pi

ć

zdania kwantyfikowne przez zbiór zda

ń

bez kwantyfikatorów.

Zbiór zda

ń

zdekwantyfikowanych powinien by

ć

równowa

ż

ny

wyj

ś

ciowemu zbiorowi zda

ń

kwantyfikowanych lub co najmniej

spełnialny.

© F.A. Dul 2007

• Eliminacja kwantyfikatorów ogólnych

Zast

ą

pienie zmiennej przez

symbol podstawowy

(ground term)

• Eliminacja kwantyfikatorów szczegółowych

skolemizacja

spełnialny.

background image

Podstawienie ogólne (universal instantiation, UI)

Ka

ż

de podstawienie do zdania z kwantyfikatorem ogólnym

pewnego wyra

ż

enia za zmienn

ą

kwantyfikowan

ą

wynika

z tego zdania, tj.

v

α

—————————

Subst( {v/g},

α

)

dla ka

ż

dej zmiennej v i ka

ż

dego wyra

ż

enia g.

Subst(

θ

,

α

)

= podstawienie

θ

do

α

.

9.1. Sprowadzenie FOL do PL

© F.A. Dul 2007

Przykład Podstawienie do zdania

x Król(x)

Chciwy(x)

Zły(x)

wyra

ż

e

ń

: {x/Jan}, {x/Ryszard} i {x/Ojciec(Jan)} daje zdania:

Król(Jan)

Chciwy(Jan)

Zły(Jan)

Król(Ryszard)

Chciwy(Ryszard)

Zły(Ryszard)

Król(Ojciec(Jan))

Chciwy(Ojciec(Jan))

Zły(Ojciec(Jan))

Zdanie z kwantyfikatorem ogólnym jest równowa

ż

ne zbiorowi

zda

ń

z podstawieniami

wszystkich

obiektów z dziedziny.

background image

9.1. Sprowadzenie FOL do PL

Podstawienie szczegółowe (existential instantiation, EI)

Dla ka

ż

dego zdania

α

, zmiennej v i stałej k która

nie wyst

ę

puje

w bazie wiedzy KB zachodzi wynikanie

v

α

—————————

Subst( {v/k},

α

)

Przykład Podstawienie stałej C

1

do zdania

x Korona(x)

NaGłowie(x,Jan)

© F.A. Dul 2007

x Korona(x)

NaGłowie(x,Jan)

daje zdanie

Korona(C1)

NaGłowie(C1,Jan)

Stała C

1

nazywa si

ę

stał

ą

Skolema

, za

ś

procedura jej

podstawienia –

skolemizacj

ą

.

Warunek niewyst

ę

powania w bazie KB stałej Skolema której

chcemy u

ż

y

ć

jest bardzo wa

ż

ny!

Niespełnienie tego warunku powoduje,

ż

e relacja wynikania

zbioru zda

ń

skolemizowanych z bazy KB nie jest spełniona.

background image

9.1. Sprowadzenie FOL do PL

ż

nice pomi

ę

dzy podstawieniami: ogólnym (UI)

oraz szczegółowym (EI)

• Podstawienie ogólne (UI) mo

ż

e by

ć

wykonane wielokrotnie

w celu

dodania

nowych zda

ń

do bazy wiedzy.

Nowa baza wiedzy KB jest równowa

ż

na logicznie bazie

starej.

• Podstawienie szczegółowe (EI) mo

ż

e by

ć

wykonane

tylko raz

, w celu eliminacji kwantyfikatora szczegółowego.

© F.A. Dul 2007

tylko raz

, w celu eliminacji kwantyfikatora szczegółowego.

Nowa baza wiedzy KB

nie jest

równowa

ż

na logicznie bazie

starej, ale jest spełnialna (tj. prawdziwa dla

pewnych

modeli)

je

ż

eli baza wyj

ś

ciowa była spełnialna.

background image

9.1. Sprowadzenie FOL do PL

Sprowadzenie wnioskowania FOL do wnioskowania

w rachunku zda

ń

Załó

ż

my,

ż

e baza wiedzy KB zawiera nast

ę

puj

ą

ce zdania

i wyra

ż

enia:

Wykonanie

wszystkich

mo

ż

liwych podstawie

ń

, tutaj:

x Król(x)

Chciwy(x)

Zły(x)

Król(Jan)
Chciwy(Jan)
Brat(Ryszard,Jan)

© F.A. Dul 2007

Król(Jan)

Chciwy(Jan)

Zły(Jan)

Król(Ryszard)

Chciwy(Ryszard)

Zły(Ryszard)

Król(Jan)
Chciwy(Jan)
Brat(Ryszard,Jan)

{x/Jan}, {x/Ryszard}

daje w wyniku now

ą

baz

ę

KB:

Nowa baza wiedzy jest ju

ż

czysto

predykatowa

(KB PL)

– nie ma w niej kwantyfikatorów.

Predykatami s

ą

:

Król(Jan), Chciwy(Jan), Zły(Jan),

etc.

background image

9.1. Sprowadzenie FOL do PL

• Ka

ż

da baza wiedzy zapisana w logice pierwszego rz

ę

du

(KB FOL) mo

ż

e by

ć

sprowadzona do bazy predykatowej

(KB PL) w taki sposób,

ż

e wynikanie jest zachowane, tj,

Zdanie wynika z przekształconej bazy KB wtedy
i tylko wtedy, gdy wynika z bazy pierwotnej.

• Zasada: przedstawienie w postaci predykatowej bazy

wiedzy KB PL, zapyta

ń

, rezolucji, odpowiedzi.

• Problem: funkcje generuj

ą

niesko

ń

czone ci

ą

gi wyra

ż

e

ń

, np.

© F.A. Dul 2007

• Problem: funkcje generuj

ą

niesko

ń

czone ci

ą

gi wyra

ż

e

ń

, np.

Ojciec(Ojciec(Ojciec(Jan)))...

Twierdzenie (Turing, Church 1936) Wynikanie w logice
pierwszego rz

ę

du jest

półrozstrzygalne

(semidecidable).

Oznacza to,

ż

e :

istniej

ą

algorytmy

które daj

ą

odpowied

ź

twierdz

ą

c

ą

na ka

ż

de

zdanie wynikaj

ą

ce z bazy KB FOL, ale

nie ma algorytmów

które odpowiadaj

ą

przecz

ą

co na ka

ż

de

zdanie nie wynikaj

ą

ce z bazy KB FOL.

background image

9.1. Sprowadzenie FOL do PL

Problemy ze sprowadzeniem FOL do PL

• Sprowadzenie bazy FOL do postaci predykatowej prowadzi

do utworzenia wielu nieistotnych zda

ń

.

Przykład Z bazy

x Król(x)

Chciwy(x)

Zły(x)

Król(Jan)

y Chciwy(y)

Brat(Ryszard,Jan)

wynika w sposób oczywisty zdanie

© F.A. Dul 2007

wynika w sposób oczywisty zdanie

Zły(Jan),

ale równie

ż

wiele zda

ń

nieistotnych, np.

Zły(Ryszard).

• Problem liczby podstawie

ń

.

Dla p zda

ń

k-krotnych i n stałych istnieje

p·n

k

podstawie

ń

.

background image

Wnioskowanie w bazie predykatowej

Przekształcenie bazy zapisanej w j

ę

zyku logiki

pierwszego rz

ę

du do bazy predykatowej pozwala

prowadzi

ć

wnioskowanie metodami rachunku zda

ń

.

Jednak takie post

ę

powanie mo

ż

e by

ć

wysoce

nieefektywne, gdy

ż

eliminacja kwantyfikatorów

ogólnych mo

ż

e spowodowa

ć

lawinowy wzrost liczby

zda

ń

w bazie przekształconej.

©

F.A. Dul 2007

zda

ń

w bazie przekształconej.

Lepszym rozwi

ą

zaniem jest

modyfikacja algorytmów

wnioskowania

w taki sposób, aby mo

ż

na było

prowadzi

ć

wnioskowanie bezpo

ś

rednio w bazie FOL.

Osi

ą

ga si

ę

to poprzez zastosowanie operacji

podniesienia i unifikacji oraz wykorzystanie
uogólnionej reguły odrywania i algorytmu eliminacji
(rezolucji).

background image

9.2. Podniesienie i unifikacja

Zamiast przekształca

ć

baz

ę

FOL do postaci PL, mo

ż

na

przedefiniowa

ć

reguły wnioskowania tak, aby były słuszne

dla logiki pierwszego rz

ę

du u

ż

ywaj

ą

cej kwantyfikatorów:

ogólnych i szczegółowych.

Unifikacja

jest to procedura rekurencyjna pozwalaj

ą

ca

sprawdzi

ć

, czy istnieje podstawienie sprowadzaj

ą

ce dwa

wyra

ż

enia do takiej samej postaci.

Unifikacja pozwala cz

ę

sto istotnie zredukowa

ć

liczb

ę

zda

ń

© F.A. Dul 2007

Unifikacja pozwala cz

ę

sto istotnie zredukowa

ć

liczb

ę

zda

ń

zawartych w bazie wiedzy KB.

Podniesienie

(lifting) - wykonanie podstawie

ń

które pozwalaj

ą

prowadzi

ć

wnioskowanie w bazie FOL.

Przykład liftingu - uogólniona reguła odrywania (Generalized
Modus Ponens
).

background image

9.2. Podniesienie i unifikacja

Unifikacja

Unifikacja

jest to procedura rekurencyjna pozwalaj

ą

ca

sprawdzi

ć

, czy istnieje podstawienie sprowadzaj

ą

ce dwa

wyra

ż

enia do takiej samej postaci.

Przykłady:

Kobieta(Anna)

i

M

ęż

czyzna(Jan)

nie unifikuj

ą

si

ę

;

Kobieta(Anna)

i

Kobieta(Anna)

unifikuj

ą

si

ę

trywialnie;

Kobieta(Anna)

i

Kobieta(Maria)

nie unifikuj

ą

si

ę

, gdy

ż

maj

ą

© F.A. Dul 2007

Kobieta(Anna)

i

Kobieta(Maria)

nie unifikuj

ą

si

ę

, gdy

ż

maj

ą

ż

ne argumenty;

Król(x)

i

Chciwy(x)

oraz

Król(Jan)

i

Chciwy(y).

Podstawienie

α

= { x/Jan, y/Jan }

unifikuje obie pary zda

ń

.

Unifikacja zda

ń

α

,

β

za pomoc

ą

podstawienia

θ

mo

ż

e by

ć

zdefiniowana nast

ę

puj

ą

co

Unify(

α

,

β

) =

θ

je

ż

eli Subst(

θ

,

α

) = Subst(

θ

,

β

)

background image

Unifikacja

p

q

θθθθ

Zna(Jan,x)

Zna(Jan,Maria)

9.2. Podniesienie i unifikacja

Przykłady problemów unifikacji:

© F.A. Dul 2007

background image

Unifikacja

p

q

θθθθ

Zna(Jan,x)

Zna(Jan,Maria)

{x/Maria}

9.2. Podniesienie i unifikacja

Przykłady problemów unifikacji:

© F.A. Dul 2007

background image

Unifikacja

p

q

θθθθ

Zna(Jan,x)

Zna(Jan,Maria)

{x/Maria}

Zna(Jan,x)

Zna(y,OJ)

9.2. Podniesienie i unifikacja

Przykłady problemów unifikacji:

© F.A. Dul 2007

background image

Unifikacja

p

q

θθθθ

Zna(Jan,x)

Zna(Jan,Maria)

{x/Maria}

Zna(Jan,x)

Zna(y,OJ)

{x/OJ,y/Jan}

9.2. Podniesienie i unifikacja

Przykłady problemów unifikacji:

© F.A. Dul 2007

background image

Unifikacja

p

q

θθθθ

Zna(Jan,x)

Zna(Jan,Maria)

{x/Maria}

Zna(Jan,x)

Zna(y,OJ)

{x/OJ,y/Jan}

Zna(Jan,x)

Zna(y,Matka(y))

9.2. Podniesienie i unifikacja

Przykłady problemów unifikacji:

© F.A. Dul 2007

background image

Unifikacja

p

q

θθθθ

Zna(Jan,x)

Zna(Jan,Maria)

{x/Maria}

Zna(Jan,x)

Zna(y,OJ)

{x/OJ,y/Jan}

Zna(Jan,x)

Zna(y,Matka(y))

{y/Jan,x/Matka(Jan)}

9.2. Podniesienie i unifikacja

Przykłady problemów unifikacji:

© F.A. Dul 2007

background image

Unifikacja

p

q

θθθθ

Zna(Jan,x)

Zna(Jan,Maria)

{x/Maria}

Zna(Jan,x)

Zna(y,OJ)

{x/OJ,y/Jan}

Zna(Jan,x)

Zna(y,Matka(y))

{y/Jan,x/Matka(Jan)}

Zna(Jan,x)

Zna(x,OJ)

9.2. Podniesienie i unifikacja

Przykłady problemów unifikacji:

© F.A. Dul 2007

background image

Unifikacja

p

q

θθθθ

Zna(Jan,x)

Zna(Jan,Maria)

{x/Maria}

Zna(Jan,x)

Zna(y,OJ)

{x/OJ,y/Jan}

Zna(Jan,x)

Zna(y,Matka(y))

{y/Jan,x/Matka(Jan)}

Zna(Jan,x)

Zna(x,OJ)

{brak}

9.2. Podniesienie i unifikacja

Przykłady problemów unifikacji:

© F.A. Dul 2007

Nie mo

ż

na podstawi

ć

{x/Jan}

bo otrzymamy

Zna(Jan,Jan)

niezgodne ze

Zna(Jan,OJ)

- wyst

ą

piło nakładanie si

ę

nazw

zmiennych.

Aby usun

ąć

konflikt nazw zast

ę

pujemy zmienn

ą

x w jednym

ze zda

ń

(np. w drugim) inn

ą

zmienn

ą

, np.

z

17

. Otrzymujemy

Zna(Jan,x) , Zna(z

17

,OJ)

Jest to

standaryzacja

która eliminuje konflikty nazw.

background image

Unifikacja

• Aby zunifikowa

ć

Zna(Jan,x)

oraz

Zna(y,z),

mo

ż

na u

ż

y

ć

ż

nych podstawie

ń

(unifikatorów), np.:

α

= { y/Jan, x/z }

Zna(Jan,z)

oraz

Zna(Jan,z),

lub

α

= { y/Jan, x/Jan, z/Jan }

Zna(Jan,Jan)

oraz

Zna(Jan,Jan)

9.2. Podniesienie i unifikacja

Przykłady problemów unifikacji:

© F.A. Dul 2007

Zna(Jan,Jan)

oraz

Zna(Jan,Jan)

• Pierwszy unifikator jest

ogólniejszy

ni

ż

drugi.

• Istnieje jedyny

unifikator najogólniejszy

(most general

unificator, MGU) okre

ś

lony z dokładno

ś

ci

ą

do zmiany

nazw zmiennych.

MGU = { y/Jan, x/z }

background image

Algorytm unifikacji

9.2. Podniesienie i unifikacja

© F.A. Dul 2007

background image

Uogólniona reguła odrywania (Generalized Modus
Ponens)

p

1

', p

2

', … , p

n

', ( p

1

p

2

p

n

q)



Subst(

θ

,q)

gdzie Subst(

θ

,p

i

’) = Subst(

θ

,p

i

) dla ka

ż

dego i.

9.2. Podniesienie i unifikacja

Przykład

p

1

'

oznacza

Król(Jan)

p

1

oznacza

Król(x)

p '

oznacza

Chciwy(y)

p

oznacza

Chciwy(x)

© F.A. Dul 2007

p

2

'

oznacza

Chciwy(y)

p

2

oznacza

Chciwy(x)

θ

oznacza

{x/Jan,y/Jan}

q

oznacza

Zły(x)

Subst(

θ

,q)

oznacza

Zły(Jan)

• Uogólniona reguła odrywania (GMP) jest u

ż

ywana dla

bazy wiedzy zło

ż

onej z

klauzul Horna

(tj. zawieraj

ą

cych

dokładnie jeden

literał niezanegowany)

• Zakłada si

ę

,

ż

e wszystkie zmienne s

ą

kwantyfikowane

ogólnie.

background image

Poprawno

ść

uogólnionej reguły odrywania

p

1

', p

2

', … , p

n

', ( p

1

p

2

p

n

q) l= Subst(

θ

,q)

przy zało

ż

eniu,

ż

e Subst(

θ

,p

i

’) = Subst(

θ

,p

i

) dla ka

ż

dego i.

9.2. Podniesienie i unifikacja

Nale

ż

y wykaza

ć

,

ż

e

Lemat Dla ka

ż

dego zdania p zachodzi p

l=

Subst(

θ

,p)

poprzez podstawienie uniwersalne.

Dowód poprawno

ś

ci GMP (

oznaczenie: Subst(

θ

,p)

p

θ

)

© F.A. Dul 2007

(p

1

p

n

q)

l=

(p

1

p

n

q)

θ

(z lematu)

(p

1

p

n

q)

θ

= (p

1

θ ∧

p

n

θ

q

θ

)

p

1

', …, p

n

'

l=

p

1

'

p

n

'

p

1

'

p

n

'

l=

p

1

'

θ ∧

p

n

'

θ

(z lematu)

• st

ą

d, i na mocy zwykłej reguły odrywana wynika

p

1

', p

2

', … , p

n

', ( p

1

p

2

p

n

q)

l=

q

θ

Dowód poprawno

ś

ci GMP (

oznaczenie: Subst(

θ

,p)

p

θ

)

background image

9.3. Algorytmy FOL wnioskowania w przód i wstecz

Algorytmy wnioskowania w przód i wstecz dla FOL i logiki
zda

ń

s

ą

identyczne.

Wnioskowanie w przód dla KB FOL

• Zaczynamy od zda

ń

w bazie KB FOL opisuj

ą

cych fakty;

• Stosujemy uogólnion

ą

reguł

ę

odrywania dla FOL

do wyprowadzenia nowych zda

ń

;

• Dodajemy nowe zdania do bazy KB FOL;
• Wnioskowanie ko

ń

czymy, je

ż

eli wyprowadzimy udowadnia-

© F.A. Dul 2007

Wnioskowanie wstecz dla KB FOL

• Zaczynamy od zdania, które jest zapytaniem do KB FOL;
• Stosujemy uogólnion

ą

reguł

ę

odrywania dla FOL

znajduj

ą

c zdania z których wynika udowadniane zdanie;

• Wnioskowanie ko

ń

czymy, je

ż

eli przesłankami zdania

aktualnie dowodzonego b

ę

d

ą

zdania bazy KB FOL

które opisuj

ą

fakty dowiedzione;

• Wnioskowanie ko

ń

czymy, je

ż

eli wyprowadzimy udowadnia-

ne zdanie lub gdy dalsze wnioskowanie nie jest mo

ż

liwe;

background image

Przykład wnioskowania z bazy wiedzy FOL

9.3. Algorytmy FOL wnioskowania w przód i wstecz

• Prawo USA stanowi,

ż

e przest

ę

pstwem jest sprzeda

ż

broni do krajów wrogich.

• Kraj Nono, wróg USA, posiada pewn

ą

liczb

ę

rakiet.

• Wszystkie te rakiety zostały sprzedane Nono przez

niejakiego pułkownika Westa.

• Pułkownik West jest Amerykaninem.

Baza wiedzy KB FOL zawiera nast

ę

puj

ą

ce zdania:

© F.A. Dul 2007

• Pułkownik West jest Amerykaninem.

Dowie

ść

,

ż

e w

ś

wietle prawa ameryka

ń

skiego pułkownik

West jest przest

ę

pc

ą

.

background image

Przykład wnioskowania z bazy wiedzy FOL

9.3. Algorytmy FOL wnioskowania w przód i wstecz

Baza wiedzy w postaci zda

ń

FOL:

... jest przest

ę

pstwem gdy Amerykanin sprzedaje bro

ń

krajom wrogim:

American(x

Sells(x,y,z) )

Weapon(y)

Hostile(z)

Criminal(x)

Nono … posiada pewn

ą

liczb

ę

rakiet, tj.,

x Owns(Nono,x)

Missile(x)

Owns(Nono,M

1

) i Missile(M

1

)

… wszystkie rakiety zostały sprzedanie Nono prze pułkownika Westa

Missile(x)

Owns(Nono,x)

Sells(West,x,Nono)

© F.A. Dul 2007

Missile(x)

Owns(Nono,x)

Sells(West,x,Nono)

Rakiety s

ą

broni

ą

:

Missile(x)

Weapon(x)

Wróg Ameryki jest wrogiem:

Enemy(x,America)

Hostile(x)

West jest Amerykaninem …

American(West)

Kraj Nono, wróg Ameryki …

Enemy(Nono,America)

background image

Algorytm wnioskowania w przód

9.3. Algorytmy FOL wnioskowania w przód i wstecz

© F.A. Dul 2007

background image

Dowód poprzez wnioskowanie w przód

9.3. Algorytmy FOL wnioskowania w przód i wstecz

© F.A. Dul 2007

background image

Dowód poprzez wnioskowanie w przód

9.3. Algorytmy FOL wnioskowania w przód i wstecz

© F.A. Dul 2007

background image

Dowód poprzez wnioskowanie w przód

9.3. Algorytmy FOL wnioskowania w przód i wstecz

© F.A. Dul 2007

background image

Własno

ś

ci wnioskowania w przód

9.3. Algorytmy FOL wnioskowania w przód i wstecz

• Wnioskowanie w przód jest poprawne i zupełne dla bazy

w postaci klauzul Horna pierwszego rz

ę

du.

• Wnioskowanie w przód dla klauzuli Horna pierwszego

rz

ę

du

nie zawieraj

ą

cych funkcji

wymaga sko

ń

czonej

liczby kroków.

• Wnioskowanie w przód w przypadku ogólnym mo

ż

e si

ę

nie zako

ń

czy

ć

je

ż

eli zapytanie nie wynika z bazy FOL.

• Nie mo

ż

na temu zaradzi

ć

; wynikanie z klauzulami Horna

© F.A. Dul 2007

• Nie mo

ż

na temu zaradzi

ć

; wynikanie z klauzulami Horna

pierwszego rz

ę

du jest półrozstrzygalne (patrz twierdzenie

Turinga-Churcha).

background image

Efektywno

ść

wnioskowania w przód

9.3. Algorytmy FOL wnioskowania w przód i wstecz

• Przyrostowe wnioskowanie w przód nie musi

dopasowywa

ć

reguł w k-tym kroku je

ż

eli w kroku k-1

nie została dodana nowa przesłanka.

• Dopasowanie reguł nast

ę

puje wtedy, gdy przesłanka

zawiera nowo dodany literał pozytywny.

• Dopasowanie jest kosztowne.

• Indeksowanie

bazy wiedzy pozwala uzyska

ć

informacje

o znanych faktach kosztem O(1).

© F.A. Dul 2007

• Indeksowanie

bazy wiedzy pozwala uzyska

ć

informacje

o znanych faktach kosztem O(1).

Np. zapytanie Missile(x) zwraca Missile(M

1

).

• Dopasowanie przesłanek do znanych faktów jest

zadaniem NP-hard.

• Wnioskowanie w przód jest szeroko u

ż

ywane

w

dedukcyjnych bazach wiedzy

.

background image

Przykład zadania trudno dopasowalnego

9.3. Algorytmy FOL wnioskowania w przód i wstecz

Diff(wa,nt)

Diff(wa,sa)

Diff(nt,q)

Diff(nt,sa)

Diff(q,nsw)

Diff(q,sa)

Diff(nsw,v)

Diff(nsw,sa)

Diff(v,sa)

Colorable()

Diff(Red,Blue)

Diff (Red,Green)

Diff(Green,Red) Diff(Green,Blue)

© F.A. Dul 2007

Colorable()

wynika z bazy wiedzy KB FOL wtedy i tylko

wtedy gdy zadanie poszukiwania z ograniczeniami
(CSP) ma rozwi

ą

zanie.

• Zadanie CSP zawiera zadanie 3SAT jako przypadek

szczególny, zatem dopasowanie jest zadaniem NP-hard.

Diff(Blue,Red)

Diff(Blue,Green)

background image

Algorytm wnioskowania wstecz

9.3. Algorytmy FOL wnioskowania w przód i wstecz

© F.A. Dul 2007

Subst( Compose(

α

1

,

α

2

) , p) = Subst(

α

2

,Subst(

α

1

, p))

background image

Dowód poprzez wnioskowanie wstecz

9.3. Algorytmy FOL wnioskowania w przód i wstecz

© F.A. Dul 2007

background image

Dowód poprzez wnioskowanie wstecz

9.3. Algorytmy FOL wnioskowania w przód i wstecz

© F.A. Dul 2007

background image

Dowód poprzez wnioskowanie wstecz

9.3. Algorytmy FOL wnioskowania w przód i wstecz

© F.A. Dul 2007

background image

Dowód poprzez wnioskowanie wstecz

9.3. Algorytmy FOL wnioskowania w przód i wstecz

© F.A. Dul 2007

background image

Dowód poprzez wnioskowanie wstecz

9.3. Algorytmy FOL wnioskowania w przód i wstecz

© F.A. Dul 2007

background image

Dowód poprzez wnioskowanie wstecz

9.3. Algorytmy FOL wnioskowania w przód i wstecz

© F.A. Dul 2007

background image

Dowód poprzez wnioskowanie wstecz

9.3. Algorytmy FOL wnioskowania w przód i wstecz

© F.A. Dul 2007

background image

Własno

ś

ci wnioskowania wstecz

9.3. Algorytmy FOL wnioskowania w przód i wstecz

• Przy rekurencyjnym dowodzeniu w gł

ą

b pami

ęć

zale

ż

y

liniowo od długo

ś

ci dowodu.

• Wnioskowanie wstecz jest niezupełne z powodu

mo

ż

liwo

ś

ci zap

ę

tlenia si

ę

algorytmu;

• Mo

ż

na jednak temu zaradzi

ć

poprzez sprawdzenie celu

aktualnego z celami składowanymi na stosie.

• Wnioskowanie wstecz mo

ż

e by

ć

nieefektywne gdy

wielokrotnie sprawdza cele ju

ż

osi

ą

gni

ę

te.

© F.A. Dul 2007

• Wnioskowanie wstecz mo

ż

e by

ć

nieefektywne gdy

wielokrotnie sprawdza cele ju

ż

osi

ą

gni

ę

te.

• Mo

ż

na temu zaradzi

ć

poprzez zapami

ę

tywanie wyników

po

ś

rednich, ale kosztem dodatkowej pami

ę

ci.

• Wnioskowanie wstecz jest szeroko u

ż

ywane

w programowaniu logicznym

.

background image

9.5. Eliminacja (rezolucja)

l

1

···

l

i

···

l

k

, m

1

···

m

k

···

m

n



Subst(

θ

, l

···

l

l

···

l

m

···

m

m

···

m )

Zasada eliminacji pozwala dowodzi

ć

twierdzenia

sformułowane w j

ę

zyku logiki pierwszego rz

ę

du.

Zasada rezolucji umo

ż

liwia tak

ż

e weryfikacj

ę

poprawno

ś

ci

projektów układów elektronicznych oraz dowodzenie
poprawno

ś

ci programów.

Zasada eliminacji dla logiki pierwszego rz

ę

du ma posta

ć

© F.A. Dul 2007



Subst(

θ

, l

1

···

l

i-1

l

i+1

···

l

k

m

1

···

m

j-1

m

j+1

···

m

n

)

gdzie

Unify(l

i

,

¬

m

k

) =

θ

.

Obie klauzule (alternatywy l

j

oraz m

j

) musz

ą

by

ć

standaryzowane, aby nie miały wspólnych zmiennych.

Eliminacja mo

ż

e by

ć

stosowana do bazy FOL przekształconej

do postaci koniunktywnej normalnej (CNF).

Rezolucja mo

ż

e by

ć

zastosowana do udowodnienia zdania

α

poprzez wykazanie,

ż

e ( KB FOL

∧ ¬α

) jest niespełnialne.

background image

9.5. Eliminacja (rezolucja)

Przykład
Dane s

ą

zdania

¬

Bogaty(x)

Nieszcz

ęś

liwy(x)

Bogaty(Jan)

Podstawienie

θ

= { x/Jan }

sprowadza klauzule

¬

Bogaty(x) Bogaty(Jan)

do postaci komplementarnej.

© F.A. Dul 2007

do postaci komplementarnej.

Eliminacja

¬

Bogaty(x)

Nieszcz

ęś

liwy(x) Bogaty(Jan)



Nieszcz

ęś

liwy(Jan)

prowadzi wi

ę

c do wniosku,

ż

e

„Jan jest nieszcz

ęś

liwy”

mimo,

ż

e jest bogaty.

background image

Sprowadzenie zda

ń

FOL do postaci CNF

9.5. Eliminacja (rezolucja)

• Zdanie

“Ka

ż

dy kto kocha wszystkie zwierz

ę

ta jest kochany przez kogo

ś

.

x [

y Animal(y)

Loves(x,y) ]

[

y Loves(y,x) ]

• Eliminacja równowa

ż

no

ś

ci i implikacji

x [

¬∀

y

¬

Animal(y)

Loves(x,y) ]

[

y Loves(y,x) ]

• Reguły negacji kwantyfikatorów,

© F.A. Dul 2007

• Reguły negacji kwantyfikatorów,

¬∀

x p

x

¬

p,

¬∃

x p

x

¬

p

• Przesuni

ę

cie negacji do wn

ę

trza wyra

ż

e

ń

,

x [

y

¬

(

¬

Animal(y)

Loves(x,y)) ]

[

y Loves(y,x) ]

x [

y

¬¬

Animal(y)

∧ ¬

Loves(x,y) ]

[

y Loves(y,x) ]

x [

y Animal(y)

∧ ¬

Loves(x,y) ]

[

y Loves(y,x)]

background image

Sprowadzenie zda

ń

FOL do postaci CNF

9.5. Eliminacja (rezolucja)

• Standaryzacja: ka

ż

dy kwantyfikator musi u

ż

ywa

ć

innej

zmiennej

x [

y Animal(y)

∧ ¬

Loves(x,y) ]

[

z Loves(z,x) ]

• Skolemizacja: ogólna forma podstawienia szczegółowego.

Ka

ż

da zmienna szczegółowa jest zast

ą

piona przez

funkcj

ę

Skolema

zmiennej zewn

ę

trznej kwantyfikatora

ogólnego:

© F.A. Dul 2007

ogólnego:

x

[ Animal(

F(x)

)

∧ ¬

Loves(x,

F(x)

) ]

Loves(

G(x),

x)

• Opuszczenie kwantyfikatora ogólnego

[ Animal(F(x))

∧ ¬

Loves(x,F(x)) ]

Loves(G(x),x)

• Przekształcenie do postaci koniunkcji alternatyw:

[ Animal(F(x))

Loves(G(x),x) ]

[

¬

Loves(x,F(x))

Loves(G(x),x) ]

background image

Dowód rezolucyjny dla kaluzuli Horna

9.5. Eliminacja (rezolucja)

© F.A. Dul 2007

background image

Dowód rezolucyjny dla kaluzuli Horna

9.5. Eliminacja (rezolucja)

{x/West}

© F.A. Dul 2007

background image

Dowód rezolucyjny dla kaluzuli Horna

9.5. Eliminacja (rezolucja)

{x/West}

© F.A. Dul 2007

background image

Dowód rezolucyjny dla kaluzuli Horna

9.5. Eliminacja (rezolucja)

{x/West}

© F.A. Dul 2007

background image

Dowód rezolucyjny dla kaluzuli Horna

9.5. Eliminacja (rezolucja)

{x/West}

© F.A. Dul 2007

background image

Dowód rezolucyjny dla kaluzuli Horna

9.5. Eliminacja (rezolucja)

{x/West}

{x/y}

© F.A. Dul 2007

background image

Dowód rezolucyjny dla kaluzuli Horna

9.5. Eliminacja (rezolucja)

{x/West}

{x/y}

© F.A. Dul 2007

background image

Dowód rezolucyjny dla kaluzuli Horna

9.5. Eliminacja (rezolucja)

{x/West}

{x/y}

{y/M1}

© F.A. Dul 2007

background image

Dowód rezolucyjny dla kaluzuli Horna

9.5. Eliminacja (rezolucja)

{x/West}

{x/y}

{y/M1}

© F.A. Dul 2007

background image

Dowód rezolucyjny dla kaluzuli Horna

9.5. Eliminacja (rezolucja)

{x/West}

{x/y}

{y/M1}

{x/M1}

© F.A. Dul 2007

{x/M1}

background image

Dowód rezolucyjny dla kaluzuli Horna

9.5. Eliminacja (rezolucja)

{x/West}

{x/y}

{y/M1}

{x/M1}

© F.A. Dul 2007

{x/M1}

background image

Dowód rezolucyjny dla kaluzuli Horna

9.5. Eliminacja (rezolucja)

{x/West}

{x/y}

{y/M1}

{x/M1}

© F.A. Dul 2007

{x/M1}

background image

Dowód rezolucyjny dla kaluzuli Horna

9.5. Eliminacja (rezolucja)

{x/West}

{x/y}

{y/M1}

{x/M1}

© F.A. Dul 2007

{x/M1}

background image

Dowód rezolucyjny dla kaluzuli Horna

9.5. Eliminacja (rezolucja)

{x/West}

{x/y}

{y/M1}

{x/M1}

© F.A. Dul 2007

{x/M1}

background image

Dowód rezolucyjny dla kaluzuli Horna

9.5. Eliminacja (rezolucja)

{x/West}

{x/y}

{y/M1}

{x/M1}

© F.A. Dul 2007

{x/M1}

background image

Dowód rezolucyjny dla kaluzuli Horna

9.5. Eliminacja (rezolucja)

{x/West}

{x/y}

{y/M1}

{x/M1}

© F.A. Dul 2007

{x/M1}

{x/Nono}

background image

Dowód rezolucyjny dla kaluzuli Horna

9.5. Eliminacja (rezolucja)

{x/West}

{x/y}

{y/M1}

{x/M1}

© F.A. Dul 2007

{x/M1}

{x/Nono}

background image

Dowód rezolucyjny dla kaluzuli Horna

9.5. Eliminacja (rezolucja)

{x/West}

{x/y}

{y/M1}

{x/M1}

© F.A. Dul 2007

{x/M1}

{x/Nono}

background image

Dowód rezolucyjny dla kaluzuli Horna

9.5. Eliminacja (rezolucja)

{x/West}

{x/y}

{y/M1}

{x/M1}

© F.A. Dul 2007

Klauzula pusta - dowiedziono sprzeczno

ś

ci klauzuli

¬

Criminal(West)

{x/M1}

{x/Nono}

background image

Programowanie logiczne vs. proceduralne

9.5. Eliminacja (rezolucja)

Programowanie logiczne

– identyfikacja zadania;

– zebranie informacji;

– kodowanie informacji

w j

ę

zyku logiki bazy

wiedzy;

– kodowanie zadania

Programowanie proceduralne

– identyfikacja zadania;

– zebranie informacji;

– opracowanie algorytmu

rozwi

ą

zania;

– programowanie

algorytmu;

© F.A. Dul 2007

– kodowanie zadania

jako zbioru faktów;

– zadawania pyta

ń

;

– eliminacja błednych

faktów;

algorytmu;

– kodowanie zadania jako

zbioru danych;

– uruchomienie programu

dla zbioru danych;

– eliminacja błedów;

Łatwiej jest analizowa

ć

Stolica(NY,US) ni

ż

x = x+2

Programowanie logiczne: j

ę

zyk PROLOG

background image

Wnioskowanie bezpo

ś

rednie w FOL

Przekształcenie algorytmów wnioskowania w taki
sposób, aby mo

ż

na było prowadzi

ć

wnioskowanie

w bazie FOL pozwala u

ż

y

ć

efektywnych metod

wnioskowania w przód i wstecz, a tak

ż

e algorytmu

eliminacji (rezolucji) dla bazy w postaci Horna.

Przekształcenie algorytmów polega na zastosowaniu
operacji podniesienia i unifikacji oraz wykorzystanie

©

F.A. Dul 2007

operacji podniesienia i unifikacji oraz wykorzystanie
uogólnionej reguły odrywania.

Wnioskowanie przy u

ż

yciu algorytmów

dostosowanych do FOL mo

ż

e by

ć

bardzo efektywne.

Wnioskowanie mo

ż

e by

ć

w pełni automatyczne.

Wnioskowanie automatyczne stwarza mo

ż

liwo

ść

automatycznego dowodzenia twierdze

ń

matematycznych.

background image

9.6. Automatyczne dowodzenie twierdze

ń

Programy dowodzenia twierdze

ń

(

Theorem Provers

,

Automated Reasoners

) umo

ż

liwiaj

ą

dowodzenie twierdze

ń

sformułowanych w j

ę

zyku logiki pierwszego rz

ę

du.

Najbardziej znane programy: O

TTER

, PTTP, O

NTIC

, S

AM

,

A

URA

, EQP, S

PIN.

Idea programu O

TTER

Dane definiuj

ą

ce dowodzony problem:

• Zbiór zda

ń

opisuj

ą

cych problem

(set of support, SOS)

.

• Aksjomaty u

ż

ytkowe

, nie b

ę

d

ą

ce elementami SOS,

© F.A. Dul 2007

• Aksjomaty u

ż

ytkowe

, nie b

ę

d

ą

ce elementami SOS,

opisuj

ą

ce wiedz

ę

ogóln

ą

na temat problemu.

• Zbiór równa

ń

demoduluj

ą

cych (

demodulators

)

okre

ś

laj

ą

cych formy kanoniczne do których przekształcane

s

ą

wszystkie zdania (np. x+0=x: x+0

x).

• Zbiór parametrów i klauzul steruj

ą

cych.

Program O

TTER

stosuje rezolucj

ę

do kolejnych zda

ń

zbioru

opisuj

ą

cego SOS wzgl

ę

dem aksjomatów u

ż

ytkowych.

Rezolucja klauzul SOS przebiega w kolejno

ś

ci od najprostszej,

wybieranej heurystycznie za pomoc

ą

algorytmu best-first.

background image

Programy dowodzenia twierdze

ń

pozwoliły uzyska

ć

wiele

wa

ż

nych wyników matematycznych.

• 1969 – program S

AM

udowadnia kilka lematów teorii warstw.

• 1979 – Natarjan Shankar przy u

ż

yciu programu Boyera-

Moora dowodzi po raz pierwszy w sposób

ś

cisły słynne

Twierdzenie Gödla o Niezupełno

ś

ci.

• 1983 – program A

URA

udowadnia twierdzenia z wielu

dziedzin matematyki.

• Program O

TTER

(i jego nowsze wersje: M

ACE

2, EQP) jest

jednym z najlepszych programów dowodzenia twierdze

ń

.

9.6. Automatyczne dowodzenie twierdze

ń

© F.A. Dul 2007

jednym z najlepszych programów dowodzenia twierdze

ń

.

Za pomoc

ą

EQP dowiedziono w roku 1996 słynnej

hipotezy

Robbinsa

(o równowa

ż

no

ś

ci algebry Robbinsa i algebry

boolowskiej), nieudowodnionej od roku 1933, nawet przez

samego

Alfreda Tarskiego*

)

. Dowód uzyskany programem

EQP liczy tylko

17 linijek!

*) Alfred Tarski

(1901-1983) – wybitny polski logik,

wykładowca UW i liceum

ś

eromskiego (do 1939),

oraz uniwersytetów Harvarda, Princeton i Berkeley.

Jako pierwszy sformułował definicj

ę

prawdy.

Uwa

ż

any za najwi

ę

kszego logika po Arystotelesie.

background image

• Za pomoc

ą

programów dowodz

ą

cych udowodniono wiele

twierdze

ń

geometrii algebraicznej, logiki kombinatorycznej,

autodualnych algebr Boolowskich, teorii grup, półgrup
i kwazigrup, teorii krat i kwazikrat, i wielu innych...

• Podejmowane s

ą

nawet próby formalizacji całej matematyki

– projekt QED.

9.6. Automatyczne dowodzenie twierdze

ń

© F.A. Dul 2007

background image

Program dowodz

ą

ce s

ą

te

ż

u

ż

ywane w ró

ż

nych dziedzinach

jako

asystenci

.

Człowiek-ekspert nadzoruje rozwi

ą

zanie problemu wytyczaj

ą

c

kierunki działa

ń

, za

ś

program-asystent rozwi

ą

zuje problemy

szczegółowe.

Innymi zastosowaniami programów dowodz

ą

cych

s

ą

weryfikacja

oraz

synteza

układów elektronicznych

oraz oprogramowania.

• Program A

URA

posłu

ż

ył do weryfikacji 16-bitowego układu

9.6. Automatyczne dowodzenie twierdze

ń

© F.A. Dul 2007

• Program A

URA

posłu

ż

ył do weryfikacji 16-bitowego układu

sumuj

ą

cego (1983).

• Specjalne programy dowodz

ą

ce słu

żą

do weryfikacji

poprawno

ś

ci układów VLSI, np. procesorów CPU.

• Program S

PIN

słu

ż

y do weryfikacji poprawno

ś

ci

oprogramowania.
Za jego pomoc

ą

weryfikowano w NASA oprogramowanie

Remote Agent

steruj

ą

ce lotem sond mi

ę

dzyplanetarnych,

m.in. sondy Deep Space 1 (1999).

background image

Podsumowanie

• Algorytmy wnioskowania w logice pierwszego rz

ę

du

s

ą

wa

ż

nymi narz

ę

dziami sztucznej inteligencji.

• Unifikacja pozwala znacznie zwi

ę

kszy

ć

efektywno

ść

wnioskowania w logice pierwszego rz

ę

du.

• Uogólniona wersja Modus Ponens stanowi efektywn

ą

reguł

ę

wnioskowania w logice pierwszego rz

ę

du.

• Algorytmy wnioskowania w przód i wstecz

s

ą

najwa

ż

niejszymi narz

ę

dziami wnioskowania

© F.A. Dul 2007

s

ą

najwa

ż

niejszymi narz

ę

dziami wnioskowania

automatycznego w logice pierwszego rz

ę

du.

• Uogólnione zasady rezolucji pozwalaj

ą

dowodzi

ć

twierdze

ń

w logice pierwszego rz

ę

du w bazie wiedzy reprezentowanej

w postaci normalnej koniunktywnej.

• Automatyczne dowodzenie twierdze

ń

umo

ż

liwiło

udowodnienie interesuj

ą

cych twierdze

ń

matematycznych.

• Automatyczne dowodzenie twierdze

ń

pomaga tak

ż

e

przy syntezie i weryfikacji oprogramowania.


Wyszukiwarka

Podobne podstrony:
09 Wnioskowanie w logice pierws Nieznany (2)
Człon inercyjny pierwszego rzędu
09 Karty umiejetnosci pierwszak Nieznany
Sciaga Rownanie rozniczkowe liniowe pierwszego rzedu
O WNIOSKOWANIU W LOGICE Ajdukiewicz
04-09 Wybuch gazu, pierwsza pomoc
Wnioskowanie w logice Logika, Logika
09, Wnioski, Wnioski :
Równanie różniczkowe pierwszego rzędu, Fizyka, Matematyka, Równania różniczkowe
Zestaw 4-Równania liniowe pierwszego rzedu
09 Zawał serca, pierwsza pomoc
09., Farmacja, Kwalifikowana pierwsza pomoc
kwalifikowana pierwsza pomoc- 10.10.09, medycyna, kwalifikowana pierwsza pomoc
ITA102 09 DM2008 cz pierwsza id 220840
Zestaw 4 Równania liniowe pierwszego rzedu
05 Rozdział 04 Ogólne równanie uwikłane pierwszego rzędu
własności dynamiczne przetworników pierwszego rzędu 2, Mechatronika AGH IMIR, rok 2, sprawozdania, m
kwalif. pierwsza pomoc - 25.10.09, medycyna, kwalifikowana pierwsza pomoc
Ćw2, Ćw2, Człon inercyjny pierwszego rzędu

więcej podobnych podstron