1.
Milyen 4 nézet van az MI-ről? (ember módjára viselkedni, …, példák) Ember módjára gondolkodni Ember módjára viselkedni
racionálisan gondolkodni racionálisan viselkedni
Ember módjára viselkedni: turing teszt Turing 1950 „Tudnak a gépek gondolkodni?” Korai agyszimulációs tesztek, Percepron hálók, celluláris automaták. Racionálisan gondolkodni: Arisztotelés: mik a helyes követleztetések/ gondolkodási folyamatok? 2.
Mi a racionális ágens? Olyan ágens ami a kitűzött cél érdekében a lehető legjobb teljesítményt adja.
3.
Az M.I. problémák jellemzői
-
nem ismert a megoldáshoz vezető út megoldásban szerepet kap a szakértelem, próbálkozás.
4.
Tipikus mest. int. alkalmazások 2010-ben
-
automatikus progrmaozás (gui) automatikus tétel bizonyítás beszédfeldolgozás kézírás felismerés gépi látás gépi tanulás robotok mozgástervezés változó környzetben ismeretalapú és szakértői rendszerek
5.
Az emberi neuron működésének 2-3 mondatos leírása (nincs leírva az előadásban) Az idegrendszer legkisebb egysége a neuron. Neuronnak nevezzük az idegsejt és összes nyúlványainak együttesét. A neuronok ingerlékeny sejtek, amelyek ingerfelvételre és idegi ingerületek vezetésére specializálódtak. Olyan sejt amely biokémiai reakciók segítségével képes információt befogadni feldolgozni és átadni más idegsejteknek.
6.
Az ágens környezetének jellemzői (PEAS, 2 példa)
-
Feladat környezet: teljesítmény mérési szempontok (performance) környezet (envioment) beavatkozók (actuators) érzékelők (sensors)
Ágens Automatizált taxi
Orvosi diagnosztikai rendszer
7.
Teljesítmény mérték Biztonságos gyors törvényes utazás
Környezet
Beavatkozók
érzékelők
Utak, forgalom, gyalogos
Kormény gáz fék kűrt index lámpák
Biztonsgos, gyors, megbízható,
A beteg en meglenő tünetek.
Orvosok, ápolók
Kamerék, hangradar, sebesség mérő gps hang, kép,...
Reflexszerű ágensek és modellezésük 1 állapotú véges automatával, a porszívópélda A reflexszerű ágens esetén az akció csak az utolsó pillanat érzékeléseitől függ. Nincs memóriája csak az aktuális érzékelések alapján cselekszik. Pl.: Porszívó ágens – csupán annyit tud hogy a szoba amiben van az tiszta vagy koszos ha koszsos szív ha tiszta tovább megy.
8.
Ágensek tulajdonságai: belső állapotos ágens, modellalapú ágens, célorientált ágens, Belső állapottal rendelkező ágens: van belső memóriája -> belső állapot. A belső állapot is részt vezs a cselekvés meghatározáásban (mikor volt utójára koszos a szoba) nem tudhat mindent ,de amit tud használja ki. Autonóm ágens: Nem csak a létrehozó által beprogramozott lépéseket cselekszi, ha megtanuja hogy a szomszédos szobák koszolódnak Célorientált ágens: tudja hogy holvan, és a környezetét vizsgálva tudja mi a feladata. Ha a szoba koszos szív ha tiszta megy tovább.
9.
hasznossági függvénnyel rendelkező ágens Hasznosság állapotok étékelése (valós szémmal) Teljesítmény mérték az ágenst értékeli. Akkor a nagymérétkű a teljesítmény ha az ágens a lehetséges legangyobb hasznosságú állapotba eltud jutni.
10. Problémamegoldás, mint útkeresés: egy példa Olyan cél állapot amihez az út nem ismert. Cél: olyan állapotok halmaza amiben a cél igaz. Problémamegoldás: a világ állapotainak olyan sorozatát megalkotni ami elvezet a kezdőállapotból a célállapotba. Példa Románai útkeresés: Cél aljutni A ból B be. Állapotok a városok, akció a kocsi. Megoldás: városok egy listája. Ha Aradró akarunk Bukarestbe jutni akkor Arad, Sibiu, Rimniciu Vilcea, Pitesti, Bucharest
11. Problémák állapottér-reprezentációja (definíció: állapotok halmaza, operátorok, operátorok alkalmazhatósági feltétele, operátorok költsége, kezdőállapot, célállapot). Az állapottér csak egy egy absztarkt megközelítése a világnak (nem teljes). A megfelelő absztarciókat felvenni A ból B be jutáshoz nem kell a korméány mozdulatokat leírni... Állapotok halmaza: a lehetséges összes állapot (porszívó eseténa szobák) Operátor: a lehetséges akciók (Porszívó esetén: másik szobába menni, szívni) Operátor alkalamzási feltétel: az akcióhoz szükséges körülmény (ha koszso a szoba lehet szívni) Operátorok költsége: egy fix tényező ami megmondja hogy iylen költsége van alkalmazni az operátort. Kezdőállapot: egy kitűntetett állapot az állapottér része, ezzel adjuk meg hoyg kezdetben hol vagyunk ( porszívó melyik szobában van) Cél állapot: explcit: minden szoba tiszta, implicit: mattot adni 12. Adott problémák állapottér-reprezentációja Java-ban (pl. a Luger-féle keretrendszerben milyen interfészt kell implementálni?) pl.: Kecske káposzta paraszt farkas játék Kezdő állapot: Kezdetben mind a 4 en keleten vannak private Side farmer = Side.EAST; private Side wolf = Side.EAST; private Side goat = Side.EAST; private Side cabbage = Side.EAST; Cél állapot: Cél átjutni a nyugati partra. farmer == Side.WEST && wolf == Sise.WEST && goat == Side.WEST && cabbage == Sode.WEST package search; import java.util.List; public interface Solver{ public List<state> solve(State initialize); } public Iterable<State> getPossibleMoves() { Set<State> moves = new HashSet<State>(); // Move wolf if (farmer==wolf) new FarmerWolfGoatState(this,farmer.getOpposite(), wolf.getOpposite(), goat, cabbage).addIfSafe(moves); // Move goat if (farmer==goat) new FarmerWolfGoatState(this,farmer.getOpposite(), wolf,
goat.getOpposite(), cabbage).addIfSafe(moves); // Move cabbage if (farmer==cabbage) new FarmerWolfGoatState(this,farmer.getOpposite(), wolf, goat, cabbage.getOpposite()).addIfSafe(moves); // Move just farmer new FarmerWolfGoatState(this,farmer.getOpposite(), wolf, goat, cabbage).addIfSafe(moves); return moves; } private final void addIfSafe(Set<State> moves) { boolean unsafe = (farmer != wolf && farmer != goat) || (farmer != goat && farmer != cabbage); if (!unsafe) moves.add(this); } 13. Állapottér-gráf átalakítása fává: egy példa. A fa-gráf egy összefüggő körmentes gráf. Az állapottér-gráf átalakítása fagráffá pl az odavezető utak lesznek az új csúcspontok. Lépései: 1.
Ha két csúcs között oda-vissza irányú él van, akkor törölkük a startcsúcs felé visszairányuló élet. Így az élek mindig a startcsúcs felől a gráf egyre távolabbi csúcsi feé vezetnek. 2. Minden állapotnak annyi külömböző csúcsot feleltetünk meg ahány különböző csúcsból érhető el. Példa utazó ügynök:
Fává alakítva:
14. Az általános kereső algoritmusa, mélységi, szélességi és optimális kereső (leírni pszeudo-kódban vagy Java-ban) Álatlános keresés fában algoritmus: function TREE-SEARCH ( problem) returns a olution or failure initialize the frontier using the inital state of problem loop do if the frontier is empty then return failure choose a leaf node and remove in frontier if the node contains a goal state then return the corresponding solution expand the chosen node, adding the results to the frontier function GRAPH-SEARCH ( problem) return a solution, or failure initialize the frontier using the inital state of problem initialize the explored set to empty loop do if the frontier is empty then return failure choosen a leaf node and remove it from frontier if the node contains a goal state then return the corresponding solution add the node to the explored set expand the chosen node, adding the resulting nodes to the frontier only if not in the frontier or explored set
Szélességi kereső:
Mélységi kereső
Optimálsi kereső ( A* )
15. Informált keresés, heurisztika, példák heurisztikára a 8-puzzle kirakó esetén Informált = probléma specifikus információ (tudás) alkalmazása - Azt a csomópontot bontjuk ki először a front állapotai közül, amelyikre vonatkozóan a kiegészítő információk valamilyen előnyt ígérnek – amelyik pl.: a legjobbnak tűnik az adott pillanatban - Ezen módszereket heurisztikus keresésnek is nevezzük, mert a problématerületre vonatkozó tapasztalatra épít (ált. növeli a hatékonyságot, de tévedhet is) (görög heuriskein: megtalál, felfedez) Heurisztika: Egy nem negatív egész szám, az állapotok halmazán értelmezett függvény a cél állapotokra 0.0 felvett értékkel.
-
Egy állapot becsült jóságát fejezi ki. Álatlában nincs tökéletes heurisztika ha van yakkor könnyű dolgunk van :) Példa kirakó: Egy állapot jóságának lehetséges mértékei: hány négyzet van a helyén hány toláskellene még ha minden négyzet egymásra tolható lenne Ezeka heurisztikák nem pontosak.
16. Mi a konzisztens heurisztika? Egy példa konzisztens heurisztikára s egy másik példa nemkonzisztens heurisztikára Egy heurisztika akkor konzisztens ha minden n csúcsra, minden a akcióra és annak bármely n’ lehetséges eredménycsúcsára teljesül hogy: h(n) < c(n,a,n’) + h(n’), ahol c az n ből n’ be a akcióval való eljutás költsége.
f(n’) = g(n’) + h(n’) f(n’) = g(n) + c(n,a,n’) + h(n’) f(n’) > g(n) + h(n) f(n’) = f(n)
Ha h(n) konzisztensm akkor az A* keresés g-t és h-t használva optimális.
-
Pl. 8-kirakóban Konzisztens hurisztika: a rosszul elhejezett lapocskák száma manhatten távolság (az egyes lapok üres táblán helyükre csúsztatása) pl nem konzisztens heurusztika: minden más módszer (pl a lyukkörüli lapcsokák számát figyelni)
17. Mikor domináns egyik heurisztika a másik felett? Egy példa. Akkor mondjuk egy heurisztikára hogy domináns, ha jobban használható mint egy másik pl a 8-as kirakós játék esetében a menhetten módszer kevésbé domináns mint a másik módszer. Ha h2(n) > h1(n) minden n-re, de mindkettő elfogadható heurisztika akkor h2 dominálja h1 –et. h2-vel jobb keresni, biztos h olyan gyorsan megtaláljuk a megoldást mint h1 el. 18. A megoldáskereső algoritmusok értékelési szempontjai (teljesség, időigény, tárigény) és a mélységi, szélességi, backtrack, best-first keresőeljárások értékelése Teljesség: A rendszer minden olyan esetben megtalálja-e a megoldást, amennyiben az létezik? Optimalitás: Több megoldás létezése esetén a rendszer az optimális megoldást találja-e meg? Időigény: Mennyi ideig tart egy megoldás megtalálása? Tárigény: Mekkora tároló területre van szükség a megoldás megtalálásához?
-
-
-
-
Bestfirst: A backtrack ha a reprezentációs gráf véges, akkor véges sok keresőlépés megtétele után befejezi a keresést, és ha van megoldás, előállít egy körmentes megoldást, ha nincs megoldás, azt felismeri. Tárigénye kicsi, alkalmas optimális keresésre. Szélességi: Ha van megoldás véges sok lépés után előállítja ha nincs az adott reprezentációban megoldás, akkor véges gráf esetén azt a nyílt csomópontok elfogyásával felismeri. Ha van megoldás, tetszőleges reprezentációs gráfban a vezérlő a legrövidebb megoldást állítja elő. Adatbázis igénye nagy. Mélységi kereső: ha van megoldás, véges sok keresőlépés után előállít egy megoldást ha nincs megoldás akkor a nyílt csomópontok elfogyásával felismeri Adatbázis igénye nagy. Best first: ha van megoldás, véges sok keresőlépés után előállít egy megoldást ha nincs megoldás akkor a nyílt csomópontok elfogyásával felismeri
19. Nemmódosítható megoldáskeresők jellemzői, példa: a hegymászókeresés A MI módszereit nem használó, ún. hagyományos feladatmegoldási módoknál alkalmazzák. A MI problémák megoldása során nem tudjuk, hogy a reprezentációs gráf megfelelő – a megoldást is tartalmazó – részét építjük-e, ezért ritkán alkalmazunk nemmódosítható keresést. adatbázisa az állapottérgráf egyetlen csúcsa, az ún. aktuális csúcs; műveletei az állapottér-reprezentációs operátorok; Hegymászókeresés: Teljesség: Nem teljes. A hegymászó módszer esetén a heurisztika pontosságától függ, hogy a megoldást megtaláljuk-e vagy sem. Tárigény : Rendkívül kis adatbázissal dolgozik. Csak lokális maximumot garantál.
20. A szimulált hűtéses keresés alapötlete 2-3 mondatban A lokális maximumokból valós kiszökés céljából megengedünk véletlenszerű „rossz” irányba tett véletlenszerűen nagy lépéseket, de időben előre haladva csökkentve ezen lépések gyakoriságát. Ha T elég lassan növekszik akkor a szimulált hűtéses kereső 1 valószínűséggel magtalálja az optimumot. 21. Az alap visszalépéses (backtrack) algoritmus: pszeudoódban vagy Java-ban. procedure Alap-Backtrack-1(hA, kezdő, C,Oi) Állapot[aktuális-csomópont] ← kezdő Szülő[aktuális-csomópont] ← Nil Operátor[aktuális-csomópont] ← ∗ Kipróbált[aktuális-csomópont] ← ∅ while Igaz do if aktuális-csomópont = Nil then break end if if Állapot[aktuális-csomópont] ∈ C then break end if O′ ← {o | o ∈ O ∧ Előfeltétel(Állapot[aktuális-csomópont], o) ∧ ∧ o /∈ Kipróbált[aktuális-csomópont]} if O′ 6= ∅ then operátor ← Választ(O′) Kipróbált[aktuális-csomópont] ← Kipróbált[aktuáliscsomópont]∪{operátor} Állapot[új] ← Alkalmaz(Állapot[aktuális-csomópont], operátor) Szülő[új] ← aktuális-csomópont Operátor[új] ← operátor Kipróbált[új] ← ∅ aktuális-csomópont ← új else aktuális-csomópont ← Szülő[aktuális-csomópont] end if end while if aktuális-csomópont 6= Nil then Megoldás-Kiír(aktuális-csomópont ) else print „Nincs megoldás” end if end procedure
22. A backtrackkeresés mikor teljes? Példa, amikor nem teljes.
-
Ha a reprezentációs gráf köröket nem tartalmazó véges gráf, akkor az alap visszalépéses megoldáskereső véges sok keresőlépés megtétele után befejezi a keresést, ha van megoldás, előállít egy lehetséges megoldást, ha nincs megoldás, azt felismeri. Nem teljes ha a gráf köröket tartalmaz.
23. A backtrack algoritmus módosítása úthosszkorláttal, körfigyeléssel Körfigyeléssel: Ha van megoldás, akkor van körmentes megoldás is. A vezérlő a visszalépést választja, ha az aktuális csúcs szerepelt már az aktuális úton. Úthosszkorláttal: Úthosszkorlátot vezetünk be, mely megakadályozza, hogy a köröket „végtelen sokszor” járjuk be. A vezérlő a visszalépést választja, ha az aktuális út hossza eléri, vagy meghaladja az úthosszkorlátot. 24. Mikor teljes az úthosszkorlátos backtrack?
-
Az úthosszkorlátos backtrack tetszőleges reprezentációs gráf esetén véges sok keresőlépés megtétele után befejezi a keresést és, ha van az úthosszkorlátnál nem hosszabb megoldás, előállítja azt. Ha keresés nem egy megoldás megtalálásával ér véget, akkor az úthosszkorlátnál csak hosszabb megoldás lehet a repre zentációs gráfban. (Vagy nincs megoldás, vagy az úthosszkorlát túl kicsi.)
25. Mikor teljes a nem körfigyeléses backtrack? Teljesség : Ha a reprezentációs gráf köröket nem tartalmazó véges gráf, akkor az alap visszalépéses megoldáskereső véges sok keresőlépés megtétele után befejezi a keresést, • ha van megoldás, előállít egy lehetséges megoldást, • ha nincs megoldás, azt felismeri. 26. A folyton mélyülő szélességi keresés alapötlete 2-3 mondatban Először d=1 mélységkorlátozott keresés, aztán d=2, d=3... addig növeljük d-t amíg meg nem találjuk a megoldást. 27. Az optimális kereső alapötlete Minden csúcshz tároljuk az odavezető út költségét, ha találunk új utat akkor az olcsóbbat tároljuk. Mindig a ksiebb költségű lépést választja először. Ez a kereső teljes és megtaálja az optimumot. 28. A best-first algoritmus alapötlete és értékelése. Hogyan alakul a best-first kereső futása egy konkrét példán, pl. a 8-puzzle kezdőállapotából indulva, adott heurisztikát használva. A legjobbnak tűnő csúcs felé mozdulunk először. Minden n csúcsponthoz hozzárendelünk egy h(n) kiértékelő függvény értéket. Nem teljes, végtelen ciklusba eshet. Rossz heurisztikával O(bm), jó heurisztikával drámaina javul. Memória igénye nagy minden eddigi csúcsot tárol O(bm) Nem optimális.
Pl.: 8 as kereső: (heurisztika hány lapocska van a heyén)
29. Az A algoritmus. Mikor nevezzük A* algoritmusnak? Elfogadható és konzisztens heurisztikák fogalma. Az A és a A* algoritmus értékelése.
-
Az A algoritmus értékelése Teljesség: ha van megoldás, tetszőleges reprezentációs gráfban véges sok keresőlépés után előállít egy megoldást, ha nincs a problémának az adott reprezentációban megoldása, akkor véges gráf esetén azt a nyílt csomópontok elfogyásával felismeri. Optimalitás : Nincs garancia az optimális megoldás előállítására. De ha minden a ∈ A esetén h(a) ≤ h∗(a), ahol h∗(a) az a állapotból célba jutás optimális költsége, akkor az A algoritmus az optimális megoldást állítja elő, ha van megoldás. Ez az A∗ algoritmus. Elfogadható heurisztika: Egy h(n) heurisztika elfogadható ha minden n csúcsra h(n) < h*(n) teljesül, ahol h*(n) az n csúcs igazi költsége. Soha nem becsüli túl a cél eléréének költségét mászóval optimista. Ha h(n) elfogadható, akkor az A* algoritmus h-t használó példánya teljes és optimális.
Konzisztens heurisztika: Egy heurisztika akkor konzisztens ha minden n csúcsra, minden a akcióra és annak bármely n’ lehetséges eredménycsúcsára teljesül hogy: h(n) < c(n,a,n’) + h(n’), ahol c az n ből n’ be a akcióval való eljutás költsége.
f(n’) = g(n’) + h(n’) f(n’) = g(n) + c(n,a,n’) + h(n’) f(n’) > g(n) + h(n) f(n’) = f(n)
Ha h(n) konzisztensm akkor az A* keresés g-t és h-t használva optimális. 30. Hogyan alakul az A* kereső futása adott gráfként megadott probléma esetén? Az A* kereső minidg a legolcsóbb utat keresi és tárolja. Ha olyan utat talál ami olcsóbb akkor módosítja az útvonalat. A költség számítása az odáig megtett út költése + a pont költsége.
0.
Működése: A pontból indul kezdő állapot. (A5)
1.
Megnézi hogy A pontból hová juthat: B45, C15
2.
Aktuális álapot C. Megnézi hogy vannake új pontok és a régiek mellé írja: B45, D30
3.
Aktuális állapot: D. Megnézi hogy vannake új pontok és a régiek mellé írja: B45, F30
4.
Aktuális állapot: F. Megnézi hogy vannake új pontok és a régiek mellé írja: B45, G29
5.
Aktuális állapot: G. A kereső megáll mert megtaléálta a cél állapotot A megoldás leolvasható az ábráró: G -> F -> D -> C -> A Lásd ábra:
31. A relaxált probléma és összefüggése a heurisztikákkal, egy példa Egy probléma, amiben az eredetihez képest kevesebb megszorítást tehetünk az adott állapotban végrehajtható akcióra az eredetihez képest relaxált probléma. 32. A genetikus algoritmusok alapötlete Írjuk le a keresési tér egy elméletét (állapot) egy adatdarabbal (szting, bitsorozat, stb genetikai kód) Hozzunk létre egy kezdeti populációt Minden körben: értékeljük ki a populáció tagjait (fitness érték), válasszuk ki a szaporodásra méltó egyedeket, az ő genetikai kódjukból kombináljuk a következő generáció kódját AMÍG: nem találunk egy megfelelő egyede 33. A DNS-számítások alapötlete (nincs a prezentációban, barátjuk: wikipedia) Van többféle módszerrel felépített, számítástechnikai eszköz DNS alapon, mindegyikek megvan a maga előnye és hátránya. A legtöbb ilyen logikai kapu (ÉS, VAGY, NEM) kapcsolodó digitális logikával egy DNS alapján. Néhány különböző bázisok között DNAzymes, deoxyoligonucleotides , enzimek, a DNS csempék, és a polimeráz láncreakció. A szilícium alapú számítógépek az adatokon csak sorosan képesek dolgozni, azonban egy DNS alapú számítógépben minden molekula egyszerre kezelhető. Ez a párhuzamos működés adja a módszer igazi erejét, hiszen így oldhatók meg akár NP nehéz problémák is reális időn belül. Mindezt látva, eleinte a legfőbb kérdés az volt, hogy vajon képes lehet-e a DNS alapú számítástechnika felváltani a jól megszokott, szilícium alapú rendszereket. 34. Kényszerfeltételekkel meghatározott keresési problémák (CSP): egy példa Egy kényszer kielégítési problémában az állapotokat egy változó halmaz értékei határozzák meg, és a célfüggvény a kényszerek egy halmazát adja meg, amelyeknek teljesülniük kell. Pl a, 8 királynő probléma: változók: a királynők poziciói, melynek lehetséges értékei a sakktábla mezői. A kényszerek pedig hogy nem lehetnek a királynők ugyanabban a sorban, oszlopban, átlóban. B, Ausztrália államainak szinezése 35. Általános heurisztikák CS-problémák megoldására
Leginkább korlátozott változós (= legkevesebb fennmaradó érték , MRV (=minimum remaining values)), fokszám heurisztika és legkevésbé korlátozott értékes heurisztika. Legkevésbé-korlátozó-érték (least-constraining-value) heurisztika: ez a heurisztika előnyben részesíti azt az értéket, amely a legkevesebb választást zárja ki a kényszer gráfban a szomszédos változóknál. MRVés a fokszám heurisztika: tárgyterület-független módszerek annak eldöntésére, hogy a visszalépéses keresés során melyik változót válasszuk ki következőnek Az MRV heurisztika kiemeli azt a változót amely valószínűleg a leghamarabb fog hibához vezetni. Ha van egy X változó, amelynek egyetlen megengedett értéke sincs akkor kiválasztja X-et és azonnal kideríti a hibát, elkerülve ezzel a többi változó közti értelmetlen keresgélést. Fokszám-heurisztika: azzal kísérli meg csökkenteni a választások elágazási tényezőjét, hogy azt a változót választja, amely a legtöbbször szerepel a hozzárendelt változóra vonatkozó kényszerben.
36. Kétszemélyes játékok: mikor determinisztikus ill. sztochasztikus, teljesen ill. parciálisan megfigyelhető Determinisztikus: ha az aktuális állapot és bármely cselekvés együttese meghatározza a következő állapotot és egyébbként sztochatikus. Teljesen megfigyelhető pl sakk vagy monoply esetén ahol rálátésunk van a teljes játékre. Parciálisan megfigyelhető: ha nem látjuk a teljes játékteret és az ellenség lehetőségeit pl póker, torpedó 37. Kétszemélyes játékok, mint keresési problémák. Példa: a tictactoe álapottere. Állapottér: -operátorok: lehetséges lépések -célállapot: nyerő, ill vesztő álls -költség: pontnyerés ii –veszteség -kereslsi tér: „játékfa” Probléma: az ellenfél lépései nem tervezhetők Tictactoe: determinisztikus, teljesen megfigyelhető, nullaösszegű játék (o,x)
38. Játékok, mint és/vagy fák. A nyerési stratégia. SJ : {(a, J) | (a, J) ∈ A} → O döntési terv, amely J számára előírja, hogy a játék során előforduló azon állásokban, melyekben J következik lépni, a megtehető lépései közül melyiket lépje meg. A J játékos stratégiáját J nyerő stratégiájának nevezzük, ha (az ellenfelének stratégia-választásától függetlenül) minden a stratégia alkalmazása mellett lejátszható játszmában J nyer. A J szempontjából átalakított ÉS/VAGY fában a J nyerő stratégiát szemléltető hiperút levélelemei mind J-nyerő állások.
39. A minimax algoritmus alapötlete teljes játékfa esetén és heurisztikus álláskiértékelő függvény jelenlétében
-
Cél: a támogatott játékosnak, J-nek, egy adott állásban „elég jó” lépést ajánlani. Az algoritmus számára át kell adni a játék hA, kezdő, V,Oi reprezentációját, J azon a állását, ahol lépni következik, az állások „ jóságát” J szempontjából becslő hJ : A → R heurisztikát és egy mélységi korlát-ot. 1. A játékfa (a, J) állapotot szemléltető csúcsából kiinduló részének előállítása korlát mélységig. 2. A részfa leveleiben található állások jóságainak becslése a heurisztika segítségével: jóság(nb) = hJ(b). 3. Szintenként csökkenő sorrendben a részfa nem levél csúcsai jóságainak számítása: ha az n csúcs gyermekei rendre n1, . . . , nk,
Javaslat: az a állásból egy olyan lépést tegyen meg J, amelyik az na csúcs „ jóság” értékével megegyező értékű gyermekébe vezet. 40. A keresési tér mérete. A keresési tér korlátozása α-β vágással Az alfa-béta vágás egy játékelméleti keresési algoritmus, amellyel csökkenthető a játékfában lévő kiértékelendő állások száma a minimax algoritmus által szükséges kiértékelésekhez képest. Az algoritmust az olyan kétszemélyes játékoknál mint például az amőba, sakk, go stb. lehet eredményesen használni gépi játékos készítésére. Az algoritmus alapötlete azon nyugszik, hogy ha a játékfában az éppen vizsgált lépésünkre az ellenfélnek van egy olyan erős lépése ami miatt ezt a lépést úgyse választanánk (mivel a vizsgálat korábbi részéből már van jobb választásunk), akkor az erre a lépésre az ellenfél által adható további lépéseket nem szükséges megvizsgálni. (Más szóval: ha ez ellenfél válaszlépése túl jó, akkor úgyse fogjuk meglépni az azt lehetővé tévő lépésünket.) Az algoritmusban ezen részjátékfák fölösleges vizsgálatának kihagyását hívjuk alfa illetve béta vágásnak. A minimax algoritmus ilyetén történő optimalizálása nem változtatja meg a kapott végeredményt. Alfa-béta tulajdonságai: -a vágás nem befolyásolja a végeredményt - a mozgások, műveletek jó sorrendje javíthatja a vágás hatékonyságát - „Perfect rendezéssel az időbonyolultság: O(b^m/2)”
41. Minimax-eljárás a nemdeterminsztikus játékok esetére
2 személyes játékokban
A minimax algoritmus pszeudó kódja: function minimax(csúcs, mélység) if a csúcs levél or mélység = 0 then return a csúcs heurisztikus értéke else if játékos = A then max := for az összes lehetséges lépésre új_állapot := előállítja az új állapotot v := minimax(új_állapot, mélység-1) if v >max then max := v end if end for return max else min := + for az összes lehetséges lépésre új_állapot := előállítja az új álapotot v := minimax(új_állapot, mélység-1) if v < min then min := v end if end for return min end if end function
42. Az elsőrendű nyelv, a term és a formula fogalma. Példa a wumpusz-világra.
Elsőrendű logikai következtetés rezolúcióval: alkalmazd a lehetséges rezolúciós lépéseket a CNF (KB ^ ⌐ α) klózhalmazra, amíg még van újabb lehetőség és amíg az üres klóz (a lhetetlen állítás) elő nem fordul. Ez az algoritmus teljes az elsőrendű logikára, még ha nincs is csak Hor-klózokra megszorítva. Egy < Srt;Cnst; Fn; Pr > elsőrendű jelkészlet feletti egyszerű term-ek a változók és a konstansok. Term-ek az egyszerű term-ekből az összetétel szabályának véges számú alkalmazásával előálló jelsorozatok. Egy < Srt;Cnst; Fn; Pr > elsőrendű jelkészlet feletti atomi formulák P(t1,…, tn) alakúak, ahol P egy Pr-beli predikátumjel valamilyen (π1,.., π n) típussal, és t1,…, tn már meglévő termek, rendre π 1; : : : ; π n típussal.
Cs-csapda, Sz - szellő
43. Az elsőrendű nyelvek szemantikája: interpretáció, változóértékelés, termek értéke és formulák igazságértéke. Példa a wumpusz-világ esetén.
Változóértékelés: 10.definíció: Ha L nyelvnek I egy interpretációja, akkor egy I feletti változóértékelésnek egy olyan függvényt nevezünk, amely értelmezési tartománya L nyelv változóinak halmaza, és értékkészlete része az ISrt képei uniójának (a típusokhoz tartozó alaphalmazok uniója), és ha az r típusú változó, akkor () ISrt (r).
Formula wompusra:
44. Logikai törvények, logikai következmény fogalma, néhány példa pl.: (adjon olyan logikai törvényt, -
Logikai következmény: Legyen Γ az Ω nyelv végessok formulájának halmaza és A az Ω nyelv egy formulája. Azt mondjuk, hogy az Ω-beli formuláknak az A formula logikai következménye (szemantikai következménye), ha minden olyan I interpretáció és minden olyan értékelés esetén amikor a Γ-beli formulák igazak az A formula is igaz lesz. Ha Γ B1, B2 … Bn formulákból áll akkor ezeket premisszáknak (feltételeknek) és A-t konklúziónak (zárótételnek) nevezzük.
Logikai törvények:
1, (A Λ B) Λ C ~ A Λ (B Λ C)
Asszociativitás -
2, (A V B) V C ~ A V (B V C)
átzárójelezhetőség
Kommutativitás - átcsoportosíthatóság 5, A Λ (B V C) ~ (A Λ B) V (A Λ C) 6, A V (B Λ C) ~ (A V B) Λ (A V C)
Disztributivitás
7, A Λ A ~ A
Idempotencia
8, A V A ~ A
11, ¬¬A ~ A } Kettős tagadás törvénye 12, ¬(A Λ B) ~ ¬A V ¬B
De morgan
13, ¬(A V B) ~ ¬A Λ ¬B
törvények
14, ¬(A B) ~ A Λ ¬B } Az implikáció tagadása 15, A ¬A ~ ¬A
Ellentmondás az
16, ¬A A ~ A
implikációban
17,╞ (A ¬A) 18, A Λ B ~ ¬(¬A V ¬B) 19, A V B ~ ¬(¬A Λ ¬B) 20, A B ~ ¬(A Λ ¬B)
Logikai összekötő jelek
21, A B ~ B V ¬A
közötti összefüggések
22, (A Λ B) ~ ¬(A ¬B) 23, A V B ~ ¬A B 24, A B ~ ¬B¬A } Kontropozíció törvénye 25, A (B C) ~ B (A C) } Előtagok felcserélhetősége implikációban 26, (A ΛB)C ~ A (B C) } Implikáció konjunktív előtaggal 27, A V T ~ T 28, A V ~ A 29, A Λ T ~ A
T C V ¬C - „szabvány” igaz
Jelölések;
30, A Λ ~
C Λ ¬C - „szabvány” hamis
C tetszőleges formula;
31, A T ~ T
Kiszámítási törvények
32, A ~ ¬A
33, T A ~ A 34, A ~ T 35, ╞ (A A) } Azonosságtétel 36, ╞ A (B A) } Bővítés előtaggal 37, A (B C) ~ (A B) (A C) } Az imlikáció öndisztributív 38, ((A V B) C) ~ (A C) Λ (B C) } Implikáció diszjunktív előtaggal, esetelemzés 39, ((A B) Λ (B C)) (A C) } Tranzitivitás 40, ╞ ((A B) Λ (A Λ ¬B) } lehetetlenre való visszavazatés, reductio, ad absurdum 41, ╞ A (¬A B) } Negáció az implikációs előtagban 42, ╞ A V ¬A } Kizárt harmadik törvénye 43, ╞ ¬(A Λ ¬A) } Az ellentmondás törvénye 44, ╞ ((A B) A) } Pierce-törvény
45. A Prolog deklaratív szemantikája
46. Az illesztés fogalma, két példa
47. Bizonyítsa rezolúcióval, hogy a {member(X,[X|L]). member(X,[Y,L]):-member(X,L).} Prolog-tudásbázisból következik a member(c,[a,b,c]). Prolog-cél sikeressége. true - igaz 48. A Bizonyítsa rezolúcióval, hogy a {member(X,[X|L]). member(X,[Y,L]):-member(X,L).} Prolog-tudásbázisból következik a member(X,[a,b,c]), X \= a. Prolog-cél sikeressége. X=b; 49. A Bizonyítsa rezolúcióval, hogy a {append([],L,L). append([X|L1],L2,[X,L3]):-append(L1,L2,L3).} Prolog-tudásbázisból következik az append([a],[X|c],[a,b,c]). Prolog-cél sikeressége. false - hamis 50. Milyen feladatok esetén előnyös a kényszerfeltételes logikai programozás eszköztárát használni? Kriptoaritmetika, órarend készítés, szállítástervezés, termelésidőzítés