Table Of ContentVÁRTERÉSZ MAGDA
Mesterséges intelligencia 1
előadások
2006/07-es tanév
Tartalomjegyzék
1. A problémareprezentáció 4
1.1. Az állapottér-reprezentáció . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2. Példák állapottér-reprezentációra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.2.1. A nyolcas kirakó játék . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.3. Az állapottérgráf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2. A megoldást kereső rendszerek 25
2.1. Nemmódosítható megoldáskereső rendszerek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.2. Módosítható megoldáskereső rendszerek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.2.1. Az alap visszalépéses megoldáskeresők . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.2.2. Visszalépéses megoldáskeresés köröket is tartalmazó gráfokban . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.2.3. Ág és korlát algoritmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
2.2.4. Keresőfával keresők . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
2.2.5. Szélességi és mélységi keresők . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
2.2.6. Optimális kereső . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
2.2.7. Best-first algoritmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
2.2.8. Az A algoritmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
3. Kétszemélyes stratégiai játékok és lépésajánló algoritmusok 99
3.1. A játékok reprezentációja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
3.2. A stratégia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
2
Tartalomjegyzék Tartalomjegyzék
3.3. Minimax algoritmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
3.4. Negamax algoritmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
4. Problémamegoldás redukcióval 117
4.1. Problémaredukciós reprezentáció . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
4.2. Példák problémaredukciós reprezentációra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
4.2.1. Hanoi tornyai . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
4.3. A problémaredukciós reprezentációt szemléltető gráf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
4.4. Problémaredukcióval reprezentált feladatok megoldáskereső módszerei . . . . . . . . . . . . . . . . . . . . . . . . . . 138
4.4.1. Visszalépéses megoldáskeresés ÉS/VAGY fák esetén . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
4.4.2. Keresőfával megoldáskeresés ÉS/VAGY fák esetén . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
1. fejezet
A problémareprezentáció
A mesterséges intelligencia problémáinak megoldása a probléma meg-
fogalmazásával kezdődik: a problémát leírjuk, reprezentáljuk.
Az egyik legelterjedtebb reprezentációs technika az
állapottér-reprezentáció
(state space representation).
4
1. A problémareprezentáció 1.1. Az állapottér-reprezentáció
1.1. Az állapottér-reprezentáció
Legyen adott egy probléma, amit jelöljünk p-vel.
• Megkeressük p világának legalább egy, de véges sok – a probléma
megoldása során fontosnak vélt – meghatározóját.
(pl. objektum, pozíció, méret, hőmérséklet, szín, stb)
Tegyük fel, hogy m ilyen jellemzőt találtunk.
• Minden egyes jellemző p világát különböző értékekkel jellemzi.
◦ ◦
(pl. szín: fekete/fehér; hőmérséklet: [−20 , 40 ], stb)
Ha a megadott jellemzők épp rendre a h , . . . , h értékekkel ren-
1 m
delkeznek azt mondjuk, hogy p világa a (h , . . . , h ) érték m-essel
1 m
leírt állapotban (state) van.
A világunk állapotainak halmaza az állapottér (state space).
1.1. Az állapottér-reprezentáció 1. A problémareprezentáció
Jelölje az i-edik jellemző által felvehető értékek halmazát H (i =
i
1, . . . , m). Ekkor p állapotai elemei a
H × · · · × H
1 m
halmaznak.
Azokat a feltételeket, amelyek meghatározzák, hogy ebből a halmaz-
ból mely érték m-esek állapotok, kényszerfeltételeknek nevezzük.
Az állapottér tehát az értékhalmazok Descartes-szorzatának a kény-
szerfeltételekkel kijelölt részhalmaza:
A = { a | a ∈ H × · · · × H és kényszerfeltétel(a) }
1 m
1. A problémareprezentáció 1.1. Az állapottér-reprezentáció
Az A állapottér azon állapotát, amit a probléma világa jellemzőinek
kezdőértékei határoznak meg, kezdőállapotnak (initial state) ne-
vezzük és kezdő-vel jelöljük.
A kezdőállapotból kiindulva a probléma világának sorban előálló ál-
lapotait rendre meg szeretnénk változtatni, míg végül valamely szá-
munkra megfelelő ún. célállapotba (goal state) jutunk.
Jelölje C ⊆ A a célállapotok halmazát. Megadása kétféleképpen
történhet:
• felsorolással: C = { c , . . . , c | c ∈ A, i = 1, . . . , ℓ, ℓ ≥ 1 }
1 l i
• célfeltételek megadásával: C = { c | c ∈ A és célfeltételek(c) }
Általában C ⊂ A, hiszen kezdő ∈/ C, különben nincs megoldandó
feladat.
1.1. Az állapottér-reprezentáció 1. A problémareprezentáció
Hogy célállapotba juthassunk, meg kell tudnunk változtatni bizonyos
állapotokat. Az állapotváltozásokat leíró leképezéseket operátorok-
nak (operator) nevezzük.
Nem minden operátor alkalmazható feltétlenül minden állapotra,
ezért meg szoktuk adni az operátorok értelmezési tartományát az
operátoralkalmazási előfeltételek segítségével.
Jelöljön az operátorok O véges halmazából o egy operátort. Ek-
kor
Dom(o) = { a | a ∈ A és o-alkalmazásának-előfeltétele(a) }
és
Rng(o) = { o(a) | a ∈ Dom(o) és o(a) ∈ A}.
1. A problémareprezentáció 1.1. Az állapottér-reprezentáció
1.1. definíció.
Legyen p egy probléma. Azt mondjuk, hogy a p
problémát állapottér-reprezentáltuk, ha megadtuk az
hA, kezdő, C, Oi
négyest, azaz
• az A 6= ∅ halmazt, a probléma állapotterét,
• a kezdő ∈ A kezdőállapotot,
• a célállapotok C ⊂ A halmazát és
• az operátorok O 6= ∅ véges halmazát.
Jelölése: p = hA, kezdő, C, Oi.
1.1. Az állapottér-reprezentáció 1. A problémareprezentáció
Legyen p egy probléma, hA, kezdő, C, Oi p egy állapottér-reprezentációja
′
és legyenek a, a ∈ A.
1.2. definíció. ′
Az a állapotból az a állapot közvetlenül elér-
hető, ha van olyan o ∈ O operátor, hogy
′
o-alkalmazásának-előfeltétele(a) és o(a) = a .
′
Jelölése: a ⇒ a ,
′ ′
ha fontos, hogy o állítja elő a-ból a -t: a ⇒ a .
o
1.3. definíció. ′
Az a állapotból az a állapot elérhető, ha vagy
′
a = a , vagy van olyan a , . . . , a ∈ A (k ≥ 2) (véges) állapotsoro-
1 k
zat, hogy
′
a = a , a = a és a ⇒ a minden 1 ≤ i ≤ k − 1 esetén.
1 k i i+1
∗
′
Jelölése: a ⇒ a .
Description:Ha az a állapot az aktuális, becsüljük meg h segítségével, hogy a milyen „távol” Bizonyítás. A 2.3. lemma értelmében az A algoritmus a véges sok.