Speciális útkereső algoritmusok. Kelemen Zsolt

Hasonló dokumentumok
Navigáci. stervezés. Algoritmusok és alkalmazásaik. Osváth Róbert Sorbán Sámuel

Budapesti Műszaki és Gazdaságtudományi Egyetem V i l l a m o s m é r n ö k i é s I n f o r m a t i k a i K a r

Közösség detektálás gráfokban

Időjárási csúcsok. Bemenet. Kimenet. Példa. Korlátok. Nemes Tihamér Nemzetközi Informatikai Tanulmányi Verseny, 2-3. korcsoport

Láthatósági kérdések

Hálózati réteg. WSN topológia. Útvonalválasztás.

Mesterséges Intelligencia MI

Gépi tanulás a gyakorlatban. Lineáris regresszió

Elengedhetetlen a játékokban, mozi produkciós eszközökben Nélküle kvantum hatás lép fel. Az objektumok áthaladnak a többi objektumon

Lehetséges vizsgálatok III: Szimmetrikus bolyongás Jobbra => +1; Balra => -1 P(jobbra) = P(balra) = ½

A LEGKÖZELEBBI SZOMSZÉD ANALÍZISHEZ SZÜKSÉGES TERÜLETI ADATBÁZISOK KIALAKÍTÁSÁNAK MÓDSZERTANI KÉRDÉSEI

Csatlakozási állapot megjelenítése

Markerek jól felismerhetőek, elkülöníthetők a környezettől Korlátos hiba

openbve járműkészítés Leírás az openbve-hez kapcsolódó extensions.cfg fájl elkészítéséhez

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

Visszalépéses keresés

6000 Kecskemét Nyíri út 11. Telefon: 76/ ; Fax: 76/ Gyakorló feladatok

Assignment problem Hozzárendelési feladat (Szállítási feladat speciális esete)

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

29. Visszalépéses keresés 1.

Összefoglalás és gyakorlás

Algoritmuselmélet. Gráfok megadása, szélességi bejárás, összefüggőség, párosítás. Katona Gyula Y.

Mintaillesztő algoritmusok. Ölvedi Tibor OLTQAAI.ELTE

Alap-ötlet: Karl Friedrich Gauss ( ) valószínűségszámítási háttér: Andrej Markov ( )

Gráfok 2. Legrövidebb utak, feszítőfák. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor

Feladatok MATEMATIKÁBÓL II.

Programozás alapjai II. (7. ea) C++ Speciális adatszerkezetek. Tömbök. Kiegészítő anyag: speciális adatszerkezetek

Regresszió. Csorba János. Nagyméretű adathalmazok kezelése március 31.

Speciális adatszerkezetek. Programozás alapjai II. (8. ea) C++ Tömbök. Tömbök/2. N dimenziós tömb. Nagyméretű ritka tömbök

b. Ha R16-os felnit és 55-ös oldalfalmagasságot választunk, akkor legfeljebb mennyi lehet a gumi szélessége? (10 pont) MEGOLDÁS:

A 2017/2018 tanévi Országos Középiskolai Tanulmányi Verseny döntő fordulójának feladatai. INFORMATIKA II. (programozás) kategória

7. Régió alapú szegmentálás

Programozás alapjai II. (7. ea) C++

Geometriai valo szí nű se g

Felvételi tematika INFORMATIKA

Felhasználói kézikönyv

Algoritmusok és adatszerkezetek 2.

Algoritmuselmélet. 2-3 fák. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem. 8.

Adatszerkezetek 2. Dr. Iványi Péter

Tudáshálózatok kialakulása és regionális fejlődés egy integrált modell alkalmazásának tapasztalatai a magyar régiók esetében Sebestyén Tamás,

Gráfok 1. Tárolási módok, bejárások. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor

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

Keresés képi jellemzők alapján. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék

Koordinátageometria. , azaz ( ) a B halmazt pontosan azok a pontok alkotják, amelynek koordinátáira:

Érettségi feladatok: Síkgeometria 1/6

Mechatronika segédlet 8. gyakorlat

Az alakítással bevitt energia hatása az ausztenit átalakulási hőmérsékletére

Diszkréten mintavételezett függvények

c adatpontok és az ismeretlen pont közötti kovariancia vektora

Miskolci Egyetem Gépészmérnöki és Informatikai Kar Informatikai Intézet Alkalmazott Informatikai Intézeti Tanszék

Forgalmi modellezés BMEKOKUM209

Döntéselőkészítés. VII. előadás. Döntéselőkészítés. Egyszerű Kőnig-feladat (házasság feladat)

BABEŞ BOLYAI TUDOMÁNYEGYETEM MATEMATIKA ÉS INFORMATIKA KAR BBTE Matek-Infó verseny 1. tételsor INFORMATIKA írásbeli. A versenyzők figyelmébe:

Képrekonstrukció 9. előadás

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

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK EMELT SZINT Koordinátageometria

A Viharvadászok Egyesületének tagi szolgáltatásai

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

2. Visszalépéses keresés

A 2013/2014 tanévi Országos Középiskolai Tanulmányi Verseny döntő forduló javítási-értékelési útmutató. INFORMATIKA II. (programozás) kategória

Szimulációs technikák

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

Dicsőségtabló Beadós programozási feladatok

Miről lesz szó? Videó tartalom elemzés (VCA) leegyszerűsített működése Kültéri védelem Közúthálózat megfigyelés Emberszámlálás

Keresések Gregorics Tibor Mesterséges intelligencia

HÁZI FELADAT PROGRAMOZÁS I. évf. Fizikus BSc. 2009/2010. I. félév

Éldetektálás, szegmentálás (folytatás) Orvosi képdiagnosztika 11_2 ea

Mesterséges Intelligencia MI

CSAPADÉKVÍZ GAZDÁLKODÁS A TELEPÜLÉSEKEN

Véletlenszám generátorok és tesztelésük. Tossenberger Tamás

Molekuláris dinamika I. 10. előadás

41. ábra A NaCl rács elemi cellája

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

Monte Carlo módszerek a statisztikus fizikában. Az Ising modell. 8. előadás

A 2013/2014 tanévi Országos Középiskolai Tanulmányi Verseny első forduló javítási-értékelési útmutató. INFORMATIKA II. (programozás) kategória

1. Monotonitas, konvexitas

Arany Dániel Matematikai Tanulóverseny 2016/2017-es tanév első (iskolai) forduló Haladók II. kategória

Robotika. Relatív helymeghatározás Odometria

VI.1. NEVEZETESSÉGEK HÁROMSZÖGORSZÁGBAN. A feladatsor jellemzői

Képfeldolgozás Szegmentálás Osztályozás Képfelismerés Térbeli rekonstrukció

22. GRÁFOK ÁBRÁZOLÁSA

DIGITÁLIS TEREPMODELL A TÁJRENDEZÉSBEN

Internet-hozzáférések teljesítményvizsgálata webböngészőben

2000 Szentendre, Bükköspart 74 MeviMR 3XC magnetorezisztív járműérzékelő szenzor

10: Peer-To-Peer Hálózatok I. HálózatokII, 2007

Autonóm robotok kooperatív irányítása stratégiai célok megvalósításához

mintásfal mintásfal :m :sz :dbjobbra :dbfel

Programozás I. Gyakorlás egydimenziós tömbökkel Többdimenziós tömbök Gyakorló feladatok V 1.0 ÓE-NIK-AII,

Technikai áttekintés SimDay H. Tóth Zsolt FEA üzletág igazgató

TÉRINFORMATIKAI ALGORITMUSOK

Fraktálok. Löwy Dániel Hints Miklós

A 2010/2011 tanévi Országos Középiskolai Tanulmányi Verseny második fordulójának megoldása. II. (programozás) kategória

I. Internetes keresési feladatok (ajánlott idő: 20 perc)

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

(Solid modeling, Geometric modeling) Testmodell: egy létező vagy elképzelt objektum digitális reprezentációja.

4. Lokalizáció Magyar Attila

Elektrotechnika. Ballagi Áron

Hidraulikus hálózatok robusztusságának növelése

Georg Cantor (1883) vezette be Henry John Stephen Smith fedezte fel 1875-ben. van struktúrája elemi kis skálákon is önhasonló

Géprajz - gépelemek. Előadó: Németh Szabolcs mérnöktanár. Belső használatú jegyzet 2

Átírás:

Speciális útkereső algoritmusok Kelemen Zsolt

Röviden Útkeresési algoritmusok: gráfos keresés gráf nélküli keresés ant search (hangya alapú keresés)

Általában a mesterséges intelligencia egyik legrégebbi területe az útkeresés gráfokkal modellezik a világot a gráfot minden egyes problémára külön meg kell adni hátrányok: - időigényes - mi van ha ismeretlen a kornyezet?

Feladat 2 vagy több dimenzió - még 2,5 D vagy 3D lehet, ennél több nem két, koordinátával megadott pont között utat találni pl. robot a Marson

Algoritmusok célja nem egy konkrét út megtalálása, hanem olyan két vagy akár több dimenziós sáv kijelölése, amelyben a célpont felé navigáló objektumok már csak a lokális környezetet vizsgáló algoritmussal is - komolyabb nehézségek nélkül haladhatnak előre, még akkor is ha közben ki kell kerülniük néhány akadályt (például társakat)

Térfelosztó algoritmusok látható csomópontok (PoV( PoV) konvex cellák (C-Cells( Cells) maximális területekre bontás kvadratikus fa hullámfront-terjesztés terjesztés (wavefront( expansion)

Látható csomópontok (PoV( PoV) az akadályok sarkai a lényegesek a gráf pontjai az akadályok sarkaitól adott távolságra vannak, épp annyira, hogy a csomópontokon áthaladó ágens ne ütközzön bele az akadákyba élek azon pontok között, melyek látják egymást előny: : ha a cél közel van a falhoz, rövid utat talál hátrány: sok gráfpontra van szüks kség

Látható csomópontok (PoV( PoV)

Konvex Cellák (C-Cells( Cells) az akadályok sarkait csak az onnan láthjató legközelebbi akadálysarkokkal köti össze, az így kialakult szakaszok nem élek lesznek, hanem területhatárok minden területhez egy gráfpontot rendelünk, míg az éleket a szomszédsági viszonyok alapján húzzuk be kevés gráfpont,, de az utvonalak sem olyan rövidek

Konvex Cellák (C-Cells( Cells)

Maximális területekre bontás azonos méretű darabokra vágja a síkot az akadályok konvex sarkait vetíti a legközelebbi akadályra az így kapott vágási vonalat összeveti a C-CellsCells eredményével és a 2 szakasz közül a rövidebbet tartja meg az így kapott területekhez gráfpontokat rendelünk, amelyet a szomszédsági viszonyok alapján kötünk össze élekkel

Kvadratikus Fa négyzetekre bontjuk a síkot ha a felbontás nem elég pontos, akkor egy-egy négyzetet negyedakkora területű négyzetekre vágunk ezt a lépést addig ismételjük, amíg a hiba kellően kicsi nem lesz hátrány: ferde vonalat nem lehet jól követni előny: alkalmazható 3D-ben is Oktális Fa

Kvadratikus Fa

Hullámfront terjesztés tároljuk a síkot egy tömbben (a térképet kvantáljuk kis négyzetekre) és mindegyikhez hozzárendelünk egy térerőt Elindulunk egy cellától, 0 értéket rendelünk hozzá, majd az összes szomszédos cellájának 1-et adunk, az ezekkel szomszédosaknak 2-t, 2... hibája: általában nem a legjobb utat adja, mert az átlósan elhelyezkedő mezők 1,4-szer akkora távolságlépést jelentenek mint a többi

Hullámfront terjesztés, javítások I. a tömböt a távolságmérést figyelembevéve töltjük ki II. hullámfront-terjesztést terjesztést az akadályokból kiindulva végezzük mindegyiknek saját t erőtere ha egy cellába több t különbk nböző tér értéke kerülne, akkor azt megjelölj ljük és s nem is lépünk l belőle le tovább olyan térkt rképet kapunk, amin az akadályokt lyoktól l azonos távolst volságra lévő útvonalak vannak megjelölve lve

Hullámfront terjesztés

Gráfépítés keresés közben az előbbi módszerek közös hátránya: szükség van a teljes világ ismeretére olyan eljárás kell, amely csak a keresés által bejárt területeket alakítja diszkrétté, sőt a keresés közben végzi ezt az átalakítást szükség van egy gráfra, amit keresés közben építünk fel, ennek a pontjait véges kiterjedésű testekkel helyettesítünk

(folytatás) vigyázni a méret megválasztásánál legegyszerűbb a pontokhoz gömböket rendelni gömbökkel nem lehet a teret hézagmentesen lefedni, de a hiba csökkenthető, ha megengedjük, hogy a gráfpontok kismértékben átlapolódjanak ha nagyon precízek akarunk (vagy kell!) ) lenni, akkor más testeket használunk (pl. téglatest) az algoritmus bonyolultabb lesz

Akadályok és falak tárolása az akadályokat véletlenszerű mintavételezássel írjuk le, mivel az algoritmus működéséhez ugyanis áltlában elég csak akadályonként néhány pont ismerete ezekhez a pontokhoz is méretet rendelünk minél l nagyobb a pontméret, annál l nagyobb lesz a minimális átjáró,, amit megtalálunk lunk

(folytatás) ha nem tudunk semmit a környezetrk rnyezetről, akkor célszerű az egység g orientáci ció-független méretének (legkisebb befogadó gömb átmérője) legfeljebb felét t használni a legalább kétszer ekkora lyukakat biztosan tudja detektálni csapdák mérete

Keresés menete a kezdőpont lesz az első gráfpont minden szomszédot azonos méretűnek veszünk kiszámítjuk, hogy a gömb sugarával megegyező sugarú kör körül milyen távolságra kell elhelyezni a pontokat további alakítások segítségéevel behúzzuk a szomszédokat a gömb felületére

Keresés menete

Előnyök - Hátrányok az útvonal nem darabos, mert a keresés eredménye nem egy út, hanem egy bizonyos szélességű sáv az eljárás 3D-ben is működik alacsony sebesség: a klasszikus módszereknél ember tervezi a gráfot kevesebb pontot fog tartalmazni

Az eredmény

Ant Search egyes célpontok között nagyon sok gráfponton vezethet át az út négyzetrácsos térkép algoritmus: a térkép távolabbi pontjai között útvonalkeresést hivatott elvégezni a keresési térben elég nagy az élek száma magát t a végeredmv geredményt is széles utak képezikk

A természetben az egyedeknek nem kell ismerniük az egész térképet, csak a közvetlen környezetüket, ennek ellenére idővel globálisan jó megoldást találnak feromon nevű hormon ha egy hangya feromon-nyomot nyomot (vagy egy a sajátjánál erősebb feromon-nyomot nyomot) ) talál, akkor nagy valószínűséggel elkezdi követni azt sok hangya: a kezdeti véletlenszerű bolyongás után kialakulnak azok az útvonalak, amelyeket a jelentős részük használ

A természetes módszer szimulácója Sok, egyszerű működésű hangyára van szükség: minden hangya egyszerre egy négyzetrácsnyit tud lépni a 4 szomszédos mező egyikére minden h. minden lépésben feromon-nyomot nyomot húz a továbbhaladási irányukat a környezetükben észlelt nyomvonalak erősségének függvényében, a véletlen bevonásával választják előnyben részesítik az egyenes vonalú mozgást

(folytatás) a visszafele irányt kisebb valószínűséggel válasszák nem mehetnek át az akadályokat jelentő falakon A nem használt nyomvonalaknak idővel el kell illaniuk, hogy nem zavarják a keresést

Bővítési lehetőségek két új hormon bevezetése, az egyik a céltól, a másik a bolytól távolodva gyengül Ez még kevés, ha sok hangya van egy kisebb területen, akkor jó eséllyel beszorulnak, mivel folyton egymásnak fognak ütközni bővíteni kell a hangyákat vezérl rlő szabályokat: csak akkor húzzanak nyomot, ha haladnak is mászhassanak át egymáson

(folytatás) az előző két módszer nem hatékony, abban az esetben a beszorulnak a hangyák valahová a Stacked Canyon (torlódási hormon) bevezetése: ha a hangyák ütköznek egymással kibocsájtják ezt a hormont, amit utána minden hangya igyekszik kerülni Ennek a hormonnak hamar el kell utána illania.

További bővítések A hangyák által egyénileg készített mérések: elmozdulás: minden h. kiszámolja,, hogy n lépés alatt milyen messzire jutott el hormonszint változása: az aktuális céltól távolodva gyengülő hormon mennyiségének a változása n lépés alatt lépésszám: hány lépést tettek meg a legutolsó célpont elérése óta

Magyarázat Ha egy hangya egy bizonyos lépésszám alatt nem éri el a célt, akkor: nagyobb az út hossza mint a lépésszámkorlát rossz irányba ment beszorult valahová

Beszorult valahová A helyzet megoldása: nem teszünk semmit ha egy hangya túllépte a megengedett lépésszámot, akkot már nem húz feromon- nyomot maga után

Felhasználás az algoritmus eredménye két hormon mennyiségi térképe: útvonalak és torlódási pontok a modern RTS (RealTime( Strategy) ) játékok használják fel Bővíthető: még egy hormon bevezetésével megoldható, hogy bizonyos területeket kerüljön el (pl. az ellenség bázisa)

Elemzés jól skálázható jól hangolható a szabad erőforrások mennyiségéhez (hangyaszám) széles utak esetén az eredményben szereplő nyomvonal is szélesebb a torlódási hormon szolgáltat fontos információkat

Hátrányok lassan stabilizálódik a megoldás sok erőforrást igényel, mivel hosszasan kell futtatni a háttérben a szimulációt (az RTS játékok egyenlőtlen erőforrásigénye miatt nem jelent gondot) kell egy magasabb szintű réteg, amely a paramétereket hangolja

Köszönöm a figyelmet!