POSEIDON NAVIGATION PROJECT
|
|
- Jázmin Némethné
- 8 évvel ezelőtt
- Látták:
Átírás
1 POSEIDON NAVIGATION PROJECT Térkép alkalmazás Pocket PC platformra, GPS támogatással SZAKDOLGOZAT Szerzők Jelen dolgozat szerzője Kozulensek Neumann János Informatikai Főiskolai Kar Informatikai Automatizált Rendszerek Szakirány Bedők Dávid és Szirbik Ferenc Bedők Dávid Vámossy Zoltán (docens) és Molnár András (adjunktus) Dátum február 04.
2 1 Tartalomjegyzék 1 TARTALOMJEGYZÉK ELŐSZÓ CÉL MEGHATÁROZÁSA IRODALOMKUTATÁS AZ ÚTKERESÉSRŐL ÁLTALÁBAN ÚTKERESÉS A JÁTÉKOK VILÁGÁBAN [2] Szimulációs program: From Game to Map Csapdák Algoritmusok alapja Dijkstra algoritmusa és a Best-First-Search Az A* algoritmus A HULLÁM-TOVÁBBTERJESZTÉSES ALGORITMUS [3] Legrövidebb út Hullám-továbbterjesztéses algoritmus finomítása Legbiztonságosabb út, Voronoi diagramm Megjegyzések Implementálás GRÁFOK Gráfok ábrázolása Súlyozott és irányított gráf tárolása Minimális költségtérítésű feszítőfa Algoritmusa Legrövidebb út [5] Az algoritmus lényege Az algoritmus részletesebben Az algoritmus pszeudokódja Szimulációs program: Graphs and spanning trees Megjegyzések GLOBÁLIS HELYMEGHATÁROZÓ RENDSZER [6] Egy kis történelem Mai helyzet Pozíció meghatározás A kommunikáció Felmerülő hibák Zavarás A GPS felhasználása térképprogramok esetén TESZTELT GPS KÉSZÜLÉKEK µ-blox MS1E GPS vevőmodul Garmin etrex Vista készülék NMEA 0183 kommunikációs szabvány DESTINATOR RENDSZERTERV A KEZDET A FEJLESZTŐI KÖRNYEZET POCKET PC TESZTKÉSZÜLÉK AZ ELSŐ FUTÓ PROGRAM A.NET RÖVID BEMUTATÁSA ÚJ PROGRAMNYELV ÉS FEJLESZTŐI KÖRNYEZET /107
3 5.7 AZ ELKÉSZÜLT GPS KÉSZÜLÉK A Pocket PC és a GPS összekötése Kommunikáció tesztelés RENDSZERTERV Nulladik rendszerterv modulljai Az egyes modulok kapcsolata Modulok leírása Adatbeviteli modul Kapott adat értelmezése Felhasználói felület modul Térképkezelő modul Adatbázis Software frissítések kezelése RENDSZERTERV A GRÁF MODELL GRAPHS AND SPANNING TREES A PROGRAMRÓL ÁLTALÁBAN FELHASZNÁLÓI KÉZIKÖNYV Új gráf létrehozása Gráf megnyitása Globális beállítási lehetőségek Lokális beállítások Új gráf pont felvétele Új él felvétele a gráfba Gráf pontok és élek módosítása illetve törlése Gráf tulajdonságainak utólagos beállítási lehetősége Az aktuális súly illetve gráf pont adat beállítása Gráf mentése Kapcsolatmátrix generálása Legrövidebb út meghatározása Dijkstra algoritmusa alapján Szerkesztés gyorsítása Tömegesen felvett élek és gráf pontok módosítása és törlése Útkeresés egyszerűbb formája FEJLESZTŐI DOKUMENTÁCIÓ A TObject3D osztály A TGraph osztály Algoritmusok A TypeUnit további részei TESZTELÉS BEÁGYAZÁS A POSEIDON NAVIGATION PROJEKTBE FROM GAME TO MAP FELHASZNÁLÓI KÉZIKÖNYV Új terület létrehozása Terület szerkesztése Beállítási lehetőségek Terjes terület törlése Hullámrajzolás Útkeresés Prioritási sor beállítása FEJLESZTÉSI KÉZIKÖNYV A CTerritory osztály Az osztály attribútumai illetőleg tulajdonágai /107
4 7.2.3 Osztálymetódusok Hullám-továbbterjesztés algoritmusa GRAPHS AND SPANNING TREES MINI C# VÁLTOZAT GRAPHS.NET GRAPHPDA C# OSZTÁLYOK CWorkFileName osztály CFileGraph osztály CGraph osztály A POCKET PC ÉS A GPS ÖSSZEKAPCSOLÁSA EREDMÉNYEK MELLÉKLETEK GRÁFOK [4] Egyszerű gráf Izomorfia GRAPHS AND SPANNING TREES TOBJECT3D OSZTÁLY A konstansok Típusok Változók Az osztály TGRAPH OSZTÁLY A konstansok A változók A típusok Az osztály TYPEUNIT További típusok További eljárások illetve függvények FROM GAME TO MAP GRAPHSDOTNET NAMESPACE Struktúrák CGraph osztály IRODALOMJEGYZÉK /107
5 2 Előszó Jelen dolgozat a i Neumann János Informatikai Főiskolai Karán készült 2004 elejétől 2006 májusáig. Az időszak elején kezdtük el mindketten (Bedők Dávid és Szirbik Ferenc) az Informatikai Automatizált Rendszerek Szakirányt, Vámossy Zoltán Tanár úr vezetésével. A szakirányt megelőzően alapvető ismereteket sajátítottunk el gimnázium illetőleg szakközépiskola alatt, valamint a főiskola első három félévében Turbo Pascal 7 valamint Borland Delphi 7 környezetben, megismerkedve az objektum orientált programozás csírájával. Tanulmányaink ezután kezdtek el rohamos ütemben gyorsulni. Továbbfejlesztettük az OOP-ben eddig megszerzett tapasztalatainkat, megismerkedtünk alapvető képszerkesztési algoritmusokkal, valamint a három dimenziós megjelenítés legegyszerűbb formáival. Programozási ismereteinket a Delphi 7 mellett Microsoft C#.net környezetben is kamatoztattuk. A Poseidon Navigation Project elnevezésű dolgozat készítése során számos hasznos, és életünk során bizonyosan hasznunkra váló ismeretet, tapasztalatot gyűjtöttünk össze őszén a Budapesti Műszaki Főiskolán megrendezésre kerülő XXIX. Tudományos Diákköri Konferencián II. helyezést értünk el az Informatikai Rendszerek Szekcióban, majd ezen tanév tavaszán, 2005-ben az Országos Tudományos Konferencián is azonos eredményt szereztünk (Műszaki Tudományi Szekció, Alkalmazott Számítástechnika tagozat). 5/107
6 3 Cél meghatározása A lehető legrövidebben megfogalmazva egy PDA-ra (tenyérgépre) fogunk elkészíteni egy navigációs programot, mely GPS koordináták segítségével a felhasználó igényeinek és a közlekedési szabályoknak megfelelően járható utakat keres. A térképkészítésnek fantasztikus történelme van, nem véletlenül. Az embert mindig is érdekelte, hogy hol helyezkedik el a világban, és bár mindenre választ nem képes adni, egy fokkal közelebb kerül az igazsághoz, hogyha lejegyzi az eddig látott világokat, és azok elérését, hogy legközelebb is el tudjon jutni oda. Később aztán ezt mások is felhasználhatják arra a célra, hogy számukra idegen helyekre eljussanak, és ott eligazodjanak. Ma már ott tartunk, hogy olyan helyeket is képesek vagyunk feltérképezni, ahova eddig még ember nem jutott el, és sok olyat is, ahova képtelenség is lenne. A GPS, azaz globális helymeghatározó rendszer segítségével pontos adatot kapunk arra nézve, hogy hol helyezkedünk el bolygónk felszínén. Ezt felhasználva software-es támogatást adhatunk a felhasználó kezébe a tájékozódását segítve ezzel. Nem szükséges elemeznie a bonyolult térképeket. Számára csupán az a fontos, hogy eljusson a kívánt céljába. A program, melyet elkészítettünk, és jelen dolgozatban bemutatunk, pont ebben segít neki. Hogy mindezen támogatás mindig elérhető legyen számára, a programot egy Pocket PC-re készítjük el, mely méreténél fogva arra lett tervezve, hogy bárhol, bármikor használhassuk. A kézi-számítógépeknek több nagy csoportjuk is van, az általunk választott gépek valójában egy mini x86-os utasításkészletre épülő lebutított asztali PC-k, melyeken Microsoft Windows Mobile 2003 többfeladatos operációs rendszer futtatnak. Egy térképprogram esetében mit is jelent az a probléma, hogy útkeresés? Ismerünk egy adott pontot (kiindulási pont), ahol éppen mi állunk (GPS szolgáltatja, avagy manuálisan választható). Megjegyezzük, hogy a GPS pontossága vitatható, sőt sokszor nem is határozható meg, mivel a vevő nem lát elég műholdat, avagy azok túl közel vannak egymáshoz képest, így a látott holdak közül kidob a készülék párat. Ilyen esetekben software-es megoldást alkalmazunk majd. Ez azért lehetséges, mert több mint valószínű, hogy az illető annak a pontnak a közelében van, amit az elmúlt pár percben megjelölt a GPS, így a software felajánl egy közeli pontot valahol az előző koordináta, és egy kijelölt cél között, természetesen a felhasználó sebességét is figyelembe véve. Az útkeresés eme előbb említett pont és a cél pont között zajlik majd. Utóbbit vagy kijelöli az illető a térképen (rámutat), avagy beírja szövegesen, hogy mit keres. Miután a program a kérdésekkel egyértelműen beazonosított egy pontot (ami szintén szerepel a térképen) akkor az útkeresés folyamata elindulhat. Ha a térképen lévő pontokat gráf pontoknak tekintjük, akkor az útkeresés a gráf pontjai közötti utak megtalálását jelenti, amennyiben azok léteznek (egy adott térképen szinte mindig létezik út két pont között, lehetne mondani, de ez nem minden esetben van így: pl. ha valaki gyalogosan közlekedik, akkor a folyó, avagy az autópálya négy sávjának közepére nincs út. Ettől függetlenül a program egy figyelmeztetés mellett amennyiben az adott lehetőségekkel út nem létezik, keres alternatív lehetőségeket, tervünk szerint). Van egy olyan lehetőség is, miszerint a térképet grafikusan képzeljük el, és mint képet dolgozza fel a program. Ezt nevezzük pixeles megoldásnak. Ez valószínűleg sokkal pontosabb utat tud meghatározni, ámde felmerül ezzel olyan probléma, hogy GPS koordinátákat képtelenség minden képponthoz tárolni. Mindkét módszernek vannak előnyei, és hátrányai is, ezért talán a legjobb megoldás, ha az előnyüket kivéve egy hibrid módszer megvalósítását tűzzük ki célul. A GPS adatokat egy több szintű gráf-háló tárolja majd (több szint: minden közlekedési módszernek külön gráfháló). 6/107
7 Lehetőség lesz gráfok unióját is venni annak érdekében, hogy olyan esetekben is találjon a program utat, mikor egy szinten belül erre nincs mód. Mindezekre rákerül egy információgazdag grafikus felület, mely színek segítségével tárol adatokat. Ennek van egy váza, ami tartalmazza azon pontokat, amelyek minden eszköz számára megközelíthetetlenek. Ilyen például egy folyó (híd nélküli része), vagy egy ház alapja. Erre kerülnek rá a közlekedési módszerek különféle sémái. Pl. ha gyalog vagyunk, akkor azon utak jelennek meg, amik gyalogosan elérhetők, a többi út ugyanolyan akadály marad, mint mondjuk a ház alapja. Itt is lehetőség lesz arra, hogy minden felület sémát felhasználjunk, és az uniójuk szerint keressünk utat (vagy bármelyik N uniója szerint). Maga az útkeresés egy végletekig egyszerűsített modell arra nézve, hogy mi általa megtaláljuk helyünket a világban. Tervezzük, hogy térképprogramunkat felruházzuk a lehetőségekhez mérten számos KRESZ és gyakorlati szabállyal, ezzel is javítva a térképprogram hétköznapokban való felhasználásának eredményességét. Így az elején már csak egy dolgot kell tisztázni, hol lesz a kapcsolat a gráf és a grafikus megoldás között? A felhasználó a grafikus felületet látja, amin külön pontok jelzik azon pixeleket, melyek gráf pontok is. Útkeresésnél a felhasználó dönthet, hogy melyik út jelenjen meg, vagy rábízza a készülékre a dolgot. Valahogy így fogalmaztuk meg az ötleteinket, illetve célkitűzéseinket 2004-ben. Ezek után kezdődött a munka tényleges része, melyben természetesen a fenti célok elérésre törekedtünk, azonban néhol be kellett látnunk, hogy nem minden realizálható a mi szintünkön. A Poseidon Navigation Project fejlesztése több fázisban történt. Fél év irodalomkutatást követően elkezdtük kidolgozni a megvalósítás lehetőségeit, illetőleg elkezdtük begyűjteni a szükséges hardware eszközöket. Hardware szempontjából két különféle Pocket PC kézi-számítógéppel dolgoztunk. Mindegyiken Microsoft Windows Mobile 2003 operációs rendszer futott. Ezeken kívül természetesen szükségünk volt a GPS adatokat szolgáltató GPS készülékre, melyből szerencsére többet is tudtunk tesztelni. A hardware eszközök kommunikációját soros port segítségével oldottuk meg, kezdeti sikertelenségek és átmeneti megoldások után. A software mag fejlesztése két irányban haladt. Az egyik irány az adatok tárolását és az útkeresést tűzte ki célul. Ehhez Borland Delphi 7 környezetben készítettünk PC-n futó alkalmazásokat. A másik irány a Pocket PC-n lévő tényleges program fejlesztése volt, melyre a.net framework lehetőségeit kihasználó Microsoft Visual Studio.net C# nyelvét választottuk. A megvalósult program bár nem teljesíti mindazt, amit a cél meghatározásakor kitűztünk, de egy általunk mért térképrészleten valós időben, GPS adatokat felhasználva legrövidebb utat képes meghatározni, és megjeleníteni Pocket PC-n! 7/107
8 4 Irodalomkutatás Egy nagyobb munka előtt minden esetben célravezető körülnézni, hogy mások milyen megoldást alkalmaztak hasonló helyzetben. Érdemes feldolgozni ezen eredményeket, és megjelölni azon részeket, melyeket majdnem mi is alkalmazni fogunk. Nem szabad azonban figyelmen kívül hagyni, hogy törekszünk munkánk során valami újat is hozzáadni a már létező megoldásokhoz, így néhány esetben fel kell hívni a figyelmet a rendszerek és a rendszerünk különbségeire, az ebből adódó előnyökre és hátrányokra. 4.1 Az útkeresésről általában Az útkeresés problémája az élet sok területén felmerül. Mi a játékok világán keresztül ismerjük meg kicsit alaposabban. Az útkeresés az egyik legkeresettebb mesterséges intelligencia típus a számítógépes játékokban. Sok mindentől függ, hogy egy játék jó lesz-e. Egy ilyen fontos tényező az alkalmazott útkereső algoritmus. Szerencsére ez a probléma ma már többnyire megoldott, de azért az ember nap mint nap találkozhat félresikerült alkotásokkal, melyekben nem gondolták végig, hogy ennek milyen nagy jelentősége van. 4.2 Útkeresés a játékok világában [2] Azt a problémát járjuk körül, hogy egy játékban hogyan lehet egy adott objektumot egy másik (cél) pontba vinni. A téma így megfogalmazva, hogy egy adott pontot hogy lehet eljuttatni egy másikba, teljes mértékben a térképprogram grafikus felületébe illik, hiszen ott is ugyanez a feladat Szimulációs program: From Game to Map Az útkeresés problémájának bemutatására két szimulációs program fog elkészülni. Ezek közül az egyik a számítógépes játékokhoz hasonlóan fog működni (ennek elnevezése From Game to Map). A tervek szerint legelső verziójában egy testre, és két dimenzióban akadályokkal övezett területen ad megoldást különféle algoritmusok alapján. A következő verzió a fent leírt dolgokat ellenségekkel övezett területen is végrehajtja. Ellenségnek nevezzük a mozgó akadályokat. Az ezt követő verzióban már három dimenzióban szimulálva hajtom végre ugyanezt, majd a végső programban újfent előjönnek az ellenségek. Amit ebből a térképprogramba fel tudunk majd használni, az a harmadik verzió, ám roppant hasznos lehet egy jól működő végleges is, más feladatok megoldására. A játék szempontjából tárgyalom én is a problémát, persze ettől könnyű elvonatkoztatni. Akadályokat el kell tudnia kerülni az algoritmusnak, szintúgy ellenségeket (például autókat: ha gyalog megyünk, nem mehetünk rá az útra). És ha lehet minimalizálni kell a költségeket. Ez egy összetett kérdés, mivel adott utaknak különféle költségei lehetnek, attól függően, hogy milyen nézőpontból vizsgáljuk. Nézzünk erre egy egyszerű példát: van egy távolság, ami autópályán haladva 50 km távolságban van, de létezik egy földút is, amin haladva 20km alatt el tudjuk érni célunkat. Autópályán haladva 100 km/h-val tudunk haladni, míg földúton esetleg csak 30-al (1. ábra). 8/107
9 Ábra 1 Súlyozás A sok fékezés és rossz utak miatt a földúton járművünk kétszer annyit fogyaszt, mint a kényelmes autópályán. Mindezek után, ha a legrövidebb utat akarjuk, akkor a földutat választjuk, ismerve kocsink tulajdonságait, de a hosszabb autópálya a benzin, a kocsi állapota szempontjából megfelelőbb költségekkel rendelkezhet. Fel kell készülni arra az esetre is, hogy az objektumok a későbbiekben nevezzük ezeket átvitt értelemben ellenségnek (de ide értve saját társainkat is, ha mondjuk egy stratégiai játékban gondolkozunk) mozognak, így minden ilyen ellenség pontot újra meg kell vizsgálni minden megtett lépés után, és a legrövidebb, avagy legkisebb költségekkel rendelkező utat is újra szükséges számolni. Fontos dolog az is, hogy nehogy beragadjunk, és pár adott pont között mozogjunk oda-vissza. Emlékezet segítségével erre előre fel kell készítenünk algoritmusunkat. Ez a memória változó méretű lehet, tapasztalatok útján fogjuk a megfelelő mélységet beállítani Csapdák Ábra 2 Csapda (Forrás: A 2. ábrán szürkével jelölt területet nevezhetjük csapdának. Ugyanis a felső képen azt láthatjuk, hogy a kiinduló ponttól észleljük a célt, de mikor odaérünk, rájövünk, hogy akadály van előttünk. Amennyiben látjuk előre a teljes akadályt, avagy elérünk egy olyan pontot (detect obstacle here), ahonnan már látjuk, akkor a csapdát elkerülve sokkal rövidebb úton elérhetjük a célunkat Algoritmusok alapja Számos útkereső algoritmus a 3. ábrához hasonló gridet használ. A két dimenziós képen jelöltek a kapcsolódási pontok, azaz hogy honnan hova lehet eljutni. A gyorsabb algoritmus 9/107
10 érdekében ezt a módszert érdemes megfontolni, és felhasználni a térkép grafikus felületén, hogy ott sem minden pixelt veszünk figyelembe, hanem mesterségesen felosztott grid pontokat! (esetleg lehetőség van a teljesen pontos pixeles felosztásra is, ahol nemcsak derékszögű irányváltások léteznek, hanem 360 fokosak is, de nem kizárt ennek túlzott bonyolultsága és lassúsága). Ábra 3 Grid Dijkstra algoritmusa és a Best-First-Search Dijkstra algoritmusa garantálja nekünk a legrövidebb út megtalálását a start és cél pont között. Ábra 4 Dijkstra (Forrás: A 4. ábrán látható a kiinduló pont középen, és a kék célpont a színezett rész szélén. A kékes színek azok a területek, amelyeket az algoritmus megvizsgált. A Best First-Search (továbbiakban BFS) algoritmus ehhez nagyon hasonlóan működik, de tartalmaz számos heurisztikát, hogy pl. milyen messze van a cél. A BFS nem garantálja a legrövidebb utat, de sokkal rövidebb idő alatt talál megoldást. Az 5. ábrán a sárga pont jelöli, hogy magas heurisztikus értéke van, azaz messze van a céltól, és fekete jelöli az alacsonyat. 10/107
11 Ábra 5 Best first serach (Forrás: Eddig egy egyszerű szituációt vizsgáltunk, de figyeljük meg, mi történik olyan esetben, amikor a térképen akadályok vannak: a 6. ábra felső részén Dijkstra algoritmusát, míg alsó részén a BFS-t láthatjuk. Ábra 6 Akadályok (Forrás: A lényeg, hogy bár a BFS egyszerű esetekben gyorsnak tűnhet, egy kis probléma esetén a futási idő már sokkal kevésbé szembetűnőbb, ám a megoldás jósága nem is hasonlítható Dijkstra útkereső algoritmusához. Nézzünk most egy olyan algoritmust, mely a fenti két megoldás előnyeit egyesíti! 11/107
12 4.2.5 Az A* algoritmus Az A* ( A csillag ) algoritmus garantálja számunkra a legrövidebb utat, sőt, ezen kívül heurisztikákat is tartalmaz! Tehát lényegében teljesíti azt, amit fentebb írtam: előnyöket egyesít. Nemhiába ez az algoritmus a legnépszerűbb manapság. Az A* rendkívül rugalmas, és széles körben használható. Ábra 7 A* algoritmus (Forrás: Egy kis magyarázat a 7. ábrához: a sárga (h) szín jelöli a céltól való távolságot, a cián (g) pedig a kezdőponttól méret. N csúcs van a képen, g(n) reprezentálja az út súlyát a kezdőponttól minden csúcsra. H(n) pedig a heurisztikus értékét képviseli minden pontnak. Így a legrövidebb út f(n) előáll g(n) és h(n) összegeként. 12/107
13 4.3 A Hullám-továbbterjesztéses algoritmus [3] Valójában két technikáról van szó, mely nagyon hasonló ötleten alapszik. Maga az előző fejezetben említett grid itt is létezik, és itt is hasonló elven tudjuk eldönteni az akadályok helyzetét. Ráadásul az előző fejezetben tárgyalt Dijkstra algoritmusa is ránézésre egyféle hullámterjedést mutatott be, és az is rögtön ki fog derülni, hogy az övé gyorsabban szolgáltat eredményt, mivel ott nem szükséges az egész területet előre ismerni, így szükségtelen bejárni is. Mielőtt előreszaladnánk, térjünk vissza a hullám-továbbterjesztéses algoritmusokhoz. Előre elkészítünk egy mátrixot a teljes térképre nézve. A mátrix elemei itt is bizonyos szempont szerinti heurisztikákat fognak tartalmazni. A hullám-továbbterjesztéses algoritmus egy legrövidebb utat fog megtalálni, avagy egy lehetséges ilyen utat, a legbiztonságosabb út algoritmus pedig azt az utat adja meg, ami a lehető legjobban elkerüli az akadályokat. Azon, hogy egy algoritmus heurisztikákat tartalmaz, azt értjük, hogy ráérzésre kipróbálunk egy lehetőséget a számunkra elérhető számos útból, majd ha megtéve ezt a lépést előrébb jutottunk célunk felé, akkor meghagyjuk, különben visszalépünk Legrövidebb út Nézzük, hogy is működnek ezek az algoritmusok. A 8. ábrán fogunk vizsgálódni. Ábra 8 Térkép A célunk az, hogy a lehető legmagasabb heurisztikus értékkel rendelkező ponttól (a kiinduló pont a legmagasabb értékű, hiszen ez van a legmesszebb a céltól a mi szempontunkból!) eljussunk a legalacsonyabb pontig, a 0-ig, azaz a célig (heurisztikus értéket azonosítom a céltól való távolsággal, ami nem teljesen egyértelmű megfeleltetés). A cél távolsága a céltól 0. Az akadályokat egyel alacsonyabb értékkel jelöljük, mint a start pontot, de ennek csak az algoritmus szempontjából van lényeges szerepe (minden cellaérték a példában egy byte-os adatot képes tárolni, ezért vannak így a határok). Ábra 9 Feltöltés 13/107
14 Először a hullám-továbbterjedéses algoritmust vizsgáljuk meg. Legelső lépésben fel kell töltenünk a mátrixunk még üres mezőit. A céltól fogunk elindulni, és minden szomszédos pontra feljegyezzük, hogy milyen messze van a céltól, azaz mekkora a heurisztikus értéke. Így fog kialakulni a hullámunk. Ezt mutatja a 9. ábra. Feltesszük természetesen, hogy átlósan is tudunk menni, azaz minden esetben, ha nincs akadály, nyolc irány közül választhatunk. A lehetséges út esetében nincs garantálva az, hogy ez a legrövidebb út lesz, mivel ez fog függni a konvencióktól. Az út úgy fog felállni, hogy a kiindulási ponttól elindulunk, és mindig a legalacsonyabb heurisztikus pont felé fogunk lépni. A hullám tulajdonsága miatt arra, hogy beakadjunk két pont között, nincs esély, hiszen biztos, hogy lesz legalább egy, egyel alacsonyabb pont minden mező szomszédságában. Miért is van szükség járulékos szabályokra? Előfordulhat, ráadásul elég sűrűn, hogy egy adott pontból több irányba is tudunk menni! Ahhoz, hogy egyértelmű utat tudjunk meghatározni, ilyenkor meg kell tanítani az algoritmust arra, hogy melyik utat válassza. Ezért egy prioritási sorrendet érdemes felállítani a nyolc lehetséges irány között. Erre egy példát mutat a 10. ábra. Ábra 10 Prioritási sorrend Minél nagyobb a prioritása adott iránynak, annál túlélőbb lesz, ha dönteni kell. A 10. ábra táblázatának a függvényében fog változni maga az út is, ezért nem biztosítható, hogy a legrövidebb utat fogjuk megtalálni. Ezen prioritási kiosztásnak a lehetőségei végesek, így esetlegesen megoldás az, hogy minden lehetőségre megnézzük az utakat, és a legrövidebbet ebből ki tudjuk választani, de ez meglehetősen lassú megoldás. Esetleg ha még gyorsabb megoldást akarunk, nem alkalmazunk prioritási sort, hanem véletlenszerűen fogunk döntéshelyzetben választani. Így is biztos, hogy találunk utat a kiindulási pont és a cél között, és nincs szükség konvenciók meghatározására. A 11. ábrán a fenti prioritási sor, és a térképünk által meghatározott utat látjuk. Ábra 11 Első megoldás Példaképpen nézzünk meg egy másik megoldást is egy másik prioritási mátrix alapján (12. és 13. ábra). 14/107
15 Ábra 12 Második megoldás Ábra 13 Második prioritási sor A példából is jól látszik, hogy bár egyértelműen más utat találtunk meg, ez is tíz közbülső lépést tartalmaz. Ebből következtethetünk arra, hogy a prioritási mátrixok közötti különbség szinte mérhetetlen, így nem érdemes az összes lehetséges utat megkeresni, és kiválasztani belőlük a legrövidebbet. Még abban sincs különbség a két eset között, hogy hányszor léptünk átlósan, mindkét esetben kilencszer történt ez meg. Úgy kezdtem a hullám-továbbterjesztéses algoritmus leírását, hogy nem biztosítja a legrövidebb utat. Ez hamis feltevés volt, csupán azért állítottam, mert nem voltam meggyőzve arról, hogy a prioritási mátrix egy viszonylag általános esetben nem befolyásolja az eredményt. Mivel a fent vázolt algoritmusnak létezik hatékonyabb változata is, gyorsan át is térek azok tárgyalására Hullám-továbbterjesztéses algoritmus finomítása A fenti eredményeket tudjuk pontosítani, amennyiben a hullám terjedését nem nyolc irányba követjük el, hiszen így az átlós iránynak megegyező súlya van a vízszintes, avagy függőleges iránnyal. Nézzünk egy olyan példát, mikor a hullám csak négy irányban terjed (14. ábra). Ábra 14 Négyirányú hullám 15/107
16 Bár az rögtön szembetűnik, hogy több súlyra volt szükségünk, mint az előző esetben, de ez nem befolyásolja az algoritmus futási idejét, és a megoldás (15. ábra) valamivel életszerűbb lesz (itt is a már sokszor használt nyolcirányú prioritási sort alkalmazva). Ábra 15 Jobb megoldás Ebben az egyszerű példában a kapott megoldás egyetlen egy pontban tér el az első esettől, mégpedig a cél előtt két átlós lépés helyett itt két vízszintes mozgás is elég volt, ami azt jelenti, hogy rövidebb utat kaptunk! Ezek után lehet még jobban pontosítani a számításokat. Most 4+4 irányban fog terjedni a hullámunk, ahol a vízszintes és függőleges terjedés egységnyi, míg az átlós irányok kiszámítva a négyzet átlójának méretét 2 súlyt kapnak. Ez egy nagyon olvashatatlan irracionális szám, a számítógép megfelelően nagy térkép esetén nem adna elfogadható időn belül megoldást a számítások időigénye miatt (viszonyítva előző algoritmusunkhoz). Emiatt egy közelítő értékkel célszerű számolni, mondjuk 7/5-el (7/5 = 1.4 az ~ helyett)(16. ábra), melyet aztán felszorozva öttel (17. ábra) minden egyes mezőre egész számot kapunk, melyekkel a processzorok gyorsabban képesek műveleteket végrehajtani. Ábra 16 Pontos hullám 16/107
17 Ábra 17 Felszorzás Ábra 18 Pontos megoldás A megoldás (18. ábra) megegyezik az előbb kapott eredménnyel, azonban sokkal általánosabb esetben ez még pontosabb megoldást szolgáltat. Ha összeadjuk az út során érintett súlyokat, és elosztjuk 5-el az eredményt, akkor kisebb számot kapunk, mint a négy irányú hullám esetében. Ez a kapott szám a súlyokra nézve pontosabb, bár az út fizikailag nem lesz rövidebb (ebben a példában). Az első pont amire rálépünk 12,40-es súlyú (62/5), míg az előző esetben ez 16 volt, ami nyilvánvalóan pontatlanabb távolság érték Legbiztonságosabb út, Voronoi diagramm Nézzünk most meg egy másik hullám-továbbterjesztéses algoritmust. Ennek a lényege a legbiztonságosabb út megkeresése. Itt a fentiek alapján már nem fogunk kételkedni abban, hogy ez e a lehető legbiztonságosabb út. A módszer itt is nagyon hasonló, csak most úgy fogunk eljutni a célhoz, hogy mindig a lehető legnagyobb értéket választjuk. Ez azért lesz így, mivel most a hullámokat az akadályoktól (254-es pontoktól) fogjuk kezdeni terjeszteni, így a heurisztikus értékek az akadályoktól mért távolságot fogják jelenteni. Minél nagyobb ez a szám, annál messzebb vagyunk tőlük. Nézzük a mátrix feltöltését (19. ábra), figyelembe véve most azt is, hogy a térkép széle is akadálynak számít, így nekünk azt is a lehető legjobban el kell kerülnünk. 17/107
18 Ábra 19 A legbiztonságosabb út hulláma A prioritási mátrixunk legyen itt is a már megismert (10. ábra). Mindezek után a lehető legbiztonságosabb utat a 20. ábra mutatja. Ábra 20 A legbiztonságosabb út A fenti példából egy nagyon fontos dolog hiányzik! Mégpedig az, hogy a legbiztonságosabb út keresése közben mi nem egy utat kapunk (a fenti eset kivétel), hanem egy gráfot! Egy adott utat úgy kapunk, ha ennek a gráfnak egy adott (pl. mélységi) bejárását felírjuk. A kapott eredmények közül, ha a legrövidebb utat keressük a gráfban, akkor a lehető legbiztonságosabb és legrövidebb utat fogjuk megkapni. Ezt próbálja szimulálni a 21. ábra. 18/107
19 Ábra 21 Másik térkép Ebben az esetben is prioritási sort használtam, az elején lévő kacifántos gráf értelmezését a 22. ábra mutatja be. Ábra 22 Ábra pontosítása De ha gráfokról van szó, akkor nincs is szükség itt most prioritási sorra! Jól látszik, hogy a térképen lefelé haladva is van egy hasonlóan biztonságos út, azt mi mégsem találtuk meg. A 23. ábra ezen pontosításokat mutatja. Ábra 23 Prioritási sor nélküli megoldás Az így kapott gráfból bármely bejárással a legbiztonságosabb utat írhatjuk fel. A színekkel azért jelöltem az egyes lépéseket, hogy egyértelmű legyen, hogy a 255-ös mezőből gráf él csak a kettes mezőhöz vezet, így onnan nem is mehetünk egyik egyesre sem a gráf bejárása során. A keletkezett gráfot a 24. ábra mutatja be. 19/107
20 Ábra 24 A keletkezett gráf Egyetlen egy járulékos szabályt vezettem be a gráf háló felépítése közben: amikor egy pontra nézem a szomszédokat, hogy adott pontból merre lehet továbbhaladni, akkor két változat létezik: - Van olyan pont, amin még nem jártam. - Nincs olyan pont, amin még nem jártam. Az első esetben a szabályom az volt, hogy ilyen esetben minden olyan ponthoz tartozik él, amin még nem jártam, és amin már jártam, ahhoz nem tartozik. A második esetben pedig minden olyanhoz vezet él, amin már jártam. A fenti járulékos szabályok bevezetésével a legrövidebb, legbiztonságosabb utak mindegyikét meg lehet határozni (megjegyzem, hogy a járulékos szabályokra biztosan más lehetőség is van, hogy hasonló eredményt kapjunk) Megjegyzések A fent ismertetett legbiztonságosabb út megkeresésére biztosan létezik másféle algoritmus is, itt csak azért említettem meg, mert hasonlóan működik a legrövidebb utat szolgáltató algoritmushoz Implementálás Kicsit rátérek arra, hogy ezen algoritmusok miképpen építhetők be működő programokba. Felmerül a kérdés, hogy minden esetben szükségünk van-e arra, hogy a teljes térképet előre kiszámoljuk. Én úgy vélem nincs. Dijkstra algoritmusa alapján addig terjesztjük a hullámunkat, amíg a hullám egyik pontja el nem éri a kiindulási pontunkat (255). Ezek után az út keresése már egyértelmű. A hullám terjedését kell még modelleznünk. A pontos specifikáció a From Game to Map elnevezésű szimulátor program leírásában megtalálható. 20/107
POSEIDON NAVIGATION PROJECT
OTDK dolgozat POSEIDON NAVIGATION PROJECT intelligent Map with Rules of Traffic Készítette: BED K DÁVID, SZIRBIK FERENC KONZULENSEK: VÁMOSSY ZOLTÁN (DOCENS), MOLNÁR ANDRÁS (ADJUNKTUS) 2004. november 8.
Részletesebben5/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.
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. Optimalis feszítőfák Egy összefüggő, irányítatlan
Részletesebben22. GRÁFOK ÁBRÁZOLÁSA
22. GRÁFOK ÁBRÁZOLÁSA A megoldandó feladatok, problémák modellezése során sokszor gráfokat alkalmazunk. A gráf fogalmát a matematikából ismertnek vehetjük. A modellezés során a gráfok több változata is
RészletesebbenNavigáci. stervezés. Algoritmusok és alkalmazásaik. Osváth Róbert Sorbán Sámuel
Navigáci ció és s mozgástervez stervezés Algoritmusok és alkalmazásaik Osváth Róbert Sorbán Sámuel Feladat Adottak: pálya (C), játékos, játékos ismerethalmaza, kezdőpont, célpont. Pálya szerkezete: akadályokkal
RészletesebbenGráfok 2. Legrövidebb utak, feszítőfák. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor
Gráfok 2. Legrövidebb utak, feszítőfák előadás http://nik.uni-obuda.hu/sztf2 Szénási Sándor Óbudai Egyetem,Neumann János Informatikai Kar Legrövidebb utak keresése Minimális feszítőfa keresése Gráfok 2
RészletesebbenAdatszerkezetek 2. Dr. Iványi Péter
Adatszerkezetek 2. Dr. Iványi Péter 1 Fák Fákat akkor használunk, ha az adatok között valamilyen alá- és fölérendeltség van. Pl. könyvtárszerkezet gyökér (root) Nincsennek hurkok!!! 2 Bináris fák Azokat
RészletesebbenGráfRajz fejlesztői dokumentáció
GráfRajz Követelmények: A GráfRajz gráfokat jelenít meg grafikus eszközökkel. A gráfot többféleképpen lehet a programba betölteni. A program a gráfokat egyedi fájl szerkezetben tárolja. A fájlokból betölthetőek
Részletesebben26. MINIMÁLIS KÖLTSÉGŰ UTAK MINDEN CSÚCSPÁRRA
26. MINIMÁLIS KÖLTSÉGŰ UTAK MINDEN CSÚCSPÁRRA Az előző két fejezetben tárgyalt feladat általánosításaként a gráfban található összes csúcspárra szeretnénk meghatározni a legkisebb költségű utat. A probléma
RészletesebbenSzegedi Tudományegyetem Informatikai Tanszékcsoport SZAKDOLGOZAT. Fertői Ferenc
Szegedi Tudományegyetem Informatikai Tanszékcsoport SZAKDOLGOZAT Fertői Ferenc 2010 Szegedi Tudományegyetem Informatikai Tanszékcsoport 3-dimenziós táj generálása útvonalgráf alapján Szakdolgozat Készítette:
RészletesebbenPOSEIDON NAVIGATION PROJECT intelligent Map with Rules of Traffic
Rendszerterv Munkacím: PPC Live Map GPS, Útkeresés & Pocket PC POSEIDON NAVIGATION PROJECT intelligent Map with Rules of Traffic Készítette: BEDŐK DÁVID & SZIRBIK FERENC 2004. május 6. BMF-NIK IAR Budapesti
RészletesebbenLáthatósági kérdések
Láthatósági kérdések Láthatósági algoritmusok Adott térbeli objektum és adott nézőpont esetén el kell döntenünk, hogy mi látható az adott alakzatból a nézőpontból, vagy irányából nézve. Az algoritmusok
RészletesebbenAlapok GPS előzmnyei Navstar How the GPS locate the position Tények Q/A GPS. Varsányi Péter
Alapok előzmnyei Navstar How the locate the position Tények Q/A Óbudai Egyetem Alba Regia Egyetemi Központ (AREK) Székesfehérvár 2011. december 8. Alapok előzmnyei Navstar How the locate the position Tények
RészletesebbenCsatlakozási állapot megjelenítése
Csatlakozási állapot megjelenítése Ellenőrizheti a vevő és a jármű között a csatlakozás állapotát. Ezek a kapcsolatok felelősek az olyan információkért, mint a GPS információ és a parkolási jelzések. 1
RészletesebbenINFORMATIKA ÁGAZATI ALKALMAZÁSAI. Az Agrármérnöki MSc szak tananyagfejlesztése TÁMOP-4.1.2-08/1/A-2009-0010
INFORMATIKA ÁGAZATI ALKALMAZÁSAI Az Agrármérnöki MSc szak tananyagfejlesztése TÁMOP-4.1.2-08/1/A-2009-0010 10. GPS, GPRS (mobilkommunikációs) ismeretek Helymeghatározás GPS rendszer alapelve GNSS rendszerek
RészletesebbenGPS. Lehoczki Róbert Vadvilág Megőrzési Intézet Szent István Egyetem, Gödöllő
GPS Lehoczki Róbert Vadvilág Megőrzési Intézet Szent István Egyetem, Gödöllő Három technológiát egyesít: GPS (helymeghatározás) Robosztus terepen is használható hardver Egyszerű és hatékony szoftver Mire
RészletesebbenHegyi Ádám István ELTE, április 25.
Hegyi Ádám István ELTE, 2012. április 25. GPS = Global Positioning System Department of Defense = Amerikai Egyesült Államok Védelmi Minisztériuma 1973 DNSS = Defense Navigation Satellite System vagy Navstar-GPS
RészletesebbenDIALOG időkapcsoló PROGRAMOZÁSI ÚTMUTATÓ
DIALOG időkapcsoló PROGRAMOZÁSI ÚTMUTATÓ FUNKCIÓK I. Az időkapcsoló beállítása (a kék gombok): TECHNOCONSULT Kft. 2092 Budakeszi, Szürkebarát u. 1. T: (23) 457-110 www.technoconsult.hu info@technoconsult.hu
RészletesebbenElengedhetetlen 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
Bevezetés Ütközés detektálás 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 A valósághű megjelenítés része Nem tisztán
RészletesebbenAlgoritmuselmélet. Legrövidebb utak, Bellmann-Ford, Dijkstra. Katona Gyula Y.
Algoritmuselmélet Legrövidebb utak, Bellmann-Ford, Dijkstra Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem 3. előadás Katona Gyula Y. (BME
RészletesebbenDiszkrét matematika 2.C szakirány
Diszkrét matematika 2.C szakirány 2015. ősz 1. Diszkrét matematika 2.C szakirány 3. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék 2015.
RészletesebbenWeb-programozó Web-programozó
Az Országos Képzési Jegyzékről és az Országos Képzési Jegyzékbe történő felvétel és törlés eljárási rendjéről szóló 133/2010. (IV. 22.) Korm. rendelet alapján. Szakképesítés, szakképesítés-elágazás, rész-szakképesítés,
Részletesebben30. ERŐSEN ÜSSZEFÜGGŐ KOMPONENSEK
30. ERŐSEN ÜSSZEFÜGGŐ KOMPONENSEK A gráfos alkalmazások között is találkozunk olyan problémákkal, amelyeket megoldását a részekre bontott gráfon határozzuk meg, majd ezeket alkalmas módon teljes megoldássá
RészletesebbenIrodalomkutatás. Munkacím: PPC Live Map. GPS & Útkeresés
Irodalomkutatás Munkacím: PPC Live Map GPS & Útkeresés Készítette: SZIRBIK FERENC & BEDŐK DÁVID 2004. április 22. BMF-NIK IAR Budapesti Műszaki Főiskola Neumann János Informatikai Kar Intelligens Automatizált
RészletesebbenOpenCL alapú eszközök verifikációja és validációja a gyakorlatban
OpenCL alapú eszközök verifikációja és validációja a gyakorlatban Fekete Tamás 2015. December 3. Szoftver verifikáció és validáció tantárgy Áttekintés Miért és mennyire fontos a megfelelő validáció és
RészletesebbenGráfok 1. Tárolási módok, bejárások. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor
Gráfok 1. Tárolási módok, bejárások előadás http://nik.uni-obuda.hu/sztf2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János Informatikai Kar Gráfok 1. Tárolási módok Szélességi
RészletesebbenDuál Reklám weboldal Adminisztrátor kézikönyv
Duál Reklám weboldal Adminisztrátor kézikönyv Dokumentum Verzió: 1.0 Készítette: SysWork Szoftverház Kft. 1. oldal Felület elérése Az adminisztrációs felület belépés után érhető el. Belépés után automatikusan
RészletesebbenGráfalgoritmusok ismétlés ősz
Gráfalgoritmusok ismétlés 2017. ősz Gráfok ábrázolása Egy G = (V, E) gráf ábrázolására alapvetően két módszert szoktak használni: szomszédsági listákat, illetve szomszédsági mátrixot. A G = (V, E) gráf
RészletesebbenA rendszer legfontosabb jellemzőit az alábbiakban foglalhatjuk össze:
GPS nyomkövető készülék, illetve navigációs rendszerek A GPS a Global Positioning System angol rövidítése és globális helymeghatározó rendszert jelent. Egy rendszer, amely 24 műholdból áll, melyet az USA
RészletesebbenMIKOVINY SÁMUEL TÉRINFORMATIKAI EMLÉKVERSENY
NYUGAT-MAGYARORSZÁGI EGYETEM GEOINFORMATIKAI KAR MIKOVINY SÁMUEL TÉRINFORMATIKAI EMLÉKVERSENY 2012/2013. TANÉV Az I. FORDULÓ FELADATAI NÉV:... Tudnivalók A feladatlap 4 feladatból áll, melyeket tetszőleges
RészletesebbenMátrixjátékok tiszta nyeregponttal
1 Mátrixjátékok tiszta nyeregponttal 1. Példa. Két játékos Aladár és Bendegúz rendelkeznek egy-egy tetraéderrel, melyek lapjaira rendre az 1, 2, 3, 4 számokat írták. Egy megadott jelre egyszerre felmutatják
RészletesebbenGráfelméleti alapfogalmak
1 Gráfelméleti alapfogalmak Gráf (angol graph= rajz): pontokból és vonalakból álló alakzat. pontok a gráf csúcsai, a vonalak a gráf élei. GRÁ Irányítatlan gráf Vegyes gráf Irányított gráf G H Izolált pont
RészletesebbenA továbbiakban Y = {0, 1}, azaz minden szóhoz egy bináris sorozatot rendelünk
1. Kódelmélet Legyen X = {x 1,..., x n } egy véges, nemüres halmaz. X-et ábécének, elemeit betűknek hívjuk. Az X elemeiből képzett v = y 1... y m sorozatokat X feletti szavaknak nevezzük; egy szó hosszán
RészletesebbenGráfelméleti feladatok. c f
Gráfelméleti feladatok d e c f a b gráf, csúcsok, élek séta: a, b, c, d, e, c, a, b, f vonal: c, d, e, c, b, a út: f, b, a, e, d (walk, lanţ) (trail, lanţ simplu) (path, lanţ elementar) 1 irányított gráf,
Részletesebben1. tétel. 1. Egy derékszögű háromszög egyik szöge 50, a szög melletti befogója 7 cm. Mekkora a háromszög átfogója? (4 pont)
1. tétel 1. Egy derékszögű háromszög egyik szöge 50, a szög melletti befogója cm. Mekkora a háromszög átfogója? (4 pont). Adott az ábrán két vektor. Rajzolja meg a b, a b és az a b vektorokat! (6 pont)
RészletesebbenPálya : Az a vonal, amelyen a mozgó test végighalad. Út: A pályának az a része, amelyet adott idő alatt a mozgó tárgy megtesz.
Haladó mozgások A hely és a mozgás viszonylagos. A testek helyét, mozgását valamilyen vonatkoztatási ponthoz, vonatkoztatási rendszerhez képest adjuk meg, ahhoz viszonyítjuk. pl. A vonatban utazó ember
RészletesebbenLakóház tervezés ADT 3.3-al. Segédlet
Lakóház tervezés ADT 3.3-al Segédlet A lakóház tervezési gyakorlathoz főleg a Tervezés és a Dokumentáció menüket fogjuk használni az AutoDesk Architectural Desktop programból. A program centiméterben dolgozik!!!
RészletesebbenAdatszerkezetek II. 2. előadás
Adatszerkezetek II. 2. előadás Gráfok bejárása A gráf bejárása = minden elem feldolgozása Probléma: Lineáris elrendezésű sokaság (sorozat) bejárása könnyű, egyetlen ciklussal elvégezhető. Hálós struktúra
RészletesebbenDiszkrét matematika 2.C szakirány
Diszkrét matematika 2.C szakirány 2017. tavasz 1. Diszkrét matematika 2.C szakirány 3. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék 2017.
RészletesebbenVARIO Face 2.0 Felhasználói kézikönyv
VARIO Face 2.0 Felhasználói kézikönyv A kézikönyv használata Mielőtt elindítaná és használná a szoftvert kérjük olvassa el figyelmesen a felhasználói kézikönyvet! A dokumentum nem sokszorosítható illetve
RészletesebbenAx-DL100 - Lézeres Távolságmérő
Ax-DL100 - Lézeres Távolságmérő 1. Áttekintés Köszönjük, hogy a mi termékünket választotta! A biztosnágos és megfelelő működés érdekében, kérjük alaposan olvassa át a Qick Start kézikönyvet. A globálisan
Részletesebben(Solid modeling, Geometric modeling) Testmodell: egy létező vagy elképzelt objektum digitális reprezentációja.
Testmodellezés Testmodellezés (Solid modeling, Geometric modeling) Testmodell: egy létező vagy elképzelt objektum digitális reprezentációja. A tervezés (modellezés) során megadjuk a objektum geometria
RészletesebbenDiszkrét matematika 2.
Diszkrét matematika 2. Mérai László előadása alapján Készítette: Nagy Krisztián 1. előadás Gráfok halmaza, gráf, ahol a csúcsok halmaza, az élek illesztkedés reláció: illesztkedik az élre, ha ( -él illesztkedik
RészletesebbenA gráffogalom fejlődése
A gráffogalom fejlődése ELTE Informatikai Kar, Doktori Iskola, Budapest Batthyány Lajos Gimnázium, Nagykanizsa erdosne@blg.hu a prezentáció kézirata elérhető: http://people.inf.elte.hu/szlavi/infodidact16/manuscripts/ena.pdf
RészletesebbenJavító és majdnem javító utak
Javító és majdnem javító utak deficites Hall-tétel alapján elméletileg meghatározhatjuk, hogy egy G = (, ; E) páros gráfban mekkora a legnagyobb párosítás mérete. Ehhez azonban első ránézésre az összes
RészletesebbenMesterséges Intelligencia MI
Mesterséges Intelligencia MI Problémamegoldás kereséssel ha sötétben tapogatózunk Dobrowiecki Tadeusz Eredics Péter, és mások BME I.E. 437, 463-28-99 dobrowiecki@mit.bme.hu, http://www.mit.bme.hu/general/staff/tade
RészletesebbenMatematika 11 Koordináta geometria. matematika és fizika szakos középiskolai tanár. > o < szeptember 27.
Matematika 11 Koordináta geometria Juhász László matematika és fizika szakos középiskolai tanár > o < 2015. szeptember 27. copyright: c Juhász László Ennek a könyvnek a használatát szerzői jog védi. A
RészletesebbenPLC Versenyfeladat. XIV. Országos Irányítástechnikai Programozó Verseny Budapest, március Összeállította az EvoPro Kft.
PLC Versenyfeladat XIV. Országos Irányítástechnikai Programozó Verseny Budapest, 2008. március 19-21. Összeállította az EvoPro Kft. Általános bemutatás A feladatban szereplő eszköz egy 8x8 képpontos LED-mátrix
RészletesebbenGráfok bejárása. Szlávi Péter, Zsakó László: Gráfok II :17
Gráfok 2. előadás Gráfok bejárása A gráf bejárása = minden elem feldolgozása Probléma: Lineáris elrendezésű sokaság (sorozat) bejárása könnyű, egyetlen ciklussal elvégezhető. Hálós struktúra bejárása nem
RészletesebbenEgyirányban láncolt lista
Egyirányban láncolt lista A tárhely (listaelem) az adatelem értékén kívül egy mutatót tartalmaz, amely a következő listaelem címét tartalmazza. A láncolt lista első elemének címét egy, a láncszerkezeten
RészletesebbenHÍRADÁSTECHNIKA I. Dr.Varga Péter János
6. HÍRADÁSTECHNIKA I. Dr.Varga Péter János 2 Műholdas kommunikáció 3 4 Helymeghatározás 5 Alkalmazott műholdpályák, tulajdonságaik 6 Alkalmazott műholdpályák, tulajdonságaik A LEO [Low Earth Orbiter ]
RészletesebbenHogyan könnyítsd meg az életed a Google Street View használatával?
Hogyan könnyítsd meg az életed a Google Street View használatával? Használd ezt a nagyszerű és ingyenes szolgáltatást olyan célokra, amelyek pénzt és időt takarítanak meg Neked, ügyfeleidnek és barátaidnak!
RészletesebbenAndó Mátyás Felületi érdesség matyi.misi.eu. Felületi érdesség. 1. ábra. Felületi érdességi jelek
1. Felületi érdesség használata Felületi érdesség A műszaki rajzokon a geometria méretek tűrése mellett a felületeket is jellemzik. A felületek jellemzésére leginkább a felületi érdességet használják.
RészletesebbenHAMILTON KÖR: minden csúcson PONTOSAN egyszer áthaladó kör. Forrás: (
HAMILTON KÖR: minden csúcson PONTOSAN egyszer áthaladó kör Teljes gráf: Páros gráf, teljes páros gráf és Hamilton kör/út Hamilton kör: Minden csúcson áthaladó kör Hamilton kör Forrás: (http://www.math.klte.hur/~tujanyi/komb_j/k_win_doc/g0603.doc
RészletesebbenPálya : Az a vonal, amelyen a mozgó test végighalad. Út: A pályának az a része, amelyet adott idő alatt a mozgó tárgy megtesz.
Haladó mozgások A hely és a mozgás viszonylagos. A testek helyét, mozgását valamilyen vonatkoztatási ponthoz, vonatkoztatási rendszerhez képest adjuk meg, ahhoz viszonyítjuk. pl. A vonatban utazó ember
RészletesebbenMechatronika segédlet 3. gyakorlat
Mechatronika segédlet 3. gyakorlat 2017. február 20. Tartalom Vadai Gergely, Faragó Dénes Feladatleírás... 2 Fogaskerék... 2 Nézetváltás 3D modellezéshez... 2 Könnyítés megvalósítása... 2 A fogaskerék
RészletesebbenDiszkrét matematika 2.C szakirány
Diszkrét matematika 2.C szakirány 2015. tavasz 1. Diszkrét matematika 2.C szakirány 1. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu Komputeralgebra Tanszék 2015. tavasz Gráfelmélet Diszkrét
RészletesebbenNav N Go igo 8 GPS navigációs szoftver
Nav N Go igo 8 GPS navigációs szoftver Legfőbb előnyök Kompatibilis a piac legtöbb Windows Mobile alapú mobil eszközével.* Egyszerűen csatlakoztassa az SD memóriakártyát, és a szoftver máris működésre
RészletesebbenDiszkrét matematika 2. estis képzés
Diszkrét matematika 2. estis képzés 2016. tavasz 1. Diszkrét matematika 2. estis képzés 9. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék
Részletesebben17. előadás: Vektorok a térben
17. előadás: Vektorok a térben Szabó Szilárd A vektor fogalma A mai előadásban n 1 tetszőleges egész szám lehet, de az egyszerűség kedvéért a képletek az n = 2 esetben szerepelnek. Vektorok: rendezett
RészletesebbenLINEÁRIS PROGRAMOZÁSI FELADATOK MEGOLDÁSA SZIMPLEX MÓDSZERREL
LINEÁRIS PROGRAMOZÁSI FELADATOK MEGOLDÁSA SZIMPLEX MÓDSZERREL x 1-2x 2 6 -x 1-3x 3 = -7 x 1 - x 2-3x 3-2 3x 1-2x 2-2x 3 4 4x 1-2x 2 + x 3 max Alapfogalmak: feltételrendszer (narancs színnel jelölve), célfüggvény
RészletesebbenSzimulációs technikák
SZÉCHENYI ISTVÁN EGYETEM Műszaki Tudományi Kar Informatikai tanszék Szimulációs technikák ( NGB_IN040_1) 2. csapat Comparator - Dokumentáció Mérnök informatikus BSc szak, nappali tagozat 2012/2013 II.
RészletesebbenEuler tétel következménye 1:ha G összefüggő síkgráf és legalább 3 pontja van, akkor: e 3
Síkgráfok Kuratowski-tétel: egy gráf akkor és csak akkor síkba rajzolható gráf, ha nincs olyan részgráfja, ami a K 5 -el, vagy a K 3,3 -altopologikusan izomorf (homeomorf). Euler síkgráfokra vonatkozó
RészletesebbenAdatszerkezetek II. 1. előadás
Adatszerkezetek II. 1. előadás Gráfok A gráf fogalma: Gráf(P,E): P pontok (csúcsok) és E P P élek halmaza Fogalmak: Irányított gráf : (p 1,p 2 ) E-ből nem következik, hogy (p 2,p 1 ) E Irányítatlan gráf
RészletesebbenKereső algoritmusok a diszkrét optimalizálás problémájához
Kereső algoritmusok a diszkrét optimalizálás problémájához A. Grama, A. Gupta, G. Karypis és V. Kumar: Introduction to Parallel Computing, Addison Wesley, 2003. könyv anyaga alapján A kereső eljárások
RészletesebbenAlgoritmuselmé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.
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. előadás Katona Gyula Y. (BME SZIT) Algoritmuselmélet 8. előadás
RészletesebbenHaladó mozgások A hely és a mozgás viszonylagos. A testek helyét, mozgását valamilyen vonatkoztatási ponthoz, vonatkoztatási rendszerhez képest adjuk
Haladó mozgások A hely és a mozgás viszonylagos. A testek helyét, mozgását valamilyen vonatkoztatási ponthoz, vonatkoztatási rendszerhez képest adjuk meg, ahhoz viszonyítjuk. pl. A vonatban utazó ember
RészletesebbenHASZNÁLATI ÚTMUTATÓ. GPS* SOLAR óra. A világ mind a 39 időzónáját felismeri.
HASZNÁLATI ÚTMUTATÓ 1. Jellemzők: GPS* SOLAR óra. Egyetlen gomb megnyomásával beállíthatjuk a pontos helyi időt bárhol a világon. Az óra a GPS műholdak jeleit fogadva gyorsan beáll a pontos időre. A világ
Részletesebben1. Funkcionális terv. 1.1. Feladat leírása: 1.2. Rendszer célja, motivációja:
Rendszerterv 1. Funkcionális terv 1 1.1. Feladat leírása: 1 1.2. Rendszer célja, motivációja: 1 1.3. Szereplők és igényeik: 2 1.3.1. Valódi felhasználók: 2 1.3.2. Hirdetők : 3 1.3.3. Szerver oldal: 3 1.4.
RészletesebbenSzA II. gyakorlat, szeptember 18.
SzA II. gyakorlat, 015. szeptember 18. Barátkozás a gráfokkal Drótos Márton drotos@cs.bme.hu 1. Az előre megszámozott (címkézett) n darab pont közé hányféleképp húzhatunk be éleket úgy, hogy egyszerű gráfhoz
RészletesebbenHíradástechnika I. 5.ea
} Híradástechnika I. 5.ea Dr.Varga Péter János 2 Műholdas kommunikáció 3 4 Alkalmazott műholdpályák, tulajdonságaik 5 Alkalmazott műholdpályák, tulajdonságaik A LEO [Low Earth Orbiter ] magába foglalja
Részletesebben(Forrás:
Döntő 2017. február 18. Feladat: Okos autó Ma már sok autóba helyezhető olyan speciális eszköz létezik, amely "a gépjármű szabványos diagnosztikai portjára csatlakozik, majd egy felhő alapú informatikai
RészletesebbenPISA2000. Nyilvánosságra hozott feladatok matematikából
PISA2000 Nyilvánosságra hozott feladatok matematikából Tartalom Tartalom 3 Almafák 8 Földrész területe 12 Háromszögek 14 Házak 16 Versenyautó sebessége Almafák M136 ALMAFÁK Egy gazda kertjében négyzetrács
RészletesebbenTERC V.I.P. hardverkulcs regisztráció
TERC V.I.P. hardverkulcs regisztráció 2014. második félévétől kezdődően a TERC V.I.P. költségvetés-készítő program hardverkulcsát regisztrálniuk kell a felhasználóknak azon a számítógépen, melyeken futtatni
RészletesebbenMIKOVINY SÁMUEL TÉRINFORMATIKAI EMLÉKVERSENY
FVM VIDÉKFEJLESZTÉSI, KÉPZÉSI ÉS SZAKTANÁCSADÁSI INTÉZET NYUGAT MAGYARORSZÁGI EGYETEM GEOINFORMATIKAI KAR MIKOVINY SÁMUEL TÉRINFORMATIKAI EMLÉKVERSENY 2008/2009. TANÉV Az I. FORDULÓ FELADATAI NÉV:... Tudnivalók
RészletesebbenIII.4. JÁRŐRÖK. A feladatsor jellemzői
III.4. JÁŐÖK Tárgy, téma A feladatsor jellemzői Algebra (és számelmélet), szöveges feladatok, mozgásos feladatok, geometria. Előzmények Az idő fogalma, mértékegység-váltás (perc óra), a sebesség fogalma:
RészletesebbenSzámítógép és programozás 2
Számítógép és programozás 2 11. Előadás Halmazkeresések, dinamikus programozás http://digitus.itk.ppke.hu/~flugi/ A keresési feladat megoldása Legyen a lehetséges megoldások halmaza M ciklus { X legyen
RészletesebbenProgramtervezés. Dr. Iványi Péter
Programtervezés Dr. Iványi Péter 1 A programozás lépései 2 Feladat meghatározás Feladat kiírás Mik az input adatok A megoldáshoz szükséges idő és költség Gyorsan, jót, olcsón 3 Feladat megfogalmazása Egyértelmű
RészletesebbenAlgoritmuselmélet. Mélységi keresés és alkalmazásai. Katona Gyula Y.
Algoritmuselmélet Mélységi keresés és alkalmazásai Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem 9. előadás Katona Gyula Y. (BME SZIT) Algoritmuselmélet
RészletesebbenAlgoritmusok és adatszerkezetek 2.
Algoritmusok és adatszerkezetek 2. Varga Balázs gyakorlata alapján Készítette: Nagy Krisztián 1. gyakorlat Nyílt címzéses hash-elés A nyílt címzésű hash táblákban a láncolással ellentétben egy indexen
RészletesebbenAlgoritmuselmélet. Gráfok megadása, szélességi bejárás, összefüggőség, párosítás. Katona Gyula Y.
Algoritmuselmélet Gráfok megadása, szélességi bejárás, összefüggőség, párosítás Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem 2. előadás
RészletesebbenA Vonallánc készlet parancsai lehetővé teszik vonalláncok és sokszögek rajzolását.
11. Geometriai elemek 883 11.3. Vonallánc A Vonallánc készlet parancsai lehetővé teszik vonalláncok és sokszögek rajzolását. A vonallánc egy olyan alapelem, amely szakaszok láncolatából áll. A sokszög
RészletesebbenHogyan lehet meghatározni az égitestek távolságát?
Hogyan lehet meghatározni az égitestek távolságát? Először egy régóta használt, praktikus módszerről lesz szó, amelyet a térképészetben is alkalmaznak. Ez a geometriai háromszögelésen alapul, trigonometriai
RészletesebbenIdőjárási csúcsok. Bemenet. Kimenet. Példa. Korlátok. Nemes Tihamér Nemzetközi Informatikai Tanulmányi Verseny, 2-3. korcsoport
Időjárási csúcsok Ismerjük N napra a déli hőmérséklet értékét. Lokálisan melegnek nevezünk egy napot (az első és az utolsó kivételével), ha az aznap mért érték nagyobb volt a két szomszédjánál, lokálisan
RészletesebbenFelhasználói leírás a DimNAV Server segédprogramhoz ( )
Felhasználói leírás a DimNAV Server segédprogramhoz (1.1.0.3) Tartalomjegyzék Bevezetés...3 1. Telepítés...3 2. Eltávolítás...4 Program használata...5 1. Kezdeti beállítások...5 2. Licenc megadása...6
Részletesebben1. előadás. Lineáris algebra numerikus módszerei. Hibaszámítás Számábrázolás Kerekítés, levágás Klasszikus hibaanalízis Abszolút hiba Relatív hiba
Hibaforrások Hiba A feladatok megoldása során különféle hibaforrásokkal találkozunk: Modellhiba, amikor a valóságnak egy közelítését használjuk a feladat matematikai alakjának felírásához. (Pl. egy fizikai
RészletesebbenA repülős adatbázis 28 napig érvényes és az összes repülőtér információt tartalmazza, navigációs segédinformációkkal és kereszteződés adatokkal.
Garmin D2 Charlie repülős funkciók leírása A repülési adatbázis frissítése Mielőtt frissíthetné a repülési adatbázist, készítenie kell egy Garmin fiókot, és ahhoz hozzá kell adnia készülékét. A készüléke
RészletesebbenDiszkrét matematika 2. estis képzés
Diszkrét matematika 2. estis képzés 2018. tavasz 1. Diszkrét matematika 2. estis képzés 10. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék
Részletesebben2. Visszalépéses keresés
2. Visszalépéses keresés Visszalépéses keresés A visszalépéses keresés egy olyan KR, amely globális munkaterülete: egy út a startcsúcsból az aktuális csúcsba (az útról leágazó még ki nem próbált élekkel
RészletesebbenStruktúra nélküli adatszerkezetek
Struktúra nélküli adatszerkezetek Homogén adatszerkezetek (minden adatelem azonos típusú) osztályozása Struktúra nélküli (Nincs kapcsolat az adatelemek között.) Halmaz Multihalmaz Asszociatív 20:24 1 A
RészletesebbenHasználati utasítás.
Lotus Notes Naptár Windows telefonra Használati utasítás. Írta: Varga Róbert 1 http://www.robertwpapps.uw.hu Bevezetés: Ezt az alkalmazást a fejlesztő saját használatra írta a teljesség igénye nélkül.
RészletesebbenIII. Gráfok. 1. Irányítatlan gráfok:
III. Gráfok 1. Irányítatlan gráfok: Jelölés: G=(X,U), X a csomópontok halmaza, U az élek halmaza X={1,2,3,4,5,6}, U={[1,2], [1,4], [1,6], [2,3], [2,5], [3,4], [3,5], [4,5],[5,6]} Értelmezések: 1. Fokszám:
RészletesebbenIntelligens Rendszerek Elmélete IRE 4/32/1
Intelligens Rendszerek Elmélete 4 IRE 4/32/1 Problémamegoldás kereséssel http://nik.uni-obuda.hu/mobil IRE 4/32/2 Egyszerű lények intelligenciája? http://www.youtube.com/watch?v=tlo2n3ymcxw&nr=1 IRE 4/32/3
RészletesebbenR ++ -tree: an efficient spatial access method for highly redundant point data - Martin Šumák, Peter Gurský
R ++ -tree: an efficient spatial access method for highly redundant point data - Martin Šumák, Peter Gurský Recenzió: Németh Boldizsár Térbeli indexelés Az adatszerkezetek alapvetően fontos feladata, hogy
RészletesebbenDiszkrét matematika 2. estis képzés
Diszkrét matematika 2. estis képzés 2018. tavasz 1. Diszkrét matematika 2. estis képzés 9. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék
RészletesebbenKétszemélyes játékok Gregorics Tibor Mesterséges intelligencia
Kétszemélyes játékok Kétszemélyes, teljes információjú, véges, determinisztikus,zéró összegű játékok Két játékos lép felváltva adott szabályok szerint, amíg a játszma véget nem ér. Mindkét játékos ismeri
RészletesebbenOsztott algoritmusok
Osztott algoritmusok A benzinkutas példa szimulációja Müller Csaba 2010. december 4. 1. Bevezetés Első lépésben talán kezdjük a probléma ismertetésével. Adott két n hosszúságú bináris sorozat (s 1, s 2
RészletesebbenGPS szótár. A legfontosabb 25 kifejezés a GPS világából. Készítette: Gere Tamás A GPSArena.hu alapítója
A legfontosabb 25 kifejezés a GPS világából Készítette: Gere Tamás A GPSArena.hu alapítója 2D/3D vétel Megadja, hogy a GPS vétel síkbeli (2D) vagy térbeli (3D). Utóbbi esetben magassági adat is rendelkezésre
RészletesebbenOOP. Alapelvek Elek Tibor
OOP Alapelvek Elek Tibor OOP szemlélet Az OOP szemlélete szerint: a valóságot objektumok halmazaként tekintjük. Ezen objektumok egymással kapcsolatban vannak és együttműködnek. Program készítés: Absztrakciós
Részletesebbenelektronikus adattárolást memóriacím
MEMÓRIA Feladata A memória elektronikus adattárolást valósít meg. A számítógép csak olyan műveletek elvégzésére és csak olyan adatok feldolgozására képes, melyek a memóriájában vannak. Az információ tárolása
RészletesebbenTestLine - nummulites_gnss Minta feladatsor
1.* Egy műholdas helymeghatározás lehet egyszerre abszolút és kinematikus. 2.* műholdak pillanatnyi helyzetéből és a megmért távolságokból számítható a vevő pozíciója. 3.* 0:55 Nehéz kinai BEIDOU, az amerikai
Részletesebben