Úvod do umělé inteligence (WIP)
[Edit]- Agenti
- Prostředí
- Reflexivní agent
- Reprezentace stavů
- Problem solving agent
- Formulace problému
- Vyhledávací strom
- Informované (heuristické) vyhledávací algoritmy
- CSP - constrain satisfaction programming
- VLP (SAT)
- Plánování
Agenti
- AI je o konstrukci racionálních agentů
- Agent má:
- Sesonry - skrze ně pozoruje prostředí (oko, ucho)
- Actuatory - reaguje na prostředí (hlasivky, ruce)
- měl by vybrat akci, která maximalizuje (spíš se očekává, že maximalizuje) jeho výkon:
- - racionalita
- - expected utility
- - percept
- - possible actions
Prostředí
- plně/částečně pozorovatelné - senzory poskytují úplnou/částečnou informaci o prostředí
- deterministické/stochastické - další stav plně závisí na aktuálním stavu a akci agenta
- strategické - pouze (ostatní) agenti mohou upravovat prostředí
- epizodické/sekvenční - rozdělení na atomické epizody
- statické/dynamické - prostředí se mění, když se agent rozhoduje
- semidynamické - prostředí se nemění, ale perfomance score ano
- diskrétní/spojité
- jednoagetní/víceagentní
Reflexivní agent
- Jednoduchý reflexivní agent
- Pozorování akce
- nějaká tabulka nebo funkce
- Model based reflex agent
- (vnitřní stav, provedené akce, Pozorování) Stav
- Stav Akce
- Goal-based agent
- (Předchozí stav, předchozí akce, pozorování) Akce
- (Stav, cíl) Akce
- Agenti mají nějaký cíl, kterého se snaží dosáhnout
Reprezentace stavů
- Atomická - stav je blackbox (používá se ve vyhledávání)
- Factored - stav je vektor hodnot
- využití ve výrokové logice, plánování
- Strukturovaná - stav je množina objektů (mají atributy, relace mezi sebou)
- Využití v logice prvního řádu
Problem solving agent
- typ goal-based agenta
- používá atomickou reprezentaci stavů
- cíl je reprezentován množinou cílových stavů
- akce popisují přechody mezi stavy
- chceme najít Sekvenci akcí, která vede do cíle
- realizováno pomocí vyhledávání
- open-loop system
- očekáváme, že prostředí je
- plně pozorovatelné
- statické
- diskrétní
- deterministické
Formulace problému
- Abstrakce - odstranění detailů z reprezentace
- co z reálného světa je důležité - stavy
- jaké akce dávají smysl
- různé úrovně abstrakce
- abstrakce musí být validní - nalezené abstraktní řešení musí být rozšiřitelné do detailnějšího světa
- abstrakce musí být užitečná
- Správně definovaný problém má
- počáteční stav
- model přechodů
- goal test
Vyhledávací strom
- vyhledávací algoritmus
- prochází různé sekvence akcí
- strom:
- počáteční stav je v kořeni
- větve definujeme akcemi
- uzly jsou stavy
Vyhledávací algoritmus - Tree search
- Vložíme kořen do frontieru
- Vybereme uzel podle z frontieru pomocí vyhledávací strategie
- Expandujeme uzel
- Opakujeme, dokud nenarazíme na cíl
Graph search
- Každý expandovaný uzel si pamatujeme (“explored set”)
- pokud dojdeme ke stavu, co už nastal, tak ho dál neexpandujeme
Uniformed search
- BFS - vlastnosti
- úplný (pro konečně větvící grafy)
- optimální (najde nejkratší cestu)
- složitost: je hloubka cíle, je faktor větvení - čas i paměť
- DFS - vlastnosti
- úplný (pro graph search, ne pro tree search)
- sub-optimální - (najde cestu, ale nemusí být optimální)
- složitost: je max hloubka
- paměť:
- čas:
- Backtracking
- podobné jako DFS, ale nepamatujeme si nic kromě aktuální větve
- paměť:
Informované (heuristické) vyhledávací algoritmy
- best-first search
- evakuační funkce
- vybereme uzel s min.
- heuristická funkce bývá součástí
- Greedy Best-first search
- , expanduje vrchol nejblíž k cíli
- není optimální
- není úplný při tree search
- A
- - vzdálenost od startu (uražená vzdálenost)
- optimální a úplný
Heuristika
- přípustná - cena nejkratší cesty z od cíle
- monotónní - nechť je následník přes akci a nechť je cena přechodu
- monotonie:
- monotónnost přípustnost
CSP - constrain satisfaction programming
příklad:
Šachovnice , chceme rozmístit královen, tak aby se neohrožovaly.
- Stavy = pozice královen
- Počáteční stav = prázdná šachovnice
- Cílový stav = zatím neznámý, ale chceme královen bez konfliktů
- Akce = položení královny na šachovnici
- lepši model: Každá královna má svůj řádek
- alternativní model: královny už jsou položené a my s nimi pohybujeme
Forward checking
- metoda v CSP, kde kontrolujeme splnění podmínek předem
- příklad: umístíme dámu a vyškrtáme všechna ohrožená políčka/ Pak nemůžeme porušit podmínky, protože ohrožená políčka se nedají obsadit.
SCP problem
- Proměnné (variables) - konečná množina
- Obory hodnot (domains) - možné hodnoty
- Podmínky (constrains) - konečná množina - relace nad podmnožinou proměných
- metody řešení
- Backtracking search
- přiřadíme hodnoty nějaké proměnné
- ověříme podmínky na už zvolených proměnných
- pokud jsou podmínky splněny, přiřadíme další proměnné ke kontrole
- pokud nejde přiřadit další hodnotu, vrátíme se k předchozí proměnné a dáme jí jinou hodnotu
- opakujeme dokud nejsou zvolené všechny proměnné
- Arc consistency
- zaručuje konzistenci podmnožin proměnných nebo podmínek
- dají se použít na zjednodušení problému (bude se řešit jednodušeji)
- K-consistency
- pro proměnných vyjadřujeme konzistentní hodnotu v jedné nebo více daných proměnných
- Arc consistency (AC) = 2-consistency
- Path consistency (PC) = 3-consistency
- Backtracking search
Věta
Pokud je problém -konsistentní , kdy je proměnných, potom ho můžeme řešit bez backtrackingu.
- Global constraints - zapouzdřují sub-problémy se specifickou strukturou, která může být využita v ad-hoc filtrovací procedůře
- příklad:
- Variable ordering
- v jakém pořadí přirovnat hodnoty a jakých proměnných.
- Fall-first principle - nejdřív přiřazovat do proménné, kde asi dojde k neúspěchu
- DOM heuristic - nejdřív proměnná s nejmenším oborem hodnot
- DEG heuristic - nejdřív proměnná, která se nachází v co nejvíce podmínkách
- Value ordering - v jakém pořadí procházíme větve stromu
- Succeed-first principle - hodnota patřící do řešení se vyzkouší jako nejdřív
- jak poznat, co bude řešení ?
- například: hodnota, která nejméně omezuje další proměnné
- problem dependent heuristics
- jak poznat, co bude řešení ?
VLP (SAT)
- CNF - konjunktivní normálová forma
- Satisfaction by enumeration
- DPLL (Davis, Putnam, Logemann, Loveland)
- Algoritmus co ověří splnitelnosti CNF formule
- úplný a korektní
- DPLL (Davis, Putnam, Logemann, Loveland)
- SAT solvery
- Component analysis - jestli jdou klauzule rozdělit na podmnožiny, které nesdílí proměnnou, dají se potom řešit nezávisle
- DEGREE heuristic - použít nejčastější proměnnou
- ACTIVITY heuristic - použít proměnou, která je nejvíce v konfliktu
- Random restarts - pokud nedojde k progresu restart s jinými náhodnými možnostmi
- Clever indexing
- Clause learning - analýza konfliktu a jeho zakódování do nové klauzule
Knowledge-base agent
- používá knowledge-base ()
- (množina) vět, vyjádřených v daném jazyce
- update pomocí operace
TELL
- Dotazy (queries) pomocí operace
ASK
Definice
Model je model sentence , pokud je true
v
- ohodnocení proměnných
- Entailment:
- je logický důsledek
- způsobuje, že
- Splnitelnost formule - je
true
v nějakém modelu - Nesplnitelná formule - není
true
v žádném modelu- je nesplnitelná
Řešení formulí
- Rezoluce - používá rezoluční pravidlo - ze dvou klauzulí obsahující a vytvoříme novou klauzuli
- algoritmus končí, když:
- nemůže být vytvořena nová klauzule (pak )
- byla vytvořena prázdná klauzule (pak )
- úplný a korektní algoritmus
- algoritmus končí, když:
- Hornova klauzule - disjunkce literálů kde je max jeden kladný
- metody řešení s Hornovými klauzulemi
- Forward chaining - data driven method
- ze známých faktů odstraníme všechny možností pomocí Horn klauzulí, až nejsou nová fakta nebo dotaz dokážeme
- Backward chaining - goal driven method
- dotaz je rozdělen na podmnožiny, až nejsou získána fakta z
- Forward chaining - data driven method
- metody řešení s Hornovými klauzulemi
- Observation model - spojuje pozorování s informacemi
- Transition model - popisuje evoluci světa po aplikování akcí
- například pomocí:
- EFFECT AXIOMS
- PRECONDITIONS AXIOMS - kdy je akce aplikovatelná
- ACTION EXCLUSION AXIOMS - pro eliminaci paralelních akcí
- například pomocí:
Plánování
- Find plans by search - potřebuje atomickou reprezentaci stavů a tudíž domain-specific heuristiky
- Planning by propositional inference
- používá domain-specific heuristiky založené na logickém struktuře problému
- špatné při hodně stavech a akcích
Situation calculus
- používá speciální termíny na popis situací
- - jméno počátečního stavu
- - jméno situace pro aplikaci akce na situaci
- stavy se popisují pomocí relací mezi objekty
- příklad:
- předpoklady akcí (preconditions) se popisují pomocí possibility axiomu
- příklad:
- vlastnosti dalšího stavu pomocí Successor state axiomů
- plánování - dotaz, jestli existuje situace, kde je cílová podmínka
true
Klasické plánování
- Používá Factored reprezentation of states - stav je reprezentován vektorem
- používá Action schemata (operátory) na popis schopností agentů
- plánování realizováno prohledáváním ve stavovém prostoru s domain-independent heuristikou
- stav - množina instanciovaných atomů
- closed world assumption - nezahrnutý atom se na daném stavu neřeší
- cíl (goal) g - množina instanciovaných literálů
- action schema (operator) - popisuje akci bez specifikování objektů, na které se akce vztahuje
- operator - je trojice
- - jméno operátoru
- - literály, které musí být ve stavu aby byl operátor aplikovatelný
- - literály, které budou
true
po aplikování operator
- Akce je plně instancovaný operator
- Notace
- - množina literálů
- - pozitivní atomy v
- - atomy jejichž negace je v
- akce je aplikovatelná na stavu
- výsledek (result) aplikace akce na stav je
- akce je relativní pro cíl
- efekty akce nejsou v konfliktu s
- regression set - pro cíl pro relevantní akci , platí
- domain model - popis operátorů
- Planning problem je trojice
- - je domain model
- - počáteční stav
- - cílová podmínka
- Plán je sekvence akcí
- Solution plan - takový plán , že splňuje cíl