Teorie důkazů, součást formální logiky, se může jevit jako něco abstraktního (a určitě vyžaduje jistou dávku matematického myšlení, spousta studentů na ní u zkoušky pohoří). Proto je vždy přínosné vidět aplikaci něčeho takového v praxi (a hlavně pochopit, jak a proč to funguje). Jistě se shodneme, že umělá inteligence je obor praktický, a i její podobor – automatické plánování – je na hony vzdálen šedivé teorii.
Teorie důkazů se ve velmi elementární formě (základy deduktivního dokazování) probírá v rámci studia IT. Ještě teoretičtější jsou abduktivní důkazy, o jejichž použití v praxi bude řeč níže. Máme-li teorii T a “hypotézu” (množinu literálů) H, abduktivním důkazem se rozumí množina literálů E taková, že platí
T ∪ E ⊨ H a T ∪ E ⊭ ⊥
tj. z T a E plyne H a T a E je bezesporná. Názornější bude příklad. Pokud T je
mosquito(x) & bite(x,y) & infected(x) → infected(y)
tj. kousnutí komárem přenáší malárii, a H = { infected(John) }, bude (abduktivním) důkazem E
mosquito(m) & bite(m,John) & infected(m)
pro nějaké (do univerza nově zavedené) m. Obecně existuje pro nějakou hypotézu takových důkazů větší množství a většinou se zavádí nějaké jejich hodnocení, přičemž hledáme “nejlepší” důkaz (kde “nejlepší” závisí na konkrétní úloze, může jít o nejkratší důkaz, nejredundantnější apod.).
Automatické plánování je nalezení plánu (sekvence akcí) k dosažení cíle z nějakého počátečního stavu. Často se jako příklad uvádí problém “opice a banánů”. V místnosti je opice a židle a ze stropu visí banány. Úkolem je najít sekvenci akcí pro opici, aby se dostala k banánům. Typicky to bude něco jako “1. jdi z A na B, 2. přesuň židli z B na C, 3. vylez na židli, 4. sněz banány”, pokud počáteční stav byl “opice na A, židle na B, banány na C”. Možné akce jsou přechod opice z X na Y, posunutí židle z X na Y (tím změní pozici opice i židle), vylezení na židli a konzumace banánů. Nalezení optimálního plánu je NP-těžká úloha a tedy obtížně řešitelná i pro malé instance problémů. Navíc není na první pohled zřejmé, jak takový plán nalézt.
Naštěstí se dá celý problém převést na hledání abduktivního důkazu. Plány jsou ve své podstatě lineární vzhledem k času. Každá možná akce se zakóduje jako přechod z jednoho okamžiku do následujícího, například
agentAt(x,t) & action(move,x,y,t) → agentAt(y,t+1)
tedy je-li agent v čase t na pozici x, akce action(move,x,y,t) jej dostane na pozici y v čase t+1. Dále bude teorie obsahovat integritní omezení, například že nelze být na dvou místech zároveň apod. (podle charakteru řešeného problému). Hypotézou bude cílový stav a počáteční stav bude součástí teorie (tím si vynutíme, že budou nalezeny pouze důkazy zahrnující počáteční stav). Nyní zbývá najít všechny abduktivní důkazy s co nejnižším koncovým t (chceme nejkratší možný plán). Z důkazu vybereme pozitivní literály action a máme výsledek.
Převedli jsme do logiky NP-těžkou úlohu, takže i hledání abduktivních důkazů bude NP-těžké. Naštěstí pro to existují superrychlé algoritmy. V případě automatického plánování není uvedená metoda rychlejší než SATPLAN nebo GRAPHPLAN (ale ani pomalejší), je ovšem o dost jednodušší na pochopení. Pro některé jiné úlohy (např. parsing podle unifikačních gramatik, jenž je také NP-těžký) je ovšem převedení na abdukci nejrychlejším známým algoritmem.
Na FI se logika učí pěkně - třeba: http://is.muni.cz/predmet/fi/jaro2015/IB101 a http://www.fi.muni.cz/usr/kucera/teaching/logic/logika.pdf
V Drážďanech bez zkoušky z logiky (která je kromě toho obsažena i v matematice a jiných předmětech v hojném množství) bakaláře nedostanete. Dříve to bylo hned v prvním semestru a tak to mnohým lidem, tak asi 4/5 pomohlo se rozhodnout pro jiný obor.
Cokoliv, co se dobře vysvětlí, tak je stravitelné. Jen se musí začít na pevném základu a ne někde ve vzduchu. Jelikož od maturity je ve většině případů člověk zvyklý tak akorát na počítání, není pro kantory snadné nějaký rozumný základ najít.
@zboj Ach to som to dostal, "neskutecne stupidni" :-)
http://www.glstn.sk/historia.htm
1773-1850 "Učebné predmety gymnázia sa delili na potrebné a užitočné. Potrebné boli: náboženstvo, písanie, logika, štylistické cvičenia v latinčine i v rodnej reči a prírodopis. "
Vtedy boli potrebne predmety logika a latincina, dnes sa neucia. Ustupili takym predmetom ako je matematika a fyzika. A ustupili spolocne, preto som ich porovnaval.
@zboj A som odhaleny, chodil som do zvlastnej skoly.
Ale aj ked sa bavime o matematickej logike tak mi stale pripada 80% studentov vyhodenych v prvom rocniku vela. Skola (a aj vzdelanie) by tu mala byt pre ludi a nie naopak. Mimochodom ludia co studovali filozofiu a klasicku logiku (knazi napr.) sa na matematicku logiku pozeraju ako keby sa ucila na tej zvlastnej skole.
@1 Dost do hloubky a pekne (trochu reklama :-)) se logika uci na katedre logiky na FF UK (http://logika.ff.cuni.cz)
Autor se zabývá vývojem kompilátorů a knihoven pro objektově-orientované programovací jazyky.
Přečteno 36 200×
Přečteno 25 361×
Přečteno 23 793×
Přečteno 20 177×
Přečteno 17 872×