Documentos de Académico
Documentos de Profesional
Documentos de Cultura
201 509 1 DR PDF
201 509 1 DR PDF
de algoritmos
Resolubles Irresolubles
Computabilidad ↑
Solución ≡ MT
Complejidad ↓
Métricas de complejidad
- Puntos de función - Temporal
- Líneas de código - Espacial
- Estructural
- Ciclomática
Figura 1: Marco conceptual de la computabilidad y la complejidad de problemas.
Al leer un símbolo de su hoja de trabajo, el de transición y símbolo especial de espacio
estado cerebral del calculista cambiará y en blanco.
podrá entonces eventualmente modificar el Esta máquina puede pensarse como una
símbolo leído, para luego leer el siguiente máquina reconocedora, que aceptará la
o el anterior. Este proceso se repetirá hasta cadena de entrada si al procesarla con la
dar por terminado el cálculo. función f logra detenerse en un estado de
Turing también especuló que el conjunto aceptación (la rechaza en caso contrario), o
de símbolos (alfabeto) que el calculista como una máquina traductora-ejecutora
maneja debería ser finito, ya que no podría de procedimientos, que toma una cadena
distinguir infinitos símbolos. de entrada y al detenerse deja en su cinta el
resultado de la operación, como salida.
q0 Este dispositivo abstracto de cómputo, 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}
sólo si, puede diseñarse una máquina de
Figura 2: Máquina de Turing. Turing que lo resuelva. Por otro lado, para
determinar la complejidad operativa de la
La figura 2 muestra un esquema de una solución, se define la complejidad espacial
Máquina de Turing, en la cual el conjunto de la máquina E(n) como la cantidad de
finito de estados posibles Q está indicado celdas de cinta usadas para procesar una
en el círculo (la flecha marca el estado cadena de entrada en función 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, relación 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 símbolo de algún 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 máquina, un símbolo representa un dispositivo abstracto bien
especial de espacio en blanco que rellena definido, cuyas métricas de complejidad
el resto de la cinta infinita y algunos resultan ser independientes tanto de la
símbolos auxiliares necesarios para el tecnología de implantación como de los
proceso), y el funcionamiento de la misma usuarios que la utilicen.
está regido por una función f (denominada Se detallará a continuación, y a modo de
su función de transición) que para cada par ejemplo, un ejercicio del tipo de los que se
estado-símbolo 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 resolución. [5]
cinta y la acción mecánica que deberá
realizarse: mover el cabezal de lecto- Ejercicio:
escritura a la (I)zquierda, a la (D)erecha o Dado un lenguaje de palíndromos impares
(N)o moverlo, o eventualmente detener el tal como L = {α#α-1 / α∈{a, b}+} se pide:
cálculo (P). a) Construya una máquina de Turing (MT)
Matemáticamente, este modelo se describe que acepte las cadenas de dicho lenguaje.
con una séptupla (, , Q, q0, A, f, ) que b) Construya otra máquina de Turing que
agrupa al alfabeto de entrada, alfabeto de se comporte como un autómata con pila,
cinta, conjunto de estados, estado inicial, como solución alternativa, para realizar el
conjunto de estados de aceptación (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), función trabajo de una pila).
c) Verifique la validez de las máquinas la pila. A continuación, por cada símbolo
construidas en los puntos a) y b) con el del sufijo posterior al separador #, si el
auxilio de un simulador de máquinas de caracter leído en la cadena coincide con el
Turing, probando los modelos de solución de la cima de la pila (el más 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 símbolo de más a la derecha de la cinta).
máquinas en forma analítica y gráfica. La definición formal de la segunda
e) Compare las complejidades obtenidas máquina es: MT2= ({a, b, #}, {a, b, #, A,
para los dos procedimientos de solución y B, P, □}, {q0, q1, q2, q3, q4, q5, q6, q7, q8, q9,
exprese a qué conclusión se puede arribar. q10, q11, q12, q13}, q0, {q13}, f, □) donde la
función de transición f se representa a
Solución:
través del grafo de la figura 4.
a) Para resolver este problema se propone d) Para obtener analíticamente la expresión
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 símbolos cadenas de ciertos largos (por ejemplo para
del sufijo y del prefijo, con sucesivos n = 3, 5, 7 y 9), en cada máquina. Como
movimientos de avance y retroceso. este recuento puede ser bastante laborioso,
La definición formal de esta máquina es: suele recurrirse a los simuladores para la
MT1 = ({a, b, #}, {a, b, #, 1, 2, □}, {q0, q1, tarea, ya sea efectuando la simulación paso
q2, q3, q4, q5, q6}, q0, {q6}, f, □) y su a paso, o tomando los totales arrojados por
función de transición f puede verse el simulador, si es que éste los ofrece. De
representada en el grafo de la figura 3. manera análoga, para el caso de la
b) Para la segunda solución, 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 símbolo P en el las mismas cadenas. Estos valores, para el
primer blanco para marcar el inicio de la problema y las máquinas planteadas son
pila, luego el cabezal vuelve al inicio de la presentados en la tabla 1.
cadena y por cada símbolo 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.