7. Dinamikus programozás

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

Download "7. Dinamikus programozás"

Átírás

1 7. Diamikus rogramozás 7.1. Rekurzió memorizálással. Láttuk, hogy a artíció robléma rekurzív algoritmusa Ω(2 ) eljáráshívást végez. edig a lehetséges részroblémák száma csak 2 (vagy ( + 1)/2, ha csak az k eseteket vesszük.) Eek az az oka, hogy ugyaazo részrobléma megoldása több más részobléma megoldásához kell, és az algoritmus ezeket midig újra kiszámítja. Tehát egyerűe gyorsíthatjuk a számítást, ha mide részrobléma (azaz P2(, k)) megoldását tároljuk egy tömbbe. Ha hivatkozuk egy részrobléma megoldására, akkor először elleőrizzük, hogy kiszámítottuk-e már, és ha ige, akkor kiolvassuk az értéket a táblázatból, egyebkét rekurzíva számítuk, és utáa tároljuk az értéket a táblázatba. A táblázat iicializálásához válasszuk egy olya értéket, amely em lehet egyetle részrobléma megoldása sem. Esetükbe ez lehet a 0. Program ParticoiRM; {A artíció robléma megoldása. Módszer: rekurzió memorizálással} Fuctio P(N:Word):It64; Cost MaxN=500; {a táblázat mérete MaxN*MaxN} T2:array[1..MaxN,1..MaxN] of It64;{a részroblémák táblázata} i,j:word; Fuctio P2(,k:Word):It64; E:It64; Begi{P2} If T2[,k]<>0 The {P2(,k) értékét már kiszámítottuk} P2:=T2[,k] Else Begi {P2(,k) értékét még em számítottuk ki} if ( = 1) Or (k = 1) The {rekurzív számítás} E := 1 Else If <= k The E := 1 + P2(,-1) Else E :=P2(,k-1) + P2(-k,k); T2[,k]:=E; {memorizálás} P2:=E; Ed; Ed{P2}; Begi{P} For i:=1 To N Do {a táblázat iicializálása} For j:=1 To N Do T2[i,j]:=0; P:=P2(,); Ed{P}; Begi{rogram} WriteL(P(100)); Ed{rogram}. Nyilvávaló, hogy az algoritmus futási ideje Θ( 2 ), és a tárigéye is Θ( 2 ) lesz, ha csak 2 méretű táblázatak foglaluk memóriát diamikusa az aktuális araméter függvéyébe. 1

2 7.2. A artíció robéma megoldása táblázatkitöltéssel. A rekurziót teljese kiküszöbölhetjük táblázatkitöltéssel. Az 1. árá szemléltetett táblázatot haszáljuk a részroblémák megoldásaiak tárolására. Tehát a T 2[, k] táblázatelem tartalmazza a P2(, k) részrobléma megoldását. A táblázat első sora azoal kitölthető, mert P2(, 1) = 1. Olya kitöltési sorredet keresük, hogy mide (, k), k > 1 részrobléma kiszámítása eseté azok a részroblémák, amelyek szükségesek P2(, k) kiszámításához, már korábba kiszámítottak legyeek. Általáosa, rekurzív összefüggéssel defiiált roblémamegoldás eseté egy r (rész)robléma összetevői azok a részroblémák, amelyek megoldásától r megoldása függ. Tehát a táblázatkitöltés alkalmazásához meg kell állaítai a részroblémákak egy olya sorredjét, hogy mide r részrobléma mide összetevője előbb álljo a sorredbe, mit r. A 1. P2(1,k) = 1, P2(,1) = 1, 2. P2(,) = 1 + P2(, 1), 3. P2(,k) = P2(,) ha < k, 4. P2(,k) = P2(,k 1) + P2( k,k) ha k <. k N T2[,k]=P2(,k)? k?? k k N 1. ábra. Táblázat a Partíció robléma megoldásához. rekurzív összefüggések megadják az összetevőket: 1. P2(1, k)-ak és P2(, 1)-ek ics összetevője, 2. P2(, ) összetevője P2(, 1), 3. P2(, k) összetevője P2(, ), ha ( < k), 4. P2(,k) összetevői: P2(,k 1) és P2( k,k), ha (k < ). Tehát a táblázat kitöltése (k-szerit) sorokét balról jobbra haladó lehet. Az algoritmus futási ideje és tárigéye is Θ( 2 ). 2

3 Program ParticT2; {A artíció robléma megoldása. Módszer: égyzetes táblázatkitöltés} Fuctio P(N:Word):It64; Cost MaxN=500; {a táblázat mérete MaxN*MaxN} T2:array[1..MaxN,1..MaxN] of It64; ki,i,1:word; Begi{P} For i:=1 To N Do T2[i,1]:=1; {az első sor kitöltése} For ki:=2 To N Do Begi {az ki. sor kitöltése } T2[ki,ki]:=T2[ki,ki-1]+1; {P2(,)=P2(,-1)+1 } For i:=ki+1 To Do Begi {P2(i,ki)=T2[i,ki] számítása} 1:=ki; {P2(,k)=P2(,k-1)+P2(-k,k) } If i-ki<ki The 1:=i-ki; {P2(,k)=P2(,), ha k> } T2[i,ki]:=T2[i,ki-1]+T2[i-ki,1];{P2(,k)=P2(,k-1)+P2(-k,k) } Ed{for i}; Ed{for ki}; P:=T2[,]; Ed{P}; Begi{Program} WriteL(P(100)); Ed{Program} A artíció robéma megoldása lieáris táblázatkitöltéssel. Látható, hogy elegedő lee a táblázatak csak két sorát tároli, mert mide (, k) részrobléma összetevői vagy a k-adik, vagy a k 1-edik sorba vaak. Sőt, elég egy sort tároli balról-jobbra (övekvő -szerit) haladó kitöltésél, mert amelyik részroblémát felülírjuk (( k, k)), aak később ée az új értéke kell összetevőkét. Program ParticD; { A artíciószám robléma megoldása. Módszer: diamikus rogramozás lieáris táblázatkitöltés helybe } Fuctio P(N:Word):It64; Cost MaxN=5000 ;(* a táblázat mérete *) T : Array[1..MaxN] Of It64; ki,i : Word; Begi{P} For i:=1 To N Do T[i]:=1; {az első sor kitöltése } For ki:=2 To N Do Begi {az ki. sor kitöltése } T[ki]:=T[ki]+1; {P2(,)=P2(,-1)+1 } For i:=ki+1 To N Do {P2(,k)=P2(,k-1)+P2(-k,k) } T[i]:=T[i] + T[i-ki]; Ed{for ki}; P:=T[N]; Ed{P}; Begi{rogram} WriteL( P(405)=,P(405)); Ed{rogram}. P(405)=

4 7.4. A ézváltás robléma. Probléma: Pézváltás Bemeet: P = { 1,..., } ozitív egészek halmaza, és E ozitív egész szám. Kimeet: Olya S P, hogy S = E. Megjegyzés: A ézek tetszőleges címletek lehetek, em csak a szokásos 1, 2, 5 10, 20, stb., és mide éz csak egyszer haszálható a felváltásba. Először azt határozzuk meg, hogy va-e megoldás. A megoldás szerkezetéek elemzése. Tegyük fel, hogy E = i ik, i 1 <... < i k egy megoldása a feladatak. Ekkor E ik = i ik 1 megoldása lesz aak a feladatak, amelyek bemeete a felváltadó E ik érték, és a felváltáshoz legfeljebb a első i k 1 ( 1,..., ik 1) ézeket haszálhatjuk. Részroblémákra botás. Botsuk részroblémákra a kiidulási roblémát: Mide (X, i)(1 X E, 1 i N) számárra vegyük azt a részroblémát, hogy az X érték felváltható-e legfeljebb az első 1,..., i ézzel. Jelölje V (X,i) az (X,i) részrobléma megoldását, ami logikai érték; V (X, i) = Igaz, ha az X összeg előállítható legfeljebb az első i ézzel, egyébkét Hamis. Összefüggések a részroblémák és megoldásaik között. Nyilvávaló, hogy az alábbi összefüggések teljesülek a részroblémák megoldásaira: 1. V (X,i) = (X = i ), ha i = 1 2. V (X,i) = V (X,i 1) (X > i ) V (X i,i 1) ha i > 1 Rekurzív megoldás. Mivel a megoldás kifejezhető egy V(X,i) logikai értékű függvéyel, ezért a felírt összefüggések alajá azoal tuduk adi egy rekurzív függvéyeljárást, amely a ézváltás robléma megoldását adja. Fuctio V(X,i:Word):Boolea; {Globális:P} {Módszer: Rekurzív megoldás } Begi V:=(X=P[i])Or (i>1) Ad V(X,i-1) Or (i>1) Ad (X>P[i]) Ad V(X-P[i],i-1); Ed{V}; Ez a megoldás azoba ige lassú, legrosszabb esetbe a futási idő Ω(2 ). Megoldás a részroblémák megoldásaiak táblázatos tárolásával. Vegyük egy V T táblázatot, amelybe mide lehetséges részrobléma megoldását tároljuk. Mivel mide részroblémát két érték határoz meg, X és i, ezért téglala alakú táblázat kell. V T [X, i] az (X, i) részrobléma megoldását tartalmazza. A részroblémák kiszámítási sorredje. Olya kiszámítási sorredet kell megállaítai, amelyre teljesül, hogy amikor az (X, i) részroblémát számítjuk, akkor eek összetevőit már korábba kiszámítottuk. Mivel az (X, 1) részroblémákak ics összetevőjük, ezért közvetleül kiszámíthatóak, azaz a táblázat első sorát számíthatjuk először. Ha i > 1, akkor az (X, i) részrobléma összetevői az (X,i 1) és (X i,i 1), ezért az i-edik sor bármely elemét ki tudjuk számítai, ha már kiszámítottuk az i 1-edik sor mide elemét. Tehát a táblázatkitöltés sorredje: sorokét (alulról felfelé), balról-jobbra haladó lehet. Fuctio V(E,N:Word):Boolea; { Pézváltás égyzetes táblázatkitöltéssel } {Globál: P:Pezek} Cost MaxE=100; {a max. felváltadó összeg} MaxN=200; {a ézek max. száma} VT:Array[1..MaxE,1..MaxN] Of Boolea; i,x:word; 4

5 N i? i X-P[i] X E 2. ábra. A ézváltás táblázata Begi{VT} For x:=1 To E Do VT[x,1]:=False; {az első sor, azaz V(x,1) számítása} VT[P[1],1]:= P[1]<=E; For i:=2 To N Do {az i-edik sor,azaz V(x,i) számítása} For x:=1 To E Do VT[x,i]:=(P[i]=X) Or VT[x,i-1] Or (x>p[i]) Ad VT[x-P[i],i-1]; V:=VT[E,N]; Ed{V}; Egy megoldás előállítása a megoldás visszafejtésével. Akkor és csak akkor va megoldása a roblémáak, ha a V T táblázat kitöltése utá V T [E,N] értéke igaz. Ekkor az (1-2.) kéletek szerit a legagyobb i idexű i éz, amely szereelhet E előállításába, az a legagyobb idex, amelyre V T [E,i] = True (V T [E,i 1] = False) De ekkor V T [E P[i],i 1] igaz, tehát E i előállítható az első i 1 éz felhaszálásával. Tehát a feti eljárást folytati kell E := E i,i := i 1-re midaddig, amíg E 0 lesz. Procedure PezValt1( E:Word; Cost P:Pezek; N: Word; Db:Word; C :Megoldas); Cost MaxE=300;{a max. felváltható érték} VT:Array[0..MaxE, 0..MaxN] Of Boolea; i,x:iteger; Begi{PezValt1} For X:=1 To E Do VT[X,1]:=False; {az első sor, azaz V(X,1) számítása} VT[P[1],1]:= P[1]<=E; For i:=2 To N Do {az i-edik sor,azaz V(X,i) számítása} For X:=1 To E Do VT[X,i]:=(P[i]=X) Or VT[X,i-1] Or (X>P[i]) Ad VT[X-P[i],i-1]; Db:=0; X:=E; i:=n { egy megoldás előállítása} If Not VT[E,N] The Exit; {ics megoldás} 5

6 Reeat While (i>0) Ad VT[X,i] Do Dec(i); Ic(Db); C[Db]:=i+1; {i+1 bejegyzése a megoldásba} X:=X-P[i+1]; {X-P[i+1] felváltásával folytatjuk} Util X=0; Ed{PezValt1}; Ha csak arra kell valszoli, hogy létezi-e megoldása a roblémáak, akkor elég a táblázat egy sorát tároli, mert sorokét visszafelé (x-szerit csökkeő sorredbe) haladó kitöltést alkalmazhatuk. Fuctio PezValt1L(E:Word; Cost P:Pezek; N: Word):Boolea; { Lieáris táblázatkitöltéssel } Cost MaxE=60000; T:Array[0..MaxE] Of Boolea; i,x:word; Begi{PezValt1L} For x:=1 To E Do T[x]:=False; T[0]:=True; If P[1]<=E The T[P[1]]:=True; For i:=2 To N Do For x:=e DowTo 1 Do T[x]:=T[x] Or (x>=p[i]) Ad T[x-P[i]]; PezValt1L:=T[E]; Ed{PezValt1L}; 7.5. Az otimális ézváltás robléma. Probléma: Otimális ézváltás Bemeet: P = { 1,..., } ozitív egészek halmaza, és E ozitív egész szám. Kimeet: Olya S P, hogy S = E és S miimális Először is lássuk be, hogy az a mohó stratégia, amely midig a lehető legagyobb ézt választja, em vezet otimális megoldáshoz. Legye E = 8 és a ézek halmaza legye {5,4,4,1,1,1}. A mohó módszer a 8 = megoldást adja, míg az otimális a 8 = Az otimális megoldás szerkezetéek elemzése. Tegyük fel, hogy E = i ik, i 1 <... < i k egy otimális megoldása a feladatak. Ekkor E ik = i ik 1 otimális megoldása lesz aak a feladatak, amelyek bemeete a felváltadó E ik érték, és a felváltáshoz legfeljebb a első i k 1 ( 1,..., ik 1) ézeket haszálhatjuk. Ugyais, ha lee kevesebb ézből álló felváltása E ik -ak, akkor E-ek is lee k-ál kevesebb ézből álló felváltása. Részroblémákra és összetevőkre botás. A részroblémák legyeek ugyaazok, mit az előző esetbe. Mide (X,i) (1 X E,1 i N) számárra vegyük azt a részroblémát, hogy legkevesebb háy éz összegekét lehet az X értéket előállítai legfeljebb az első i { 1,..., i } éz felhaszálásával. Ha ics megoldás, akkor legye ez az érték N +1. Jelölje az (X,i) részrobléma otimális megoldásáak értékét Ot(X,i). Defiiáljuk az otimális megoldás értékét X = 0-ra és i = 0-ra is, azaz legye Ot(X,0) = N + 1 és Ot(0,i) = 0. Így Ot(X, i)-re az alábbi rekurzív összefüggés írható fel. A részroblémák otimális megoldásáak kifejezése az összetevők otimális megoldásaival. N + 1 ha i = 0 X > 0 0 ha X = 0 Ot(X,i) = Ot(X,i 1) ha X < i mi(ot(x,i 1),1 + Ot(X i,i 1)) ha X i (1) 6

7 Procedure OtValto(Cost P :Pezek; E :Word; N:Word; Db:Word; C:Megoldas ); Cost MaxE=300; Ot:Array[0..MaxE] Of 0..MaxN+1; {az ot. mego.értéke} V:Array[0..MaxE,0..MaxN] Of 0..MaxN+1; i,x,ro:word; Begi{OtValto} For x:=1 To E Do Begi {iicializálás} Ot[x]:=N+1; V[x,0]:=N+1 Ed; Ot[0]:=0; For i:=1 To N Do { táblázatkitöltés} For x:=e DowTo 1 Do Begi If (x>=p[i]) The Ro:=Ot[x-P[i]]+1 {x-p[i] ot.felváltása+1} Else Ro:=N+1; If Ro<Ot[x] The Begi {Ot[x]=1+Ot(x,i-1)} Ot[x]:=Ro; {az i. éz szerel x } V[x,i]:=i; {otimális felváltásába} Ed Else {Ot[x]=Ot(x,i-1)} V[x,i]:=V[x,i-1]; {ics jobb, mit i-1-re} Ed{for x}; Db:=0; x:=e; i:=n; If Ot[E]<=N The { va megoldás} Reeat { egy otimális megoldás előállítása} i:=v[x,i]; {i. szereel x ot. felváltásába} Ic(Db); C[Db]:=i; {i bejegyzése a megoldásba} x:=x-p[i]; {x-p[i] ot. felváltását ézzük} Dec(i); { az 1..i-1 ézekkel} Util x=0; Ed{OtValto}; A diamikus rogramozás stratégiája. A diamikus rogramozás, mit robléma-megoldási stratégia az alábbi öt léés végrehajtását jeleti. 1. Az [otimális] megoldás szerkezetéek elemzése. 2. Részroblémákra és összetevőkre botás úgy, hogy: a) Az összetevőktől való függés körmetes legye. b) Mide részrobléma [otimális] megoldása kifejezhető legye (rekurzíva) az összetevők [otimális] megoldásaival. 3. Részroblémák [otimális] megoldásáak kifejezése (rekurzíva) az összetevők [otimális] megoldásaiból. 4. Részroblémák [otimális] megoldásáak kiszámítása alulról-felfelé haladva: a) A részroblémák kiszámítási sorredjéek meghatározása. Olya sorba kell raki a részroblémákat, hogy mide részrobléma mide összetevője (ha va) előbb szereelje a felsorolásba, mit. b) A részroblémák kiszámítása alulról-felfelé haladva, azaz táblázatkitöltéssel. 5. Egy [otimális] megoldás előállítása a 4. léésbe kiszámított (és tárolt) iformációkból Otimális biáris keresőfa előállítása A F = (M, R, Adat) absztrakt adatszerkezetet biáris keresőfáak evezzük, ha 1. F biáris fa, 7

8 2. Adat : M Elemti és Elemti-o értelmezett egy lieáris redezési reláció, 3. ( x M)( F bal(x) )( q F jobb(x) )(Adat() Adat(x) Adat(q)) A BINKERFAKERES függvéyeljárás egy yilvávaló megoldása a fába keresése feladatak. x a 2 a 1 q a 3 3. ábra. Biáris keresőfa Fuctio BiKerFaKeres(a:Adat; F:BiFA):BiFa; Begi While (F<>Nil) Ad (a<>f^.adat) Do If a<f^.adat The F:=F^.bal Else F:=F^.jobb; BiKerFaKeres:=F; Ed; x 5 k5 x 3 k 3 x 10 k 10 x 1 k 1 x 4 k 4 x 6 k 6 x 2 k 2 x 8 k 8 x 7 k 7 x9 k9 4. ábra. 10 adatot (kulcsot) tartalmazó biáris keresőfa Tegyük fel, hogy ismerjük mide k i kulcs keresési gyakoriságát, ami i (i = 1,...,) Továbbá ismert azo k kulcsok (sikertele) keresési gyakorisága, amelyre k i < k < k i+1, ami q i (,...,), és q 0 a k < k 1 kulcsok keresési gyakorisága. Átlagos keresési idő (költség): V (F) = i d F (x i ) + q i d F (y i ) 8

9 x 5 k 5 x 3 k 3 x 10 k 10 x 1 k 1 x 4 k 4 x 6 k 6 y 10 y 0 x 2 k 2 y 3 y 4 y 5 x 8 k 8 y 1 y 2 x 7 k 7 x9 k9 y 6 y 7 y 8 y 9 5. ábra. Biáris keresőfa kiegészíteve sikertele keresési otokkal, ahol d F () a ot mélysége az F fába. Probléma: Otimális biáris keresőfa előállítása. Bemeet: P = 1,..., sikeres és Q = q 0,...,q sikertele keresési gyakoriságok. Kimeet: Olya F biáris keresőfa, amelyek a V (F) költsége miimális. Az otimális megoldás szerkezete. Tegyük fel, hogy a k 1,...,k kulcsokat tartalmazó F biáris keresőfa otimális, azaz V (F) miimális. Jelölje x r a fa gyökerét. Ekkor az F 1 = F bal(xr ) fa a k 1,...,k r 1 kulcsokat, az F 2 = F jobb(xr ) fa edig a k r+1,...,k kulcsokat tartalmazza. Mivel k r F 1 F 2 iorder(f 1 ) = k 1,...k r 1 iorder(f 2 ) = k r+1,...,k 6. ábra. Ha az otimális fa gyökerébe a k r kulcs va. d F1 () = d F () + 1 és d F2 () = d F ()

10 V (F) = = = + = + = r 1 r 1 i=r+1 i=r+1 i d F (x i ) + r 1 i d F (x i ) + q i d F (y i ) r 1 i (d F1 (x i ) + 1) + i + i + q i d F (y i ) + r + i (d F2 (x i ) + 1) + i=r+1 i=r+1 q i (d F1 (y i ) + 1) + r q i (d F2 (y i ) + 1) r 1 r 1 q i + i d F1 (x i ) + q i d F1 (y i ) i d F2 (x i ) + i=r q i d F2 (y i ) q i +V (F 1 ) +V (F 2 ) i d F (x i ) + i=r q i d F (y i ) Tehát V (F) = i + q i +V (F 1 ) +V (F 2 ) (2) Az F 1 fa a k 1,...,k r 1 kulcsokat tartalmazó otimális biáris keresőfa a 1,..., r 1 sikeres és q 0,...,q r 1 sikertele keresési gyakoriságokra, az F 2 fa edig k r+1,...,k kulcsokat tartalmazó otimális biáris keresőfa a r+1,..., sikeres és q r,...,q sikertele keresési gyakoriságokra. A bizoyítás a kivágás-és-beillesztés módszerrel végezhető. Ha lee olya F 1 biáris keresőfa a 1,..., r 1 sikeres és q 0,...,q r 1 sikertele keresési gyakoriságokra, hogy V (F 1 ) < V (F 1 ), akkor az F fába F 1 helyett az F 1 részfát véve olya fát kaák a 1,..., sikeres és q 0,...,q sikertele keresési gyakoriságokra, amelyek költsége i + q i + V (F 1 ) + V (F 2 ) < V (F). Ugyaígy bizoyítható, hogy F 2 is otimális fa a k r+1,...,k kulcsokra a r+1,..., sikeres és q r,...,q sikertele keresési gyakoriságokra. Részroblémákra botás. Mide (i, j) idexárra 0 i j tekitsük azt a részroblémát hogy mi az otimális biáris keresőfa az i+1,..., j sikeres és q i,...,q j sikertele keresési gyakoriságokra. Jelölje Ot(i, j) az otimális fa költségét az (i, j) részroblémára. Az otimális megoldás értékéek rekurzív kiszámítása. Vezessük be a j j W(i, j) = u + q u u=i+1 u=i jelölést. Mide (i, j)-re a (2) kélet miatt biztosa létezik olya i < r j, hogy Ot(i, j) = W(i, j) + Ot(i,r 1) + Ot(r, j), csak azt em tudjuk, hogy melyik r-re. Tehát azt az r-et keressük, amelyre a feti összeg miimális lesz. Tehát Ot(i, j) a következő rekurzív összefüggéssel számítható. { qi ha i = j Ot(i, j) = W(i, j) + mi (Ot(i,r 1) + Ot(r, j)) ha i < j (3) i<r j Az összetevők és a kiszámítási sorred meghatározása. Az (i,i) részroblémákak ics összetevőjük, mert Ot(i,i) = q i. Az (i, j), i < j részrobléma összetevői az (i,r 1) és (r, j), r = i + 1,..., j részroblémák. Tehát a táblázatot ki tudjuk töltei átlósa haladva, a m-edik átlóba m = 1,..., azo (i, j)részroblémákat számítjuk, amelyekre j i = m. Kiszámítás alulról-felfelé haladva (táblázatkitöltés). Ahhoz, hogy egy otimális megoldást elő tujuk állítai, mide (i, j) részroblémára tároljuk egy G táblázat G[i, j]-elemébe 10

11 N q j? qj qi 0 q0 q1 0 i N 7. ábra. Táblázatkitöltési sorred azt az r értéket, amelyre a (3) kéletbe az miimum előáll. Ez az r lesz a k i+1,...,k j kulcsokat tartalmazó otimális biáris keresőfa gyökere. A G[i, j] értékeket felhaszálva a FASIT rekurzív eljárás állítja elő téylegese az algoritmus kimeetét jelető keresőfát. { Globális rogramelemek az OtBKfa eljáráshoz :} Cost MaxN =??? ; { a kulcsok max. száma } Tye Kulcsti =???; { a kulcsok tíusa } Idex = 1..MaxN; Vektor = Array[Idex] Of Real; {a sikeres keresési gyakoriságok} Vektor1 = Array[0..MaxN] Of Real; {a sikertele keresési gyakoriságok} Fa = Array[Idex] Of Record {a biáris keresőfa ábrázolása} bal, jobb : 0..MaxN; kulcs : kulcsti; {egyéb mezők} Ed; Procedure OtBKfa(Cost P : Vektor; Cost Q : Vektor1; N : Idex; Gyoker : Idex; F : Fa ); { P[i]:az i-edik halmazelem keresési gyakorisága } { Q[i]:az i-edik es az i+1-edik almazelem közé eső elemek } { keresési gyakorisága } { Gyoker:az otimális keresőfa gyökérotjáak idexe } { F :az otimális biáris keresőfa} 11

12 Ot: Array[0..MaxN, 0..MaxN] Of Real; { Ot[i,j] az i+1..j elemeket tartalmazó OBK költsége } W: Array[0..MaxN, 0..MaxN] Of Real; { W[i,j]= Q[i]+Sum(P[k]+Q[k]: k:=i+1..j } G : Array[0..MaxN, 0..MaxN] Of 0..MaxN; {G[i,j] az i+1..j elemeket tartalmazó otimális biáris keresőfa gyökérotjáak idexe } i,j,r,m,otr : Iteger; otv, V : Real; Procedure Fasit(Aa, i, j : Iteger); { Előallítja az i+1..j elemek OB keresőfáját a G értékekből} { Globális: G, F} Begi{Fasit} If Aa <> 0 The Begi F[Aa].bal := G[i, Aa-1]; F[Aa].jobb := G[Aa, j]; Fasit(G[i, Aa-1], i, Aa-1); Fasit(G[Aa, j], Aa, j) Ed Ed{Fasit}; Begi{OtBKfa} For i := 0 To N-1 Do Begi { iicializálás } W[i,i]:=Q[i]; G[i,i]:=0; Ot[i,i]:=Q[i]; Ed; W[N,N]:=Q[N]; G[N,N]:=0; Ot[N,N]:=Q[N]; For m := 1 To N Do {m=j-i} For i := 0 To N-m Do Begi{ Ot(i,j) számítása } j := i+m; W[i,j] := W[i,j-1]+P[j]+Q[j]; otr := j; otv := Ot[i,j-1]+Q[j]{=Ot[j,j]}; For r := i+1 To j-1 Do Begi V := Ot[i,r-1]+Ot[r,j]; If V < otv The Begi otv := V; otr := r Ed Ed{for r}; Ot[i,j] := W[i,j]+otV; G[i,j] := otr Ed{i}; Gyoker := G[0,N]; Fasit(Gyoker, 0, N) Ed{OtBKfa}; A OPTBKFA algoritmus futási ideje Θ( 3 ). Bizoyítás élkül megjegyezzük, hogy a For r := i+1 To j-1 Do Begi ciklusba elegedő lee az r ciklusváltozót G[i,j-1]+1 -től G[i+1,j]-ig futtai, és ezzel az algoritmus futási ideje Θ( 2 ) lee. 12

7. Dinamikus programozás

7. Dinamikus programozás 7. Diamikus rogramozás 7.1. Rekurzió memorizálással. Láttuk, hogy a artíció robléma rekurzív algoritmusa Ω(2 ) eljáráshívást végez, edig a lehetséges részroblémák száma csak 2 (vagy ( + 1)/2, ha csak az

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

Algoritmizálás. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Algoritmizálás. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar Algoritmizálás Horváth Gyula Szegedi Tudomáyegyetem Természettudomáyi és Iformatikai Kar horvath@if.u-szeged.hu. Mohó algoritmusok A mohó stratégia elemi 1. Fogalmazzuk meg az optimalizációs feladatot

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

3. SOROZATOK. ( n N) a n+1 < a n. Egy sorozatot (szigorúan) monotonnak mondunk, ha (szigorúan) monoton növekvő vagy csökkenő.

3. SOROZATOK. ( n N) a n+1 < a n. Egy sorozatot (szigorúan) monotonnak mondunk, ha (szigorúan) monoton növekvő vagy csökkenő. 3. SOROZATOK 3. Sorozatok korlátossága, mootoitása, kovergeciája Defiíció. Egy f : N R függvéyt valós szám)sorozatak evezük. Ha A egy adott halmaz és f : N A, akkor f-et A-beli értékű) sorozatak evezzük.

Részletesebben

(A TÁMOP /2/A/KMR számú projekt keretében írt egyetemi jegyzetrészlet):

(A TÁMOP /2/A/KMR számú projekt keretében írt egyetemi jegyzetrészlet): A umerikus sorozatok fogalma, határértéke (A TÁMOP-4-8//A/KMR-9-8 számú projekt keretébe írt egyetemi jegyzetrészlet): Koverges és diverges sorozatok Defiíció: A természetes számoko értelmezett N R sorozatokak

Részletesebben

VÉLETLENÍTETT ALGORITMUSOK. 1.ea.

VÉLETLENÍTETT ALGORITMUSOK. 1.ea. VÉLETLENÍTETT ALGORITMUSOK 1.ea. 1. Bevezetés - (Mire jók a véletleített algoritmusok, alap techikák) 1.1. Gyorsredezés Vegyük egy ismert példát, a redezések témaköréből, méghozzá a gyorsredezés algoritmusát.

Részletesebben

Algoritmizálás. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Algoritmizálás. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar Algoritmizálás Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar horvath@inf.u-szeged.hu 0.1. Az algoritmikus tudás szintjei Ismeri (a megoldó algoritmust) Érti Le tudja pontosan

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

VII. A határozatlan esetek kiküszöbölése

VII. A határozatlan esetek kiküszöbölése A határozatla esetek kiküszöbölése 9 VII A határozatla esetek kiküszöbölése 7 A l Hospital szabály A véges övekedések tétele alapjá egy függvéy értékét egy potba közelíthetjük az köryezetébe felvett valamely

Részletesebben

A MAXIMUM-KUPACOL eljárás helyreállítja az A[i] elemre a kupactulajdonságot. Az elemet süllyeszti cserékkel mindaddig, amíg a tulajdonság sérül.

A MAXIMUM-KUPACOL eljárás helyreállítja az A[i] elemre a kupactulajdonságot. Az elemet süllyeszti cserékkel mindaddig, amíg a tulajdonság sérül. Kiválasztás kupaccal 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

7 7, ,22 13,22 13, ,28

7 7, ,22 13,22 13, ,28 Általános keresőfák 7 7,13 13 13 7 20 7 20,22 13,22 13,22 7 20 25 7 20 25,28 Általános keresőfa Az általános keresőfa olyan absztrakt adatszerkezet, amely fa és minden cellájában nem csak egy (adat), hanem

Részletesebben

16. Az AVL-fa. (Adelszon-Velszkij és Landisz, 1962) Definíció: t kiegyensúlyozott (AVL-tulajdonságú) t minden x csúcsára: Pl.:

16. Az AVL-fa. (Adelszon-Velszkij és Landisz, 1962) Definíció: t kiegyensúlyozott (AVL-tulajdonságú) t minden x csúcsára: Pl.: 6. Az AVL-fa Adelszo-Velszkij és Ladisz, 96 Defiíció: t kiegyesúlyozott AVL-tulajdoságú t mide x csúcsára: bal x jobb x. Pl.: A majdem teljes biáris fa AVLtulajdoságú. Az AVL-fára, mit speciális alakú

Részletesebben

Sorozatok A.: Sorozatok általában

Sorozatok A.: Sorozatok általában 200 /2002..o. Fakt. Bp. Sorozatok A.: Sorozatok általába tam_soroz_a_sorozatok_altalaba.doc Sorozatok A.: Sorozatok általába Ad I. 2) Z/IV//a-e, g-m (CD II/IV/ Próbálj meg róluk miél többet elmodai. 2/a,

Részletesebben

17. Tördelőtáblák (Hasítótáblák)

17. Tördelőtáblák (Hasítótáblák) 7. Tördelőtáblák (Hasítótáblák) Legye U az Elemtip, uiverzum, H = {a,,a } U Vegyük egy T:Array[0..M-] of Elemtip tömbböt, amelybe a H halmazt tároli akarjuk. Válasszuk egy h : U {0,,M } függvéyt, amely

Részletesebben

A figurális számokról (IV.)

A figurális számokról (IV.) A figurális számokról (IV.) Tuzso Zoltá, Székelyudvarhely A továbbiakba külöféle számkombiációk és összefüggések reprezetálásáról, és bizoyos összegek kiszámolásáról íruk. Sajátos összefüggések Az elekbe

Részletesebben

f(n) n x g(n), n x π 2 6 n, σ(n) n x

f(n) n x g(n), n x π 2 6 n, σ(n) n x Számelméleti függvéyek extremális agyságredje Dr. Tóth László 2006 Bevezetés Ha számelméleti függvéyek, l. multilikatív vagy additív függvéyek agyságredjét vizsgáljuk, akkor először általába az adott függvéy

Részletesebben

Elsőbbségi (prioritásos) sor

Elsőbbségi (prioritásos) sor Elsőbbségi (prioritásos) sor Közapi fogalma, megjeleése: pl. sürgősségi osztályo a páciesek em a beérkezési időek megfelelőe, haem a sürgősség mértéke szerit kerülek ellátásra. Az operációs redszerekbe

Részletesebben

Kalkulus I. Első zárthelyi dolgozat 2014. szeptember 16. MINTA. és q = k 2. k 2. = k 1l 2 k 2 l 1. l 1 l 2. 5 2n 6n + 8

Kalkulus I. Első zárthelyi dolgozat 2014. szeptember 16. MINTA. és q = k 2. k 2. = k 1l 2 k 2 l 1. l 1 l 2. 5 2n 6n + 8 Név, Neptu-kód:.................................................................... 1. Legyeek p, q Q tetszőlegesek. Mutassuk meg, hogy ekkor p q Q. Tegyük fel, hogy p, q Q. Ekkor létezek olya k 1, k 2,

Részletesebben

Bináris keresőfák. Adat : M Elemtip és Elemtip-on értelmezett egy lineáris rendezési reláció,

Bináris keresőfák. Adat : M Elemtip és Elemtip-on értelmezett egy lineáris rendezési reláció, Bináris keresőfák Az F = (M,R,Adat) absztrakt adatszerkezetet bináris keresőfának nevezzük, ha F bináris fa, R = {bal, jobb, apa}, bal, jobb, apa : M M, Adat : M Elemtip és Elemtip-on értelmezett egy lineáris

Részletesebben

14. Mediánok és rendezett minták

14. Mediánok és rendezett minták 14. Mediánok és rendezett minták Kiválasztási probléma Bemenet: Azonos típusú (különböző) elemek H = {a 1,...,a n } halmaza, amelyeken értelmezett egy lineáris rendezési reláció és egy i (1 i n) index.

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

= λ valós megoldása van.

= λ valós megoldása van. Másodredű álladó együtthatós lieáris differeciálegyelet. Általáos alakja: y + a y + by= q Ha q = 0 Ha q 0 akkor homogé lieárisak evezzük. akkor ihomogé lieárisak evezzük. A jobb oldalo lévő q függvéyt

Részletesebben

Algoritmusok és adatszerkezetek gyakorlat 07

Algoritmusok és adatszerkezetek gyakorlat 07 Algoritmusok és adatszerkezetek gyakorlat 0 Keresőfák Fák Fa: összefüggő, körmentes gráf, melyre igaz, hogy: - (Általában) egy gyökér csúcsa van, melynek 0 vagy több részfája van - Pontosan egy út vezet

Részletesebben

Algoritmizálás. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar horvath@inf.u-szeged.hu

Algoritmizálás. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar horvath@inf.u-szeged.hu Algoritmizálás Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar horvath@inf.u-szeged.hu 4. Dinamikus programozással megoldható feladatok A dinamikus programozás elnevezés egy

Részletesebben

Hiba! Nincs ilyen stílusú szöveg a dokumentumban.-86. ábra: A példa-feladat kódolási változatai

Hiba! Nincs ilyen stílusú szöveg a dokumentumban.-86. ábra: A példa-feladat kódolási változatai közzétéve a szerző egedélyével) Öfüggő szekuder-változó csoport keresése: egy bevezető példa Ez a módszer az állapothalmazo értelmezett partíció-párok elméleté alapul. E helye em lehet céluk az elmélet

Részletesebben

Kétoldali hibás Monte Carlo algoritmus: mindkét válasz esetén hibázhat az algoritmus, de adott alsó korlát a hibázás valószínűségére.

Kétoldali hibás Monte Carlo algoritmus: mindkét válasz esetén hibázhat az algoritmus, de adott alsó korlát a hibázás valószínűségére. Véletleített algoritmusok Tegyük fel, hogy va két doboz (A,B), amely egyike 1000 Ft-ot tartalmaz, a másik üres. 500 Ft-ért választhatuk egy dobozt, amelyek a tartalmát megkapjuk. A feladat megoldására

Részletesebben

Kvantum párhuzamosság Deutsch algoritmus Deutsch-Jozsa algoritmus

Kvantum párhuzamosság Deutsch algoritmus Deutsch-Jozsa algoritmus LOGO Kvatum párhuzamosság Deutsch algoritmus Deutsch-Jozsa algoritmus Gyögyösi László BME Villamosméröki és Iormatikai Kar Bevezető Kvatum párhuzamosság Bármilye biáris üggvéyre, ahol { } { } : 0, 0,,

Részletesebben

ALGEBRA. egyenlet megoldásait, ha tudjuk, hogy egész számok, továbbá p + q = 198.

ALGEBRA. egyenlet megoldásait, ha tudjuk, hogy egész számok, továbbá p + q = 198. ALGEBRA MÁSODFOKÚ POLINOMOK. Határozzuk meg az + p + q = 0 egyelet megoldásait, ha tudjuk, hogy egész számok, továbbá p + q = 98.. Határozzuk meg az összes olya pozitív egész p és q számot, amelyre az

Részletesebben

FELADATOK A KALKULUS C. TÁRGYHOZ

FELADATOK A KALKULUS C. TÁRGYHOZ FELADATOK A KALKULUS C. TÁRGYHOZ. HALMAZOK RELÁCIÓK FÜGGVÉNYEK. Bizoyítsuk be a halmaz-műveletek alapazoosságait! 2. Legye adott az X halmaz legye A B C X. Ha A B := (A B) (B A) akkor bizoyítsuk be hogy

Részletesebben

Matematika I. 9. előadás

Matematika I. 9. előadás Matematika I. 9. előadás Valós számsorozat kovergeciája +-hez ill. --hez divergáló sorozatok A határérték és a műveletek kapcsolata Valós számsorozatok mootoitása, korlátossága Komplex számsorozatok kovergeciája

Részletesebben

Neumann János Tehetséggondozó Program Gráfalgoritmusok II.

Neumann János Tehetséggondozó Program Gráfalgoritmusok II. Neumann János Tehetséggondozó Program Gráfalgoritmusok II. Horváth Gyula horvath@inf.elte.hu 1. A szélességi bejárás alkalmazásai. Nyilvánvaló, hogy S(0) = {r}. Jelölés: D(p) = δ(r, p) Nyilvánvaló, hogy

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

A tárgy címe: ANALÍZIS 1 A-B-C (2+2). 1. gyakorlat

A tárgy címe: ANALÍZIS 1 A-B-C (2+2). 1. gyakorlat A tárgy címe: ANALÍZIS A-B-C + gyakorlat Beroulli-egyelőtleség Legye N, x k R k =,, és tegyük fel, hogy vagy x k 0 k =,, vagy pedig x k 0 k =,, Ekkor + x k + x k Speciális Beroulli-egyelőtleség Ha N és

Részletesebben

Pályázat címe: Pályázati azonosító: Kedvezményezett: Szegedi Tudományegyetem Cím: 6720 Szeged, Dugonics tér 13. www.u-szeged.hu www.palyazat.gov.

Pályázat címe: Pályázati azonosító: Kedvezményezett: Szegedi Tudományegyetem Cím: 6720 Szeged, Dugonics tér 13. www.u-szeged.hu www.palyazat.gov. Pályázat címe: Új geerációs sorttudomáyi kézés és tartalomfejlesztés, hazai és emzetközi hálózatfejlesztés és társadalmasítás a Szegedi Tudomáyegyeteme Pályázati azoosító: TÁMOP-4...E-5//KONV-05-000 Sortstatisztika

Részletesebben

Matematikai játékok. Svetoslav Bilchev, Emiliya Velikova

Matematikai játékok. Svetoslav Bilchev, Emiliya Velikova Matematikai játékok Svetoslav Bilchev, Emiliya Velikova 1. rész Matematikai tréfák A következő matematikai játékokba matematikai tréfákba a végső eredméy a játék kiidulási feltételeitől függ, és em a játékosok

Részletesebben

Prímszámok a Fibonacci sorozatban

Prímszámok a Fibonacci sorozatban www.titokta.hu D é e s T a m á s matematikus-kriptográfus e-mail: tdeest@freemail.hu Prímszámok a Fiboacci sorozatba A továbbiakba Fiboacci sorozato az alapsorozatot (u,,,3,5,...), Fiboacci számo az alapsorozat

Részletesebben

Függvényhatárérték-számítás

Függvényhatárérték-számítás Függvéyhatárérték-számítás I Függvéyek véges helye vett véges határértéke I itervallumo, ha va olya k valós szám, melyre az I itervallumo, ha va olya K valós szám, melyre I itervallumo, ha alulról és felülről

Részletesebben

1. ALGORITMUSOK MŰVELETIGÉNYE

1. ALGORITMUSOK MŰVELETIGÉNYE 1 ALGORITMUSOK MŰVELETIGÉNYE Az ismertetésre kerülő adatszerkezeteket és algoritmusokat midig jellemezzük majd a hatékoyság szempotjából Az adatszerkezetek egyes ábrázolásairól megállapítjuk a helyfoglalásukat,

Részletesebben

Dinamukus programozás

Dinamukus programozás Dinamukus programozás Horváth Gyula horvath@inf.elte.hu 2. Dinamikus programozással megoldható feladatok A dinamikus programozás elnevezés egy probléma-megoldási módszert jelöl. A módszer lényege, hogy

Részletesebben

Komplex számok (el adásvázlat, 2008. február 12.) Maróti Miklós

Komplex számok (el adásvázlat, 2008. február 12.) Maróti Miklós Komplex számok el adásvázlat, 008. február 1. Maróti Miklós Eek az el adásak a megértéséhez a következ fogalmakat kell tudi: test, test additív és multiplikatív csoportja, valós számok és tulajdoságaik.

Részletesebben

Eötvös Loránd Tudományegyetem Informatikai Kar. Analízis 1. Írásbeli tételek. Készítette: Szántó Ádám Tavaszi félév

Eötvös Loránd Tudományegyetem Informatikai Kar. Analízis 1. Írásbeli tételek. Készítette: Szántó Ádám Tavaszi félév Eötvös Lorád Tudomáyegyetem Iformatikai Kar Aalízis. Írásbeli tételek Készítette: Szátó Ádám 20. Tavaszi félév . Archimedes tétele. Tétel: a > 0 és b R : N : b < a. Bizoyítás: Idirekt úto tegyük fel, hogy

Részletesebben

Matematika B4 I. gyakorlat

Matematika B4 I. gyakorlat Matematika B4 I. gyakorlat 2006. február 16. 1. Egy-dimeziós adatredszerek Va valamilye adatredszer (számsorozat), amelyről szereték kiszámoli bizoyos dolgokat. Az egyes értékeket jelöljük z i -vel, a

Részletesebben

2. fejezet. Számsorozatok, számsorok

2. fejezet. Számsorozatok, számsorok . fejezet Számsorozatok, számsorok .. Számsorozatok és számsorok... Számsorozat megadása, határértéke Írjuk fel képlettel az alábbi sorozatok -dik elemét! mooto, korlátos, illetve koverges-e! Vizsgáljuk

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

1 k < n(1 + log n) C 1n log n, d n. (1 1 r k + 1 ) = 1. = 0 és lim. lim n. f(n) < C 3

1 k < n(1 + log n) C 1n log n, d n. (1 1 r k + 1 ) = 1. = 0 és lim. lim n. f(n) < C 3 Dr. Tóth László, Fejezetek az elemi számelméletből és az algebrából (PTE TTK, 200) Számelméleti függvéyek Számelméleti függvéyek értékeire voatkozó becslések A τ() = d, σ() = d d és φ() (Euler-függvéy)

Részletesebben

V. Deriválható függvények

V. Deriválható függvények Deriválható függvéyek V Deriválható függvéyek 5 A derivált fogalmához vezető feladatok A sebesség értelmezése Legye az M egy egyees voalú egyeletes mozgást végző pot Ez azt jeleti, hogy a mozgás pályája

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

A kurzus teljesítésének feltételei. Az I404 kódú kurzus teljesítéséhez meg kell oldani egy otthoni feladatot, határidő április 30.

A kurzus teljesítésének feltételei. Az I404 kódú kurzus teljesítéséhez meg kell oldani egy otthoni feladatot, határidő április 30. Évközi teljesítés A kurzus teljesítéséek feltételei Két gyakorlato egírt ZH, az elérhető 00 potból 50 potot kell eléri. Aki e teljesíti a feltételt a vizsgaidőszak első hetébe a vizsgára egedésért írhat

Részletesebben

6. Elsőbbségi (prioritásos) sor

6. Elsőbbségi (prioritásos) sor 6. Elsőbbségi (prioritásos) sor Közapi fogalma, megjeleése: pl. sürgősségi osztályo a páciesek em a beérkezési időek megfelelőe, haem a sürgősség mértéke szerit kerülek ellátásra. Az operációs redszerekbe

Részletesebben

Dinamikus programozás

Dinamikus programozás Dinamikus programozás Horváth Gyula horvath@inf.elte.hu 2. Dinamikus programozással megoldható feladatok A dinamikus programozás elnevezés egy probléma-megoldási módszert jelöl. A módszer lényege, hogy

Részletesebben

Nevezetes sorozat-határértékek

Nevezetes sorozat-határértékek Nevezetes sorozat-határértékek. Mide pozitív racioális r szám eseté! / r 0 és! r +. Bizoyítás. Jelöljük p-vel, illetve q-val egy-egy olya pozitív egészt, melyekre p/q r, továbbá legye ε tetszőleges pozitív

Részletesebben

Felvételi vizsga mintatételsor Informatika írásbeli vizsga

Felvételi vizsga mintatételsor Informatika írásbeli vizsga BABEȘ BOLYAI TUDOMÁNYEGYETEM MATEMATIKA ÉS INFORMATIKA KAR A. tételsor (30 pont) Felvételi vizsga mintatételsor Informatika írásbeli vizsga 1. (5p) Egy x biten tárolt egész adattípus (x szigorúan pozitív

Részletesebben

Számsorozatok. 1. Alapfeladatok december 22. sorozat határértékét, ha. 1. Feladat: Határozzuk meg az a n = 3n2 + 7n 5n létezik.

Számsorozatok. 1. Alapfeladatok december 22. sorozat határértékét, ha. 1. Feladat: Határozzuk meg az a n = 3n2 + 7n 5n létezik. Számsorozatok 2015. december 22. 1. Alapfeladatok 1. Feladat: Határozzuk meg az a 2 + 7 5 2 + 4 létezik. sorozat határértékét, ha Megoldás: Mivel egy tört határértéke a kérdés, ezért vizsgáljuk meg el

Részletesebben

10.M ALGEBRA < <

10.M ALGEBRA < < 0.M ALGEBRA GYÖKÖS KIFEJEZÉSEK. Mutassuk meg, hogy < + +... + < + + 008 009 + 009 008 5. Mutassuk meg, hogy va olya pozitív egész szám, amelyre 99 < + + +... + < 995. Igazoljuk, hogy bármely pozitív egész

Részletesebben

Innen. 2. Az. s n = 1 + q + q 2 + + q n 1 = 1 qn. és q n 0 akkor és csak akkor, ha q < 1. a a n végtelen sor konvergenciáján nem változtat az, ha

Innen. 2. Az. s n = 1 + q + q 2 + + q n 1 = 1 qn. és q n 0 akkor és csak akkor, ha q < 1. a a n végtelen sor konvergenciáján nem változtat az, ha . Végtele sorok. Bevezetés és defiíciók Bevezetéskét próbáljuk meg az 4... végtele összegek értelmet adi. Mivel végtele sokszor em tuduk összeadi, emiatt csak az első tagot adjuk össze: legye s = 4 8 =,

Részletesebben

LOGO. Kvantum-tömörítés. Gyöngyösi László BME Villamosmérnöki és Informatikai Kar

LOGO. Kvantum-tömörítés. Gyöngyösi László BME Villamosmérnöki és Informatikai Kar LOGO Kvatum-tömörítés Gyögyösi László BME Villamosméröki és Iformatikai Kar Iformációelméleti alaok összefoglalása A kódolási eljárás Az iformáció átadás hűsége és gazdaságossága a kódolástól függ Az iformáció

Részletesebben

2. Hatványsorok. A végtelen soroknál tanultuk, hogy az. végtelen sort adja: 1 + x + x x n +...

2. Hatványsorok. A végtelen soroknál tanultuk, hogy az. végtelen sort adja: 1 + x + x x n +... . Függvéysorok. Bevezetés és defiíciók A végtele sorokál taultuk, hogy az + x + x + + x +... végtele összeg x < eseté koverges. A feti végtele összegre úgy is godolhatuk, hogy végtele sok függvéyt aduk

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

Algoritmusok és adatszerkezetek II.

Algoritmusok és adatszerkezetek II. Algoritmusok és adatszerkezetek II. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar horvath@inf.u-szeged.hu 3. Kiegyensúlyozott keresőfák A T tulajdonság magasság-egyensúlyozó

Részletesebben

SZÁMELMÉLET. Vasile Berinde, Filippo Spagnolo

SZÁMELMÉLET. Vasile Berinde, Filippo Spagnolo SZÁMELMÉLET Vasile Beride, Filippo Spagolo A számelmélet a matematika egyik legrégibb ága, és az egyik legagyobb is egybe Eek a fejezetek az a célja, hogy egy elemi bevezetést yújtso az első szite lévő

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

Eötvös Loránd Tudományegyetem Informatikai Kar. Analízis 1. Írásbeli beugró kérdések. Készítette: Szántó Ádám Tavaszi félév

Eötvös Loránd Tudományegyetem Informatikai Kar. Analízis 1. Írásbeli beugró kérdések. Készítette: Szántó Ádám Tavaszi félév Eötvös Lorád Tudomáyegyetem Iformatikai Kar Aalízis 1. Írásbeli beugró kérdések Készítette: Szátó Ádám 2011. Tavaszi félév 1. Írja le a Dedekid-axiómát! Legyeek A R, B R. Ekkor ha a A és b B : a b, akkor

Részletesebben

Sorozatok, határérték fogalma. Függvények határértéke, folytonossága

Sorozatok, határérték fogalma. Függvények határértéke, folytonossága Sorozatok, határérték fogalma. Függvéyek határértéke, folytoossága 1) Végtele valós számsorozatok Fogalma, megadása Defiíció: A természetes számok halmazá értelmezett a: N R egyváltozós valós függvéyt

Részletesebben

1 n. 8abc (a + b) (b + c) (a + c) 8 27 (a + b + c)3. (1 a) 5 (1 + a)(1 + 2a) n + 1

1 n. 8abc (a + b) (b + c) (a + c) 8 27 (a + b + c)3. (1 a) 5 (1 + a)(1 + 2a) n + 1 A tárgy címe: ANALÍZIS A-B-C + gyakorlat Beroulli-egyelőtleség Ha N és h R, akkor + h + h Mikor va itt egyelőség? Léyeges-e a h feltétel? Számtai-mértai közép Bármely N és,, R, k 0 k =,, választással k

Részletesebben

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

Algoritmusok és adatszerkezetek I. 10. előadás Algortmusok és adatszerkezetek I. 10. előadás Dnamkus programozás Feladat: Adott P 1,P 2, P n pénzjegyekkel kfzethető-e F fornt? Megoldás: Tegyük fel, hogy F P P... P... m! 1 2 m 1 Ekkor F P P P P......,

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

( a b)( c d) 2 ab2 cd 2 abcd 2 Egyenlőség akkor és csak akkor áll fenn

( a b)( c d) 2 ab2 cd 2 abcd 2 Egyenlőség akkor és csak akkor áll fenn Feladatok közepek közötti egyelőtleségekre (megoldások, megoldási ötletek) A továbbiakba szmk=számtai-mértai közép közötti egyelőtleség, szhk=számtaiharmoikus közép közötti egyelőtleség, míg szk= számtai-égyzetes

Részletesebben

Dr. Tóth László, Kombinatorika (PTE TTK, 2007) nem vagyunk tekintettel a kiválasztott elemek sorrendjére. Mennyi a lehetőségek száma?

Dr. Tóth László, Kombinatorika (PTE TTK, 2007) nem vagyunk tekintettel a kiválasztott elemek sorrendjére. Mennyi a lehetőségek száma? Dr Tóth László, Kombiatoria (PTE TTK, 7 5 Kombiáció 5 Feladat Az,, 3, 4 számo özül válasszu i ettőt (ét ülöbözőt és írju fel ezeet úgy, hogy em vagyu teitettel a iválasztott eleme sorredjére Meyi a lehetősége

Részletesebben

Algoritmusok és adatszerkezetek II.

Algoritmusok és adatszerkezetek II. Algoritmusok és adatszerkezetek II. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar horvath@inf.u-szeged.hu 5. Vágható-egyesíthető Halmaz adattípus megvalósítása önszervező

Részletesebben

1. Adatok közelítése. Bevezetés. 1-1 A közelítő függvény

1. Adatok közelítése. Bevezetés. 1-1 A közelítő függvény Palácz Béla - Soft Computig - 11-1. Adatok közelítése 1. Adatok közelítése Bevezetés A természettudomáyos feladatok megoldásához, a vizsgált jeleségek, folyamatok főbb jellemzői közötti összefüggések ismeretére,

Részletesebben

Algoritmusok helyességének bizonyítása. A Floyd-módszer

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

Programok értelmezése

Programok értelmezése Programok értelmezése Kód visszafejtés. Izsó Tamás 2016. szeptember 22. Izsó Tamás Programok értelmezése/ 1 Section 1 Programok értelmezése Izsó Tamás Programok értelmezése/ 2 programok szemantika értelmezése

Részletesebben

Programozási segédlet

Programozási segédlet Programozási segédlet Programozási tételek Az alábbiakban leírtam néhány alap algoritmust, amit ismernie kell annak, aki programozásra adja a fejét. A lista korántsem teljes, ám ennyi elég kell legyen

Részletesebben

Diszkrét matematika II., 3. előadás. Komplex számok

Diszkrét matematika II., 3. előadás. Komplex számok 1 Diszkrét matematika II., 3. előadás Komplex számok Dr. Takách Géza NyME FMK Iformatikai Itézet takach@if.yme.hu http://if.yme.hu/ takach/ 2007. február 22. Komplex számok Szereték kibővítei a valós számtestet,

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

2.5. A lineáris kongruencia egyenlet.

2.5. A lineáris kongruencia egyenlet. 2.5. A lieáris kogruecia egyelet. Defiíció: Kogruecia Az a és b egész számokat kogruesek modjuk az modulus szerit, ha az szeriti osztás utái maradékaik megegyezek, vagy ami ugyaaz: ha. Jelölésbe: a bmod.

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

A számítástudomány alapjai. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem

A számítástudomány alapjai. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem A számítástudomány alapjai Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem Bináris keresőfa, kupac Katona Gyula Y. (BME SZIT) A számítástudomány

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

Lineáris kódok. u esetén u oszlopvektor, u T ( n, k ) május 31. Hibajavító kódok 2. 1

Lineáris kódok. u esetén u oszlopvektor, u T ( n, k ) május 31. Hibajavító kódok 2. 1 Lieáris kódok Defiíció. Legye SF q. Ekkor S az F q test feletti vektortér. K lieáris kód, ha K az S k-dimeziós altere. [,k] q vagy [,k,d] q. Jelölések: F u eseté u oszlopvektor, u T (, k ) q sorvektor.

Részletesebben

Lineáris egyenlet. Lineáris egyenletrendszer. algebrai egyenlet konstansok és első fokú ismeretlenek pl.: egyenes egyenlete

Lineáris egyenlet. Lineáris egyenletrendszer. algebrai egyenlet konstansok és első fokú ismeretlenek pl.: egyenes egyenlete Lieáris egyelet algebrai egyelet kostasok és első fokú ismeretleek pl.: egyees egyelete Lieáris egyeletredser y a b lieáris egyeletek csoportja ugya ao a váltoó halmao Lieáris egyeletredser B b B b B b

Részletesebben

NÉMETH LÁSZLÓ VÁROSI MATEMATIKA VERSENY 2013 HÓDMEZŐVÁSÁRHELY OSZTÁLY ÁPRILIS 8.

NÉMETH LÁSZLÓ VÁROSI MATEMATIKA VERSENY 2013 HÓDMEZŐVÁSÁRHELY OSZTÁLY ÁPRILIS 8. . feladat: Eg 5 fős osztálba va fiú és 4 lá. z iskolai bálo (fiú-lá) pár fog tácoli. Háféleképpe tehetik ezt meg? párok sorredje em számít, viszot az, hog ki kivel tácol, az már ige. (0 pot) Válasszuk

Részletesebben

Lajkó Károly Kalkulus I. példatár mobidiák könyvtár

Lajkó Károly Kalkulus I. példatár mobidiák könyvtár Lajkó Károly Kalkulus I. példatár mobidiák köyvtár Lajkó Károly Kalkulus I. példatár mobidiák köyvtár SOROZATSZERKESZTŐ Fazekas Istvá Lajkó Károly Kalkulus I. példatár programozó és programtervező matematikus

Részletesebben

2.1. A sorozat fogalma, megadása és ábrázolása

2.1. A sorozat fogalma, megadása és ábrázolása 59. Számsorozatok.. A sorozat fogalma, megadása és ábrázolása.. Defiíció. Azokat az f : N R valós függvéyeket, melyek mide természetes számhoz egy a valós számot redelek hozzá, végtele számsorozatokak,

Részletesebben

Eseme nyalgebra e s kombinatorika feladatok, megolda sok

Eseme nyalgebra e s kombinatorika feladatok, megolda sok Eseme yalgebra e s kombiatorika feladatok, megolda sok Szűk elméleti áttekitő Kombiatorika quick-guide: - db. elemből db. sorredjeire vagyuk kívácsiak: permutáció - db. elemből m < db. háyféleképp rakható

Részletesebben

Járattípusok. Kapcsolatok szerint: Sugaras, ingajárat: Vonaljárat: Körjárat:

Járattípusok. Kapcsolatok szerint: Sugaras, ingajárat: Vonaljárat: Körjárat: Járattípusok Kapcsolatok szerit: Sugaras, igaárat: Voalárat: Körárat: Targocás árattervezés egyszerű modelle Feltételek: az ayagáram determiisztikus, a beszállítási és kiszállítási időpot em kötött a

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

min{k R K fels korlátja H-nak} a A : a ξ : ξ fels korlát A legkisebb fels korlát is:

min{k R K fels korlátja H-nak} a A : a ξ : ξ fels korlát A legkisebb fels korlát is: . A szupréum elv. = H R felülr l körlátos H fels korlátai között va legkisebb, azaz A és B a A és K B : a K Ekkor ξ-re: mi{k R K fels korlátja H-ak} } a A : a ξ : ξ fels korlát A legkisebb fels korlát

Részletesebben

Bevezető analízis II. példatár

Bevezető analízis II. példatár Bevezető aalízis II. példatár Gémes Margit, Szetmiklóssy Zoltá Eötvös Lorád Tudomáyegyetem Természettudomáyi Kar Matematikai Itézet 06. ovember 3. Tartalomjegyzék. Bizoyítási módszerek, valós számok 3..

Részletesebben

f (M (ξ)) M (f (ξ)) Bizonyítás: Megjegyezzük, hogy konvex függvényekre mindig létezik a ± ben

f (M (ξ)) M (f (ξ)) Bizonyítás: Megjegyezzük, hogy konvex függvényekre mindig létezik a ± ben Propositio 1 (Jese-egyelőtleség Ha f : kovex, akkor tetszőleges ξ változóra f (M (ξ M (f (ξ feltéve, hogy az egyelőtleségbe szereplő véges vagy végtele várható értékek létezek Bizoyítás: Megjegyezzük,

Részletesebben

2. gyakorlat - Hatványsorok és Taylor-sorok

2. gyakorlat - Hatványsorok és Taylor-sorok . gyakorlat - Hatváysorok és Taylor-sorok 9. március 3.. Adjuk meg az itt szereplő sorok kovergeciasugarát és kovergeciaitervallumát! + a = + Azaz a hatváysor kovergeciasugara. Az biztos, hogy a (-,) yílt

Részletesebben

(d) x 6 3x 2 2 = 0, (e) x + x 2 = 1 x, (f) 2x x 1 = 8, 2(x 1) a 1

(d) x 6 3x 2 2 = 0, (e) x + x 2 = 1 x, (f) 2x x 1 = 8, 2(x 1) a 1 . Bevezető. Oldja meg az alábbi egyeleteket: (a cos x + si x + cos x si x = (b π si x = x π 4 x 3π 4 cos x (c cos x + si x = si x (d x 6 3x = 0 (e x + x = x (f x + 5 + x = 8 (g x + + x + + x + x + =..

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

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

Algoritmizálás Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar horvath@inf.u-szeged.hu 2. Rekurzió 2.1. Feladat: Sorbaállítások száma Hány féleképpen lehet sorbaállítani az

Részletesebben

Felépítés Típus 955010/ Konfigurálás setup programmal. Mérési adatok kiolvasása

Felépítés Típus 955010/ Konfigurálás setup programmal. Mérési adatok kiolvasása JUMO Meß- ud Regelgeräte GmbH A-1232 Wie, Pfarrgasse 48 Magyarországi Kereskedelmi Képviselet Telefo: 00-43-1 / 61-061-0 H-1147 Budapest Öv u. 143. Fax: 00-43-1 / 61-061-59 Telefo/fax: 00-36-1 / 467-0835,

Részletesebben

LINEÁRIS PROGRAMOZÁSI FELADATOK MEGOLDÁSA SZIMPLEX MÓDSZERREL

LINEÁRIS PROGRAMOZÁSI FELADATOK MEGOLDÁSA SZIMPLEX MÓDSZERREL LINEÁRIS PROGRAMOZÁSI FELADATOK MEGOLDÁSA SZIMPLEX MÓDSZERREL x 1-2x 2 6 -x 1-3x 3 = -7 x 1 - x 2-3x 3-2 3x 1-2x 2-2x 3 4 4x 1-2x 2 + x 3 max Alapfogalmak: feltételrendszer (narancs színnel jelölve), célfüggvény

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