23 giugno 2020, versione 3
Rispondi prima di leggere la spiegazione. I termini sottolineati offrono un aiuto rapido.
- 1
Assumiamo che DP e PH coincidano. Dire se CIRC SAT è -hard
- 2
Dire se
- 3
È vero che SCHÖNFINKEL-BERNAYS SAT non è -hard?
- 4
Dire se L e NL coincidono
- 5
Per ripristinare in ambito quantistico la complessità classica degli attacchi a forza bruta alla crittografia simmetrica, basta raddoppiare la lunghezza delle chiavi
- 6
I problemi risolubili in tempo polinomiale con un algoritmo quantistico a errore limitato richiedono, su di un calcolatore tradizionale, spazio
- 7
È falso che
Programmare una MdT che accetta le stringhe tali che e sono interi in binario della stessa lunghezza e
| # | Stato | Legge₁ | Legge₂ | Nuovo stato | Scrive₁ | Mossa₁ | Scrive₂ | Mossa₂ | Commento | ||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 |
Prossima transizione (riga 1): δ(s, ▷, ▷) = (s, ▷, →, ▷, →) · supera l'inizio dei due nastri
La macchina deve accettare l'input x;y se i due numeri binari hanno la stessa lunghezza e . Con 2 nastri, copia sul secondo nastro, riporta la testina all'inizio e confronta e da sinistra: la prima coppia di bit diversi decide quale numero è maggiore.
Lo stato significa «finora uguali», lo stato significa « è già minore». Le testine devono arrivare insieme alla fine dei due numeri: se le lunghezze sono diverse, la macchina rifiuta.
| Stato | letto₁ () | letto₂ () | nuovo stato | scritto₁, mossa₁ | scritto₂, mossa₂ | note |
|---|---|---|---|---|---|---|
| copia | ||||||
| testina 1 sulla prima cifra di | ||||||
| riavvolge il 2° nastro | ||||||
| pronto a confrontare | ||||||
| cifre uguali | ||||||
| minore di | ||||||
| maggiore di | ||||||
| ormai conta solo la lunghezza ( è un altro bit qualsiasi) | ||||||
| o | stessa lunghezza e | |||||
| o | — | — | più lungo | |||
| o | — | — | più lungo |
In tutti gli altri casi (per esempio se manca il ";") rigetta.
Traccia passo passo su 01;10
stato nastro 1 (x;y) nastro 2
s [▷] 0 1 ; 1 0 [▷]
s ▷ [0] 1 ; 1 0 ▷ [⊔] copio x
s ▷ 0 [1] ; 1 0 ▷ 0 [⊔] copio x
s ▷ 0 1 [;] 1 0 ▷ 0 1 [⊔] fine di x
r ▷ 0 1 ; [1] 0 ▷ 0 [1] ⊔ riavvolgo il nastro 2
r ▷ 0 1 ; [1] 0 ▷ [0] 1 ⊔
r ▷ 0 1 ; [1] 0 [▷] 0 1 ⊔ inizio del nastro 2
e ▷ 0 1 ; [1] 0 ▷ [0] 1 ⊔ y ha 1, x ha 0: x < y
l ▷ 0 1 ; 1 [0] ▷ 0 [1] ⊔ ormai conta solo la lunghezza
l ▷ 0 1 ; 1 0 [⊔] ▷ 0 1 [⊔] finiscono insieme
yes
Eseguila passo per passo
Prossima transizione: δ(s, ▷, ▷) = (s, ▷, →, ▷, →)
Mostra il codice della soluzione
s ▷ ▷ -> s ▷ R ▷ R s b ⊔ -> s b R b R # copia x s ; ⊔ -> r ; R ⊔ L # testina 1 sulla prima cifra di y r σ b -> r σ S b L # riavvolge il 2° nastro r σ ▷ -> e σ S ▷ R # pronto a confrontare e b b -> e b R b R # cifre uguali e 1 0 -> l 1 R 0 R # x minore di y e 0 1 -> no 0 S 1 S # x maggiore di y l b b' -> l b R b' R # ormai conta solo la lunghezza e ⊔ ⊔ -> yes ⊔ S ⊔ S # stessa lunghezza e x ≤ y l ⊔ ⊔ -> yes ⊔ S ⊔ S e b ⊔ -> no b S ⊔ S # y più lungo l b ⊔ -> no b S ⊔ S e ⊔ b -> no ⊔ S b S # x più lungo l ⊔ b -> no ⊔ S b S