Kereséssel történő problémamegoldás. Ormándi Róbert



Hasonló dokumentumok
Analízis elo adások. Vajda István szeptember 24. Neumann János Informatika Kar Óbudai Egyetem. Vajda István (Óbudai Egyetem)

V. Játékok. Kétszemélyes, teljes információjú, véges és determinisztikus, zéró összegű, játékok. Állapottér-reprezentáció. Grundy mama játéka

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

Elemi adatszerkezetek

Fábián Zoltán Hálózatok elmélet

2011. március 9. Dr. Vincze Szilvia

1. forduló. MEGOLDÁSOK Pontszerző Matematikaverseny 2015/2016-os tanév

Lineáris algebra gyakorlat

Arany Dániel Matematikai Tanulóverseny 2011/2012-es tanév első (iskolai) forduló haladók I. kategória

Programozás I gyakorlat

Érettségi feladatok Algoritmusok egydimenziós tömbökkel (vektorokkal) 1/6. Alapműveletek

Diszkrét matematika I. gyakorlat

A döntő feladatai. valós számok!

Párhuzamos programozás

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Trigonometria

BEVEZETÉS AZ ANALÍZISBE

Dr. Kulcsár Gyula. Virtuális vállalat félév. Projektütemezés. Virtuális vállalat félév 5. gyakorlat Dr.

Azonosító jel: Matematika emelt szint

Játékok (domináns stratégia, alkalmazása

Algoritmuselmélet. Keresés, rendezés, buborék, beszúrásos, összefésüléses, kupacos, láda, radix. Katona Gyula Y.

Vasúti menetrendek optimalizálása

Kombinatorika. 9. előadás. Farkas István. DE ATC Gazdaságelemzési és Statisztikai Tanszék. Kombinatorika p. 1/

A mesterséges intelligencia alapjai

1. Metrótörténet. A feladat folytatása a következő oldalon található. Informatika emelt szint. m2_blaha.jpg, m3_nagyvaradter.jpg és m4_furopajzs.jpg.

Bevezetés az ökonometriába

Analízis elo adások. Vajda István október 3. Neumann János Informatika Kar Óbudai Egyetem. Vajda István (Óbudai Egyetem)

... ahol l 0. Minden tranzakcióhoz létezik. = f(σ i. A sorozat nem bővíthető. Ha véges, akkor az utolsó konfigurációnak nincs rákövetkezője.

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉPSZINT Függvények

Többfelhasználós adatbázis környezetek, tranzakciók, internetes megoldások

MATLAB. 4. gyakorlat. Lineáris egyenletrendszerek, leképezések

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

Fordítóprogramok Készítette: Nagy Krisztián

Mesterséges Intelligencia I. gyakorlat

VÉGLEGES FELTÉTELEK február 12.

Házi dolgozat. Minta a házi dolgozat formai és tartalmi követelményeihez. Készítette: (név+osztály) Iskola: (az iskola teljes neve)

Vezetőtárs értékelő kérdőív

Lineáris algebra jegyzet

INFORMÁCIÓS MEMORANDUM

A Hozzárendelési feladat megoldása Magyar-módszerrel

Algebra es sz amelm elet 3 el oad as Rel aci ok Waldhauser Tam as 2014 oszi f el ev

Lécgerenda. 1. ábra. 2. ábra

6. SZÁMÚ FÜGGELÉK: AZ E.ON ENERGIASZOLGÁLTATÓ KFT. ÁLTAL E.ON KLUB KATEGÓRIÁBA SOROLT ÜGYFELEKNEK NYÚJTOTT ÁRAK, SZOLGÁLTATÁSOK

1. Írja fel prímszámok szorzataként a 420-at! 2. Bontsa fel a et két részre úgy, hogy a részek aránya 5 : 4 legyen!

BOLYAI MATEMATIKA CSAPATVERSENY FŐVÁROSI DÖNTŐ SZÓBELI (2005. NOVEMBER 26.) 5. osztály

PONTSZÁMÍTÁSI KÉRELEM felsőfokú végzettség alapján (alap- és osztatlan képzésre jelentkezőknek)

Számítógép hálózatok gyakorlat

Előgyergyártott konzolos és konzolos támfalas közlekedési vasbeton elemcsaládok a kerékpáros és gyalogos közlekedési területek növelésére

[MECHANIKA- HAJLÍTÁS]

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

Előterjesztés. (ifj. Kovács Róbert kérelme)

1. Mintapélda, amikor a fenék lekerekítési sugár (Rb) kicsi

Gráfokkal megoldható hétköznapi problémák

HÁLÓZATSEMLEGESSÉG - EGYSÉGES INTERNET SZOLGÁLTATÁS-LEÍRÓ TÁBLÁZAT

Korszerű geodéziai adatfeldolgozás Kulcsár Attila

Reiz Beáta április

3. Térvezérlésű tranzisztorok

Rendezési algoritmusok belső rendezés külső rendezés

GAZDASÁGMATEMATIKA KÖZÉPHALADÓ SZINTEN

H A T Á S V I Z S G Á L A T I

EMELT SZINTŰ ÍRÁSBELI VIZSGA

Növelhető-e a hazai szélerőmű kapacitás energiatárolás alkalmazása esetén?

Épületvillamosság laboratórium. Villámvédelemi felfogó-rendszer hatásosságának vizsgálata

Vektoros elemzés végrehajtása QGIS GRASS moduljával 1.7 dr. Siki Zoltán

Puskás Tivadar Távközlési Technikum

Mesterséges intelligencia 1 előadások

Leágazó idomok. Leágazó idomok

Kooperáció és intelligencia

Büntetés Végrehajtási Központ, 1108 Budapest, Újhegyi út 9. TARTALOM

Csoportosított adatok megjelenítése sorhalmaz függvények használatával

Jelek tanulmányozása

Sz ekelyhidi L aszl o Val osz ın us egsz am ıt as es matematikai statisztika *************** Budapest, 1998

Kissné dr. Akli Mária és Ferencz Zsolt

FORTE MAP 5.0 Felhasználói tájékoztató

2000 db speciális komposztláda, 0,3 m3 térfogatú

MBLK12: Relációk és műveletek (levelező) (előadásvázlat) Maróti Miklós, Kátai-Urbán Kamilla

Dr. Schuster György február 21. Real-time operációs rendszerek RTOS

( ) Schultz János EGYENLŐTLENSÉGEK A HÁROMSZÖG GEOMETRIÁJÁBAN

Tartalom. 1. A dokumentum célja... 2

Az éves statisztikai összegezés STATISZTIKAI ÖSSZEGEZÉS AZ ÉVES KÖZBESZERZÉSEKRŐL A KLASSZIKUS AJÁNLATKÉRŐK VONATKOZÁSÁBAN

Ipari és vasúti szénkefék

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

a hitelről és a lízingről tudni kell Amit

Amit a Hőátbocsátási tényezőről tudni kell

A Rendelet módosításának másik eleme a Tiszta udvar, rendes ház és a Tiszta, rendezett

Ablakok használata. 1. ábra Programablak

Fazekas Mihály Fővárosi Gyakorló Általános Iskola és Gimnázium

DÉL-DUNÁNTÚLI REGIONÁLIS MUNKAÜGYI TANÁCS MÁJUS 5-I ÜLÉS

2004. december 1. Irodalom

Fúvókás sugárbefúvó cső DSA-RR

Adatgyőjtés, mérési alapok, a környezetgazdálkodás fontosabb mőszerei

Napenergia hasznosítási lehetőségek összehasonlító elemzése. Mayer Martin János Dr. Dán András

Beszámoló: a kompetenciamérés eredményének javítását célzó intézkedési tervben foglaltak megvalósításáról. Őcsény, november 20.

1. Nyomásmérővel mérjük egy gőzvezeték nyomását. A hőmérő méréstartománya 0,00 250,00 kpa,

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

Bevezetés a lágy számítás módszereibe

KOVÁCS BÉLA, MATEMATIKA I.

Az idegrendszeri memória modelljei

Programozás. A programkészítés lépései. Program = egy feladat megoldására szolgáló, a számítógép számára értelmezhető utasítássorozat.

Bináris keres fák kiegyensúlyozásai. Egyed Boglárka

xdsl Optika Kábelnet Mért érték (2012. II. félév): SL24: 79,12% SL72: 98,78%

Átírás:

Kereséssel történő problémamegoldás Ormándi Róbert

Problémamegoldás kereséssel Célorientált ágensek egyik típusa Általános keret, melyben: Meghatározásra kerül(nek) a cél(ok) Megfogalmazásra kerül a probléma állapottér reprezentáció Probléma megoldása keresés az állapottérben A keresés eredményének (cselekvéssorozat) végrehajtása

Problémamegoldás kereséssel Alkalmazható, ha a környezet: Statikus: A környezet változatlan Diszkrét Megszámlálható(an véges vagy végtelen számú) állapottal leírható Determinisztikus A következő állapot teljes egészében meghatározott az aktuális állapot és egy választott cselekvés által Nincs véletlen komponens Teljesen megfigyelhető

Problémamegoldás kereséssel Célorientált ágensek egyik típusa Általános keret, melyben: Meghatározásra kerül(nek) a cél(ok) Megfogalmazásra kerül a probléma állapottér reprezentáció Probléma megoldása keresés az állapottérben A keresés eredményének (cselekvéssorozat) végrehajtása

Állapottér Probléma megfogalmazása, absztrakció Problémaspecifikus részletek megtartása Meg kell határozni a következőket: Lehetséges állapotok halmaza (csomópontok) Lehetséges cselekvések halmaza (élek) Minden cselekvés cselekvés, állapot párok halmazát Kezdőállapot Végállapotok halmaza Állapotátmenet költség függvénye (élsúlyok) súlyozott, irányított gráf állapottér

Állapottér Probléma: Aradról Bukarestbe szeretnénk navigálni Térkép alapján elkészítjük az állapottér reprezentációt Keresést végzünk az állapottérben Keresés eredményét végrehajtjuk Kereső algoritmus csak egy gráfot lát lehet általános Útvonal költsége, hossza: az alkotó élek összsúlya

Állapottér további példák 8-as kirakó: Állapottér: 8 számérték + üres hely pozíciója Állapotátmenet: üres hely 4 irányba mozgatásával (balra, jobbra, fel és le) előálló legális állapotok Állapotátmenet költsége: 1 Kezdő állapot véletlenszerű Végállapot: ábrán látható

Állapottér további példák 8 királynő (v. 1.): 8 királynő (v. 2.): Állapottér: 0-8 királynő tetszőleges elhelyezése a táblán Állapotátmenet: helyezz egy királynőt egy üres mezőbe Állapotátmenet költsége: 1 Kezdő állapot: üres tábla Végállapotok: 8 királynő a táblán, egyik sincs támadás alatt ~ 10 14 számú állapot Állapottér: n (0-8) királynő elhelyezése a táblán az n baloldali oszlopban, úgy hogy nincs támadás Állapotátmenet: helyezz egy királynőt a legbaloldalibb még üres mezőbe, hogy ne legyen támadás ~ 2057 számú állapot és az állapottér egy fa jó állapottér reprezentáció fontos

Problémamegoldás kereséssel Célorientált ágensek egyik típusa Általános keret, melyben: Meghatározásra kerül(nek) a cél(ok) Megfogalmazásra kerül a probléma állapottér reprezentáció Probléma megoldása keresés az állapottérben A keresés eredményének (cselekvéssorozat) végrehajtása

Kereső algoritmusok fakeresés Adott kezdőállapotból, keressünk legrövidebb utat valamelyik célállapotba Ötlet: növesszünk keresőfát a kezdőállapotból, szomszédos állapotok hozzáadásával, amíg célállapotot nem találunk Perem/nyílt halmaz karbantartása, eltérő megvalósítás más stratégia Vigyázat! A keresőfa NEM azonos az állapottérrel. Véges méretű állapotterek esetén is kaphatunk végtelen méretű keresőfát (pl. Navigáció probléma)

Kereső algoritmusok fakeresés

Kereső algoritmusok elemzése Teljesség: akkor és csak akkor, ha minden esetben, amikor létezik véges számú állapot érintésével elérhető célállapot, az algoritmus megtalálja Optimalitás: akkor és csak akkor, ha teljes és a megtalált célállapot optimális költségű Futásidő és tárigény NEM az állapottér méretének függvényében vizsgáljuk, hanem: b: szomszédok maximális száma m: keresőfa maximális mélysége d: legkisebb mélységű célállapot

Szélességi keresés A fakeresés algoritmusban a perem megvalósítása FIFO (sorral) szintenkénti bejárás Teljes, minden véges számú állapot érintésével elérhető állapotot véges időben elér Általában nem optimális, de pl. ha a költség a mélység nemcsökkenő függvénye, akkor igen. Időigény = tárigény = O(b d+1 ) Bizonyítás: Időigény: generált csomópontok: 1+b+...+b d +b d+1-1= O(b d+1 ) Tárigény: perem a memóriában + összes ős = generált pontok száma Komplexitás exponenciális nagyon kis mélységek jönnek szóba futásidő és tár tekintetében is

A fakeresés algoritmusban a perem megvalósítása LIFO (veremmel) legmélyebben fekvő csomópontok kifejtése Teljes, teljes ha a keresési fa véges mélységű (m) Nem optimális (ellenpéldával bizonyítható) Időigény = O(b m ) (legrosszabb), tárigény = O(bm) Bizonyítás: Mélységi keresés Időigény: generált csomópontok: 1+b+...+b m -1= O(b m ) Tárigény: m méység, minden mélységben a szomszédság tárolt Futásidő nagyon rossz m>>d, nem teljes és nem optimális, tárigény javítható speciális implementációval

Iteratívan mélységű keresés Mélységi keresések sorozata 1, 2, 3, stb., mélységkorlátokkal, amíg célállapotot találunk. Teljes és optimális (feltéve, hogy a költség a mélység nemcsökkenő függvénye) Időigény = O(b d ) (legjobb, ~ szélességi), tárigény = O(bd) (jobb mint a mélységi) Meglepőnek tűnhet, hogy többször generálunk csomópontokat mégis a legjobb futásidőt érjük el, ok: a szélességi a d+1-dik szintről is generál csomópontokat és a levelek számossága a fában hatalmas Bizonyítás: Időigény: generált csomópontok: d1+(d-1)b+...+1b d = O(b d ) (ahol b d -t kiemelve a maradék összeg, egy konvergens sorral korlátozható) Tárigény: d mélységig a szomszédság a peremben ~ szélességi

Egyenletes költségű keresés A peremben a rendezés költség alapú: először a legkisebb költségű csúcsot terjesztjük ki Teljes és optimális, ha minden él költsége nagyobb mint 0 0 él és visszamutató él esetén végtelen ciklus! Idő és tárigény függ a költségfüggvénytől, nem tárgyaljuk A szélességi keresés egyenletes költségfüggvénnyel ennek egy speciális esete

Kétirányú keresés Start Cél irányába és Cél Start irányban is keresünk Csak akkor alkalmazható, ha a végállapotok halmaza explicit adott (sakk, esetén sakk-matt tesztnél nem) Mindkét irányban szélességi keresést használva, egyenletes lépésköltség esetén teljes és optimális Időigény = tárigény = O(b d/2 )

Gráfkeresés Ha az állapottér nem fa, akkor a fakeresés véletlen ciklusban eshet, vagy csak a hatékonysága drasztikusan csökkenhet Ötlet: zárt halmaz bevezetése, amiben tároljuk a már kifejtett csomópontokat minden állapothoz csak a legelső megtalált út lesz tárolva Probléma: Mi van, ha egy adott állapothoz a később megtalált út jobb? Egyenletes költségű útnál az első megtalált útnál nincs jobb (Dijkstra, >0 költség feltétel kell!) Bizonyítás: indukcióval, optimális útnak valamelyik állapota mindig a nyílt halmazban van Mélységi keresésnél átlinkelés, ha jobbat találtunk tárigény változik

Informált keresések Informálatlan esetben, csak arról volt információnk, hogy milyen úton jöttünk az adott állapotban, de arról nem, hogy az adott állapot mennyire jó, azaz milyen messze van a céltól (becsülve). Heurisztika: becslés arra, hogy az adott állapot milyen messze van egy célállapottól Pl. légvonalbeli távolság a navigációnál

Mohó legjobb először keresés A peremben a rendezést h(n) alapján végezzük: a legkisebb értékű csúcsot vesszük ki Hasonló a mélységi kereséshez, csak h(n) minimalizálása alapján halad a mélységben előre Feltétel: h(n) = 0, minden n célállapotra Teljes, teljes ha a keresési fa véges mélységű (m) Nem optimális (h(n) becslés,) Időigény = O(b m ) (legrosszabb), tárigény = O(bm) Gráfkeresés esetén a zárt halmaz elemeinek átlinkelése szükséges A legrosszabb eset nagyon rossz, de jó heurisztika esetén javítható a teljesítménye

A* algoritmus A peremben a rendezést f()=g()+h() alapján végezzük: a legkisebb értéket vesszük ki. f() az adott állapoton átmenő legkisebb költségű utat becsli h()=0 esetén, gráfkeresés alkalmazásával Dijkstra algoritmust kapjuk h() elfogadható: ha nem becsli túl a a tényleges költség (pl. légvonalbeli távolság) Fakeresés, és elfogadható h() esetén, véges fa mellett a A* optimális Bizonyítás: G szuboptimális állapotre f(g)=g(g)+h(g)=g(g) > C >= (bármely n optimális útrészletre) g(n) + h(n) = f(n) n hamarabb kerül kifejtésre

A* algoritmus Heurisztika konzisztens: bármely (n,n') élre: h(n) <= c(n, a, n') + h(n') Háromszög egyenlőtlenség f(n) értékek bármely út mentén növekszenek Bizonyítás: f(n')=g(n') + h(n') = g(n) + c(n,a,n')+h(n') >= g(n) + h(n) = f(n) Következmény: gráfkeresést alkalmazva, véges fában, konzisztens heurisztikával A* optimális A* optimálisan hatékony, hiszen azokat a csúcsokat terjeszti ki, amire f() < C és ennyit biztosan ki kell, különben optimum kikerülhető Hátrány, nagy tárigény! Jó h() sokat segít.

Egyszerűsített memóriakorlátozott A* Memória korlátos Ha elfogyott: Töröljük a legrosszabb utat, ha mind egyforma, akkor a legrosszabbat Tegyünk az ősbe egy bejegyzést, hogy vissza tudjunk térni Nagy terek esetén ugrálhat az utak között.