Kereső eljárások�
Mesterséges intelligencia alapok
2025����Dr. Dudás László diái alapján
Kereső eljárások�
1
Szemléltetett ismeret
Tudás, aktív ismeret
Ismeretfeldolgozási eljárás
1. A probléma beazonosítása kereséssel megoldható problémaként
2. A problémára vonatkozó ismeretek reprezentálása, szemléltetése
3. A kereső eljárás alkalmazása.
1. Kereséssel megoldható problémák jellemzői
Egy operátorkészlettel bejárható állapotok mindegyikén értelmezhető egy kritériumfüggvény. A probléma megoldása megfeleltethető a kritériumfüggvény adott értékének, értékhalmazának, vagy extrémumának. �
2. A problémára vonatkozó ismeretek reprezentálása
Lásd a tudásszemléltetés elvárt jellemzőit, Patrick Winston szerint.
Az ismeretek reprezentálása erősen kihat az ismeretfeldolgozás, jelen esetben a keresés hatékonyságára. Ennek megvilágítására tekintsük a következő példát:
2
Megj.: a reprezentációk gyengülésétől sokkal nagyobb előnyt jelent a kivitelezhető keresések hatékonyságnövekedése.�A reprezentációnak összhangban kell lennie a kereső eljárással.
3
3. A kereső eljárás alkalmazása�A kereső eljárás alkalmazása a feladat megoldására az eljárások jellemzőinek ismeretében történhet. Ilyen közös jellemzők, melyek a megoldandó konkrét probléma függvényei:�
4
A kereső eljárások összetevői�
5
Start
Cél
a
d
g
h
e
b
c
f
6
7
Start
Cél
a
d
g
h
e
b
c
f
a
b
c
d
e
f
Állapotgráf
Keresőgráf
Start
A keresőgráf jellemzői�
8
a
b
c
d
e
f
Keresőgráf
g
h
i
0
1
2
3
Szintszám
9
Miskolc
Polgár
Debrecen
Szolnok
Szeged
Kecskemét
Hatvan
Budapest
Dunaújváros
Pécs
Start
Cél
60
130
70
60
110
65
55
75
150
50
50
60
75
71
10
Általános kereső eljárás
A kereső eljárások lényegi lépéseit tartalmazza az általános eljárás, amelytől a különböző eljárások csak kis részben térnek el.
1. A keresési front legyen egyenlő a Start állapottal.
2. Ha a front üres, akkor nincs megoldás, vége. Egyébként legyen n a front egyik állapota.
3. Ha n kielégíti a Cél-kritériumot, akkor add vissza a hozzá vezető útvonallal együtt, vége.
4. Egyébként a front n állapota helyére vedd fel a kiterjesztésével adódó új állapotokat és jegyezd fel a hozzájuk vezető útvonalakat.�Ismételd a 2. ponttól.
11
Neminformált kereső eljárások (vak keresés)
12
Szélességben először keresés�
13
1
2
3
4
5
6
7
8
9
10
11
Cél
14
Miskolc
Polgár
Debrecen
Szolnok
Szeged
Kecskemét
Hatvan
Budapest
Dunaújváros
Pécs
Start
Cél
60
130
70
60
110
65
55
75
150
50
50
61
75
Budapest
Dunaújváros
Kecskemét
Hatvan
Dunaújváros
Pécs
Kecskemét
Szeged
Szolnok
Kecskemét
Miskolc
Szeged
Szeged
Szolnok
Szeged
Debrecen
71
Elágaztatás és ugrálás
2. Legyen a front első állapota az n választott állapot.
4. A kiterjesztéssel kapott új állapotokat add a frontlistához, majd rendezd az állapotokat növekvő költség szerint.
15
16
Budapest
Dunaújváros
Kecskemét1
Hatvan
Dunaújváros
Pécs
Kecskemét3
Kecskemét2
Miskolc
Miskolc
Polgár
Debrecen
Szolnok
Szeged
Kecskemét
Hatvan
Budapest
Dunaújváros
Pécs
Start
60
130
70
60
110
65
55
75
150
50
50
61
75
71
Cél
61
75
60
60+71=131
60+130=190
61+50=111
61+50=111
Sorsz.
Front
Választás
0.
1.
Budapest
Budapest
Dunaújváros
Kecskemét1
Hatvan
3.
Hatvan
Dunaújváros
Kecskemét1
Kecskemét2
Miskolc
4.
Pécs
Kecskemét3
Kecskemét1
Kecskemét2
Miskolc
0
Dunaújv.
Kecskemét1
Mélységben először keresés�
2. Legyen a front első állapota az n választott állapot.
4. A kiterjesztéssel kapott új állapotokat add a frontlista elejéhez.
17
18
Budapest
Dunaújváros
Kecskemét1
Hatvan
Dunaújváros
Pécs
Kecskemét2
Miskolc
Polgár
Debrecen
Szolnok
Szeged
Kecskemét
Hatvan
Budapest
Dunaújváros
Pécs
Start
60
130
70
60
110
65
55
75
150
50
50
61
75
71
Cél
4
2
3
1
5
Szeged
6
Szolnok
7
A megoldás láthatóan nem optimális útköltségű.
Mélységben először keresés mélységi korláttal�
19
Iteratív mélyítés
20
21
Informált kereső eljárások (heurisztikus keresés)
23
Informált kereső eljárások fajtái
24
Legjobbat először keresés
2. … Legyen a front célhoz legközelebbinek becsült állapota az n választott állapot.
25
26
Miskolc
Polgár
Hatvan
Szolnok
Kecskemét
Miskolc
Polgár
Debrecen
Szolnok
Szeged
Kecskemét
Hatvan
Cél
98
90
110
0
55
Sorsz.
Front
Választás
0.
1.
Miskolc
Miskolc
Hatvan
Polgár
3.
Polgár
Hatvan
Debrecen
4.
Kecskemét
Debrecen
Szolnok
Debrecen
Kecskemét
130
A heurisztikus kiértékelő függvény a légvonalbeli�távolságot számítja.
130
90
110
0
98
55
Start
Debrecen
5.
Szolnok
65
Szeged
Szeged
Hatvan.
65
Az A és A* keresés
2. … Legyen a front állapotai közül kiválasztva az, amelynek legkisebb az �f ‘(n) függvényértéke.
27
28
Miskolc
Polgár
Hatvan
Szolnok
Kecskemét
Miskolc
Polgár
Debrecen
Szolnok
Szeged
Kecskemét
Hatvan
Cél
130+98=228
70+70=140
130+100= 230
240+0
201+55
Sorsz.
Front
Választás
0.
1.
Miskolc
Miskolc
Hatvan
Polgár
3.
Polgár
Hatvan
Debrecen
Hatvan
4.
Kecskemét
Debrecen
Kecskemét
Szolnok
Debrecen
0+130
A heurisztikus kiértékelő függvény a légvonalbeli�távolságot számítja.
130
70
100
0
98
55
Start
Debrecen
5.
Szolnok
130
71
55
70
60
110
Az elágaztatás és ugrálás algoritmus és a legjobbat először módszer egyesítése.
65
75
65
A hegymászó keresés
1. Legyen n a Start állapot.
2. Ha n Cél-állapot, add vissza a hozzávezető úttal együtt. Vége.
3. Egyébként állítsd elő n kiterjesztett állapotait. Legyen n új értéke ezek közül a legjobb.�Ismételd 2.-től.
29
Szimulált hűtés
30
Szimulált hűtés algoritmusa minimalizálás cél esetén
1. Legyen n a kezdő állapot, T0 a kezdő hőmérséklet, k=0 a ciklusváltozó kezdőértéke.
2. Amíg kilépési feltétel nem teljesül:
Legyen r az n egyik szomszédja,
ha f(r) <= f(n) akkor n vegye fel r értékét,
egyébként ha exp((f(n) – f(r))/Tk) > Véletlenszám akkor n vegye fel r értékét.
Inkrementáld a k-t, számítsd Tk új értékét k és Tk-1 függvényében,.
3. Add vissza az n megoldást, vége.
• A hőmérséklet szigorúan csökkenő sorozat.
• Véletlenszám egy 0-1 intervallumbeli egyenletes eloszlású véletlenszám.
• Az f(n) függvényérték globális minimumhoz való konvergálását egyre kisebb
romlási szakaszok jellemzik.
31