La prova errata della chiusura sotto l'operazione a stella che utilizza NFA comporta che l'NFA riconosce le stringhe indesiderate?


8

Attualmente sto leggendo il libro Introduzione alla teoria della computazione (2a o 3a edizione) di Michael Sipser , e sono incappato in una domanda nel capitolo 1 - Lingue regolari , vale a dire quando l'autore presenta l'idea di prova del teorema 1.49 - "La classe delle lingue normali è chiusa sotto l'operazione a stella." usando NFA.

L'approccio suggerito è che, se abbiamo una lingua regolare e vogliamo dimostrare che anche è regolare, possiamo prendere un NFA e modificarlo in una come nell'immagine qui sotto, che è quindi un riconoscimento NFA particolare .A1A1N1NA1

Modifica di NFA $ N_1 $

Egli ha osservato:

Un'idea (leggermente negativa) è semplicemente quella di aggiungere lo stato iniziale all'insieme degli stati di accettazione. Questo approccio aggiunge sicuramente ε alla lingua riconosciuta, ma può anche aggiungere altre stringhe indesiderate.

Ho disegnato il "cattivo" NFA come di seguito e ho cercato di capire perché questo si tradurrebbe in stringhe indesiderate. Tuttavia, non riesco a trovare un esempio di quando viene riconosciuta una stringa indesiderata. Perché questa idea porterà l'NFA a riconoscere le stringhe indesiderate?

inserisci qui la descrizione dell'immagine

Qualcuno potrebbe indicarlo per me o darmi un suggerimento o ho frainteso l'autore? Grazie in anticipo!

Risposte:


11

Considera un automa a due stati per la lingua , due transizioni dallo stato iniziale, uno in loop con l'etichetta , l'altro con l'etichetta allo stato finale.abab

Rendendo definitivo lo stato iniziale, accetterebbe anche .a

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.