Kis-Benedek Ágnes Dinamikus programozás a gráfelméletben
Kis-Benedek Ágnes Dinamikus programozás a gráfelméletben
Kis-Benedek Ágnes Dinamikus programozás a gráfelméletben
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
4.4 MINIMÁLIS HÁROMSZÖGEKRE BONTÁS 31<br />
A feladat optimumát fn(b) adja.<br />
f0(d) = 0, a további fk(d)-k értékét pedig az alábbi módon számíthatjuk ki:<br />
fk(d) = fk−1(d), ha ak > d, mivel ekkor a k-adik tárgyat továbbra sem tudjuk<br />
felhasználni, illetve fk(d) = max{fk−1(d), fk−1(d − ak) + ck}, ha ak ≤ d, mivel ekkor<br />
vagy továbbra sem használjuk a k-adik tárgyat, vagy felhasználjuk, de akkor a többi<br />
tárgy számára fennmaradó hely csökken a k-adik súlyával.<br />
Az algoritmus O(nb) lépésszámú, mivel egy adott fk kiszámításához konstans<br />
sok összeadás és összehasonlítás szükséges.<br />
Egészértékû hátizsák feladat:<br />
A fenti feladatot módosíthatjuk úgy, hogy egy tárgyat korlátlan darabszámban<br />
felhasználhatunk, azaz most x ∈ N n .<br />
Ekkor a feladatot meg lehetne önállóan is oldani (lásd: [6]), de most érdekesebb,<br />
hogy visszavezethető súlyozott intervallum problémára is.<br />
Az intervallumrendszerbe [0, b] intervallumba eső intervallumok kerülhetnek. Az<br />
i-edik tárgynak feleljen meg egy ai hosszúságú, ci súlyú intervallum, amit minden<br />
lehetséges végpontból felmérünk. Tehát először a v0 = 0-ból mérjünk fel az összes<br />
tárgynak megfelelő intervallumokat, és vegyük hozzá a végpontok halmazához az<br />
újonnan keletkezett vj-ket. A következő lépésben mérjünk fel v1-ből minden lehet-<br />
séges intervallumot, stb, egészen addig, míg már nem mérhető fel több [0, b]-be eső<br />
intervallum. Egy maximális diszjunkt részintervallum-rendszer keresése megfelel az<br />
egészértékű hátizsákfeladat megoldásának, ugyanis a [0, b]-beliség és a diszjunktság<br />
jelenti a kapacitás figyelembe vételét, a súlyozás és a részrendszer optimális volta<br />
pedig az optimális tárgyak kiválasztását.<br />
4.4. Minimális háromszögekre bontás<br />
Feladat: Adott egy P = (v0, . . . , vn) poligon, és egy w súlyfüggvény az oldalak és<br />
átlók által meghatározott háromszögeken. Ennek a poligonnak egy minimális összsú-<br />
lyú háromszögekre bontását, vagyis triangulizációját keressük.