Sei sulla pagina 1di 4

SCRITTO

1)Teorema di Savitch con esempio

2)Teorema di Savitch, in particolare spiegare come si gestiscono le chiamate ricorsive dell'algoritmo di


raggiungibilità.

2)Applicazione alternativa di Savitch

2)Algoritmo di CYK (che lui chiama CJK) fare il teorema, dimostrazione ed esempio

3)Teorema della resa (dimostrazione, esempio)

4)Teorema di Cook Levin visto dalla prospettiva delle windows legali e le celle (dimostrazione, esempio)

5)Teorema di Cook: come possibile descrivere con una formula le operazioni

di una macchina di Turing (triple)

6)Dimostrazione di conversione di automi o linguaggi

7)Definizione di PSpace

8)Relazione tra NPSpace e PSpace con relative dimostrazioni

8)Dimostrare che le macchine di Turing non deterministiche sono equivalenti

a quelle deterministiche, calcolare la complessità dell'algoritmo proposto e

commentare il perché la dimostrazione di equivalenza tra automi regolari

deterministici e non deterministici non è valida in questo caso.

9)Equivalenza tra automi regolari deterministici e non deterministici. Di-

mostrare l'equivalenza per induzione sulla stringa in input.

10)Perché non possibile provare che due macchine di Turing calcolano la

stessa funzione. Dimostrare tutte le a


relazioni necessarie.

11)Un linguaggio regolare, un linguaggio context free non regolare, un

linguaggio di tipo zero non context free, dimostrare le


relazioni.

12)Dimostrare l'equivalenza tra automi regolari ed espressioni regolari. "Di-

mostrare" vuol dire provare che l'algoritmo proposto funziona.

13)Dimostrare che le macchina di Turing a singola traccia sono equivalenti a quelle a singolo nastro,
calcolare la complessità dell'algoritmo proposto.

14)Np-completezza, definizioni, esempi, riducibilità

15)Definire un linguaggio che è riconoscibile da una un automa push down

non deterministico ma non da macchine con potere di calcolo inferiore...

16)Usando la dimostrazione di equivalenza tra automi regolari ed espressioni


regolari, definire l'espressione regolare associata al seguente automa

17)Problema dell'alt: dove e come si usa la diagonalizzazione.

18) macchina universale di Turing: progettazione

19)Automi pushdown deterministici e non deterministici dimostrare la non equivalenza

20)Definire un linguaggio che è riconoscibile solo da una macchina di Turing.

21)Usando la dimostrazione di equivalenza tra automi regolari ed espressioni

regolari, definire l'espressione regolare associata al seguente automa:

22) Dimostrare che le macchine di Turing multi-traccia sono equivalenti a quelle a singolo nastro, calcolare
la complessità

dell'algoritmo proposto per l'equivalenza

23)NP-completezza, definizione ed esempio

24)Equivalenza tra automi regolari deterministici e non deterministici. Dimostrare l'equivalenza per
induzione sulla stringa in input.

Discutere la complessità dell'algoritmo proposto

ESAME DEL 4-02-2020

25) Mostrare che il linguaggio che non accetta alcuna stringa con un numero dispari di 1 è calcolabile da un
automa regolare

deterministico, alfabeto {0,1}

26)Algoritmo per riconoscere se una stringa è generata da una grammatica context free. Definire
l'algoritmo

e spiegare in linguaggio naturale il funzionamento

27)Sfruttando il teorema di equivalenza tra macchine di turing deterministiche e non deterministiche


progettare

la macchina deterministica che simula la seguente macchina non deterministica e simularla sulla stringa di
input "000"

ESAME DEL 21-06-2019

28) è possibile costruire una macchina di Turing universale che sia totale per le macchine di Turing totali?
Ricorda che una macchina

è totale solo se per ogni input la computazione della macchina termina

29)Progettare la macchina universale di Turing

30)Dimostrare l'equivalenza tra le macchine push down e le grammatiche context free


31)Definire un linguaggio che è solo e soltanto di tipo 0, riconoscibile da una macchina di turing ma non
push down

ESAME FINE LUGLIO

32) Usando l'algoritmo di CJK verificare se le stringhe aabbb e ababaa, sono riconosciute dalla seguente
grammatica:

- S -> AB|AX|BX

- X -> ZY

- Y -> BB

- Z -> AB|AX

- A -> a

- B -> b

33) esiste una macchina di turing universale per la macchine di turing non deterministiche?

- NO. Dimostrare la non esistenza

- Si. Dimostrare e calcolare la complessità della dimostrazione

34) Decidibilità: è decidibile verificare se un automa regolare definisce il linguaggio vuoto?

-NO: dimostrare il perché.

-Si: dimostrare e calcolare la complessità della dimostrazione

35)Descrivere le mosse di una macchina di turing usando il concetto di "finestre" usato nel teorema di Cook

ESAME 06-09-2019

36) Dimostrare che gli automi deterministici sono equivalenti a quelli non deterministici. Spiegare passo per
passo

il perché della costruzione dell'automa deterministico a partire da quello non deterministico

37)Nel teorema di Savitch viene usata una soluzione del problema della resa. Presentare l'algoritmo e
applicarlo ad

un esempio non banale

38)Teorema di Cook
LABORATORIO

1) passaggio da pda a cf

2) macchine di turing universale

3) divisione in unario

4) Moltiplicazione tra numeri binari con il moltiplicatore al massimo di due cifre

5)Usare la notazione unaria. Dato in input a, definire il minimo numero

naturale b tale che resto (a; b) 6= 0

6)Lavoriamo sui numeri naturali in notazione unaria. Dati due numeri

naturali costruire la macchina di Turing che calcola la seguente funzione

f (a; b) = 0 se a = b: 1 se a < b; 2 se a > b.

7)Usare la notazione unaria, tenere presente la notazione. Dato in input a, b, c sommare i tre numeri,
lasciando invariato l'input, macchina di Turing ad un nastro

8)Definire la macchina di Turing a tre nastri che trova il minimo tra

due numeri naturali in notazione binaria;

9)Usando jflap, definire una macchina di turing in forma standard, l'input non deve essere cancellato che
calcola la somma tra

numeri binari. Si può usare qualsiasi modello di macchina ricordando che l'input deve essere immesso sul
primo nastro.

10)Definire la macchina di Turing ad un nastro che calcola la funzione

resto tra due numeri naturali, usare la notazione unaria e conservare

i dati in ingresso;

11) Usare la notazione unaria. Dato in input a, b, c definire la somma tra i tre numeri, Macchina di Turing a
due nastri