Академический Документы
Профессиональный Документы
Культура Документы
y Autmatas
Gua de Estudio de
Ingeniera en Sistemas
Computacionales
Cuatrimestre II
Vigencia periodo escolar Enero Abril 2014
RECOMENDACIONES GENERALES.
MODALIDAD
MIXTA
CUATRIMESTRE:
SEGUNDO.
LNEA DE FORMACIN:
CRDITOS:
OBJETIVO:
LENGUAJES
FORMALES Y
AUTOMATAS
BLOQUE III.
COMPLEJIDAD DE
PROBLEMAS.
NDICE
PRESENTACIN .................................................................................................... 6
BLOQUE I. AUTMATAS FINITOS ....................................................................... 9
1.1 QU ES UN AUTMATA? ............................................................... 10
1.2 SISTEMAS DE ESTADOS FINITOS .................................................. 11
1.2.1 Ejemplo 1: ............................................................................................. 13
PRESENTACIN
estriba
en
que
los
lenguajes
formales
obedecen
reglas
preestablecidas y por tanto se ajustan a ellas. Sin embargo los lenguajes naturales
(utilizados por el hombre) las reglas gramaticales que rigen su escritura han sido
desarrolladas con posterioridad para explicar esta ltima. Por otro lado tambin se
abordar la teora sobre autmatas o maquina abstracta que no es ms que un
dispositivo terico capaz de recibir y transmitir informacin. Para realizar esta labor
manipula cadenas de smbolos que se le presentan a la entrada produciendo
otras cadenas de smbolos a su salida mediante un conjunto de estados que
contienen la informacin necesaria para poder deducir, dado un smbolo de
entrada, cul ser el smbolo de salida en cada momento.
OBJETIVO GENERAL
PROPSITO
DEL BLOQUE I
Introduccin
Por tanto los lenguajes formales sern meramente smbolos con una gramtica
formal para agruparlos.
1.1 QU ES UN AUTMATA?
10
es
computable?
Cuntos
recursos(memoria,
espacio,
tiempo,
transiciones) se necesitan?
finito
son
una
herramienta
muy
til
para
especificar
aspectos
Si para todo estado del autmata existe como mximo una transicin definida para
cadasmbolo del alfabeto, se dice que el autmata es determinstico (AFD). Si a
partir de algnestado y para el mismo smbolo de entrada, se definen dos o ms
transiciones se dice que el autmata es no determinstico (AFND).
Formalmente un autmata finito se define como una 5-uplaM = <E, A, d, e0, F>
dondeE: conjunto finito de estadosA: alfabeto o conjunto finito de smbolos de
entradad: funcin de transicin de estados, que se define como- d: E x A E si el
autmata es determinstico- d: E x A P(E) si el autmata es no determinstico
(P(E) es el conjunto potenciade E, es decir el conjunto de todos los subconjuntos
de E)e0: estado inicial; e0 EF: conjunto de estados finales o estados de
aceptacin; F EGeneralmente se asocia con cada autmata un grafo dirigido,
llamado diagrama de transicinde estados. Cada nodo del grafo corresponde a un
estado. El estado inicial se indica medianteuna flecha que no tiene nodo origen.
12
1.2.1 Ejemplo 1:
13
Ejemplo 2:
Autmata finito determinstico que acepta el lenguaje
14
Podemos pensar de un autmata como un dispositivo que lee desde una cinta con
smbolos y querealiza cambios de estados internamente:auto
Dibujamos los autmatas como grafos dirigidos (no introducimos el concepto
matemtico degrafos formalmente), los estados representan los nodos del grafo, y
dibujamos una arista atribuidacon un smbolo entre dos nodos si existe una
transicin correspondiente.
Es decir, el estado inicial est marcado por una flecha y los estados finales estn
marcados condoble crculo.
1.3.1 Ejemplo 1:
Un AFD que acepta la cadena de 0s y 1s donde los nmeros de ceros y unos es
par: cerounopar
15
16
q0
q2
q0
q1
q1
q1
q2
q2
q1
1
Start
q0
0
0
q2
q1
0,1
Convenciones
Se utilizan algunas convenciones para evitar mencionar el tipo de cada nombre,
para esto utilizamos las siguientes reglas:
Los smbolos de entrada son a, b, etc., o dgitos.
Las cadenas de smbolos de entrada son u, v, ..., z.
Los estados son q, p, etc.
17
Diagrama de Transiciones
Un AF se puede representar por medio de un grafo; los nodos representan
estados; un arco de p a q se etiqueta con el conjunto de smbolos de entrada a tal
que (q,a) = p.
No hay arco si a no existe.
El estado de inicio se indica con la palabra start con una flecha.
1
Start
q0
0
0
q2
q1
0,1
18
.Usamos
normalmente
letras
minsculas
para
anotar
palabras,
Dependiendo del alfabeto puede resultar difcil dividir una palabra en sus
smbolos. Si se puede dividir todas las palabras sobre un alfabeto solamente de
una manera en sus smbolos, se llama tal alfabeto libre. Solemos usar solamente
alfabetos libres.
|| = 0
El conjunto de todas las palabras que se pueden formar sobre un alfabeto ms la
palabra vaca se llama el universo del alfabeto W().
W() = {} [ {w | w es palabra sobre}
CW()
19
20
Alfabetos
Un alfabeto es un conjunto finito no vaco de smbolos.
Lenguajes
Un lenguaje es cualquier subconjunto del universo sobre algn alfabeto, es decir,
o tambin
21
Ejemplo:
22
23
es un lenguaje regular
24
Figura.-
En la figura, u es una cadena que lleva al automata del estado i al k pasando por
una variedad de estados, por esa razn se dibuj con linea punteada; v es una
cadena que lleva al autmata del estado k de nuevo al k pasando por un numero
indefinido de estados, que por supuesto depende de la longitud de la misma
cadena y finalmente t es una cadena que lleva al autmata del estado k al j.
El lema del bombeo, nos dice que si uvt es una cadena tambin lo debe de ser ut
, as como uvvt y en general uv n t n si es que el lenguaje en cuestin es un
lenguaje regular.La utilidad de este lema radica precsamente en decidir si un
lenguaje es regular o n, puesto que no queremos perder el tiempo buscando un
autmata finito que reconozca un lenguaje que ni siquiera es regular.
Formalmente, el lema del bombeo puede ser expresado de la siguiente manera:
25
26
27
28
29
30
M (Q, , , q0 , F )
Donde: : Q Q {L, R}
De manera que un 2DFA es un DFA que despues de cambiar de un estado a otro,
se puede mover a la izquierda en la cinta de entrada en lugar de hacerlo siempre
hacia la derecha como los FA's convencionales.
Una descripcin instantnea (ID) del 2DFA tiene la forma xqy donde x es la parte
de la cadena de entrada que se encuentra a la iquierda de la "cabeza" de lectura
del autmata, q es el estado en el que se encuentra el sutmata y y es la parte de
la cadena de la entrada que est a la derecha de la cabeza de lectura. El carcter
que leer el autmata es entonces el primero de y.
I k 1 I k
*
Usamos para indicar que de una instantnea se puede llegar a otra en varios
pasos
El lenguaje que reconoce un 2DFA es:
*
L( M ) {w | q0 w wp
p F)
Ej. El siguiente 2DFA reconoce cadenas formadas de 0's y 1's donde no haya dos
1's consecutivos. Para hacerlo, recorre la cadena de entrada de iquierda a
derecha y al encontrar el primer 1 cambia al estado q1 para "recordar" que ya
encontr un 1 y esta buscando el segundo 1 recorriendo la cadena de entrada a la
derecha. Al encontrar el segundo 1 cambia al estado q 2 y cambia de sentido
buscando ahora hacia la izquierda al menos un 0, si lo encuentra regresa al
31
estado inicial q 0 y continua su recorrido hacia la derecha. Todos los estados son
finales, es:
a)
b)
q0
q0
q1
q1
q1
q2
q0
q1
q1
q2
q0
32
q1
Los estados "Derechos" son aquellos a los que la transicin hacia ellos tiene
implcito un avance hacia la derecha y los "Izquierdos" son los que al hacer una
transicin hacia ellos simpre se hace un avance hacia la izquierda.
Base: La cadena nula concuerda por la iquierda y por la derecha a la cadena nula
1 Regla .- Si la secuencia q3 ,..., qk concuerda con la secuencia p1 , p2 ,..., pl por la
derecha bajo el smbolo b y adems
(q1 , b) (q2 , L)
Entonces, la secuencia q1 , q2 ,..., qk concuerda con la secuencia p1 , p2 ,..., pl por la
derecha bajo el smbolo b.
33
(q1 , b) ( p1 , R)
Entonces, la secuencia q1 , q2 ,..., qk concuerda con la secuencia p1 , p2 ,..., pl por la
derecha bajo el smbolo b.
( p1 , b) ( p2 , R)
Entonces, la secuencia q1 , q2 ,..., qk concuerda con la secuencia p1 , p2 ,..., pl por la
izquierda bajo el smbolo b.
( p1 , b) (q1 , L)
Entonces, la secuencia q1 , q2 ,..., qk concuerda con la secuencia p1 , p2 ,..., pl por la
izquierda bajo el smbolo b.
Determinando cuales secuencias verifican a cuales por la derecha, podemos
obtener un NFA a partir de un 2DFA.
Ejemplo, Obtengamos un NFA equivalente al 2DFA del ejemplo anterior.
para este autmta, las secuencias vlidas son solamente:
q0
q1
q0 , q2 , q1
q1 , q2 , q0
Bajo el smbolo 0 concuerdan:
nul por la derecha a nul
Base
Base
34
q0 por la derecha a q0
q1 por la derecha a q1
q1 por la derecha a q1 q 2 q0
Concordancias Concordancias
por la derecha por la derecha
bajo 0
bajo 1
[q0 ]
[q0 ]
[q1 ]
[q1 ]
[q1 ] , [q , q , q ]
1
2
0
[q0 , q2 , q1 ]
[q1 , q2 , q0 ]
[q1 ]
alcanza su valor final antes de que la siguiente seal de reloj ocurra, por lo tanto el
comportamiento de un circuito se puede predecir exactamente. Se requiere se
cierto retardo para cada operacin lgica, por lo que existe una mxima rapidez en
el que cada sistema sncrono puede responder. El anlisis de un diagrama de
tiempos puede darnos esta rapidez.
Una mquina de Mealy es una mquina de estados finita, donde las salidas estn
determinadas por el estado actual y la entrada. Esto significa que en el diagrama
de estados se incluye una seal de salida para cada arista de transicin. Por
ejemplo, en la trayectoria de un estado 1 a un estado 2, si la entrada es cero la
salida puede ser uno, y se debe poner sobre la arista la etiqueta 0/1.
36
37
INSTRUCCIONES:
LEE,
REFLEXIONA
CONTESTA
LOS
PLANTEAMIENTOS CORRESPONDIENTES.
QU ENTIENDES POR AUTMATA.
CON EL APOYO DE LA LECTURA DEFINE QU ES UNA MQUINA
TURING.
38
2.1.1 Definicin
sQ Es el estado inicial
Es el smbolo blanco
transicin.
La mquina de Turing posee una cinta dividida en celdas, cada celda es capaz de
almacenar un smbolo. Adems posee una cabeza lectora/escritora que lee y
escribe un smbolo en la cinta. Inicialmente la cinta contiene b en todas sus
celdas. La funcin de transicin transforma pares (q, ) en ternas de la forma
(p, t, X), donde p es el siguiente estado, t es el smbolo escrito en la cinta y X es el
movimiento de la cabeza lectora/escritora, que puede ser L o R.
40
2.1.2 Ejemplos
Los lenguajes aceptados por las mquinas de Turing se conocen como lenguajes
recursivamente enumerables.
41
43
s = q1,
= {a, b},
F = {q3},
= {a, b, z},
(q1, , z) = {(q3, )},
45
nuncatodo lenguaje recursivo puede ser generado por una mquinade turing en
orden lexicogrfico
Los estados en la TM semi-infinita son los que tiene la TM original junto con U o L
para representar arriba (U) o abajo (L), adems de un par de estados para
preparar la TM semi-infinita.
Cualquier dato puede ser codificado como una cadena de ceros y unos (y en
consecuencia como enteros no negativos).
Funciones totales vs. Funciones parciales
Ejemplos
Funcin total de NxN: +
Funcin parcial de NxN: div
f : n m
Donde m y n son enteros no negativos
2.8.1 FUNCIONES INICIALES
Funcin cero:
Funcin sucesor:
( x) x 1
Proyecciones:
23 (7,6,4) 6
11 (7) 7
02 (6,5) ()
22 (6, ( (5)))
f : k n
f g : k m n
k
m
g :
f g x ( f x , g x )
Composicin:
f : k n
f g : k m
n
m
g :
f g x f g x
Ejercicios:
13 33 (4,6,8)
Recursividad primitiva:
suma 0 x = 0
suma (y + 1) x = 1 + (suma y x)
50
Funciones constantes
k mn
k35
elementos y el valor 3
Correspondencia entre cualquier tupla de 3
k53
elementos y el valor 5
pred (0) ()
pred ( y 1) 12 ( y, pred ( y ))
Funcin monus (x-y)
monus( x,0) x
monus( x, y 1) pred (monus( x, y ))
Algunas funciones recursivas primitivas:
Funcin equal:
eq( x, y) 1 (( y x) ( x y))
51
Funcin not:
monus (k12 eq )
Funciones tabulares:
A(0, y ) y 1
A( x 1,0) A( x,1)
A( x 1, y 1) A( x, A( x 1, y ))
Ejercicio 1:
monus(0, pred(1))=0
f(0)=1
monus(1, pred(2))=0
f(1)=2
monus(2, pred(3))=0
f(2)=3
monus(3, pred(4))=0
f(3)=4
monus(4, pred(5))=0
f(4)=5
monus(5, pred(6))=0
f(5)=6
f es total
Resulta til para realizar pruebas de indecibilidad. El problema puede ser descrito
como sigue:
53
L1 = u1, un
L2 = v1, vn
El alfabeto contiene al menos dos smbolos.Una solucin a este problema es
una secuencia de ndices
i1,, ik, 1 ij n, tales que
ui1,uik = vi1vik
El problema de decisin consiste en saber si existe una solucin para el problema
planteado.
Ejemplo:
Sea = {a; b} y sean dos listas L1 y L2 siguientes:
i
ui
Vi
aba
bbb
Aaa
aab
Abab
bb
baba
54
Solucin.-
Solucin:
La expresin regular es: digito* letra (digito letra)*
55
La descripcin es: cadenas formadas por cero o ms dgitos y al menos una letra,
estando esta (o estas) en cualquier posicin.
Solucin:
Correcta
b) Incorrecta
y
y
z
y
z
Solucin: B.
No admite la cadena yz.
6.- El lenguaje que consiste en aquellas cadenas que no contienen tres xs
consecutivas es el lenguaje complementario del que consiste en aquellas cadenas
que s contienen tres xs consecutivas. Este ltimo lenguaje es regular, puesto que
puede representarse mediante la expresin regular: (xy)* xxx (xy)*. A
continuacin se muestran los respectivos diagramas de los autmatas que
reconocen los dos lenguajes anteriores.
Solucin.-
x
y
y
x
Solucin:
Estado := 1;
Leer el siguiente smbolo de entrada
WHILE El ltimo smbolo ledo no sea el de Fin de Cadena DO
CASE Estado OF
1: CASE Smbolo actual OF
Letra : Estado := 2 ;
: : Estado := 3 ;
Dgito : Estado := 5 ;
ELSE Salir a rutina de error ;
END (* del CASE interno *)
2: CASE Smbolo actual OF
Letra : Estado := 2 ;
Dgito : Estado := 2;
ELSE Salir a rutina de error ;
END (* del CASE interno *)
3: IF Smbolo actual <> = THEN Salir a rutina de error END ;
4: IF Smbolo actual <> NIL THEN Salir a rutina de error END ;
5: IF Smbolo actual <> dgito THEN Salir a rutina de error END ;
ELSE Salir a rutina de error ;
END (* del CASE externo *)
58
8.- Construya una tabla de transiciones a partir del diagrama del ejercicio anterior.
Solucin:
59
x
1
x
z
x
z
6
z
60
Recordemos que al ser determinista, en cada estado debe haber un arco y slo un
arco para cada smbolo de alfabeto. Elprocedimiento para contar los autmatas
es:
N de autmatas= (N de arcos posibles en cada estado) N de estados posibles actuales
Como para un mismo smbolo (en cada estado) debe haber un nico arco, el
nmero de arcos posibles en cada estado es igual alnmero de arcos diferentes
en cada estado.
Por tanto:
N de estados posibles actuales=N de autmatas N de
61
62
63
para
resolver
el
problema.
Por
esa
razn,
laslimitaciones
As, un clculo difcil requerir ms recursos que uno de menor dificultad. Los
recursos comnmente estudiados son el tiempo (nmero de pasos de ejecucin
de un algoritmo para resolver un problema) y el espacio (cantidad de memoria
utilizada para resolver un problema). Un algoritmo que resuelve un problema pero
que tarda mucho en hacerlo, difcilmente ser de utilidad. Igualmente un algoritmo
que necesite un gigabyte de memoria no ser probablemente utilizado. A estos
recursos se les puede aadir otros, tales como el nmero de procesadores
necesarios para resolver el problema en paralelo. Si un clculo requiere ms
tiempo que otro decimos que es ms complejo y lo llamamos complejidad
temporal. Por otro lado, si un clculo requiere ms espacio de almacenamiento
que otro decimos que es ms complejo, en este caso hablamos de una
complejidad espacial. Es claro que el tiempo que se requiere para efectuar un
clculo en un computador moderno es menor que el requerido para hacer el
mismo clculo con las mquinas de las dcada pasadas, y seguramente que el
tiempo en una mquina de la prxima generacin ser mucho menor. El estudio
de los procesos computacionales, conduce a una clasificacin de los problemas
en dos grandes clases: los problemas con solucin y los problemas sin solucin.
Los problemassolucionables, requieren gran cantidad de recursos como tiempo y
espacio de almacenamiento. El anlisis requerido para estimar el uso de recursos
de un algoritmo es una cuestin terica, y por tanto necesita un marco formal. El
formalismo y abstraccin constituye un mtodo necesario para la programacin,
considerada como disciplina cientfica en la que se prioriza la actividad de diseo y
razonamiento, sobre la de depuracin mediante prueba y error en un contexto
artesanal.
66
Los problemas que tienen una solucin conorden de complejidad lineal son los
problemas que se resuelven en un tiempo que se relaciona linealmente con su
tamao. Aunque actualmente la mayora de los algoritmos resueltos por
lasmquinas tienen como mximo una complejidad o costo computacional
polinmico, es decir, la relacin entre el tamao del problema y su tiempo de
ejecucin es polinmica. stos son problemasagrupados en la clase P. Los
problemas con costo no polinomial estn agrupados en la clase NP.
Estosproblemas no tienen una solucin algortmica, es decir, una mquina no
puede resolverlos en untiempo razonable.
Existe una escala para medir la complejidad, la que incluye, entre otros: P,
Resoluble en tiempopolinmico; P-completo, los problemas ms difciles en P. NP
problemas con respuestas positivasverificables en tiempo polinmico y NPcompleto, los ms difciles problemas de NP. Muchas de estasclases tienen una
co-clase que contiene los problemas complementarios a los de la clase original.
Por ejemplo, si X est en NP, el complemento de X est en co-NP. Sin embargo,
no debe entenderseque NP y co-NP sean complementarios; hay problemas que
pertenecen a ambas clases, yotros que no estn en ninguna de los dos. Cada
cierto tiempo se duplica el nmero deinstrucciones por segundo que los
computadores pueden ejecutar. Los profanos y no tan profanospiensan que esto
puede inducir a muchos programadores a pensar que basta esperar algunos
aospara que problemas que hoy necesitan muchas horas de clculo puedan
resolverse en pocos segundos, soslayando la necesidad de evaluar y obtener
algoritmos eficientes. Este artculo pretendedeshacer tal suposicin, mostrando
que el factor predominante que delimita lo que es soluble en untiempo razonable
de lo que no lo es, es precisamente el algoritmo elegido para resolver el problema.
El hombre es creativo por naturaleza, la tecnologa le ofrece un mundo de
posibilidades de exploracin, por tanto, no debe sustraerse de los beneficios que
sta le provee. Particularmente, el advenimiento de nueva tecnologa debe
tomarse como un estmulo para buscar algoritmos ms eficientes.
3.2 COMPUTABILIDAD
67
68
69
Utilidad
El estudio de la complejidad de los algoritmos permite evaluar su coste, y as:
1 Comparar algoritmos entre s.
2 Averiguar si un algoritmo es factible.
Aspectos que intervienen en el clculo de complejidades
Cules son los recursos informticos que hay que estimar.
En qu casos (para qu tipo de entradas) hay que estimar la complejidad.
Qu significa calcular el orden de magnitud.
Qu reglas prcticas existen para calcular complejidades.
Recursos considerados
Los recursos informticos a evaluar son el tiempo (de ejecucin) y/o el espacio (de
memoria) requeridos por los algoritmos. Ambos dependen claramente del tamao
de la entrada, por lo que se trata de calcular las funciones TA y EA tales que:
TA(n) = tiempo requerido para la ejecucin del algoritmo A con una entrada de
tamao n.
EA(n) = espacio de memoria requerido para la ejecucin del algoritmo A con una
entrada de tamao n.
70
El clculo en el peor caso asegura que los recursos reales consumidos, sea
cual sea el contenido de la entrada, nunca rebasarn el valor calculado.
71
Observacin
Dado que los conjuntos O(f ) proporcionan cotas superiores, se tratar de
encontrar la menor de todas las funciones f : N R+ tales que TA/EA O(f ) (por
ejemplo, si TA/EA O(n2), evidentemente tambin es TA/EA O(n3), pero ... lo
segundo no aporta nada!).
Consideraciones previas
Todo algoritmo est compuesto por una secuencia de instrucciones.
Existen unas reglas prcticas para calcular el coste de cada uno de los posibles
tipos de instrucciones. La complejidad de un algoritmo se basa en el coste de las
instrucciones que lo componen pero el clculo depende de si el algoritmo es o no
recursivo.
REGLA
4:
INSTRUCCIONES DE REPETICCION
74
SI EL ALGORITMO ES NO RECURSIVO
SI EL ALGORITMO ES RECURSIVO
log
para resolverlo y (b) este requerimiento puede ser probado fcilmente. Despus
Teorema (13.14)
El problema de si una expresin regular con exponenciacin denota a todas las
cadenas sobre su alfabeto puede ser resuelto en espacio exponencial.
77
Demostracin:
Dada una expresin regular de longitud n, debemos expandir los s para obtener
una expresin regular ordinaria y mostrar que tiene longitud de a lo mas n2n.
Entonces, debemos convertir sta expresin a un AFN de a lo mas n2n+2 estados y
probar que si el AFN acepta a *. (Ntese que ste ltimo paso debe ser hecho
sin conversin a un AFD, pues el AFD deber tener 2n2n+2 estados).
Para eliminar las s trabajamos de adentro hacia afuera. Probaremos por
induccin sobre j que una expresin con s, que tiene longitud m, con j 0s y 1s,
tiene una expresin regular ordinaria equivalente de longitud a lo mas m2j. Base j
= 0. El resultado es inmediato.
78
Debemosproporcionarunacotainferiorde2cn/lognparaalgunaconstantesobreelespaci
orequeridoparaelproblema
dearriba.Observequeproporcionandounaciertacantidaddeespacioserequieretambin
probarquelamismacantidaddetiempoes requerido(aunqueloopuestonoesverdad).
Teorema(13.15)
Existeunaconstantec>0talqueparacadaMTqueaceptael
lenguajeLrcxdeexpresionesregularesconexponenciacinquedenotaaquetomaame
nudomsque2cn/lognespacio(yporlotanto 2cn/logntiempo).
Demostracin:
ConsidreseunaMTMdeunacintasimpledeterministaespacio
acotado2n .Paracadaentradaxdelongitudn.
constryaseuna
quedenota,endonde
expresinregularconexponenciacinEx
eselalfabetodeEx,siysolosiMnoaceptaax.Porloquehacemos
denotetodoslosclculosdeMsobrex.
79
queEx
consistedetodos
lossmbolosdelacintadeM,lossmboloscompuestos[qX],donde
qesunestadoyXunsmbolodelacintaysmboloquesirvede
marca#.Asmaseque,0yel1nosonsmbolosdemarcado.
UnacadenayennoesunacadenadeaceptacindeMsobrexsi
ysolosiunaomsdelassiguientesaseveracionessonverdaderas.
LaDIinicialestequivocada.
Nohayunestadodeaceptacin.
CadaDInosesiguedeunapreviaporunmovimientodeM.
Enloquesigue,usamosconjuntosdesmbolospararepresentarla
expresinregularqueeslasumadestossmbolos.Destamanera,
si={a1 ,a2 ,...,an },entoncesusamosacomounataquigrafa
paralaexpresinregulara1+a2++an.Demanerasemejante
tambinusamosaparaestablecerlaexpresinregularqueeslasumadetodoslossmbol
osenexceptoa.
Unaexpresinregularquedenotatodaslascadenasquenoempiezan
conlaDIinicialestadadapor:
START =+(#)+A1+A2++
An +(n+1)(+)(2n1)(
B)+(2n+1)(#)
Endonde
0a1]) *
A=1 ([q
Ypara 2in,
Ai =i(ai)
80
Elpenltimoterminodenotaa n+1seguidoporhasta2nn1
smbolosseguidosporcualquiercosamenosporunblanco,ydenota
cadenastalesquealgunaposicinentren+1y2ndelaprimeraDI
2nn1estnescritosenbinario,
nocontieneunblanco.Comony
lalongituddestetrminoesproporcionalan.Elltimotrmino
denotacadenas,enlascualesel2n+1-e
si
nosmbolonoes#,lacualtambinesdelongitudproporcionalan.Lostrminosrestantes
tienensulongitudproporcionalalognyhayn
+3detalestrminos.
Destamaneralalongituddelaexpresionesproporcionalanlogn.
Curiosamente,lalongituddelaexpresinquedenotaunafalsaDI
inicialdominalalongituddelosotrostrminosenEx.
Unaexpresinregularqueobligaaquelacondicinqueestahy
quenoaceptaelestadoestardadapor:
FINISH=({[qX]}|qesunestadofinal)
Estaexpresin esdelongitudconstantedependientesolodeM.
Finalmente,seaf(W,X,Y)elsmboloquedenotaaZtalquesiW,XyYsonlas
posicionesi1,iei+1deunaDI,entoncesZentoncesestar
enlaposicinidelasiguienteDI.Entoncessea
MOVE=+ (W,X,Y) WXY
(2n1)(f(W,X,Y))
Estoes,MOVEeslasuma,sobreunnmeronitodetercias
(W,X,Y)desmbolosen,deaquellascadenasconW,XyY
ocupandoposicionesconsecutivasenunaDIquetieneunsmbolo
incorrecto2nposicionesaladerecha.Como
lalongituddecada
trminoeslinealenn,lalongituddeMOVEeslinealenn.
La
expresindeseadaesEx=START+
FINISH+MOVE.SiM
entonceselclculoaceptadonoestenEx.Sialguna
n
81
aceptaax,
#[q0a1 ]a2anB2
cadenaynoestenEx,entoncesdebedeempezar
n #,cadaDIdebeseguirlapreviaporunmovimientodeM,ylaaceptacindebedeocurriren
algunaparte. DestamaneraMaceptaax.PorlotantoEx=siysolosiM noaceptaax.
Ahora,seaMunamquinadeTuringqueaceptaellenguajeLque
puedeseraceptadoen2nespacioperonoen2n j/nespacio.El
teoremadejerarquaparaelespacioaseguraquetalMexiste.
SupngasequehabaunaMTS(n)espacioacotadaqueaceptaal
conjuntoLrexdeexpresionesregularesconexponenciacindenotando
a,conunacodicacinconvenienteLrextieneunalfabetonito.
Entoncespodramosreconocer Lcomosigue.
DexdelongitudnconstruyaEx,cuyalongitudesproporcionala
nlogn.PodemosconstruirEx proporcionalenespacioanlogn deunamaneraobvia.
CodicarEx
dentrodelalfabetodeLrex.ComoMtieneun
nmeronitodesmbolos,lalongituddelacodicacindeEx
es
cnlognparaalgunaconstantec.EnespacioS(cnlogn),determinesiEx
estenLrex,siesas, rechacex,sinoaceptax.
La
cantidadtotaldeespacioeselmximoentrenlognyS(cnlogn).
PuesningunaMTqueusamenosde2n/nespacioyqueaceptaaL existe,debeserque:
nlogn+S(cnlogn)>2n /n
delocontrarioLpodraseraceptadoenespacio2n /npoeelLema
12.3.Asexisteunaconstanted>0talquesiS(m)fuesemenorque2dm/logm
paratodonmeromenosparaunconjuntonitodem,
entonces(13.4)serafalso.
Corolario
82
Lrexescompletoparaespacioexponencialconrespectoalareduccin
entiempopolinomial.
Demostracin:
Enelteorema13.15dimosunareduccinentiempopolinomialpara
LrexquefuncionaparacadalenguajeLenDSPACE(2n).Habramos
podidogeneralizarlofcilmentealreducircualquierlenguajeen
DSPACE(2p(n)),paraalgnpolinomiop,aLrex.
DebemosobservarquelacotanlognsobrelalongituddeEx
es
crticaparaelTeorema13.15,aunqueparasucorolariohabramos
podidopermitirquelalongitudseaalgnpolinomioen|x|.Si,por
ejemplo,solopodramosprobarque|Ex||x|2 ,entoncesnuestra
cotainferiorquerequeramossobreelespacio
Lrexdebihabersido2d n
enlugardelaquetenamos.
Teorasdelacomplejidaddeprimerorden
Ahora
debemosconsiderarunproblemaquerequiereporlomenos
tiempo2cn,sernodeterminista,yqueseaconocidoquesepueda
resolverenespacioexponencialydoblementetiempoexponencial.
Comotambinpuedemostrarsequeelproblema esnodeterminista tiempoexponencial
difcilconrespectoalasreduccionesentiempo
polinomial,probandounacotainferiorqueesmejorconrespectoala
83
cantidaddetiemponodeterministaseraunamejorasobreel
teorema12.10,locualesmuypocoprobable.
Unlenguajedeprimerordenconsistedeundominio(porejemplo,los
enterosnonegativos),unconjuntodeoperaciones(porejemplo,+,*),unconjuntodepredi
cados(porejemplo,=,<)unconjuntode
constantesescogidasdeldominio,yunconjuntodeaxiomas
deniendoelsignicadodelosoperadoresypredicados.Paracada
teorapodemos
denirellenguajedeexpresionesverdaderassobrelasconstantes,operadores,predicado
s, variables,losconectoreslgicos,,yyloscuanticadoresy.
Ejemplo
(N,+,,=,<,0,1),endondeNestlosenterosnonegativos,es
conocidacomoteorade
nmeros.Elfamosoteoremadeincomplets
deGodelestablecequeellenguajededeclaracionesverdaderasen
teoradenmerosesindecidible.MientrasqueelresultadodeGodel
precedentealasmquinasdeTuring,noesdifcilmostrarsu
resultado.SiunaMTMaceptacuandoempiezaconunacintaen
blanco,lohaceporunclculoenelcualninguna
DIesmasgrande
quealgunaconstantem.Podemostratarunenteroi,enbinario,
comounclculodeMconDIsdelongitudm.
La
aseveracindequeMaceptaa,elcualsesabequees
indecidible,puedeserexpresadocomoim(Em(i)),endondeEmes
unpredicadoqueesverdaderosiysolosiieslacodicacindeun
clculoqueconduceauna
aceptacindeconDInomasgrandeque
m.(Algunosdelosdetallesestnenelejercicio13.37.)Desta
manera
lateoradenmerosesunateoraidecidible.
Hay
unnmerodeteorasdecidiblesconocidas.Porejemplo,
(R,+,=,<,0,1),lateoraderealesconadicin,esdecidible,y
84
debemosmostrarquerequieredemanerainherentetiempono
deterministicoexponencial.Silosrealessonreemplazadosporlos
racionales,obtenemosquelaoracindearribaesotravezverdadera,
puessinlamultiplicacin,esimposibleencontrarunaaseveracin
comox(xx=2)queesverdaderaparalosrealesperonoparalos
racionales.La
teoradeenterosconadicin(Z,+,=,<,0,1),llamadaaritmticaPresburger,esdecidible,y
sesabequerequiere
tiempodoblementeexponencialnodeterministico.Estoes22
esuna
cn
cotainferiordelacomplejidaddetiemponodeterministicodela
aritmticadePresburger.
Ejemplo
Antesdeproseguir,consideremosunnmerodeejemplosenlateora
derealesconadicin.xy(y=x+1)esverdadero:dicequex+1 esunrealsixloes.
xy[x = yz(x<zz<y)
z(y<zz<x)]
Tambinesverdadero:establecequeentredosnmerosreales
diferentespodemos
encontraruntercerreal;estoes,losrealesson densos.Laoracin
yx(x<yx=y)
Esfalsa,puesparacadanmerorealyexisteunnmerorealmas
grande.Notequenotenemosmaneradedecidirsiunaoracines
verdadera;ladecisindepende
de
laspropiedadesyaconocidasdelos
nmerosreales,conloqueseasumeellectorestfamiliarizado.
Unprocedimientodedecisin
paralosnmerosrealescon
debemosempezarnuestroestudiodelosrealesconadicinpordar
unprocedimientoquerequiereespacioexponencialytiempo
doblementeexponencial.Paraempezar,pongamosnuestra
85
adicin
declaracindadaenformanormal,endondetodoslos
cuanticadoresseaplicanalaexpresinentera.Esfcilobteneruna
expresinenstaformasiprimero
renombramoscuanticadoresde
variablesyasellassernnicas yentoncesaplicamoslasidentidades.
(x(E))=x(E)
x(E1 )E2=x(E1E2)
Ycuatroreglassimilaresobtenidasdelasanterioresporintercambiar
yy/oreemplazandopor.Esteprocesonoesmsdeldoble
delongituddelaexpresin;losnicossmbolosquesepudieron
agregaralaexpresin
yE2
son
sumasdevariablesylasconstantes0y1.SabemosqueFesdesta
formaporqueningunaotracombinacintienesentido.Estoes,+
puedeseraplicadosoloavariablesyconstantes,<e=
relacionanconexpresionesaritmticasylosoperadoresBooleanos
puedenseraplicadossoloaexpresionesquetienencomoposibles
valoresaFalso/Verdadero.
Paradeterminarlaveracidadofalsedadde(13.5)sustituimos
repetidamenteparaelcuanticadormsinternounacuanticacin
acotada,lacualessmbololgicoor(enlugarde)oand(en
lugarde)deunnmerogrande,peronito,nmerodetrminos.
Supngasequeen(13.5)sejanlosvaloresx1,x2 ,...,xm1 .Cada
86
solose
tomoinvolucradoconxmpuedeponerseenlaformaxmopten
dondeopes<,=
o>ytesdelaformam1c0+.cixi,i=1endondeloscissonracionales.Supngasequetodos
estostomos
sonxmopti,1ik,endondet1t2tkparalosvalores
lnea
real
enunnmeronitodesegmentosylaveracidadde(13.5)depende
solodelsegmentoenelcualestxmynodelactualvalordexm .De
stamanerapodemosprobar(13.5)probandounodelosvaloresde
xmdecadaunadeunnmeronitoderegionescomolosugierela
Figura13.6.
variarn,realmentenosabemos
Comolosvaloresdex1,x2,...,xm1
elordendelostis.Masaun,probandoxm=ti,paracadai,
2
87
xm=1(ti+tj)paracadai=j,yxm=.Sabemosqueno
importaelordendelostis,estamossegurosdetenerunaxmrepresentativaencadainterva
lodelaFigura13.6ytambinenlos
mismostis,endondelostomosconeloperador=puedenllegara serciertos.
SiFtienektomos,F
tienek[k(k+1)/2+2]tomos,ademsF
tienealomask3
tomos,parak3.Tambin,siloscoecientesen
lostomosdeFsonelradiodelosenterosdealomasrbits,
entonces,despusdeagrupartrminos,resolverparaxmycalculando
elpromediodedostis,encontramosqueloscoecientesenlostomosdeF
sernproporcionesdeenterosconnomasde4r+1
sesiguequecomoa,b,cydsonenterosder-bits,
Eslaproporcindeenterosmsr-bits,y
88
bits.Deesto
Eslaproporcindeunenterode(2r+1)bitsyunenterode2r-bits.
Parar1,entonces,loscoecientesenF
nosonmsdecinco
veceslalongituddeloscoecientesdeF.
Siserepiteelprocesodearribaparaeliminartodosloscuanticadores
yvariables,nalmenteproduceunaformulaconsolooperadores
lgicos,=
<yconstantes.Lasconstantessonproporcionesde
enterosdealoms5mrbits.Elnmerodetomosesaloms
entreconstantesde5mrbits,y
comocadatomoesunarelacin
k,myrsonmenoresquen,lalongitud
delaexpresinesaloms
dn
n
22 ,paraalgunaconstantec(notequen3
2n
22 ).Podemosevaluar
untomodelaformaa/b<c/d
alcalcularadbcycomparndolo
con0.Destamanera,laexpresinnalenterapuedeserevaluada
enelcuadradodesulongitud.Enconsecuencianuestro
procedimientodedecisintoma22
dn
tiempo,paraalgunaconstanted.
Elprocedimientocomolohemosdadotambintomaespacio
doblementeexponencial.Masaun,podemos
reducirelespacioaun
espaciosimplementeexponencialalevaluarFrecursivamente.
Estamoslistosparaverquenecesitamossolounconjuntonitode
valoresparacadaxi.Losvaloresxi
estarndadosporlaformula
j=1ajxj,endondelosajssonracionales,quesonproporciones
deenteros5mj+1bits,endondereselnmerodebitsenla
constantemasgrandedelaformulaoriginal,F;notequerlogn.
Destamaneralosvaloresparax1sonracionalesqueson
proporcionesdeenterosdealoms5mrbits,losvaloresparax2son
proporcionesdeenterosdealoms5m+1 rbits,etc.Destamanera
solonecesitamoselcicloconlosvaloresparacadaxi
89
queesaloas
de52mrbits.UsamosunprocedimientorecursivoEVAL(G)que
determinasiGesverdaderacuandolasvariablestomanlosvaloresycualquierproporci
ndeunenterode52mrbits.
SiGnotienecuanticadores,entoncessoloconsistederelaciones
lgicasyaritmticasentrenmerosracionales,assuveracidadpuede
serdeterminadadirectamente.SiG=x(G ),EVAL(G)llamaa
EVAL(G )paratodaG
formadadeG
alreemplazarxporo
unaproporcinenterade52mrbits.EVAL(G)esverdaderasi
EVAL(G )nosregresaverdadparatodasstasexpresionesG .Si
G=x(G ),hacemoslomismo,peroEVAL(G)nosregresaverdadsiemprequealgunaEVAL(
G)esverdadera.
EsfcilvericarquenomsdemcopiasdeEVALsonactivas
simultneamente.LosargumentosparalasllamadasactivasaEVAL
puedenserpuestasenunapila,ystapilautilizaespacioO(m52mr).
Destamanera,siFesunaexpresindelongitudn,podemosevaluar
aFenespacio2cnytiempo22
Unacotainferior
dn
ahora
paraalgunasconstantescyd.
semostrarquelateoraderealesconadicinrequiere
esencialmentetiempoexponencialnodeterminista.Senecesitanuna
seriedelemasparamostrarquelamultiplicacinyexponenciacin
pornmerosenterosacotadospuedenserexpresadosporformulas cortas.
Lema(13.10)Existec>0talqueparacadanhayunaformulaMn (x,y,z)quees
verdaderasiysolosixesunenterononegativoestrictamentemenor
n
que22 ,yxy=z.Adems
puedeserconstruidodenentiempopolinomialenn.
90
Demostracin:
Mk+1(x,y,z)=u1u5 x1x4
[Mk(x1,x2 ,u1)
x=u1+x3+x4
Mk(x2,y,u2)Mk(x1 ,u2,u3)
Mk(x3,y,u4)Mk(x4,y,u5)
z=u3+u4+u5]
(13.7)
Estoes
u1=x1x2
x=x1x2+x3+x4 ,
condicindequecadaxi
k esunenteromenorque22
eselprimerargumentodealgunaMk.
porquecadaxi
La
formula(13.7)tienecincocopiasdeMk,asparecequeMk+1
debeserporlomenoscincovecestangrandecomoMkestohara
deMnseaexponencialennynolinealcomo
quelalongitud
habamosdicho.Noobstante,podemos
usarel"truco"
delTeorema
91
13.10parareemplazarvariascopiasdeunpredicadoporunasimple
copia.Estoes,podemosescribir
Mk+1(x,y,z)=1u5x1x4
[x=u1+x3+x4z=u3+u4+u5
rst[(r=x1s=x2t=u1)
(r=x2s=yt=u2)
(r=x1s=u2t=u3)
(r=x3s=yt=u4)
(r=x4s=yt=u5)
Mk(r,s,t)]].
Lo cual tiene un nmero constante de smbolos ms de los que Mk tiene.
Unpuntodemenorimportanciaesque
siintroducimoslosnuevos
nombresdevariablesparacadaMk,debemosintroducir
eventualmenteunfactorlogndentrodelalongituddeMn,pues
comolosnombresdevariablesdebenestarcodicadasenunalfabeto
jo
enellenguajedeformulasverdaderas.Noobstante,lasreglasde
alcanceparacuanticarformulasnospermitereutilizarvariables
sujetasalarestriccinquelasdocenuevasvariablesintroducidasen
notienenconictosconlasvariablesindependientesx,y,
stamaneraMnrequieresolo15diferentesvariablesylalongitudde
sucdigoesproporcionalalnmerodesmbolos.
ObservequeMn(x,0,0)establecequexesunenteromenorque22.
n
Destamanerapodemoshacerarmacionesacercadeenteros
pequeosenlateoradelosrealesconadicinusandoformulasmuy cortas.
Lema(13.11)
92
Mk
yz.De
Existeunaconstantec>0talqueparacadanhayunaformula
Pn(x,y,z)queesverdaderasiysolosixyzsonenterosenelrango
0x,z<22
yyx
DEMOSTRACIN
ConstruimosporinduccinunasucesindefrmulasEk(x,y,z,u,v,w)talqueEk
tieneunaconstruccinexponencialy
multiplicativadentro.Laraznparahacer
esto
esto
entrminosdeunacopiade
conPk,puesunafrmulaparaPk
involucraaPk1
yaMk1.
UsandovariascopiasdeEk,podemosdecirqueexistenenteros
x1,x2,x3,x4enelrangode0xi22 talesque:x=x1x2+x3+x4
yk=(yx1)x2yx3yx4
Finalmente,usamosel"truco"
delTeorema13.10paraexpresar
93
Ek+1
Porltimo,podemosescribir:Pn (x,y,z)=En(x,y,z,0,0,0).
Loanteriornosdicequez=yk,yxyysonenterosenelrango 0x,z<22n
Paramejorarlalegibilidaddeloquesigue,usaremoslassiguientes
abreviaciones,2paraabreviar1+1,2xparax+x,xypara
x<y x=yyxy<zpara(x=y x<y) y<z.Expandir
unaformulaabreviada,resultaenalomasmultiplicarlalongitudpor
unfactorconstante.Ademsparalasabreviacionesdearriba,
debemosusarconstantescomo2nymultiplicacionescomoabenlas
formulas.Tcnicamenteestasdebenser
reemplazadas,introduciendo
unavariableexistencialmentecuanticada,digamosx,yarmemos
quex=2nox=abporPn(n,2,x)oMn(a,b,x).Estotambin
incrementalalongituddelasformulasporunfactorconstante.
Nos
propondremoscodicarclculosdelamquinadeTuringcomo
nmerosenteros.SeaMunaMTNacotadaentiempo2n.Siel
nmerototaldesmbolosdelacinta,smboloscompuestosyel
marcador#esb,entoncesunclculodeMesunenteroxenel
rangode0x<b(2+1)+1.Laarmacin,queunenteroesuncalculo,esfacilitadoporunpre
dicadoqueinterrogaali-esimodigito enlarepresentacinb-ariadex.
Lema(13.12)
94
Paracadanybexisteunaconstantec,quedependesolodeb,tal
sonenteros,0x<b(2
quehayunaformulaDn,b(x,i,j)queesverdaderasiysolosixei
+1)+1,0i<2n,yxi,el(i+1)esimodgitodexcontandodesdeelextremodeordeninferiordela
representacinb-
ariadex,esj.Msan|Dn,b|c(n+1),yDn,b
puedeserconstruidodenybentiempopolinomialennyb.
Demostracin:
Para cada b existe una constante s tal que b(2n+1) 2+1 2 2sn
todan.Destamanerasixesunenteroenelrangocorrecto,puede
serexpresadacomom[Psn((2n+1)2.b.m) 0x<m].(Recuerde
nuestroscomentariospreviosconcernientesaconstantescomo2ny susexpansiones.)
Siiesunenteroenelrango0i<2npuedeser
expresadoporMn(i,0,0) (0x<2n).Ahoraxenbasebtiene
cerosenlasposiciones1,2,...,i+1siysolosiesdivisibleporbi+1.
Destamaneraxi=jsiysolosiexistenenterosqyrtalesque
x=qbi+1+ryjbr<(j+1)bi.Estehechoesfcilmente expresadousandoPsnyMsn.
Teorema(13.16)
Cualquieralgoritmonodeterministaparadecidirsiunaformulaenla
teoradeprimerordendelosrealesconadicinesnecesariamente
verdadera,paraalgunaconstantec>0,toma2cnpasosparaun nmeroinfinitodens.
Demostracin:
La
pruebaesmuysimilarenesenciaalapruebadelTeorema13.1.
SeaMunaMTNarbitrariaacotadaentiempo2n.Aqu,lasDIsen
unclculodeMconsistendemasbien2nsmbolosquep(n)comoen
elTeorema13.1.Seabelnmerototaldesmbolosdelacinta,
smboloscompuestosy#s.EntoncesunclculodeMsobresu
entradadelongitudnconsistede[(2n+1)2+1]
Podemosconsiderarestosclculoscomounenteroi
95
dgitosbinarios.
enelrangode
0i<22
paraalgunaconstantes.Porconveniencia,tomamoslos
dgitosdeordeninferiordei,
paraestarenelnalizquierdodel clculo.
SeaxunaentradadelongitudndeM.ConstryaseunaformulaFx,
queesverdaderasiysolosiMaceptaax.Fx
esdelaforma i(...),
endondelaformulasinlosparntesisarmaquei
esunclculo
aceptadodex.EstaformulaesanlogaaladadenelTeorema13.1.
Losprimerosn+1smbolosdelcalculoson#[q0,a1,m]a2an,asumiendoquex=a1a2
an,q0
eselestadoinicialymescualquier
eleccindelprimermovimiento.Paradecirquelosprimerosn+1
movimientosdelclculosoncorrectos,decimosqueexistenuyj
talesque,elvalordeurepresentaa#[q0,a1,m]a2an
paraalgunamei=bn+1j+uparaalgnenteroj.
espacioentiempoquees
DebemosescribirstaformulaenO(n)
polinomialenn.Porinduccinsobrek=2,3,...,n+1podemos
escribirunaformulaCk(v)convariableindependientev,lacual
armaqueelvalordeveselvalornumricodelosprimerosk
smbolosdelclculo.Paralabase,k=2,simplementeescribimosla
formulaC2(v)=(v=p1v=p2v=pn).
Endondelaspjssonlosenterosrepresentadospor#[q0,a1,m]para
elconjuntonitodevaloresdem.Porlainduccin,Ck(v)= (Ck1(w) v=bw+ak1),endo
ndelasakssontomadasdevaloresnumricosdelsmbolode
cintaak1.ParaevitarusarnvariablesparaexpresarCn+1,lascuales
haransulongitudO(nlogn),alternamosentredosvariables,por
ejemplovyw,comoconstruimosC2,C3 ,...,Cn+1.
La
frmuladeseadaarmaqueCn+1(u)ei=bn+1j+uparaun
enteroj.LaltimaarmacinessimilaralaquehicimosenelLema13.12,ylatcnicanoser
repetidaaqu.
96
ParaexpresarquelaDIinicialfuecorrectaenelTeorema13.1
,
requiriarmarqueaproximadamentep(n)celdascontenanel
smboloblanco.Estofuedotadoporelsmbololgico dep(n)
objetos.Ahora,debemosarmarque2nceldascontienenelsmbolo
blancoydestamaneranopodemosusarelsmbololgicode2n
formulas;staseraunaformulamuylarga.Encambio
sise
usanlos
cuanticadores jysearmaquetambinjnoesunenteroenel
rangon+2<j2n+1oqueelj-esimosmboloesunblanco,el
cualsedenotapor0.Destamaneraescribimosj[Msn(j,0,0)(n+2j2n+1)Dnb(i,j,
0)]
LasformulasquefuerzanaquelaltimaDIcontengaunestadonal
yfuerzanaquecadaDIsesigadelapreviaDIporquedelaeleccin
delmovimientoincrustadoenlaDIpreviasontrasladadosdemanera
similardelastcnicasdelTeorema13.1.Teniendo
tenemosunaformulaEx,cuyalongitudes
esto
hecho,
proporcionalan,quees
verdaderasiysolosiMaceptaax.
SupongaqueMaceptaunlenguajeL
entiempo2nelcualnoes
aceptadoporcualquierMTN2n/2espacio-acotada.(Laexistenciade
tallenguajesesiguedelajerarquaNTIMEdeCook[1973a],lacual nohemosprobado.)
PodemosreconoceraL
comosigue.Dadaxdelongitudn,produce
queesverdaderasiysolosixestenL.Ahora
laformulaEx
siT(n)
esentiemponodeterminista,essuciente
aceptarelconjuntode
formulasverdaderasenlateoradeprimerordendelosrealescon
adicin,podemos
determinarsixestenLentiempop(n)+T(cn).
Entoncesp(n)+T(cn)>2n/2paraunnmeroinnitodens,delocontrario,porelLema12.3
reconoceramosaLentiempoalomas2n/2,paratodan.SesiguequeT(n)2dnparaalguna
d>0.
97
Corolario
La
teoradelosrealesconadicinesdifcilentiempoexponencial
conrespectoalasreduccionesentiempopolinomial.
Demostracin:
La
pruebaesunageneralizacin
fcildelaprecedentereduccinde
unaMTentiempo2nnodeterminista.
INTRODUCCIN
La complejidad computacional estudia el coste de la resolucin de un problema.
El esfuerzo necesario para resolver un problema de forma eficiente puede
variarenormemente.
Como unidad de medida del tiempo de ejecucin se suele utilizar la Operacin
Bsica, para que el rendimiento del algoritmo sea independiente de la potencia
delordenador, la calidad del compilador, la habilidad del programador, etc.
Clases de Complejidad
98
La mayor parte de los problemas en teora de la complejidad tienen que ver con
losproblemas de decisin, que corresponden a poder dar una respuesta positiva o
negativa a un problema dado.
Los problemas se clasifican en conjuntos o clases de complejidad (L, NL, P, PCompleto, NP, NP-Completo, NP Duro...)
Nosotros nos vamos a centrar en las clases P y NP y fundamentalmente en esta
ltima.
3.10.1 PROBLEMAS P Y NP
LA CLASE NP contiene los problemas de decisin que son resueltos por una MT
no determinista en tiempo polinmico y de ah su nombre: Non-Deterministic
Polynomial-time.
Naturalmente, cualquier problema en Ptambin se encuentra en NP:
Si una mquina de Turing determinista resuelve elproblema, una no
determinista tambin y en igual tiempo(MTD es un caso particular de MTND).
Pero qu relacin existe entre la clase P y la clase NP?
Saber si P=NP o PNP es el ms importante problema abierto en computacin
terica. Demostrar que las clases son distintas es uno de los problemas premiados
con 1 milln $.
Aunque el enigma est lejos de resolverse, parece que las clases son distintas.
As que de momento:
99
Problema de satisfactibilidad(SAT)
DAVIS-PUTNAM
A comienzos de los sesenta, M. Davis y H. Putnamdescubrieron un algoritmo
sencillo que mejoraligeramente la bsqueda exhaustiva (su coste no deja deser
exponencial).Se basa en aplicar una regla de resolucin que eliminalas variables
una por una y aade todos los resolventesal conjunto de clausulas.Se trata de un
algoritmo completo: Si existe solucin laencuentra.
101
SAT NP
Porque es un problema de decisin
Porque podemos construir una mquina de Turing No Determinista que resuelva el
problema en tiempo polinmico.
Una MTND para SAT se construir de la siguiente forma:
1. Emplear la parte no determinista para adivinar yescribir cada una de las
posibilidades (2^n siendo n elnmero de variables).
2. Para cada una de las 2^n posibilidades(asignaciones) se comprueba de manera
deterministasi hace satisfactible la frmula.
Sea E la expresin en FNC con N variables. En nuestro caso 5 por simplificar a las
que llamamos X1,X2...X5. Nuestra MTND tendr 2^N cintas, cada una con una de
las posibles asignaciones a las variables al principio y la expresin a continuacin:
102
103
TEOREMA DE COOK
Un problema de decisin es NP-completo si todo problema en NP puede
reducirse a l en tiempo polinomial. Si tienes un problema NP tienes una MT-ND
que lo resuelve en tiempo polinomial p(n), siendo n el tamao del problema. El
teorema de COOK establece que el problema de satisfactibilidad (SAT) es NPCompleto.
104
Definicin de la cinta
Definimos una serie de variables T(t,c,s), que representarn la cinta. T(t,c,s) es
cierto si la cinta de la MT tiene el smbolo s en la celda c en el momento t, y falso
en caso contrario. Para asegurar que dichas variables se comportan como una
cinta, aadimos a la frmula las clusulas:
[T(t,c,s) ~ T(t,c,s)] con t = 0,1,...,p(n), c = [-p(n),p(n)] ys, ssmbolos del
alfabeto de la MT tales que s s.
Definicin de cabezal
Definimos las variables H(t,c) para representar el cabezal de laMT. H(t,c) es
verdadero si el cabezal de la MT est en la celda c en el momento t, y falso en
105
caso contrario. Aadimos las clusulas [H(t,c) ~ H(t,c)] con t = 0,1,...,p(n); c,c
= [-p(n),p(n)] y c c.
Adems, para asegurar que en la cinta lo nico que se modifica es loque est
debajo del cabezal, aadimos las clusulas:
[T(t,c,s) ^ ~ H(t,c) T(t+1,c,s)]con t = 0,1,...,p(n) y c = [-p(n),p(n)]
Condiciones inciales
H(0,0), en el instante t = 0 el cabezal esta en c = 0;
S(0,0), en el instante t = 0 el estado es q = 0;
La descripcin del problema est en las celdas de la 1 a la n:
T(0,i,s(i)) con i = 1,2,...,n.
106
Por tanto hemos demostrado cmo convertir (en tiempo polinomial) cualquier
problema NP a un problema SAT tal que, si se resuelve dicho problema SAT, se
obtiene la solucin del problema NP. Luego SAT es NP-Completo.
Dnde qued el no-determinismo?. Una MT-ND puede ser vista como una MT
que disponga de elemento adivinatorio que llamaremos orculo. El orculo forma
parte de la cinta de entrada de la MT y se sita a la izquierda de la posicin inicial
delectura.(dibujo de la cinta de entrada de la MT).
11.- Cualquier lenguaje finito puede expresarse como la unin finita de los
lenguajes que constituyen cada una de sus cadenas. Es decir, si L = { i}i=1n, y
Li ={ i},entonces L = { U Li}i=1n. El diagrama seria:
107
12.-
nmero de cadenas infinito, entonces debe aceptar una cadena que consista en la
concatenacin de tres segmentos tales que cualquier repeticin del segmento
central (que es no vaco) d como resultado otra cadena aceptable. Esto se
conoce como lema de bombeo (pumping lemma), pues indica que pueden
generarse otras cadenas aceptables bombeando o ampliando una cadena
aceptable.
Solucin:
El autmata es finito -> El nmero n de estados es finito
El nmero de cadenas es infinito ->Para cualquier c1 de longitud l1, existe una
cadena c2 de longitud l2>l1.
Estos dos hechos implican el que existan cadenas de longitud l>n. Es decir,
existen cadenas en las que algn estado es recorrido ms de una vez. Estas
cadenas pueden ser de esta forma:
Nota: Observemos que al llegar al extremo final del segmento central, nada
impide que ocurra la entrada que provoca la vuelta al extremo inicial de dicho
segmento.
108
Cadenas que empiezan por una sucesin de xs (con al menos una x) y termina
con una sucesin de ys (con al menos una y).
c). ((xx*)U(yy*))
Cadenas de xs con al menos una x y cadenas de ys con al menos una y.
d). ((x*y*)z))
Cadenas formadas por cero o ms xs seguidas de cero o ms ys seguidas de
cero o ms zs.
x (x x) *
15.- Genere todas las cadenas que consisten en un nmero impar de xs y un
nmero par de ys.
109
110
16.- Dado el alfabeto {x, z}, queremos construir un autmata finito M tal que L(M)
sea el lenguaje formado por las cadenas que contienen al menos una z, y cada z
est inmediatamente precedida y seguida por una x. Es correcta la siguiente
solucin?
x
x
x
A. S
B)
No
Solucin: B.
El autmata no acepta la cadena xzxzx.
17.- Muestre que puede utilizarse un autmata finito determinista para reconocer
una cadena de parntesis anidados y equilibrados si se asegura que la
profundidad de anidamiento no exceder de un nivel preestablecido.
Este autmata lee cadenas de parntesis anidados hasta un nivel n, y los acepta
slo cuando estn todos equilibrados.
Solucin:
Este autmata permite cadenas del tipo ( ( ) ( ) ). Se vuelven a abrir parntesis
despus de aparecer el primero que cierra.
111
A. S, es posible
b)
No, es imposible
Solucin: A.
Ejemplo:
G = {Sx}, G = {SMN, MMM, NNN, Mx, Ny}.
19.- Dado el alfabeto {x, y}, queremos construir un autmata de pilaM tal que L(M)
sea el lenguaje en cuyas cadenas hay tres xs por cada dos ys. Es correcta la
siguiente solucin? (Se entiende que cada transicin que inserta o lee varios
smbolos en la pila representa en realidad varias transiciones consecutivas.)
x,;aa
,;#
x,bb;
y,aaa;
y,;bbb
A) S
B)
No
Solucin: B.
El autmata no acepta la cadena xyyxx.
112
,#;
y,z;
x,;z
,;#
a) S
b)
,#;
x,z;
No.
Solucin: B.
No es determinista. Se comprueba fcilmente al analizar la cadena xx.
x,;x
,;#
a) S
b)
y,x;
y,x;
z,x;
No
Solucin: B.
113
z,x;
,#;
E+E
E*E
(E)
id
id + id * id
id + (id*(id + id))
E + id * id
E + (id*(id + id))
E + E * id
E + (E * (id + id))
* id
E + (E * (E + id))
*E
E + (E * (E + E))
E + (E * (E))
E + (E * E)
E + (E)
E+E
E
114
ENTRADA
ACCIN
id + id * id $
Desplazar
$ id
+ id * id $
Reducir E
$E
+ id * id $
Desplazar
id * id $
Desplazar
$E+
$ E + id
$E+E
$E
* id $
* id $
Reducir E
id
Reducir E
E+ E
* id $
Desplazar
id $
Desplazar
$E*
id
$ E * id
Reducir E
id
$E*E
Reducir E
E *E
$E
PILA
ENTRADA
ACCIN
id+(id*(id+id))$
Desplazar
$id
+(id*(id+id))$
Reducir E
$E
+(id*(id+id))$
Desplazar
$E+
(id*(id+id))$
Desplazar
$E+(
id*(id+id))$
Desplazar
$E+(id
*(id+id))$
Reducir E
$E+(E
*(id+id))$
Desplazar
$E+(E*
(id+id))$
Desplazar
$E+(E*(
id+id))$
Desplazar
$E+(E*(id
+id))$
Reducir E
115
id
id
id
$E+(E*(E
+id))$
Desplazar
$E+(E*(E+
id))$
Desplazar
$E+(E*(E+id ))$
Reducir E
id
$E+(E*(E+E
))$
Reducir E
E+E
$E+(E*(E
))$
Desplazar
$E+(E*(E)
)$
Reducir E
(E)
$E+(E*E
)$
Reducir E
E*E
$E+(E
)$
Desplazar
$E+(E)
Reducir E
$E+E
Reducir E
$E
(E)
E+E
S
M
A) LL(1) B)
MN
xM
yN
LL(2)
Solucin: A.
El nico terminal que plantea ambigedad es M. Pero basta observar dos caracteres
para saber si hay que aplicar la segunda regla, o la tercera, o rechazar la cadena.
116
Ejemplo
A I
Se sustituye por:
A
AI
E+TIT
T*FIF
id I (E)
Convirtiendo
TE
+ TEI
FT
Derivando para:
id * (id + id) F
idI (E)
*FTI
E E
T
T*F
FT
F*F
idT
id*F
id* F
id*(E) id* (E
)T
id* (E + T)
id* (T E
)T
id* (T + T)
id* (F TE )T
id* (F + T)
id* (id T E )T
id* (id + T)
id* (id E
id* (id + F)
)T
id* (id + id )
id* (id + id)
<Prop>:: =
GRAMATICAS AMBIGUAS
Modelo
1 I 2
: : = else <prop> I
A A
1 I 2 Convirtiendo:
el I Ia I los I las
el l lA
aA l os
ANALIZADOR SINTACTICO LR
EJEMPLO: Algoritmo para obtener la coleccin de conjuntos de tems.
Sea C la coleccin de conjuntos de tems y Sel smbolo de inicio.
118
Para cada clase de items I en C y cada smbolo gramatical X; tal que goto (I,X) no
sea vacio y que aun no se encuentre en C, aadir a C el conjunto creado a partir
de goto (I, X).
(li, a) = Ij, entonces la tabla de anlisis indicar accin shift (cambio) desde el
estado i al estado j.
Accin [i, a]= j donde a = terminal.
Si S
Si A
para
Si goto (li, A)= Ij entonces la funcin Goto en la tabla de anlisis Goto [i, A]= j. li e
lj son conjuntos de items.
A = Smbolo no terminal.
.E
.E+T
I9 E
I2E
.T
I9 T
.T + F
I2 T
.T*F
I3 T
.F
I3T
.F
I4 F
.(E)
I4F
.(E)
I5 F
.id
I5F
.id
I6 E
T*.F
E.
I4 F
.(E)
E.+T
I5 F
.id
a E
I7 T
T.*F
( E. )
I6
E. + T
F r
I8 F
(.E)
I8 E
.E+T r
I2 E
.T
I2 T
.T*F r
I3 T
.F
I4 F
. (E)
I5 F
.id
E+T
T
T .* F
I10: Goto (l7, F)
T *F
I11: Goto (l8, ))
( E ).
E+.T
id
120
TE
+TE
FT
*FT
id (E)
0E
T
3
E:
E
T:
F
T:
10
*
11
1 F
13
2
F:
14
(
1
121
17
Entrada : id +id
id
14
17
10
13
id
14
17
10
13
14
15
Id
16
14
17
10
10
13
id
14
17
10
13
17
10
11
id
12
14
17
13
10
13
A). S B) No
Solucin: A.
122
2.- Dado el alfabeto {x, y, z}, queremos construir una mquina de Turing que
busque en su cinta la secuencia xy, la sustituya por zz y se detenga en cuanto
haya realizado esta operacin. Es correcta la siguiente solucin?
A). Correcta. B)
Incorrecta.
z
y
Rx R
zLz
x
Solucin: B.
Dada la configuracin inicial xzyxy, la mquina se detiene con la configuracin
xzzxy.
3.-El lenguaje aceptado por la siguiente mquina de Turing es el lenguaje
formado por todas las cadenas que cumplen estas dos condiciones: (a) la cadena
tiene un nmero par de equis; y (b) la cadena no tiene dos equis seguidas.
SL Rx SL L
y, z
A) Verdadero B) Falso
Solucin: B. El autmata acepta la cadena xyxxyx.
4.- Dado el alfabeto {x, y, z}, queremos construir una mquina de Turing que
busque en su cinta la secuencia xy, la sustituya por zz y se detenga en cuanto
haya realizado esta operacin. Es correcta la siguiente solucin?
A) Correcta. B)
Incorrecta.
123
z
y
Rx R
zLz
x
Solucin: B.
Dada la configuracin inicial xy ..., la mquina no se detiene nunca.
x,y,z
SL
R L
L
S
B) No
Solucin: A.
Es el lenguaje formado por los palndromos de {x, y, z}
6.- Queremos construir una mquina que venda tabaco haciendo un supuesto de
125 pesos el paquete. El comprador debe introducir monedas de 25 100 pesos.
y luego pulsar la tecla . Para controlar el proceso, se construye un autmata
que viene dado por la siguiente tabla. Es correcta esta solucin? (La mquina
debe dar una seal de error cuando la cantidad de dinero es incorrecta.
Las dems monedas son devueltas por la mquina, y por tanto no se consideran
en el autmata. Observe que la tecla equivale al fin de cadena.)
124
Estado
25
100
Error
error
Error
error
Error
error
Error
error
Error
error
error
Aceptar
Incorrecta
Solucin: B.
NOTA: Si se introduce una moneda de 25 y luego una de 100, debera aceptarlo.
EJERCICIOS A RESOLVER.-
1.- Seale la expresin regular que representa el lenguaje que acepta el siguiente
autmata.
y
x
x
y
a. (xy*xyy*xyx)
b. (xy*xyy*xyy* xx*)
c. (xy*xyy*x)
d. Ninguna de las anteriores
Respuesta:_____
125
S
S1
S1
S1
S1 xy
S
S2
xS2
S2 xy
xy*(xy*)*
{xnym : m y n son enteros positivos tales que m = n o m = 2n}
x*(yy)* (xy)*
Ninguna de las caracterizaciones anteriores es vlida
126
S2
yy
b)
No determinista.
x;
x,; x
x, x;
y,; y
y, y;
y;
x
x
y
z
z
y
y
127
Rx R
zLz
x
x/R
x/R
x/R
y/z
/R
z/L
x/z
z/R
x/R
z/R
xN
Sx
xNx y
128
xA
xAx
AB
xAy
Ay
yBz
MzN
xM
yN
Sea n un nmero natural tal que n2. El nmero total de mquinas de Turing con n
estados es:
Finito b)
infinito.
129
x,;
,#;
x
#
xx
x,;x
x
,#;
x,x;
x/R
y/L
x/R
y/R
/
y/x
Dado el alfabeto {x, y, z}, construir una mquina de Turing que busque en su cinta
la secuencia xy, la sustituya por zz y se detenga en cuanto haya realizado esta
operacin.
Dado el alfabeto {x, y}, construir una mquina de Turing que se detenga cuando y
slo cuando encuentra en la cinta la secuencia xxy.
130
Dado el alfabeto {x, y}, construir una mquina de Turing que se detenga cuando y
slo cuando encuentra en la cinta la secuencia xxy (como cadena o como parte
de una cadena).
Cules son las cadenas que acepta el siguiente autmata vaciando su pila?
x ;x
y, x;
S
S
A
B
B
C
xA
yCz
xyB
xzC
yC
z
xA
20 o menos
Ms de 20 y menos de 60
60 o ms
131
Verdadera. b) Falsa.
132
BIBLIOGRAFA
UOC.
133
Gua de estudio de
Ingeniera en Sistemas
Computacionales
CUATRIMESTRE II
Vigencia Periodo Escolar Enero Abril 2014
Estas antologas fueron elaboradas con la supervisin y aprobacin de las academias
Queda rigurosamente prohibida, sin autorizacin escrita de los titulares del copyright,
bajo las sanciones establecidas en las leyes, la reproduccin total o parcial de esta
obra por cualquier medio o procedimiento, comprendidos la reprografa y el
tratamiento informtico, y la distribucin de ejemplares de la misma mediante alquiler
o prstamo pblicos.
Derechos Reservados SEUAT 2014
2 Norte Oriente No. 741, Col. Centro, Tuxtla Gutirrez; Chiapas.
Tel. 61 223 29 y 61 379 26
Sistema Educativo Universitario Azteca Tuxtla S. C.
134