Algoritmuselmélet
Papp László <www.cs.bme.hu/ ∼ lazsa>
2015. tavasz 13. gyakorlat
1. Állapítsuk meg, hogy az alábbi probléma az NP, coNP és P osztályok közül melyekben van benne:
Adott egyG gráf és egy e éle. Létezik-e G-bene-t tartalmazó kör?
2. A G irányítatlan gráf minden x pontjához tartozik egy s(x) ∈ Z súly. Célunk, hogy olyan feszít®fát találjunk a gráfban, amiben a levelekhez tartozó súlyok összege minimá- lis. Fogalmazzuk meg a feladathoz tartozó eldöntési problémát, majd lássuk be, hogy a probléma NP-teljes! Segítség: Adjunk Karp redukciót a Hamilton-út problémáról erre a problémára!
3. Tegyük fel, hogy van egy olyan P eljárásunk, ami egy input G gráfra és k számra 1 lépés alatt megmondja, hogy van-e G-ben legalább k méret¶ független ponthalmaz.
(a) Tervezz olyan, a P eljárást használó algoritmust, ami polinom id®ben kiszámolja α(G)-t, a független pontok maximális számát!
(b) Tervezz olyan, a P eljárást használó algoritmust, amely polinom id®ben talál egy α(G)méret¶ független ponthalmazt!
(c) Tervezz olyan, a P eljárást használó algoritmust, amely polinom id®ben talál egy ω(G) méret¶ maximális klikket!
4. A Kn teljes gráf minden éléhez tartozik egy c(e) ∈ Z súly. Szeretnénk egy minden csúcson átmen® minimális költség¶ kört találni. Fogalmazzuk meg a feladatot eldöntési problémaként, majd lássuk be, hogy a probléma NP-teljes!
5. Bizonyítsa be, hogy P-ben eldönthet® az alábbi probléma: Van-eG-nek olyan színezése a piros, kék, zöld, sárga színekkel úgy, hogy pontosan egy csúcs legyen piros és pontosan két csúcs kék.
6. Tegyük fel, hogy van egyP programunk, amely egy n csúcsú G gráfról egy id®egység alatt megmondja, hogy az kiszínezhet®-e 3 színnel. Tervezz olyan P-t használó algo- ritmust, amely polinom id®ben megtaláljaGegy 3 színnel való színezését (ha van ilyen egyáltalán)!
7. Tekintsük a következ® problémát: Adottak az a1, a2, . . . , an számok. Felosztható-e ez azn darab szám3részre úgy, hogy mindhárom részben ugyan annyi a számok összege?
Lássuk be, hogy ez a probléma NP-teljes!
8. Igazoljuk, hogy ha egy polinomiális lépésszámúA algoritmus konstans sokszor meghív egy polinomiális B algoritmust akkor az A algoritmus is polinomális! Viszont ha B-t polinom sokszor hívjuk meg, akkor az így kapott algoritmus exponenciális is lehet!
Lehet®leg ne innen készüljünk algel vizsgára: http://index.hu/tudomany/msweeper/