Algoritmusok és adatszerkezetek I. 7. előadás



Hasonló dokumentumok
Informatikai tehetséggondozás:

Problémamegoldási stratégiák

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

Visszalépéses maximumkiválasztás

Feladatmegoldási stratégiák

Informatikai tehetséggondozás:

Informatikai tehetséggondozás:

PROGRAMOZÁSI NYELVEK (GYAKORLAT)

Backtrack-es feladat-variációk

Visszalépéses keresés korlátozással

RENDEZÉSEK, TOVÁBBI PROGRAMOZÁSI TÉTELEK

Informatikai tehetséggondozás:

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

Közismereti informatika I. 4. előadás

REKURZIÓ. Rekurzív: önmagát ismétlő valami (tevékenység, adatszerkezet stb.) Rekurzív függvény: függvény, amely meghívja saját magát.


Programozási tételek. Jegyzet. Összeállította: Faludi Anita 2012.

Informatikai tehetséggondozás:

Adatszerkezetek II. 10. előadás

A 2011/2012 tanévi Országos Középiskolai Tanulmányi Verseny első forduló feladatainak megoldása. INFORMATIKÁBÓL II. (programozás) kategóriában

Mesterséges intelligencia 1 előadások

Adatszerkezetek II. 6. előadás

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


Kombinatorikai algoritmusok. (Horváth Gyula és Szlávi Péter előadásai felhasználásával)

Kombinatorikai algoritmusok

hatására hátra lép x egységgel a toll

Első sorozat (2000. május 22. du.) 1. Oldjamegavalós számok halmazán a. cos x + sin2 x cos x. +sinx +sin2x =

Adatstruktúrák Algoritmusok Objektumok

M{ZD{ CX MME_CX-5_COVER_13R1_V2.indd 1 30/01/ :56

M{ZD{ CX MME_CX-5_COVER_12R1_V2.indd 1 30/01/ :27


A 2011-es év kompetencia-méréseinek elemzése

Alkalmazott modul: Programozás

A 2010/2011 tanévi Országos Középiskolai Tanulmányi Verseny első forduló feladatainak megoldása. INFORMATIKÁBÓL II. (programozás) kategóriában

Felvételi tematika INFORMATIKA

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

Élet az 50 éves gimnáziumban. Szikszó, 2015

Egyszerű programozási tételek

A Cast Duettől a Rubik-kockáig

Adatszerkezetek II. 1. előadás

3. Az ítéletlogika szemantikája

SZAKÁLL SÁNDOR, ÁsVÁNY- És kőzettan ALAPJAI

AZ MVM RT. ÁLTAL RENDEZETT ELSÔ MAGYAR KAPACITÁSAUKCIÓRÓL

462 Trigonometrikus egyenetek II. rész

Pásztor Attila. Algoritmizálás és programozás tankönyv az emeltszintű érettségihez

Torony Község Önkormányzata Képviselő-testülete április 29- i nyílt ülésének jegyzőkönyve

mtatk A kistérségi gyerekesély program és az általános iskolai oktatás teljesítményének összefüggése MTA TK Gyerekesély Műhelytanulmányok 2015/3

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

Programozási tételek. Dr. Iványi Péter

JUHÁSZ TIBOR TÓTH BERTALAN KOLLEKCIÓK ALKALMAZÁSA A FELADATMEGOLDÁSOKBAN

Gyakorlatok. P (n) = P (n 1) + 2P (n 2) + P (n 3) ha n 4, (utolsó lépésként l, hl, u, hu-t léphetünk).

FELADATOK ÉS MEGOLDÁSOK

Adatszerkezetek II. 7. előadás

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

INFORMATIKAI ALAPISMERETEK

SGS-48 FORGALOMTECHNIKAI SEGÉDLET

Mit vár egy új KRESZ jogszabálytól a közlekedésbiztonsági kutató?

Programozás I. Metódusok C#-ban Egyszerű programozási tételek. Sergyán Szabolcs

Összetett programozási tételek Rendezések Keresések PT egymásra építése. 10. előadás. Programozás-elmélet. Programozás-elmélet 10.

Gyakorló feladatok ZH-ra

A 2012/2013 tanévi Országos Középiskolai Tanulmányi Verseny első forduló feladatainak megoldása. INFORMATIKÁBÓL II. (programozás) kategóriában

Informatikai tehetséggondozás:

Országos kompetenciamérés. Országos jelentés

PROGRAM ADATLAP. öngyilkosság megelőzéséről szóló közösségi és alapellátási programokhoz

JEGYZŐKÖNYV. vezetője a Kőbányai Csodafa Óvoda vezetője a Kőbányai Gyermekek Háza Óvoda vezetője. képviselő, a Gazdasági és Pénzügyi Bizottság elnöke

ADATBÁZIS-KEZELÉS ALAPOK I.

VONALVEZETÉS TERVEZÉSE

Igazgatócserék, egy kutatás háttere

ALDI Húsvéti Kódgyűjtés (Részvételi- és játékszabályzat)

Átsorolást segítő listák

HÁLÓZATOK I. 10. Segédlet a gyakorlati órákhoz. Készítette: Göcs László mérnöktanár KF-GAMF Informatika Tanszék tanév 1.

Síklefedések Erdősné Németh Ágnes, Nagykanizsa

Mesterséges Intelligencia MI

SZAKMASPECIFIKUS BERUHÁZÁSI ELJÁRÁSREND előzetes javaslat 1

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Gráfelmélet II. Gráfok végigjárása

A 2009/2010 tanévi Országos Középiskolai Tanulmányi Verseny első forduló feladatainak megoldása. INFORMATIKÁBÓL II. (programozás) kategóriában

I. fejezet. Általános rendelkezések 1..

Bánsághi Anna 2014 Bánsághi Anna 1 of 68

Operációkutatás vizsga

A 2008/2009 tanévi Országos Középiskolai Tanulmányi Verseny első forduló feladatainak megoldása. INFORMATIKÁBÓL II. (programozás) kategóriában

Matematikai statisztikai elemzések 5.

Különös közzétételi lista. 229/2012. (VIII.28.) Kormány rendelet értelmében az alábbi adatokat tesszük közzé:

ÉPÍTÉSI JOG OTSZ 5.0

Kiszombor Nagyközség Polgármesterétől 6775 Kiszombor, Nagyszentmiklósi u. 8. Tel/Fax: 62/

Szeminárium-Rekurziók

Emlékeztető. Esemény: Vízgyűjtő-gazdálkodási tervezés területi vitafóruma a 2-3 Lónyaifőcsatorna

Informatikai tehetséggondozás:

A BIZOTTSÁG.../.../EU FELHATALMAZÁSON ALAPULÓ IRÁNYELVE ( )

Hunyadi Mátyás Nevelési Oktatási Központ. Tájékoztató a TAMOP /A/2 pályázatról 2009 december 7. hétfő 14-óra

A 300-as érzékelők alkalmazása... az "intelligens" hagyományos érzékelők...

Adatszerkezet - műveletek


SL7000. Intelligens kereskedelmi és ipari fogyasztásmérő

Erdélyi Magyar TudományEgyetem (EMTE

Oktatási Hivatal. A 2014/2015 tanévi Országos Középiskolai Tanulmányi Verseny első fordulójának feladatai. II. (programozás) kategória

Informatikai tehetséggondozás:

Mesterséges Intelligencia I. (I602, IB602)

A szárazmegmunkálás folyamatjellemzőinek és a megmunkált felület minőségének vizsgálata keményesztergálásnál

Darts: surranó nyilak, gondolkodtató problémák Kombinatorika 6. feladatcsomag

Átírás:

Algoritmusok és adatszerkezetek I. 7. előadás

Feladat 1. változat Visszalépéses keresés Egy vállalkozás N különböző állásra keres munkásokat. Pontosan N jelentkező érkezett, ahol minden jelentkező megmondta, hogy mely munkákhoz ért, illetve amihez ért. A vállalkozás vezetője azt szeretné, ha az összes jelentkezőt fel tudná venni és minden munkát elvégeztetni. M(i) az i. munkás ennyi munkához ért E(i,j) az i. munkás által elvégezhető j. munka Szlávi Péter, Zsakó László: Adatszerkezetek I. 2016.04.20. 12:21 2/37

Visszalépéses keresés N munka N jelentkező: Keresés(N,Van,Y): i:=1; Y:=(0,...,0) Ciklus amíg i 1 és i N {lehet még és nincs még kész} Jóesetkeresés(i,Van,j) Ha Van akkor Y(i):=j; i:=i+1 {előrelépés} különben Y(i):=0; i:=i-1 {visszalépés} Van:=(i>N) Szlávi Péter, Zsakó László: Adatszerkezetek I. 2016.04.20. 12:21 3/37

Visszalépéses keresés N munka N jelentkező: Jóesetkeresés(i,Van,j): j:=y(i)+1 Ciklus amíg j M(i) és rossz(i,j) j:=j+1 Van:=(j M(i)) Szlávi Péter, Zsakó László: Adatszerkezetek I. 2016.04.20. 12:21 4/37

Visszalépéses keresés N munka N jelentkező: rossz(i,j): k:=1 Ciklus amíg k<i és E(k,Y(k)) E(i,j) k:=k+1 rossz:=(k<i) E(i,j) az i. munkás által elvégezhető j. munka Szlávi Péter, Zsakó László: Adatszerkezetek I. 2016.04.20. 12:21 5/37

Feladat 2. változat Visszalépéses keresés Egy vállalkozás N különböző állásra keres munkásokat. Pontosan N jelentkező érkezett, ahol minden jelentkező megmondta, hogy mely munkákhoz ért, illetve amihez ért. A vállalkozás vezetője azt szeretné, ha az összes jelentkezőt fel tudná venni és minden munkát elvégeztetni. F(i,j) az i. munkás ért-e a j. munkához? Szlávi Péter, Zsakó László: Adatszerkezetek I. 2016.04.20. 12:21 6/37

Visszalépéses keresés N munka N jelentkező: Keresés(N,Van,Y): i:=1; Y:=(0,...,0) Ciklus amíg i 1 és i N {lehet még és nincs még kész} Jóesetkeresés(i,Van,j) Ha Van akkor Y(i):=j; i:=i+1 {előrelépés} különben Y(i):=0; i:=i-1 {visszalépés} Van:=(i>N) Szlávi Péter, Zsakó László: Adatszerkezetek I. 2016.04.20. 12:21 7/37

Visszalépéses keresés N munka N jelentkező: Jóesetkeresés(i,Van,j): j:=y(i)+1 Ciklus amíg j N és (rossz(i,j) vagy nem F(i,j)) j:=j+1 Van:=(j N) Szlávi Péter, Zsakó László: Adatszerkezetek I. 2016.04.20. 12:21 8/37

Visszalépéses keresés N munka N jelentkező: rossz(i,j): k:=1 Ciklus amíg k<i és Y(k) j k:=k+1 rossz:=(k<i) Szlávi Péter, Zsakó László: Adatszerkezetek I. 2016.04.20. 12:21 9/37

Feladat Feladatmegoldási stratégiák Visszalépéses keresés Egy pályaválasztási intézet elhatározza, hogy a 8. osztályos tanulók iskolaválasztásai alapján (minden jelentkezési lapon maximum két iskolát lehet megjelölni) megpróbál olyan 'beiskolázást' megvalósítani, amelyben minden tanulót az általa megjelölt valamelyik iskolába fel is vesznek. (Tudjuk az egyes iskolákba felvehetők számát.) Adj meg egy lehetséges jó beiskolázást! Szlávi Péter, Zsakó László: Adatszerkezetek I. 2016.04.20. 12:21 10/37

Visszalépéses keresés N tanuló beiskolázása M iskolába: Keresés(N,Van,Y): i:=1; Y:=(0,...,0) Ciklus amíg i 1 és i N {lehet még és nincs még kész} Jóesetkeresés(i,Van,j) Ha Van akkor Y(i):=j; i:=i+1 {előrelépés} különben Y(i):=0; i:=i-1 {visszalépés} Van:=(i>N) Szlávi Péter, Zsakó László: Adatszerkezetek I. 2016.04.20. 12:21 11/37

Visszalépéses keresés N tanuló beiskolázása M iskolába: Jóesetkeresés(i,Van,j): j:=y(i)+1 Ha Igény(i,2)=0 akkor K:=1 különben K:=2 Ciklus amíg j K és rossz(i,j) j:=j+1 Van:=(j K) Szlávi Péter, Zsakó László: Adatszerkezetek I. 2016.04.20. 12:21 12/37

Visszalépéses keresés N tanuló beiskolázása M iskolába: rossz(i,j): db:=1 Ciklus k=1-től i-1-ig Ha Igény(k,Y(k))=Igény(i,j) akkor db:=db+1 rossz:=(db>kapacitás(igény(i,j)) Szlávi Péter, Zsakó László: Adatszerkezetek I. 2016.04.20. 12:21 13/37

Visszalépéses keresés További visszalépéses keresés feladatok: Labirintusban útkeresés Permutációk, kombinációk előállítása Térképszínezés Pénzfelbontás adott címletekre Szlávi Péter, Zsakó László: Adatszerkezetek I. 2016.04.20. 12:21 14/37

Visszalépéses keresés Visszalépéses keresés feladatok: (végtelen eset) Úthossz-korlát: Fává egyenesítünk, végtelen fát állítunk elő. Nem engedjük, hogy az aktuális út hossza meghaladja az úthossz-korlátot. Ha túl rövidre választjuk az úthossz-korlátot (túl alacsonyan vágjuk el a gráfot) akkor nem találunk megoldást. Ha a start csúcsban áll elő a visszalépési feltétel, akkor: 1. nincs megoldás 2. túl rövidre választottuk az úthossz-korlátot Szlávi Péter, Zsakó László: Adatszerkezetek I. 2016.04.20. 12:21 15/37

Visszalépéses keresés Visszalépéses keresés feladatok: Kör kiküszöbölése lesz egy újabb visszalépési feltétel: az aktuális csúcs szerepelt-e már az aktuális úton ha igen: rögtön visszalépés (így nem zárjuk be a kört). Szlávi Péter, Zsakó László: Adatszerkezetek I. 2016.04.20. 12:21 16/37

A visszalépéses stratégia Visszalépéses keresés véges fákban mindig terminál (véges fákban teljes); végtelen gráfban úthossz-korláttal terminál (kör kizárása: az aktuális út csúcsait nem engedjük ismételni; egy zsákutcát többször is bejár, ha több út vezet hozzá. Szlávi Péter, Zsakó László: Adatszerkezetek I. 2016.04.20. 12:21 17/37

Visszalépéses kiválogatás Visszalépéses kiválogatás rekurzív algoritmus: Visszalépéses kiválogatás(n,db,y): Db:=0; X:=(0,,0); Backtrack(1,N,X,Db,Y) Szlávi Péter, Zsakó László: Adatszerkezetek I. 2016.04.20. 12:21 18/37

Visszalépéses kiválogatás Backtrack(i,N,X,Db,Y): Ha i=n+1 akkor Db:=Db+1; Y(Db):=X különben Ciklus j=1-től N-ig Ha ft(i,j) és nem Rossz(i,j) akkor X(i):=j Backtrack(i+1,N,X,Db,Y) Elágazás vége Szlávi Péter, Zsakó László: Adatszerkezetek I. 2016.04.20. 12:21 19/37

Visszalépéses maximumkeresés Visszalépéses maximumkeresés rekurzív algoritmus: Visszalépéses maximumkeresés(n,van,y): X:=(0,,0); Y:=X; Backtrack(1,N,X,Y) Van:=Y (0,,0) Szlávi Péter, Zsakó László: Adatszerkezetek I. 2016.04.20. 12:21 20/37

Visszalépéses maximumkeresés Visszalépéses maximumkeresés rekurzív algoritmus: Backtrack(i,N,X,Y): Ha i=n+1 akkor ha nagyobb?(x,y) akkor Y:=X különben Ciklus j=1-től N-ig Ha ft(i,j) és nem Rossz(i,j) akkor X(i):=j Backtrack(i+1,N,X,Y) Elágazás vége Szlávi Péter, Zsakó László: Adatszerkezetek I. 2016.04.20. 12:21 21/37

Példa: (1. változat) Feladatmegoldási stratégiák Visszalépéses maximumkeresés Egy vállalkozás N különböző állásra keres munkásokat. Pontosan N jelentkező érkezett, ahol minden jelentkező megmondta, hogy mely munkákhoz ért, illetve amihez ért, arra mennyi fizetést kérne. Minden munkát el kell végeztetni valakivel, mindenkinek munkát kell adni, de a legolcsóbban! Állások: 1. 2. 3. 4. 5. 1. jelentkező: 100 0 0 100 0 2. jelentkező: 0 200 0 0 0 3. jelentkező: 200 100 0 0 0 4. jelentkező: 0 0 200 0 400 5. jelentkező: 500 0 400 0 200 Szlávi Péter, Zsakó László: Adatszerkezetek I. 2016.04.20. 12:21 22/37

Visszalépéses maximumkeresés Ha egy megoldás elkészül, akkor a költségét így számíthatjuk ki: költség(x): S:=0 Ciklus i=1-től N-ig S:=S+F(i,X(i)) Függvény vége. Kezdetben olyan fiktív megoldásból kell kiindulni, aminél minden valódi megoldás jobb. Szlávi Péter, Zsakó László: Adatszerkezetek I. 2016.04.20. 12:21 23/37

Visszalépéses maximumkeresés Legjobb állás(n,i): Ha i>n akkor Ha költség(x)<költség(y) akkor Y:=X különben Ciklus j=1-től N-ig Ha nem volt(i,j) és F(i,j)>0 akkor X(i):=j; Legjobb állás(n,i+1) Elágazás vége Ebben a megoldásban feleslegesen sokszor hívjuk a Költség függvényt. Szlávi Péter, Zsakó László: Adatszerkezetek I. 2016.04.20. 12:21 24/37

Visszalépéses maximumkeresés Legjobb állás(n,i): Ha i>n akkor költ:=költség(x) Ha költ<legjobb akkor Y:=X; legjobb:=költ különben Ciklus j=1-től N-ig Ha nem volt(i,j) és F(i,j)>0 akkor X(i):=j; Legjobb állás(n,i+1) Elágazás vége Itt feleslegesen nem hívjuk a Költség függvényt, jó maxkölt kezdőérték kell. Szlávi Péter, Zsakó László: Adatszerkezetek I. 2016.04.20. 12:21 25/37

Visszalépéses maximumkeresés Már csak egy apróságra gondolhatunk: ha van egy megoldásunk és a most készülő megoldásról látszik, hogy már biztosan rosszabb lesz többe fog kerülni, akkor azt már nem érdemes tovább vinni. Legyen az eljárás paramétere az eddigi költség, s az eljárást csak akkor folytassuk, ha még nem érjük el a korábban kiszámolt maximális költséget. Emiatt nem a megoldások elkészültekor kell számolni költséget, hanem menet közben, folyamatosan. Szlávi Péter, Zsakó László: Adatszerkezetek I. 2016.04.20. 12:21 26/37

Visszalépéses maximumkeresés Legjobb állás(n,i,költ): Ha i>n akkor Ha költ<legjobb akkor Y:=X; legjobb:=költ különben Ciklus j=1-től N-ig Ha nem volt(i,j) és F(i,j)>0 és költ+f(i,j)<legjobb akkor X(i):=j Legjobb állás(n,i+1,költ+f(i,j)) Elágazás vége Szlávi Péter, Zsakó László: Adatszerkezetek I. 2016.04.20. 12:21 27/37

Példa: (2. változat) Feladatmegoldási stratégiák Visszalépéses maximumkeresés Egy vállalkozás N különböző állásra keres munkásokat. Pontosan M jelentkező érkezett (M<N), ahol minden jelentkező megmondta, hogy mely munkákhoz ért, illetve amihez ért, arra mennyi fizetést kérne. Mindenkinek munkát kell adni (csak egyet mindenkinek), de a legolcsóbban! Állások: 1. 2. 3. 4. 5. 1. jelentkező: 100 0 0 100 0 2. jelentkező: 0 200 0 0 0 3. jelentkező: 200 100 0 0 0 4. jelentkező: 0 0 200 0 400 Szlávi Péter, Zsakó László: Adatszerkezetek I. 2016.04.20. 12:21 28/37

Visszalépéses maximumkeresés Legjobb állás(n,m,i,költ): Ha i>m akkor Ha költ<legjobb akkor Y:=X; legjobb:=költ különben Ciklus j=1-től N-ig Ha nem volt(i,j) és F(i,j)>0 és költ+f(i,j)<legjobb akkor X(i):=j Legjobb állás(n,m,i+1,költ+f(i,j)) Elágazás vége Szlávi Péter, Zsakó László: Adatszerkezetek I. 2016.04.20. 12:27 29/37

Példa: (3. változat) Feladatmegoldási stratégiák Visszalépéses maximumkeresés Egy vállalkozás N különböző állásra keres munkásokat. Pontosan M jelentkező érkezett (M>N), ahol minden jelentkező megmondta, hogy mely munkákhoz ért, illetve amihez ért, arra mennyi fizetést kérne. Mindenkinek munkát el kell végezni, egy-egy embernek, de a legolcsóbban! Állások: 1. 2. 3. 4. 1. jelentkező: 100 0 0 100 2. jelentkező: 0 200 0 0 3. jelentkező: 200 100 0 0 4. jelentkező: 0 0 200 0 5. jelentkező: 500 0 400 0 Szlávi Péter, Zsakó László: Adatszerkezetek I. 2016.04.20. 12:21 30/37

Visszalépéses maximumkeresés Legjobb állás(n,m,i,költ): Ha i>n akkor Ha költ<legjobb akkor Y:=X; legjobb:=költ különben Ciklus j=1-től M-ig Ha nem volt(j,i) és F(j,i)>0 és költ+f(j,i)<legjobb akkor X(i):=j Legjobb állás(n,m,i+1,költ+f(j,i)) Elágazás vége Szlávi Péter, Zsakó László: Adatszerkezetek I. 2016.04.20. 12:27 31/37

Elágazás és korlátozás A backtrack alkalmas-e optimális megoldás keresésére? Van költség, és a legkisebb költségű megoldást szeretnénk előállítani. Van egy induló költségkorlát (felső becslés). Ennél a költségkorlátnál nem költségesebb megoldást keresünk. Szlávi Péter, Zsakó László: Adatszerkezetek I. 2016.04.20. 12:21 32/37

Elágazás és korlátozás Az aktuális pontot tetszőlegesen választhatjuk az aktív pontok közül. A lényeg, hogy a választott aktuális pontból elérhető összes pontot generáljuk, és ha lehetséges megoldás, akkor betesszük az aktív pontok halmazába. Tehát az algoritmus egy, az aktív pontokat tartalmazó adagolót használ az aktív pontok tárolására. A visszalépéses stratégia esetén elég volt egyetlen pontot, az aktuális pontot tárolni, mert a következő aktív pont mindig ennek fia, testvére, vagy apja. Szlávi Péter, Zsakó László: Adatszerkezetek I. 2016.04.20. 12:21 33/37

Elágazás és korlátozás Adott a C(X) valós értékű célfüggvény, és olyan X megoldást keresünk, amelyre a célfüggvény C(X) értéke minimális. A megoldáskezdeményekre meg tudunk adni olyan AK(X) alsó korlát függvényt, amelyekre teljesül az alábbi egyenlőtlenség. Az Y megoldás bármely X részmegoldására: AK(X) C(Y) Ekkor az adagoló lehet az AK szerinti minimumos prioritási sor, tehát az aktív pontok közül mindig a legkisebb alsó korlátú pontot választjuk aktuálisnak. Szlávi Péter, Zsakó László: Adatszerkezetek I. 2016.04.20. 12:21 34/37

Elágazás és korlátozás Korlátozás(F): Mért:=+ ; Betesz(A,F) Ciklus amíg nem üres?(a) Kivesz(A,F) Ciklus p=f-ből kapható megoldáslépések Ha Megoldás(p) akkor Ha C(p)<Mért akkor Mért:=C(p); Min:=p különben ha AK(p)<Mért akkor Betesz(A,p) Szlávi Péter, Zsakó László: Adatszerkezetek I. 2016.04.20. 12:21 35/37

Elágazás és korlátozás Ha a megoldáskezdeményekre meg tudunk adni felső korlátot is, akkor az adagoló lehet a felső korlát szerinti minimumos prioritási sor. Felső korlát olyan FK(X) függvény, amelyre teljesül, hogy minden Y megoldás minden X részmegoldására: C(Y) FK(X). Azaz egy részmegoldásnál járva tudjuk, hogy az ebből kiinduló megoldásoknak mi a felső korlátja. Mindig a legkisebb felső korlátú ágat válasszuk! Szlávi Péter, Zsakó László: Adatszerkezetek I. 2016.04.20. 12:21 36/37

Algoritmusok és adatszerkezetek I. 7. előadás vége