• Ei tuloksia

581336 Laskennan teoria (kevät 2006) Harjoitus 9 (4.-7.4.)

N/A
N/A
Info
Lataa
Protected

Academic year: 2022

Jaa "581336 Laskennan teoria (kevät 2006) Harjoitus 9 (4.-7.4.)"

Copied!
1
0
0

Kokoteksti

(1)

581336 Laskennan teoria (kevät 2006) Harjoitus 9 (4.-7.4.)

1. (a) Onko universaalikieli Lu NP-täydellinen? Entä NP-kova? Perustele.

(b) Onko seuraava ongelma ratkeava:

Annettu: Turingin kone M

Kysymys: onko kieli L(M) NP-täydellinen Perustele.

2. Muodosta propositiologiikan kaavaa

((x1_ x3_ :x4) ^ x2) _ (:x3^ (:x1_ x4)) _ (x1^ x3)

vastaava CNF-kaava luentojen sivuilla 233234 esitetyllä menetelmällä, ja tästä edelleen 3-CNF- kaava sivuilla 241243 esitetyllä konstruktiolla. Alkuperäinen kaava on toteutuva; eräs sen toteut- tava muuttujien arvoasetus on (x1; x2; x3; x4) = (0; 1; 1; 0). Millaiset toteuttavat arvoasetukset tästä saadaan muunnetuille kaavoille?

3. Osoita, että klikkiongelma (Clique) on NP-täydellinen. Voit olettaa tunnetuksi, että riippuma- ton joukko -ongelma (IS) on NP-täydellinen.

Vihje: Solmujoukko U V on riippumaton verkossa (V; E), jos ja vain jos U on klikki komple- menttiverkossa (V; E). (Tässä (u; v) 2 E joss (u; v) 62 E.)

4. Osoita, että seuraava joukkopeiteongelma (Set Cover) on NP-täydellinen:

Annettu: perusjoukko X = f x1; : : : ; xng, kokoelma R = f S1; : : : ; Skg osajoukkoja Si X sekä luonnollinen luku c

Kysymys: sisältääkö kokoelma R kokoa c olevan joukkopeitteen; ts. onko olemassa I f 1; : : : ; k g, jolla [i2ISi= X ja jIj = c.

Voit pitää tunnettuna, että solmupeiteongelma (Vertex Cover) on NP-täydellinen.

Vihje: Aseta X vastaamaan solmupeiteongelman kaarten joukkoa E ja jokaista solmua v 2 V vastaamaan sopivasti valittu joukko Si.

Tehtävissä 3 ja 4 jaa todistus vaiheisiin samoin kuin edellisen kerran tehtävässä 3. Voit merkitä teh- tävän tehdyksi, vaikka viimeinen vaihe olisi tekemättä.

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ä

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ä

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,