• Non ci sono risultati.

(seconda parte)

N/A
N/A
Protected

Academic year: 2021

Condividi "(seconda parte)"

Copied!
8
0
0

Testo completo

(1)

Lezione n.

Parole chiave:

Corso di Laurea:

Codice:

Email Docente:

A.A. 2008-2009

Aniello Murano

NP- Completezza (seconda parte)

15 Np-completezza

Informatica

murano@ na.infn.it

Definizione di NP- COMPLETEZZA

Si ricordi che un linguaggio B è NP- complete se soddisfa le seguenti due condizioni:

1. B è in NP,

2. Ogni linguaggio in NP è riducibile in tempo polinomiale a B. (hardness)

(2)

Teorema di Cook- Levin inizio

Teorema: SAT è in NP-complete . Dimostrazione:

[Appartenenza a NP]: Che SAT NP è ovvio (esercizio per gli studenti).

[Hardness]: Dimostriamo adesso che ogni linguaggio A in NP è riducibile in tempo polinomiale a SAT.

Sia A un arbitrario linguaggio tale che A NP.

Sia N la macchina di Turing non deterministica che decide A.

Se A NP, allora il tempo di esecuzione di N è dell ordine di nk, dove n è la dimensione dell input.

Mostriamo come trasformare una stringa w in una formula booleana che

"simula" N su input w, nel senso che è soddisfacibile se e solo se N accetta w.

Teorema di Cook- Levin : Tableaux

Un tableau per N su w è una tabella

n

k

n

k le cui righe sono le configurazioni di un ramo di calcolo di N su input w = w1... wn. La prima e ultima colonna contengono solo # .

Un tableau è accettante se una delle sue righe è una configurazione accettazione.

Ogni tableau accettante per N su w corrisponde ad un ramo accettante di N su input W.

Quindi, determinare se N accetta w equivale a determinare se c è un tableau accettante per N su w.

I configurazione (start)

#

#

#

#

#

#

#

#

q

0

w

1

w

2

w

n

- -

II configurazione

n

k

-cononfigurazione finestra

n

k

III configurazione

-

(3)

Teorema di Cook- Levin :

Sia Cl'insieme Q {#}, dove Q è l'insieme degli stati di N e è l alfabeto del nastro.

Cè dunque l'insieme di tutti i possibili contenuti delle celle del tableau.

La cella nella riga i e colonna j è chiamata cell[i,j].. Per ogni cella e per ogni s C, si crea una variabile booleana xi,j,s. Il suo significato è la cell[i,j] contiene il simbolo s".

La formula si costruisce con queste variabili nel modo seguente:

=

cell start move accept

cellasserisce che ciascuna cella contiene esattamente un simbolo

startasserisce che la prima riga è la configurazione iniziale su input w

moveasserisce che le righe sono create legate le une dalle altre in conformità con la funzione di transizione.

acceptasserisce che una cella contiene uno stato di accettazione.

quindi asserisce che il tableau è un ramo di accettazione della computazione, ovvero che w A.

#

#

#

#

#

#

q

0

w

1

w

2

w

n

- - -

w

n

w

n

- -

- -

- -

q

7

w

2

w

1

w

1

$ q

5

w

3

w

3

w

3

Teorema di Cook- Levin : cell

cell

ci garantisce che ciascuna cella contiene esattamente un simbolo

cell[i,j]contiene il simbolo s = xi,j,s

cell[i,j]contiene almeno un simbolo =

cell[i,j]non contiene sia s et =

cell[i,j]contiene al più un simbolo =

Ciascuna cell[i,j]contiene esattamente un simbolo

( x

i,j,s

)

s C

(x i,j,s x i,j,t )

( (x i,j,s x i,j,t ) )

s,t C s t

[ (

s C

x

i,j,s

) (

s,t C

(x i,j,s x i,j,t ) ) ]

s t

1 i,j n

k

cell

(4)

Teorema di Cook- Levin : start

start

asserisce che la prima riga è la configurazione iniziale su input w

# q

0

w

1

w

2

w

n

- - - # I configurazione (start)

cell[1,1] contiene # = x 1,1,#

cell[1,2] contiene q 0 = x 1,2,q

0

start =

x 1,1,# x 1,2,q

0

x 1,3,w

1

x 1,4,w

2

x 1,n+2,w

n

x 1,n+3, - x 1,n

k

-1, - x 1,n

k

,#

Teorema di Cook- Levin : accept

accept asserisce che una delle celle contiene lo stato di accept

cell[i,j] contiene q accept = x i,j,q

accept

accept = x i,j,q

accept

1 i,j n

k

Nota: Il controllo che ogni riga del tableau contiene esattamente un solo stato è garantita

dalla formula

move

definita nelle prossime diapositive

(5)

Teorema di Cook- Levin : finestre (windws)

1 2 3 j

la finestra (i,j).

Si noti che cell[i,j]=a

2

1

2 3

i

...

a

1

a

2

a

3

a

4

a

5

a

6

...

Il contenuto di una finestra è legale se il suo contenuto può apparire in un tableau possibile per N.

Teorema di Cook- Levin : esempi di finestre legali e non

Sia la funzione di transizione di N, assumiamo di avere (q 1 ,a) = {(q 1 ,b,R)} e (q 1 ,b) = {(q 2 ,c,L),(q 2 ,a,R)}.

Le seguenti finestre sono legali o illegali?

q

1

q

2

a b

a c

q

1

a

a b

a q

2

a a

a q

1

a b

b

#

# a

b a

b a

a a

b q

2

b c

b b

b b

b a

a a

a a

q

1

q

1

a b

a a

q

1

q

2

b b

b q

2

(6)

Il teorema di Cook- Levin: Domanda sulle Windows

Claim: Se la riga superiore del tableau è la configurazione iniziale e tutte le finestre nel tableau sono legali, allora ogni riga del tableau è una configurazione che legalmente segue quella precedente.

Dimostrazione:

Si prendano in esame ogni due righe adiacenti (configurazioni).

Nella configurazione superiore, ogni cella che non è adiacente al simbolo di uno stato e non contiene il simbolo di limite # è il simbolo di una cella in una finestra di tre celle la cui parte centrale non è interessata da transizioni di N.

Pertanto quel simbolo centrale, in una finestra legale, non deve cambiare nella parte inferiore della finestra.

La finestra superiore che invece contiene nella parte centrale uno stato, sicuramente sarà interessato da una transizione.

Le corrispondenti tre posizioni nella parte inferiore saranno aggiornate in base alla funzione di transizione.

Pertanto, se la configurazione superiore è una configurazione legale, allora è una configurazione legale anche quella inferiore

b

?

x y

b ?

q

1

Teorema di Cook- Levin : move

move

afferma che le righe sono legate le une alle altre in accordo alla funzione di transizione.

Una 6-tupla (a

1

, a

2

, a

3

, a

4

, a

5

, a

6

) di simboli da C è una finestra legale se rispetta le proprietà descritte precedentemente.

Si noti che il numero di 6-tuple legali è fisso e non dipende da w.

Il numero massimo di 6-tuple legali è |C|

6 .

a

2

a

1

a

3

a

4

a

5

a

6

il contenuto della finestra la cui prima riga è centrata su cell[i,j] è (a

1

, ,a

6

)

la finestra ( i,j) è legale

(a

1

, ,a

6

) is legal

move =

1 i n

k

-1 2 j n

k

(la finestra (i,j) è legale)

( x i,j-1,a

1

x i,j,a

2

x i,j+1,a

3

x i+1,j-1,a

4

x i+1,j,a

5

x i+1,j+1,a

6

)

(7)

La nostra riduzione costruisce e la sua complessità di tempo è asintoticamente la stessa della dimensione di .

E importante verificare che questa dimensione è polinomiale nella dimensione n macchina di Turing N.

Per la costruzione data, è sufficiente verificare la polinomialità (in n) dei quattro congiunzioni di .

Qual è la taglia di start ?

Qual è la taglia di accept ?

Qual è la taglia di cell ?

Qual è la taglia di move ?

La complessità della riduzione risulta essere O(n

2k

), dunque la riduzione è polinomiale.

Nota: Se invece delle finestre avessimo preso in considerazione due intere configurazioni,

allora la complessità di move sarebbe stata di C

n k

, dunque esponenziale

(8)

This document was created with Win2PDF available at http://www.win2pdf.com.

The unregistered version of Win2PDF is for evaluation or non-commercial use only.

This page will not be added after purchasing Win2PDF.

Riferimenti

Documenti correlati

Dalle prime esplorazioni di territori sconosciuti l'uomo è sempre tornato con una mappa, spesso approssimativa, talvolta sbagliata, eppure capace di orientare nuove

Cerchia in ogni numero la cifra che corri- sponde all’unità di misura. www appuntamento con

Tra esse possiamo scegliere quella giusta con l’analisi

Jung ha fornito un esempio particolarmente elo- quente delle diverse forme di significato del sim- bolo nel suo studio sull'Albero filosofico (21). La croce, la ruota, la stella

Jung ha fornito un esempio particolarmente elo- quente delle diverse forme di significato del sim- bolo nel suo studio sull'Albero filosofico (21). La croce, la ruota, la stella

In questo modo si chiariscono i due diversi dinamismi anche da un altro punto di vista: il dinamismo omeostatico del simbolo sinizetico è fondato sulla necessità e appartiene

L'architettura difatti può essere letta solo in quanto essa esprime con la sua « forma » (fisica e 'simbolica) il senso che gli uomini attribuiscono a quella « funzione » nel tempo

Se il simbolo freudiano rimanda a quella parte della vita psichica (la rappresentanza della pulsione) che egli maschera nel tentativo di evocarla senza troppo turbamento per