Reprezentacia znalosti a inferencia

Kedy a kde je prednaska a cvika

Prednasajuci a cviciaci: Jan Sefranek
Knihy: Inteligencia ako vypocet a literatura uvedena v nej ;) (Neskor dopisem co uznam za vhodne)
Este ku knihe. Informacie navyse a kapitoly, ktore neboli zaradene najdete na kri
KRI je stranka pana J.Sefranka pre podporu tohto kurzu. Treba sa teda aj kde tu pozriet, ci nie je updatnuta o nove linky a zaujimavosti.
Podmienky skusky: Skuska je z knihy z kapitol: (no, neskor to napisem, nemam to tu..)

Co je na prednaske:

Prednaska prebieha vlastne podla knihy "Inteligencia ako vypocet", co su vlastne prednasky tohto predmetu spisane do jednotnej podoby. Na prednaske je celkom dobra interakcia medzi ucitelom a studentami. Neviem co by som viac tu o prednaske hovoril, naozaj si staci zobrat knihu alebo prist na prednasku. Tuto stranku som chcel zamerat viac na cvicenia z tohoto predmentu.

Ako je to na cvikach:

Pan Sefranek vyriesil cvika vcelku zaujimavo a podla mna aj celkom atraktivne. Na cvikach sme si proste dali ciel, vytvorit, pripadne naprogramovat uciaceho sa agenta.

V ramci tejto stranky by som ziadal svojich spoluziakov, ktory sa zucastnuju tejto prednasky a cvik, aby e-mailovali svoje napady, nazory, postrehy pripomienky a ine zalezitosti ohladom tohoto predmetu, ktore som mozno vynechal, pripadne napisal uplne odveci a podobne. Budem stranku takymto sposobom udrziavat v konzistentnom stave (zial nemam tu system ako by ste to mohli robit vy aj bezo mna - iked by sa sem dal hodit), pokial sa bude dat a verim ze bude sluzit vsetkym hlavne koli informacnej hodnote.

   (v ramci toto ma napada dat sem par celkom zaujimavych liniek: site robotov kde su aj kvazi uciaci sa roboti na rozpravanie. Z takych napriklad megaHAL ktory napisal Jason Hutchens (napisal viac zaujimavych programkov). Pripadne nieco ako ELIZA ale s menom ALICE s ktorou si mozete pokecat podobne ako s megahalom on-line, cez web.)
Kedze sa to postupne zacne rozsirovat a zvacsovat to su linky na jednotlive cvika.

V. Piate cvika (update 10.16.2000)

Znova Vitam.
Dnesna prednaska sa viedla v nadychu robocupu, kedze sme si samostatne nic nepripravili. Vyzera to tak, ze nakoniec sa zameriame na vytvorenie nejake maleho agenta pre simulovany robocup.
Moc sme toho este neprebrali.
Takze, pre informaciu, vyskusal som soccer server a jeden tim. Arvand. Musim priznat, ze mam nato dost pomalu machinu (PII 333). Skusal som to spustast aj tak, ze bol jeden na jedneho, ale stale sa to spravalo cuden (nejak pomaly). Neviem ci to bolo pomale, alebo ci hraci trosku blbli...
Kazdopadne, chytil som klienta v jave, a poobzeral som si trosku zdrojaky. Komunikacia medzi serverom a futbalistom prebieha v 'stringoch', kde futbalista pise prikazy ako (move x y), ci (turn angle) alebo kopnut. Server posiela futbalistovi info o tom, co vidi. Futbalista je natoceny, takze vidi len to, kam je natoceny (neviem pod akym uhlom, ani ci je obmedzena vzdialenost). Kazdopadne si to treba cele rozkuskovat a vitiahnut odtial informacie v rozumnej forme. Ale to je vedlajsie...
Javovsky futbalista (taky sampleclient) bol dost natvrdly, ale dalo sa. Pametal si nejak objekty, ich zmeny, ale regoval cisto podla jednej schemy. Vlastne dostat sa k lopte a kopnut.
Nasou ulohou je teraz premysliet, ako bude nas 'agent' vyzerat. Nieco sa nacrtlo. ASi by sa to dalo rozdelit na par veci:
1.krok: Ako modelovat situaciu nejakym vyzsim jazykom. Teda aby sme vedeli dost jednoducho povedat, ze teraz utocia, brania, formuju sa, klamu alebo podobne. Kedze nie je mozna rychla a spolahliva komunikacia medzi hracmi, nie je mozne v kazdom kroku dat dokopy aktualnu situaciu, lebo by ju trebalo poskladat z toho co kto vidi a aj tak nemusi byt vidiet vsetko.
- chcelo by to v tomto jazyku definovat ciele.
2.krok: Urobit nejaku masineriu, ako z aktualnej situacie dostat ciele, teda co robit.
3.krok: Urcit si nejak prioritu cielov a aktualne ciele porovnavat so starymi a podla priorit pripadne niecoho ineho sa rozhodnut, ktory ciel pouzit.

IV. Stvrte cvika (update 10.16.2000)

Dnesne cvika boli venovane hre Creatures. Referat mal Juraf Frivolt a priblizil nam architekturu, ideu a pekne veci na tejto hre. Nejde o nejaku strielacku ci podobne, Creatures je hra, ktora simuluje A-life. Ale pokial sa nahodou Juro nechysta zverejnit nejaky vytazok zo svojho referatu, zatial si otom vsetko mozete precitat na hlavnej stranke Creatures. Stoji to zato.

III. Druhe cvika (update 10.16.2000)

Zial v takom celkovom celku nase teoreticke rozhovory na cviceniach videli vacsinou len ku zaverom, ktore si aj tak takmer kazdy vykladal po svojom a mal o nich inaksiu predstavu ako ostatny.
Zhodlis sme sa aspon v tom, ze takto zatial asi cesta nevedie. Zacali sme sa na problem teda pozerat trosku inak. Kazdy z nas zial asi potrebuje trosku aplikacnej urovne, teda priklady, teda nieco hotove. Tak nam vyslo, ze by sme sa mali zaoberat najprv mensimi vecami, nie tak vseobecnymi ako doteraz.
Ako obycajne zase padlo vela navrhov kde zacat a tak by mal teraz kazdy zistit nieco z toho svojho navrhu a porozpravat otom (nieco ako 'referat').

II. Tretie cvika (update 10.3.2000) vyzerali o nieco lepsie. Mozno preto ze sme nedostali riesit nejaky problem, ale vlastne sme si definovali problemi, ktore budeme neskor riesit. Islo o specifikaciu agenta, co by mal vsetko "vediet" a akym sposobom.

a) Implementacia (update 10.3.2000)

- implementacne sme sa "rozdelili" na dve skupiny. Vlastne tri, ale ta tretia je otom, ako spojit tie dve dokopy ;). Prva myslienka implementacie je (napr.) cez neuronove siete. Islo by vlastne oto dost dlho ucit neuronovu siet (ktora bude asi dost komplikovana, pripadne viac neuronovych sieti zoskupenych dokopy), aby pocase reagovala na vstup dostatocne inteligentne. Pri tomto by mohla byt zaujimava myslienka prepojenia napriklad nejakeho "databazoveho systemu" s tymito neuronovymi sietami, kde neuronove siete by vlastne pracovali nad mnozinou informacii. Teda NN by sa neucili ako reagovat na nejake informacie, ale akym sposobom na ne reagovat ich uchovavat a podobne ?! ;). Mozno najtazsia cast tohoto je vymysliet data pre ucenie neuronovych sieti.
Tato prva implementacia sa vlastne snazi mat inferencny stroj minimalny, s min. poctom pravidiel (ak vobec nejake) a naucit ho odzaciatku vsetko.. pricom neuronove siete vyuzit ako procesy, ktore ma clovek vrodene. (pudy, potreby)

- druha implementacia je o inferencnom stroji a pravidlach. Pripadne nejakom stavovom priestore. Vlastne nejaky znalostny system ale prejdime uz k poziadavkam.
Tato implementacia sa tiez bude snazit minimalizovat pocet zaciatocnych inf. pravidiel ale bude pripustat aj zakodovanie niektorych veci do "stroja".

Posli postreh

b) Poziadavky (update 10.3.2000)

postupne sa formulovali poziadavky, na tohto agenta. Teda nasho buduceho agenta. Takmer kazdy vyslovil nejaku poziadavkuk a aj odvovodnila preco, pripadne uviedol priklady, preco by mala byt zahrnuta. Nasim cielom na dalsich cvikach, predpokladam, bude tieto poziadavky na agenta upresnit, specifikovat atd.

  Poziadavky:

Dalej podstupym drobnu analyzu tychto poziadaviek. Drobnu z toho dovodu, ze to bude skor moja subjektivna analyza a dufam ze ostatny sa pripoja a postupne sa to vykristalizuje. Budem sa snazit zahrnat aj to (teda neskor hadam iba to) co bolo povedane na prednaskach.

Nedokonalost, omyly: (update 10.3.2000)

Preco: clovek nie je dokonaly. Preto ;). No, prizname si, vacsina poziadaviek vznikne na zaklade toho, ako si myslime ze existujeme my a ako si myslime ze rozmyslame a s akymi obmedzeniami.

Priklady: pod nedokonalostou rozumieme napr. omedzenu pamat, zabudanie, robenie chyb a podobne...

Moznosti implementacie: Nedokonalost moze byt v ramci inf. stroja, pripadne v ramci pravidiel agenta. Osobne navrhujem kombinaciu oboch moznosti s vlastnostou, ze ak je nedokonalost v stroji, tak sa zakomponuje aj do pravidiel (resp. sa neskor nauci!!)..

Posli postreh

Akceptovat kontradikcie (update 10.3.2000)

Preco: clovek casto rozmysla nad vecami, ktore su si protichodne, ale nevie ich momentalne rozsudit. Teda berie do uvahy obe moznosti (pripadne viacej) a caka na dalsie fakty, overenie a pod...

Posli postreh

vahy rozhodnuti a udajov, verifikacia
menitelnost rozhodnutia, autorevizia
autoreflexia
otvorenost domen
test podobnosti ?= abstrakcia
context, modely KB
Casova naslednost (uvedomenie si casu ?!)
Komunikacia
Potreby - ciele

I. Prve cvika (update 10.3.2000) zacali volnou debatou na tema ako by taky agent mal vyzerat a otazkami ako vlastne ohodnotit vysledok dvoch procesov, ktore vychadzali z rovnakych predpokladov a prisli k roznym zaverom tak, aby ten vysledok bol pre nas co najvhodnejsi a najprijatelnejsi.

Musim povedat ze som rozhovor sledoval so zaujmom, ale najvacsi problem bol v tom, ze sme sa vlastne ani nevedeli poriadne dohodnut a specifikovat si, ze naco vlastne hladame otazku. Jednotlive riesenia totiz zabiehali do problemov, ktore sa v povodnej otazke nevyskytovali a tak sa zacalo debatovat o vsetkom... Nakoniec sa vykrystalizovali asi priblizne odpovede, ale na ich podrobnejsiu analyzu (vlastne aj povrchnu), nebolo uz moc casu.

Jedno riesenie spocivalo v simulacii daneho procesu a dojdeniu k zaveru. Vlastne nas zaujima ci sa nam podari splnit ciel. Preto si zoberieme predpoklady a zacneme simulovat vypocet. Ak vypocet pride do ciela, alebo blizko neho, mozeme byt spokojny. (Tu len chcem upozornit, ze ako som hovoril, povodna otazka nehovorila pritom nic o cieli.)

Posli postreh

Nestiham nejak vsetko pisat. Bol by som rad, kebyze su od studentov odozvy a niektore veci ktore tu nevidite a mate o nich predstavu, tak mi ich poslite (napiste mailom) a ja to sem zaradim. Aj ucelene texty, aj nieco nove. Tak posli ked nieco mas hotove. Pripadne to napis a tak posli ;).