23 giugno 2020, versione 2
Rispondi prima di leggere la spiegazione. I termini sottolineati offrono un aiuto rapido.
- 1
Assumiamo che e coincidano. Dire se non è strettamente contenuto in
- 2
Dire se 3-EXP e DP sono diverse
- 3
Dire se VALIDITY è P-hard
- 4
Dire se
- 5
Tutti i linguaggi che sono accettati da MdT nondeterministiche sono anche accettati da MdT deterministiche
- 6
Per ripristinare in ambito quantistico la complessità classica degli attacchi a forza bruta alla crittografia simmetrica, bisogna allungare esponenzialmente le chiavi
- 7
Dire se è P-hard
Programmare una MdT che moltiplica una cifra binaria per 4
| # | 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 moltiplicare per 4 il numero binario sul nastro. Raggiungi la fine dell'input e aggiungi due 0: ogni 0 raddoppia il valore, quindi , cioè .
La testina parte su . La macchina termina in e lascia il risultato sul nastro. Nella tabella indica un bit qualsiasi e una cella vuota.
| commento | |||
|---|---|---|---|
| supera l'inizio del nastro | |||
| scorre l'input fino in fondo | |||
| fine input: scrive il primo 0 | |||
| scrive il secondo 0 e si ferma |
Nella traccia ogni riga è un istante: tra parentesi quadre c'è la cella sotto la testina, a destra lo stato e cosa fa la macchina. Traccia su input 101 (= 5):
▷ 1 0 1 [⊔] ⊔ s : fine input (dopo "vai in fondo"): scrivo 0 e vado a destra
▷ 1 0 1 0 [⊔] q : scrivo il secondo 0 e mi fermo
▷ 1 0 1 0 0 h : risultato 10100 = 20 = 4 · 5 ✔
Con input 0 l'output è 000, che vale ancora 0 ✔, perché gli zeri a sinistra non cambiano il valore. La macchina è stata verificata con un simulatore su tutti gli input fino a 8 bit.
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 0 R # fine input: scrive il primo 0 q ⊔ -> h 0 S # scrive il secondo 0 e si ferma