Professional Documents
Culture Documents
de algoritmos
Resolubles Irresolubles
Computabilidad
Solucin MT
Complejidad
Mtricas de complejidad
- Puntos de funcin - Temporal
- Lneas de cdigo - Espacial
- Estructural
- Ciclomtica
Figura 1: Marco conceptual de la computabilidad y la complejidad de problemas.
Al leer un smbolo de su hoja de trabajo, el de transicin y smbolo especial de espacio
estado cerebral del calculista cambiar y en blanco.
podr entonces eventualmente modificar el Esta mquina puede pensarse como una
smbolo ledo, para luego leer el siguiente mquina reconocedora, que aceptar la
o el anterior. Este proceso se repetir hasta cadena de entrada si al procesarla con la
dar por terminado el clculo. funcin f logra detenerse en un estado de
Turing tambin especul que el conjunto aceptacin (la rechaza en caso contrario), o
de smbolos (alfabeto) que el calculista como una mquina traductora-ejecutora
maneja debera ser finito, ya que no podra de procedimientos, que toma una cadena
distinguir infinitos smbolos. de entrada y al detenerse deja en su cinta el
resultado de la operacin, como salida.
q0 Este dispositivo abstracto de cmputo, es
qn q1
A B C D E F2
q G ideal para el estudio de los conceptos de
o
o
q3 computabilidad y complejidad. La llamada
o o
tesis de Turing-Church establece que un
problema ser considerado computable si y
f:QQ{I,D,N,P}
slo si, puede disearse una mquina de
Figura 2: Mquina de Turing. Turing que lo resuelva. Por otro lado, para
determinar la complejidad operativa de la
La figura 2 muestra un esquema de una solucin, se define la complejidad espacial
Mquina de Turing, en la cual el conjunto de la mquina E(n) como la cantidad de
finito de estados posibles Q est indicado celdas de cinta usadas para procesar una
en el crculo (la flecha marca el estado cadena de entrada en funcin de su largo n,
actual), la hoja de papel est representada y la complejidad temporal T(n) como la
por una cinta infinita dividida en celdas, relacin que existe entre el largo n de la
cada una de las cuales puede contener un cadena de entrada a procesar y el tiempo
solo smbolo de algn alfabeto de cinta demandado en la tarea, medido como la
(que incluye al alfabeto de entrada con el cantidad de transiciones efectuadas para
cual pueden escribirse las cadenas iniciales procesarla. Decimos que es ideal porque
a procesar por la mquina, un smbolo representa un dispositivo abstracto bien
especial de espacio en blanco que rellena definido, cuyas mtricas de complejidad
el resto de la cinta infinita y algunos resultan ser independientes tanto de la
smbolos auxiliares necesarios para el tecnologa de implantacin como de los
proceso), y el funcionamiento de la misma usuarios que la utilicen.
est regido por una funcin f (denominada Se detallar a continuacin, y a modo de
su funcin de transicin) que para cada par ejemplo, un ejercicio del tipo de los que se
estado-smbolo indica el nuevo estado al proponen a los estudiantes de la asignatura
que se transitar, lo que se grabar en la SSL en la UTN-FRC, y su resolucin. [5]
cinta y la accin mecnica que deber
realizarse: mover el cabezal de lecto- Ejercicio:
escritura a la (I)zquierda, a la (D)erecha o Dado un lenguaje de palndromos impares
(N)o moverlo, o eventualmente detener el tal como L = {#-1 / {a, b}+} se pide:
clculo (P). a) Construya una mquina de Turing (MT)
Matemticamente, este modelo se describe que acepte las cadenas de dicho lenguaje.
con una sptupla (, , Q, q0, A, f, ) que b) Construya otra mquina de Turing que
agrupa al alfabeto de entrada, alfabeto de se comporte como un autmata con pila,
cinta, conjunto de estados, estado inicial, como solucin alternativa, para realizar el
conjunto de estados de aceptacin (a los mismo trabajo (parte de la cinta deber ser
que se arriba al final del proceso si la usada con acceso LIFO para simular el
cadena de entrada es reconocida), funcin trabajo de una pila).
c) Verifique la validez de las mquinas la pila. A continuacin, por cada smbolo
construidas en los puntos a) y b) con el del sufijo posterior al separador #, si el
auxilio de un simulador de mquinas de caracter ledo en la cadena coincide con el
Turing, probando los modelos de solucin de la cima de la pila (el ms a la derecha
con distintas cadenas. en la cinta), lo marca como procesado y lo
d) Obtenga expresiones generales para la desapila (reemplazando con un blanco el
complejidad temporal y espacial de ambas smbolo de ms a la derecha de la cinta).
mquinas en forma analtica y grfica. La definicin formal de la segunda
e) Compare las complejidades obtenidas mquina es: MT2= ({a, b, #}, {a, b, #, A,
para los dos procedimientos de solucin y B, P, }, {q0, q1, q2, q3, q4, q5, q6, q7, q8, q9,
exprese a qu conclusin se puede arribar. q10, q11, q12, q13}, q0, {q13}, f, ) donde la
funcin de transicin f se representa a
Solucin:
travs del grafo de la figura 4.
a) Para resolver este problema se propone d) Para obtener analticamente la expresin
una MT que mueve el cabezal hasta el de la complejidad temporal, se determina
separador #, y a partir de all avanza desde el total de intervalos de tiempo (esto es,
el medio de la cadena hacia los extremos, transiciones) necesarios para procesar las
verificando la concordancia de smbolos cadenas de ciertos largos (por ejemplo para
del sufijo y del prefijo, con sucesivos n = 3, 5, 7 y 9), en cada mquina. Como
movimientos de avance y retroceso. este recuento puede ser bastante laborioso,
La definicin formal de esta mquina es: suele recurrirse a los simuladores para la
MT1 = ({a, b, #}, {a, b, #, 1, 2, }, {q0, q1, tarea, ya sea efectuando la simulacin paso
q2, q3, q4, q5, q6}, q0, {q6}, f, ) y su a paso, o tomando los totales arrojados por
funcin de transicin f puede verse el simulador, si es que ste los ofrece. De
representada en el grafo de la figura 3. manera anloga, para el caso de la
b) Para la segunda solucin, se construye complejidad espacial, se determina el total
una MT que mueve el cabezal hasta el final de celdas de cinta necesarias para validar
de la cadena y escribe un smbolo P en el las mismas cadenas. Estos valores, para el
primer blanco para marcar el inicio de la problema y las mquinas planteadas son
pila, luego el cabezal vuelve al inicio de la presentados en la tabla 1.
cadena y por cada smbolo que lee del
prefijo, hasta el separador #, lo escribe en
Figura 3: MT1 que avanza desde el medio de la cadena hacia los extremos.
Figura 4: MT2 que utiliza parte de su cinta como una pila.