• Ei tuloksia

581336 Laskennan teoria (kevät 2006) Harjoitus 8 (28.-31.3.)

N/A
N/A
Info
Lataa
Protected

Academic year: 2022

Jaa "581336 Laskennan teoria (kevät 2006) Harjoitus 8 (28.-31.3.)"

Copied!
1
0
0

Kokoteksti

(1)

581336 Laskennan teoria (kevät 2006) Harjoitus 8 (28.-31.3.)

1. (a) Osoita, että jos A pmB ja B pmC, niin A pmC.

(b) Jos on osoitettu A pmB ja lisäksi tiedetään, että ongelma A on NP-täydellinen, niin mitä voidaan päätellä ongelmasta B?

(c) Jos on osoitettu A pmB ja lisäksi tiedetään, että ongelma B on NP-täydellinen, niin mitä voidaan päätellä ongelmasta A?

2. (a) Osoita, että jos A 2 P niin A pmB kaikilla B 62 f ;; g.

(b) Jos pätisi P = NP, niin mitkä kielet olisivat NP-täydellisiä?

3. Sanomme, että kaksi verkkoa G1 = (V1; E1) ja G2= (V2; E2) ovat isomorset, jos on olemassa bijektio f: V1 ! V2, jolle (u; v) 2 E1 jos ja vain jos (f(u); f(v)) 2 E2. Siis G1 ja G2 ovat isomorset, jos ne ovat solmujen nimiä lukuunottamatta sama verkko. Verkon G = (V; E) osaverkkoja ovat verkot G0 = (V0; E0), joilla V0 V ja E0 E.

Tehtävänä on osoittaa, että seuraava osaverkkoisomoraongelma (Subgraph Isomorphism, SI) on NP-täydellinen:

Annettu: kaksi suuntaamatonta verkkoa G1= (V1; E1) ja G2= (V2; E2)

Kysymys: onko verkko G1 isomornen verkon G2 jokin osaverkon kanssa, ts. onko olemassa U V2 ja bijektio f: V1! U, joille (f(u); f(v)) 2 E2 aina kun (u; v) 2 E1.

Tehdään tämä vaiheittain palautuksena luennolla esitetystä klikkiongelmasta (Clique), jonka NP-täydellisyys oletetaan tunnetuksi.

(a) Osoita, että SI 2 NP.

(b) Vielä pitää muodostaa palautus ongelmasta Clique ongelmaan SI. Kuvaa, minkä tyyppisiä arvoja tällainen palautus saa syötteenään ja millaisia palauttaa, ja mitä ehtoja sen pitää toteuttaa.

(c) Esitä varsinainen palautus ja osoita, että se toteuttaa kohdan (b) ehdot.

Voit merkitä tehtävän tehdyksi, vaikka et olisi keksinyt ratkaisua kohtaan (c).

4. Osoita, että jos SAT 2 P, niin on olemassa polynomisessa ajassa toimiva algoritmi, joka löy- tää annetulle toteutuvalle kaavalle (x1; : : : ; xn) sen toteuttavat muuttujien arvot (ts. jonon (v1; : : : ; vn) 2 f 0; 1 gn jolla (v1; : : : ; vn) = 1).

Vihje: jos (x1; x2; : : : ; xn) on toteutuva, niin ainakin toinen kaavoista (0; x2; : : : ; xn) ja (1; x2; : : : ; xn) on toteutuva.

Viittaukset

LIITTYVÄT TIEDOSTOT

Oletetaan, että ohjelmat (oikeammin niiden C-kieliset lähdekoodit) ja syötteet ovat (esim.) ASCII- merkistön merkkijonoja. Ohjelma ja syöte on pystyttävä erottamaan toisistaan

Kysymys: kun Turingin kone M suorittaa laskennan syötteellä x, niin siirtyykö se koskaan tilaan numero 52. Jos sinulla olisi algoritmi tämän ongelman ratkaisemiseksi, miten

Palautus tapahtuu muuttamalla syötteenä saadun koneen M w tilojen numerointia niin, ettei tilaa numero 5 käytetä mihinkään, ja vaihtamalla kaikki siirtymät johonkin lopputilaan

Osoita, että ongelma Siirtääkö annettu Turingin kone annetulla syötteellä koskaan nauhapää- tään vasemmalle on ratkeava1. (Vihje: palautus (a)-kohdan ongelmasta.)

Tehdään taas vastaoletus, että proseduuri Minimoi(M) palauttaa tilamäärältään pienimmän Turingin koneen, joka hyväksyy saman kielen kuin M ja käyttää samaa

Koska algoritmi voi tuottaa minkä tahansa osajoukon A, se löytää myös tällaisen osajoukon, jos sellainen on olemassa.. Toisaalta algoritmi ei hyväksy syötettä, ellei se löydä

Sanomme, että palautusfunktion syötteitä ovat muotoa hG; ki olevat merkkijonot, ja tulos- teita muotoa hG 1 ; G 2 i olevat merkkijonot... Polynomisen laskenta-ajan takaa se,

Voit merkitä teh- tävän tehdyksi, vaikka viimeinen vaihe