11.07.2015 Views

Teor´ıa de Autómatas y Lenguajes Formales

Teor´ıa de Autómatas y Lenguajes Formales

Teor´ıa de Autómatas y Lenguajes Formales

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

140 PROPIEDADES DE L. ENUMERABLES RECURSIVAMENTE Y RECURSIVOSeste problema los símbolos son irrelevantes ya que el renombrar terminales no afecta la ambiguedad <strong>de</strong> unagramática.Un problema cuyo lenguaje es recursivo, se dice <strong>de</strong>cidible, en otro caso el problema es no-<strong>de</strong>cidible. Estoes, un problema es no-<strong>de</strong>cidible si no hay un algoritmo que tome como input una instancia <strong>de</strong>l problema y<strong>de</strong>termine si la respuesta a esa instancia es SI o NO.Una consecuencia poco intuitiva <strong>de</strong> la <strong>de</strong>finición <strong>de</strong> no-<strong>de</strong>cidible es que problemas con sólo una instanciason trivialmente <strong>de</strong>cidibles. Considérese el siguiente problema basado en la conjetura <strong>de</strong> Fermat. ¿Haysolución entre los enteros positivos a la ecuación x i + y i = z i , si i ≥ 3 ? Nótese que x, y, z e i no sonparámetros, sino que variables internas <strong>de</strong>l problema. Hay una MT que acepta todo input y otra que losrechaza todos. Una <strong>de</strong> ellas respon<strong>de</strong> correctamente a la conjetura <strong>de</strong> Fermat, aún cuando no se sabe cuál.De hecho, pue<strong>de</strong> ni siquiera haber una resolución <strong>de</strong> la conjetura usando los axiomas <strong>de</strong> la aritmética. Estoes, la conjetura pue<strong>de</strong> ser cierta y aún así pue<strong>de</strong> que no haya una <strong>de</strong>mostración aritmética <strong>de</strong> ella. Laposibilidad <strong>de</strong> esto, aunque no en certeza, sigue <strong>de</strong>l teorema <strong>de</strong> Incompletitud <strong>de</strong> Gö<strong>de</strong>l, que establece quecualquier sistema formal consistente y sufucientemente po<strong>de</strong>roso para <strong>de</strong>scribir teoría <strong>de</strong> números, <strong>de</strong>be tenersentencias verda<strong>de</strong>ras pero no <strong>de</strong>mostrables <strong>de</strong>ntro <strong>de</strong>l sistema.No <strong>de</strong>biera molestar que un problema como la conjetura <strong>de</strong> Fermat sea <strong>de</strong>cidible. La teoría <strong>de</strong> no<strong>de</strong>cidibilidadconcierne a la existencia o no existencia <strong>de</strong> algoritmos para resolver problemas con una infinidad<strong>de</strong> instancias.9.2 Otros Problemas No DecidiblesSe tiene ahora un ejemplo <strong>de</strong> un lenguaje enumerable recursivamente que no es recursivo. El problemaasociado a ese lenguaje, ¿Acepta M a w?, es no <strong>de</strong>cidible y se pue<strong>de</strong> usar para mostrar que otros problemasson no <strong>de</strong>cidibles.Ejemplo 90 Considérese el problema: ¿Es L(M) ≠ φ ? Sea < M > una codificación para M. Se <strong>de</strong>fineL NV = {< M > /L(M) ≠ φ}L V = {< M > /L(M) = φ}Nótese que L V y L NV son uno el complemento <strong>de</strong>l otro, ya que cada string binario representa algunaMT; aquellos mal formados, <strong>de</strong>notan una MT sin movidas. Todos estos strings están en L V . Se mostraráque L NV es enumerable recursivamente, pero no recursivo y que L V no es enumerable recursivamente.Se muestra que L NV es enumerable recursivamente, construyendo una MT, M, que reconoce códigos <strong>de</strong>MT’s que aceptan conjuntos no vacíos. Dado un input < M i >, M en forma no <strong>de</strong>terminística adivina unstring X aceptado por M i y verifica que M i lo acepte, simulando M i en input X. Este paso también pue<strong>de</strong>ser ejecutado en forma <strong>de</strong>terminística, usando el generador <strong>de</strong> pares. Para el par (j, k), se simula M i en elj-ésimo string durante k pasos. Si M i acepta, M acepta < M i >.Ahora se <strong>de</strong>be mostrar que L V no es recursivo. Supóngase que sí lo fuera, entonces se podría construir unalgoritmo para L u . Sea A un algoritmo hipotético que acepta L V . Hay un algoritmo B que, dado < M, w >,construye una MT M ′ que acepta φ si M no acepta w y que acepta {0, 1} ∗ si M acepta w. La i<strong>de</strong>a semuestra en la Figura 9.1. M ′ ignora su entrada X y simula M en entrada w, aceptando si M acepta.Note que M ′ no es B. Más bien, B es como un compilador que toma < M, w > como programa fuentey produce M ′ como programa objeto. Se ha <strong>de</strong>scrito qué hace B, pero no cómo lo hace. La construcciónes simple, toma < M, w > y separa w. Sea w = a 1 a 2 . . . a N . B crea N + 3 estados q 1 , q 2 , . . . , q N+3 , conmovidasδ(q1 , X) = (q 2 , $, D) para todo X (marca)δ(q i , X) = (q i+1 , a i−1 , D) para todo X y (escribe w)2 ≤ i ≤ N + 1δ(q N+2 , X) = (q N+2 , B, D) para X ≠ B (borra cinta)δ(q N+2 , B) = (q N+3 , B, I)δ(q N+3 , X) = (q N+3 , X, I) para X ≠ $ (busca marca)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!