3. Gráfkeres stratégia
|
|
- Lilla Kissné
- 5 évvel ezelőtt
- Látták:
Átírás
1 3. Gráfkeres stratégia A gráfkeres rendszer olyan KR, amelynek globális munkaterülete a startcsúcsból kiinduló már feltárt utakat (részgráfot) tárolja kiinduló értéke: a startcsúcs, terminálási feltétel: megjelenik egy célcsúcs vagy megakad az algoritmus. keresés egy szabálya: egy csúcs rákövetkezit állítja el (kiterjeszti), vezérlés stratégiája: a legkedvezbb csúcs kiterjesztésére törekszik, 3.. A gráfkeres alapalgoritmus Jelölés: G - keresgráf NYÍLT - nyílt csúcsok halmaza Γ - kiterjesztés kiterjesztett csúcsok- zárt csúcsok halmaza Az absztrakt keresési tér a továbbiakban is egy nem feltétlenül véges δ-gráf. Nulladik verzió Procedure GK0. G {s}: NYÍLT {s}. while not üres(nyílt) loop 3. n elem(nyílt) 4. if cél(n) then return van megoldás. G G Γ(n) 6. NYÍLT NYÍLT {n}: NYÍLT NYÍLT Γ(n) 7. endloop 8. return nincs megoldás end [3,3,3]. [,3,3] [,3,3]. [,,3] [,,3] 3. [,,3] [,,3] 4. [3,,3] [3,,3] [,,] [,,]. 6. [3,,] [,,] [,,] [3,,] [3,,] [,,] [,3,] [,3,] [3,,] 9. [,,] [,,] [,3,] [3,3,] [3,3,] [,3,] [,,] Körökre érzékeny Zárt csúcs ne lehessen újra nyílt? Nehezen olvasható ki a megoldás Jelölni kellene az utakat Nem feltétlenül talál optimális megoldást Megjegyzés 3.. Általános gráfkeres algoritmus Módosítások: A következ kiterjesztés eldöntése kiértékel függvény A csúcsokhoz (különösen a célcsúcshoz) vezet út nyilvántartása szül pointerek A csúcsokhoz vezet minél kisebb költség út nyilvántartása - út költségek Körök kizárása Optimális út megtalálásának igénye 6
2 f:nyílt R a 3. lépésben n min f (NYÍLT) f egy dinamikus függvény Kiértékel függvény Feszítfa és költsége Pointerek feszítfája: a G egy s gyöker feszítfája π:g G π(n)= n csúcs egyik szülje π(s)=nil Az n csúcshoz vezet, nyilvántartott α {s n} út költsége g:g R g(n):=c α (s,n) Az n csúcshoz vezet optimális út költsége (a teljes reprezentációs gráfra nézve) g * :R R g * (n):=c * (s,n) g(n) 7 8 Konzisztens és optimális költség feszítfa A G feszítfája konzisztens g függvénnyel, ha g minden G-beli n csúcshoz a feszítfában nyilvántartott s n út költségét adja meg. A G feszítfája optimális, ha minden G-beli n csúcshoz G-beli s n optimális utat tárol. Vigyázat! Nem az R-re nézve optimális. Mindkét tulajdonság fenntartásához szükséges, hogy egy n csúcs kiterjesztésekor minden (n,m) élre megvizsgáljuk az m csúcs π illetve g értékét. Új csúcs Ha m G akkor Az m csúcs három esete π(m) n, g(m) g(n)+c(n,m) NYÍLT NYÍLT {m} Régi csúcs, amelyhez olcsóbb utat találtunk Ha m G és g(n)+c(n,m)<g(m) akkor π(m) n, g(m) g(n)+c(n,m) Régi csúcs, amelyhez nem találtunk olcsóbb utat Ha m G és g(n)+c(n,m) g(m) akkor SKIP 9 0 Optimális költség konzisztens feszítfa? Lehetséges megoldások Ha m G és g(n)+c(n,m)<g(m), és m csúcsnak vannak leszármazottai g(m)=4 g(s)=0 s m k l 4 g(k)= g(l)=?? n g(n)= ) Az m csúcs összes keresgráfbeli leszármazottját átvizsgáljuk valamilyen gráfbejárási technikával. ) Ügyes kiértékel függvénnyel biztosítjuk, hogy soha nem forduljon el ilyen eset 3) Nem tördünk a zárt m csúcs leszármazottaival, de magát az m csúcsot visszahelyezzük a NYÍLT halmazba.
3 Procedure GK. G {s}: NYÍLT {s}: g(s) 0: π(s) nil. while not üres(nyílt) loop 3. n min f (NYÍLT) 4. if cél(n) then return megoldás. NYÍLT NYÍLT-{n} 6. for m Γ(n) loop 7. if m G or g(n)+c(n,m)<g(m) then 8. π(m) n, g(m) g(n)+c(n,m), NYÍLT NYÍLT {m} 9. endloop 0. G G Γ(n). endloop. return nincs megoldás 3.. Lemma A GK mködése során egy csúcsot legfeljebb véges sokszor terjeszt ki. Bizonyítás:. Egy n csúcs legfeljebb annyiszor kerülhet be a NYÍLT-ba, ahányszor egy minden addiginál olcsóbb utat találunk hozzá.. Ilyen útból legfeljebb véges sok van: Elször egy C költség utat találunk az n csúcshoz. Ennél olcsóbb utak a C/δ korlátnál biztos rövidebbek. (δ) Megadott korlátnál rövidebb utak száma véges. (σ) end Tétel 3.. Invariáns lemma A GK véges reprezentációs gráfban mindig terminál. Bizonyítás: A GK véges sok csúcsot (3..lemma) véges lépésben végleg kiterjeszt, azaz üres NYÍLT halmazzal áll meg, hacsak már korábban nem terminál másként. Legyen n egy tetszleges s-bl elérhet csúcs. A GK az n csúcs kiterjesztése eltt bármelyik s * n optimális úton mindig nyilvántart egy olyan m csúcsot, amelyikre teljesül, hogy () m NYÍLT () g(m)=g * (m) (3) minden m csúcsot megelz csúcs végleg zárt, azaz minden ilyen k csúcsra g(k)=g * (k). 6 Bizonyítás Teljes indukció a lépések (kiterjesztések) száma szerint. lépés eltt: Bármelyik s-bl elérhet n csúcsra kezdetben fennáll, hogy s NYÍLT és s s * n és g * (s)=0=g(s) i. lépés eltt: Tegyük fel, hogy az állítás igaz minden s-bl elérhet, az i-dik lépésben még ki nem terjesztett n csúcsra. Rögzítsünk egy ilyen n csúcsot, és egy α=s * n utat, amelyre tehát m s * n úgy, hogy ()()(3) fennáll. 7 i. lépésben:. lehet, hogy nem az m csúcsot terjesztjük ki: Ekkor m-re továbbra is fennáll ()()(3). ha az m csúcsot terjesztjük ki (m n), akkor kell keresni egy olyan csúcsot α úton, amelyik átveszi az invariáns állításban szerepl m csúcs szerepét. Az m csúcsnak az α úton fekv utóda az m', amelyre az m csúcs kiterjesztése után két eset állhat fenn: m' NYÍLT, vagy m' NYÍLT 8 3
4 a) m' NYÍLT ekkor () nyilván teljesül m -re g(m ) = g(m)+c(m,m ) = g * (m)+c(m,m )= g * (m ) miatt () is (3) pedig azért, mert az m eltti csúcsok már eddig is zártak voltak, és most m vált végleg zárttá. b) m' NYÍLT akkor kell lenni egy ß =s * m optimális útnak, amely mentén már korában elértük az m -t, azaz ß minden l csúcsa zárt, és a g(l)=g * (l). β g(m )=g*(m ) γ s m m k n α Legyen γ az α út m n szakasza. A ßγ egy s * n út, ezért az indukciós feltevés miatt tartalmaz egy()()(3) tulajdonságú k csúcsot, amely biztosan a γ szakaszon van. Ez a k csúcs az α útnak is kívánt tulajdonságú eleme Tétel Ha egy véges reprezentációs gráfban létezik megoldás akkor a GK egy célcsúcs megtalálásával terminál. Bizonyítás: A 3.. lemma szerint (legyen az ottani n csúcs most a célcsúcs) a NYÍLT halmaznak mindig van eleme a célcsúcs elérése eltt, így nem terminálhat az algoritmus üres NYÍLT halmazzal. 3.. tétel miatt viszont az algoritmusnak mindenképpen terminálnia kell. Csökken kiértékel függvény a NYÍLT halmazbeli csúcsok kiértékel függvényértéke az ott tartózkodás alatt nem n, és a NYÍLT halmazba visszakerül csúcs kiértékel függvényértéke határozottan kisebb, mint a csúcs megelz kiterjesztésekor felvett függvényértéke. A nevezetes gráfkeres algoritmusok ilyen csökken kiértékel függvényt használnak. Mködési grafikon 3.3. Tétel f F s F F i i-dik árok F i n ni n i+ kiterjesztések Jelöljük meg a startcsúcsot, majd azt a legközelebbi csúcsot (a küszöbcsúcsot), amely kiterjesztésekor mért függvényérték (a küszöbérték) nagyobb vagy egyenl, mint a megelz küszöbérték. 3 Csökken kiértékel függvény használata mellett a GK a küszöbcsúcsok kiterjesztésének pillanatában optimális költség konzisztens feszítfát tart nyilván (azaz nincs zárt csúcs a NYÍLT halmazban) Bizonyítás: A küszöbcsúcsok szerinti teljes indukció. Legyen m csúcs olyan, ami az n i küszöbcsúcs kiterjesztése eltt zárttá vált (azaz f régi (m) F i ), az n i kiterjesztése után pedig újra nyílt lett. Ekkor f új (m)<f régi (m). Mivel F i F i+, ezért még az n i+ küszöbcsúcs eltt kiterjesztdik. 4 4
5 3.3. Nevezetes gráfkeres algoritmusok Most az f kiértékel függvény megválasztása következik. Neminformált Heurisztikus Mélységi gráfkeresés Mélységi gráfkeresésnek (MGK, depth-first) a GK-t akkor nevezzük, ha az élköltségeket egységnyinek vesszük (GK 7. és 8. lépés), a kiértékel függvényt pedig az alábbi módon definiáljuk: f(n)= -g(n) n NYÍLT csúcsra. mélységi, szélességi, egyenletes elre tekint (mohó), A, A *, A c, B Használhatunk mélységi korlátot. Ilyenkor a keresés (δ-gráfokon) biztosan terminál, és ha van megoldás, talál egyet. 6 MGK és a VL közös vonásai Módosítható stratégiájú keres rendszerek Mélységi bejárás stratégiája szerint érintik a reprezentációs gráf csúcsait. Fa esetén ugyanolyan sorrendben érintik az egyes csúcsokat (a VL visszalépéseit nem számítva). Mélységi korlátot használnak, körfigyelést végeznek. Mindig terminálnak (δ-gráfokon), és a mélységi korláton belüli megoldást megtalálják. Lokális heurisztikát használhatnak. 7 MGK és a VL eltér vonásai Különbözik a globális munkaterületük. A VL-nél egy út, a MGK-nél a keres gráf.. Eltér keresési szabályok, más vezérlési stratégia. A MGK olcsóbban tud átváltani egy másik útra, nem kell visszalépnie. Nem feltétlenül ugyanazt a megoldást találják meg. A MGK a legolcsóbb eddig talált utakat tárolja. A MGK ugyanazt a zsákutca-szakaszt csak akkor járja be újra, ha a zsákutca-torkolathoz minden korábbinál olcsóbb utat talál. 8 Szélességi gráfkeresés Szélességi gráfkeresésnek (SZGK, breadth-first) a GK-t nevezzük, ha az élköltségeket egységnyinek vesszük (GK 7. és 8. lépés), a kiértékel függvényt pedig az alábbi módon definiáljuk: f(n)= g(n) n NYÍLT csúcsra. Végtelen nagy δ-gráfokban is terminál, ha van megoldás, és ilyenkor a legrövidebb megoldást adja. Egy csúcsot legfeljebb egyszer terjeszt ki. 9 30
6 Egyenletes keresés Egyenletes keresésnek (EGK, uniform-cost) a GK-t akkor nevezzük, ha a kiértékel függvényt az alábbi módon definiáljuk: f(n)= g(n) n NYÍLT csúcsra. Végtelen nagy δ-gráfokban is terminál, ha van megoldás, és ilyenkor az optimális megoldást adja. Egy csúcsot legfeljebb egyszer terjeszt ki. Dijkstra algoritmus 3 3 Heurisztikus függvény Elre tekint (mohó) keresés Azt h:n R függvényt, amelyik minden n csúcsra az abból a célba vezet út költségére ad becslést heurisztikus függvénynek hívjuk. h(n) h * (n) = min t T c*(n,t) = c*(n,t) Egy s=n 0,n,...,n k =t optimális megoldási út esetén h * (n i ) = Σ j=i k- c(n j,n j+ ) Azt a GK-t nevezzük elretekint keresésnek, amelyre f(n)=h(n) n NYÍLT Szeszélyes, eredményessége és hatékonysága ersen függ a heurisztikus függvénytl W még 6 lépés A algoritmus Azt a GK-t nevezzük A algoritmusnak, amelyre az f(n)=g(n)+h(n) n NYÍLT, és h(n) 0 n N (nemnegatív) Példa: EGK: f=g+0 8-as játék: f=g+w, f=g+p 36 6
7 g+w g+p Megjegyzés Legyen f * :N R optimális költségfüggvény olyan, hogy n N -re f * (n)=g * (n)+h * (n), azaz f * (n) a legolcsóbb n csúcson átvezet megoldás költsége. f f *, ahol g g * és h h *, f * (s) az optimális megoldás költsége. Az f * optimális költségfüggvény egy optimális megoldási út mentén állandó Lemma Ha az A algoritmus nem terminál (végtelen nagy δ- gráf), akkor minden NYÍLT halmazba bekerült m csúcs véges sok lépés után kiterjesztdik. Bizonyítás: Egy csúcs kiértékel függvényértéke arányos a csúcs mélységével. f(n) = g(n)+h(n) g * (n) d(n)*δ d * (n)*δ ahol d(n) az s * n optimális út hossza, d * (n) a legrövidebb s n út hossza Tétel A D = f(m)/δ korlátnál mélyebben elhelyezked csúcsok nem elzik meg az m csúcsot a kiterjesztésben. f(k) d * (k)*δ > D* δ > f(m) Tehát csak a D-nél magasabban fekv csúcsokra állhat fenn, hogy f(k) f(m) De egy δ-gráfban a σ-tul. miatt D-nél magasabban fekv csúcsból csak véges (legfeljebb σ D ) sok van, és ezek véges sok lépésben végleg (lásd 3.. lemma ) kiterjesztdnek. 4 Az A algoritmus mindig talál egy megoldást, ha az létezik. Bizonyítás: Jelölje α az s=n 0,n,...,n k =t optimális megoldást. Kezdetben az s nyílt csúcs. Ha n i egy nyílt csúcs (i=0 k), akkor az a 3.4. lemma miatt véges lépésben kiválasztódik, és i<k esetén az n i+ legkésbb ekkor (n i kiterjesztésekor) bekerül a NYÍLT halmazba. Tehát az algoritmus véges lépés múlva kiválasztja a t célcsúcsot, hacsak korábban nem terminál. 4 7
8 A * algoritmus De korábban csak egy másik megoldás megtalálásával terminálhat - üres NYÍLT halmazzal nem -, hiszen a t kiterjesztése eltt a NYÍLT halmaz biztos tartalmazza az α egyik csúcsát (3.. lemma). Megjegyzés Az A algoritmus nem mindig terminál, csak ha van megoldás, de akkor megtalál egyet, még végtelen nagy δ- gráfokban is. A * algoritmusnak azt az A algoritmust nevezzük, amelyiknek h:n R heurisztikus függvénye optimális (admissible=megengedhet,elfogadható), azaz h(n) h * (n) n N Megjegyzés: h(t)=0 t T Példa: EGK: f=g+0 8-as játék: f=g+w, f=g+p Lemma Az A * algoritmus által kiterjesztésre kiválasztott bármely n csúcsra teljesül, hogy f(n) f * (s). Bizonyítás: Tegyük fel, hogy a reprezentációs gráfban létezik megoldás, így s * t optimális út is. Ellenkez esetben az f * (s)=. m s * t úgy, hogy m NYÍLT és g(m)=g * (m) (3.. lemma). De az algoritmus az n csúcsot választotta ki az m helyett f(n) f(m) = g(m)+h(m) = = g * (m)+h(m) g * (m)+h * (m) = f * (m) = f * (s) 4 Az A * algoritmus mindig optimális megoldás megtalálásával terminál feltéve, hogy létezik megoldás. Bizonyítás: Az A * algoritmus, mint speciális A algoritmus, biztos talál megoldást. (3.4. tétel) 3.. Tétel Tegyük fel indirekt módon, hogy ez a megoldás nem optimális, azaz a termináláskor kiválasztott t T célcsúcsra g(t)>f * (s). A 3.. lemma szerint (n helyébe t) : f(t) f * (s) De t célcsúcs: f(t) = g(t)+0 46 A c algoritmus 3.6. Lemma (háromszög egyenltlenség) A c (következetes) algoritmusnak azt az A * algoritmust nevezzük, amelyiknek h:n R heurisztikus függvénye monoton megszorításos, azaz h(n)-h(m) c(n,m) (n,m) A Példa: EGK: f=g+0 8-as játék: f=g+w, f=g+p Példa nem monoton optimális heurisztikára: s h(s)=3 n h(n)= t h(t)=0 47 Ha a h heurisztika monoton megszorításos, akkor nemcsak az élekre, hanem bármely n,m N csúcsra is fennáll a h(n)-h(m) c(n,m) összefüggés. Bizonyítás. Ha nincs n m út, akkor c(n,m) =. Egyébként vegyünk egy α=(n=n 0,n,...,n k =m) utat. Ennek éleire fenn áll: h(n 0 )-h(n ) c(n 0,n )... h(n k- )-h(m) c(n k-,m) Adjuk össze ezeket az egyenltlenségeket: h(n)-h(m) Σ c(n i-,n i ) = c α (n,m). 48 8
9 Következmény Ha a h heurisztika monoton megszorításos és a célban nulla értéket vesz fel, akkor szükségképpen optimális is. akkor nemcsak az élekre, hanem bármely n,m N csúcsra is fennáll a h(n)-h(m) c(n,m) összefüggés. Ui: Bármelyik n csúcsra és n t úra az elzek miatt fenn áll: h(n)-h(t) c (n,m). Ezért az n * T optimális útra is igaz, hogy h(n)-h(t) c * (n,t). De h(t)=0 és c * (n,t)=h * (n), azaz h(n) h * (n). (Ha nincs n T út, akkor c * (n,t) végtelen nagynak tekinthet.) A monoton megszorítás tulajdonságát általában egyszerbb ellenrizni mint az optimalitást Tétel Amikor az A c algoritmus egy csúcsot kiterjesztésre kiválaszt, akkor már ismeri hozzá az optimális utat: g(n)=g * (n) (egy csúcsot egynél többször nem terjeszt ki). Bizonyítás: TF indirekt: n kiterjesztésekor g(n)>g * (n). m s * n úgy, hogy m NYÍLT és g(m)=g * (m) (3.. lemma) (Az indirekt feltevés miatt az n m.) A 3.6. lemma miatt h(m)-h(n) c * (m,n) De az algoritmus az n csúcsot választotta ki m ellenében f(n) f(m) = g(m)+h(m) = g * (m)+h(m) g * (m)+c * (m,n)+h(n) = g * (n)+h(n) < g(n)+h(n) = f(n) 49 0 Algoritmus osztályok 3.4. A algoritmus hatékonysága A A * Heurisztikus A c Elre tekint Neminformált Szélességi Mélységi A továbbiakban olyan problémákat vizsgálunk, amelyeknek van megoldása és van optimális heurisztikája (tehát az A algoritmus egy A * algoritmus; terminál és optimális megoldást talál) Hatékonyság Memória igény Zárt csúcsok száma a termináláskor különböz heurisztikák különböz algoritmusok Futási id Kiterjesztések száma a zárt csúcsok számához viszonyítva Különböz heurisztikájú A * algoritmusok összehasonlítása Az A (h ) és A (h ) A * algoritmusok közül az A jobban informált, mint az A, ha minden n N \T csúcsra teljesül, hogy h (n)<h (n). Megmutatjuk, hogy egy jobban informált A * algoritmus nem terjeszt ki több csúcsot, mint a kevésbé informált Tétel Legyen A jobban informált A * algoritmus, mint az A. Ekkor A nem terjeszt ki olyan csúcsot, amelyet A sem terjeszt ki. Bizonyítás: Teljes indukció az A terminálásakor nyilvántartott feszítfa mélysége (szintjei) szerint. A (0)-dik szinten csak a startcsúcs van, amit vagy mindkett algoritmus kiterjeszt, ha az nem célcsúcs; vagy egyik sem. (d)-edik szintig minden csúcsról feltesszük, hogy ha azt A kiterjesztette, akkor A is. 4 9
10 Bizonyítás folytatása Indirekt tegyük fel, hogy a (d+)-edik szinten van olyan m N csúcs, amit csak az A terjeszt ki. (m nyilván nem célcsúcs.) Egyrészt f (m) f * (s) fennáll a 3..lemma miatt. (Az f (m) az m csúcs A általi kiterjesztéskor mért érték.) Másrészt f (m) f * (s). (Az f (m) az A terminálásakor mért érték.) Harmadrészt g (m) g (m) Összegezve f (m) f * (s) f (m) = g (m) + h (m) g (m) + h (m) < g (m) + h (m) = f (m) Magyarázat Az f (m) f * (s), mert az m d szinten lev A által kiterjesztett szüljét (az indukciós feltevés miatt) az A is kiterjeszti, és így az A algoritmus mködése alatt az m legkésbb ekkor nyílt csúcs lesz. Ugyanakkor f (m) < f * (s) sohasem lehet, mert ekkor az A kiterjesztené az m csúcsot, ami ellentmond az indirekt feltevésnek. A g (m) g (m), mert az A biztosan feltárta az m csúcshoz vezet A által talált legolcsóbb (tehát d szint alatti) utat, de lehet, hogy talált egy még olcsóbbat. 6 Megjegyzés A gyakorlatban sokszor enyhébb feltételek mellett látványosabb különbségekkel is találkozhatunk: Már h h esetén is több csúcsot terjeszt ki az A, mint A W P Minél jobban becsli alulról a heurisztika a h * -ot, várhatóan annál kisebb lesz a memória igénye. 7 g+w g+p h G Zárt MO W P 99 4 F 93 4 F+3W 93 4 F+3P ös kirakó Különböz gráfkeres algoritmusok összehasonlítása Az X és Y algoritmusosztályok. Az X jobb Y -nál egy adott feladatosztályra nézve, ha a feladatosztály minden feladatára van az X-nek egy olyan algoritmusa, amely csak olyan csúcsokat terjeszt ki (értékel ki), amelyeket az Y minden algoritmusa kiterjeszt (kiértékel). P F F+3W F+3P Egy nem-determinisztikus algoritmus determinisztikus változatai ( tie-breaking rule ) algoritmusosztályt alkotnak, ezért valójában algoritmusosztályokat hasonlítunk össze
11 Optimális algoritmusok Optimálisnak nevezzük azt az algoritmust/ algoritmusosztályt (nem feltétlenül gráfkeresést), amely optimális heurisztikájú feladatokra optimális megoldást talál feltéve, ha van megoldás. Példák: EGK A ( * ) algoritmus A** algoritmus: f(n)=max m s n (g(m)+h(m)) IDA* algoritmus Jó lenne, ha az A algoritmus lenne a legjobb algoritmus az optimális algoritmusok között. 6 A algoritmus nem jobb az A ** -nál Van olyan feladat és optimális heurisztika, ahol az A (*) minden verziója kiterjeszt egy olyan csúcsot, amit az A ** valamelyik verziója nem. 0 s 6 0 t n m 0 Mindkett az s kiterjesztése után: 6 3 A alg az n kiterjesztése után: A * * alg az n kiterjesztése után: Megjegyzés Melyik optimális algoritmus a legjobb az optimális heurisztikájú feladatosztályon? A fentiek közül egyik sem. Egy szkebb feladatosztályon, a monoton megszorításos heurisztikájú feladatokon viszont az A algoritmus a legjobb optimális algoritmus Tétel Optimális és monoton megszorításos heurisztikájú feladatok esetén az A (A c ) algoritmus jobb az összes optimális algoritmusnál. Bizonyítás: Tegyük fel indirekt, hogy van olyan Y optimális algoritmus, és olyan (R,s,T) feladat a h következetes heurisztikával, hogy az R egy n N csúcsát az A algoritmus minden verziója kiterjeszti, de az Y algoritmus nem Van olyan optimális megoldás, amely nem vezet át n-en, hiszen csak ezt tudja az Y megtalálni. Mivel A minden verziója eljut az n csúcshoz, ezért van olyan s α n út, amelynek minden m csúcsára (többek között az n-re is) fennáll, hogy g α (m)+h(m)<f * (s). (Ekkor ugyanis ennek az útnak minden csúcsa biztos bekerül a NYÍLT halmazba, és f(m) g α (m)+h(m)<f * (s) miatt még a célcsúcs eltt kiterjesztésre kerül.) Jelöljük: C= f * (s) D= g * (n)+h(n) D < C. Ui: g * (n)+h(n) g α (n)+h(n) < f * (s) t s n t R Bvítsük az indirekt feltevésben szerepl feladatot egy új éllel: (R {(n,t)},s,t {t}) c(n,t)=h(n)+(c - D)/ h(t)=0 6 66
12 új feladat A h optimális, azaz monoton és a célban nulla (ezt elég csak az új élre vizsgálni) h(n)-h(t) = h(n) h(n) +(C - D)/ = c(n,t) Az egyetlen optimális megoldás az s t út. Az s t út költsége kisebb az elz feladat optimális megoldásának költségénél (C): g * (t) = g * (n) + c(n,t) = g * (n) + h(n) + (C - D)/ = D + (C - D)/ = (C +D)/ < C Az Y algoritmus az n csúcsot nem terjeszti ki, ezért az s t megoldást nem találhatja meg: Ez ellentmondás, hiszen egy optimális algoritmusnak ezen az új feladaton is optimális megoldást kell találnia. 67 Az A algoritmusnál nincs jobb Ha lenne az A algoritmusnál jobb optimális algoritmus, akkor ez a következetes heurisztikájú feladatokra is jobb lenne (hiszen a következetes heurisztika is optimális). Ennek ellent mond a 3.9. tétel.) Az A algoritmus nem a legjobb ugyan a optimális algoritmusok között, de nincsen nála sem jobb, azaz a legjobbak között található. 68 Futási id Martelli példája Zárt csúcsok száma: k k= 0 s Alsókorlát: k A következetes heurisztika mellett egy csúcs legfeljebb csak egyszer terjesztdik ki, habár ettl még a kiterjesztett csúcsok száma igen sok is lehet (egyenletes keresés) Felskorlát: k t n 4 n n n Az n,...,n k- csúcsokhoz rendre 0,,..., k- különböz út vezet Megjegyzés A probléma oka Másik heurisztikával természetesen javítható a kiterjesztések viszonylagos száma, de nem biztos, hogy ez tényleges javulás lesz. A kiterjesztések száma egy viszonylagos szám h heurisztika mellett k darab zárt csúcs, és k- kiterjesztés h heurisztika mellett k darab zárt csúcs, és k kiterjesztés mégis k- < k, mivel k << k. 7 f F s F F i i-dik árok F i n n i n i+ Általában egy árkon belül egy csúcs sokszor kiterjesztésre kerülhet. kiterjesztések Az árkokban használjunk más kiértékel függvényt! t 7
13 AB algoritmus Az AB algoritmust az A algoritmusból kapjuk úgy, hogy bevezetjük az F aktuális küszöbértéket és a q:nyílt R bels kiértékel függvényt, majd az. lépést kiegészítjük az F f(s) értékadással, a 3. lépést pedig helyettesítjük az if min f (NYÍLT)<F then n min q (m NYÍLT f(m)<f) else n min f (NYÍLT); F f(n) endif elágazással. Nevezetes AB algoritmusok : A algoritmus : q=f B algoritmus (Martelli) : q=g Megjegyzés Az AB algoritmusok csökken kiértékel függvényt használnak Tétel Az eltér bels kiértékel függvényt használó AB algoritmusok mködésük során ugyanazokat a küszöbcsúcsokat, ugyanabban a sorrendben és ugyanazon küszöbértékkel választják ki, és ekkor ugyanazt a keresgráfot, ugyanazon feszítfával és költségértékekkel tartják nyilván. Bizonyítás: Teljes indukció a küszöbcsúcsok számára. Az i+-dik küszöbcsúcsnál bekövetkez állapot attól függ, hogy eltte mely csúcsokat terjeszti ki a keresés az az i-edik árokban. (Ez a kiterjesztések sorrendjétl és számától nem függ.) 7 Az i-edik árokban kiterjesztett csúcsok Egy az i-edik árokban kiterjesztett m csúcsnak a NYÍLT halmazban kell lennie az n i kiterjesztése után, de még az n i+ kiterjesztése eltt úgy, hogy f(m) < F i fennálljon Az m csúcs akkor kerülhet be a NYÍLT halmazba, ha i- edik árokhoz tartozó csúcsok kiterjesztései során találunk hozzá egy s-bl induló n i -n keresztül vezet utat, amely vagy az els hozzá talált út, vagy egy minden eddigénél olcsóbb út. Ha m csúcs már benn volt a NYÍLT halmazban az n i kiterjesztésekor, akkor az f(m) F i állt fenn. Ahhoz, hogy ez megváltozzon (f=g+h) kell, hogy találjunk egy minden eddigénél olcsóbb utat m-hez i-edik árokhoz tartozó csúcsok kiterjesztései során. 76 Az i-edik árok csúcsai függetlenek q-tól Következmények D i = { m N α {s n i m}: n n i m \{m}: n D i g i (n i )+c α (n i,m)<g i (m) ha m G i g i az algoritmus által nyilvántartott g értékeket mutatja n i kiterjesztésének pillanatában. f(m)= g(m)+h(m) g i (n i )+c α (n i,m)+h(m) < F i } 77 Az AB algoritmusok megoldással terminálnak, ha van megoldás. (Ui: az A is egy AB) HF: az árkok (az utolsó árok is) véges hosszúak. Az optimális heurisztikát használó AB algoritmusok optimális megoldással terminálnak, ha van megoldás. (Ui: az A* is egy AB) HF: A* mködésekor a célcsúcs az utolsó küszöbcsúcs. A következetes heurisztikát használó AB algoritmus egy csúcsot legfeljebb egyszer terjesztenek ki. (Ui: az A c is egy AB) HF: A c árkai üresek. 78 3
14 Következmények Az AB algoritmusok memória igénye majdnem azonos az A algoritmussal. (Az utolsó megkezdett és be nem fejezett árokban különbözhetnek, de optimális heurisztikájú feladatokon még ott sem.) Az AB algoritmusok futási ideje eltér, mert az árkon belüli kiterjesztések száma és sorrendje más. Az A algoritmus futási ideje legrosszabb esetben exponenciális; de a B algoritmus futási ideje legrosszabb esetben is csak polinomiális Tétel A B algoritmus egy árkon belül egy csúcsot csak egyszer terjeszt ki. Bizonyítás: Tegyük fel indirekt, hogy egy m csúcs kétszer terjesztdik ki a D i árkon belül: elször az n i küszöbcsúcsból egy drágább α út mentén érjük el az m csúcsot, majd egy olcsóbb β út mentén, azaz c β (n i m) < c α (n i m) B algoritmus futási ideje s n i Amikor az α út mentén elérjük, majd kiterjesztjük az m csúcsot (m NYÍLT és g(m) =c(s,n i )+c α (n i m)), addigra elértünk a β úton egy k csúcshoz (k NYÍLT és g(k) c(s,n i )+c β (n i k)). A B algoritmus az m csúcsot választotta:g(m) g(k) g(k) c(s,n i ) +c β (n i k) c(s,n i )+c β (n i m) < < c(s,n i )+c α (n i m) = g(m) k α β m 8 k zárt csúcs esetén legfeljebb k+ küszöbcsúcs van (az utolsó a célcsúcs, ha a heurisztika optimális), ilyenkor k darab árok van. A B algoritmus legrosszabb esetben egy árokban az összes k csúcsot pontosan egyszer kiterjeszti. Ezért a kiterjesztések összes száma legfeljebb k. 8 Algoritmus osztályok 3.. Heurisztika szerepe A** A A * Heurisztikus AB A c Elre tekint B Neminformált Szélességi Mélységi Milyen a jó heurisztika? optimális : h(n) h * (n) Nincs mindig szükség az optimális megoldásra. jólinformált: h(n) ~ h * (n) monoton megszorításos: h(n)-h (m) c(n,m) Ekkor A c algoritmus, különben B algoritmus Változó heurisztikák: f=g+φ*h ahol φ d B algoritmus
15 A** algoritmus Gyakorlat Azt a GK-t nevezzük A** algoritmusnak, amelyre az f(n)=max m s n (g(m)+h(m)) n NYÍLT, h optimális Optimális megoldást talál, ha van megoldás Talál megoldást. Ehhez 3.. lemma: f(n) g(n)+h(n) g * (n) d * (n)*δ Optimális a megoldás. Ehhez 3.6. lemma: f(n) f(m) = g(m i )+h(m i ) f * (m i ) = f * (s) IDA* algoritmus c f(start) loop (megoldás, c) c) VL.(<s>, c) c) if ifmegoldás hiba then return megoldás if ifc= then return hiba // // ha ha VL. ben nem volt vágás endloop VL.: f=g+h, h optimális n csúcsot kiértékelés nélkül levágja, ha ha f(n)>c c-ben visszaadja a levágott csúcsok ff értékeinek minimumát; ha ha nincs ilyen, akkor a -t. Az IDA * algoritmus optimális heurisztika mellett optimális megoldást talál, ha van megoldás! Talál megoldást: Egyrészt a c értéke nem válhat naggyá megoldás megtalálása eltt. Másrészt a keresés nem akadhat meg egy megoldási útnak egy csúcsánál. Optimális a megoldás : Ehhez elég belátni, hogy c f * (start) mindig fennáll, hiszen ekkor nem találhat a VL. olyan célcsúcsot, amelyre g(t)> f * (start). Legyen n s* t az a csúcs, amit levágunk (g(n) = g * (n)) Ekkor c f(n) = g(n)+h(n) = g * (n)+h(n) f * (n) = f * (s). 88 Állítások Csökken kiértékel függvény mellett a GK küszöbcsúcsai mind különböznek, és egy csúcs csak az els kiterjesztésekor lehet küszöbcsúcs. Ha a GK terminálásakor egyetlen nyílt csúcs (a célcsúcs) van, akkor a GK optimális megoldást talált. A * minden olyan n nyílt csúcsot kiterjeszt, amelyre f(n)<f * (s). Ha a h heurisztikus függvény monoton megszorításos, akkor bármelyik startcsúcsból egy n csúcsba vezet optimális út mentén a g * +h függvény értékei monoton növeked sorozatot alkotnak. Ha a h monoton megszorításos és az értéke célcsúcsokban nulla akkor h optimális. 89 Tétel Csökken kiértékel függvény használata mellett a GK csak konzisztens csúcsot választ kiterjesztésre. Bizonyítás: HF (Képzeljük el, hogy miután az n csúcs egy α út mentén kiterjesztdött, egy olcsóbb β út mentén újra nyílt lesz. Eközben bekerült a NYÍLT halmazba a γ út menti m is. Az m csúcs az nyílttá válásakor inkonzisztensé válik. Meg kell mutatni, hogy az algoritmus nem terjeszti ki az m csúcsot az n csúcs eltt! Ehhez kövessük nyomon a β és a γ utak felfedezését, az n csúcs korábbi kiterjesztése és újra nyílttá válása között. β c β (s, n) < c α (s, n) s α n γ m 90
16 B algoritmus if ifh(n)<min m Γ(n) (c(n,m)+h(m)) m Γ(n) then h(n) min m Γ(n) (c(n,m)+h(m)) m Γ(n) else for m Γ(n)-re loop if ifh(n)- h(m)>c(n,m) then h(m) h(n)- c(n,m) endloop A h optimális marad A h nem csökken A mononton megszorításos élek száma n Mohó A algoritmus Nincs mindig szükség az optimális megoldásra. Ilyenkor a mohó A algoritmus is használható. Ha h optimális és t T: (n,t) A: h(n)+α c(n,t) akkor g(t) f * (s)+α A mohó A algoritmus optimális heurisztika mellett akkor garantálja az optimális megoldást, ha t T: (n,t) A: h(n)=c(n,t) vagy h monoton és α 0: t T: (n,t) A: h(n)+α=c(n,t) 9 6
2. Visszalépéses stratégia
2. Visszalépéses stratégia A visszalépéses keres rendszer olyan KR, amely globális munkaterülete: út a startcsúcsból az aktuális csúcsba (ezen kívül a még ki nem próbált élek nyilvántartása) keresés szabályai:
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észletesebbenMesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2010/2011 1/363
1/363 Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2010/2011 Az Előadások Témái 69/363 Bevezető: mi a mesterséges intelligencia... Tudás reprezentáció Gráfkeresési stratégiák
RészletesebbenMesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008
Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008 Az Előadások Témái Bevezető: mi a mesterséges intelligencia... Tudás reprezentáció stratégiák Szemantikus hálók / Keretrendszerek
RészletesebbenKeresések Gregorics Tibor Mesterséges intelligencia
Keresések ADAT := kezdeti érték while terminálási feltétel(adat) loop SELECT SZ FROM alkalmazható szabályok ADAT := SZ(ADAT) endloop KR vezérlési szintjei vezérlési stratégia általános modellfüggő heurisztikus
RészletesebbenMesterséges intelligencia. Gregorics Tibor people.inf.elte.hu/gt/mi
people.inf.elte.hu/gt/mi Szakirodalom Könyvek Fekete István - - Nagy Sára: Bevezetés a mesterséges intelligenciába, LSI Kiadó, Budapest, 1990, 1999. ELTE-Eötvös Kiadó, Budapest, 2006. Russel, J. S., Norvig,
RészletesebbenMesterséges intelligencia 2. laborgyakorlat
Mesterséges intelligencia 2. laborgyakorlat Keresési módszerek A legtöbb feladatot meg lehet határozni keresési feladatként: egy ún. állapottérben, amely tartalmazza az összes lehetséges állapotot fogjuk
RészletesebbenMesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008
Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008 Az Előadások Témái Bevezető: mi a mesterséges intelligencia... Tudás reprezentáció Gráfkeresési stratégiák Szemantikus hálók
Részletesebbenf(x) vagy f(x) a (x x 0 )-t használjuk. lim melyekre Mivel itt ɛ > 0 tetszőlegesen kicsi, így a a = 0, a = a, ami ellentmondás, bizonyítva
6. FÜGGVÉNYEK HATÁRÉRTÉKE ÉS FOLYTONOSSÁGA 6.1 Függvény határértéke Egy D R halmaz torlódási pontjainak halmazát D -vel fogjuk jelölni. Definíció. Legyen f : D R R és legyen x 0 D (a D halmaz torlódási
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é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észletesebben1. Milyen hatással van a heurisztika általában a keresõ rendszerek mûködésére?
2012. 06. 20. 1. Milyen hatással van a heurisztika általában a keresõ rendszerek mûködésére? A heurisztika olyan, a feladathoz kapcsolódó ötlet, amelyet közvetlenül építünk be egy algoritmusba, azért,
RészletesebbenProgramkonstrukciók A programkonstrukciók programfüggvényei Levezetési szabályok. 6. előadás. Programozás-elmélet. Programozás-elmélet 6.
Programkonstrukciók Definíció Legyen π feltétel és S program A-n. A DO A A relációt az S-ből a π feltétellel képezett ciklusnak nevezzük, és (π, S)-sel jelöljük, ha 1. a / [π] : DO (a) = { a }, 2. a [π]
RészletesebbenSapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 4. kurzus. 3. Előadás: A mohó algoritmus
Csíkszereda IRT-. kurzus 3. Előadás: A mohó algoritmus 1 Csíkszereda IRT. kurzus Bevezetés Az eddig tanult algoritmus tipúsok nem alkalmazhatók: A valós problémák nem tiszta klasszikus problémák A problémák
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észletesebbenIványi Antal alkotó szerkeszt INFORMATIKAI ALGORITMUSOK
Iványi Antal alkotó szerkeszt INFORMATIKAI ALGORITMUSOK mondat Kiadó Vác, 2013 A könyv a Nemzeti Kulturalis Alap támogatásával készült. Alkotó szerkeszt : Iványi Antal Szerz k: Mira-Cristiana Anisiu (35.
RészletesebbenÖSSZEFOGLALÁS a Bsc záróvizsga mesterséges intelligenciáról szóló témaköréhez
ÖSSZEFOGLALÁS a Bsc záróvizsga mesterséges intelligenciáról szóló témaköréhez Az MI az informatikának az a területe, amelyik az intelligens gondolkodás számítógépes reprodukálása szempontjából hasznos
Részletesebben24. MINIMÁLIS KÖLTSÉGŰ UTAK I.
24. MINIMÁLIS KÖLTSÉGŰ UTAK I. Az útvonaltervezés az egyik leggyakrabban végrehajtott eljárása a gráfok alkalmazásai körében. A feladat például a közlekedésben jelentkezik. A gráfot itt az a térkép jelenti,
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észletesebben23. SZÉLESSÉGI BEJÁRÁS
23. SZÉLESSÉGI BEJÁRÁS A bejárási algoritmusok feladata általában a gráf csúcsainak végiglátogatása valamilyen stratégia szerint. A bejárás gyakran azért hajtjuk végre, mert adott tulajdonságú csúcsot
RészletesebbenV. Kétszemélyes játékok
Teljes információjú, véges, zéró összegű kétszemélyes játékok V. Kétszemélyes játékok Két játékos lép felváltva adott szabályok szerint. Mindkét játékos ismeri a maga és az ellenfele összes választási
RészletesebbenGrá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
ÖSSZEFOGLALÁS Az MI az intelligens gondolkodás számítógépes reprodukálása szempontjából hasznos elveket, módszereket, technikákat kutatja, fejleszti, rendszerezi. Miről ismerhető fel az MI? Megoldandó
RészletesebbenProblémamegoldás kereséssel. Mesterséges intelligencia március 7.
Problémamegoldás kereséssel Mesterséges intelligencia 2014. március 7. Bevezetés Problémamegoldó ágens Kívánt állapotba vezető cselekvéseket keres Probléma megfogalmazása Megoldás megfogalmazása Keresési
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é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észletesebbenAlgoritmusok helyességének bizonyítása. A Floyd-módszer
Algoritmusok helyességének bizonyítása A Floyd-módszer Algoritmusok végrehajtása Egy A algoritmus esetében a változókat három változótípusról beszélhetünk, melyeket az X, Y és Z vektorokba csoportosítjuk
RészletesebbenDiszkrét matematika 2.C szakirány
Diszkrét matematika 2.C szakirány 2017. ősz 1. Diszkrét matematika 2.C szakirány 2. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék 2017.
RészletesebbenMesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2010/2011 1/363
1/6 Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2010/2011 Az Előadások Témái 46/6 Bevezető: mi a mesterséges intelligencia... Tudás reprezentáció stratégiák Szemantikus hálók
RészletesebbenAlap fatranszformátorok II
Alap fatranszformátorok II Vágvölgyi Sándor Fülöp Zoltán és Vágvölgyi Sándor [2, 3] közös eredményeit ismertetjük. Fogalmak, jelölések A Σ feletti alaptermek TA = (T Σ, Σ) Σ algebráját tekintjük. Minden
RészletesebbenBevezetés. 1. fejezet. Algebrai feladatok. Feladatok
. fejezet Bevezetés Algebrai feladatok J. A számok gyakran használt halmazaira a következ jelöléseket vezetjük be: N a nemnegatív egész számok, N + a pozitív egész számok, Z az egész számok, Q a racionális
Részletesebben1. Alapfogalmak Algoritmus Számítási probléma Specifikáció Algoritmusok futási ideje
1. Alapfogalmak 1.1. Algoritmus Az algoritmus olyan elemi műveletekből kompozíciós szabályok szerint felépített összetett művelet, amelyet megadott feltételt teljesítő bemeneti adatra végrehajtva, a megkívánt
RészletesebbenKiterjesztések sek szemantikája
Kiterjesztések sek szemantikája Példa D Integer = {..., -1,0,1,... }; D Boolean = { true, false } D T1... T n T = D T 1... D Tn D T Az összes függvf ggvény halmaza, amelyek a D T1,..., D Tn halmazokból
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é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észletesebbenFüggvények növekedési korlátainak jellemzése
17 Függvények növekedési korlátainak jellemzése A jellemzés jól bevált eszközei az Ω, O, Θ, o és ω jelölések. Mivel az igények általában nemnegatívak, ezért az alábbi meghatározásokban mindenütt feltesszük,
Részletesebben... 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.
Párhuzamos programok Legyen S parbegin S 1... S n parend; program. 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. Folyamat
RészletesebbenDiszkrét matematika 2.
Diszkrét matematika 2. 2018. szeptember 21. 1. Diszkrét matematika 2. 2. előadás Fancsali Szabolcs Levente nudniq@cs.elte.hu www.cs.elte.hu/ nudniq Komputeralgebra Tanszék 2018. szeptember 21. Gráfelmélet
Részletesebben1. AZ MI FOGALMA. I. Bevezetés. Ers mesterséges intelligencia (EMI) Gyenge mesterséges intelligencia. MI története. Els szakasz (60-as évek)
1. AZ MI FOGALMA I. Bevezetés 1. A mesterséges intelligencia (MI) fogalma 2. Probléma modellezés 3. Keres rendszerek az MI-ben 1956 nyár. Darthmouth College-i konferencia Kezdeti cél: Az emberi gondolkodás
RészletesebbenDiszkrét matematika 1. estis képzés
Diszkrét matematika 1. estis képzés 2019. tavasz 1. Diszkrét matematika 1. estis képzés 9. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Mérai László diái alapján
RészletesebbenTovábbi forgalomirányítási és szervezési játékok. 1. Nematomi forgalomirányítási játék
További forgalomirányítási és szervezési játékok 1. Nematomi forgalomirányítási játék A forgalomirányítási játékban adott egy hálózat, ami egy irányított G = (V, E) gráf. A gráfban megengedjük, hogy két
Részletesebbenf(x) a (x x 0 )-t használjuk.
5. FÜGGVÉNYEK HATÁRÉRTÉKE ÉS FOLYTONOSSÁGA 5.1 Függvény határértéke Egy D R halmaz torlódási pontjainak halmazát D -vel fogjuk jelölni. Definíció. Legyen f : D R R és legyen x 0 D (a D halmaz torlódási
RészletesebbenA sorozat fogalma. függvényeket sorozatoknak nevezzük. Amennyiben az értékkészlet. az értékkészlet a komplex számok halmaza, akkor komplex
A sorozat fogalma Definíció. A természetes számok N halmazán értelmezett függvényeket sorozatoknak nevezzük. Amennyiben az értékkészlet a valós számok halmaza, valós számsorozatról beszélünk, mígha az
RészletesebbenChomsky-féle hierarchia
http://www.cs.ubbcluj.ro/~kasa/formalis.html Chomsky-féle hierarchia G = (N, T, P, S) nyelvtan: 0-s típusú (általános vagy mondatszerkezet ), ha semmilyen megkötést nem teszünk a helyettesítési szabályaira.
RészletesebbenDeníciók és tételek a beugró vizsgára
Deníciók és tételek a beugró vizsgára (a szóbeli viszgázás jogáért) Utolsó módosítás: 2008. december 2. 2 Bevezetés Számítási problémának nevezünk egy olyan, a matematika nyelvén megfogalmazott kérdést,
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é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észletesebbenSorozatok és Sorozatok és / 18
Sorozatok 2015.11.30. és 2015.12.02. Sorozatok 2015.11.30. és 2015.12.02. 1 / 18 Tartalom 1 Sorozatok alapfogalmai 2 Sorozatok jellemz i 3 Sorozatok határértéke 4 Konvergencia és korlátosság 5 Cauchy-féle
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észletesebbenNagyságrendek. Kiegészítő anyag az Algoritmuselmélet tárgyhoz. Friedl Katalin BME SZIT február 1.
Nagyságrendek Kiegészítő anyag az Algoritmuselmélet tárgyhoz (a Rónyai Ivanyos Szabó: Algoritmusok könyv mellé) Friedl Katalin BME SZIT friedl@cs.bme.hu 018. február 1. Az O, Ω, Θ jelölések Az algoritmusok
RészletesebbenAmortizációs költségelemzés
Amortizációs költségelemzés Amennyiben műveleteknek egy M 1,...,M m sorozatának a futási idejét akarjuk meghatározni, akkor egy lehetőség, hogy külön-külön minden egyes művelet futási idejét kifejezzük
RészletesebbenMesterséges Intelligencia MI
Mesterséges Intelligencia MI Problémamegoldás kereséssel - ha segítenek útjelzések 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észletesebben3. Feloldható csoportok
3. Feloldható csoportok 3.1. Kommutátor-részcsoport Egy csoport két eleme, a és b felcserélhető, ha ab = ba, vagy átrendezve az egyenlőséget, a 1 b 1 ab = 1. Ezt az [a,b] = a 1 b 1 ab elemet az a és b
Részletesebben... fi. ... fk. 6. Fabejáró algoritmusok Rekurzív preorder bejárás (elsőfiú-testvér ábrázolásra)
6. Fabejáró algoritmusok Fa bejárásán olyan algoritmust értünk, amelynek bemenete egy F fa és egy M művelet, és az algoritmus adott sorrendben pontosan egyszer végrehajtja az M műveletet a fa pontjaiban
RészletesebbenMódosítható Prioritási sor Binomiális kupaccal. Wednesday, March 21, 12
Módosítható Prioritási sor Binomiális kupaccal modosit(x,k) {! if (k>x.kulcs) {!! x.kulcs=k ;!! y=x!! z=x.apa ;!! while(z!=nil and y.kulcs
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észletesebbenMarkov-láncok stacionárius eloszlása
Markov-láncok stacionárius eloszlása Adatbányászat és Keresés Csoport, MTA SZTAKI dms.sztaki.hu Kiss Tamás 2013. április 11. Tartalom Markov láncok definíciója, jellemzése Visszatérési idők Stacionárius
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észletesebbenProgramozási módszertan. Dinamikus programozás: A leghosszabb közös részsorozat
PM-07 p. 1/13 Programozási módszertan Dinamikus programozás: A leghosszabb közös részsorozat Werner Ágnes Villamosmérnöki és Információs Rendszerek Tanszék e-mail: werner.agnes@virt.uni-pannon.hu PM-07
RészletesebbenKorlátozás és szétválasztás elve. ADAGOLO adattípus
Korlátozás és szétválasztás elve ADAGOLO adattípus Értékhalmaz: E Adagolo : A E Műveletek: A : Adagolo, x : E {Igaz} Letesit(A) {A = /0} {A = A} Megszuntet(A) {Igaz} {A = A} Uresit(A) {A = /0} {A = A}
RészletesebbenMesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008
Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 007/008 Az Előadások Témái Bevezető: mi a mesterséges intelligencia... Tudás reprezentáció i stratégiák Szemantikus hálók / Keretrendszerek
RészletesebbenHaladók III. kategória 2. (dönt ) forduló
Haladók III. kategória 2. (dönt ) forduló 1. Tetsz leges n pozitív egész számra jelölje f (n) az olyan 2n-jegy számok számát, amelyek megegyeznek az utolsó n számjegyükb l alkotott szám négyzetével. Határozzuk
RészletesebbenAlgoritmuselmélet. Bonyolultságelmélet. Katona Gyula Y.
Algoritmuselmélet Bonyolultságelmélet Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem 12. előadás Katona Gyula Y. (BME SZIT) Algoritmuselmélet
RészletesebbenTuesday, March 6, 12. Hasító táblázatok
Hasító táblázatok Halmaz adattípus U (kulcsuniverzum) K (aktuális kulcsok) Függvény adattípus U (univerzum) ÉT (értelmezési tartomány) ÉK (érték készlet) Milyen az univerzum? Közvetlen címzésű táblázatok
Részletesebben5. előadás. Programozás-elmélet. Programozás-elmélet 5. előadás
Elemi programok Definíció Az S A A program elemi, ha a A : S(a) { a, a, a, a,..., a, b b a}. A definíció alapján könnyen látható, hogy egy elemi program tényleg program. Speciális elemi programok a kövekezők:
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észletesebbenAnalízis előadás és gyakorlat vázlat
Analízis előadás és gyakorlat vázlat Készült a PTE TTK GI szakos hallgatóinak Király Balázs 2010-11. I. Félév 2 1. fejezet Számhalmazok és tulajdonságaik 1.1. Nevezetes számhalmazok ➀ a) jelölése: N b)
Részletesebben1. tétel - Gráfok alapfogalmai
1. tétel - Gráfok alapfogalmai 1. irányítatlan gráf fogalma A G (irányítatlan) gráf egy (Φ, E, V) hátmas, ahol E az élek halmaza, V a csúcsok (pontok) halmaza, Φ: E {V-beli rendezetlen párok} illeszkedési
RészletesebbenEloadó: Dr. Várterész Magdolna
Eloadó: Dr. Várterész Magdolna Tartalomjegyzék: 1. Bevezetés 1.1. A jegyzet megtekintéséhez ajánlott környezet 1.2. Információ a mesterséges intelligencia kurzusról 1.3. Röviden a mesterséges intelligenciáról
RészletesebbenZH feladatok megoldásai
ZH feladatok megoldásai A CSOPORT 5. Írja le, hogy milyen szabályokat tartalmazhatnak az egyes Chomskynyelvosztályok (03 típusú nyelvek)! (4 pont) 3. típusú, vagy reguláris nyelvek szabályai A ab, A a
RészletesebbenGrá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
ÖSSZEFOGLALÁS Az MI az intelligens gondolkodás számítógépes reprodukálása szempontjából hasznos elveket, módszereket, technikákat kutatja, fejleszti, rendszerezi. Miről ismerhető fel az MI? Megoldandó
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észletesebbenA digitális számítás elmélete
A digitális számítás elmélete 8. előadás ápr. 16. Turing gépek és nyelvtanok A nyelvosztályok áttekintése Turing gépek és a természetes számokon értelmezett függvények Áttekintés Dominó Bizonyítások: L
RészletesebbenMesterséges intelligencia
Mesterséges intelligencia Problémák és az útkeresések kapcsolata Az MI problémái, hogy a megoldandó feladatai nehezek, hatalmas a lehetséges válaszok tere (problématér), a helyes válaszok megtalálása intuíciót,
RészletesebbenAlgoritmusok Tervezése. 6. Előadás Algoritmusok 101 Dr. Bécsi Tamás
Algoritmusok Tervezése 6. Előadás Algoritmusok 101 Dr. Bécsi Tamás Mi az algoritmus? Lépések sorozata egy feladat elvégzéséhez (legáltalánosabban) Informálisan algoritmusnak nevezünk bármilyen jól definiált
RészletesebbenVéletlen bolyongás. Márkus László március 17. Márkus László Véletlen bolyongás március / 31
Márkus László Véletlen bolyongás 2015. március 17. 1 / 31 Véletlen bolyongás Márkus László 2015. március 17. Modell Deníció Márkus László Véletlen bolyongás 2015. március 17. 2 / 31 Modell: Egy egyenesen
RészletesebbenBevezetés az informatikába
Bevezetés az informatikába 6. előadás Dr. Istenes Zoltán Eötvös Loránd Tudományegyetem Informatikai Kar Programozáselmélet és Szoftvertechnológiai Tanszék Matematikus BSc - I. félév / 2008 / Budapest Dr.
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 7. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék
Részletesebbenangolul: greedy algorithms, románul: algoritmi greedy
Mohó algoritmusok angolul: greedy algorithms, románul: algoritmi greedy 1. feladat. Gazdaságos telefonhálózat építése Bizonyos városok között lehet direkt telefonkapcsolatot kiépíteni, pl. x és y város
RészletesebbenA félév során előkerülő témakörök
A félév során előkerülő témakörök rekurzív algoritmusok rendező algoritmusok alapvető adattípusok, adatszerkezetek, és kapcsolódó algoritmusok dinamikus programozás mohó algoritmusok gráf algoritmusok
Részletesebben1. AZ MI FOGALMA. I. Bevezetés. Tulajdonságok. Kezdet ELIZA. Első szakasz (60-as évek)
1. AZ MI FOGALMA I. Bevezetés Nincs pontos definíció Emberi gondolkodás számítógépes reprodukálása Intelligens viselkedésű programok Az ember számára is nehéz problémák számítógépes megoldása Intellektuálisan
Részletesebben1. feladat Az egyensúly algoritmus viselkedése: Tekintsük a kétdimenziós Euklideszi teret, mint metrikus teret. A pontok
1. feladat Az egyensúly algoritmus viselkedése: Tekintsük a kétdimenziós Euklideszi teret, mint metrikus teret. A pontok (x, y) valós számpárokból állnak, két (a, b) és (c, d) pontnak a távolsága (a c)
RészletesebbenNEM-DETERMINISZTIKUS PROGRAMOK HELYESSÉGE. Szekvenciális programok kategóriái. Hoare-Dijkstra-Gries módszere
Szekvenciális programok kategóriái strukturálatlan strukturált NEM-DETERMINISZTIKUS PROGRAMOK HELYESSÉGE Hoare-Dijkstra-Gries módszere determinisztikus valódi korai nem-determinisztikus általános fejlett
Részletesebben1. Példa. A gamma függvény és a Fubini-tétel.
. Példa. A gamma függvény és a Fubini-tétel.. Az x exp x + t )) függvény az x, t tartományon folytonos, és nem negatív, ezért alkalmazható rá a Fubini-tétel. I x exp x + t )) dxdt + t dt π 4. [ exp x +
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észletesebbenFormális nyelvek - 9.
Formális nyelvek - 9. Csuhaj Varjú Erzsébet Algoritmusok és Alkalmazásaik Tanszék Informatikai Kar Eötvös Loránd Tudományegyetem H-1117 Budapest Pázmány Péter sétány 1/c E-mail: csuhaj@inf.elte.hu 1 Véges
RészletesebbenSHk rövidítéssel fogunk hivatkozni.
Nevezetes függvény-határértékek Az alábbiakban a k sorszámú függvény-határértékek)re az FHk rövidítéssel, a kompozíció határértékéről szóló első, illetve második tételre a KL1, illetve a KL rövidítéssel,
RészletesebbenKiegészítő részelőadás 1. Az algoritmusok hatékonyságának mérése
Kiegészítő részelőadás 1. Az algoritmusok hatékonyságának mérése Dr. Kallós Gábor 2014 2015 1 Az Ordó jelölés Azt mondjuk, hogy az f(n) függvény eleme az Ordó(g(n)) halmaznak, ha van olyan c konstans (c
RészletesebbenALAPFOGALMAK 1. A reláció az program programfüggvénye, ha. Azt mondjuk, hogy az feladat szigorúbb, mint az feladat, ha
ALAPFOGALMAK 1 Á l l a p o t t é r Legyen I egy véges halmaz és legyenek A i, i I tetszőleges véges vagy megszámlálható, nem üres halmazok Ekkor az A= A i halmazt állapottérnek, az A i halmazokat pedig
RészletesebbenDijkstra algoritmusa
Budapesti Fazekas és ELTE Operációkutatási Tanszék 201. július 1. Legrövidebb utak súlyozatlan esetben v 4 v 3 Feladat Hány élből áll a legrövidebb út ezen a gráfon az s és t csúcsok között? v v 6 v 7
Részletesebben19. AZ ÖSSZEHASONLÍTÁSOS RENDEZÉSEK MŰVELETIGÉNYÉNEK ALSÓ KORLÁTJAI
19. AZ ÖSSZEHASONLÍTÁSOS RENDEZÉSEK MŰVELETIGÉNYÉNEK ALSÓ KORLÁTJAI Ebben a fejezetben aszimptotikus (nagyságrendi) alsó korlátot adunk az összehasonlításokat használó rendező eljárások lépésszámára. Pontosabban,
RészletesebbenSzámelméleti alapfogalmak
1 Számelméleti alapfogalmak 1 Definíció Az a IN szám osztója a b IN számnak ha létezik c IN melyre a c = b Jelölése: a b 2 Példa a 0 bármely a számra teljesül, mivel c = 0 univerzálisan megfelel: a 0 =
Részletesebben1. Parciális függvény, parciális derivált (ismétlés)
Operációkutatás NYME Gazdaságinformatikus mesterképzés El adó: Kalmár János (kalmar[kukac]inf.nyme.hu) Többváltozós széls érték számítás Parciális függvény, parciális derivált Széls érték korlátos zárt
RészletesebbenAlapfogalmak, valós számok Sorozatok, határérték Függvények határértéke, folytonosság A differenciálszámítás Függvénydiszkusszió Otthoni munka
Pintér Miklós miklos.pinter@uni-corvinus.hu Ősz Alapfogalmak Halmazok Definíció Legyen A egy tetszőleges halmaz, ekkor x A (x / A) jelentése: x (nem) eleme A-nak. A B (A B) jelentése: A (valódi) részhalmaza
RészletesebbenMesterséges intelligencia 1 előadások
VÁRTERÉSZ MAGDA Mesterséges intelligencia 1 előadások 2006/07-es tanév Tartalomjegyzék 1. A problémareprezentáció 4 1.1. Az állapottér-reprezentáció.................................................. 5
Részletesebben2. Reprezentáció-függvények, Erdős-Fuchs tétel
2. Reprezentáció-függvények, Erdős-Fuchs tétel A kör-probléma a következőképpen is megközelíthető: Jelölje S a négyzetszámok halmazát. Jelölje r S (n) azt az értéket, ahány féleképpen n felírható két pozitív
RészletesebbenAlgoritmusok bonyolultsága
Algoritmusok bonyolultsága 11. előadás http://www.ms.sapientia.ro/~kasa/komplex.htm () 1 / 1 NP-telesség Egy L nyelv NP-teles, ha L NP és minden L NP-re L L. Egy Π döntési feladat NP-teles, ha Π NP és
RészletesebbenGráfok, definíciók. Gráfok ábrázolása. Az adott probléma megoldásához ténylegesen mely műveletek szükségesek. Ábrázolások. Példa:
Gráfok, definíciók Irányítatlan gráf: G = (V,E), ahol E rendezetlen (a,b),a,b V párok halmaza. Irányított gráf: G = (V,E) E rendezett (a,b) párok halmaza; E V V. Címkézett (súlyozott) gráf: G = (V,E,C)
Részletesebbenút hosszát. Ha a két várost nem köti össze út, akkor legyen c ij = W, ahol W már az előzőekben is alkalmazott megfelelően nagy szám.
1 Az utazó ügynök problémája Utazó ügynök feladat Adott n számú város és a városokat összekötő utak, amelyeknek ismert a hossza. Adott továbbá egy ügynök, akinek adott városból kiindulva, minden várost
RészletesebbenAlgoritmusok bonyolultsága
Algoritmusok bonyolultsága 5. előadás http://www.ms.sapientia.ro/~kasa/komplex.htm 1 / 27 Gazdaságos faváz Kruskal-algoritmus Joseph Kruskal (1928 2010) Legyen V = {v 1, v 2,..., v n }, E = {e 1, e 2,...,
RészletesebbenAz R halmazt a valós számok halmazának nevezzük, ha teljesíti az alábbi 3 axiómacsoport axiómáit.
2. A VALÓS SZÁMOK 2.1 A valós számok aximómarendszere Az R halmazt a valós számok halmazának nevezzük, ha teljesíti az alábbi 3 axiómacsoport axiómáit. 1.Testaxiómák R-ben két művelet van értelmezve, az
Részletesebben