15 giugno 2017, prova 14
Rispondi prima di leggere la spiegazione. I termini sottolineati offrono un aiuto rapido.
- 1
È vero che 3-COL non è 3-EXP-hard?
- 2
Supponiamo VALIDITY riducibile a TSP(D). È vero che EXACT TSP non è -completo?
- 3
?
- 4
Le risposte a TSP(D) ammettono certificati succinti?
- 5
: è noto un metodo per ridurre l'errore in tempo polinomiale?
- 6
È vero che non appartiene a ?
- 7
TSP(D) è -hard?
Programmare una MdT che incrementa di 1 una cifra binaria
| # | Stato | Legge | Nuovo stato | Scrive | Mossa | Commento | ||
|---|---|---|---|---|---|---|---|---|
| 1 | ||||||||
| 2 | ||||||||
| 3 |
Da controllare
- Riga 3: lo stato q non ha righe: lì la macchina si blocca e rigetta
Prossima transizione (riga 1): δ(s, ▷) = (s, ▷, →) · supera l'inizio del nastro
La macchina deve aggiungere 1 al numero binario sul nastro. Parti dall'ultima cifra e vai a sinistra: ogni 1 diventa 0, il primo 0 diventa 1 e il calcolo termina.
Se trovi solo 1, serve una cifra in più: scrivi 1 all'inizio e aggiungi uno 0 in coda, come in .
| commento | |||
|---|---|---|---|
| fine input, inizia il riporto | |||
| , il riporto continua | |||
| riporto assorbito, fine | |||
| overflow | |||
| la prima cifra diventa 1 | |||
| scorre le altre cifre | |||
| aggiunge lo 0 in coda |
Traccia su input 11 (= 3):
▷ 1 1 [⊔] s : fine input, torno indietro
▷ 1 [1] ⊔ q : 1 + riporto = 0, il riporto continua
▷ [1] 0 ⊔ q : di nuovo 1 → 0
[▷] 0 0 ⊔ q : sono all'inizio: overflow
▷ [0] 0 ⊔ o : la prima cifra diventa 1
▷ 1 [0] ⊔ o' : scorro a destra
▷ 1 0 [⊔] o' : scrivo lo 0 finale e mi fermo
▷ 1 0 0 risultato 100 = 4 ✔
La stessa traccia con le configurazioni
Una configurazione descrive un istante: è lo stato, è ciò che sta a sinistra della testina, compreso il simbolo letto, e è ciò che sta a destra. Per esempio vuol dire che la macchina è nello stato , la testina legge l'1 e a destra ci sono .
Il simbolo vuol dire "in zero o più passi" (qui i passi di "vai in fondo") e è la stringa vuota. L'output è 100 ✔.
Nella tabella sono sottintese le righe del blocco «vai in fondo»: e . La macchina va in fondo all'input e, sulla prima cella vuota, comincia la parte propria di ogni esercizio.
Eseguila passo per passo
Prossima transizione: δ(s, ▷) = (s, ▷, →) · supera l'inizio del nastro
Mostra il codice della soluzione
s ▷ -> s ▷ R # supera l'inizio del nastro s b -> s b R # vai in fondo s ⊔ -> q ⊔ L # fine input, inizia il riporto q 1 -> q 0 L # 1 + riporto = 0, il riporto continua q 0 -> h 1 S # riporto assorbito, fine q ▷ -> o ▷ R # overflow o 0 -> o' 1 R # la prima cifra diventa 1 o' 0 -> o' 0 R # scorre le altre cifre o' ⊔ -> h 0 S # aggiunge lo 0 in coda