Mesterséges intelligencia alapjai
Formális logika
Tudásszemléltetés formális logikával
Logika
Arisztotelészi�(hagyományos)
Szimbolikus�(formális)
Nem klasszikus szimbolikus logika
Propozíciós logika
Predikátum logika
- modális�- temporális�- többértékű�- intuicionista�- valószínűségi.
Fuzzy
A szimbolikus logika kifejlődése
Új irányzatok a logikában
.
Propozíciós logika
.
.
A propozíciós logika szintaxisa
¬ ∧ ∨ → ≡
negáció konjunkció diszjunkció implikáció ekvivalencia
'nem’ 'és’ 'vagy’ 'ha ... akkor ...’ 'akkor és csak akkor’
'következik' 'azonos'
.
.
A propozíciós logika szemantikája
1. Interpretálás
2. Kiértékelés
pl.: A:=(p∧q) → (r ≡ (¬ s))
két lehetséges interpretációja:
I1: (p,q,r,s)←(T,T,F,F)
I2: (p,q,r,s)←(F,T,T,F)
.
süt a nap : p
tanul Péter : q
A:= p→(¬ q)�A lehetséges 4 interpretáció egyike: p= T, q= F, �a kiértékelt formula: T→(¬ F); T → T; T, az A állítás igaz.
.
Kielégíthetetlen és érvényes kifejezések
A ∧ B = B, ha A tautológia.�
A logikai kifejezés tautológia, azaz érvényes kifejezés akkor, ha minden lehetséges helyettesítése igaz.
A∧ B = A, ha A kielégíthetetlen.
A logikai kifejezés kontradikció, azaz kielégíthetetlen kifejezés akkor, ha minden lehetséges helyettesítésre hamis értéket ad. �
Természetesen a formulák többsége egyes interpretációkban hamis, más interpretációkban igaz, azaz kielégíthető.
.
Tételbizonyítás a propozíciós logikában
.
.
.
klóz
klóz
klóz
klóz
klóz
konjunktív normál forma
1. Azonosságok kiküszöbölése: A ≡ B = (A → B) ∧ (B → A)
2. Implikációk kiküszöbölése: A → B = ¬ A ∨ B
3. A negálás hatáskörének redukálása:
¬ (A ∨ B) = ¬ A ∧ ¬ B� ¬ (A ∧ B) = ¬ A ∨ ¬ B
4. Klózok konjunkciójának létrehozása:
A ∨ (B ∧ C) = (A ∨ B) ∧ (A ∨ C).
.
.
Példa:��KNF: (p ∨ ¬q) ∧ (¬ p ∨ r ) ∧ (¬ r ∨ ¬ s ) ∧ q ∧ s �
p ∨ ¬q ¬ p ∨ r ���� ¬q ∨ r ¬ r ∨ ¬ s ��A rezolúció�teljességének�tétele garantálja, ¬q ∨ ¬ s q�hogy egy kielégítetlen�formula klózhalmazából�kiindulva, minden lehetséges �módon képezve a klózpárok ¬ s s�rezolvensét, véges sok lépésben�eljutunk az üres klózhalmazhoz.� NIL
.
Predikátum logika�További elnevezések: elsőrendű predikátumkalkulus, vagy egyszerűen predikátumkalkulus.
.
�Bonyolultabb tételek bizonyíthatók, mint a propozíciós logikában:
�
Pl.:
Premisszák, ismert tények:
(1) Van olyan hallgató, aki minden tárgyat szeret.
(2) A szócséplést egyik hallgató sem szereti.
------------------------------------------------------------------------
Igaz-e a fenti állítások ismeretében a következő állítás?
Bizonyítandó állítás:
(4) Egyik tárgy sem szócséplés.
.
A predikátum logika szintaxisa
egzisztenciális kvantor ("létezik" vagy "van olyan"): ∃ .
(precedencia: ∀ ∃ ¬ ∧ ∨ → ≡ )
.
�
Pl.:
f(a,x),
gyereke(Pál, x), (x=Bori esetén az eredmény Józsi, x=Julcsi esetén az eredmény Béla) színe(haj,időskorban)⇒ősz,
színe(haj,fiatalkorban) ⇒ szőke.
.
házaspár(Pál,Irén) ⇒ True
gyereke(Pál, x) (x=Józsi esetén az eredmény igaz, x=Bori esetén az eredmény hamis)
színe(szőke, haj, időskorban) ⇒ True
.
(¬ A), (A ∧ B), (A∨ B), (A → B), (A ≡ B) kifejezések is formulák.�
(∀ x) A, (∃ x) A
kifejezések is formulák. Pl.: (∀ x) testvére (x,Pál) �
Precedenciasorrend: ∀∃¬ ∧ ∨ → ≡, pl.: (((∃x)A) ∨ (B) helyett: (∃x)A ∨ B�
Példa: Vagy van egy részeg, vagy nem volt már ital.
A:= részeg(x)=R(x), � C= volt ital� (∃x)R(x) ∨ ¬C.
�
.
(∀ x) [P(x,y) ∧ (∃ y) Q(x,y)]
mindkét x kötött [] miatt,
y első előfordulása nem kötött, y második előfordulása kötött.
.
Példa a formulázásra
Feladat:
Állítások: (1) Van olyan hallgató, aki minden tárgyat szeret.
(2) A szócséplést egyik hallgató sem szereti.
------------------------------------------------------------------
(3) Egyik tárgy sem szócséplés�
Formalizálás:
Alkalmazott predikátumok:
H(x): az x egy hallgató
T(y): az y egy tárgy
C(y): az y egy szócséplés
S(x,y): az x szereti y-t.
A formalizált állítások:
F1: (∃ x)[H(x) ∧ (∀ y)(T(y) → S(x,y))]
F2: (∀ x)[H(x) → (∀ y)(C(y) → ¬ S(x,y))]
F3: (∀ x)[T(x) → ¬ C(x)]
.
A predikátumkalkulus szemantikája
Dn ⇒ D leképezést. (Pl.: gyermeke(a,b) ⇒ c, gyermeke(Pál,Irén) ⇒ Jutka).
(Pl.: házaspár(Pál,Irén) ⇒ True ).
.
Predikátum-logikai formulák kielégíthetősége
.
Rezolúció a predikátum logikában
�Bonyolultabb tételek bizonyíthatók, mint a propozíciós logikában, ugyanakkor a bizonyítás lépései is jóval összetettebbek. �A következőkben egy egyszerű példát mutatunk, amely rámutat a predikátum logikán belüli rezolúció egyik erősségére: A bizonyítás folyamán individuumváltozó - individuumkonstans hozzárendeléseket is végez, amely révén arra is választ kapunk, hogy milyen feltételek mellett igaz a tétel. ��Igazi erejét megtapasztalhatjuk a Prolog programozási nyelvben.� Pl.: Feladat: Értik-e a hallgatók a rezolúciót?
Premisszák, ismert tények:
(1) A hallgatók értelmesek.
(2) Az értelmesek mindent értenek, ami egyszerű.
(3) Az értelmeseknek a rezolúció egyszerű.
------------------------------------------------------------------------
Igaz-e a fenti állítások ismeretében a következő állítás?
Bizonyítandó állítás:
(4) A hallgatók értik a rezolúciót.
.
hallgató(x) - az x az egy hallgató
értelmes(x) - az x értelmes
érti(x,y) - az x érti az y-t
egyszerű(y) - az y egyszerű
(1) ¬ hallgató(x) ∨ értelmes(x)
(2) ¬ értelmes(x) ∨ érti(x,y) ∨ ¬egyszerű(y)
(3) ¬ értelmes(x) ∨ egyszerű (Rezolúció)
(4) hallgató(x) ∧ ¬ érti(x,Rezolúció) ⇐ tagadása ⇐ �� ¬ hallgató(x) ∨ érti(x,Rezolúció)
.
.
A PROLOG
Bevezetés a PROLOG programozási nyelvbe
P if Q and R and S.
fej törzs
�A fej egyetlen predikátum, a törzs pedig atomi formulák (többnyire predikátumok, azaz logikai függvények) negációt nem tartalmazó konjunkciója (csak and lehet).
Példa
A PROLOG programok felépítésének és eszköz-rendszerének részletezése előtt tekintsünk egy egyszerű feladatot és PROLOG programját!�� Ismertek az alábbi tények:
Cleopátra szebb Ginánál.
Gina szebb Ursulánál.
Kérdés: Ki sokkal szebb Ursulánál ?
domains hölgy = symbol
predicates szebb(hölgy, hölgy)� sokkal_szebb(hölgy,hölgy)
goal sokkal_szebb(Valaki, ursula)
clauses szebb(cleopátra,gina).
szebb(gina, ursula).
sokkal_szebb(A,C ) if szebb(A,B ) and szebb(B,C ).
A PROLOG működése
A működés két alapvető összetevője az
Példa fagráf
domains hölgy = symbol
predicates szebb(hölgy, hölgy)
sokkal_szebb(hölgy, hölgy)
goal sokkal_szebb(Valaki, ursula)
clauses szebb(cleopátra,gina).
szebb(gina, ursula).
sokkal_szebb(A,C) if szebb(A,B) and szebb(B,C).
sokkal_szebb(Valaki, ursula)
goal
A ⇐ Valaki
C ⇐ ursula
szebb(Valaki,B) and szebb(B,ursula)
Valaki ⇐ cleopatra
B ⇐ gina
szebb(gina,ursula)�* true
A kielégített feltételt elhagyjuk (Igaz értékű mindíg)
Példa fagráf módosítva
domains hölgy = symbol
predicates szebb(hölgy, hölgy)
sokkal_szebb(hölgy, hölgy)
goal sokkal_szebb(Valaki, ursula)
clauses szebb(gina, ursula).
szebb(cleopátra,gina). sokkal_szebb(A,C) if szebb(A,B) and szebb(B,C).
A tényeket felcseréltük
sokkal_szebb(Valaki, ursula)
goal
A ⇐ Valaki
C ⇐ ursula
szebb(Valaki,B) and szebb(B,ursula)
Valaki ⇐ gina
B ⇐ ursula
szebb(ursula,ursula)�false
A kielégített feltételt elhagyjuk
zsákutca
Valaki ⇐ cleopatra
B ⇐ gina
szebb(gina,ursula)�*true
Visszalépés
A Fuzzy logika alapjai
�A Fuzzy logika Lofti Zadeh nevéhez fűződik. (1965)
Fuzzy halmazok
0
1
150
200
μA
x
hórihorgas
fuzzifikálás
Tagsági függvények
Mean�Standard deviation
Center�Width �Slope
Fuzzy logikán alapuló következtető rendszer
Fuzzy műveletek
A ∨ B
A ∧ B
� � If Zárthelyieredmény = Jó ÉS Előadáslátogatás = Ritka then Vizsgajegy = Jeles � If Zárthelyieredmény = Közepes ÉS Előadáslátogatás = Gyakori then Vizsgajegy = Jó
óra
Előadáslátogatás
Ritka
Gyakori
pontszám
Zárthelyieredmény
Jó
Kiváló
Közepes
óra
Előadáslátogatás
Ritka
Gyakori
pontszám
Zárthelyieredmény
Jó
Kiváló
Közepes
Min
Min
Szabálybázis
2. Fuzzy �következtetés
1. Fuzzy-�fikálás
3. Defuzzy-�fikálás
Szabályozott �folyamat
Mért fizikai �értékek
Beállítandó �fizikai �értékek
Fuzzy�nyelvi �értékek
Fuzzy�nyelvi �eredmény�értékek