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.

Hasonló dokumentumok
Mesterséges intelligencia 2. laborgyakorlat

A mesterséges intelligencia alapjai

Kétszemélyes játékok Gregorics Tibor Mesterséges intelligencia

Problémamegoldás kereséssel. Mesterséges intelligencia március 7.

Mesterséges intelligencia 1 előadások

V. Kétszemélyes játékok

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008

2. Visszalépéses keresés

Mesterséges Intelligencia MI

ÍTÉLETKALKULUS (NULLADRENDŰ LOGIKA)

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008

2. Visszalépéses stratégia

Kereső algoritmusok a diszkrét optimalizálás problémájához

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008

Intelligens Rendszerek Elmélete IRE 4/32/1

Kétszemélyes játékok

Mesterséges Intelligencia MI

Kereső algoritmusok a diszkrét optimalizálás problémájához

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2010/2011 1/363

Mesterséges intelligencia 3. laborgyakorlat

Logikai ágensek. Mesterséges intelligencia március 21.

Keresések Gregorics Tibor Mesterséges intelligencia

Válogatott fejezetek a logikai programozásból ASP. Answer Set Programming Kelemen Attila

Mesterséges intelligencia 1 előadások

Mesterséges Intelligencia MI

Dunaújvárosi Főiskola Informatikai Intézet. Intelligens ágensek. Dr. Seebauer Márta. főiskolai tanár

angolul: greedy algorithms, románul: algoritmi greedy

Számítógép és programozás 2

A logikai következmény

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 4. kurzus. 3. Előadás: A mohó algoritmus

Mesterséges intelligencia

Gráfkeresések A globális munkaterületén a startcsúcsból kiinduló már feltárt utak találhatók (ez az ún. kereső gráf), külön megjelölve az utak azon

Mesterséges Intelligencia I. (I602, IB602)

Bevezetés az informatikába

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2010/2011 1/363

Mesterséges Intelligencia MI

Számítógépes döntéstámogatás. Genetikus algoritmusok

1. Milyen hatással van a heurisztika általában a keresõ rendszerek mûködésére?

ULTIMATE TIC TAC TOE. Serfőző Péter

Mesterséges intelligencia. Gregorics Tibor people.inf.elte.hu/gt/mi

1. Alapfogalmak Algoritmus Számítási probléma Specifikáció Algoritmusok futási ideje

Mesterséges Intelligencia MI

Keresőeljárások kétszemélyes játékokhoz

Mesterséges Intelligencia MI

Logika és informatikai alkalmazásai kiskérdések február Mikor mondjuk, hogy az F formula a G-nek részformulája?

ÖSSZEFOGLALÁS a Bsc záróvizsga mesterséges intelligenciáról szóló témaköréhez

Mesterséges Intelligencia MI

end function Az A vektorban elõforduló legnagyobb és legkisebb értékek indexeinek különbségét.. (1.5 pont) Ha üres a vektor, akkor 0-t..

Kiterjesztések sek szemantikája

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008

... S n. A párhuzamos programszerkezet két vagy több folyamatot tartalmaz, melyek egymással közös változó segítségével kommunikálnak.

Modellezés Gregorics Tibor Mesterséges intelligencia

Adatszerkezetek 2. Dr. Iványi Péter

5/1. tétel: Optimalis feszítőfák, Prim és Kruskal algorithmusa. Legrövidebb utak graphokban, negatív súlyú élek, Dijkstra és Bellman Ford algorithmus.

Evolúciós algoritmusok

Logika es sz am ıt aselm elet I. r esz Logika 1/36

Predikátumkalkulus. 1. Bevezet. 2. Predikátumkalkulus, formalizálás. Predikátumkalkulus alapfogalmai, formalizálás, tagadás, logikailag igaz formulák.

Algoritmusok helyességének bizonyítása. A Floyd-módszer

SZOFTVERES SZEMLÉLTETÉS A MESTERSÉGES INTELLIGENCIA OKTATÁSÁBAN _ Jeszenszky Péter Debreceni Egyetem, Informatikai Kar jeszenszky.peter@inf.unideb.

értékel függvény: rátermettségi függvény (tness function)

Algoritmuselmélet 12. előadás

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2010/2011 1/363

Nagyságrendek. Kiegészítő anyag az Algoritmuselmélet tárgyhoz. Friedl Katalin BME SZIT február 1.

Az informatika logikai alapjai

Új típusú döntési fa építés és annak alkalmazása többtényezős döntés területén

Mesterséges Intelligencia I. előadásjegyzet (vázlat)

Matematikai logika és halmazelmélet

A félév során előkerülő témakörök

Algoritmusok bonyolultsága

Számításelmélet. Második előadás

Ellenőrző kérdések. 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t

Számítógép és programozás 2

Logika és informatikai alkalmazásai

Ítéletkalkulus. 1. Bevezet. 2. Ítéletkalkulus

Euler tétel következménye 1:ha G összefüggő síkgráf és legalább 3 pontja van, akkor: e 3

Dinamikus programozás - Szerelőszalag ütemezése

Intelligens ágensek. Mesterséges intelligencia február 28.

Algoritmusok és adatszerkezetek gyakorlat 07

A programozás alapjai előadás. Amiről szólesz: A tárgy címe: A programozás alapjai

Az informatika logikai alapjai

Logika és informatikai alkalmazásai

Struktúra nélküli adatszerkezetek

Kriptográfia 0. A biztonság alapja. Számítás-komplexitási kérdések

Logika es sz am ıt aselm elet I. r esz Logika Negyedik el oad as 1/26

Bonyolultságelmélet. Thursday 1 st December, 2016, 22:21

30. ERŐSEN ÜSSZEFÜGGŐ KOMPONENSEK

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós február 18. Széchenyi István Egyetem, Gy r

Algoritmuselmélet. Mélységi keresés és alkalmazásai. Katona Gyula Y.

Az optimális megoldást adó algoritmusok

Algoritmuselmélet 18. előadás

Kiegészítő részelőadás 1. Az algoritmusok hatékonyságának mérése

Osztott jáva programok automatikus tesztelése. Matkó Imre BBTE, Kolozsvár Informatika szak, IV. Év 2007 január

9. előadás. Programozás-elmélet. Programozási tételek Elemi prog. Sorozatszámítás Eldöntés Kiválasztás Lin. keresés Megszámolás Maximum.

Algoritmusok Tervezése. Fuzzy rendszerek Dr. Bécsi Tamás

5. előadás. Programozás-elmélet. Programozás-elmélet 5. előadás

Mesterséges intelligencia

Algoritmusok Tervezése. 6. Előadás Algoritmusok 101 Dr. Bécsi Tamás

Gráfelmélet. I. Előadás jegyzet (2010.szeptember 9.) 1.A gráf fogalma

Elsőrendű logika. Mesterséges intelligencia március 28.

Algoritmizálás, adatmodellezés tanítása 7. előadás

Átírás:

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 Teljesítmény mérték Biztonságos gyors törvényes utazás Biztonsgos, gyors, megbízható, Környezet Beavatkozók érzékelők Utak, forgalom, gyalogos A beteg en meglenő tünetek. Kormény gáz fék kűrt index lámpák Orvosok, ápolók Kamerék, hangradar, sebesség mérő gps hang, kép,... 7. 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(b m ), jó heurisztikával drámaina javul. Memória igénye nagy minden eddigi csúcsot tárol O(b m ) 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. Működése: 0. 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 I Srt képei uniójának (a típusokhoz tartozó alaphalmazok uniója), és ha az r típusú változó, akkor ( ) I Srt (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 Γ B 1, B 2 B n 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) Disztributivitás 6, A V (B Λ C) ~ (A V B) Λ (A V C)

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