20.11.2012 Views

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

SHOW MORE
SHOW LESS

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.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!