You are on page 1of 43

DECIDIBILIDAD

III UNIDAD

Ing. Sofia Pedro Huaman

Contenido
1. Introduccin.
2. Problemas Decidibles
3. Problemas Indecidibles.
4. Problema de la Parada.

Teora de la Computacin

1. INTRODUCCIN
Teora de la Computacin

1.1. Introduccin.
Entscheidungsproblem (Problema de

Decisin).
La MT se diseo para probar que es
IMPOSIBLE.
Cmo: reducindolo al problema de la
parada.
La mquina de Turing demostr que
existan problemas que una mquina no
poda resolver.
Teora de la Computacin

1.1. Introduccin (Cont.).


Entscheidungsproblem (Problema

de Decisin).
Alonzo Church de forma independiente
prob que era IMPOSIBLE creando las
bases de un nuevo paradigma de
programacin.
Ambos formalismos son iguales y
conocidos como: Tesis de Church
Turing.
Teora de la Computacin

1.1. Introduccin (Cont.).


Algoritmo. Conjunto de instrucciones para realizar una tarea.
Antes del siglo XX, los matemticos tenan una nocin intuitiva
de algoritmo insuficiente para profundizar su estudio.
Los 23 problemas de David Hilbert, uno de ellos estaba
relacionado a los algoritmos.
Idear un proceso por el cual se pueda determinar si una
ecuacin es resoluble en nmeros racionales enteros, un
numero de operaciones finitas.
Tesis de Church-Turing. Un problema que puede ser

resuelto por un algoritmo si y slo si este puede ser resuelto por


una Mquina de Turing.
Teora de la Computacin

1.2. Lenguajes recursivos y


recursivamente enumerables.

Sea y , tenemos tres posibilidades:


M acepta ,
M rechaza
M no acepta ni rechaza pues entra en un ciclo infinito.
Mquina de Turing Total. La mquina es total si y

slo si siempre acepta o rechaza para

Teora de la Computacin

1.2. Lenguajes recursivos y


recursivamente enumerables
(Cont.)

Definiremos dos tipos de lenguajes:


Lenguaje Recursivo. Un lenguaje es recursivo si y slo si
existe una para tal que es total.
Lenguaje Recursivamente Enumerables. Un lenguaje es
recursivamente enumerable si y slo si existe una para .
Los lenguajes recursivos son conocidos como Turing-

Decidibles mientras que los recursivamente


enumerables son conocidos como Turingreconocibles.
Teora de la Computacin

1.2. Lenguajes recursivos y


recursivamente enumerables
(Cont.)

Recursivo

RE
pero no recursivo

No RE
Teora de la Computacin

1.2. Lenguajes recursivos y


recursivamente enumerables
(Cont.)
Regular
Independientes
de
Contexto

Dependientes de
contexto
Recursivo

Recursivamente
Enumerable

No Recursivamente Enumerable
Teora de la Computacin

10

2. PROBLEMAS DECIDIBLES
Teora de la Computacin

11

2.1. Problemas.
Un problema es una pregunta del tipo SI/NO acerca

de un conjunto infinito de posibles instancias.


Ejemplo. El problema del Ciclo Hamiltoniano

Cada grafo no dirigido es una instancia del problema.

Podemos decir que:


Un problema es formalmente un lenguaje.
Cada cadena del lenguaje codifica una instancia.
Una cadena pertenece a un lenguaje si la respuesta para
la instancia que representa es SI.
Teora de la Computacin

12

2.2. Problemas Decidibles.

Un problema es decidible si y slo un algoritmo puede

resolverlo.
Un algoritmo es una mquina de Turing que se detiene
para todas las entradas sean o no aceptadas.
Un problema decidible es un lenguaje recursivo.
Si un lenguaje no es recursivo, entonces el problema es
indecidible.

Teora de la Computacin

13

2.2. Problemas Decidibles


(Cont.) Problemas Indecidibles
Problemas
Indecidibles
Problemas
Decidibles
L.
Recursivos
L. Recursivamente
Enumerables
Recursivamente
TeoraL.
deNo
la Computacin
Enumerables

14

2.2. Problemas Decidibles


(Cont.)

Un lenguaje es decidible (Turing Decidible) si

existe una Mquina de Turing :

ACEPTA y se DETIENE para .


RECHAZA y se DETIENE para para .

Un lenguaje es computable (Turing Reconocible)

si existe una Mquina de Turing :

ACEPTA y se DETIENE para .


NO ACEPTA (incluso podra no detenerse) .

Teora de la Computacin

15

2.3. Problemas decidibles


relacionados con LR
Sean los siguientes problemas:
El problema de la aceptacin para un AFD. Si una
cadena w es aceptada por un AFD B.
El problema de la aceptacin para un AFN. Si una
cadena w es aceptada por un AFN B.
Determinar si una expresin regular R genera una
cadena w que pertenece al lenguaje.
Determinar si un lenguaje de un AFD es vaco.
Determinar la equivalencia entre dos AFDs.
Teora de la Computacin

16

2.3. Problemas decidibles


relacionados con LR (Cont.)

Los problemas pueden ser expresados como

lenguajes:

Demostrando que el lenguaje es decidible es lo

mismo que demostrar


que el problema es
decidible.
Teora de la Computacin
17

2.4. Problemas decidibles


relacionados con LLC

Sean los siguientes problemas:


Determinar si una gramtica libre de contexto que genera
la cadena w que pertenezca al lenguaje.
Determinar si el lenguaje de una gramtica es vaco.
Determinar si toda gramtica libre de contexto es
decidible.
Los problemas ser expresados como lenguajes:

Teora de la Computacin

18

2.5. Propiedades de Clausura

Complemento:

Teora de la Computacin

19

2.5. Propiedades de Clausura


(Cont.)

y L=L(M)

Teora de la Computacin

20

2.5. Propiedades de Clausura


(Cont.)

Teora de la Computacin

21

2.5. Propiedades de Clausura


(Cont.)

Teora de la Computacin

22

2.5. Propiedades de Clausura


(Cont.)

Teora de la Computacin

23

2.5. Propiedades de Clausura


(Cont.)

Teora de la Computacin

24

2.5. Propiedades de Clausura


(Cont.)

TAREA:

Otras propiedades de cierre y sus representaciones.

Teora de la Computacin

25

3. PROBLEMAS INDECIDIBLES
Teora de la Computacin

26

3.1. MT codificadas.

Una MT ser codificada como una cadena binaria.


El diagrama de estados de la mquina a codificar:

Estados:
Smbolos:
Direcciones:

Cdigo de una transicin: Sea se representa como:

Dado que los enteros , no puede haber dos unos consecutivos


en estas cadenas.

Teora de la Computacin

27

3.1. MT codificadas (Cont.).

Representacin de la MT Codificada. La mquina de

Turing ser representada como la concatenacin de los


cdigos de sus transiciones utilizando 11 como separador.
Es decir:

Teora de la Computacin

28

3.1. MT codificadas (Cont.).

Ejemplo: Sea

Teora de la Computacin

29

3.1. MT codificadas (Cont.).

Donde:

Los cdigos para cada una de las transiciones son:

0001010100100
00010010010100
0001000100010010
Teora de la Computacin

30

3.1. MT codificadas (Cont.).

(1)
0001010100100
00010010010100
0001000100010010

(2)
(3)
(4)

Una cdigo para M sera usando el orden (1)(2)(3)(4):

110001010100100110001001001010011000
1000100010010

Teora de la Computacin

31

3.1. MT codificadas (Cont.).

(1)
0001010100100
00010010010100
0001000100010010

(2)
(3)
(4)

Otro cdigo sera (2)(3)(4)(1):

00010101001001100010010010100110001000
100010010

Teora de la Computacin

32

3.1. MT codificadas (Cont.).

(1)
0001010100100
00010010010100
0001000100010010

(2)
(3)
(4)

El nmero de cdigos para una MT con transiciones es


Entonces el nmero de cdigos para M es:
Puedes listar las otras codificaciones de M!!!!

Teora de la Computacin

33

3.1. MT codificadas (Cont.).

Si se desea no solamente codificar la mquina de Turing si

no tambin la cadena se habla de pares Los cuales


utilizarn como separador 111

Si

Teora de la Computacin

34

3.2. Diagonalizacin.
Es una herramienta matemtica para hacer demostraciones

(Georg Cantor,1873).
Cantor trato de medir el tamao de conjuntos infinitos. Si
tenemos dos conjuntos infinitos como saber cual de los dos
es ms grande o si son de igual tamao.
Cmo hacerlo?: Cantor propuso que los tamaos de dos
conjuntos son iguales si se pueden emparejar con los
elementos del otro conjuntos (correspondencia).
Ejemplo. Sean dos conjuntos: nmeros naturales y los
nmeros naturales pares, sin incluir 0.
Teora de la Computacin

35

3.2. Diagonalizacin (Cont.).


Para el caso de la MT codificada se tendra una tabla con

en la cual las filas hacen referencia la MT i-sima y las


columnas a la cadena j-sima.
1

1
2
,
significa que la isima mquina de
Turing rechaza la jsima cadena y 1
significa que es
aceptada.

3
4
5
6

Teora de la Computacin

36

3.2. Diagonalizacin (Cont.).

La tabla de la diapositiva anterior puede ser diagonalizada,

construyendo una secuencia D, que se obtiene del


complemento de la diagonal mayor de la matriz.

Ejemplo. Si se encuentra en la fila i-esima la siguiente

cadena

Que la 1,3,5,7, cadenas son reconocidas por la i-sima


MT.

Teora de la Computacin

37

3.2. Diagonalizacin (Cont.)

El lenguaje de diagonalizacin est formado por las

cadenas tales que no forma parte de .

est formado por todas las cadenas tales que la Mquina de

Turing , cuyo cdigo es , no acepta cuando su entrada es .


NO es recursivamente enumerable. No existe ninguna
mquina de Turing que acepte .

Teora de la Computacin

38

3.3. Problemas Indecidibles.


Si un problema es una pregunta del tipo SI/NO acerca de

un conjunto infinito de posibles instancias y puede ser


representado como un lenguaje.
Un problema es decidible si y slo un algoritmo puede
resolverlo.
Algoritmo: Es una Mquina de Turing que se detiene para
todas las entradas sean o no aceptadas.
Un problema decidible es un lenguaje recursivo (siempre
se detiene) sino el problema es indecidible (podra entrar
en un ciclo infinito).
Teora de la Computacin

39

3.3. Problemas Indecidibles


(Cont.)
Turing
Reconocibles
PROBLEMAS
DECIDIBLES

PROBLEMAS
INDECIDIBLES

Turing
Decidibles
L.
Recursivos
L. Recursivamente
Enumerables
L. No Recursivamente
Enumerables
Teora de la Computacin

40

3.3. Problemas Indecidibles


(Cont.)

Un ejemplo de un lenguajes recursivamente enumerable

pero no recursivo es el lenguaje de una Mquina de


Turing Universal .
Una mquina Turing Universal toma como entrada el
cdigo de una Mquina de Turing y una cadena y acepta
si y slo si acepta .

Teora de la Computacin

41

3.3. Problemas Indecidibles


(Cont.)
Porqu es importante estudiar problemas indecidibles?

Saber que un problema es indecidible, permite darse cuenta


que el problema debe ser simplificado o alterado para
encontrar una solucin computacional.
Conocer las capacidades y limitaciones de la computacin,
da una perspectiva importante sobre la misma.

Teora de la Computacin

42

Continuar..

Teora de la Computacin

43

You might also like