Programozási módszertan. Dinamikus programozás: szerelőszalag ütemezése Mátrixok véges sorozatainak szorzása

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "Programozási módszertan. Dinamikus programozás: szerelőszalag ütemezése Mátrixok véges sorozatainak szorzása"

Átírás

1 PM-06 p. 1/28 Programozási módszertan Dinamikus programozás: szerelőszalag ütemezése Mátrixok véges sorozatainak szorzása Werner Ágnes Villamosmérnöki és Információs Rendszerek Tanszék

2 PM-06 p. 2/28 Dinamikus programozás jellemzői Egy dinamikus programozási algoritmus kifejlesztése 4 lépésre bontható fel: 1. Jellemezzük az optimális megoldás szerkezetét. 2. Rekurzív módon definiáljuk az optimális megoldás értékét. 3. Kiszámítjuk az optimális megoldás értékét alulról felfelé történő módon. 4. A kiszámított információk alapján megszerkesztünk egy optimális megoldást. A 1-3. lépések jelentik az alapját annak, ahogy a dinamikus programozás meg tud oldani egy feladatot.

3 Szerelőszalag ütemezése PM-06 p. 3/28

4 PM-06 p. 4/28 Feladat Egy autógyár autókat állít elő az egyik gyárában, amelynek két szerelőszalagja van. Mindkét szerelőszalag elején egy alváz jelenik meg, melyhez adott számú állomáson hozzászerelik az alkatrészeket, majd a szalag végén távozik a kész autó. Mindegyik szalagnak n állomása van, melyek indexei j = 1, 2,..., n. S ij jelöli az i-edik (i = 1 vagy 2) szalag j-edik állomását. Az első szalag j-edik állomása (S 1j ) ugyanazt a funkciót látja el, mint a második szalag j-edik állomása (S 2j ). A szalagokat különböző időpontokban különböző technológiával építették, ezért előfordulhat, hogy a két szalag azonos állomásán a terméknek különböző időt kell eltöltenie. Az S ij állomáson a műveleti időt a ij jelöli.

5 PM-06 p. 5/28 Szerelőszalag ütemezése -Példa A teljes leszámlálás számítási ideje Ω(2n). Ez nagy n mellett elfogadhatatlan.

6 PM-06 p. 6/28 1. lépés: a legrövidebb gyártási út szerkezete Tekintsük a lehetséges legrövidebb utat, ahogy egy alváz a kiindulási helyzetből túljut az S 1j állomáson. Ha j = 1, akkor csak egy lehetőség van, és így könnyű meghatározni a szükséges időt. j = 2,...,n esetén két lehetőség van: Az alváz érkezhet közvetlenül az S 1,j 1 állomásról, amikor ugyanannak a szalagnak a (j 1)-edik állomásáról a j-edik állomására való átszállítás ideje elhanyagolható. Az alváz S 2,j 1 felől érkezik, az átszállítás ideje t 2,j 1. Tegyük fel, hogy az S 1 j állomáson való túljutás leggyorsabb módja az, hogy oda az S 1,j 1 felől érkezünk. Az alváznak a legrövidebb módon kell túljutnia az S 1,j 1 állomáson, mert ha volna egy gyorsabb mód, hogy az alváz túljusson a S 1,j 1 állomáson, akkor ezt használva magán S 1,j -n is hamarabb jutna túl, ami ellentmondás.

7 PM-06 p. 7/28 1. lépés: a legrövidebb gyártási út szerkezete Általánosabban fogalmazva azt mondhatjuk, hogy a szerelőszalag ütemezésének (hogy megtaláljuk a legrövidebb módot az S ij állomáson való túljutásra) optimális megoldása tartalmazza egy részfeladat (vagy az S 1,j 1 vagy az S 2,j 1 állomáson való leggyorsabb áthaladás) optimális megoldását. Erre a tulajdonságra optimális részstruktúraként fogunk hivatkozni. Azaz részfeladatok optimális megoldásaiból megszerkeszthető a feladat optimális megoldása.

8 PM-06 p. 8/28 2. lépés: a rekurzív megoldás Az optimális megoldás értékét a részfeladatok optimális értékeiből rekurzívan fejezzük ki. A részfeladatok legyenek mindkét szalag j-edik állomásán való leggyorsabb áthaladás megkeresésének a feladatai j = 1,...,n mellett. Jelölje f i [j] azt a legrövidebb időt, ami alatt az alváz túl tud jutni az S ij állomáson. Célunk annak a legrövidebb időnek a meghatározása, ami alatt az alváz az egész üzemen keresztül tud haladni. Ezt az időt f jelöli. f = min{f 1 [n] + x 1,f 2 [n] + x 2 } f 1 [1] = e 1 + a 11 f 2 [1] = e 2 + a 21

9 PM-06 p. 9/28 2. lépés: a rekurzív megoldás Hogyan kell kiszámolni az f i [j]-t j = 2,...,n és i = 1,2 esetén? f 1 [j] = min{f 1 [j 1]+a 1j,f 2 [j 1]+t 2,j 1 +a 1j }, ha j = 2,...,n. f 2 [j] = min{f 2 [j 1]+a 2j,f 1 [j 1]+t 1,j 1 +a 2j }, ha j = 2,...,n. A következő rekurzív egyenletet kapjuk: f 1 [j] = f 2 [j] = { { e 1 + a 11, ha j = 1, min{f 1 [j 1] + a 1j,f 2 [j 1] + t 2,j 1 + a 1j }, ha j 2 e 2 + a 21, ha j = 1, min{f 2 [j 1] + a 2j,f 1 [j 1] + t 1,j 1 + a 2j }, ha j 2

10 PM-06 p. 10/28 2. lépés: a rekurzív megoldás Az f i [j] mennyiségek a részfeladatok optimális érékei. Annak érdekében, hogy vissza tudjuk keresni a legrövidebb utat, definiáljuk l i [j]-t mint azt a szerelőszalagot, amelyiknek a j 1-edik állomását használtuk az S ij -n való leggyorsabb keresztülhaladáskor. Itt i = 1,2 és j = 2,...,n. (Nem definiáljuk l i [1]-et, mert S i1 -t egyik szalagon sem előzi meg másik állomás.) Az l szalag definíció szerint az, amelyiknek az utolsó állomását használjuk az egész üzemen való áthaladáskor. Az l i [j] értékek segítségével lehet nyomon követni a legrövidebb utat.

11 PM-06 p. 11/28 3. lépés: a legrövidebb átfutási idő kiszámítása Sokkal jobban járunk, ha az f i [j] értékeket más sorrend szerint számoljuk, mint az a rekurzív módszerből adódik. Vegyük észre, hogy j 2 esetén f i [j] csak f 1 [j 1] -től és f 2 [j 1] -től függ. Ha az f i [j] értékeket az állomások j indexének növekvő sorrendjében számoljuk, akkor a legrövidebb átfutási idő meghatározása Θ(n) ideig tart.

12 PM-06 p. 12/28 3. lépés: a legrövidebb átfutási idő kiszámítása ALGORITMUS1(a,t,e,x,n) 1. f 1 [1] := e 1 + a 11 f 2 [1] := e 2 + a for j := 2 to n 3. do if f 1 [j 1] + a 1j f 2 [j 1] + t 2,j 1 + a 1j 4. then f 1 [j] := f 1 [j 1] + a 1j l 1 [j] := 1 5. else f 1 [j] := f 2 [j 1] + t 2,j 1 + a 1j l 1 [j] := 2 6. if f 2 [j 1] + a 2j f 1 [j 1] + t 1,j 1 + a 2j 7. then f 2 [j] := f 2 [j 1] + a 2j l 2 [j] := 2 8. else f 2 [j] := f 1 [j 1] + t 1,j 1 + a 2j l 2 [j] := 1 9. if f 1 [n] + x 1 f 2 [n] + x then f = f 1 [n] + x 1 l = else f = f 2 [n] + x 2 l = 2

13 PM-06 p. 13/28 4. lépés: a legrövidebb átfutási idejű út f i [j], f, l i [j] és l kiszámítását követően meg kell szerkeszteni az üzemen való legrövidebb áthaladást biztosító utat. Az eljárás az út állomásait az indexek csökkenő sorrendjében nyomtatja ki. ALGORITMUS2(l,n) 1. i := l 2. print i"-edik szalag" n"-edik állomás" 3. for j := n downto 2 4. do i := l i [j] 5. print i"-edik szalag (" j 1")-edik állomás"

14 Mátrixok véges sorozatainak szorzása PM-06 p. 14/28

15 PM-06 p. 15/28 Feladat Feladat: Legyenek A 1,A 2,...,A n adott mátrixok. Számítsuk ki a mátrixok A 1 A 2...A n szorzatát. Definíció: Mátrixok egy szorzata teljesen zárójelezett, ha vagy egyetlen mátrix, vagy két zárójelbe tett teljesen zárójelezett mátrixszorzat szorzata. Megjegyzés: A mátrixok szorzása asszociatív művelet.

16 PM-06 p. 16/28 Algoritmus-Kód Két mátrix összeszorzásának algoritmusa (pszeudokód): MÁTRIXSZORZÁS(A,B) 1. if oszlop[a] sor[b] 2. then error "nem összeillő dimenzió" 3. else for i 1 to sor[a] 4. do for j 1tooszlop[B] 5. do C[i, j] 0 6. for k 1 to oszlop[a] 7. do C[i, j] C[i, j] + A[i, kb[k, j] 8. return C Szorzatmátrix mérete: Számítási idő: pqr A pxq B qxr = C pxr

17 PM-06 p. 17/28 Véges sok mátrix összeszorzásának problémája Legyen (A 1,...,A n ) mátrixok egy adott véges sorozata, ahol az A i mátrix mérete p i 1 p i (i = 1,...,n). Keressük az A 1 A 2...A n sorozat azon teljes zárójelezését, mely minimalizálja a szorzat kiszámításához szükséges skalár szorzások számát. Cél: a szorzás optimális sorrendjének megállapítása, a szorzást nem végezzük el.

18 PM-06 p. 18/28 Zárójelezések vizsgálata Zárójelezések száma: Legyen P(n) az n mátrix zárójelezéseinek száma. P(1) = 1 Tegyük fel, hogy ha n 2, akkor a sorozatot a k-dik és a k + 1-dik eleme között szétvágva a két részsorozatra a zárójelezések száma egymástól függetlenül meghatározható (k = 1,...,n 1) Rekurzív formula: { P(n) = 1, ha n = 1, n 1 k=1 P(k)P(n k), ha n 2 A megoldás nagyságrendje: Ω(2 n ) Az összes lehetséges zárójelezés megvizsgálása ("nyers erő" módszerrel) nem hatékony!

19 PM-06 p. 19/28 1. Az optimális zárójelezés szerkezete Optimális megoldás a részfeladatok optimális megoldásából: Keressük azt az alkalmas optimális részstruktúrát, mely felhasználható a probléma optimális megoldásának létrehozásához a részproblémák optimális megoldásaiból. Az optimális zárójelezés szerkezete: Jelölje A i j az A i A i+1...a j szorzat eredményét. Ha i < j, akkor az optimális zárójelezés két részre vágja a sorozatot valamely A k és A k+1 mátrix között (i k < j) Az A i..j mátrixot megkapjuk, ha összeszorozzuk az A i..k és A k+1..j mátrixokat; koltseg(a i..j ) = koltseg(a i..k ) + koltseg(a k+1..j ) + koltseg(a i..k A k+1..j ) Megjegyzés: Az optimális zárójelezésben az A i..k és A k+1..j részsorozatok zárójelezésének is optimálisnak kell lennie!

20 PM-06 p. 20/28 2. Rekurzív megoldás Részprobléma: A i A i+1...a j szorzat optimális zárójelezése, ahol 1 i j n. Legyen m[i,j] az A i..j mátrix számításához szükséges skalár szorzások minimális száma. Az A i..k A k+1..j szorzat számításának költsége a korábbiak alapján: p i 1 p k p j m[i, j] számítása: m[i, j] = { 0, ha i = j, min i k<j {m[i,k] + m[k + 1,j] + p i 1 p k p j }, ha i < j Megjegyzés: A k értékét ugyan nem ismerjük, de csak j i féle lehet: k = i,i + 1,...,j 1, ezekből választjuk a legjobbat.

21 PM-06 p. 21/28 Optimális költség számítása A rekurzív algoritmus időigénye exponenciális, nem jobb, mint az összes zárójelezés vizsgálata, viszont a részfeladatok száma alacsony: ahány i,j pár kielégíti az 1 i j n feltételt: n(n + 1)/2 = Θ(n2) (az algoritmus egy-egy részfeladattal többször is foglalkozhat a rekurziós fa különböző ágaiban)

22 PM-06 p. 22/28 3. Alulról felfelé történö megközelítés: A táblázat kitöltésénél fontos a sorrend: j i + 1 db mátrix m[i,j] összeszorzási költségének számításához csak j i + 1-nél rövidebb szorzatokat használunk: k = i,i + 1,...,j 1 esetén A i..k mátrix k i + 1 < j i + 1 mátrix szorzata, A k+1..j mátrix j k < j i + 1 mátrix szorzata. az m tömböt a szorzatok növekvő hossza szerint kell kitölteni. Legyen s[i,j] az a k index, melynél az optimális zárójelezés az A i..j szorzatot kettévágja.

23 Algoritmus (pszeudokód) MÁTRIX-SZORZÁS-SORREND(p) 1. n hossz[p] 1 2. for i 1 to n 3. do m[i, i] 0 4. for l 2 to n 5. do for i 1 to n l do j i + l 1 7. m[i, j] 8. for k i to j 1 9. do q m[i, k] + m[k + 1, j] + p i 1 p k p j 10. if q < m[i, j] 11. then m[i, j] q 12. s[i, j] k 13. return m és s Input: p =< p 0, p 1,..., p n >, rendre a p i 1 p i dimenziójú A i mátrixok méretei (i = 1,2,..., n) hossz[p] = n + 1 PM-06 p. 23/28

24 PM-06 p. 24/28 Végrehatás először az m[i,i] = 0 (i = 1,2,...,n) hozzárendelés végrehajtása, azaz az 1 hosszú sorozatok számítása, majd az m[i, j] -re vonatkozó rekurzív egyenlet segítségével az m[i,i + 1] (i = 1,2,...,n 1) értékek meghatározása, azaz az l = 2 hosszú sorozatok számítása, az m[i,i + 2] (i = 1,2,...,n 2) értékek meghatározása, azaz az l = 3 hosszú sorozatok számítása, stb. m[i,j] csak a korábban már meghatározott m[i,k] és m[k + 1,j] elemektől függ. Futásidő: O(n 3 ), mert l,i,k ciklusváltozók mindegyike legfeljebb n értéket vehet fel. (valójában Ω(n 3 ))

25 PM-06 p. 25/28 Az optimális megoldás előállítása Az s tömb felhasználásával: s[i,j] az a k index, amely után az A i..j sorozatot vágjuk. Algoritmus (pszeudokód): OPTIMÁLIS-ZÁRÓJELEZÉS-NYOMTATÁSA(s, i, j) 1. if j = i 2. then print A i 3. else print ( 4. OPTIMÁLIS-ZÁRÓJELEZÉS-NYOMTATÁSA(s, i, s[i, j]) 5. OPTIMÁLIS-ZÁRÓJELEZÉS- NYOMTATÁSA(s,s[i,j] + 1,j) 6. print ) Kezdeti hívás: OPTIMÁLIS-ZÁRÓJELEZÉS-NYOMTATÁSA(s, 1, n)

26 PM-06 p. 26/28 Példa Pl.: A 2..5 részsorozat optimális összeszorzása: p 0 = 30, p 1 = 35, p 2 = 15, p 3 = 5, p 4 = 10, p 5 = 20, p 6 = 25 m[2, 5] = min m[2,2] + m[3,5] + p 1 p 2 p 5 = = m[2,3] + m[4,5] + p 1 p 3 p 5 = = 7125 m[2,4] + m[4,5] + p 1 p 4 p 5 = = A hat mátrix összeszorzásához minimálisan m[1, 6] = skalár szorzás kell.

27 PM-06 p. 27/28 A zárójelezés meghatározása rekurzívan A zárójelezés meghatározása rekurzívan az s tömb segítségével

28 PM-06 p. 28/28 Az A 1..n szorzat optimális kiszámítása Az utolsó mátrixszorzás: A 1..s[1,n] A s[1,n]+1..n A korábbi mátrixszorzások számítása rekurzívan: A 1..s[1,n] számításakor vágás s[1,s[1,n]] mögött A s[1,n]+1..n számításakor vágás s[s[1,n] + 1,n] előtt Rekurzív hívások sorrendje: [1,6] ([1,3]([1,1] A1 [2,3]([2,2] A2 [3,3] A3 )) [4,6]([4,5]([4,4] A4 [5,5] A5 )[6,6] A6 )) Optimális zárójelezés: ((A1(A2A3))((A4A5)A6))

Dinamikus programozás - Szerelőszalag ütemezése

Dinamikus programozás - Szerelőszalag ütemezése Dinamikus programozás - Szerelőszalag ütemezése A dinamikus programozás minden egyes részfeladatot és annak minden részfeladatát pontosan egyszer oldja meg, az eredményt egy táblázatban tárolja, és ezáltal

Részletesebben

Integrált gyártórendszerek

Integrált gyártórendszerek IGYR-7 p. 1/4 Integrált gyártórendszerek Gyártásütemezés: az ütemezések analízise Gantt-chart módszerrel, az optimalizálási feladat kitűzése és változatai, megoldás a kritikus út módszerrel, dinamikus

Részletesebben

Programozási módszertan. Dinamikus programozás: A leghosszabb közös részsorozat

Programozá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észletesebben

Fibonacci számok. Dinamikus programozással

Fibonacci számok. Dinamikus programozással Fibonacci számok Fibonacci 1202-ben vetette fel a kérdést: hány nyúlpár születik n év múlva, ha feltételezzük, hogy az első hónapban csak egyetlen újszülött nyúl-pár van; minden nyúlpár, amikor szaporodik

Részletesebben

Programozási módszertan. Mohó algoritmusok

Programozási módszertan. Mohó algoritmusok PM-08 p. 1/17 Programozási módszertan Mohó algoritmusok Werner Ágnes Villamosmérnöki és Információs Rendszerek Tanszék e-mail: werner.agnes@virt.uni-pannon.hu PM-08 p. 2/17 Bevezetés Dinamikus programozás

Részletesebben

Partíció probléma rekurzíómemorizálással

Partíció probléma rekurzíómemorizálással Partíció probléma rekurzíómemorizálással A partíciószám rekurzív algoritmusa Ω(2 n ) műveletet végez, pedig a megoldandó részfeladatatok száma sokkal kisebb O(n 2 ). A probléma, hogy bizonyos már megoldott

Részletesebben

Programozási módszertan. Függvények rekurzív megadása "Oszd meg és uralkodj" elv, helyettesítő módszer, rekurziós fa módszer, mester módszer

Programozási módszertan. Függvények rekurzív megadása Oszd meg és uralkodj elv, helyettesítő módszer, rekurziós fa módszer, mester módszer PM-03 p. 1/13 Programozási módszertan Függvények rekurzív megadása "Oszd meg és uralkodj" elv, helyettesítő módszer, rekurziós fa módszer, mester módszer Werner Ágnes Villamosmérnöki és Információs Rendszerek

Részletesebben

Lineáris algebra (10A103)

Lineáris algebra (10A103) Lineáris algebra (10A103 Kátai-Urbán Kamilla Tudnivalók Honlap: http://www.math.u-szeged.hu/~katai Jegyzet: Megyesi László: Lineáris algebra. Vizsga: írásbeli (beugróval, feltétele a Lineáris algebra gyakorlat

Részletesebben

Programozási módszertan. Dinamikus programozás: Nyomtatási feladat A leghosszabb közös részsorozat

Programozási módszertan. Dinamikus programozás: Nyomtatási feladat A leghosszabb közös részsorozat PM-04 p. 1/18 Programozási módszertan Dinamikus programozás: Nyomtatási feladat 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

Részletesebben

Mátrixok, mátrixműveletek

Mátrixok, mátrixműveletek Mátrixok, mátrixműveletek 1 előadás Farkas István DE ATC Gazdaságelemzési és Statisztikai Tanszék Mátrixok, mátrixműveletek p 1/1 Mátrixok definíciója Definíció Helyezzünk el n m elemet egy olyan téglalap

Részletesebben

Dinamikus programozás vagy Oszd meg, és uralkodj!

Dinamikus programozás vagy Oszd meg, és uralkodj! Dinamikus programozás Oszd meg, és uralkodj! Mohó stratégia Melyiket válasszuk? Dinamikus programozás vagy Oszd meg, és uralkodj! Háromszögfeladat rekurzívan: c nj := a nj ha 1 j n c ij := a ij + max{c

Részletesebben

Műveletek mátrixokkal. Kalkulus. 2018/2019 ősz

Műveletek mátrixokkal. Kalkulus. 2018/2019 ősz 2018/2019 ősz Elérhetőségek Előadó: (safaro@math.bme.hu) Fogadóóra: hétfő 9-10 (H épület 3. emelet 310-es ajtó) A pontos tárgykövetelmények a www.math.bme.hu/~safaro/kalkulus oldalon találhatóak. A mátrix

Részletesebben

Algoritmuselmélet. Legrövidebb utak, Bellmann-Ford, Dijkstra. Katona Gyula Y.

Algoritmuselmé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észletesebben

A 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 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észletesebben

Dinamikus programozás II.

Dinamikus programozás II. Dinamikus programozás II. Dinamikus programozás stratégiája A dinamikus programozás stratégiája 1. Az [optimális] megoldás szerkezetének tanulmányozása. 2. Részproblémákra és összetevőkre bontás úgy, hogy:

Részletesebben

INFORMATIKA javítókulcs 2016

INFORMATIKA javítókulcs 2016 INFORMATIKA javítókulcs 2016 ELMÉLETI TÉTEL: Járd körbe a tömb fogalmát (Pascal vagy C/C++): definíció, egy-, két-, több-dimenziós tömbök, kezdőértékadás definíciókor, tömb típusú paraméterek átadása alprogramoknak.

Részletesebben

összeadjuk 0-t kapunk. Képletben:

összeadjuk 0-t kapunk. Képletben: 814 A ferde kifejtés tétele Ha egy determináns valamely sorának elemeit egy másik sor elemeihez tartozó adjungáltakkal szorozzuk meg és a szorzatokat összeadjuk 0-t kapunk Képletben: n a ij A kj = 0, ha

Részletesebben

Példa Hajtsuk végre az 1 pontból a Dijkstra algoritmust az alábbi gráfra. (A mátrixban a c i j érték az (i, j) él hossza, ha nincs él.

Példa Hajtsuk végre az 1 pontból a Dijkstra algoritmust az alábbi gráfra. (A mátrixban a c i j érték az (i, j) él hossza, ha nincs él. Legrövidebb utak súlyozott gráfokban A feladat egy súlyozott gráfban egy adott pontból kiinduló legrövidebb utak megkeresése. Az input a súlyozott gráf és a kiindulási s pont. Outputként egy legrövidebb

Részletesebben

Specifikáció. B logikai formula, a bemeneti feltétel, K logikai formula, a kimeneti feltétel, A az algoritmus, amelyre az állítás vonatkozik.

Specifikáció. B logikai formula, a bemeneti feltétel, K logikai formula, a kimeneti feltétel, A az algoritmus, amelyre az állítás vonatkozik. 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 kimeneti adatot

Részletesebben

Specifikáció. B logikai formula, a bemeneti feltétel, K logikai formula, a kimeneti feltétel, A az algoritmus, amelyre az állítás vonatkozik.

Specifikáció. B logikai formula, a bemeneti feltétel, K logikai formula, a kimeneti feltétel, A az algoritmus, amelyre az állítás vonatkozik. 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 kimeneti adatot

Részletesebben

Lineáris algebra (10A103)

Lineáris algebra (10A103) Lineáris algebra (10A103) Dr. Hartmann Miklós Tudnivalók Honlap: http://www.math.u-szeged.hu/~hartm Jegyzet: Megyesi László: Lineáris algebra. Vizsga: írásbeli, feltétele a Lineáris algebra gyakorlat teljesítése.

Részletesebben

Algoritmusok bonyolultsága

Algoritmusok bonyolultsága Algoritmusok bonyolultsága 9. előadás http://www.ms.sapientia.ro/~kasa/komplex.htm 1 / 18 Közelítő algoritmusok ládapakolás (bin packing) Adott n tárgy (s i tömeggel) és végtelen sok 1 kapacitású láda

Részletesebben

Nagysá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. 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észletesebben

Lineáris algebra (10A103)

Lineáris algebra (10A103) Lineáris algebra (10A103) Kátai-Urbán Kamilla (1. előadás) Mátrixok 2019. február 6. 1 / 35 Bevezetés Előadás Tudnivalók (I.) Honlap: http://www.math.u-szeged.hu/~katai Jegyzet: Az előadáson készített

Részletesebben

Gráfelméleti feladatok. c f

Grá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észletesebben

FFT. Második nekifutás. Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék október 2.

FFT. Második nekifutás. Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék október 2. TARTALOMJEGYZÉK Polinomok konvolúviója A DFT és a maradékos osztás Gyűrűk támogatás nélkül Második nekifutás Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék 2015. október 2. TARTALOMJEGYZÉK Polinomok

Részletesebben

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

Algoritmizálás, adatmodellezés tanítása 7. előadás Algoritmizálás, adatmodellezés tanítása 7. előadás Oszd meg és uralkodj! Több részfeladatra bontás, amelyek hasonlóan oldhatók meg, lépései: a triviális eset (amikor nincs rekurzív hívás) felosztás (megadjuk

Részletesebben

Általános algoritmustervezési módszerek

Általános algoritmustervezési módszerek Általános algoritmustervezési módszerek Ebben a részben arra mutatunk példát, hogy miként használhatóak olyan általános algoritmustervezési módszerek mint a dinamikus programozás és a korlátozás és szétválasztás

Részletesebben

Numerikus módszerek 1.

Numerikus módszerek 1. Numerikus módszerek 1. 3. előadás: Mátrixok LU-felbontása Lócsi Levente ELTE IK 2013. szeptember 23. Tartalomjegyzék 1 Alsó háromszögmátrixok és Gauss-elimináció 2 Háromszögmátrixokról 3 LU-felbontás Gauss-eliminációval

Részletesebben

Amortizációs költségelemzés

Amortizá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észletesebben

2. Rekurzió. = 2P2(n,n) 2 < 2P2(n,n) 1

2. Rekurzió. = 2P2(n,n) 2 < 2P2(n,n) 1 2. Rekurzió Egy objektum definícióját rekurzívnak nevezünk, ha a definíció tartalmazza a definiálandó objektumot. Egy P eljárást (vagy függvényt) rekurzívnak nevezünk, ha P utasításrészében előfordul magának

Részletesebben

Ö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.

Ö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. Összetett programozási tételek Sorozathoz sorozatot relő feladatokkal foglalkozunk. A bemenő sorozatot le kell másolni, s közben az elemekre vonatkozó átalakításokat lehet végezni rajta: Input : n N 0,

Részletesebben

Számítógépes döntéstámogatás. Genetikus algoritmusok

Számítógépes döntéstámogatás. Genetikus algoritmusok BLSZM-10 p. 1/18 Számítógépes döntéstámogatás Genetikus algoritmusok Werner Ágnes Villamosmérnöki és Információs Rendszerek Tanszék e-mail: werner.agnes@virt.uni-pannon.hu BLSZM-10 p. 2/18 Bevezetés 1950-60-as

Részletesebben

Kupac adatszerkezet. A[i] bal fia A[2i] A[i] jobb fia A[2i + 1]

Kupac adatszerkezet. A[i] bal fia A[2i] A[i] jobb fia A[2i + 1] Kupac adatszerkezet A bináris kupac egy majdnem teljes bináris fa, amely minden szintjén teljesen kitöltött kivéve a legalacsonyabb szintet, ahol balról jobbra haladva egy adott csúcsig vannak elemek.

Részletesebben

i=1 i+3n = n(2n+1). j=1 2 j < 4 2 i+2 16 k, azaz az algoritmus valóban konstans versenyképes.

i=1 i+3n = n(2n+1). j=1 2 j < 4 2 i+2 16 k, azaz az algoritmus valóban konstans versenyképes. 1. Feladat Adott egy parkoló, ahol egy professzor a kocsiját tartja. A parkolóhelyeket egy n és n közötti szám azonosítja, az azonosító szerint helyezkednek el balról jobbra. A professzor kijön az egyetemr

Részletesebben

8. Mohó algoritmusok. 8.1. Egy esemény-kiválasztási probléma. Az esemény-kiválasztási probléma optimális részproblémák szerkezete

8. Mohó algoritmusok. 8.1. Egy esemény-kiválasztási probléma. Az esemény-kiválasztási probléma optimális részproblémák szerkezete 8. Mohó algoritmusok Optimalizálási probléma megoldására szolgáló algoritmus gyakran olyan lépések sorozatából áll, ahol minden lépésben adott halmazból választhatunk. Sok optimalizálási probléma esetén

Részletesebben

3. Előadás. Megyesi László: Lineáris algebra, oldal. 3. előadás Lineáris egyenletrendszerek

3. Előadás. Megyesi László: Lineáris algebra, oldal. 3. előadás Lineáris egyenletrendszerek 3. Előadás Megyesi László: Lineáris algebra, 47. 50. oldal. Gondolkodnivalók Determinánsok 1. Gondolkodnivaló Determinánselméleti tételek segítségével határozzuk meg a következő n n-es determinánst: 1

Részletesebben

Algoritmusok 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 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észletesebben

KOVÁCS BÉLA, MATEMATIKA I.

KOVÁCS BÉLA, MATEMATIKA I. KOVÁCS BÉLA MATEmATIkA I 6 VI KOmPLEX SZÁmOk 1 A komplex SZÁmOk HALmAZA A komplex számok olyan halmazt alkotnak amelyekben elvégezhető az összeadás és a szorzás azaz két komplex szám összege és szorzata

Részletesebben

Optimalizációs stratégiák 1.

Optimalizációs stratégiák 1. Optimalizációs stratégiák 1. Nyers erő, Oszd meg és uralkodj, Feljegyzéses, Dinamikus, Mohó előadás http://nik.uni-obuda.hu/prog2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János

Részletesebben

Gauss-Jordan módszer Legkisebb négyzetek módszere, egyenes LNM, polinom LNM, függvény. Lineáris algebra numerikus módszerei

Gauss-Jordan módszer Legkisebb négyzetek módszere, egyenes LNM, polinom LNM, függvény. Lineáris algebra numerikus módszerei A Gauss-Jordan elimináció, mátrixinvertálás Gauss-Jordan módszer Ugyanazzal a technikával, mint ahogy a k-adik oszlopban az a kk alatti elemeket kinulláztuk, a fölötte lévő elemeket is zérussá lehet tenni.

Részletesebben

Mátrixok február Feladat: Legyen A = ( ( B =

Mátrixok február Feladat: Legyen A = ( ( B = Mátrixok 26. február 6.. Feladat: Legyen ( 3 2 B ( 3 4 Határozzuk meg A + B, A B, 2A, 3B, 2A 3B,A T és (B T T mátrixokat. A definíciók alapján ( + 3 + 3 + A + B 2 + 4 + + ( 4 2 6 2 ( ( 3 3 2 4 A B 2 4

Részletesebben

end function Az A vektorban elõforduló legnagyobb és legkisebb értékek indexeinek különbségét.. (1.5 pont) Ha üres a vektor, akkor 0-t..

end function Az A vektorban elõforduló legnagyobb és legkisebb értékek indexeinek különbségét.. (1.5 pont) Ha üres a vektor, akkor 0-t.. A Név: l 2014.04.09 Neptun kód: Gyakorlat vezető: HG BP MN l 1. Adott egy (12 nem nulla értékû elemmel rendelkezõ) 6x7 méretû ritka mátrix hiányos 4+2 soros reprezentációja. SOR: 1 1 2 2 2 3 3 4 4 5 6

Részletesebben

Példa Hajtsuk végre az 1 pontból a Dijkstra algoritmust az alábbi gráfra. (A mátrixban a c i j érték az (i, j) él hossza, ha nincs él.

Példa Hajtsuk végre az 1 pontból a Dijkstra algoritmust az alábbi gráfra. (A mátrixban a c i j érték az (i, j) él hossza, ha nincs él. Legrövidebb utak súlyozott gráfokban A feladat egy súlyozott gráfban egy adott pontból kiinduló legrövidebb utak megkeresése. Az input a súlyozott gráf és a kiindulási s pont. Outputként egy legrövidebb

Részletesebben

Edényrendezés. Futási idő: Tegyük fel, hogy m = n, ekkor: legjobb eset Θ(n), legrosszabb eset Θ(n 2 ), átlagos eset Θ(n).

Edényrendezés. Futási idő: Tegyük fel, hogy m = n, ekkor: legjobb eset Θ(n), legrosszabb eset Θ(n 2 ), átlagos eset Θ(n). Edényrendezés Tegyük fel, hogy a rendezendő H = {a 1,...,a n } halmaz elemei a [0,1) intervallumba eső valós számok. Vegyünk m db vödröt, V [0],...,V [m 1] és osszuk szét a rendezendő halmaz elemeit a

Részletesebben

angolul: greedy algorithms, románul: algoritmi greedy

angolul: 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észletesebben

Dr. Schuster György február / 32

Dr. Schuster György február / 32 Algoritmusok és magvalósítások Dr. Schuster György OE-KVK-MAI schuster.gyorgy@kvk.uni-obuda.hu 2015. február 10. 2015. február 10. 1 / 32 Algoritmus Alapfogalmak Algoritmus Definíció Algoritmuson olyan

Részletesebben

Egész számok. pozitív egész számok: 1; 2; 3; 4;... negatív egész számok: 1; 2; 3; 4;...

Egész számok. pozitív egész számok: 1; 2; 3; 4;... negatív egész számok: 1; 2; 3; 4;... Egész számok természetes számok ( ) pozitív egész számok: 1; 2; 3; 4;... 0 negatív egész számok: 1; 2; 3; 4;... egész számok ( ) 1. Írd a következõ számokat a halmazábra megfelelõ helyére! 3; 7; +6 ; (

Részletesebben

Algoritmusok bonyolultsága

Algoritmusok 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észletesebben

1. feladatsor: Vektorterek, lineáris kombináció, mátrixok, determináns (megoldás)

1. feladatsor: Vektorterek, lineáris kombináció, mátrixok, determináns (megoldás) Matematika A2c gyakorlat Vegyészmérnöki, Biomérnöki, Környezetmérnöki szakok, 2017/18 ősz 1. feladatsor: Vektorterek, lineáris kombináció, mátrixok, determináns (megoldás) 1. Valós vektorterek-e a következő

Részletesebben

I. VEKTOROK, MÁTRIXOK

I. VEKTOROK, MÁTRIXOK 217/18 1 félév I VEKTOROK, MÁTRIXOK I1 I2 Vektorok 1 A síkon derékszögű koordinátarendszerben minden v vektornak van vízszintes és van függőleges koordinátája, ezeket sorrendben v 1 és v 2 jelöli A v síkbeli

Részletesebben

Osztott algoritmusok

Osztott 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észletesebben

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

BABEŞ BOLYAI TUDOMÁNYEGYETEM MATEMATIKA ÉS INFORMATIKA KAR BBTE Matek-Infó verseny 1. tételsor INFORMATIKA írásbeli. A versenyzők figyelmébe: BABEŞ BOLYAI TUDOMÁNYEGYETEM MATEMATIKA ÉS INFORMATIKA KAR BBTE Matek-Infó verseny 1. tételsor INFORMATIKA írásbeli A versenyzők figyelmébe: 1. A tömböket 1-től kezdődően indexeljük. 2. A rácstesztekre

Részletesebben

Vektorok, mátrixok, lineáris egyenletrendszerek

Vektorok, mátrixok, lineáris egyenletrendszerek a Matematika mérnököknek I. című tárgyhoz Vektorok, mátrixok, lineáris egyenletrendszerek Vektorok A rendezett valós számpárokat kétdimenziós valós vektoroknak nevezzük. Jelölésükre latin kisbetűket használunk.

Részletesebben

2015, Diszkrét matematika

2015, Diszkrét matematika Diszkrét matematika 4. előadás Sapientia Egyetem, Műszaki és Humántudományok Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2015, őszi félév Miről volt szó az elmúlt előadáson? Számtartományok:

Részletesebben

Algoritmusok és adatszerkezetek gyakorlat 03 Oszd meg és uralkodj. Nagy

Algoritmusok és adatszerkezetek gyakorlat 03 Oszd meg és uralkodj. Nagy Algoritmusok és adatszerkezetek gyakorlat 03 Oszd meg és uralkodj Divide & Conquer (,,Oszd meg és uralkodj ) paradigma Divide: Osszuk fel az adott problémát kisebb problémákra. Conquer: Oldjuk meg a kisebb

Részletesebben

2. Visszalépéses stratégia

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észletesebben

XI A MÁTRIX INVERZE 1 Az inverzmátrix definíciója Determinánsok szorzástétele Az egységmátrix definíciója: 1 0 0 0 0 1 0 0 E n = 0 0 1 0 0 0 0 1 n-edrenű (azaz n n típusú) mátrix E n -nel bármely mátrixot

Részletesebben

Algoritmuselmélet 1. előadás

Algoritmuselmélet 1. előadás Algoritmuselmélet 1. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu 2002 Február 11. ALGORITMUSELMÉLET 1. ELŐADÁS 1 Források

Részletesebben

11. Előadás. 11. előadás Bevezetés a lineáris programozásba

11. Előadás. 11. előadás Bevezetés a lineáris programozásba 11. Előadás Gondolkodnivalók Sajátérték, Kvadratikus alak 1. Gondolkodnivaló Adjuk meg, hogy az alábbi A mátrixnak mely α értékekre lesz sajátértéke a 5. Ezen α-ák esetén határozzuk meg a 5 sajátértékhez

Részletesebben

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Nagy Gábor  compalg.inf.elte.hu/ nagy ősz Diszkrét matematika 1. középszint 2016. ősz 1. Diszkrét matematika 1. középszint 6. 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 Komputeralgebra

Részletesebben

Diszkrét matematika 1.

Diszkrét matematika 1. Diszkrét matematika 1. 201. ősz 1. Diszkrét matematika 1. 1. előadás Mérai László diái alapján Komputeralgebra Tanszék 201. ősz Kombinatorika Diszkrét matematika 1. 201. ősz 2. Kombinatorika Kombinatorika

Részletesebben

Irodalom. (a) A T, B T, (b) A + B, C + D, D C, (c) 3A, (d) AD, DA, B T A, 1 2 B = 1 C = A = 1 0 D = (a) 1 1 3, B T = = ( ) ; A T = 1 0

Irodalom. (a) A T, B T, (b) A + B, C + D, D C, (c) 3A, (d) AD, DA, B T A, 1 2 B = 1 C = A = 1 0 D = (a) 1 1 3, B T = = ( ) ; A T = 1 0 Irodalom ezek egyrészt el- A fogalmakat, definíciókat illetően két forrásra támaszkodhatnak: hangzanak az előadáson, másrészt megtalálják a jegyzetben: Szabó László: Bevezetés a lineáris algebrába, Polygon

Részletesebben

Mohó algoritmusok. Példa:

Mohó algoritmusok. Példa: Mohó algoritmusok Optimalizálási probléma megoldására szolgáló algoritmus sokszor olyan lépések sorozatából áll, ahol minden lépésben adott halmazból választhatunk. Ezt gyakran dinamikus programozás alapján

Részletesebben

Dinamikus programozás párhuzamosítási lehetőségekkel

Dinamikus programozás párhuzamosítási lehetőségekkel 8. tavasz Dinamikus programozás párhuzamosítási lehetőségekkel A. Grama, A. Gupta, G. Karypis és V. Kumar: Introduction to Parallel Computing, Addison Wesley, könyv, valamint Michael Goodrich (Univ. California)

Részletesebben

2. előadás. Lineáris algebra numerikus módszerei. Mátrixok Mátrixműveletek Speciális mátrixok, vektorok Norma

2. előadás. Lineáris algebra numerikus módszerei. Mátrixok Mátrixműveletek Speciális mátrixok, vektorok Norma Mátrixok Definíció Az m n típusú (méretű) valós A mátrixon valós a ij számok alábbi táblázatát értjük: a 11 a 12... a 1j... a 1n.......... A = a i1 a i2... a ij... a in........... a m1 a m2... a mj...

Részletesebben

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Nagy Gábor  compalg.inf.elte.hu/ nagy ősz Diszkrét matematika 1. középszint 2017. ősz 1. Diszkrét matematika 1. középszint 7. 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 Komputeralgebra

Részletesebben

1. Alapfogalmak Algoritmus Számítási probléma Specifikáció Algoritmusok futási ideje

1. 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észletesebben

5. Előadás. (5. előadás) Mátrixegyenlet, Mátrix inverze március 6. 1 / 39

5. Előadás. (5. előadás) Mátrixegyenlet, Mátrix inverze március 6. 1 / 39 5. Előadás (5. előadás) Mátrixegyenlet, Mátrix inverze 2019. március 6. 1 / 39 AX = B (5. előadás) Mátrixegyenlet, Mátrix inverze 2019. március 6. 2 / 39 AX = B Probléma. Legyen A (m n)-es és B (m l)-es

Részletesebben

Információk. Ismétlés II. Ismétlés. Ismétlés III. A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin. Algoritmus. Algoritmus ábrázolása

Információk. Ismétlés II. Ismétlés. Ismétlés III. A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin. Algoritmus. Algoritmus ábrázolása 1 Információk 2 A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin Elérhetőség mesko.katalin@tfk.kefo.hu Fogadóóra: szerda 9:50-10:35 Számonkérés időpontok Április 25. 9 00 Május 17. 9 00 Június

Részletesebben

Valasek Gábor valasek@inf.elte.hu

Valasek Gábor valasek@inf.elte.hu Számítógépes Grafika Valasek Gábor valasek@inf.elte.hu Eötvös Loránd Tudományegyetem Informatikai Kar 2013/2014. őszi félév ( Eötvös LorándSzámítógépes TudományegyetemInformatikai Grafika Kar) 2013/2014.

Részletesebben

Grá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. 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

Kupac adatszerkezet. 1. ábra.

Kupac adatszerkezet. 1. ábra. Kupac adatszerkezet A bináris kupac egy majdnem teljes bináris fa, amely minden szintjén teljesen kitöltött kivéve a legalacsonyabb szintet, ahol balról jobbra haladva egy adott csúcsig vannak elemek.

Részletesebben

1. ábra. Egy rekurzív preorder bejárás. Egy másik rekurzív preorder bejárás

1. ábra. Egy rekurzív preorder bejárás. Egy másik rekurzív preorder bejárás Preorder ejárás 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 lévő adatokra.

Részletesebben

1. Determinánsok. Oldjuk meg az alábbi kétismeretlenes, két egyenletet tartalmaz lineáris egyenletrendszert:

1. Determinánsok. Oldjuk meg az alábbi kétismeretlenes, két egyenletet tartalmaz lineáris egyenletrendszert: 1 Determinánsok 1 Bevezet definíció Oldjuk meg az alábbi kétismeretlenes, két egyenletet tartalmaz lineáris egyenletrendszert: a 11 x 1 +a 12 x 2 = b 1 a 21 x 1 +a 22 x 2 = b 2 Szorozzuk meg az első egyenletet

Részletesebben

Algoritmuselmélet 2. előadás

Algoritmuselmélet 2. előadás Algoritmuselmélet 2. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu 2002 Február 12. ALGORITMUSELMÉLET 2. ELŐADÁS 1 Buborék-rendezés

Részletesebben

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Számelmélet I.

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Számelmélet I. Számelmélet I. DEFINÍCIÓ: (Osztó, többszörös) Ha egy a szám felírható egy b szám és egy másik egész szám szorzataként, akkor a b számot az a osztójának, az a számot a b többszörösének nevezzük. Megjegyzés:

Részletesebben

Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból

Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból ÜTEMTERV Programozás-elmélet c. tárgyhoz (GEMAK233B, GEMAK233-B) BSc gazdaságinformatikus, programtervező informatikus alapszakok számára Óraszám: heti 2+0, (aláírás+kollokvium, 3 kredit) 2019/20-es tanév

Részletesebben

Példa. Job shop ütemezés

Példa. Job shop ütemezés Példa Job shop ütemezés Egy üzemben négy gép működik, és ezeken 3 feladatot kell elvégezni. Az egyes feladatok sorra a következő gépeken haladnak végig (F jelöli a feladatokat, G a gépeket): Az ütemezési

Részletesebben

Gráf-algoritmusok Legrövidebb utak

Gráf-algoritmusok Legrövidebb utak https://www.cs.princeton.edu/~rs/algsds07/15shortestpaths.pdf Gráf-algoritmusok Legrövidebb utak Sapientia-EMTE 2017-18 Typesetting in TeX Két pont között, akkor van él, ha közéjük 1 2 3 4 eső szó szekvencia

Részletesebben

1. Mátrixösszeadás és skalárral szorzás

1. Mátrixösszeadás és skalárral szorzás 1 Mátrixösszeadás és skalárral szorzás Mátrixok tömör jelölése T test Az M = a i j T n m azt az n sorból és m oszlopból álló mátrixot jelöli, amelyben az i-edik sor j-edik eleme a i j T Példák [ ] Ha M

Részletesebben

Ellenőrző kérdések. 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t

Ellenőrző kérdések. 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t Ellenőrző kérdések 2. Kis dolgozat kérdései 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t 37. Ha t szintű indexet használunk,

Részletesebben

f(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

f(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észletesebben

Számláló rendezés. Példa

Számláló rendezés. Példa Alsó korlát rendezési algoritmusokra Minden olyan rendezési algoritmusnak a futását, amely elempárok egymással való összehasonlítása alapján működik leírja egy bináris döntési fa. Az algoritmus által a

Részletesebben

;3 ; 0; 1 7; ;7 5; 3. pozitív: ; pozitív is, negatív is: ;

;3 ; 0; 1 7; ;7 5; 3. pozitív: ; pozitív is, negatív is: ; . A racion lis sz mok A tanult sz mok halmaza A) Ábrázold számegyenesen az alábbi számokat! 8 + + 0 + 7 0 7 7 0 0. 0 Válogasd szét a számokat aszerint, hogy pozitív: pozitív is, negatív is: negatív: sem

Részletesebben

Adatszerkezetek II. 10. előadás

Adatszerkezetek II. 10. előadás Adatszerkezetek II. 10. előadás Kombinatorikai algoritmusok A kombinatorika: egy véges halmaz elemeinek valamilyen szabály alapján történő csoportosításával, kiválasztásával, sorrendbe rakásával foglalkozik

Részletesebben

Bonyolultságelmélet. Monday 26 th September, 2016, 18:50

Bonyolultságelmélet. Monday 26 th September, 2016, 18:50 Bonyolultságelmélet Monday 26 th September, 2016, 18:50 A kiszámítás modelljei 2 De milyen architektúrán polinom? A kiszámításnak számos (matematikai) modellje létezik: Általános rekurzív függvények λ-kalkulus

Részletesebben

Számjegyes vagy radix rendezés

Számjegyes vagy radix rendezés Számláló rendezés Amennyiben a rendezendő elemek által felvehető értékek halmazának számossága kicsi, akkor megadható lineáris időigényű algoritmus. A bemenet a rendezendő elemek egy n méretű A tömbben

Részletesebben

2. Milyen értéket határoz meg az alábbi algoritmus, ha A egy vektor?. (2 pont)

2. Milyen értéket határoz meg az alábbi algoritmus, ha A egy vektor?. (2 pont) A Név: l 2017.04.06 Neptun kód: Gyakorlat vezet : HG BP l 1. Az A vektor tartalmát az alábbi KUPACOL eljárással rendezzük át maximum kupaccá. A={28, 87, 96, 65, 55, 32, 51, 69} Mi lesz az értéke az A vektor

Részletesebben

Mátrixok 2017 Mátrixok

Mátrixok 2017 Mátrixok 2017 számtáblázatok" : számok rendezett halmaza, melyben a számok helye két paraméterrel van meghatározva. Például lineáris egyenletrendszer együtthatómátrixa 2 x 1 + 4 x 2 = 8 1 x 1 + 3 x 2 = 1 ( 2 4

Részletesebben

Permutáció n = 3 esetében: Eredmény: permutációk száma: P n = n! romámul: permutări, angolul: permutation

Permutáció n = 3 esetében: Eredmény: permutációk száma: P n = n! romámul: permutări, angolul: permutation Visszalépéses módszer (Backtracking) folytatás Permutáció n = 3 esetében: 1 2 3 2 3 1 3 1 2 Eredmény: 3 2 3 1 2 1 123 132 213 231 312 321 permutációk száma: P n = n! romámul: permutări, angolul: permutation

Részletesebben

Algoritmuselmélet 1. előadás

Algoritmuselmélet 1. előadás Algoritmuselmélet 1. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu 2002 Február 11. ALGORITMUSELMÉLET 1. ELŐADÁS 1 Források

Részletesebben

1. ábra ábra

1. ábra ábra A kifejtési tétel A kifejtési tétel kimondásához először meg kell ismerkedni az előjeles aldetermináns fogalmával. Ha az n n-es A mátrix i-edik sorának és j-edik oszlopának kereszteződésében az elem áll,

Részletesebben

Adatszerkezetek. Nevezetes algoritmusok (Keresések, rendezések)

Adatszerkezetek. Nevezetes algoritmusok (Keresések, rendezések) Adatszerkezetek Nevezetes algoritmusok (Keresések, rendezések) Keresések A probléma általános megfogalmazása: Adott egy N elemű sorozat, keressük meg azt az elemet (határozzuk meg a helyét a sorozatban),

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.

ú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észletesebben

Megoldás meghatározása Ez a szakasz kitölti a c és S táblázatokat, a kiíratás S alapján egy rekurzív algoritmussal megtehető.

Megoldás meghatározása Ez a szakasz kitölti a c és S táblázatokat, a kiíratás S alapján egy rekurzív algoritmussal megtehető. Leghosszabb közös részsorozat Egy sorozat, akkor részsorozata egy másiknak, ha abból elemeinek elhagyásával megkapható. A feladat két sorozat X = (x 1,...,x m ) és Y = (y 1,...,y n ) leghosszabb közös

Részletesebben

Nagyordó, Omega, Theta, Kisordó

Nagyordó, Omega, Theta, Kisordó A növekedés nagyságrendje, számosság Logika és számításelmélet, 6. gyakorlat 2009/10 II. félév Számításelmélet (6. gyakorlat) A növekedés nagyságrendje, számosság 2009/10 II. félév 1 / 1 Nagyordó, Omega,

Részletesebben

BBTE Matek-Infó verseny mintatételsor Informatika írásbeli vizsga

BBTE Matek-Infó verseny mintatételsor Informatika írásbeli vizsga BABEȘ BOLYAI TUDOMÁNYEGYETEM MATEMATIKA ÉS INFORMATIKA KAR A. tételsor (30 pont) 1. (5p) Tekintsük a következő alprogramot: Alprogram f(a): Ha a!= 0, akkor visszatérít: a + f(a - 1) különben visszatérít

Részletesebben

Feladat: megoldani az alábbi egyenletrendszert: A x = b,

Feladat: megoldani az alábbi egyenletrendszert: A x = b, Gauss Jordan-elimináció Feladat: megoldani az alábbi egyenletrendszert: ahol A négyzetes mátrix. A x = b, A Gauss Jordan-elimináció tulajdonképpen az általános iskolában tanult módszer lineáris egyenletrendszerek

Részletesebben

Diszkrét matematika 2.C szakirány

Diszkrét matematika 2.C szakirány Diszkrét matematika 2.C szakirány 2017. tavasz 1. Diszkrét matematika 2.C szakirány 4. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék 2017.

Részletesebben