You've already forked ui-cheats
lekcia 2
This commit is contained in:
57
README.md
57
README.md
@@ -49,19 +49,64 @@
|
||||
# Lekcia 2: Riešenie problémov - vyjadrenie problému
|
||||
|
||||
- Vyjadrenie problému v AI (začiatočný stav, množina operátorov, stavový priestor, cieľový test, cena cesty)
|
||||
- Aaa
|
||||
- Začiatočný stav - v ňom sa agent nachádza.
|
||||
- Množina operátorov - opisujú aký stav vznikne vykonaním akcie v danom stave.
|
||||
- Stavový priestor - množina všetkých dosiahnuteľných stavov zo začiatočného stavu ľubovoľnou postupnosťou akcií.
|
||||
- Cieľový test:
|
||||
- Testuje, či sa dosiahol cieľ.
|
||||
- Predstavuje hodnotenie nejakého stavu alebo hodnotenie cesty v stavovom priestore.
|
||||
- Môže byť daný:
|
||||
1. _explicitne_ - ako množina stavov,
|
||||
2. _implicitne_ - vlastnosťou stavu.
|
||||
- Cena cesty:
|
||||
- Súčet cien jednotlivých akcií na ceste.
|
||||
- Pri viacerých riešeniach daného problému, pomocou ceny cesty nájdeme riešenie, ktoré pozostáva z menšieho počtu alebo lacnejších akcií.
|
||||
- **cena riešenia** = **cena cesty k riešeniu** _+_ **cena hľadania**
|
||||
|
||||
- Základné problémy pre algoritmy hľadania riešenia
|
||||
- Aaa
|
||||
|
||||
- Hľadanie riešenia je prístup, pri ktorom nevychádzame z algoritmu riešenia problému. Vychádzame z algoritmu ako riešenie hľadať.
|
||||
- Problém **nie** je algoritmicky riešiteľný pre neefektívnosť alebo preto, že algoritmus nepoznáme.
|
||||
|
||||
- Neinformatívne hľadanie - prehľadávanie do šírky, stratégia rovnomernej ceny
|
||||
- Aaa
|
||||
- Prehľadávanie do šírky:
|
||||
- Rozvinie sa koreňový uzol, potom všetky uzly vzniknuté jeho rozvitím, potom sa rozvijú všetky ich nasledovníci atď...
|
||||
- V strome hľadania sa expandujú všetky uzly v hĺbke `d` skôr ako sa rozvijú uzly v hĺbke `d + 1`.
|
||||
- Patrí medzi systematické stratégie.
|
||||
- Nevynechá ani jeden uzol.
|
||||
- Žiadny uzol sa nevyberie dvakrát.
|
||||
- Ak riešenie existuje, pri hľadaní sa **určite nájde**, t.j. stratégia je **úplná**.
|
||||
- Pri hľadaní sa nájde _najplytkejšie_ riešenie.
|
||||
- Stratégia rovnomernej ceny (_uniform - cost search_):
|
||||
- Na expanziu sa vyberie vždy uzol, ktorý je na najlacnejšej ceste.
|
||||
- Optimálne riešenie sa nájde vždy, ak sa pri postupe nezníži, napr. súčet cien aplikácie operátov a pod.
|
||||
|
||||
- Obojsmerné hľadanie
|
||||
- Aaa
|
||||
- Môže sa použiť iba keď máme problém, ktorého riešením je cesta a cieľový stav je známy.
|
||||
- Musí byť splnená podmienka existencie inverzných operátorov.
|
||||
- Stratégia:
|
||||
1. Od počiatočného stavu bude hľadanie postupovať vpred smerom k cieľovému stavu (priame hľadanie),
|
||||
2. Od cieľového stavu bude hľadanie postupovať vzad (inverzné operátory) smerom k počiatočnému stavu (spätné hľadanie),
|
||||
3. Ak oba procesy vygenerujú ten istý stav, nájde sa cesta spájajúca počiatočný stav s cieľovým.
|
||||
- Problémy:
|
||||
1. _Ak sa dajú definovať inverzné operátory, **nie** je ich výpočet zložitejší?_
|
||||
2. _Ako postupovať aj je viacej cieľových stavov?_
|
||||
2. Ak sú ciele dané implicitne, je ťažko nájsť predchodcov.
|
||||
|
||||
- Prehľadávanie do hĺbky a jeho modifikácie
|
||||
- Aaa
|
||||
- V strome hľadania sa najprv expanduje uzol, ktorého hĺbka je **najväčšia**. Keď sa narazí na uzol bez nasledovníkov, dôjde k navracaniu (_back tracking_), teda hľadanie sa vráti k expanzii uzlov na plytších úrovniach.
|
||||
- Často rýchlejší ako prehľadávanie do šírky.
|
||||
- Nezaručuje nájdenie riešenia (hlavne pri problémoch) - je **neúplná**.
|
||||
- Hľadanie sa nemusí orientovať smerom k optimálnemu riešeniu.
|
||||
- Modifikácie:
|
||||
- Ohraničené prehľadávanie do hĺbky:
|
||||
- Zamedzí, aby riešenie uviazlo hlboko v strome.
|
||||
- Stanoví sa hraničná hĺbka, do ktorej sa bude hľadať.
|
||||
- Cyklicky sa prehlbujúce hľadanie:
|
||||
- Postupne vyskúša všetky možné hraničné hĺbky - od najmenšej po najväčšiu.
|
||||
- Hľadanie do hĺbky s návratom:
|
||||
- Pri výbere uzla na skúmanie sa generuje iba jeden jeho nasledovník, ktorá ak nie je listový uzol sa ďalej skúma, inak sa vráti k najbližšiemu nerozvitému uzlu.
|
||||
- Šetrí pamäť a nevygeneruje uzly napravo od cesty.
|
||||
- Nemožno použiť žiadnu doplňujúcu informáciu na výber najlepšieho nasledovníka, lebo sa vždy vygeneruje iba jeden.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user