1
0
This commit is contained in:
2025-04-22 21:02:34 +02:00
parent dad7aa19b8
commit 2867ce5904

View File

@@ -113,19 +113,64 @@
# Lekcia 3: Heuristické prehľadávanie, Genetické algoritmy, Hry ako problém hľadania
- Lačné hľadanie
- Aaa
- Najlepší uzol je uzol s minimálnou odhadnutou cenou dosiahnutia cieľa.
- Podobá sa hľadaniu do hĺbky.
- Je **neúplné** a **neoptimalizované** riešenie.
- Algoritmus A*
- Aaa
- Stratégia rovnomernej ceny je **úplná** a **optimalizuje cestu**, keďže minimalizuje cenu cesty `g(u)` zo začiatočného uzla do uzla `u`.
- Je _neefektívna_, keďže nevyužíva heuristickú informáciu o vzdialenosti k cieľu.
- Najviac výhod zachováme, keď tieto stratégie skombinujeme do novej s heuristickou funkciou `f(u) = g(u) + h(u)`.
- `f(u)` - odhad ceny najlacnejšej cesty vedúcej cez uzol `u`.
- Je hľadanie najskôr najlepší s heuristickou funkciou `f(u)` a prípustnou heuristikou `h(u)`.
- Nedostatkom je _exponenciálna_ časová a pamäťová zložitosť.
- Heuristiky zmenšujúce priestor stavov
- Aaa
- Heuristické informácie môžeme použiť aj na orezanie stavového priestoru a ten prehľadať jednoduchším (_slepým_) algoritmom.
- Stavový priestor je možné zmenšiť tak, že heuristické informácie zahrnieme do podmienok aplikovateľnosti akcií (pravidiel).
- Nasleduje stavový priestor (červené spojnice) orezaný pomocou heuristík z predchádzajúceho obrázku.
- Napokon je uvedený strom hľadania generovaný z orezaného stavového priestoru prehľadávaním do šírky.
- Genetické algoritmy
- Aaa
- Vychádzajú z myšlienok Darwinovej teórie evolúcie.
- Evolúcia k optimálnym riešeniam prebieha v mnohých generáciách celých populácií riešení pomocou prirodzeného výberu.
- Neúspešné riešenia vymierajú, úspešné prežívajú a množia sa.
- Hybnou silou evolúcie je _kríženie_ (výmena "genetickej" informácie medzi riešeniami) a mutácia.
- Každý stav označujeme ako **chromozóm** - binárny reťazec `x` dĺžky `N`.
- Pracujeme s populáciou `P` obsahujúcou `M` chromozómov.
- Každému chromozómu x sa priradí hodnota funkcie úspešnosti fitnes `f(x)`.
- Hľadáme globálne maximum fitnes.
- Medzi chromozómami prebieha proces reprodukcie (nová populácia obsahujúca rovnaký počet chromozómov ako pôvodná populácia).
- Časti reprodukcie:
1. Výber - do procesu reprodukcie vstupujú dvojice chromozómov.
2. Kríženie - vybrané chromozómy si vymenia rovnako dlhé podúseky svojich binárnych reťazcov.
3. Mutovanie - chromozómy sa podrobia mutácii (preklopia sa náhodne vybrané bity z ich reťazcov).
- Prehľadávajú mnoho častí stavového priestoru daného problému.
- Dajú sa použiť pre riešenie ťažko riešiteľných problémov.
- Vždy poskytnú nejaké riešenie.
- Nevýhody:
- Nedajú vždy optimálne riešenie.
- Potreba nastavenia množstva parametrov.
- Herné problémy, algoritmus Min-Max
- Aaa
- Herné problémy:
- Jedná o hry s dvoma hráčmi (agent rieši úlohu z pohľadu jedného hráča), prítomnosť protihráča vnáša do problému.
- Hľadanie má neurčitosť spôsobenú nedostatkom času.
- Potrebuje zahrnúť čo najviac heuristických znalostí ako do generátora tak aj do testera.
- Poskytujú dobre definovaný problém.
- Jednoduché rozpoznanie úspechu resp. neúspechu.
- Problém sa dá opísať pomerne jednoduchými pravidlami.
- Algoritmus Min-Max:
- Určuje najlepšiu stratégiu pre hráča _MAX_.
- Vychádza z predpokladu, že súper vždy zahrá najhorší možný ťah pre _MAX_.
- Postup:
1. Preskúma všetky stavy, vygeneruje celý strom hľadania až po koncové stavy.
2. Rozhodne sa, ktoré postavenie je najlepšie.
3. Vykoná sa ťah vedúci do najlepšieho postavenia.
- Problémy:
- Pri masívnych herných stromoch sa musí navšíviť veľa uzlov.
- Predpokladá, že je dosť času prezrieť strom hľadania až k cieľovým uzlom (pre väčšinu hier nereálne).
- Prezeranie je potrebné useknúť skôr než v cieľovom stave a listy následne vyhodnotiť nie pomocou bodovacej ale heuristickej vyhodnocovacej funkcie.
---