Znalosti a jejich reprezentace, z´ akladn´ı postupy, v´ yrokov´ a logika Jiˇr´ı Kl´ ema Katedra kybernetiky, ˇ FEL, CVUT v Praze
http://cw.felk.cvut.cz/doku.php/courses/a7b33sui/start
pCel´ aˇ c´ısla – motivaˇ cn´ı pˇr´ıklad 1 :: Srovnejme dvˇe odliˇsn´e reprezentace ˇc´ısel – arabskou a ˇr´ımskou:
D´elka z´apisu − 1000 vs. M, 1997 vs. MCMXCVII, 100000 vs. MMMM...M, − pr˚ umˇern´a d´elka (PD) z´apisu, − doplnˇen´a o odhad redundance (R), protoˇze jeden k´od pracuje s 10 symboly a druh´y pouze se 7 ˇ ımsk´a Soustava Arabsk´a R´ Interval PD[znak˚ u] R[%] PD[znak˚ u] R[%] 1..1000 2.89 0.3 6 11.5 1..3000 3.63 2.6 7 5.5
Sloˇzitost aritmetick´ych operac´ı, pˇr. sˇc´ıt´an´ı a dˇelen´ı − arabsk´a ˇc´ısla jsou poziˇcn´ı (operace pod sebou), existuje symbol pro 0, − u ˇr´ımsk´ych ˇc´ısel je aritmetika obt´ıˇznˇejˇs´ı (probl´emy s notac´ı IV → IIII, nutnost expanze L → XXXXX, apod.).
:: Z´avˇer: reprezentace v´yznamnˇe spoluurˇcuje zp˚ usob, efektivitu a srozumitelnost nakl´ad´an´ı s ˇc´ısly.
http://cw.felk.cvut.cz
pWumpus˚ uv svˇ et – motivaˇ cn´ı pˇr´ıklad 2
:: Hunt the Wumpus byla jednou z prvn´ıch poˇc´ıtaˇcov´ych her. Wumpus je z´ahadnou pˇr´ıˇserou ˇc´ıhaj´ıc´ı v syst´emu jeskyn´ı. Definice prostˇred´ı je:
Hodnocen´ı: zlato +1000, smrt -1000 (wumpus i ˇsachta), -1 za krok, -10 za pouˇzit´ı ˇs´ıpu Prostˇred´ı: jeskynˇe soused´ıc´ı s wumpusem smrd´ı, jeskynˇe vedle ˇsachty jsou vˇetrn´e, jeskynˇe se zlatem se tˇrpyt´ı, Senzory: n´araz (pro krok do vnˇejˇs´ı zdi), z´apach, v´anek a tˇrpyt (pouze lok´alnˇe v dan´e jeskyni), v´ykˇrik (slyˇsiteln´y kdekoli v bludiˇsti), Akce: otoˇc se vlevo, otoˇc se vpravo, jdi vpˇred, uchop (sebere zlato, hr´aˇc mus´ı b´yt v jeskyni se zlatem), poloˇz (zlato), vystˇrel (ˇs´ıp zabije wumpuse pokud hr´aˇc stoj´ı ˇcelem k nˇemu – hr´aˇc m´a jedin´y ˇs´ıp).
c
Russel, Norvig: Artificial Intelligence: A Modern Approach.
:: C´ılem je volit akce tak, aby maximalizovaly bodov´y zisk hr´aˇce. Ten zaˇc´ın´a i konˇc´ı na poli [1,1].
http://cw.felk.cvut.cz
pWumpus˚ uv svˇ et – intencion´ aln´ı a reaktivn´ı agent :: Charakteristika u´lohy:
deterministick´a (v´ystupy jsou pˇresnˇe d´any), statick´a (wumpus ani ˇsachty se nepohybuj´ı), sekvenˇcnˇe-diskr´etn´ı (jednotkou je krok), prostˇred´ı nen´ı plnˇe pozorovateln´e (lok´aln´ı senzory), uvaˇzujme prostˇred´ı 4x4 s jedin´ym wumpusem i pokladem a pst´ı ˇsachty v kaˇzd´em poli 0.2 (startovac´ı pole je vˇzdy pr´azdn´e).
ˇ :: Sance intencion´aln´ıho∗ (IA) a reaktivn´ıho∗∗ agenta (RA):
vˇetˇsina zad´an´ı je neˇreˇsiteln´a (zlato je v ˇsachtˇe, je ˇsachtami obkl´ıˇceno, agent se nem˚ uˇze bezpeˇcnˇe pohnout apod.), IA ve 30% pˇr´ıpad˚ u najde bezpeˇcnˇe zlato a donese je zpˇet na start, ve zbytku pˇr´ıpad˚ u mus´ı riskovat nebo se vr´atit bez zlata, RA bezpeˇcnˇe uspˇeje pouze ve 20% pˇr´ıpad˚ u, provede mnohem v´ıce akc´ı.
:: Z´avˇer: vnitˇrn´ı reprezentace svˇeta a schopnost z´akladn´ı inference jsou nutn´ymi podm´ınkami ˇ sen´ı IA viz. d´ale. u´spˇeˇsn´eho agenta/hr´aˇce. Reˇ ∗
Intencion´ aln´ı agent pracuje s vnitˇrn´ım modelem svˇeta (tj. pamˇet´ı), vyuˇz´ıv´a znalostn´ı b´azi a inferenci.
∗
Reaktivn´ı agent nem´a vnitˇrn´ı reprezentaci ani model svˇeta, ˇr´ıd´ı se pouze aktualn´ım stavem senzor˚ u.
http://cw.felk.cvut.cz
pVe wumpusovˇ e svˇ etˇ e (1) :: Reaktivn´ı agent:
if Tˇrpyt=ano then Akce=uchop,
if N´araz=ano then Akce=rand(otoˇc se vpravo, otoˇc se vlevo),
if Z´apach=ano or V´anek=ano then Akce=[otoˇc se vlevo, otoˇc se vlevo, jdi vpˇred, rand(otoˇc se vpravo, otoˇc se vlevo, jdi vpˇred)].
:: Pr˚ uchod svˇetem:
RA – vyhodnocen´ı 1
IA – inference 1
http://cw.felk.cvut.cz
pVe wumpusovˇ e svˇ etˇ e (2) :: Reaktivn´ı agent:
if Tˇrpyt=ano then Akce=uchop,
if N´araz=ano then Akce=rand(otoˇc se vpravo, otoˇc se vlevo),
if Z´apach=ano or V´anek=ano then Akce=[otoˇc se vlevo, otoˇc se vlevo, jdi vpˇred, rand(otoˇc se vpravo, otoˇc se vlevo, jdi vpˇred)].
:: Pr˚ uchod svˇetem:
RA – krok 1
IA – krok 1
http://cw.felk.cvut.cz
pVe wumpusovˇ e svˇ etˇ e (3) :: Reaktivn´ı agent:
if Tˇrpyt=ano then Akce=uchop,
if N´araz=ano then Akce=rand(otoˇc se vpravo, otoˇc se vlevo),
if Z´apach=ano or V´anek=ano then Akce=[otoˇc se vlevo, otoˇc se vlevo, jdi vpˇred, rand(otoˇc se vpravo, otoˇc se vlevo, jdi vpˇred)].
:: Pr˚ uchod svˇetem:
RA – vyhodnocen´ı 2
IA – inference 2
http://cw.felk.cvut.cz
pVe wumpusovˇ e svˇ etˇ e (4) :: Reaktivn´ı agent:
if Tˇrpyt=ano then Akce=uchop,
if N´araz=ano then Akce=rand(otoˇc se vpravo, otoˇc se vlevo),
if Z´apach=ano or V´anek=ano then Akce=[otoˇc se vlevo, otoˇc se vlevo, jdi vpˇred, rand(otoˇc se vpravo, otoˇc se vlevo, jdi vpˇred)].
:: Pr˚ uchod svˇetem:
RA – krok 2
IA – kroky 2 a 3
http://cw.felk.cvut.cz
pVe wumpusovˇ e svˇ etˇ e (5) :: Reaktivn´ı agent:
if Tˇrpyt=ano then Akce=uchop,
if N´araz=ano then Akce=rand(otoˇc se vpravo, otoˇc se vlevo),
if Z´apach=ano or V´anek=ano then Akce=[otoˇc se vlevo, otoˇc se vlevo, jdi vpˇred, rand(otoˇc se vpravo, otoˇc se vlevo, jdi vpˇred)].
:: Pr˚ uchod svˇetem:
RA – vyhodnocen´ı 3
IA – inference 3
http://cw.felk.cvut.cz
pVe wumpusovˇ e svˇ etˇ e (6) :: Reaktivn´ı agent:
if Tˇrpyt=ano then Akce=uchop,
if N´araz=ano then Akce=rand(otoˇc se vpravo, otoˇc se vlevo),
if Z´apach=ano or V´anek=ano then Akce=[otoˇc se vlevo, otoˇc se vlevo, jdi vpˇred, rand(otoˇc se vpravo, otoˇc se vlevo, jdi vpˇred)].
:: Pr˚ uchod svˇetem:
RA – krok 3
IA – krok 4
http://cw.felk.cvut.cz
pVe wumpusovˇ e svˇ etˇ e (7) :: Reaktivn´ı agent:
if Tˇrpyt=ano then Akce=uchop,
if N´araz=ano then Akce=rand(otoˇc se vpravo, otoˇc se vlevo),
if Z´apach=ano or V´anek=ano then Akce=[otoˇc se vlevo, otoˇc se vlevo, jdi vpˇred, rand(otoˇc se vpravo, otoˇc se vlevo, jdi vpˇred)].
:: Pr˚ uchod svˇetem:
RA – vyhodnocen´ı 4
IA – inference 4
http://cw.felk.cvut.cz
pVe wumpusovˇ e svˇ etˇ e (8) :: Reaktivn´ı agent:
if Tˇrpyt=ano then Akce=uchop,
if N´araz=ano then Akce=rand(otoˇc se vpravo, otoˇc se vlevo),
if Z´apach=ano or V´anek=ano then Akce=[otoˇc se vlevo, otoˇc se vlevo, jdi vpˇred, rand(otoˇc se vpravo, otoˇc se vlevo, jdi vpˇred)].
:: Pr˚ uchod svˇetem:
RA – krok 4
IA – krok 5
http://cw.felk.cvut.cz
pKlade Zuzana vaj´ıˇ cka? – motivaˇ cn´ı pˇr´ıklad 3
:: Pokud v´am ˇreknu, ˇze:
(S1) Ptakopysk a jeˇzura jsou jedin´ı savci kladouc´ı vejce.
(S2) Pouze pt´aci a savci jsou teplokrevn´ı.
(S3) Zuzana, m˚ uj p´asovec, je teplokrevn´a a nem´a peˇr´ı.
(S4) Kaˇzd´y pt´ak m´a peˇr´ı.
:: a zept´am se: (D) Klade Zuzana vejce?
http://cw.felk.cvut.cz
pKlade Zuzana vaj´ıˇ cka? – motivaˇ cn´ı pˇr´ıklad 3
:: Pokud v´am ˇreknu, ˇze:
(S1) Ptakopysk a jeˇzura jsou jedin´ı savci kladouc´ı vejce.
(S2) Pouze pt´aci a savci jsou teplokrevn´ı.
(S3) Zuzana, m˚ uj p´asovec, je teplokrevn´a a nem´a peˇr´ı.
(S4) Kaˇzd´y pt´ak m´a peˇr´ı.
:: a zept´am se: (D) Klade Zuzana vejce? :: Inference v pˇrirozen´em jazyce:
Zuzana nem´a peˇr´ı a proto nen´ı pt´ak.
Zuzana je teplokrevn´a a nen´ı pt´ak, proto mus´ı b´yt savec.
Zuzana je savec a p´asovec, protoˇze nen´ı jeˇzura ani ptakopysk nem˚ uˇze kl´ast vejce.
:: Jak realizovat strojovˇe? Reprezentace pomoc´ı ˇretˇezc˚ u je problematick´a z hlediska odvozov´an´ı nov´ych tvrzen´ı ...
http://cw.felk.cvut.cz
pIBM Watson – motivaˇ cn´ı pˇr´ıklad 4 :: Syst´em pro zodpov´ıd´an´ı ot´azek kladen´ych v pˇrirozen´em jazyce
ve vˇedomostn´ı soutˇeˇzi Jeopardy (Riskuj) v roce 2011 porazil dva historicky nej´uspˇeˇsnˇejˇs´ı lidi,
m´ısto ot´azek slovn´ı r´ebusy, soutˇeˇz´ıc´ı formuluje ot´azku definovanou pˇredloˇzen´ym textem,
integruje techniky zpracov´an´ı pˇrirozen´eho jazyka, vyhled´av´an´ı informac´ı, reprezentace znalost´ı a strojov´eho uˇcen´ı.
:: Zˇrejmˇe obt´ıˇznˇejˇs´ı probl´em neˇz u DeepBlue (ˇsachov´y syst´em, tak´e IBM)
ˇreˇsen´ı ot´azek v pˇrirozen´em jazyce nen´ı ohraniˇcen´y probl´em.
:: Z pohledu reprezentace znalost´ı
heuristick´y pˇr´ıstup odliˇsn´y od “klasick´eho” logick´eho s form´aln´ım dokazov´an´ım,
pokryt´ı a rychlost na u´kor pˇresnosti,
nejde ale o prost´e statistick´e vyhled´av´an´ı informac´ı bez strukturovan´e reprezentace (tomu chyb´ı pˇresnost uˇz pˇr´ıliˇs),
hybridn´ı pˇr´ıstup: nestrukturovan´y text, ale i relace a strukturovan´a a polo-strukturovan´a znalost mj. ze s´emantick´eho webu.
http://cw.felk.cvut.cz
pIBM Watson – motivaˇ cn´ı pˇr´ıklad 4
:: Pˇr´ıklady r´ebus˚ u a v´ysledn´ych ot´azek
r´ebus liter´arn´ı postavy: Pokr´yvka hlavy toho, kdo oslovuje pˇr´ıtele slovem mil´y.
ot´azka: Co nos´ı na hlavˇe Sherlock Holmes?
r´ebus americk´a mˇesta: M´a nejvˇetˇs´ı letiˇstˇe pojmenovan´e po hrdinovi 2. svˇetov´e v´alky, druh´e nejvˇetˇs´ı po bitvˇe 2. svˇetov´e v´alky. ot´azka: Co je Chicago? (O’Harovo a Midway)
:: Dovednosti nutn´e k ˇreˇsen´ı r´ebusu
shopnost rozloˇzit r´ebus na pod´ukoly, (americk´e mˇesto, hrdinov´e, bitvy, letiˇstˇe),
m´ıt vˇsechny informace k dispozici,
sloˇzit d´ılˇc´ı odpovˇedi a sestavit ot´azku.
http://cw.felk.cvut.cz
pZnalosti :: Obecn´y a ˇcasto pouˇz´ıvan´y pojem
epistemologie (teorie pozn´an´ı) versus znalostn´ı inˇzen´yrstv´ı,
r˚ uzn´e u´rovnˇe abstrakce: data, informace, znalosti.
:: Zp˚ usoby ch´ap´an´ı znalosti
pro osobu - odbornost a dovednosti z´ıskan´e uˇcen´ım nebo ze zkuˇsenosti, − Petr v´ı, ˇze Tereza pˇrijde na sch˚ uzku. (vztah mezi osobou a popisn´ym tvrzen´ım) − Petr vˇeˇr´ı, ˇze Tereza pˇrijde na sch˚ uzku. (existuj´ı r˚ uzn´e druhy vztah˚ u ...) − Petr um´ı hr´at na piano. Petr zn´a Terezu. (explicitn´ı popisn´e tvrzen´ı chyb´ı)
pro obor - veˇsker´a zn´am´a fakta a informace,
spolehliv´e porozumˇen´ı vˇeci se schopnost´ı ji vhodnˇe pouˇz´ıvat.
:: Jak´e kognitivn´ı schopnosti jsou obvykle tˇreba k z´ısk´an´ı znalost´ı
vn´ım´an´ı, uˇcen´ı, komunikace, asociace, uvaˇzov´an´ı.
:: D´ale se pod´ıv´ame na souvisej´ıc´ı kl´ıˇcov´e pojmy: reprezentaci (bl´ıˇze) a usuzov´an´ı (m´enˇe).
http://cw.felk.cvut.cz
pReprezentace znalost´ı
:: Co to je? Jakou m˚ uˇze hr´at roli?
n´ahraˇzka, umoˇznˇuje rozhodovat o n´asledc´ıch uvaˇ zov´ an´ım bez prov´ adˇ en´ı skuteˇcn´ych akc´ı − vnitˇrn´ı substituce vnˇejˇs´ıch objekt˚ u, u re´aln´ych objekt˚ u nutnˇe nedokonal´a,
prostˇredek pro efektivn´ı v´ypoˇcetn´ı realizaci uvaˇzov´an´ı a myˇslen´ı
− mechanistick´y pohled – d˚ uraz na efektivitu inference jako v´ypoˇcetn´ıho procesu, odpovˇedˇ na ot´azku jak´ym zp˚ usobem bych mˇel uvaˇzovat o svˇetˇe − volba reprezentace spoluurˇcuje zp˚ usob myˇslen´ı, − nˇekter´e inferenˇcn´ı postupy jsou snadn´e a jin´e naopak,
prostˇredek lidsk´eho vyj´adˇren´ı − jakou formou pˇred´avat informace o svˇetˇe jin´ym lidem (nebo stroj˚ um).
http://cw.felk.cvut.cz
pReprezentace znalost´ı – z´ akladn´ı sch´ ema
Jazyk pro reprezentaci znalost´ı mus´ı m´ıt jasnˇe danou syntaxi a s´ emantiku,
je nutn´e explicitnˇe zn´at v´yznam vˇet jazyka v re´aln´em svˇetˇe.
http://cw.felk.cvut.cz
pJazyk pro reprezentaci znalost´ı – z´ akladn´ı vlastnosti
Pˇrirozenost − vˇety jazyka jsou intuitivnˇe srozumiteln´e, − srovnej pt´ak(zuzana) a ydbk!op pro tvrzen´ı: Zuzana je pt´ak.
Expresivita − poˇzadovanou ˇsk´alu objekt˚ u, jejich vlastnost´ı a vztah˚ u lze reprezentovat, − napˇr. v´yrokov´a logika nen´ı dost expresivn´ı pro tvrzen´ı/probl´em: ∗ Kaˇzd´y ˇclovˇek je smrteln´y. Sokrates je ˇclovˇek. Je Sokrates smrteln´y?
Vhodnost pro usuzov´an´ı − korektnost usuzov´an´ı – odvozen´e vˇety v re´aln´em svˇetˇe vˇzdy plat´ı, − efektivita usuzov´an´ı – odvozen´ı s rozumnou ˇcasovou a pamˇeˇtovou sloˇzitost´ı, −u ´plnost usuzov´an´ı – lze odvodit vˇsechny vˇety, kter´e vypl´yvaj´ı z aktu´aln´ı b´aze znalost´ı, zpravidla v rozporu s poˇzadavky na efektivitu.
:: Pˇrirozen´y jazyk (ˇceˇstina) je pˇrirozen´y, expresivn´ı, ale zcela nevhodn´y pro automatick´e usuzov´an´ı. Mj. je nejednoznaˇcn´y (Prohnal si kul´ı hlavu.) a kontextovˇe z´avisl´y (Je to pˇekn´y p´arek.) :: Neexistuje univerz´aln´ı jazyk, r˚ uzn´e jazyky jsou vhodn´e pro r˚ uzn´e probl´emy. Optim´aln´ı je volba nejjednoduˇsˇs´ı dostateˇcnˇe expresivn´ı reprezentace pro dan´y probl´em.
http://cw.felk.cvut.cz
pZnalosti – reprezentace a pouˇ zit´ı
B´aze znalost´ı − mnoˇzina vˇet v jazyce pro reprezentaci znalost´ı, − data (znalosti) specifick´a pro dan´y probl´em, jak uˇzivatelsk´a, tak i odvozen´a, − pracovn´ı pamˇeˇt – popisuje okamˇzit´y stav ˇreˇsen´eho probl´emu.
Inferenˇcn´ı stroj − realizuje usuzov´an´ı – odvozov´an´ı nov´ych znalost´ı, − probl´emovˇe nez´avisl´y obsah (obecn´a odvozovac´ı pravidla, mechanismus ˇreˇsen´ı konflikt˚ u), − ˇr´ızen´ı b´aze znalost´ı.
http://cw.felk.cvut.cz
pZnalostn´ı inˇ zen´ yrstv´ı
V´yvoj a u´drˇzba znalostn´ıch syst´em˚ u − tj. poˇc´ıtaˇcov´ych syst´em˚ u napodobuj´ıc´ıch lidsk´e ˇreˇsen´ı probl´em˚ u zaloˇzen´ych na znalostn´ı b´azi a inferenˇcn´ım mechanismu.
Identifikace a konceptualizace probl´emu − pˇrehled o pojmech a vztaz´ıch, − v´ysledkem je abstraktn´ı model – napˇr. ve formˇe znalostn´ı ontologie,
Formalizace znalost´ı a implementace syst´emu − volba vhodn´e reprezentace znalost´ı a formalizace konceptu´aln´ıho modelu, − datov´e typy, operaˇcn´ı syst´em, programov´e prostˇred´ı – ˇcasto standardn´ı,
Jak znalosti z´ıskat? − pˇrej´ım´an´ı od expert˚ u × induktivn´ı odvozov´an´ı z dat, − data – ovˇeˇriteln´a element´arn´ı fakta, − znalosti – zobecnˇen´a tvrzen´ı, n´avody jak data interpretovat a vyuˇz´ıvat,
Testov´an´ı a u´drˇzba syst´emu − konzultace v´ysledk˚ u s odborn´ıky – u´pravy a rozˇsiˇrov´an´ı b´aze i zmˇeny modelu, − aktualizace a opravy znalostn´ı b´aze – mj. probl´em konzistence.
http://cw.felk.cvut.cz
pZnalostn´ı inˇ zen´ yrstv´ı vs klasick´ e programov´ an´ı
Jak´a je analogie mezi obˇema typy ˇcinnost´ı? − lze je rozloˇzit na 4 odpov´ıdaj´ıc´ı si kroky
Programov´ an´ı Znalostn´ı inˇ zen´ yrstv´ı Volba jazyka reprezentace Volba programovac´ıho jazyka Tvorba b´aze znalost´ı Psan´ı programu Volba (implementace) inferenˇcn´ıho mechanismu Volba (implementace) pˇrekladaˇce Odvozov´an´ı nov´ych znalost´ı Spuˇstˇen´ı programu
Znalostn´ı inˇzen´yrstv´ı vyuˇz´ıv´a deklarativn´ı (popisn´y, konstatuj´ıc´ı) pˇr´ıstup − je m´enˇe explicitn´ı – pouze objekty a platnost vztah˚ u mezi nimi, − pouˇzit´ı i v datab´azov´ych syst´emech nebo deklarativn´ım programov´an´ı (Prolog – viz d´ale).
http://cw.felk.cvut.cz
pJazyky pro reprezentaci znalost´ı – pˇr´ıstupy
Logick´a sch´emata − deklarativn´ı znalostn´ı b´aze ve formˇe logick´ych tvrzen´ı, − pot´e klasick´a logick´a inference pro konkr´etn´ı fakta reprezentuj´ıc´ı probl´em, − nejˇcastˇejˇs´ım formalismem je predik´atov´a logika 1. ˇr´adu, n´astrojem pak jazyk PROLOG.
Procedur´aln´ı sch´emata − znalostn´ı b´aze ve formˇe instrukc´ı, − typick´ym pˇr´ıkladem jsou pravidlov´e produkˇcn´ı syst´emy – pravidla typu if ... then ...
S´ıˇtov´e modely − znalost je uchov´ana ve formˇe grafu, − objekty ˇci pojmy jsou uzly, vztahy mezi nimi reprezentuj´ı hrany, − pˇr´ıkladem jsou s´emantick´e s´ıtˇe.
Strukturovan´e modely − rozˇs´ıˇren´ı s´ıˇtov´ych model˚ u, uzly grafu mohou b´yt komplexn´ımi strukturami, − pˇr´ıkladem jsou skripty, r´amce a objekty.
http://cw.felk.cvut.cz
pLogika
Form´aln´ı jazyk s jasnˇe definovan´ymi: − syntax´ı – jak se sestav´ı korektn´ı vˇeta, − s´emantikou – co tato vˇeta znamen´a v re´aln´em svˇetˇe, − axiomy a odvozovac´ımi pravidly – n´astroje pro usuzov´an´ı.
:: Nejjednoduˇsˇs´ı je v´ yrokov´ a logika
Syntaxe – elementy jazyka − nepr´azdn´a mnoˇzina symbol˚ u, kaˇzd´y symbol je atomickou v´yrokovou formul´ı, − logick´e spojky ⇒ a ¬, − pro zkr´acen´ı z´apisu ˇcasto doplnˇen´e o ∧, ∨ a ⇔ (napˇr. A ∨ B pro ¬ A ⇒ B), − z´avorky ().
Syntaxe – definice korektn´ıch v´yrokov´ych formul´ı − kaˇzd´a atomick´a v´yrokov´a formule je t´eˇz v´yrokov´a formule, − jsou-li A a B v´yrokov´e formule, pak i (¬ A) a (A ⇒ B) jsou v´yrokov´e formule, − nic jin´eho v´yrokov´e formule nejsou.
http://cw.felk.cvut.cz
pV´ yrokov´ a logika
S´emantika – v´yznam symbol˚ u, spojek a formul´ı − symboly reprezentuj´ı element´arn´ı v´yroky o svˇetˇe, napˇr. P pro “Petr m´a r´ad ˇcokol´adu.”, − kaˇzd´y v´yrok m˚ uˇze b´yt budˇ pravdiv´y (True) nebo nepravdiv´y (False), − pˇriˇrazen´ı pravdivostn´ı hodnoty vˇsem symbol˚ um naz´yv´ame interpretac´ı, − interpretaci nazveme modelem formule, pokud je formule pro danou interpretaci pravdiv´a, − kaˇzd´e spojce odpov´ıd´a pravdivostn´ı tabulka, ta vyjadˇruje pravdivost sloˇzen´e formule na z´akladˇe pravdivosti formul´ı atomick´ych.
Axiomy – z´akladn´ı pravdiv´a tvrzen´ı, nedokazuj´ı se − (A1) A ⇒ (B ⇒ A), − (A2) (A ⇒ (B ⇒ C)) ⇒ ((A ⇒ B) ⇒ (A ⇒ C)), − (A3) (¬ B ⇒ ¬ A) ⇒ (A ⇒ B).
Odvozovac´ı pravidlo – pro vytv´aˇren´ı odvozen´ych formul´ı a dokazov´an´ı pravdivosti − z´akladn´ım je Modus Ponens: A, A ⇒ B |= B, − z´akladn´ımi pro rozˇs´ıˇrenou mnoˇzinu spojek: vylouˇcen´ı tˇret´ıho |= A ∨ ¬A, zaveden´ı konjunkce A, B |= A ∧ B, zaveden´ı disjunkce: A |= A ∨ B, eliminace disjunkce ¬A, A ∨ B |= B, atd.
http://cw.felk.cvut.cz
pLogick´ y d˚ usledek a logick´ e usuzov´ an´ı
Logick´y d˚ usledek − α |= β – vˇeta β je logick´ ym d˚ usledkem vˇety α, − α |= β iff vˇsechny modely vˇety α jsou tak´e modelem vˇety β,
Logick´e usuzov´an´ı (inference) − KB `i α – α je odvoditeln´ a z KB (b´aze znalost´ı je tak´e vˇetou!) pomoc´ı procedury i, − korektnost – i je korektn´ı pokud: KB `i α ⇒ KB |= α, −u ´plnost – i je u´pln´a pokud: KB |= α ⇒ KB `i α,
http://cw.felk.cvut.cz
pV´ yrokov´ a logika – pˇr´ıklad :: Na ostrovˇe poctivc˚ u a padouch˚ u lid´e budˇ mluv´ı vˇzdy pravdu – poctivci – nebo vˇzdy lˇzou – padouˇsi. Potk´ame A a ten prohl´as´ı: “J´a jsem padouch, ale B ne.” Urˇcete povahu A a B. Pouˇzijte v´yrokovou logiku.
http://cw.felk.cvut.cz
pV´ yrokov´ a logika – pˇr´ıklad :: Na ostrovˇe poctivc˚ u a padouch˚ u lid´e budˇ mluv´ı vˇzdy pravdu – poctivci – nebo vˇzdy lˇzou – padouˇsi. Potk´ame A a ten prohl´as´ı: “J´a jsem padouch, ale B ne.” Urˇcete povahu A a B. Pouˇzijte v´yrokovou logiku.
Formalizace u´lohy: − atomick´e v´yroky – a: “A je padouch.” b: “B je padouch.”, − (F1) a ⇒ ¬(a ∧ ¬b), − (F2) ¬a ⇒ a ∧ ¬b,
ˇ sen´ı pravdivostn´ı tabulkou (model checking) Reˇ − hled´ame model(y) splˇnuj´ıc´ı souˇcasnˇe (F1) i (F2). a F F T T
b F T F T
¬a ¬b (a ∧ ¬b) T T F T F F F T T F F F
F1 F F T T
F2 T T F T
http://cw.felk.cvut.cz
pV´ yrokov´ a logika – pˇr´ıklad (pokr.)
Deduktivn´ı d˚ ukaz – pouˇzit´ı libovoln´ych odvozovac´ıch pravidel − (F1) a ⇒ ¬(a ∧ ¬b), − (F2) ¬a ⇒ a ∧ ¬b, − (F3) ¬a ∨ ¬(a ∧ ¬b) (pˇrevod implikace v (F1)), − (F4) ¬ ¬a ∨ (a ∧ ¬b) (pˇrevod implikace v (F2)), − (F5) ¬a ∨ ¬a ∨ b (de Morgan˚ uv z´akon v (F3)), − (F6) (a ∨ a) ∧ (a ∨ ¬b) (z´akon dvoj´ı negace a distribuce v (F4)), − (F7) ¬a ∨ b (idempotence (F5)), − (F8) a ∧ (a ∨ ¬b) (idempotence (F6)), − (F9) a (absorbce (F8)), − (F10) a ∧ b (absorbce negace (F7) ∧ (F9)), − (F11) b (eliminace konjunkce (F10)).
http://cw.felk.cvut.cz
pV´ yrokov´ a logika – pˇr´ıklad (pokr.)
Axiomatick´y d˚ ukaz – pouze axiomy a modus ponens (MP) − (F1) a ⇒ ¬(a ∧ ¬b), − (F2) ¬a ⇒ a ∧ ¬b, − (F3) a ⇒ ¬a ∨ b ⇔ a ⇒ (a ⇒ b) (F1 pouze s implikacemi), − (F4) ¬a ⇒ ¬¬(a ∧ ¬b) ⇔ ¬a ⇒ ¬(a ⇒ b) (F2 pouze s implikacemi), − (A1) A ⇒ (B ⇒ A), − (A2) (A ⇒ (B ⇒ C)) ⇒ ((A ⇒ B) ⇒ (A ⇒ C)), − (A3) (¬ B ⇒ ¬ A) ⇒ (A ⇒ B), − (F5) (a ⇒ (a ⇒ b)) ⇒ ((a ⇒ a) ⇒ (a ⇒ b)) (dosazen´ı do (A2) A/a, B/a, C/b), − (F6) (a ⇒ a) ⇒ (a ⇒ b) (MP (F3), (F5)), − (F7) (a ⇒ b) (MP (F6), (a ⇒ a), platnost druh´ eho bez d˚ ukazu – zkuste doma!), − (F8) (¬a ⇒ ¬(a ⇒ b)) ⇒ ((a ⇒ b) ⇒ b) (dosazen´ı do (A3) A/(a ⇒ b), B/a), − (F9) (a ⇒ b) ⇒ a (MP (F4), (F8)), − (F10) a (MP (F7), (F9)), − (F11) b (MP (F7), (F10)).
http://cw.felk.cvut.cz
pRezoluce
ˇcasto potˇrebujeme u ´pln´ y mechanismus odvozov´an´ı,
deduktivn´ı aplikace pravidel? − volba axiomu, odvozovac´ıho pravidla ˇci tvrzen´ı z´avis´ı na intuici, − d˚ ukaz se obt´ıˇznˇe automatizuje – snaha o u´plnost vede ke kombinatorick´e explozi.
model checking? − korektn´ı a u´pln´e, ale O(2n), kde n je poˇcet symbol˚ u.
rezoluce je korektn´ı a v kombinaci s u´pln´ym prohled´avac´ım algoritmem u´pln´a (´uplnost popˇren´ım – dan´y v´yrok potvrd´ı ˇci popˇre, negeneruje v´yˇcet platn´ych tvrzen´ı!), pˇr´ıˇciny “efektivity”: − u´pln´a norm´aln´ı konjunktivn´ı forma – minimalizuje poˇcet pouˇziteln´ych pravidel ∗ liter´al – atomick´a formule nebo jej´ı negace, klauzule – disjunkce liter´al˚ u, ∗ rezoluˇcn´ı pravidlo: A ∨ ψ, ¬A ∨ φ |= ψ ∨ φ, ∗ z dvojice klauzul´ı odvod´ı jejich rezolventu, A a ¬A jsou doplˇnkov´e liter´aly. − d˚ ukaz sporem – lepˇs´ı ˇr´ızen´ı pr˚ uchodu prohl. prostorem, orientuje se na c´ıle ∗ T |= φ iff T ∪ {¬φ} |= , ∗ spor odpov´ıd´a pr´azdn´e klauzuli, znaˇcen´ı .
http://cw.felk.cvut.cz
pRezoluce – pˇr´ıklad (pokr.)
Rezoluˇcn´ı d˚ ukaz – nejprve pˇrevod do klauz´aln´ı formy − (F1) a ⇒ ¬(a ∧ ¬b), − (F2) ¬a ⇒ a ∧ ¬b, − (K1) ¬a ∨ b (´uprava (F1), viz. deduktivn´ı d˚ ukaz), − (K2,3) a ∧ (a ∨ ¬b) (´uprava (F2), viz. deduktivn´ı d˚ ukaz).
Rezoluˇcn´ı d˚ ukaz – doplnˇen´ı o negaci dokazovan´eho tvrzen´ı − (D1) a ∧ b, − (¬D1) ≡ (K4) ¬a ∨ ¬b.
∗
Strom rezoluˇcn´ıho zam´ıtnut´ı ∗
Nelze rezolvovat K1 a K3. Proˇc?
http://cw.felk.cvut.cz
pRezoluce – strategie prohled´ av´ an´ı, sloˇ zitost
Jak vyb´ırat klauzule, kter´e maj´ı b´yt rezolvov´any? − ˇr´ızeno strategi´ı prohled´av´an´ı, − tvoˇr´ı derivaˇcn´ı graf (DG) – listy jsou klauzule, uzly jsou rezolventy, − strom rezoluˇcn´ıho zam´ıtnut´ı – podgraf DG jehoˇz koˇrenem je .
´ e strategie Upln´ − prohled´av´an´ı do ˇs´ıˇrky ∗ nejprve vˇsechny rezolventy 1. ˇr´adu (1 aplikace rezoluˇcn´ıho pravidla na v´ychoz´ı mnoˇzinu klauzul´ı), pot´e vˇsechny rezolventy 2. ˇr´adu (alespoˇn 1 rodiˇc je 1. ˇr´adu), atd., ∗ pr´azdn´a klauzule nalezena na nejniˇzˇs´ı moˇzn´e hladinˇe, moˇzn´a kombinatorick´a exploze, − podp˚ urn´a mnoˇzina ∗ teorie je bezesporn´a – spor m˚ uˇze vzniknout pouze z negace dokazovan´eho tvrzen´ı, ∗ pouze rezolventy maj´ıc´ı alespoˇn za 1 pˇredka (rodiˇce, prarodiˇce, . . . ) dokazovan´e tvrzen´ı, ∗ poˇcet rezolvent kaˇzd´eho ˇr´adu roste pomaleji. − line´arn´ı ∗ posledn´ı generovan´a rezolventa je nejbliˇzˇs´ım rodiˇcem, ∗ opˇet omezuje poˇcet rezolvent.
http://cw.felk.cvut.cz
pRezoluce – strategie prohled´ av´ an´ı, sloˇ zitost
Ne´upln´e strategie − jednotkov´a – alespoˇn jeden z rodiˇc˚ u je klauzule s jedin´ym liter´alem, − vstupn´ı – alespoˇn jeden z rodiˇc˚ u je klauzule z v´ychoz´ı mnoˇziny, − filtraˇcn´ı – vstupn´ı strategie s pˇr´ıbuznost´ı – lze rezolvovat i klauzuli s jej´ım pˇredkem, − kombinovan´e – napˇr. line´arnˇe-vstupn´ı, u´plnost pouze pro Hornovy klauzule (viz. d´ale).
Omezov´an´ı mnoˇziny rezolvent − odstranˇen´ı tautologi´ı (P ∨¬ P), − odstranˇen´ı specializac´ı (d˚ usledk˚ u) existuj´ıc´ı klauzule (P, P ∨¬ Q), − testov´an´ı pravdivosti liter´al˚ u (zejm´ena v predik´atov´e logice: vˇetˇs´ı(3,4)).
Sloˇzitost rezoluce − aˇckoli patˇr´ı do tˇr´ıdy exponenci´aln´ıch algoritm˚ u, je v ˇradˇe pˇr´ıpad˚ u ”mnohem efektivnˇejˇs´ı” neˇz model checking, − efektivnˇe ˇreˇsit jdou zejm´ena u´lohy s mal´ym a velk´ym pomˇerem mezi klauzulemi a symboly, − alternativou pro v´yrokovou logiku je Davis-Putnam˚ uv algoritmus pro testov´an´ı splnitelnosti logick´e formule v CNF.
http://cw.felk.cvut.cz
pPˇr´ım´ e a zpˇ etn´ e ˇretˇ ezen´ı
Omezen´ı na Hornovy klauzule s nejv´yˇse jedn´ım pozitivn´ım liter´alem − (P ∨ ¬Q ∨ ¬R) ⇔ (Q ∧ R) ⇒ P , nelze zapsat napˇr. (¬P ∨ Q ∨ R) ⇔ P ⇒ (Q ∨ R), − tj. pouze jednoduch´a fakta a implikace s jedin´ym d˚ usledkem.
Odmˇenou je odvozov´an´ı v O(n), kde n je velikost b´aze znalost´ı (poˇcet klauzul´ı) − odvozovat lze pˇr´ım´ym ˇci zpˇetn´ym ˇretˇezen´ım, oba postupy jsou korektn´ı a u´pln´e, − hlavnˇe sloˇzitost zpˇetn´eho ˇretˇezen´ı je ˇcasto subline´arn´ı.
Pˇr´ım´e ˇretˇezen´ı − udrˇzujeme agendu platn´ych (a dosud nepouˇzit´ych) symbol˚ u, − u kaˇzd´e implikace poˇc´ıtadlo nesplnˇen´ych pˇredpoklad˚ u, − vybereme symbol z agendy, sn´ıˇz´ıme poˇc´ıtadla u pˇr´ısluˇsn´ych implikac´ı, − pokud 0, rozˇs´ıˇr´ıme agendu o d˚ usledek implikace, − konˇc´ı vyˇcerp´an´ım agendy nebo odvozen´ım dokazovan´eho tvrzen´ı, − ˇr´ızeno daty – postupuje od platn´ych fakt˚ u ke splnˇen´ı c´ıle nebo vyˇcerp´an´ı moˇzn´ych operac´ı.
Zpˇetn´e ˇretˇezen´ı − najde pˇredpoklady platnosti dokazovan´eho tvrzen´ı a ty se postupnˇe snaˇz´ı ovˇeˇrit, − ˇr´ızeno c´ıli – postupuje od dokazovan´eho tvrzen´ı k jeho pˇredpoklad˚ um.
http://cw.felk.cvut.cz
pPˇr´ım´ e a zpˇ etn´ e ˇretˇ ezen´ı – pˇr´ıklad :: dotaz: Q?
B´aze znalost´ı a AND-OR graf
http://cw.felk.cvut.cz
pV´ yrokov´ a logika ve wumpusovˇ e svˇ etˇ e
Zjednoduˇsen´y pˇr´ıklad − pouze ˇsachty, omezen´y poˇcet pozic, − KB vych´az´ı z pozorov´an´ı svˇeta v pol´ıch [1,1] a [2,1] ∗ ¬B1,1 – bez v´anku v poli [1,1], B2,1 – v´anek v [2,1], ¬P1,1 – v [1,1] nen´ı ˇsachta, − KB obsahuje lok´aln´ı odvozovac´ı pravidla ∗ B1,1 ⇔ (P1,2 ∨ P2,1), B2,1 ⇔ (P1,1 ∨ P2,2 ∨ P3,1), − c´ılem je zjistit v´yskyt ˇsachet v pol´ıch [1,2], [2,2] a [3,1].
Fragment svˇeta - 3 pole - 8 model˚ u
Praktick´a demonstrace usuzov´an´ı − model checking – vˇeta mus´ı m´ıt vˇsechny modely, kter´e jsou modelem KB, − rezoluce – d˚ ukaz sporem.
http://cw.felk.cvut.cz
pModel checking ve wumpusovˇ e svˇ etˇ e
α2 ≡ ¬P2,2, M(KB) * M(α2) ⇒KB 2 α2
α1 ≡ ¬P1,2, M(KB) ⊆ M(α1) ⇒ KB |= α1
http://cw.felk.cvut.cz
pModel checking ve wumpusovˇ e svˇ etˇ e
α2 ≡ ¬P2,2, M(KB) * M(α2) ⇒KB 2 α2
α1 ≡ ¬P1,2, M(KB) ⊆ M(α1) ⇒ KB |= α1
B1,1 B2,1 P1,1 P1,2 P2,1 P2,2 P3,1 F F F F F F F ... ... ... ... ... ... ... F T F F F F T F T F F F T F F T F F F T T ... ... ... ... ... ... ... T T T T T T T
KB F ... T T T ... F
α1 T ... T T T ... F
α2 T ... T F F ... F
http://cw.felk.cvut.cz
pRezoluce ve wumpusovˇ e svˇ etˇ e
Pˇrevod do klauz´aln´ı formy − (F1-5) ¬B1,1, B1,2, ¬P1,1, B1,1 ⇔ (P1,2 ∨ P2,1), B2,1 ⇔ (P1,1 ∨ P2,2 ∨ P3,1), − (K1-3) ¬B1,1, B1,2, ¬P1,1, − (K5-7) ¬B1,1 ∨ P1,2 ∨ P2,1, ¬P1,2 ∨ B1,1, ¬P2,1 ∨ B1,1 (´upravou (F4)), − (K8-11) ¬B2,1 ∨ P1,1 ∨ P2,2 ∨ P3,1, ¬P1,1 ∨ B2,1, ¬P2,2 ∨ B2,1, ¬P3,1 ∨ B2,1 (´upravou (F5)).
Stromy rezoluˇcn´ıho zam´ıtnut´ı pro D1 ≡ ¬P1,2 a D2 ≡ ¬P2,2
http://cw.felk.cvut.cz
pIntencion´ aln´ı agent ve wumpusovˇ e svˇ etˇ e function PL-wumpus-agent(senzory=[z´apach,v´anek,tˇrpyt]) returns akce if z´apach then Vloˇz(KB,Sx,y ) else Vloˇz(KB,¬Sx,y ) % aktualizace KB if v´anek then Vloˇz(KB,Bx,y ) else Vloˇz(KB,¬Bx,y ) % x,y urˇcuj´ı aktu´aln´ı polohu if tˇrpyt then akce ← uchop else if pl´an <> {} then akce ← Vyber(pl´an) % pl´an je z´asobn´ıkem neuskuteˇcnˇen´ych akc´ı else repeat % hledej bezpeˇcn´e sousedn´ı pole Sousedn´ı-pole(x,y,i,j) % nejprve nenavˇst´ıven´a, posl´eze navˇst´ıven´a pole until Zjisti(¬Pi,j ∧ ¬Wi,j ) = True pl´an ← Vytvoˇr-pl´an(x,y,orientace,i,j) % posloupnost akc´ı k dosaˇzen´ı pole i,j akce ← Vyber(pl´an) % provedˇ prvn´ı akci z pl´anu Uprav(orientace, pozice (souˇradnice x,y),navˇst´ıven´a pole, akce) % procedur´alnˇe, mimo KB return akce
http://cw.felk.cvut.cz
pShrnut´ı
Z´akladn´ı v´ychodiska t´eto pˇredn´aˇsky − znalost lze reprezentovat ve formˇe r˚ uzn´ych symbol˚ u ∗ symboly – obecn´e a potenci´alnˇe sloˇzit´e datov´e struktury, ∗ objekty, koncepty, fakta, pravidla, strategie, − inteligentn´ıho chov´an´ı lze dos´ahnout manipulac´ı se symboly, − jde o pˇredpoklady symbolick´e (tradiˇcn´ı) UI ∗ alternativou je konekcionismus – neuronov´e s´ıtˇe.
Inteligentn´ı syst´em pak vyˇzaduje − form´ aln´ı jazyk pro reprezentaci znalost´ı, − schopnost odvozovat nov´e znalosti/z´avˇery.
Neexistuje univerz´aln´ı jazyk ani inferenˇcn´ı postup pouˇziteln´y pro vˇsechny probl´emy.
Logika je velmi obecnou form´aln´ı reprezentac´ı schopnou inference − rezoluce je postupem, kter´y umoˇznˇuje korektn´ı a u´pln´e logick´e usuzov´an´ı.
http://cw.felk.cvut.cz
pShrnut´ı
V´yrokov´a logika je jednoduch´ym jazykem − zaloˇzen´ym na v´yrokov´ych symbolech a logick´ych spojk´ach, − umoˇznˇuje pˇrehledn´e a rozumnˇe efektivn´ı ˇreˇsen´ı ˇrady probl´em˚ u, − pro jin´e probl´emy nen´ı pouˇziteln´a z d˚ uvodu ∗ efektivity z´apisu – viz. prostorov´e vazby ve wumpusovˇe svˇetˇe NxN, ∗ koneˇcnosti mnoˇziny v´yrokov´ych symbol˚ u – nemoˇznost zvl´adnout neohraniˇcen´e probl´emy, ∗ nedostateˇcn´e expresivity – viz. smrteln´y Sokrates.
Pˇr´ıˇstˇe: predik´atov´a logika a dalˇs´ı formy reprezentace.
http://cw.felk.cvut.cz
pDoporuˇ cen´ e doplˇ nky – zdroje pˇredn´ aˇsky ˇ :: Cetba
Russel, Norvig: AI: A Modern Approach, Logical Agents, chapter 7 − reprezentace z pohledu inteligentn´ıho agenta, − dostupn´a v pdf – http://aima.cs.berkeley.edu/newchap07.pdf.
Maˇr´ık a kol. Umˇ el´ a inteligence 1 − kapitola Reprezentace znalost´ı: z´akladn´ı form´aty, logika, s´emantick´e s´ıtˇe, r´amce, ˇ sen´ı u´loh a dokazov´an´ı vˇet: predik´atov´a logika a d˚ − kapitola Reˇ ukazn´ı prostˇredky.
Maˇr´ık a kol. Umˇ el´ a inteligence 2 − kapitola Znalostn´ı inˇzen´yrstv´ı: praktick´a, znalostn´ı syst´emy v konkr´etn´ıch aplikac´ıch.
Brachman, Levesque: Knowledge Representation and Reasoning − kniha, The Morgan Kaufmann Series in Artificial Intelligence.
http://cw.felk.cvut.cz