Aniello Murno Problemi non decidibili e riducibilità 9 Lezione n. Prole chive: LBA e PCP Corso di Lure: Informtic Codice: Emil Docente: murno@ n.infn.it A.A. 2008-2009 LBA Liner bounded utomton DEFINIZIONE: Le liner bounded utomton (LBA) sono Mcchine di Turing con un sol limitzione: l testin sul nstro non può muoversi oltre l porzione di nstro contenente l input. Se un LBA prov muovere l su testin oltre l input, l testin rimne ferm in quel punto come ccde nell Mcchin di Turing clssic qundo l testin tent di ndre più sinistr del primo simbolo in input (o il simbolo di strt se utilizzto). Un LBA è un Mcchin di Turing con memori limitt, com è mostrto nell figur sottostnte. Può risolvere solo problemi il cui input non superi l cpienz del nstro. Usndo un lfbeto del nstro più mpio dell lfbeto di input si h che l memori disponibile viene incrementt di un fttore costnte. Perciò per un input di lunghezz n, l quntità di memori disponibile è linere in n. D questo deriv il nome di questo modello.
Potenz espressiv degli LBA Nonostnte questi vincoli sull memori, gli LBA sono piuttosto potenti in termini di ccettori di linguggi. Ad esempio, i decisori per A DFA e E DFA sono tutti LBA. Gli LBA sono strettmente più potenti dei PDA. Inftti, si può provre che ogni CFL può essere deciso d un LBA. Inoltre esistono linguggi ccettti d LBA che non sono context-free come d esempio L={ n b n c n } e L={ n! }. Gli LBA sono nche meno potenti delle Mcchine di Turing (si pensi qulsisi linguggio che h bisogno di memori non constnte in ggiunt ll input per poterlo processre) I linguggi ccettti dgli LBA sono generti d grmmtiche denominte context- sensitive. Problem perto: L versione deterministic degli LBA è meno potente? Gerrchi di Chomsky estes Non-recursively enumerble Recursively-enumerble Recursive Context-sensitive Context-free Regulr
A LBA Come ccennto, gli LBA sono piuttosto potenti in termini di ccettori di linguggi. Vedimone un esempio: A LBA è il problem di determinre se un LBA ccett il suo input. Formlmente, A LBA ={<M,w> M è un LBA che ccett un string w} Ricordimo che il problem nlogo per le MT, ovvero A TM, è indecidibile A LBA è decidibile. L dimostrzione dell decidibilità di A LBA è semplice qulor si poss sserire che il numero di configurzioni possibili è limitto, come mostrto dl Lemm che presentimo nell prossim dipositiv. PARTICOLARITA DI UN LBA LEMMA: Preso un LBA M con q stti e g simboli nell lfbeto del nstro. Ci sono esttmente qng n configurzioni distinte di M per un nstro di lunghezz n. DIMOSTRAZIONE: Ricordndo che un configurzione di M è come uno snphshot nel mezzo di un computzione. Un configurzione consiste dello stto di controllo, posizione dell testin e il contenuto del nstro. Per qunto rigurd le grndezze degli oggetti coinvolti nelle configurzioni, notimo che: M h q stti. l lunghezz del nstro è n, cosi l testin può essere l più in n posizioni differenti, g n sono le possibili stringhe di simboli del nstro che si possono trovre sul nstro. Il prodotto di queste tre quntità è il numero totle di configurzioni differenti di M con un nstro di lunghezz n, ovvero qng n.
DECIDIBILITA DI A LBA TEOREMA A LBA è decidibile IDEA PER LA DIMOSTRAZIONE: Prim di tutto per decidere se un LBA M ccett l input w, simulimo M su w con un MdT M Durnte il corso dell simulzione, se M si ferm e ccett o rigett, llor l prov termin perché M si ferm. L difficoltà nsce se M gir ll infinito su w. Questo si può ovvire individundo qundo l mcchin v in loop, cosi possimo fermrci e rifiutre. L ide per cpire qundo M v in loop è quest: Qundo M comput su w, M pss d un configurzione d un ltr. Se M ripete più volte un stess configurzione signific che è entrt in un loop. Poiché M è un LBA, sppimo che l cpienz del nstro è limitt. Attrverso il lemm visto nell precedente slide, sppimo che M può vere solo un numero limitto di configurzioni in bse ll cpienz del suo nstro. Quindi M h un limite di volte prim di entrre in qulche configurzione che h già ftto precedentemente. Come conseguenz del lemm, possimo dire che se M non si ferm dopo un certo numero di pssi signific che è in loop. Questo M è in grdo di rilevrlo. Dimostrzione dell decidibilità di A LBA DIMOSTRAZIONE: L Algoritmo che decide A LBA è il seguente. M := Su input <M,w>, dove M è un LBA e w è un string: 1. Simul M su w finché non si ferm o, lterntivmente, per qng n pssi. 2. Se M si ferm, bbimo i seguenti csi: I. Se M ccett llor M ccett II. Se M rifiut llor M rifiut 3. Se M non si ferm, llor M rifiut. Domnd: Perché l lgoritmo può rifiutre se l mcchin non si ferm in qng n pssi? Rispost: Per il lemm precedente, M deve ver incontrto lmeno un volt un configurzione precedentemente incontrt, dunque si trov in un loop.
Il linguggio E LBA Abbimo visto un problem decidibile per un LBA m che non lo è per un Mcchin di Turing clssic. Esistono tuttvi problemi indecidibili per le TM che rimngono tli nche per le LBA. Un esempio è il seguente linguggio: E LBA ={<M> M è un LBA dove L(M)= } Per l dimostrzione di indecidibilità, dobbimo prim introdurre il concetto di computtion histories Computtion Histories Un Computtion Historie (CH) di un MdT M è l sequenz finit di configurzioni che M ttrvers per decidere un input. Si M un MdT e w un ingresso per M. Un CH ccettnte per M su w è un sequenz di configurzioni C 1, C 2,..., C l dove: C 1 è l configurzione di prtenz di M su w C l è un configurzione ccettnte ogni C i segue C i-1 secondo le regole di M Un CH non ccettnte è simile d un CH ccettnte trnne che C l configurzione non ccettnte. è un Not: Le MdT deterministiche hnno un sol CH per un dto input, mentre le MdT non deterministiche ne possono vere diverse.
Prov che E LBA è indecidibile Riducimo A TM E LBA. Per ogni MdT M e ingresso w, definimo un LBA B tle che L(B)={CH CH è ccettnte per un dt MdT M e un dto ingresso w} Se L(B) = Ø vuol dire che M non ccett w e dunque (M,w) non è in A TM. Vicevers se L(B) non è vuoto llor M ccett w e dunque (M,w) è in A TM. Per verificre che ogni sequenz in ingresso per B è un CH ccettnte devono essere verificte le condizioni descritte in precedenz. Costruimo il decisore S per A TM, supponendo che esiste un decisore R per L(B) S := su ogni ingresso <M, w>, costruisce un LBA B d (M,w) come definito sopr. esegue R su ingresso (B) se R ccett S rifiut (L(B) è vuoto M non ccett w) se R non ccett S ccett (L(B) è non vuoto M h un CH ccettnte per w) Quindi, l esistenz di un decisore per E LBA implic un decisore per A TM. Sppimo però che A TM è indecidibile, quindi non esiste un decisore per E LBA. PCP POST CORRESPONDENCE PROBLEM Il fenomeno dell indecidibilità non è un problem che rigurd solo gli utomi. Per mostrre un esempio, considerimo un problem indecidibile rigurdnte un semplice mnipolzione di stringhe: il Post correspondence problem (PCP). Il PCP fu introdotto e provto indecidibile per l prim volt d E.L.Post in A vrint of Recursivley Unsolvble problem, Bull. Amer. Mth. Soc.52 (1946) Possimo descrivere questo problem prgonndolo d un tipo di puzzle. Inizimo con un insieme di domini, ognuno contenente due stringhe, ognun su un lto. Un pezzo singolo del domino è rppresentto in questo modo: b Mentre un insieme di domini srà di questo tipo: b c b c bc c L obbiettivo è quello di costruire un list di questi domini (le ripetizioni sono mmesse) in modo che l string dei simboli scritti nell prte superiore dei domini è ugule quell dei simboli inferiori. Quest list è chimt un mtch. Ad esempio l seguente list è un mtch per questo puzzle: b b c c b bc c
PCP(2) Leggendo l inizio dell string ottenimo bcbc, che è ugule ll string sotto. Possimo nche rppresentre questo mtch deformndo i domini in modo che creimo l corrispondenz d sopr sotto l line. Per lcuni insiemi di domini non è sempre possibile trovre un mtch. Per esempio l insieme: non può contenere un mtch perché ogni string che si trov sopr è più lung rispetto ll string che si trov sotto. Il Post correspondence problem rigurd l possibilità di determinre se un collezione di domini h un mtch. Questo problem non è risolvibile con lgoritmi. Prim di dre l definizione formle di questo teorem con l su definizione, formulimo precismente il problem e in seguito definimo il suo linguggio. INDECIDIBILITA DEL PCP t 1 t 2 b 2 Un instnz del PCP è un insieme P di domini:,,, Un mtch è un sequenz di interi i 1, i 2,, i l, dove t i1, t i2, t in = b i1, b i2,, b in. Not: l stess coppi può pprire più volte, ovvero, può essere che per certi m j, si h che i j = i m. b t k b k Il problem del PCP è quello di determinre se P h un mtch. Il linguggio corrispondente l problem è PCP={<P> P è un istnz del Post Correspondence Problem con un mtch} TEOREMA: PCP è indecidibile
PCP è indecidibile Per l prov riducimo A TM l PCP ttrverso le Computtion Histories. Dti M, w, costruimo un insieme P di domino nel modo seguente: Inizimo con un domino che h nell prte di sotto l configurzione inizile di M e sopr un string vuot. Aggiungimo P dei domino l cui prte superiore corrisponde ll configurzione corrente e l prte inferiore è l configurzione successiv. Questi domino devono nche tenere conto di Il movimento dell testin. Aumentre lo spzio del nstro con degli spzi vuoti (qundo richiesto). Forzre d usre come primo domino dell soluzione del mtch quello corrispondente ll configurzione inizile di M. Per semplicità, ssumimo che ogni soluzione possibile deve sempre inizilre con il primo domino. Chimeremo il PCP con quest regol ggiuntiv modified PCP o semplicemente MPCP. Successivmente vedremo che quest non è un limitzione e che può essere rimoss. Prov di ind. per PCP: Step 1. Inizilizzzione Dti M, w, costruimo il primo domino dell insieme P come corrispondente ll configurzione inizile è q 0 w nel modo seguente: Il simbolo è un nuovo simbolo non pprtenente ll lfbeto del nstro di M e serve come mrctore
Prov di ind. per PCP: Step2. trnsizione Ad ogni psso di computzione di M fccimo corrispondere dei domino in P in modo d poter copire l configurzione corrente di M dll prte di sotto dei domino (delimitt tr ) nell prte superiore e sostituimo nell prte sottostnte corrispondente l prossim configurzione C 1...C k 1 C 1...C k 1 C k C 1...C k 1 C 1...C k 1 C k Per fre questo, bbimo bisogno di fre più pssi elementri nel modo seguente: Un configurzione rcchius tr vrà sempre l form del tipo bqc. Per clcolre l prossim configurzione, occorre copire si nell prte superiore che inferiore Copire bqc sull prte superiore e l prossim configurzione sull prte inferiore Copire si nell prte superiore che inferiore. Per copire e, ggiungimo il sequente domino in P, per ogni in : Nelle slide successive indichimo come trttre le trnsizioni. Prov di ind. per PCP: Step 3. trnsizione R Per ogni trnsizione del tipo (q,c)=(p,d,r), noi ggiungimo P il seguente domino qc dp Questo domino ci permetterà di muovere d... b... bqc b... bqc... bqc bdp Per il cso specile in cui c può essere il crttere blnk -, ggiungimo in P il domino L ultimo domino srà utile qundo M leggerà spzi blnk destr dell string di input q dp
Prov di ind. per PCP: Step 4. trnsizione L Per ogni trnsizione del tipo (q,c)=(p,d,l), noi ggiungimo P il seguente domino bqc pbd Questo domino ci permetterà di muovere d...... bqc... bqc... bqc pbd Per il cso specile in cui b può essere il crttere blnk -, ggiungimo in P il domino qc pd Quest ultimo domino srà utile qundo M è ll inizio dell input e cerc di ndre sinistr Prov di ind. per PCP: Step 5. mtching con q ccept M ccett w se possimo rggiungere nel PCP l seguente situzione:...c n 1...C n 1 bq ccept Prim di terminre con l riduzione, dobbimo sistemre il ftto che l string nell prte inferiore dei domino è più lung di un configurzione dell prte superiore. Per questo motivo, ggiungimo P i domino del tipo: cq ccept q ccept e q ccept c q ccept Gli ultimi domino permetternno di scrtre uno ll volt i simboli in eccesso, fino d rrivre ll seguente situzione:...q ccept c...q ccept cq ccept
Prov di ind. per PCP: Step 6. Chiusur con q ccept Per finire dobbimo ggiungere il seguente ulteriore domino P: q ccept Con quest costruzione, bbimo un istnz per MPCP che mmette soluzione se e solo se M ccett w. Esempio: Step 1, Step 2 + Step 3 q 0 0 1 0 0 q 0 0 1 0 0 q 0 0 1 0 0 2 q 7 1 0 0
Esempio: Step 2+3, Step 2+4 2 q 7 1 0 0 2 q 7 1 0 0 2 0 q 5 0 0 2 0 q 5 0 0 2 0 q 5 0 0 2 q 9 0 2 0 Esempio: Step 2+4, Step 2+5 2 1 q ccept 0 2 2 1 q ccept 0 2... 2 1 q ccept 0 0 2 1 q ccept 2... q ccept
Esempio: Step 6 q ccept q ccept D MPCP PCP Per completre l dimostrzione, dobbimo forzre il ftto che il primo domino deve essere il primo d essere usto in ogni possibile soluzione del PCP. Si un nuovo simbolo (cioè non presente in U {}). Per ogni string s, si s l string ottenut inserendo il simbolo Prim di ogni simbolo in s. Per esempio, (bc) = b c. Anlogmente, definimo s e s come l string ottenut ggiungendo solo dopo, oppure si prim che dopo, ogni simbolo di s il simbolo Dto l insieme di domino P costruiti precedentemente, si sostituiscno i domino nel modo seguente: t1/b1 = t1 / b1 ogni ltro ti/bi= ti / b1 il domino finle q ccept / = q ccept / In questo modo, il primo domino deve essere ssolutmente il primo ltrimenti non ci srà mtching
Esercizio Provre che il seguente problem è indecidibile. Problem del domino: Dto un insieme finito di colori e un insieme di pistrelle qudrte con i quttro lti colorti di un qulche colore tr quelli disposizione, trovre, se esiste, un modo per pistrellre un prete infinit in lunghezz e lrghezz ssicurndo che i lti dicenti delle pistrelle bbino lo stesso colore.
This document ws creted with Win2PDF vilble t http://www.win2pdf.com. The unregistered version of Win2PDF is for evlution or non-commercil use only. This pge will not be dded fter purchsing Win2PDF.