Proprietà di chiusura positiva (chiuse sotto queste operazioni):
* Unione: Se L1 e L2 sono riconoscibili, allora L1 ∪ L2 è anche riconoscibile. Puoi simulare entrambe le macchine Turing per L1 e L2 in parallelo. Se accetta, la macchina combinata accetta.
* Concatenazione: Se L1 e L2 sono riconoscibili, allora L1L2 è anche riconoscibile. Questo è un po 'più complicato. È possibile dividere non deterministicamente la stringa di input in due parti, quindi eseguire le macchine Turing per L1 e L2 su quelle parti. Se entrambi accettano, la macchina combinata accetta.
* Kleene Star: Se L è riconoscibile per la Turing, allora L* è anche riconoscibile. Simile alla concatenazione, è possibile dividere la stringa di input non deterministicamente in zero o più parti e testare se ogni parte è in L.
* Inversione: Se L è riconoscibile, allora l
Proprietà di chiusura negativa (non chiuse in queste operazioni):
* Intersezione: Le lingue riconoscibili di Turing sono * non * chiuse sotto l'intersezione. Ciò significa che se L1 e L2 sono riconoscibili, L1 ∩ L2 non è * necessariamente * riconoscibile. Tuttavia, se*sia*L1 che L2 sono Turing-*decidibile*, allora L1 ∩ L2 è decisamente decisabile (e quindi anche riconoscibile).
* Complementazione: Le lingue riconoscibili di Turing sono * non * chiuse sotto complementazione. Se l è riconoscibile per il tinging, ¬l (il complemento di l) non è * necessariamente * riconoscibile.
* Una lingua L è decisabile (ricorsiva) se e solo se sia L e ¬l sono riconoscibili (ricorsivamente enumerabili). Questa è una connessione cruciale tra lingue riconoscibili e decidibili.
In sintesi:
| Operazione | Chiuso? | Spiegazione |
| ----------------- | --------- | ------------------------------------------------------------------------------------------------------- |
| Unione | Sì | Simula entrambe le macchine in parallelo, accetta se entrambi accettano. |
| Concatenation | Sì | Input e test di divisione non deterministicamente di ogni parte. |
| Kleene Star | Sì | Input non deterministicamente diviso in più parti e testare ogni parte. |
| Reversione | Sì | Invertire l'ingresso ed eseguire il TM. |
| Incrocio | No | Può fallire. Richiede che entrambe le lingue siano decidibili per la chiusura. |
| Complementazione | No | Il complemento di un linguaggio riconoscibile Turing non è sempre riconoscibile. |
Perché l'intersezione e la complementazione non sono chiusi?
Il problema deriva dal fatto che le macchine Turing per le lingue riconoscibili di Turing possono loop per sempre.
* Intersezione: Se una delle macchine si lancia su un input particolare, la macchina combinata potrebbe anche loop, anche se l'altra macchina alla fine si rifiuterebbe (il che significa che l'input non è * nell'intersezione). Hai bisogno di un modo per sapere * quando * smettere di aspettare una macchina che potrebbe essere in loop per sempre.
* Complementazione: Una macchina Turing per L accetta, rifiuta o loop su un input. Per riconoscere il complemento ¬L, è necessario * rifiutare * tutte le stringhe accettate da L e * accettare * tutte le stringhe rifiutate * o in loop su * da L. Non puoi distinguere in modo affidabile tra una macchina che * respingerà alla fine e una che si aggirerà per sempre. Dovresti essere in grado di sapere in qualche modo * quando * una macchina sta per il loop, il che è generalmente impossibile.
Esempio che dimostra la non chiusura sotto complementazione:
Considera il problema di arresto, che è riconoscibile (una macchina Turing può simulare un'altra macchina Turing e accettare se si ferma). Il complemento del problema di arresto non è * riconoscibile. Se lo fosse, il problema di arresto sarebbe decisamente decisabile (poiché sia il problema di arresto che il suo complemento sarebbero riconoscibili), che sappiamo è falso.
Programmazione © www.354353.com