Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Lógica Matemática y
Computación
Fundamentos de
Lógica Matemática y
Computación
a, b
Lógica Autómatas
Máquinas de Turing
Gramáticas Lenguajes
[U]
SANZ Y TORRES
,
INDICE
Prólogo. x1
viii
Índice
Capítulo V: Autómatas.
V. l Introducción. 167
V.2 Definición y representación de los autómatas. 168
V.2.1 Representaciones de un autómata finito. 169
V.3 Conceptos básicos de álgebra relacionados con autómatas. 172
V.4 Comportamiento de un autómata. 173
V.4.1 Equivalencia entre una máquina de Mealy y una de Moore. 176
V.4.1.1 Transformaciones mutuas entre ambas máquinas. 178
V.5 Circuitos secuenciales. 180
V.5.1 Tipos de elementos en los circuitos secuenciales. 180
V. 5.1.1 Elementos combinacionales. 180
V.5.1.2 Elementos con memoria. 180
V. 5. 2 Modelos básicos de los circuitos secuenciales. 181
V.5.3 Biestables. 183
V.5.4 Análisis de los circuitos secuenciales. 186
V. 5. 5 Formalización general de un circuito secuencial. 18 7
V.5.6 Síntesis de los circuitos secuenciales. 189
V.5 .6 Resumen y ampliación de los biestables. 195
V.6 Reconocedor finito. 200
V. 7 Conjuntós y expresiones regulares. 202
V.8 Análisis y síntesis de un reconocedor finito. 206
V.8.1 El problema de síntesis y su solución. 208
V. 9 Autómata finito no determinista. 212
V.10 Autómata probabilístico o estocástico. 214
lX
Fundamentos de lógica Matemática y Computación
Bibliografia. 307
X
Prólogo
xi
Fundamentos de Lógica Matemática y Computación
xii
Prólogo
El libro está escrito sin prestar una atención especial al aspecto formal,
excepto, claro está, en lo que se refiere al imprescindible formalismo. Para seguirlo
no se necesita un conocimiento previo de lógica y computación, por lo que es
adecuado para iniciar el estudio de la lógica matemática y del resto de los pilares de
la informática, especialmente para personas que los quieran utilizar como
herramienta informática.
xiii
Fundamentos de Lógica Matemática y Computación
Los autores apelan a la buena voluntad de los lectores para que disculpen los
errores involuntarios que contenga este texto. Y agradecen a sus compañeros de los
Departamentos de Informática y Automática e Inteligencia Artificial su apoyo al
contenido de este libro, así como a los alumnos de la Escuela Técnico Superior de
Ingeniería Informática y de la Facultad de Ciencias Matemáticas de la UNED por
sus constructivas criticas.
Los autores
xiv
Capítulo I
Introducción y lógica de proposiciones
1
Capitulo /: Introducción y lógica de proposiciones
Existe una teoría de la jerarquía de los lenguajes, que fue propuesta por B.
Russell en 1922, y que tiene su aplicación en la eliminación de una serie de
paradojas metodológicas que se presentan al analizar lógicas de orden superior, que
están fuera del estudio de este texto.
2
1.1 Marco de referencia de la lógica matemática
3
Capitulo /: Introducción y lógica de proposiciones
Consecuencia clara de
, estas lógicas multivaloradas fue la aparición de la
lógica de infinitos valores. Estos se suelen tomar, por convenio, como los números
reales en el intervalo (O, l]. Se suele llamar a esta lógica, lógica estándar de
Lukasiewicz L ¡.
4
l 2 Antecedentes históricos de la lógica matemática
El inglés George Boole publicó en 1854 su libro The Laws o/Thought (Las
Leyes del Pensamiento). En él desarrolló un modelo algebraico de la lógica de
proposiciones. En este libro la lógica empieza a abandonar el análisis del lenguaje
usual y pasa a la construcción de un sistema formal, y sólo más tarde se busca su
interpretación en el lenguaje diario. Sobre la importancia de este libro se debe
mencionar el comentario de Bertrand Russell que afirmó "La Matemática Pura fue
descubierta por Boole en una obra que tituló Toe Laws of Thought".
5
Capitulo /: Introducción y lógica de proposiciones
6
l. 3 Introducción a la lógica de proposiciones
Los enunciados 1-la,b,c son proposiciones, que serán verdaderas o falsas (si
está lloviéndo, la proposición 1-la es verdadera; si no, es falsa); en cambio, una
orden como "levántate y anda" no es verdadera ni falsa y no se considera una
proposición.
pyq (1-3)
Las sentencias tomarán valores de verdad que dependerán del valor de verdad
que se le asigne a las variables proposicionales que la constituyen y de cómo se
combinen éstas con las conjunciones para formar la sentencia. Así, una sentencia
como Ja 1-4 será verdadera cuando Antonio esté corriendo y simultáneamente sea
verdad que está lloviendo.
7
Capitulo 1: Introducción y lógica de proposiciones
p o (no p) (1-6)
Por otro lado, habrá sentencias que siempre serán falsas, por ejemplo:
py (no p) (1-7)
es una tautología, donde 'p' es "Antonio viene", 'q' es "Antonio pierde el autobús" y
'r' es "el autobús sale tarde", es decir que sea cual sea el valor de verdad que le
asignemos a 'p', 'q' y 'r' esta sentencia siempre es verdadera.
Veremos varias técnicas que nos pennitirán demostrar que una sentencia es
una tautología y que un determinado razonamiento es válido. Para ello
presentaremos un lenguaje para la lógica de proposiciones, en el que definiremos los
símbolos que lo constituyen y cómo obtener el valor de verdad de una sentencia a
partir del valor de verdad de las variables proposicionales que la constituyen.
8
/.3 Introducción a la lógica de proposiciones
Definiremos por tanto un lenguaje que nos permita representar las fórmulas
sentenciales para su estudio. Esto supone definir los símbolos que utilizaremos y las
reglas de cómo utilizar estos símbolos para formar fórmulas sentenciales correctas,
es decir la sintaxis de nuestro lenguaje, así como la semántica, asignación de un
significado lógico a las sentencias.
1.4.1 Sintaxis
2. Los símbolos que representan variables proposicionales ('p', 'q', 'r\ 's\
' pI', ' ql', ...)
3. Los símbolos que representan las conjunciones y/o los adverbios, que en
. denommaremos
16gica . +:
conecuvas, tales como 'no,
' 'y,' ' o,
' 'o ... o... , ,s,.
!!
9
Capítulo 1: Introducción y lógica de proposiciones
... entonces... ', ' ... si y sólo si ... ', y que son representadas mediante '--,',
'/\' 'v' 'EB' ' ➔' '~'
' ' ' ' .
(l-9a)
(l-9b)
son fórmulas sentenciales. Aunque la única que significa algo es (l-9b), por lo tanto
sólo esta expresión es una sentencia.
JO
1.4 El lenguaje de la lógica de proposiciones
1.4.1.2 Conectivas
(l-10)
p/\q (l-13)
11
Capítulo J: Introducción y lógica de proposiciones
Por ejemplo:
pvq (1-15)
que leemos 'p o q', refiriéndonos a que también pueden ser ambas a la vez. Por
ejemplo:
La disyunción exclusiva 'o ... o ... ' la simbolizamos con el signo 'EB'
insertado entre dos sentencias. Así:
P EB q (1-17)
El condicional o conectiva "si ... entonces ... " la simbolizamos mediante' ➔'
insertado entre las dos sentencias. Así:
p ➔ q (1-19)
12
l. 4 El lenguaje de la lógica de proposiciones
Tenemos que advertir que la conectiva 'si ... entonces' no debe confundirse
con la implicación. Más adelante haremos hincapié en marcar la diferencia entre la
conectiva condicional y la implicación.
El bicondicional o conectiva ' ... si y sólo si ... ' es simbolizado mediante '~'.
Así:
pttq 0-20)
1.4.2 Semántica
13
Capítulo 1: Introducción y lógica de proposiciones
S: p ➔ (pvq) (1-24)
Hay que tener en cuenta que a todas las ocurrencias de una variable
proposicional se les asigna el mismo valor dado por la interpretación; así ocurre en
(1-24) en donde a las dos ocurrencias de p se les asigna el mismo valor.
14
1.4 El lenguaje de la lógica de proposiciones
En la tabla 1-1 se resumen las tablas de verdad para las seis conectivas vistas
en 1.4.1.2.
p pvq p ➔ q
V V F V V F V V
V F F F V V F F
F V V F V V V F
F F V F F F V V
Cada una de las filas de esta tabla corresponde a una interpretación de las
variables proposicionales p y q. Hay cuatro filas puesto que para dos variables
proposicionales (p y q) sólo hay cuatro posibles interpretaciones, ambas verdaderas,
p verdadera y q falsa, p falsa y q verdadera y ambas falsas.
15
Capitulo 1: Introducción y lógica de proposiciones
que según la tabla de verdad las tendremos que declarar como verdaderas, ya que
cualquiera que sea la relación conceptual que ligue a un consecuente con un
antecedente, un condicional será siempre verdadero excepto cuando el antecedente
es verdadero y el consecuente falso.
Por tanto, leeremos siempre 'p ➔ q' como 'si p entonces q', salvo, por
supuesto, cuando el condicional en cuestión sea lógicamente verdadero. Además,
mientras no se indique lo contrario, interpretaremos ' ➔' en sentido material.
16
1.4 El lenguaje de la lógica de proposiciones
Las tablas de verdad no se confinan sólo a las expuestas en la tabla 1-1, sino
que se hacen tablas de verdad para comprobar mecánicamente los valores de verdad
de cualquier sentencia. Por ejemplo, la sentencia:
p q p ➔ q -, p -, q (-, p) ➔ ( -,q) s
V V V F F V V
V F F F V V V
F V V V F F F
F F V V V V V
Hasta ahora, sólo hemos puesto sentencias con sólo dos variables
proposicionales, pero se pueden construir tablas de verdad para sentencias con
cualquier número de variables proposicionales. Así, la sentencia:
S: (p ➔ q ) /\ ( ( -,p ) ➔ r) (1-31)
17
Capitulo 1: Introducción y lógica de proposiciones
Las tablas de verdad nos van a servir para comprobar la validez de una
sentencia, como veremos más adelante, y también para ver si dos sentencias son
equivalentes.
p q r p ➔ q -,p (.p) ➔ r s
V V V V F V V
V V F V F V V
V F V F F V F
V F F F F V F
F V V V V V V
F V F V V F F
F F V V V V V
F F F V V F F
1.4.2.2 Equivalencia
Diremos que dos sentencias son equivalentes "si tienen los mismos valores
de verdad para cualquier interpretación, es decir, si sus tablas de verdad son
iguales".
(1-32)
18
1.4 El lenguaje de la lógica de proposiciones
Tabla 1-4: Interpretaciones para las 16 clases de equivalencia para las sentencias
con dos variables proposicionales.
VVVVVVFVVFVF F V F F F F
VFVVVFVVFVFV F F V F F F
FVVVFVVFVVFFVF FVF F
FFVFVVVFFFVVV F F F V F
Así, todas las sentencias cuyas interpretaciones sean las de la clase C 11, por
ejemplo, p /\ q, -,(-,p v ,q}, ,(p ➔ ,q}, ... , son equivalentes entre sí.
La sentencia:
19
Capitulo 1: Introducción y lógica de proposiciones
pvq
p V (,p) (1-33)
p q r p ➔ q q ➔ r (p ➔ q)/\(q ➔ r) p ➔ r s
V V V V V V V V
V V F V F F F V
V F V F V F V V
V F F F V F F V
F V V V V V V V
F V F V F F V V
F F V V V V V V
F F F V V V V V
20
1.4 El lenguaje de la lógica de proposiciones
p A (-,p) (1-35)
-,[ ( p A q ) ➔ p] (1-36)
como se puede demostrar formando sus tablas de verdad (dejamos como ejercicio la
construcción de estas tablas de verdad).
21
Capitulo 1: Introducción y lógica de proposiciones
que contiene tres variables, hay 2 3=8 diferentes interpretaciones. Su tabla de verdad
es la tabla 1-6.
Como vemos en la tabla 1-6, (1-37) es una sentencia válida, ya que su tabla de
verdad sólo contiene V's (columna de la derecha).
Aunque las tablas de verdad son el camino más directo para detenninar la
validez de una sentencia, algunas veces puede ser dificultosa su aplicación. Así,
cuando el número de variables proposicionales es grande, la tabla de verdad se
puede hacer demasiado grande, por ejemplo, para 20 variables proposicionales se
necesita una tabla de verdad de 220 (aproximadamente un millón) filas, lo cual es
intratable a mano.
V :V F V F V V V V
V F V F F F V F V
V F F F F V V F V
F V V V V F F V V
F V F V F V V V V
F F V V V F F V V
F F F V F V V F V
22
1.5 Validación de sentencias proposicionales
1
pver~li,Jsa
2 3
~esto que -,p es falsa, mediante la regla del condicional (tabla 1-1),
determinarnos que -,p ➔ -,q es verdadera, aunque no conozcamos el valor
de verdad de -,q. Esto lo indicamos anotando V bajo la conectiva ➔
correspondiente.
23
Capitulo 1: Introducción y lógica de proposiciones
nodo 3: (1-43)
Como pes falsa, las subsentencias --.p y p ➔ q son verdaderas (tabla 1-1):
24
J.5 Validación de sentencias proposicionales
En el nodo 4 q es verdadera con lo que --.q es falsa y --.p ➔ --.q es falsa, con
lo que la sentencia completa es falsa.
25
Capitulo 1: Introducción y lógica de proposiciones
Según la regla del condicional, para que esta sentencia sea falsa, el
antecedente ( .p v -,q ) y el consecuente -,( p A q ) deben tener los valores
de verdad, verdadero y falso respectivamente, es decir:
La verdad del antecedente (-,p v -,q) no nos permite determinar los valores
de verdad de sus subsentencias ( .p ) y (.q), ya que para que -,p v -,q sea
verdadera debe ocurrir que (,p) sea verdadera, o que (-,q) sea verdadera, o
ambas verdaderas. Antes de tratar estos casos separadamente vamos a
centrar nuestra atención en el consecuente.
Hemos llegado a una notación conflictiva VF. Por tanto tenemos una
contradicción bajo nuestra suposición original, que la sentencia R es falsa
bajo alguna interpretación. Por lo que concluimos que la sentencia (1-4 7) es
válida.
26
1.5 Validación de sentencias proposicionales
1. Ley de identidad:
p ➔ p (l-52a)
pttp (l-52b)
p tt -,-,p (1-53)
pv-,p (1-54)
4. Ley de contradicción:
5. Leyes de Morgan:
27
Capitulo 1: Introducción y lógica de proposiciones
7. Leyes de conmutación:
(pvq)tt(qvp) (l-58a)
(p/\q)tt (q/\p) (l-58b)
(pttq)tt(qttp) (l-58c)
8. · Leyes de asociación:
((p/\q)/\r)tt(p/\(q/\r)) (l-59a)
((pvq)vr)tt(pv(qvr)) (l-59b)
((pttq)ttr)tt(ptt(qttr)) (l-59c)
9. Leyes de transposición:
28
J. 6 Leyes de la lógica de proposiciones
(p/\(qvr))tt((p/\q)v(p/\r)) (l-6la)
(pv(q/\r))tt((pvq)/\(pvr)) (l-6l b)
(p ➔ (q/\r)) tt((p ➔ q)/\(p ➔ r)) (l-6lc)
(p ➔ (qvr))tt((p ➔ q)v(p ➔ r)) (l-6ld)
[ -,p /\ ( p V q ) ] ➔ q (l-65a)
[ p /\ ( -,p V -,q ) ] ➔ -,q (l-65b)
29
Capítulo 1: Introducción y lógica de proposiciones
las tres últimas leyes (15, 16 y 17), y sobre todo la ley del dilema
constructivo, eran muy usadas en la antigua retórica y todavía son muy
comunes en las discusiones para poner al adversario en un aprieto.
21. Condicional-disyunción:
( p ➔ q ) tt ( -,p V q ) 0-70)
22. Condicional-conjunción
30
1.6 Leyes de la lógica de proposiciones
(pAq) ➔ p 0-72a)
p ➔ (pvq) (l-72b)
(p ➔ q)tt[ptt(pAq)] 0-73a)
(p ➔ q)tt[q~(pvq)] (l-73b)
31
Capítulo 1: Introducción y lógica de proposiciones
1. Un alfabeto.
32
l. 7 Sistema axiomático del cálculo de proposiciones
De las conectivas vistas en 1.4. l podemos quedarnos sólo con dos, como
conectivas primitivas, y el resto definirlas a partir de éstas como conectivas
definidas.
l. Conjunción '/\':
2. Condicional' ➔':
p ➔ q=,pvq (1-77)
3. Bicondicional 'tt':
(1-78)
p EB q = ,( p tt q ) (1-79)
Símbolos primitivos
Símbolos definidos
Las reglas de formación son las mismas del apartado 1.4.1.1, salvo la regla 3
que se ve reducida a "Si S y R son sentencias bien formadas, S v R es una sentencia
bien formada", ya que '/\', ' ➔', 'tt ', no son primitivas.
33
Capítulo 1: Introducción y lógica de proposiciones
l. (pvp) ➔ p (l-80)
2. q ➔ (pvq) (I-81)
Es importante notar que no hay que confundir esta regla con la tautología del
modus ponens (1-74).
34
J. 7 Sistema axiomático del cálculo de proposiciones
Se puede demostrar que el sistema PM, tal como lo hemos dado aquí, cumple
las anteriores propiedades.
La lógica se presenta, muchas veces, como una herramienta para analizar los
procesos de razonamiento del lenguaje ordinario. Así, el cálculo de proposiciones se
presenta como el método de deducción natural. El cual consiste esencialmente en un
grupo de reglas que nos permiten deducir unas conclusiones a partir de unas
hipótesis. Esto es lo que llamamos un sistema inferencia/.
35
Capítulo 1: Introducción y lógica de proposiciones
Una regla de inferencia es "la declaración de las condiciones bajo las cuales
se puede hacer una inferencia, así como el resultado de la misma" .El conjunto de
reglas de inferencia se completa con unas metarreglas que especifican cómo se
aplican las reglas. Estas metarreglas constituyen la estrategia del sistema dando el
orden de aplicación de las reglas, de elección de las premisas, de cómo se añaden las
conclusiones a las premisas para obtener nuevas conclusiones, etc.
Una inferencia que siga las reglas será una inferencia correcta, mientras que
si no las sigue será una inferencia incorrecta.
es una inferencia correcta. Por ejemplo, de las premisas "si el Madrid gana la liga
entonces juega la copa de Europa" y "el Madrid no juega la copa de Europa" se
deduce que "el Madrid no gana la liga".
En cambio, la inferencia:
36
l. 8 Sistema inferencia/ del cálculo de proposiciones
Éste setja el caso de deducir que "el Madrid gana la liga" a partir de las
premisas "si el Madrid gana la liga entonces juega la copa de Europa" y "el Madrid
juega la copa de Europa".
(1-90)
-,S
donde las premisas aparecen en las dos primeras líneas, encima de la horizontal, y la
conclusión en la última línea, debajo de la horizontal. En algunos problemas, y, por
motivos de espacio, elegiremos la notación D(T, V) para indicar que la sentencia V
se infiere de la sentencia T, o que, de la T se infiere la V, con lo que el esquema
anterior quedaría como D((S ➔ R) /\ ,R, -8).
( P l /\ P2 /\ ... A Pn ) ➔ C (1-91)
(1-92)
es una contradicción.
37
Capitulo 1: Introducción y lógica de proposiciones
38
1.8 Sistema inferencia/ del cálculo de proposiciones
39
Capítulo I: Introducción y lógica de proposiciones
0-93)
También debemos advertir que, aun guardando cierta relación, esta regla
de inferencia no es igual que la regla de transformación del cálculo de
proposiciones que denominamos regla de separación (1-85). Ya que la
regla de separación dice que "si S y ( S ➔ R ) son teoremas, entonces R
es un teorema", mientras que la regla de inferencia de separación dice
que "S y (S ➔ R) son verdaderos, implica que R también lo es".
40
1.8 Sistema inferencia/ del cálculo de proposiciones
s
R (1-94)
Por ejemplo:
(1-95)
(1-96)
(1-97)
41
Capítulo /: Introducción y lógica de proposiciones
(1-98)
42
18 Sistema inferencia/ del cálculo de proposiciones
Sep. de4y6
C: GvP (1-104)
43
Capitulo 1: Introducción y lógica de proposiciones
-,p V q (1-105)
rV S V -,p (l-106)
1. Si hay dos o más cláusulas idénticas, sólo tendremos que escribir una de
ellas,
44
1.8 Sistema inferencia/ del cálculo de proposiciones
3. Si en una cláusula aparece el mismo literal varias veces, sólo hay que
escribirlo una vez.
Las tres cláusulas obtenidas son tautologías (en las tres cláusulas aparecen
-,p v p o -,r v r), lo que indica que la sentencia original es un teorema. Las
tres cláusulas las podemos eliminar, pero para no confundir con la cláusula
vacía, que corresponde a una contradicción, la simplificamos a una única
cláusula de la forma -,p v p.
45
Capitulo 1: Introducción y lógica de proposiciones
PI: ,p V q V r (1-108)
-ip V r V S (1-110)
Ejemplo 5. Consideremos las tres cláusulas siguientes para realizar una búsqueda
exhaustiva:
46
1.8 Sistema inferencia/ del cálculo de proposiciones
CI: -,pvrvs
C2: qv r
(sólo hemos puesto una vez r de las dos que tendrían que aparecer).
C3: sv r
Podemos ver, que ya no hay más resolventes diferentes, puesto que al aplicar
la resolución a P3 y CI obtenemos C3.
Lo que no está tan claro es que sea completo. De entrada no lo es, puesto que
de dos premisas podemos deducir varias conclusiones, mientras que la resolución
sólo produce una (la resolvente). Ahora bien, si aplicamos repetidamente la
resolución, añadiendo las conclusiones al conjunto de premisas, y considerando
como inferencias, además de las resolventes que se van obteniendo, las conjunciones
y disyunciones de las premisas y resolventes, y las disyunciones de premisas y
conclusiones con cualquier literal, entonces se puede demostrar que se infieren todas
las conclusiones posibles, siendo en este caso completo.
Así para las premisas del ejemplo 5, además de las conclusiones obtenidas
como resolventes, tendríamos como conclusiones las sentencias: ,p v q v r v s; (
-,p V q V r) /\ ( -,q V S ).
1.8.2.2 Refutación
47
Capitulo 1: Introducción y lógica de proposiciones
PI: J➔ G
P2: -J ➔ P
C: GvP
48
1.8 Sistema inferencia/ del cálculo de proposiciones
-J (1-122)
De P2 y P4 obtenemos:
J (1-123)
Son muchas las áreas de conocimiento en las que de una forma u otra se
pueden aplicar los conceptos estudiados en lógica de proposiciones. Aparte de las
aplicaciones típicas en computación vamos a ilustrar las aplicaciones de la lógica de
proposiciones en otras áreas mediante algunos ejemplos.
49
Capitulo 1: Introducción y lógica de proposiciones
P2: p (I-125)
Las Cortes rehusan aprobar la nueva ley
P3: -,s (1-126)
la huelga acaba de comenzar
Tomando estos hechos como premisas, ¿podemos concluir que ~~la huelga no
cesa"?, es decir, ¿podemos concluir -,q?.
P2: p (1-125)
5: p ➔ [(-,qvr)A(-,qvs)] lnt. PI y 4
8: (-,qvs) Sep. de 7 y 6
10: q ➔ s lnt. de 8 y 9
50
1.9 Ejemplos de aplicaciones de la lógica de proposiciones
Sep. de 11 y 12
C: --.q (1-127)
51
Capitulo 1: Introducción y lógica de proposiciones
r s PI P2 P3 -, PI A P2 A P3 ) ➔ -,
V V V V V V F F V
V V V F F V V F V
V V F V F V F F V
V V F F F V V F V
V F V V V V F V V
V F V F V V V V V
V F F V V V F V V
V F F F V V V V V
F V V V V F F F V
F V V F V F V F V
F V F V V F F F V
F V F F V F V F V
F F V V V F F V V
F F V F V F V V V
F F F V V F F V V
F F F F V F V V V
Mg0 + H2 ➔ Mg + H20
C+02 ➔ C02
52
1.9 Ejemplos de aplicaciones de la lógica de proposiciones
R5: H2 (1-132)
R6: Ü2 (1-133)
R7: e (1-134)
53
Capítulo I: Introducción y lógica de proposiciones
Por tanto el conjunto de cláusulas a partir de las cuales hay que deducir A
es: Rl ', Rl", R2 (1-149), R3 (1-150), R4, R5, R6, R7 y--.H2CO3.
9: H2O De8yR4:
Y de 13 y --.H2CO3 obtenemos
14: la cláusula vacía.
54
Capítulo 11
Circuitos combinacionales
55
Capitulo JI: Circuitos combinacionales
=D- =t>-
ANO NOT OR
Figura 11-1: Puertas lógicas básicas ANO, NOT y OR.
Cada una de ellas está totalmente relacionada con una de las conectivas
básicas comentadas con anterioridad en el capítulo I de la lógica de proposiciones,
como son de izquierda a derecha el producto lógico, la negación lógica y la suma
lógica. Por tanto, a la hora de codificarlas responderán a las mismas tablas de
verdad.
y
z--
En él, las dos primeras entradas x e y aparecen negadas y la variable z
directa. La negación de y se une con la variable z mediante un producto
lógico a través de una puerta AND, dando lugar al producto y'z, y el
56
11.2 Puertas lógicas básicas
Además de las tres puertas lógicas básicas anteriores es habitual añadir otras
tres más para facilitar el diseño de los distintos circuitos lógicos, fundamentalmente
porque resulta más rentable la fabricación de dichos circuitos con estas nuevas
puertas, que con las presentadas en la figura II-1.
Las puertas lógicas a las que se hace referencia representan las siguientes
funciones lógicas:
0-
NAND ( 1) NOR (,l,) OR EXCLUSIVO (EB)
Figura 11-2: Puertas lógicas NANO, NOR y ORX.
57
Capítulo 11: Circuitos combinacionales
Aplicando las leyes de De Morg~ las estructuras resultantes son las que se
muestran en las figuras II-3 y 11-4:
Nota: en ambas figuras, las expresiones (xy'z, x'z', etc) representan las
entadas a las puertas NAND y NOR de las mismas. Si en lugar de las
entradas representasen las salidas, todas ellas deberían ir negadas.
X y z
.,.__ _ _ __,__+---r~x+z
10-------,
x+y'
•
58
11.3 Modelos matemáticos de los circuitos
Con todo lo dicho se establece que <(0,1) con {v, /\, -,}> se define como un
álgebra de Boole, ya que las operaciones definidas con estas conectivas son
. asociativas, conmutativas, tienen elemento neutro, son distributivas una frente a otra
y recíprocamente, y el neutro de cada una es el absorbente de la otra. Los neutros
son O para el v, y 1 para el /\. Además, 1 es absorbente frente al v y O es
absorbente frente al /\.
Con todo lo dicho se puede definir una forma booleana, como una clase de
equivalencia de proposiciones frente a la relación de equivalencia definida por: Dos
proposiciones son equivalentes si y sólo si tienen la misma tabla de verdad.
Por lo que se puede concluir que el conjunto de todas las formas booleanas es
un álgebra de Boole frente a las operaciones v, /\, -,. Los elementos neutros son,
respectivamente, la contradicción (forma booleana cuyos valores de verdad son
59
Capitulo 11: Circuitos combinacionales
Una proposición se dice atómica cuando se designa por una sola letra, es
decir, no contiene ninguna de las conectivas básicas, -,, v, y /\. Ejemplos: p, q,
r, ... ,etc, es decir, cualquier variable proposicional.
60
11.3 Modelos matemáticos de los circuitos
I:(3, 6),
o bien I:(m3, m6)
es la función x'yz + xyz',
o sea, en binario O11 + 11 O,
que no es una suma, sino una notación o abreviatura.
61
Capítulo JI: Circuitos combinacionales
= xyz. Es decir, el último mintem se forma con el producto de todas las variables
que componen la forma canónica tomando el valor de 1 lógico.
p q r F
m0 o o o 1 ~
ml o o 1 1 ~
m2 o 1 o o
m3 o 1 1 1 ~
m4 1 o o o
m5 1 o 1 1 ~
m6 1 1 o o
m7 1 1 1 1 ~
Para encontrar formas booleanas equivalentes a una dada y más sencillas que
ella, podemos utilizar dos equivalencias:
62
11. 4 Simplificación de funciones booleanas mediante Karnaugh
El mapa de Kamaugh tiene las asignaciones colocadas de manera que, las que
corresponden a productos canónicos adyacentes están al lado unos de otros. Las
disposiciones de este mapa para los tres casos citados se ven a continuación. En
cada casilla se representa si está, o no, presente un minterm dado en la tabla de
verdad correspondiente. Si el mintem está entonces en la casilla correspondiente del
mapa de Karnaugh se pone un 1 y sino se pone un O. Cada casilla del mapa
corresponde por tanto a una línea de la tabla de verdad.
Así, para tres variables se tiene la figura 11-5, donde en cada casilla se ha
puesto el número que representa el valor del mintem correspondiente que debe
colocarse en ella. Por ejemplo, en la casilla de fila O y columna 11 se colocará un 1
si está el minterm 3 a valor lógico 1, o sea x'yz forma parte de la función que se
quiere representar y un O en caso contrario. El mapa de Karnaugh de 4 variables se
muestra en la figura 11-6, utilizando el mismo criterio.
xy/zt 00 01 11 10
00 o 1 3 2
x/yz 00 01 11 10 01 4 5 7 6
o o 1 3 2 11 12 13 15 14
1 4 5 7 6 10 8 9 11 10
Figura 11-5: Mapa de tres variables. Figura 11-6: Mapa de 4 variables.
63
Capitulo JI: Circuitos combinacionales
yz/tw 00 01 11 10 yz/tw 00 01 11 10
00 o 1 3 2 00 16 17 19 18
01 4 5 7 6 01 20 21 23 22
11 12 13 15 14 11 28 29 31 30
10 8 9 11 10 10 24 25 27 26
a' a' A a
ab 00 01 11 10
cd
e' 00 d'
c' 01 D
e 11 D
e 10 d'
b' b B b'
Si nos fijamos en los distintos mapas de las figuras II-5, II-6 y 11-7, todos
ellos tienen una columna y una fila permutada, lo cual se debe al significado de la
64
//.4 Simplificación de funciones booleanas mediante Karnaugh
Ahora bien, una vez que se tenga una tabla de verdad dada mediante el
correspondiente diagrama de Kamaugh, normalmente se querrá obtener la expresión
lógica mínima que representa esa función. Para ello se debe agrupar sobre el mapa
el mayor número de unos posibles, siempre teniendo en cuenta que las agrupaciones
han de ser grupos de potencias de 2, es decir, 2°, 2 1, 22 , 23 , etc. Y a partir de ahí
obtener la función que los representa en relación con las variables asociadas en las
correspondientes filas y columnas.
x/yz 00 01 11 10
o o
1 O
65
Capítulo JI: Circuitos combinacionales
xl14 00 01 11 10
x1x2
00 O O
01 O
11
10
xlx2' x3
Las agrupaciones entre los dos mapas son las siguientes, teniendo en cuenta
las correlaciones entre el mapa de la derecha y el de la izquierda. En el
mapa de la izquierda, los cuatro unos de la segunda columna (xl 'x4 'x5) y
los cuatro unos de las dos últimas filas situados entre la primera columna y
la cuarta unidos por dos rectángulos de trazo discontinuo fino (xl 'x2x5').
x4x5 00 01 11 10 x4x5 00 01 11 10
x2x3 x2x3
•••••••
00 o 00 o
• ••
01 O 1
,-·--·---= ...... .
O o
_. r..~.~.!.~ ...
01 O : 1
••••••••
: O
.• ...o1 ·-:•
• •
1 l i O • 1• 1 .•
•
11 j i l : i
• 1
• 1
O :¡lj:
1 •
1 :
• •
! •
11 o
o
.....
o
• 1 •
o ••
•
o : 1 :••
••
•••
10 1 11
-····••■-
... . .............: .
•••••••••
10 • •
• • •• : ......
Si se tienen en cuenta los dos mapas se tiene: los cuatro unos enmarcados en
cuatro recuadros de trazo discontinuo grueso en las columnas segundas de
cada tabla y filas primera y cuarta (x3 'x4 'x5); los cuatro unos enmarcados
en dos rectángulos de trazo discontinuo grueso en las segundas columnas de
cada tabla (x2 'x4 'x5) y los cuatro unos enmarcados en dos rectángulos de
trazo discontinuo grueso en las dos cuartas columnas de cada tabla
(x2x4x5'). La función resultado es la suma de los cinco sumandos.
66
11.4 Simplificación de funciones booleanas mediante Karnaugh
entradas (dos por cada uno de los dos bits representantes de los
multiplicandos) y 4 salidas [máx. número= 9 = 1001]. Las 4 entradas las
- designamos por sl, sO, tl, tO; los números son slsO y tltO, sl yuxtapuesto a
sO y tl yuxtapuesto a tO, de acuerdo con el principio-notación del valor
relativo que dice que la segunda cifra de la izquierda vale 2 veces más (en
decimal sería 10 veces más), de manera que sO representa las unidades y sl
los pares (en decimal representaría las decenas). Las 4 salidas las
designamos por z3, z2, zl, zO (el número resultado de multiplicar estará en
binario, y vendrá representado por la yuxtaposición de ellas, o sea,
z3z2zlz0). Así tenemos:
s*t =z sl sO * tl tO z3 z2 zl zO
º*º=o o o * oo o o o o
O*l = O O O * O 1 o o o o
0*2 =O O O * 1 O o o o o
0*3 =O O O * 1 1 o o o o
l*O = O O 1 * OO o o o o
1•1 = 1 O 1 • O1 O O O 1
1*2 = 2 O 1 * 1 O O O 1 O
1*3 = 3 O 1 * 1 1 O O 1 1
2*0 =O 1 O * OO o o o o
2*1 = 2 1 O * O1 O O 1 O
2*2 = 4 1 O * 1 O O 1 O O
2*3 = 6 1 O * 1 1 O 1 1 O
3*0 = O 1 1 * OO o o o o
3*1 =3 1 1 * O1 O O 1 1
3*2 =6 1 1 * 1 O O 1 1 O
3*3 = 9 1 1 * 1 1 1 O O 1
67
Capitulo JI: Circuitos combinacionales
tlt0 00 01 11 10 tlt0 00 01 11 10
sls0 sls0
00 o o o o 00 o o o o
01 O o o o 01 O o o o
0o
11
10
tlt0
O
O
00 01
º
o
11
º
o
10
11
10
tlt0
O
O
00
o
o
01
o11 10
s1s0 s1s0
00 o o o o 00 o o
01 o o 01 o o
11 o 11 o o
10 o o 10 o o o o
de donde se obtienen:
68
11.5 Segunda forma canónica
Al igual que ocurría con la primera forma canónica, toda función booleana o
proposición molecular puede ser representada por su segunda forma canónica (pues
ambas tienen la misma tabla de verdad, es decir, son totalmente equivalentes).
Sabiendo que la única tautología (todos sus valores 1) con n variables es la forma
que tiene todos los 2"n minterms (y ningún maxterm). Y la única contradicción con
n variables es la forma que tiene todos los 2"n maxtenns (y ningún minterm).
Para poner una forma booleana f en 2ª forma canónica, se deben seguir los
siguientes pasos:
Ejemplo JO. x +y'+ z' es un maxterm que sólo vale cero para 011.
Representa el número decimal 3, o sea, el minterm xy'z'
que es el número binario 100, cuyo complemento a 1 es 011.
Es decir, x +y'+ z' es el maxterm M3.
Ejemplo 1J. x' +y'+ z es un maxterm que sólo vale O para 110.
Representa el número decimal 6, o sea, el minterm x'y'z
que es el número binario 001, cuyo complemento a 1 es 110.
Es decir, x' + y' + z = M6.
69
Capitulo JI: Circuitos combinacionales
Conocidas estas dos nuevas funciones lógicas complemento de las dos básicas
OR y ANO, se establece que todas las funciones booleanas se pueden escribir como
una expresión sólo con NOR o sólo con NANO.
Por otro lado se pueden definir los operadores NAND y NOR. Estos
operadores coinciden con las funciones NOR y NANO para dos entradas. Pero sólo
para dos.
pltp2t ... tpn =NAND(pl, p2, ... , pn) = ,(pl/\p2/\ ... /\pn) =
-,plv-,p2 v ... v-,pn = A LO SUMO n- 1 de los pi= ALGUNO NO.
Las puertas lógicas pueden tener más de dos entradas. Para elaborarlas se
utilizan dos operadores llamados NANO y NOR, que no tienen en general que ser
coincidentes con varias funciones NANO y NOR dispuestas sucesivamente. Los
operadores NANO y NOR se representan y definen, respectivamente, mediante la
flecha hacia arriba (o barra) y la flecha hacia abajo, de la siguiente manera:
70
Il5 Segunda forma canónica
NOR(x, y, ... )= x ,J, y ,J, z ,J, .... = (x +y+ z + .... )'. (11-10)
(x I y) 1 z t:- x 1 (y I z) * x I Y I z (Il-11)
71
Capítulo JI: Circuitos combinacionales
72
Capítulo 111
Lógica de predicados de primer orden
111.1 Introducción
73
Capítulo ///: Lógica de predicados de primer orden
establecemos una relación ternaria ("pide") entre tres constantes (Juan, dinero y
Teresa).
Para cumplir con todas estas demandas se usa una lógica llamada de
predicados. Esta lógica de predicados de la que trata este capítulo es la llamada
lógica de predicados de primer orden porque los predicados no pueden cuantificarse,
ni utilizarse como variables. Si esto no es así y los predicados se pueden cuatificar o
utilizar como variables, la lógica de predicados es de orden superior y se estudio se
encuentra fuera de los propósitos de este libro.
En general, se dice que una sentencia es cerrada si todas las variables que
intervienen en las fórmulas atómicas que la componen están cuantificadas. En caso
contrario, diremos que la sentencia es abierta.
74
Ill2 El lenguaje de la lógica de predicados
Un modo obvio de cerrar una sentencia abierta consiste en fijar valores para
las variables_ que intervienen en ellas. En el último ejemplo, si se hace x = rana, la
sentencia (en este caso, fónnula atómica) A(x) es verdadera, y si x = ciprés, A(x) es
falsa.
Pero las sentencias pueden ser también verdaderas o falsas sin que tengan que
referirse exclusivamente a constantes. Por ejemplo, la sentencia ''todos los hombres
son mortales" es verdadera y, por tanto, cerrada. Esto es así porque la propiedad
que se indica sobre la variable es válida para todos los valores de ésta. Para ello es
necesario añadirle algo que exprese esta validez para cualquier valor de x, cerrando
de ese modo la sentencia. Ese algo se llama cuantificador universal. Otro caso es el
de la sentencia "algunas plantas tienen flores", que también es verdadera y, por
tanto, cerrada. Al signo que ayudará a cerrar esta sentencia se le llama
cuantificador existencial.
111.2.2 Cuantificadores
es una sentencia cerrada, que formaliza la frase "para todo x, si x tiene la propiedad
H, entonces tiene la propiedad M", mientras que
\¡/xHx ➔ Mx (ID-3)
\¡/xHx ➔ My (111-4)
75
Capitulo JI/: Lógica de predicados de primer orden
En realidad, bastaría con uno solo de los dos cuantificadores, y si usamos los
dos es por comodidad (por acercar el lenguaje lógico al lenguaje natural). En efecto,
cada uno de ellos puede expresarse en función del otro. Por ejemplo, decir que
''todos los individuos tienen cierta propiedad" es equivalente a decir que "no es
cierto que exista algún individuo que no tenga esa propiedad":
De manera similar decir que existe un x (al menos) que tenga cierta propiedad
es equivalente a decir que no es cierto que para todos los individuos la propiedad no
seda:
76
III 2 El lenguaje de la lógica de predicados
Respecto a la nomenclatura que se se usa con el signo ' ➔', de acuerdo con lo
dicho al final de la introducción de 1.8, la contraria de una sentencia cuya operación
lógica principal esté sujeta a cuantificación ('v es una extensión de /\ y 3 es una
extensión de v para dominios no finitos) es su negación, aunque en su interior lleve
un signo de implicación: Así, la contraria de 'vx(Px➔Qx) es -, 'vx(Px➔Qx), o sea
3x(PX/\,Qx); en cambio la contraria de una sentencia de lógica, cuya operación
fundamental sea una implicación, no es su negación. Por ejemplo, sea la frase
R: 'vxPx ➔ 3xQx; su contraria es -, 'vxPx ➔ -,3xQx (como vimos antes), o sea
3x-,Px ➔ 'vx-,Qx; la recíproca de R (que es equivalente a la contraria de R) será
3xQx ➔ 'vxPx; pero su negación será -,(v'xPx ➔ 3xQx) (que, introduciendo el-,,
queda 'vxPx /\ -,3xQx, es decir v'xPx /\ v'x-,Qx).
111.2.3 Funciones
77
Capitulo ///: Lógica de predicados de primer orden
111.2.4 Símbolos
Los símbolos de lógica de predicados son los mismos que se utilizan en lógica
de proposiciones, más algunos para describir las nuevas demandas de la lógica de
predicados. Así, a los símbolos introducidos en el apartado l.4.1 tendremos que
añadir:
111.2.5 Semántica
78
l/1.2 El lenguaje de la lógica de predicados
Por ejemplo, si los valores posibles de x son {a, b, e, d}, la sentencia cerrada
VxPx (111-11)
es equivalente a
Pa /\ Pb /\ Pe /\ Pd (111-12)
y la sentencia cerrada
3xPx (Ill-13)
es equivalente a
Pa v Pb v Pe v Pd (111-14)
\ixPx y 3x(-,Px)
Pa=V y Pb=F
con estos valores es fácil demostrar que \¡/ xPx es falso (F) porque Px no es
verdadero (V) para x = a y x = b. Por otro lado 3 x(-,Px) es verdadero ya que -,Pb
es verdadero (V) en esta interpretación. ·
79
Capitulo III: Lógica de predicados de primer orden
C: CI
luego la sentencia a comprobar que ha de ser cierta para todas las interpretaciones
es:
esto es
S: PIAP2 ➔ C
Pero su comprobación debe abarcar a todo el universo del discurso (todos los
animales). Esto es inabordable por lo que no se podrá comprobar su veracidad por
medio de una tabla de verdad.
PI1: Fl ➔ Cl
Pit: Ft ➔ Ct
PI: Pl1A Pit
80
//1.2 El lenguaje de la lógica de predicados
Fl Cl Ft Ct Pl1 Plt PI P2 e s
o o o o 1 1 1 o o 1
o o o 1 1 1 1 o o 1
o o 1 o 1 o o o o 1
o o 1 1 1 1 1 o o 1
o 1 o o 1 1 1 o 1 1
o 1 o 1 1 1 1 o 1 1
o 1 1 o 1 o o o 1 1
o 1 1 1 1 1 1 o 1 1
1 o o o o 1 o 1 o 1
l o o 1 o 1 o 1 o 1
1 o 1 o o o o 1 o 1
1 o 1 1 o 1 o 1 o 1
1 1 o o 1 1 1 1 1 1
1 1 o 1 1 1 1 1 1 1
1 1 1 o 1 o o 1 1 1
1 1 1 1 1 1 1 1 1 1
De esta tabla se comprueba que para este universo finito (dos elementos), la
sentencia S es una sentencia válida, y por lo tanto la conclusión se deduce de las
premisas. Pero esto no garantiza que sea correcto para un universo del discurso
mayor. Si el universo del discurso es infinito (o lo suficientemente grande) está claro
que no se puede construir ninguna tabla de verdad.
Pese a ello, hay sentencias que siempre son verdaderas. Por ejemplo, la que
indica que si todos los individuos poseen una propiedad existe al menos uno que la
posee,
81
Capitulo III: Lógica de predicados de primer orden
5. Ley de especificación
\ixPx ➔ Pa (111-18)
82
/II. 3 Sistema axiomático en lógica de predicados
Las reglas de transformación para este sistema axiomático son las mismas que
para el sistema PM (1.7.2), la regla de sustitución y la regla de separación o modus
ponens.
Pa ➔3xPx
Vx( -,Px)➔,Pa
-,-,Pa➔, Vx(-,Px)
Pa➔3xPx
83
Capitulo///: Lógica de predicados de primer orden
3. Ley de identidad
4. Ley de contradicción
84
///.4 Leyes en logica de predicados
Las recíprocas de 7), 8), 9), 1O) y 12) no son ciertas en general
13. Ley de transitividad del condicional o ley del modo clásico del silogismo
"Barbara"1
1
Veamos varioas ejemplos de silogismos:.
Un ejemplo del silogismo «Barbara» es el siguiente razonamiento: Todos los hombres son
bípedos, todos los espafioles son hombres, luego todos los espaiioles son bípedos.
Ejemplo del silogismo «Celarent» es: Ningún hombre es planta, todos los espaiioles son
hombres, luego ningún espafiol es planta.
Ejemplo del silogismo «Darii» es: Todos los japoneses comen pescado, algunos yudocas
son japoneses, luego algunos yudocas comen pescado
Ejemplo del silogismo «Ferio» es: Ningún filósofo es miope, algunos finlandeses son
filósofos, luego algunos finlandeses no son miopes
85
Capitulo III: Lógica de predicados de primer orden
\ixPx ➔ Pa (ID-39)
Pa ➔ 3:xPx (111-40)
De todas las leyes que se han enunciado anteriormente la que tiene más
utilidad es la ley 19 de inferencia de la alternativa (111-38)
86
111.4 Leyes en logica de predicados
Para x e y es:
Por las mismas razones expuestas para la lógica de proposiciones, a toda ley
del cálculo de predicados que tenga la forma Pl/\ P2 /\ ... ➔ C le corresponderá una
regla de inferencia, en la que las sentencias P 1, P2, ... son las premisas y la
sentencia C es la conclusión.
87
Capitulo 111: Lógica de predicados de primer orden
\ix(Px ➔ Qx)
Pa
Qa
Además de estas reglas será necesario utilizar reglas que pennitan las
sentencias de lógica de predicados. En éstas existen signos propios con los que será
necesario operar. Estos signos son básicamente los cuantificadores.
88
//1.5 Sistema inferencia/ del cálculo de predicados
Px Pxl ... xn
o (Ill-46)
v'xPx v'xl ... xn Pxl ... xn
Pa Pal ... an
o ------- (Ill-48)
3xPx 3xl ... xn Pxl ... xn
Ejemplo 2. Como ejemplo del uso de estas reglas se muestra la demostración de la ley
16 del modo clásico del silogismo "Ferio"(III-35)
89
Capitulo III: Lógica de predicados de primer orden
Vx(Qx--hRx)
3x (Px /\ Qx)
3x(Px /\ --.Rx)
l. Vx(Qx-+.Rx) Premisa 1
3. Qx ➔ ,Rx RE Ven 1
4. Pa A Qa RE3 en2
5. Pa REAen4
6. Qa RE A en 4
8. Pa A --.Ra RI /\ en 5 y 7
VxPx ➔ 3xPx
90
///.5 Sistema inferencia/ del cálculo de predicados
donde los Lj son literales (fórmulas atómicas con o sin el símbolo '-,')
con cualquier número de variables cada uno. Varias cláusulas se colocan
estructuradas como conjunciones, por eso una sentencia que está en
-forma clausulada o normal de Skolem tiene la forma:
en la que cada cláusula (L¡1 v L¡2 v ... ) tiene sus propias variables.
91
Capitulo III: Lógica de predicados de primer orden
Dado que para aplicar la regla de resolución se necesita tener las sentencias
en forma clausulada, es necesario conocer la forma de pasar cualquier sentencia de
lógica de predicados a una sentencia equivalente en forma clausulada. El
procedimiento, ampliación del utilizado para la lógica de proposiciones (sección
1.8.2), pennite pasar cualquier sentencia de lógica de predicados a forma clausulada
tras efectuar un cierto número de pasos. El procedimiento que se va utilizar tiene
siete pasos:
(S ➔ R) = (-,S V R) (111-49)
92
111. 6 Sistema de resolución
3xPx ➔ Pa (ID-58)
para que la transformación anterior fuera correcta. Pero esta ley no tiene
por qué ser cierta para una constante dada fija a.
93
Capítulo 111: Lógica de predicados de primer orden
94
111. 6 Sistema de resolución
Por ejemplo,
3x'v'yz(Pxy v Qxyz)
pasa a
Por ejemplo,
\fyz3x(Pxy v Qxyz)
pasa a
pasa a
95
Capitulo 111: Lógica de predicados de primer orden
96
111. 6 Sistema de resolución
7. Cambio de nombre de las variables para que cada cláusula tenga las
suyas propias. A este cambio se llama instanciación.
Pa /\ Qb (Ill-67)
Por ello este séptimo paso consiste en sustituir una variable por otra
equivalente a fin de que cada cláusula tenga sus propias variables y así,
escribir, en lugar de 3xPx /\ 3xQx
97
Capítulo///: Lógica de predicados de primer orden
Pz no es afectado por 'x' ni por 'y', así que se usa una cte. de Skolem y
no una función; y lo mismo pasa con Rt respecto de 'x', de 'y', y de 'w'.
--.Px V Qxy
--.Ps v --.Pa
-.Pu v --.Quw v Rb
98
///.6 Sistema de resolución
'vx ( Hx ➔ Mx)
HS
MS
-,Hx v Mx
HS
MS
Dadas unas variables x1, x 2, ... , y unos términos t1, t2, ... , tn en los que no
Xn
figuran esas variables, llamaremos sustitución s a un conjunto de pares ordenados
(IIl-70)
L = Paxf(y)
y las sustituciones
99
Capitulo III: Lógica de predicados de primer orden
s2 = {b/x, g(z)/y}
S3 = {z/x, w/y}
Ls1 = Pabf(c)
Ls2 = Pabf(g(z))
Ls3 = Pazf(w)
Las tres sustituciones son diferentes ya que Ls2 es una sustitución que no
posee características especiales, ya que se sustituye la variable x por la constante b
y la variable y por la función g(z). Sin embargo Ls 1 es un caso terminal de L, se
llama así a las que no contienen variables, ya que éstas han sido sustituidas por
constantes. Ls3 es simplemente una variante alfabética de L, sólo se han cambiado
los nombres de las variables por otros, pero no se han transformado las variables en
constantes, ni en funciones.
(111-71)
(111-72)
S¡ = {f(x, y)/z}
100
III. 6 Sistema de resolución
da lugar a la sustitución:
porque cuando se fuera a aplicar s1, al haberse aplicado antes s2, no podría actuar
sobre ninguna z, al haber sido éstas sustituidas por c, por lo que s1 no tendría
ninguna variable sobre la que actuar.
Una sustitución s se dice que es más general que otra s', si esta sustitución s'
se puede obtener de la s por composición con otra sustitución.
Se dice que dos expresiones son unijicables si se pueden hacer idénticas por
la aplicación de alguna sustitución s, a la que se denomina unificador.
Ls = L's (Ill-73)
(Ill-74)
En tal caso, se dice que ses un unificador de L = {L¡} y que los literales L¡ se
unifican en L¡s.
101
Capitulo 111: Lógica de predicados de primer orden
1. Si s es otro unificador de {L¡}, entonces existe una sustitución s' tal que
s=as', es decir, L¡s _es un caso de L¡a. En el ejemplo anterior, P(a, c,
f(b)) es un caso de la sustitución en P(a, x, f(b)) para s' = {c/x}.
102
111. 6 Sistema de resolución
4. Se vuelve a l.
G1 = Ln v L12 v .. . (ID-75)
G2 = Li1 V Li2 V .. .
G1 = { Lli} (III-76)
G2 = { Lii}
103
Capitulo 111: Lógica de predicados de primer orden
g1 = { 11¡} (lll-77)
g2= { }i¡}
Es decir estos nuevos conjuntos poseen todos los literales comunes de ambas
generatrices en forma afinnativa y negativa, de modo que pueden ser resueltos.
El signo menos significa que del conjunto G1 se eliminan los literales g1 y del
conjunto G2 los literales g2. La justificación teórica de esta regla de resolución es la
generalización de la ley de inferencia de la alternativa (Ill-38). Para comparar
aquella ley con lo que acabamos de dar, obsérvese que, al unificar, {l¡¡} se reduce a
un solo literal, que corresponde al que se llamaba Pxl, ... , xn, y {h¡} a -,Pxl, ... , xn.
Los conjuntos de literales son {L1¡}={ Px, Qx}, y {Li¡}= {-,Pa, Ry}. Si
seleccionamos la pareja de literales {lu} = Px y {}i¡}= -,Pa, el unificador más
general de la unión {11¡} u {-,}i¡} = {Px, Pa} es a= {a/x}.
104
JI/. 6 Sistema de resolución
P2: BP
En este caso los conjuntos de literales son {Lli} = {--.Bx, Ex} y {li¡} =
{BP}. Si elegimos {lli} = { --.Bx} y {li¡} = {BP} el unificador mínimo será
cr- {P/x} y la resolvente es
{Ex} cr u { } cr = {EP}
R=EP
es decir
Pedro se equivoca
111.6.4 Refutación
105
Capitulo 111: Lógica de predicados de primer orden
Pl: -,Hx V Mx
P2: HS
C: MS
P 1: -,HxvMx
-,C: ,MS
-,HS
106
111. 6 Sistema de resolución
En esta sección se muestran unos ejercicios con los que se pretende que se
adquiera práctica en otras estrategias para analizar la posible verdad o validez de
proposiciones lógicas de una forma un poco más rápida de lo habitual. Aunque
exiten muchas otras, aquí se han puesto básicamente las relacionadas con la
asociación de proposiciones conjuntistas. Luego, para constatar la 'evidencia', se
puede auxiliar uno de un diagrama de Venn-Euler.
107
Capitulo 111: Lógica de predicados de primer orden
108
Capítulo IV
Otras lógicas
IV.1 Introducción
109
Capitulo IV: Otras lógicas
110
IV. 2 Lógica de predicados con identidad
111
Capítulo IV: Otras lógicas
i) -,Rxy v Ryx
De (vi) y (v) se tiene (viii) Rbb; de (vii) y (iv), (ix) Raa; por último, se puede
llegar a la cláusula vacía desde (iii-2), (viii) y (ix). Con este nuevo criterio la
relación vacía es reflexiva (el criterio define la reflexividad en fonna
condicional).
8. "=" sirve a veces para definir un signo. Por ejemplo: '4' "es" '3+1 ', es
la definición de '4' (o sea ' 4 es el siguiente de 3'): Esto no es ni
verdadero ni falso, sino simplemente la introducción de un signo (a la
izquierda del '=' se escribe el nombre y a la derecha el significado); en
cambio, al ser utilizado en las expresiones '4 = 2+2' o '4 = 1+ 3 ', el
signo de igualdad expresa un teorema, es decir, estas dos expresiones
son demostrables: por ejemplo '4 = 2+2' se puede probar así: '4 = 3+ l ',
por definición de '4'; de ahí, '4 = (2+ 1) + l ', por definición de '3'; de
ahí '4 = 2+(1+1)', por la propiedad asociativa de la suma (que es, a su
vez, un teorema demostrable); y ahora '4 = 2+2', por definición de '2'.
112
IV.2 Lógica de predicados con identidad
113
Capítulo IV: Otras lógicas
En efecto, "hay por los menos dos entidades que tienen la propiedad P" se
puede expresar como:
es decir, existen algún 'x' y algún 'y', tales que Px, Py y 'x' es distinto de 'y'. La
negación de esta sentencia representa "hay a lo sumo una entidad que tiene la
propiedad P". Por otra parte "hay exactamente una (existe una única) entidad que
tiene la propiedad P" se expresará como:
o bien
114
IV.2 Lógica de predicados con identidad
3(l)xPx (IV-6b)
Los tres primeros enunciados son falsos; el cuarto, verdadero. (IV-7) es falso,
porque no hay Rey de Francia; (IV-8) es falso, porque los autores de Principia
Mathematica son dos; (IV-9) es falso, porque aun cuando hay por lo menos una y a
lo sumo una Reina de Inglaterra, esta Reina no es calva. Se sigue de ello que para
que un enunciado descriptivo de la forma:
El 'descriptor', 'i ', se usa así: x = iyPy, que se lee: 'x' es el 'y' tal que 'Py'.
A principios del siglo XX, B. Russell adoptó el muy aceptable convenio de que este
signo es suprimíble en términos del cuantificador '3' y del signo de igualdad '=', en
la forma siguiente: si tal 'x' no existe, la frase anterior dice que la clase Pes vacía o
115
Capítulo IV: Otras lógicas
que el predicado 'Py' es universalmente falso, y si tal 'x' existe, la frase dice que
(existe y es único) 'x' es el único 'y' que satisface 'Py'. Por ejemplo:
P(ixQx) = -,3x(PX/\Qx)
pero con ambos, pues quizá alguien (x), puede llamarse Luis, sin ser el actual rey de
Francia y satisfacer Px. Otro ejemplo: 'x es aquel número real cuyo cuadrado sea -
l' (no hay ninguno), o 'x es el número complejo cuyo cuadrado es -1 ', (hay dos).
Esta última puede ser transformada en propia así: 'x es el conjunto de los números
complejos cuyo cuadrado es -1 '.
Por lo tanto:
es una generalización del enunciado (IV-1 O), donde "P" y "Q" son dos letras
predicados cualesquiera, concretamente en (IV-10) "Q" está abreviando "autor del
Quijote" y "P" está abreviando "ser español". La definición resultante ofrece un
interés considerable:
l. Proporciona .un análisis del papel lógico desempeñado por los artículos
determinados "el", "la".
2. Explicita las diversas condiciones bajo las cuales son verdaderos los
enunciados descriptivos.
116
/V.2 Lógica de predicados con identidad
De un modo general, cualquier nombre propio "N" puede ser sustituido por la
descripción "El x tal que P(x)", donde "P" es un predicado verdadero de N y sólo de
N.
117
Capitulo IV: Otras lógicas
El descriptor puede usarse también para definir, que es el caso que se muestra
en el siguiente ejemplo:
118
JV.3 Lógica de clases
x eA
xéA
A= {x I A(x)} (IV-13)
que leemos: "la clase de todos los x tales que verifican A(x)". Donde, aunque es
habitual utilizar distinto símbolo para referirse a la clase y para referirse a la
propiedad (predicado), se ha empleado el mismo símbolo para ambos con el fin de
no complicar la notación.
Con estos recursos simbólicos podemos definir las operaciones sobre clases:
I. Inclusión:
A e B = 'vx ( x e A ➔ x e B ) (IV-14)
2. -Identidad:
119
Capitulo IV: Otras lógicas
3. Unión:
AuB={xl(xeAvxeB)} (IV-16)
4. Intersección:
AnB~{xl(xeAAxeB)} (IV-17)
5. Complemento:
(IV-18)
Recuérdese también que la clase vacia, representada por el símbolo ' 0 ', es
la clase a la cual no pertenece nada, y la clase referencial o dominio representada
por 'U', es la clase a la cual pertenece todo aquello a lo que nos estamos refiriendo.
Para que la lógica de las clases tenga estructura de álgebra de Boole se tienen
que verificar las siguientes propiedades:
2. La clase vacía '0' y referencial 'U' son los elementos neutros para la
unión y la intersección respectivamente, por tanto para cualquier clase A
se verifica que: .
Au0=A (IV-19)
AnU=A (IV-20)
120
IV.3 Lógica de clases
AuA =U (IV-21)
An A =0 (IV-22)
AuB=BuA (IV-23)
AnB=BnA (IV-24)
Au(BuC)=(AuB)uC (IV-25)
An(BnC)=(AnB)nC (IV-26)
Au ( B n C) = ( Au B )n ( Au C) (IV-27)
An (Bu C) = ( An B )u( An C) (IV-28)
La ley de idempotencia:
AuA=A (IV-29)
Au0=Un(AuA)
121
Capitulo IV: Otras lógicas
AnA=A (IV-3O)
Leyes de absorción:
AuU=U (IV-31)
An0=0 (IV-32)
Au(AnB)=A (IV-33)
An(AuB)=A (IV-34)
Leyes de De Morgan:
(AuB)=AnB (IV-35)
(AnB)=AuB (IV-36)
Los axiomas y leyes del álgebra booleana de las clases son paralelos a los de
la lógica de proposiciones. Así (IV-21) corresponde a la ley del tercio excluso (1-
54), (IV-22) a la ley de contradicción (1-55), (IV-23) y (IV-24) a (l-58a) y (l-58b),
etc. Dejamos al alumno que exprese en lógica de clases todas las leyes dadas en el
apartado l. 6.
p ➔ q
q ➔ r
(IV-37)
p ➔ r
122
IV.3 Lógica de clases
,r ➔ ,p (IV-38)
es válida. Para ello hay que tener en cuenta que -,r pertenece a la clase
complementaria de R, y -,p a la complementaria de P. En el diagrama de Euler
podemos ver que R está incluido en P, luego (IV-38) también es una conclusión
válida de las premisas de (IV-37).
Dejamos como ejercicio la comprobación que las sentencias "r ➔ p" y "q ➔
p" no son conclusiones válidas para el razonamiento anterior y que "-,q ➔ -,p" sí
lo es.
123
Capitulo IV: Otras lógicas
En primer lugar dibujamos los diagramas de Euler para las dos premisas.
Puesto qu~ según la primera premisa "algunos estudiantes son atractivos",
dibujamos el diagrama de la figura IV-2 1, aunque la clase de los estudiantes
podría haberse dibujado como una subclase de la clase de las personas
atractivas.
a)
1
Por simplicidad, en la mayoría de los diagramas de Euler suprimiremos la representación
de la clase Referencial.
124
JV.3 Lógica de clases
expresan respectivamente las relaciones "amar a", "ser más joven que", "estar entre
... y", "entregar ... a". Las relaciones que gobiernan a dos entidades se denominan
relaciones diádicas o binarias, a las de tres triádicas, etc.; para simplificar las
llamaremos desde ahora simplemente relaciones.
125
Capitulo IV: Otras lógicas
Las relaciones las representaremos habitualmente por las letras 'P', 'Q', 'R',
'S ', etc., y un esquema relacional diádico lo escribiremos de la forma
indicando todos los pares (x, y) que verifican que "x tiene la relación R con y". En
este esquema relacional a 'x' lo llamaremos relacionante y a 'y' relacionado.
que leemos "la clase de todos los pares ordenados (x, y) tales que el predicado R(x,
y) es cierto" o "la clase de todos los pares ordenados (x, y) que verifican la relación
R". Como en el caso de las clases, utilizaremos el mismo símbolo para la relación y
para el predicado.
126
IV.4 Lógicas de las relaciones
1. Inclusión:
Re S = 'vx'vy ( x R y ➔ x S y) (IV-41)
2. Identidad:
R = S = 'vx'vy ( x R y tt x S y ) (IV-42)
Las dos relaciones R y S son idénticas si todas las parejas (x, y) que
verifican la relación R también verifican la relación S y viceversa. Por
ejemplo, la relación "abuelo paterno de" es idéntica a la relación "padre
del padre de".
3. Unión:
4. Intersección:
127
Capítulo IV: Otras lógicas
6. Composición:
128
IV.4 Lógicas de las relaciones
1. Dominio:
8. Rango:
ran R = { y 1 3x ( x R y) } (IV-50)
El rango de la relación R es la clase formada por todos los "y" tales que
existe algún x de forma que la pareja (x,y) verifica la relación R. Por
ejemplo, el rango de la relación "abuelo o abuela de" es la clase de
"todos los nietos".
a la que responde la siguiente sentencia "El tejado está encima del piso si y sólo si el
piso está debajo del tejado".
129
Capitulo IV: Otras lógicas
según la cual podemos afirmar que la relación "padre o madre" es igual que la
relación "progenitor de" si y sólo si la relación "hijo o hija de" es igual a la relación
"engendrado por". -
(R e S) ➔ ( (Ro Q) e (S o Q) ) (IV-53)
según la cual podemos afirmar que como la relación "padre de" está incluida en la
relación "padre o madre de" entonces la relación "abuelo materno de", compuesta
de las relaciones "padre de" y "madre de", está incluida en la relación "abuelo o
abuela matemos de", compuesta de las relaciones "padre o madre de" y "madre de".
(R u S) o A == (R o A) u (S o A) (IV-54)
según la cual podemos afirmar que los amigos o amigas de políticos, clase obtenida
como composición de la unión de las relaciones "ser amigo de" y "ser amiga de"
con la clase de los políticos, son amigos de políticos o amigas de políticos.
según la cual podemos afirmar que como la relación "padre de" está incluida en la
relación "padre o madre de" entonces la clase de "los padres" está incluida en la
clase de "los padres o madres".
según la cual podemos afirmar que como "los caballos son animales'', "las cabezas
de caballos son cabezas de animales".
130
JV.4 Lógicas de las relaciones
131
Capítulo IV: Otras lógicas
P➔ p~q
o o o o 1 1
o ½ o ½ 1 ½
o 1 o 1 1 o
½ o o ½ ½ ½
½ ½ ½ ½ 1 1
½ 1 ½ 1 1 ½
1 o o 1 o o
1 ½ ½ 1 ½ ½
1 1 1 1 1 l
{ -
- -
O
, -, - , ..... ,- -, - 1
1 2 n - 2 n- 1 }
º n- 1 n- 1 n- 1 n-1 n- 1 - (IV-57)
p /\ q = min(p,q) (IV-59)
132
JV.5 Lógicas polivalentes
pv q = max(p,q) (IV-60)
pvq=(p➔q)➔q (IV-63)
(IV-64)
(IV-65)
p q P➔q <P ➔ q) ➔ q
o o 1 o
o ½ 1 ½
o 1 1 1
½ o ½ ½
½ ½ 1 ½
½ 1 1 1
1 o o 1
1 ½ ½ 1
1 1 1 1
]33
Capítulo IV: Otras lógicas
Entre los problemas suscitados por las lógicas polivalentes, hay tres que
merece la pena destacar brevemente. El primero es el problema de interpretación de
sus valores de verdad. El segundo concierne a las objeciones muy similares que se
han dirigido contra la lógica bivalente, que algunos consideran insuficiente para
expresar los valores de verdad graduados que se manifiestan en el lenguaje
ordinario, en expresiones tales como "no completamente", "casi", "más o menos"
etc. Ya que estas mismas objeciones se pueden formular contra toda lógica
polivalente finita; sólo la lógica polivalente infinita puede escapar de ellas. El tercer
problema toca al uso de las lógicas polivalentes en el lenguaje científico,
especialmente en el de la fisica cuántica donde, como consecuencia del principio de
incertidumbre de Heisenberg, es necesario correlacionar cada valor de verdad con
un cierto grado de probabilidad (lógica probabilitaria).
134
IV. 6 Lógica borrosa
1
La teoría de conjuntos borrosos fue presentada por Zadeh en el artículo: Fuzzy Sets,
Information and Control, Vol. 8, 1965, pp. 338-353. Este trabajo se puede considerar
como el punto de partida de todas las teorías sobre lógica borrosa y sus aplicaciones.
135
Capítulo IV: Otras lógicas
Parece claro que 101 no pertenece al primer conjunto y que 1.000.000 sí,
pero ¿y 500? También parece claro que el Nilo pertenece al segundo conjunto, pero
y ¿el Guadalquivir? ¿Pertenece usted a alguno de los otros tres conjuntos? Tales
conjuntos pueden recibir el calificativo de "borroso", para indicar que no existe un
criterio que determine exactamente un límite entre pertenencia y no pertenencia al
conjunto. Se puede objetar que este calificativo no es real, sino subjetivo porque no
se han establecido los criterios de pertenencia. Así para el primer conjunto, se puede
establecer que un número natural es mucho mayor que 100 si como mínimo es
mayor que 1000; para el segundo, que un río es largo si su longitud supera un
número determinado de kilómetros; para el tercero, que es pobre toda persona que,
sin tener patrimonio, perciba ingresos inferiores al salario mínimo; y así
sucesivamente.
136
IV. 6 Lógica borrosa
137
Capitulo IV: Otras lógicas
(IV-66)
cuya representación gráfica se muestra en la figura IV-4, puede servir para definir
el conjunto borroso de los números reales próximos a O. En este conjunto, el número
1 tiene un grado de pertenencia de 0.09, el número 0.25 tiene un grado de 0.62 y el
número O el mayor grado 1, obtenidos respectivamente al sustituir x por 1, 0.25 y O
en la función (IV-66).
0.8
JJA(X)
0.6
0.4
0.2
Figura IV-4: Una posible función de pertenencia para el conjunto borroso de los
números reales próximos a cero.
138
IV. 6 Lógica bollosa
U= edades= {5, 10, 20, 30, 40, 50, 60, 70, 80}
139
Capítulo IV: Otras lógicas
(IV-67)
-
se está representado el conjunto borroso A, formado por los elementos x del
universo U con grado de pertenencia µA(x) distinto de cero.
Tabla IV-2: Ejemplo de cuatro conjuntos borrosos sobre el universo de las edades.
..
Elementos(edades) Bebé Joven adulto VIeJO
5 o 1 o o
10 o 1 o o
20 o 0.8 0.8 0.1
30 o 0.5 1 0.2
40 o 0.2 1 0.4
50 o 0.1 1 0.6
60 o o 1 0.8
70 o o 1 1
80 o o 1 1
bebé= { } -
viejo= {201 0.1, 30 j 0.2, 401 0.4, 501 0.6, 601 0.8, 7011, 80 11}
140
IV.6 Lógica borrosa
"efx E U (IV-69)
Por ejemplo, con los valores de la tabla IV-2 se comprueba que el conjunto
"viejo" es un subconjunto de "adulto". Ello quiere decir que una persona que tenga
un cierto grado de pertenencia al conjunto "viejo" tiene al menos ese mismo grado
de pertenencia al conjunto "adulto".
141
Capitulo JV: Otras lógicas
't/x E U (IV-70)
A ;é B s1 3x e U (IV-71)
Es decir, para que dos conjuntos borrosos sean iguales, todo elemento del
universo debe tener el mismo grado de pertenencia a los dos conjuntos. Para que
sean diferentes basta que la condición no se cumpla para alguno de los elementos
del universo.
Por lo que el complemento de "viejo" que podemos llamar "no viejo" tiene la
siguiente representación:
Por tanto
. . .
Joven u V1eJo =
142
IV. 6 Lógica borrosa
En consecuencia,
An A ;é0 (IV-75)
(IV-76)
por tanto los conjuntos borrosos con las operaciones básicas anteriormente definidas
no pueden formar un álgebra de Boole.
143
Capitulo IV: Otras lógicas
en línea recta, están unidos cada dos valores consecutivos en el universo de las
edades.
"i 0.6
\
\
\
i
-8 0.4 _.: adulto (+)
'Q
\
'
' >· ,,x,,
.,.
J 0.2
...
,, \
o,
.....
...""... ....
.... .,..X,,,, ...
bebé(.) .
o 'GI
o 10 20 30 40 50 60 70 80
Edad
144
IV. 6 Lógica borrosa
AxB = {(x, y> 1µ AxB (x, y> =mm(µ A(x), µB (y>), 'vx e u , 'vy e v } (IV-77)
.
1- X X X X
0.8 - X X -
•
·e;
=
u 0.6 -- jovenv viejo (x)
)(
-
~u )(
Q.
u
"CI 0.4 - X -
i 0.2 .. o o -
o joven n viejo (o)
o
o o o o
o-- Q
-
o 10 20 30 40 50 60 70 80
Edad
Jx M = {(5,160) 10.5, (5,170) 11, (5,180) 10.5, (10,160) 10.5, (10,170) 11,
(10,180) I 0.5, (20,160) I 0.5, (20,170) I 0.8, (20,180) 10.5, (30,160) I 0.5,
(30,170) I 0.5, (30,180) I 0.5, (40,160) I 0.2, (40,170) 10.2, (40,180) I 0.2,
(50,160) I 0.1, (50,170) I 0.1, (50,180) I 0.1}
145
Capítulo IV: Otras lógicas
(IV-78)
(IV-79)
146
IV. 6 Lógica borrosa
Cádiz Toledo
Cádiz [
Gerona
O
1
0.4]
0.6
Sevilla 0.1 0.3
donde sólo se incluyen las parejas con grados de relación distintos de cero.
ran R(U, V)= {y 1 µranR (y)= max. µR (x, y), 'vx e U, 't/y e V
xeU
J (IV-81)
147
Capitulo IV: Otras lógicas
como aquella relación borrosa que asigna a cada pareja (x,z) del producto
cartesiano UxW el grado de relación que resulta de la siguiente operación:
Matemáticamente hablando
siendo
148
IV. 6 Lógica borrosa
2. .En la lógica clásica los predicados son concretos, por ejemplo: mortal,
par, mayor que, ... etc. En la lógica borrosa los predicados pueden ser
·concretos, como los anteriores, o borrosos, como por ejemplo: barato,
joven, alto, cansado, inteligente, próximo a, ... etc.
149
Capítulo IV: Otras lógicas
3. La lógica polivalente (la bivalente como caso particular) admite sólo dos
cuantific3:(lores, el universal 'para todo' y el existencial 'existe un ...
tal que'. La lógica borrosa admite además cuantificadores borrosos
como: ' muehos,' ' pocos,' 'algunos,' 'la mayona ' de,' ... etc. Estos
cuantificadores se pueden interpretar como números borrosos que dan
una caracterización imprecisa del cardinal de un conjunto borroso o
clásico. Desde esta perspectiva, un cuantificador borroso se puede
considerar como un predicado borroso de segundo orden.
150
IV. 6 Lógica bo"osa
2. Para los modificadores, que son una novedad con respecto a la lógica de
predicados, donde sólo existe la negación (-,), se empleará el adverbio
correspondiente (por ejemplo 'muy').
151
Capítulo IV: Otras lógicas
1
Quantitative fuzzy semantics, Infonnation Sciences, Vol.3, 1973, pp. 159-176.
The concept of a linguistic variable and its application to approximate reasoning,
Information Sciences, Vol. 8, 1975, pp. 199-249, 301-357, Vol.9, 1975, pp. 43-80.
Test-Score Semantics as a Basic for a Computational Approach to the Representa/ion of
Meaning, Literary and Linguistic computing, Vol. 1, 1986, pp. 24-35.
152
IV. 6 Lógica bo"osa
natural, podemos suponer que existe una medida para cada elemento del universo y
para cada predicado que expresa el grado de correspondencia entre ellos, y que, por
tanto, expresa la relación semántica.
1
µp(x)=l+O.lx (IV-85)
o X <1000
(IV-86)
x-1000
x~l0O0
x-999
(5)- 1 2
µp -1+0.5 - 3
(1005) = 1005-1000 = ~
µG 1005 -999 6
153
Capitulo IV: Otras lógicas
(IV-87)
Para poder interpretar una sentencia simple con un sujeto x que no pertenece
al universo U sobre el que se ha definido el predicado, es necesario establecer
primero una correspondencia entre ese sujeto y algún elemento del universo de
discurso. Es lo que se denomina el paso a forma canónica.
c) Interpolar los valores de las dos interpretaciones anteriores (a) 0.8 y (b)
0.5 como si el universo fuera continuo, en este caso
µ - (30)- µ. (20)
• (25) = • (20) + Joven Joven (25 - 20)
µ Joven µ JOVen 30 - 20
1
Como en la lógica de las clases, con el fin de no complicar la notación, emplearemos
siempre el mismo símbolo para la propiedad (predicado) y el conjunto. Lo mismo haremos
en el caso de los predicados diádicos y las relaciones borrosas.
154
IV. 6 Lógica borrosa
5 08
µjoven (25) =0.8 + 0. - · 5 =0.65
10
Todo predicado n-ario representa una relación, por ejemplo "distancia entre".
Si consideramos el conjunto de predicados n-arios de un lenguaje natural, podemos
suponer que existe una medida para cada tupla, formada por los elementos de los
distintos universos, y para cada predicado que expresa el grado de correspondencia
entre ellos, y que por tanto expresa la relación semántica.
(IV-88)
en caso contrario
1
(2 4)- l = -
µs ' -1+(2-4) 4 17
155
Capítulo IV: Otras lógicas
e f
p 0.7 0.4
V l o
o 0.6 0.5
1 0.1 1
156
IV. 6 Lógica bollosa
Ejemplo 1O. Con los datos del ejemplo 7, se desea obtener la relación borrosa asociada al
predicado "persona joven o de estatura media".
R(J,M) = "joven o de estatura media"= {(5,160) 11, (5,170) 11, (5,180) 11,
(10,160) 11, (10,170) 11, (10,180) 11, (20,160) 10.8, (20,170) 11, (20,180) 1
0.8, (30,160) 1 0.5, (30,170) 11, (30,180) I 0.5, (40,160) I 0.5, (40,170) 11,
(40,180) I 0.5, (50,160) 10.5, (50,170) 11, (50,180) I 0.5}
Ejemplo 11. Con los datos del ejemplo 7, sabiendo que Juan tiene 20 años y que mide 180
cm, se pide interpretar la sentencia
Por ejemplo en la tabla IV-2 se han definido, sobre el universo de las edades,
las propiedades (predicados) ')oven" y "viejo". Entonces, la propiedad 'joven o
viejo", que es un predicado compuesto por la disyunción, vendrá definida por el
conjunto resultante de la unión
. . .
Joven u v1eJo =
157
Capitulo IV: Otras lógicas
Por ejemplo, con los mismos datos del ejemplo 7, la sentencia "Juan es joven
y de estatura media" tiene un grado de verdad de 0.5 obtenido como valor mínimo
de J.ljoven(20) = 0.8 y de µestatura media(l80) = 0.5.
S(AAB) = A n B ; A e U , B e U (IV-93)
S(AAB) = A x B ; A e U , B e V (IV-94)
(IV-95a)
158
IV. 6 Lógica borrosa
(IV-95c)
Por ejemplo, con los mismos datos del ejemplo 11, la sentencia "Si Juan es
joven entonces Juan es de estatura media" tiene un grado de verdad de 0.5 obtenido
con la definición de Mandani
S(A➔B) =A x B ; A e U, B e V (IV-96)
159
Capitulo IV: Otras lógicas
Por ejemplo, con las definiciones de 'joven" y de ''viejo" de la tabla IV-2, con
la definición de "persona de estatura media,, del ejemplo 7 y con los datos de Juan
(20 años, 180 cm), la sentencia "Si Juan es de estatura media entonces Juan es
joven, si no, es viejo" tiene un valor de verdad de 0.5, obtenido como sigue:
160
JV.6 Lógica borrosa
'más o menos', 'casi', etc.), que se utilizan con frecuencia en el lenguaje natural
para especificar junto con el predicado una propiedad más concreta. Por ejemplo,
sentencias como "un hombre muy joven", "una operación algo complicada" son
ejemplos de utilización de modificadores para especificar más detalles sobre el
concepto que se está expresando.
Intensificación
INT( (x))
µ
-{2 µ 2 (x)
- 1 - 2 (1 - µ(x) )2
si O< µ(x) ~ 0.5
si µ(x) > 0.5
(IV-103)
1
µ(x)= 2 (IV-104)
1 + 10 (x -5)
que es representativa del conjunto "números reales próximos a 5 ", para poner de
manifiesto el efecto que sobre esta función tienen las operaciones de concentración,
dilatación e intensificación.
161
Capitulo IV: Otras lógicas
0.8
0.2
162
IV. 6 Lógica borrosa
es decir que las operaciones de concentración y dilatación, definidas por (IV-1 O1) y
(IV-105) son conmutativas e inversas entre sí.
Junto con las operaciones sobre las funciones de pertenencia, V. Novak define
otras operaciones sobre el universo del discurso. De manera que interpreta el
modificador como una doble transformación, primero del universo de discurso sobre
el que está definido el predicado y segundo de la función de pertenencia. Por
simplicidad se va a considerar que el modificador se puede modelar por la simple
transformación de la función de pertenencia. Así, utilizaremos las siguientes reglas
de modificación para interpretación de sentencias simples con los adverbios más
comunes:
'aproximadamente' y 'casi':
163
Capitulo IV: Otras lógicas
La figura IV-7 junto con la figura IV-8 muestran cómo se reflejan sobre la
misma función (IV-104) algunos de los modificadores anteriormente definidos.
Ejemplo 12. Los siguientes conjuntos borrosos se han obtenido a partir de los conjuntos
definidos en la tabla IV-2 aplicando las operaciones (IV-107) a (IV-112),
asociadas a los modificadores, a los correspondientes grados de pertenencia
no joven= {20 l 1-0.8, 30 l 1-0.5, 40 11-0.2, 50 11-0.1, 60 l 1-0, 70 11-0, 80
l l-0} = {20 I 0.2, 30 I 0.5, 40 I 0.8, 50 I 0.9, 60 11, 7011, 8011}
muy adulto= {2010.82, 30 l 12, 40 l 12, 60 l 12, 70 l 12, 80 l 12 } = {2010.64,
30 11, 40 11, 60 11, 70 11, 80 11}
hiper viejo= viejísimo= {20 1O. I3, 301 0.23, 40 10.43 , 50 10.63, 60 10.8 3 , 70
113, 80 I 13 } = {20 I 0.001, 30 I 0.008, 40 I 0.064, 50 I 0.216, 60 I 0.512, 70 I
1, 80 I 1}
más o menos joven= {5 l 2-12, 1012-1 2 , 2012 0.8-0.82, 3012 0.5-0.5 2, 401
2
2 0.2-0.2 , 50 12 0.1-0.1 2 } = {511, 1011, 2010.96, 3010.75, 4010.36, 501
0.19}
casi viejo= {20 10.3439, 30 10.5904, 40 10.8704, 50 10.9744, 60 10.9984,
70 11, 80 1 l}
donde el grado de penenencia del elemento 20 al conjunto "casi viejo" es el
resultado de las siguientes operaciones
164
IV. 6 Lógica borrosa
165
Capitulo IV: Otras lógicas
Ejemplo 13. con los mismos datos del ejemplo 11, la sentencia
"Juan es bastante joven y casi de estatura media"
tiene un valor de verdad de 0.7408. Para obtenerlo se opera como sigue:
166
Capítulo V
Autómatas
V.1 Introducción
167
Capitulo V: Autómatas
2. Q es el conjunto de estados.
3. qO es el 'estado inicial'.
-
4. F (cQ) es 'el conjunto estados :finales'.
168
V.2 Definición y representación de los autómatas
Ejemplo l. Un AF, llamado detector de paridad, que acepta listas o cadenas con un
número par de unos: A= ({O, l}, {qO, ql}, f, qO, {qO}), siendo f:
f(qO, O)= qO, f(qO, 1) = ql, f(ql, O)= ql, f(ql, 1) = qO.
o 1 1 o
qO ➔ qO ➔ ql ➔ qO ➔ qO
169
Capítulo V: Autómatas
Ejemplo 2. Sea A= ({O, l}, {qO, ql}, f, qO, {qO}), donde fes:
f o 1
➔qO qO ql
ql ql qO
1. Modelo de Mea/y: s(t) depende de q(t) y de e(t), por lo tanto la salida del
sistema va asociada a la transición (se dice entonces que la velocidad de
transmisión es infinita). Que es el que hemos comentado hasta el
momento. (Su representación más habitual es mediante el diagrama de
Moore o diagrama de transición).
Características de la respuesta:
Mealy g: ExQ ➔ S;
Moore g: Q ➔ S,
170
V.2 Definición y representación de los autómatas
o sea, que a q se le puede asociar una salida y sólo una. Si esto ocurre para todo q
de Q, se puede definir una función inyectiva h, tal que:
En este caso, se dice que la salida sólo depende del estado y el autómata se
llama máquina de Moore. Así:
Ejemplo 3.. Sea AF = ({O, l}, {O, l}, {ql, q2, q3}), con las funciones de estado y de
salida dadas por:
f(O, ql) = ql; g(O, ql) = O; f(l, ql) = q2; g(l, ql) = l;
f(O, q2) = q3; g(O, q2) = O; f(l, q2) = q3; g(l, q2) = O;
171
Capitulo V: Autómatas
f(O, q3) = q3; g(O, q3) = O; f(l, q3) = ql; g(l, q3) = O.
Se representa por la- siguiente tabla de transiciones:
q\e o 1
ql ql/0 q2/l
q2 q3/0 q3/0
q3 q3/0 ql/0
172
V.3 Conceptos básicos de álgebra relacionados con los autómatas
Dados dos semigrupos (SI, S2) decimos que una función f: Sl ➔S2 es un
homomorfismo· entre ambos semigrupos si preserva la ley de composición interna,
es decir, si el diagrama de su representación es conmutativo.
173
Capítulo V: Autómatas
174
V. 4 Comportamiento de un autómata
Estado siguiente
K(O) K(l)
Estado ql ql q2
inicial q2 q2 ql
En general,
K(x) = K(O) si se tiene un número par de unos.
K(x) = K(l) si se tiene un número impar de unos.
175
Capitulo V: Autómatas
Por ello, el número máximo de elementos del conjunto cociente E*/i:::: es nn.
Por ello, a cada q(s)eQn se le puede asociar una sola salidas y así se obtiene
una función de salida hn: Q ➔ S tal que: gn(e, q(s)) = hn(fn(e, q(s))), por lo que An
176
V.4 Comportamiento de un autómata
Las salidas están asociadas con los estados. Así, las transiciones que llevan a
un mismo estado dan la misma salida, y debido a ello, en las tablas de transiciones
se colocan también las salidas en la misma columna que los estados.
/s e
Tabla de Moore
En una máquina de Moore se trata con el monoide E*, llamado monoide libre
de entrada. En una máquina de Mealy sólo tratamos con el semigrupo libre de
entradas, E+ (sin entrada A).
Sumador binario: E= {00, 01, 10, 11}, S = {O, l}, Q = {ql, q2}, estado
inicial ql.
Mealy:
Q \ E: 00 01 10 11
ql ql/0 ql/1 ql/1 q2/0
q2 ql/1 q2/0 q2/0 q2/l
Moore:
Q/S \ E: 00 01 10 11
_ql0/0 ql0/0 qll/1 qll/1 q20/0
qll/1 ql0/0 qll/1 qll/1 q20/0
q20/0 qll/1 q20/0 q20/0 q21/l
q21/l qll/1 q20/0 q20/0 q21/l
177
Capitulo V: Autómatas
178
V. 4 Comportamiento de un autómata
Por tanto conocido lo expuesto veamos los pasos necesarios para proceder a
transforma una máquina de Mealy en una de Moore y a la inversa, dado que hemos
dicho que independientemente del problema para ellas siempre existe la equivalente
en la otra:
Sea Mealy = (E, S, Ql, fl, gl) y Moore = (E, S, Q2, f2, g2), entonces:
'ti fl(q, e)= p, 'ti gl(q, e)= s, Vp, qeQI, 'ti eeE, 't/seS, escribir:
Sea Moore = (E, S, Ql, fl, gl), y Mealy = (E, S, Q, fl, g2), entonces:
i. g2(q, e)= s.
179
Capítulo V: Autómatas
Los elementos combinacionales son las puertas lógicas NOT, OR, ANO,
NO~ NANO. (Tecnologías electrónica, mecánica, hidráulica, neumática, óptica,
etc), que ya se han comentado en el capítulo II.
Los elementos con memoria son las líneas de retardo y los biestables.
Las líneas de retardo son elementos con memoria más sencillos que existen,
y están caracterizados porque E = Q = S = { O, 1}, y dado un intervalo de tiempo T,
180
V.5 Circuitos secuenciales
con e, q, s e { O, 1}.
Estos elementos pueden ser elaborados con retardos físicos de cualquier señal
y también con biestables.
Los biestables son elementos con memoria que consisten en circuitos con dos
estados estables que son también la salida del circuito, y que simbólicamente son
denominados O y l. Físicamente cada uno de ellos corresponde a un nivel de tensión.
Estados estables significa que el elemento sólo cambia de estado bajo la acción de
las entradas. Hay diversos tipos de biestables que se diferencian en los posibles
símbolos de entrada y las funciones de transición. Los biestables se fabrican con dos
líneas de salida: en una de ellas, Q, se tiene el nivel de tensión correspondiente en
cada momento al estado O o 1, y, en la otra, se tiene -,Q (es decir, la negación de
Q).
Hay dos tipos de autómatas tal y como ya hemos comentado: los autómatas
representados con máquinas de Mealy, en los que la salida se obtiene como
combinación de las variables de entrada y de las del estado interno. Y los autómatas
representados con máquinas de Moore, en los que las variables de salida coinciden
con las del estado interno.
181
Capitulo V: Autómatas
(s1, ... sm, zl, ... , zp)) = CC(el, ... , en, ql, ... , qp) (V-7a)
en las que suponemos que, cada entrada parcial (o señal) es binaria. Igualmente se
podría elaborar·el modelo representado con máquina de Moore.
182
V.5 Circuitos secuenciales
V.5.3 Biestables
Los biestables son elementos de memoria con dos estados estables, que son
también sus salidas y que simbólicamente se denominan O y 1. Veamos ahora una
posible clasificación de los mismos
conRS = O.
La unidad de tiempo "l" es el intervalo de tiempo que tarda el biestable
en cambiar de estado o 'í:iempo de basculamiento". El funcionamiento
general seria el siguiente, dado para todas las posibles entradas:
: 1: g.¡ :
Figura V-1: Representación gráfica del biestable S-R.
183
Capitulo V.· Autómatas
(V-10)
O bien:
d(qO, 00) = qO; d(qO, 01) = qO; d(qO, 10) = ql; d(qO, 11) = ql;
d(ql, 00) = ql; d(ql, 01) = qO; d(ql, 10) = ql; d(ql, 11) = qO;
184
V.5 Circuitos secuencia/es
de donde:
d(qO, 00)·= qO; d(qO, 01) = qO; d(qO, 10) = qO; d(qO, 11) = ql;
d(ql, 00) = ql; d(ql, 01) = qO~ d(ql, 10) = ql; d(q 1, 11) = q 1;
g
--:-----:__I _g•i---1----:
Figura V-3: Representación gráfica del biestable D.
Hay una diferencia con los otros en cuanto al significado del O y del 1
para D y C. Para C, "l" significa que hay una variación de tensión de O
a 5 Voltios o lo que es lo mismo un cambio en el flanco de la señal de
reloj que indica el funcionamiento del biestable, y para C "O" significa
que el reloj no ha cambiado y por lo tanto no hay tal variación. Por lo
que normalmente C es cero, excepto en el instante en el que su tensión
cambia desde el nivel bajo hasta el nivel alto, o a la inversa, según se
prefije el cambio por convenio. Por tanto, el valor de D sólo tendrá
sentido cuando C sea 1, de lo contrario el biestable no varia. Cuando el
biestable puede cambiar (C = 1), lo que hace es transmitir el valor de
tensión que se tenga en la entrada D.
185
Capitulo V: Autómatas
el---~:'►------
e2-__.
-,
q
L------1 tl••--
z D
e
Figura V-4: Sumador binario del ejemplo 7.
xl = 100110, x2 = 101110
186
V.5 Circuitos secuencia/es
Sean (xl, ... , xn) entradas, (zl, ... , zm) salidas, (yl, ... , ym) excitaciones y
(sl, ... ,sn) señales de realimentación que salen de los biestables para entrar en la
parte combinacional. Si:
CC(xl, ... , xn, sl, ... ,sn) = (zl, ... , zm, yl, ... , ym) (V-13)~
Y los elementos de memoria, que describen el estado actual del circuito EM:
Cuando este tipo de circuitos sólo tienen memoria se dice que son circuitos
secuenciales autónomos y para representar el circuito se fonna lo que se conoce
como la 'tabla de comportamiento'. El estado actual A mediante E/S y X/S da el
estado siguiente B. Se formará la tabla que a cada fila (estado actual) A, y a cada
columna X (entrada), le asigna una pareja (B, Z), donde B representa el estado
siguiente y Z la salida (los elementos de la tabla son por tanto parejas).
187
Capitulo V: Autómatas
Estas tres han sido las soluciones combinacionales. Veamos ahora una
solución secuencial. Si en un sitio tenemos almacenada la información, el
dígito lo comparamos con el siguiente bit, lo que es lo mismo que lo
anterior. Para almacenar se usa un flipflop, o biestable, y se inicializa en
cero. Un ejemplo con un flipflop tipo D: D(t+ 1) = (EvQ(t)). Los bits
entrarían según el pulso de reloj, siendo ésta la solución más barata pero
188
V.5 Circuitos secuenciales
189
Capitulo V: Autómatas
q el e2 z = sal. q(sig)
o o o o o
o o 1 1 o
o 1 o 1 o
o 1 1 o 1
1 o o 1 o
1 o 1 o 1
1 1 o o 1
1 1 1 1 1
q/e: 00 01 10 11
o 0/0 0/1 0/1 1/0
1 0/1 1/0 1/0 1/1
q /e_: O 1
0/0 O 1
1/1 1 O
o sea, si se utilizan biestables (sólo hace falta uno, puesto que hay dos
estados que se pueden codificar con un único bit). Si se utiliza un biestable
D, además se sabe que D = q(sig). Anotando en cada línea la entrada
necesaria al biestable para que tenga lugar la transición correspondiente, por
ejemplo, en la primera línea q(t) = O, y se debe pasar a q(t+ 1) = O, para lo
cual D debe ser O (D = O) y en la segunda línea, D = l, etc.
190
V.5 Circuitos secuenciales
e q q(sig) = D
o o o
o 1 1
1 o 1
1 1 o
de donde D = (--.eAq)v(eA--.q) = eEBq. (Para entrada O se mantiene el estado
y para entrada 1 se transmite la entrada).
Sin embargo, no ocurre lo mismo con un JK, puesto que si tenemos que
hacer la transición q = O ➔ q(sig) = O, las entradas J y K pueden ser J = K =
O o bien J = O y K = 1 (es decir, una puesta a cero). Otro ejemplo, para la
transición q =O ➔ q(sig) = 1, se puede hacer J = K = 1 o bien J = 1 y K = O
(es decir, una puesta a uno); etc. Así, se puede escribir la tabla de
excitación, para este caso (X significa indiferente), como:
e q q(sig) J K
o o o O X
O 1 1 X O
1 O 1 1 X
1 1 O X 1
Minimizando por Karnaugh cada una de las entradas del biestable, J(e, q) y
K(e, q) se obtiene J =e= K. Así que basta con un solo biestable que no tiene
parte combinacional, y tal que J = K = e; sal= Q. Ver figura V-5:
i___:~l_~_g_,i---1----=-s
Figura V;.5: Circuito resultante del detector de paridad del ejemplo 10.
Ejemplo 11. Reconocedor de la cadena 010 (de entre las cadenas de 3 bits). A partir de la
función de transición del autómata finito reconocedor de 010, se obtiene que
hay 4 estados, por lo que hacen falta dos biestables para su representación.
191
Capitulo V: Autómatas
e q sal q(sig) Jl Kl JO KO
o 00 o 01 o X 1 X
o 01 o 01 o X X o
o 10 o 11 X o 1 X
o 11 1 01 X 1 X o
1 00 o 00 o X o X
1 01 o 10 1 X X 1
1 10 o 00 X 1 o X
1 11 1 10 X o X 1
sal =·QlAQO
Ejemplo 12. El contador BCD módulo 10. A partir del diagrama de Moore y, como hay
10 estados, necesitamos cuatro biestables (cuatro dígitos para codificar los
números BCD ·del O al 9). La salida será, en binario, cualquier número del O
al 9. Lo hacemos con JK, por lo que se ha de codificar los estados con los
mismos dígitos de las salidas asociadas, de la siguiente manera:
qO = sO = 0000
ql = sl = 0001
192
V.5 Circuitos secuenciales
........................
q9 = s9 =_ 1001
Así, s = q.
193
Capitulo V: Autómatas
l. Si e= O 2. Si e= 1
Q3Q2/QlQO: 00 01 11 10 Q3Q2/QlQO: 00 01 11 10
00 o o o o 00 o o o o
01 o o o o 01 O O 1 O
11 X X X X 11 X X X X
10 X X X X 10 X X X X
Además:
e -,Q3
JO QO 12 Q2 J3 Q3
KO QO' K2 Q2' K3 Q3'
e/\ QO
Figura V-6: Contador BCD módulo-10 con biestables J-K del ejemplo 12.
194
V.5 Circuitos secuenciales
O bien,
Q = ,RA(SvQ) (V-17a)
S2=Ql (V-19a)
R2 = -,Ql (V-19b)
195
Capítulo V: Autómatas
o bien,
J KQ
o oQ
o 1 o
1 o 1
1 1 -,Q
de ecuaciones:
S =JA-,Q (V-22a)
R=KAQ (V-22b)
con Q = f(S, R), y f la función del biestable. Igual que el SR, excepto en
que, si aparece la entrada 1, 1, la salida conmuta.
J K Q(t+ 1)
o o Q(t)
o 1 o
1 o 1
1 1 -,Q(t)
Su ecuación lógica es :
196
V. 5 Circuitos secuenciales
T Q(t+ 1)
Q(t)
-,Q(t)
o bien:
T Q(t) Q(t+l)
o o o
o 1 1
1 o 1
1 1 o
cuya ley es:
Q(t) Q(t+l) J K s R T D
o o o X o X o o
o 1 1 X 1 o 1 1
1 o X 1 o 1 1 o
1 1 X o o X o 1
197
Capitulo V: Autómatas
l. D ➔T
T = (,DAQ)v{DA-,Q) (V-25)
2. D ➔ JK
K = (,DAQ)v(CAQ) (V-26a)
J = (DA,Q)v(CAQ) (V-26b)
3. D ➔ RS
R = (,DAQ)v(CA,DA,Q) (V-27a)
S = {DA,Q)v(CA1)AQ) (V-27b)
Ejemplol3. Diseñar un contador módulo 3 utilizando biestables JK, que recorra los
estados en la forma 00 ➔ 11 ➔ 10 ➔ OO. Hay 3 estados, 3 < 22 = 4, hacen
falta 2 biestables para generar el circuito:
En t yen t+l
Ql QO Ql QO
o o 1 1
1 1 1 o
1 o o o
El biestable JK se define por:
Q(t + 1) = J Q' + K' Q
por lo que:
Jl =1 Kl' = QO Kl = QO'.
198
V.5 Circuitos secuenciales
Ql/ QO o 1 Ql/ QO o 1
o/ 1 o/ 1
1/ o o 1/ o 1
t t+ 1
Ql QO Ql QO
e=l o o o 1
o 1 1 o
1 o 1 1
1 1 o o
Los biestables:
SR: Q(t + 1) = S(t) + R'(t) Q(t).
JK: Q(t + 1) = J(t) Q'(t) + K'(t) Q(t).
D: Q(t + 1) = D(t) C(t) + Q(t) C'(t).
de donde:
SO=eQO' RO=eQO
Sl = eQl' Q0 Rl = eQl
JO= e KO=e
Jl=eQO Kl = eQO
199
Capitulo V: Autómatas
Para el primer biestable, (JO, KO, QO) = (e, e, QO) (se tiene entonces Q0 como
salida).
Para el segundo biestable, (Jl, Kl, Ql) = (eAQO,eAQO, Ql) (se tiene entonces
Q 1 como salida).
200
V. 6 Reconocedor finito
vamos a estudiar como ciertos lenguajes pueden asociarse con autómatas finitos que
sirven como reconoéedores de las cadenas de esos lenguajes.
Una expresión entre paréntesis seguida de '*' indica que lo que hay dentro
del paréntesis puede considerarse repetido tantas veces como se quiera (e incluso
ninguna vez, o sea, puede no estar). Si se escribe 'elevado a m', significa 'repetido
m veces'.
Ejemplo 16. L = { 1(01)*}. La cadena 1 ha de ser aceptada ya que la estrella indica que
201
Capitulo V: Autómatas
l. Unión:
3. Concatenación:
202
V. 7 Conjuntos y expresiones regulares
Una expresión regular es una concepto introducido por Kleene en 1956 que
puede definirse en forma recursiva, para un alfabeto E, por: (abreviamos 'x es
expresión regular' como reg(x)):
6. Sólo son expresiones regulares las que se pueden obtener por aplicación
de las anteriores reglas un número finito de veces.
203
Capitulo V: Autómatas
por la expresión regular generadora de las cadenas que contiene. Todo lenguaje
aceptado por un reconocedor finito es un conjunto regular.
Notación: El lenguaje generado por la expresión 'r' se designa por 'L(r)'. Así:
Para cualquier alfabeto E, los lenguajes regulares de E son los mismos que
los lenguajes dados por las expresiones regulares de E. Si un lenguaje está
representado por una expresión regular, entonces es regular. E* es el resultado de
aplicar '*' al alfabeto. De ahí la estrella que se le pone a E* para representar el
lenguaje generado por el alfabeto E. Efectivamente, definiendo L(i) como el lenguaje
cuyas cadenas tienen longitud 'i' (con L(O) = {A} y L(l) = L), se tiene:
1. 0 es expresión regular.
2. A es expresión regular.
l. L(0) = 0.
204
V. 7 Conjuntos y expresiones regulares
2. L(A) = {A}.
3. \ia(aet ➔ L(a) ={a}).
l. A*= A..
2. 0x=x0=0.
3. 0* = A.
4. x*x* = x*.
5. x* = A.+xx*.
7. x=y*z ➔ x=yx+z.
8. xx* = x*x.
205
Capítulo V: Autómatas
206
V. 8 Análisis y síntesis de un reconocedor finito
207
Capitulo V: Autómatas
Ejemplo 19. Dado el autómata siguiente, hallar la expresión regular asociada. Estado
inicial q 1, estados finales de aceptación q6 y q8.
d(ql, a)= q2 d(ql, b) = q3 d(q2, b) = q2 d(q3, a)= q3
d(q2, a)= q4 d(q3, b) = q4 d(q4, a)= q5 d(q5, a)= q6
d(q5, b) = q7 d(q6, b) = q6 d(q7, a)= q7 d(q7, b) = q8
d(q8, a)= q8
Proceso de recursividad:
208
V. 8 Análisis y síntesis de un reconocedor finito
5. Si a.= J3·y, escribir d(p, J3) = ql, d(p, y)= q2, d(pl, P) = ql, d(ql, A)=
p2, d(p2, y) = q2.
209
Capítulo V: Autómatas
l. D(a)(0) = 0.
2. D(a)(A) = 0.
3. D(a)(a) = A.
4. v'b((beE /\ b *a) ➔ D(a)(b) = 0).
5. D(a)(a. + P) = D(a)(a.) + D(a)(J3).
210
V. 8 Análisis y síntesis de un reconocedor finito
F = {Dl(a)}
Función de transición:
f(l, a)= Dl(a); f(2, a)= D2(a); f(3, a)= D3(a);
f(l, Dl(a)) = Dll(a) = D3(a); f(2, Dl(a)) = D12(a) = D3(a);
f(3, Dl(a)) = D13(a) = D3(a); f(l, D2(a)) = D2l(a) = D3(a);
f(2, D2(a)) = D22(a) = D3(a); f(3, D2(a)) = D23(a) = Dl(a);
f(l, D3(a)) = D3 l(a) = D3(a); f(2, D3(a)) = D32(a) = D3(a);
f(3, D3(a)) = D33(a) = D3(a);
211
Capítulo V: Autómatas
2. Q es un conjunto de estados.
Si en algún caso (q, a, q 1) e f y (q, a, q2) e f, con q 1 t:- q2, se dice que se
presenta una opción y se puede pasar a dos o más estados distintos (o al uno o al
otro) con (q, a), y se dice que el conjunto de estados a los que se puede pasar es un
'estado' k = {ql, q2, ... } del AFND, donde k es el conjunto de estados a los que se
puede llegar desde uno dado con una cierta entrada, en cuyo caso, puede escribirse
(q, a, k) e f como f(q, a) = k.
212
V.9 Autómata finito no determinista
por ej., f(ql, 1) = {qO, ql} dice que, partiendo de ql, si llega un 1, se puede
llegar por igual a qO o a q 1.
Entonces obtenemos K:
213
Capitulo V: Autómatas
K = {0, {qO}, {ql}, {q2}, {qO, ql}, {qO, q2}, {ql, q2}, {qO, ql, q2} }.
214
V. l OAutómata probabilístico o estocástico
2. Q es el conjunto de estados.
Propiedades:
. Dada una palabra de entrada x = ala2 ... ap, en el instante t, se tiene P(t) =
P(O)· □M(ai), donde el productorio se extiende desde i = 1 hasta p. Este cálculo se
efectúa como P(t) = (P(O)·M(al)) · M(a2) · ...
215
Capitulo V: Autómatas
216
Capítulo VI
Máquinas de Turing, computabilidad y complejidad
217
Capítulo VI: Máquinas de Turing, computabilidad y complejidad
11. Cada "X" puede ser, o bien un símbolo del alfabeto, o bien uno de
estos tres símbolos que no forman parte del alfabeto de máquina, R,
L, P, que significan respectivamente, los movimientos de la cabeza,
una casilla a la derecha, una casilla a la izquierda, o ausencia de
movimiento.
218
VJ.1 Algoritmos y máquinas de Turing
219
Capítulo VI: Máquinas de Turing, computabilidad y complejidad
220
VJ. J Algoritmos y máquinas de Turing
221
Capítulo VI: Máquinas de Turing, computabilidad y complejidad
n=n+l
n=n-1
while k-:;:. O do
A
end.
Ejemplo l. *
clear k es: while k O do k = k - 1 end. La asignación a la variable 'x' del
valor de 'y' (denotado por ejemplo por x = y, x ~ y, etc.). Utilizando la
variable auxiliar z, podríamos tener el siguiente programa:
Programa:
clear z;
clear x;
while y ~O do
z = z + 1,
y=y-1
end;
while z ~O do
X= X+ 1,
y= y+ 1,
z=z-1
end.
222
VJ.1 Algoritmos y máquinas de Turing
if A * O A B * O,
_ R=l
end·
'
while R O, *
R = A - B*(parte entera (A/B)),
A=B
'
B=R,
end·
'
MCD=B.
223
Capitulo VI: Máquinas de Turing, computabilidad y complejidad
224
VJ. J Algoritmos y máquinas de Turing
225
Capítulo VI: Máquinas de Turing, computabilidad y complejidad
226
VJ. J Algoritmos y máquinas de Turing
227
Capitulo VI: Máquinas de Turing, computabilidad y complejidad
12. '-,x' significa que el símbolo que allí figura, es distinto del símbolo x.
Así, se puede obtener, además de la correspondencia r, otra, f, que
representa la correspondencia de Nen el conjunto de las MT's.
228
VJ. J Algoritmos y máquinas de Turing
229
Capitulo VI: Máquinas de Turing, computabilidad y complejidad
viii. Una demostración es una secuencia finita de cadenas x(l), ... , x(n),
x(T), tal que cada cadena es deducible de un subconjunto, no
necesariamente propio de las cadenas precedentes. Así, \fij(i < j ➔
R({x(p) 11 ~ p ~ i}, xG)) = 1).
230
VJ. J Algoritmos y máquinas de Turing
d. MT's no deterministas.
- P(K2(r(M))) tt -,P(M(r(M))).
231
Capítulo VI: Máquinas de Turing, computabilidad y complejidad
P(K2(r(K2))) tt -,P(K2(r(K2))).
+ * / ( ) - O 1 2 3 4 5 6 7 8 9 a b ... x ...
l 2 3 4 5 6 7 8 9 1O 11 12 13 14 15 16 17 18 19 ... y(i) .
5. * la multiplicación.
232
VJ. J Algoritmos y máquinas de Turing
Ejemplo 5. Supongamos que, con una numeración de GOdel diferente, queremos saber
el número de Godel de la expresión f(O) = 1, siendo los números asociados
por la definición:
Existe una máquina programable universal que con sólo dos registros puede
simular el trabajo de cualquier otra máquina programable. El esquema de la prueba
es asignar números de Godel a fórmulas, y también a las correspondencias
233
Capitulo VI: Máquinas de Turing, computabilidad y complejidad
Teoremas de Godel:
3MT que para todo número escrito en su cinta, da una de estas dos
respuestas:
234
VJ. l Algoritmos y máquinas de Turing
Seañ:
235
Capitulo VI: Máquinas de Turing, computabilidad y complejidad
1O. -,x, significa 'el signo actual no es x'. Puede apreciarse que la búsqueda
a la izquierda, en el caso de cinta finita por la izquierda, puede
determinar una finalización o terminación (porque se acaba la cinta),
llamada 'anormal'.
11. Otras máquinas importantes son las R(B), L(B), R(-JJ), L(.B), de
significado evidente.
Para lo cual hay que restarle 1 y que quede en la forma BtB, sin ceros
superfluos a la izquierda (la cabeza inicialmente está en el primer blanco a
la izquierda de z). Por tanto se debe:
Si es B, escribir un O y parar.
236
VI.] Algoritmos y máquinas de Turing
Se dice que una máquina acepta una cadena si existe un camino que lleva al
estado de parada. Por ello se propone como ejercicio, construir una MT que acepte
las cadenas (xº, y11, t1). El lenguaje de esas cadenas no es aceptado por autómatas de
pila que se verán en el capítulo siguiente, o como se dirá, no es independiente del
contexto. Y también construir la máquina que da el complemento a 1 de un número
en binario (cambiar los ceros por unos y los unos por ceros).
237
Capitulo VI: Máquinas de Turing, computabilidad y complejidad
d(q4, 1) = q5.
238
VI.] Algoritmos y máquinas de Turing
Ejemplo JO. Construir una MT que multiplique dos números expresamente en fonna
unitaria. Explicar el funcionamiento para n = 2 y m = 3.
239
Capitulo VI: Máquinas de Turing, computabilidad y complejidad
240
VI.] Algoritmos y máquinas de Turing
2. B1**111=111B
3. B1 **111=111B
4.-3. B1**111=111B
4-5. B***lll=lllB
6. B***lll=lllB
7-6. B***lll=lllB
7-6. B***111=111B
7. B***0ll=lllB
8. B***0ll=lllB
9. B***0ll=lll1B
10. B***0ll=llllB
11. B***011=1111B
12-7. B***00l=llllB
8. B***00l=llllB
9. B***001=11111B
10. B***00 1= 1111 IB
11. B***001 = l 1111B
12-7. B***000= l 1111B
8. B***000=lllllB
9. B***000= l 11111B
10. B***000= l 11111B
11. B***000= l 11111B (cabeza sobre el =)
12.-MC B***lll=llllllB
13-1. B*** 111= 1111 l 1B
2. B***lll=llllllB
3-4. B***lll=llllllB
3-4. B*** 111 =111111B
3-4. B***lll=llllllB
14. B*** 111= 1111 l 1B
15. B***lll=llllllB
241
Capitulo VI: Máquinas de Turing, computabilidad y complejidad
16. B***lll=llllllB
17. B*1*111=111111B
16. B*l*lll=llllllB
17. B11*111=111111B
16. B11*111=111111B
17. FIN
1. Aplica Mh'.
242
VI. 2 Computabilidad, calculabilidad y recursividad
ii. MO no es autoterminante.
ii. MO es autotenninante.
VI.2.1 Computabilidad
5. fes una función total tt f es una función definible por MT, tal que su
MT asociada se detiene para cualquier valor de la variable o ~ la
variable de entrada.
243
Capítulo VI: Máquinas de Turing, computabilidad y complejidad
1O. Cada MT tiene asociada una función f que asigna a cada entrada en la
MT el resultado o salida de ésta, teniéndolo por imagen. Se dice entonces
que fes una función definible por MI'.
17. Se define la aritmetización (AR) de una MI' como una aplicación que
asigna a cada MT, AR(MT) = (q, e, m, n) (enepla de 4 números), de
manera que:
244
VJ.2 Computabilidad, calculabilidad y recursividad
VI.2.2 Calculabilidad
111. El número tal que cada una de sus cifras, O o 1, esté relacionada
con el hecho de que se detenga o no una cierta MT.
245
Capítulo VI: Máquinas de Turing, computabilidad y complejidad
i. N(O) = O.
ii. v'x(x :;; O ➔ N(x) - sig(x)). Donde s1g representa la función
siguiente.
Con estas últimas definiciones se puede pasar a ver otra definición de lo que
se conocen como funciones iniciales o básicas:
246
VJ.2 Computabilidad, calculabilidad y recursividad
g(x) = 1,
h(x, y, z) = z + x<s+ 1>, de manera que:
f(x, O) = g(x);
247
Capítulo VI: Máquinas de Turing, computabilidad y complejidad
(recordar que x es una enepla). Por ejemplo: Una definición de +(x, y):
248
VJ.2 Computabilidad, calculabilidad y recursividad
Efectivamente.
f(x, O) = g(x)
20. fes recursiva primitiva tt 3gv'xy[f(x, O)= x /\ f(x, sig(y)) = g(f(x, y))].
E iterando, v'xy[f(x, n) = (gn)(x)]; "n" indica precisamente la n-ésima
iteración.
249
Capitulo VI: Máquinas de Turing, computabilidad y complejidad
y s1 no,
P(x) = (x =O ➔ O; x *O ➔ (x = 1 ➔ l; x * 1 ➔ P(A(A(x))))).
M(x) = (x = O ➔ O; x * O ➔ (x = 1 ➔ O; x * O ➔ sig(M(A(A(x)))))).
Mediante la última se tiene, para buscar la mitad de x, que se calcule
M(x - 2) y que se sume 1 al resultado. Efectivamente
M(x) = M(x - 2) + 1 = sig(M(x - 2)).
250
VI.2 Computabilidad, calculabilidad y recursividad
24. fes función constante K(n, m): ~ ➔ N, está dada por [K(n, m)](x) =
m.
26. K(O, m) es recursiva primitiva ya que [K(O, m)](x) =(sigo sigo ... o sig
o cero)(x).
28. Las funciones constantes cuyas salidas tienen más de una componente
son recursivas primitivas, ya que no son más que combinaciones de
funciones K(n, m). Por ejemplo, la función
([K(3, 2)] X [K(3, 5)])(x, y, z) = (2, 5). Para evitar notaciones
complicadas, a veces se sustituye K(n, m) por m, simplemente.
1. Multiplicación:
2. Exponenciación:
exp(x, O)= l;
3. Predecesor o anterior:
pred(O) = cero( ) = O;
251
Capitulo VI: Máquinas de Turing, computabilidad y complejidad
4. Monus:
5. Igualdad:
eq(X, y) = 1, si X = y;
eq(x, y) = O, si x -:t: y.
Es recursiva primitiva:
o bien,
6. Negación:
1. Desigualdad:
252
VI. 2 Computabilidad, calculabilidad y recursividad
9. Función característica.
[k(i)](x) = 1, si x = i;
[k(i)](x) = O, si no.
1O. Toda función tabular es recursiva primitiva, pues es la suma finita del
producto de funciones características constantes y características
negadas. La dada en la definición penúltima es:
11. Cociente:
coc(O, y) = O;
x+ O =x·,
X. o= O·,
X+ y' =(X+ y)';
253
Capitulo VI: Máquinas de Turing, computabilidad y complejidad
X • y' = (X • y) + y;
M(O) = O;
P(O) = O;
P(x + 1) = N(P(x)).
Si x es par:
Si x es impar:
P(x + 1) = O = N(P(x)).
1. O(x) = O.
u. sig(x) = x + l.
m. la composición ~e funciones.
254
VI. 2 Computabilidad, calculabilidad y recursividad
3. Si fes calculable con una MT, entonces fes recursiva. Por el momento
no se ha demostrado la recíproca.
255
Capítulo VI: Máquinas de Turing, computabilidad y complejidad
elementos), calculando los valores g(x, O), g(x, 1), etc., hasta obtener el
valor cero o llegar a un ~or 'z' para el cual g(x, z) no está definida. Si
lo primero, entonces se tiene f(x) = y tt g(x, y) = O. Si lo segundo,
entonces f(x) no está definida.
11. Las funciones computables por máquinas de Turing son las mismas que
las funciones recursivas parciales y éstas las mismas, que las funciones
computables con el lenguaje de programación esencial.
256
VJ.2 Computabilidad, calculabilidad y recursividad
257
Capitulo VI: Máquinas de Turing, computabilidad y complejidad
30. Son funciones totales las iniciales, las recursivas primitivas y las
funciones totales computables.
258
VJ.3 Complejidad computacional
259
Capítulo VI: Máquinas de Turing, computabilidad y complejidad
n log2(n) n n2 2n
tamaño m1croseg. m1croseg. m1croseg. m1croseg.
260
VJ.3 Complejidad computacional
261
Capitulo VI: Máquinas de Turing, computabilidad y complejidad
AK.(O, y) = y+ 1;
27. \ixy(AK(x, y)< AK.(x, y+l) A AK.(x, y+l) < AK.(x+l, y)/\ AK.(x, y)<
AK.(x+ l,y)).
31. \if recursiva primitiva tal que y = f(xl, ... , xn) 3k \i(xl, ... , xn)eN1 se
tiene f(xl, ... , xn) < AK.(k, I:x(i)), donde el sumatorio se extiende desde
i = 1 hasta i = n.
262
VJ.3 Complejidad computacional
263
Capitulo VI: Máquinas de Turing, computabilidad y complejidad
45. Hay otros lenguajes NP con las mismas propiedades de LSAT, o sea que
son reducciones polinómicas de cualquier otro lenguaje de NP. Estos
lenguajes han sido llamados NP-completos. Si uno de estos lenguajes
pudiera ser aceptado por una MT determinista en tiempo polinómico,
entonces P seria igual a NP. Si no, seria inútil seguir buscando
soluciones eficientes para problemas intratables. Ejemplos de problemas
NP que son NP-completos, pero no se sabe si son P:
264
VJ.3 Complejidad computacional
48. Todo lenguaje tipo P puede ser aceptado por alguna MT en menos de 2°
pasos, siendo n la longitud de la cadena de entrada.
52. Problema del número cromático: Dado un keN, ¿existe alguna forma
de dibujar un grafo con k colores, de forma que dos vértices contiguos
tengan un color distinto? Es un problema NP (y NP-completo).
53. Problema del viajante: Dados dos conjuntos de ciudades, las distancias
que las separan dos a dos y una distancia de viaje total permitida "d",
averiguar si existe una forma de visitarlas todas una sola vez y que la
distancia total recorrida no sea superior a "d" (a veces, quizá, volviendo
al punto de partida). Este problema es del mismo tipo que el de decidir el
lenguaje LV, que es la clase de las cadenas que representan situaciones
con respuesta 'sí' al problema del viajante. Este lenguaje es aceptado por
una MT no determinista que acepta LV en tiempo polinómico. Cada ruta
se puede generar y evaluar en un número de pasos limitado por alguna
-expresión polinómica del número de ciudades, luego LV está en NP.
Esto sólo indica que LV puede ser aceptado por una MT no determinista
en tiempo polinómico. No se infiere que pueda ser decidido en tiempo
polinómico, exigencia más fuerte que es la necesaria para la resolución
del problema. Quizá no haya ninguna MT que resuelva por completo en
tiempo polinómico el problema del viajante.
265
Capitulo VI: Máquinas de Turing, computabilidad y complejidad
iv. Por ello, la salida de Mf, al entrar en ella z, no puede ser mayor que
p(lzl), más la longitud de la entrada, lzl.
57. Si MT' es una MT que acepta L' en tiempo polinómico, entonces hay un
polinomio q(x) tal que MT' acepta toda cadena z de L' en q(lzl) pasos.
266
Vl.3 Complejidad computacional
i. v'k(keLl ~ f(k)eL2).
267
Capitulo VI: Máquinas de Turing, computabilidad y complejidad
-
A(BO) tt (A8 )"(1 l) = (A8 )*( AB).
A+Bl= (A+B0)+1; BO + 1 = Bl.
(A0)8 = (A 8 )*(10 8 ).
268
Vl.3 Complejidad computacional
Paso de binario a monario: cambio de base. Sobre la cinta hay una cadena
de ceros y unos. La letra B representa una expresión en cinta. El paso a monario
puede hacerse mediante las sustituciones:
269
Capítulo VI: Máquinas de Turing, computabilidad y complejidad
se tiene:
270
Capítulo VII
Lenguajes y gramáticas
VIl.1 Introducción
VII.2 Lenguajes
271
Capitulo VII: Lenguajes y gramáticas
distintas cadenas del lenguaje de acuerdo a unas ciertas reglas, que constituyen su
sintaxis.
En todo lenguaje habrá que definir el concepto de cadena, puesto que son los
elementos que lo constituyen. A es una cadena (sinónimos, palabra, frase) si y sólo
si A es una yuxtaposición, Y, de símbolos de un alfabeto dado. Teniendo en cuenta
que la operación de yuxtaposición, o concatenación, es un subconjunto de la unión
de todos los productos cartesianos de la forma ExEx ... xE (n veces), donde E es un
alfabeto y n un número natural.
Nota. Por comodidad, para poder usar el O como número natural (el cero
sirve para seguir el principio del valor relativo: por ejemplo 70 son 7 decenas por
figurar el 7 en segundo lugar). De la misma manera se introduce el símbolo A, o el
B, para indicar el espacio en blanco, que se llama muchas veces también "cadena
vacía" y se agrega al alfabeto E como elemento del mismo. En estas condiciones, el
lenguaje, conjunto de todas las cadenas que pueden elaborarse con elementos de E,
se le designa por E*, cuando se excluye la cadena vacía de forma específica se
designa por E+.
272
VJ/.2 Lenguajes
f(cadena) = cadena.
Por ejemplo f(a) = 000 (se representa por '000➔ a').
273
Capitulo VII: Lenguajes y gramáticas
YO(A) = A;
Yl(A) = Y(A);
274
VII. 2 Lenguajes
De igual modo a lo que hemos hecho con las cadenas, vamos a presentar a
continuación una serie de operaciones básicas entre lenguajes:
275
Capitulo VII: Lenguajes y gramáticas
(VII-10)
(VII-11)
Se tiene:
(Vll-12)
10. Lenguaje(A) es el lenguaje que sólo contiene la cadena vacía, por tanto
es distinto del lenguaje vacío A ={A} y 0-:;:. A.
Ejemplo 2. La cadena reflejada de xyz es zyx. Así, decir que refl(A) =Bes equivalente
a:
276
VII. 2 Lenguajes
1. Es asociativo.
n. No conmutativo en general.
L(l) = L (Vll-16b)
277
Capitulo VII: Lenguajes y gramáticas
Pues bien, las reglas son correspondencias que asocian cadenas a cadenas,
dadas por una serie de instrucciones que definen un algoritmo llamado gramática G
de L. Estas reglas también son a veces llamadas leyes de la gramática G. De forma
que, en una gramática dada, si f es una regla, la expresión f(A) = B se representa
por A➔B.
PRQ~PSQ (VII-18)
Vistas las dos leyes anteriores enunciemos ahora lo que se conoce como el
problema de Thue. Sea E un alfabeto y P, Q e E*. Se dan las siguientes
definiciones y teoremas:
278
Vil. 2 Lenguajes
O sea:
3DE \ff 3PQ (Pe E*/\ QeE* /\ DcE* /\ (f(P, Q) =t:- O tt P(nQ) ).
279
Capítulo VII: Lenguajes y gramáticas
280
VJ/.3 Gramáticas
VIl.3 Gramáticas
3. No hay leyes cuyo antecedente sea la cadena vacía. Las leyes de una
gramática tienen la forma:
Una cadena de una gramática, o generada por ella, puede estar formada por
símbolos terminales y auxiliares, y también por subcadenas. Por ejemplo:
a = af3ABby .... Las letras minúsculas pueden designar terminales, las mayúsculas
auxiliares, y las griegas cadenas, pero debe especificarse la notación, porque esto no
es del todo general.
281
Capítulo VII: Lenguajes y gramáticas
El signo ' ➔' es el signo usado en las leyes de derivación o reglas y se escribe
entre cadenas. En cambio, para indicar producciones obtenidas por aplicación de las
leyes en un cierto número de pasos, a veces se usa el símbolo' ⇒' o' ➔*', como
por ejemplo en, ya6 ⇒ yp6, donde cada letra indica una cadena.
S ➔ 1S1· S ➔ OSO· S ➔ l· S ➔ O· S ➔ k
' ' ' ' '
se obtiene que:
L(G) = {A-, O ,l, 11, 101, 111, 00, 000, 010, 1111, 0000, 10101, 10001, ... }
= {x I x = x·1 },
282
VII. 3 Gramáticas
E=ETuEA (VII-22a)
ETnEA=0 (Vll-22b)
(Vll-23)
283
Capítulo VII: Lenguajes y gramáticas
(VIl-26)
284
VII. 3 Gramáticas
Donde a., p, y son cadenas; y -:;:. A; pero a. y Ppueden ser vacías; el par (a., P)
se llama contexto.
285
Capítulo VII: Lenguajes y gramáticas
Las partes izquierda y derecha tienen que tener una parte común y sólo se
admite como regla de compresora la regla S ➔ A. Así, las reglas de producción que
las describen son del tipo:
(VIl-28)
Como reconocedor del tipo de lenguaje generado por una gramática de tipo 1
vamos a definir un autómata denominado, ALL, o autómata limitado linealmente,
el cual es una casi-MT cuya cabeza no puede desplazarse fuera de los límites entre
los que se sitúa inicialmente la cadena de entrada (es decir es una MT con cinta
limitada a la derecha y limitada a la izquierda, que en realidad, por ello, deja de ser
una verdadera MT). Para s~ar tales límites, se incluye en el alfabeto E un
símbolo especial como marcador, #, que se escribe antes y después de la cadena. Un
reconocedor limitado linealmente R-ALL se define por un conjunto de estados
finales de aceptación con un estado inicial ql, igual que un reconocedor-MT.
286
VJJ.3 Gramáticas
287
Capitulo VII: Lenguajes y gramáticas
288
Vil. 3 Gramáticas
A ➔ aB (Vll-3la)
o bien
A ➔ Ba (VII-3lb)
y la fonna
A➔ a (VII-3 lc)
Estas gramáticas son las más restrictivas y pueden ser de dos tipos:
(Vll-32)
(Vll-33)
G(i + 1) e Gi, i = O, 1, 2,
es decir:
289
Capítulo VII: Lenguajes y gramáticas
290
VII. 3 Gramáticas
3. Lenguaje ambiguo. Lenguaje tal que hay alguna gramática ambigua que
lo genera.
5. G2 ambigua tt Existe una cadena a., a.eE*, tal que se puede obtener de
dos modos de derivación diferentes. Algunas soluciones posibles para
evitar la ambigüedad en la codificación son la introducción de
paréntesis, convenios sobre prioridades en las operaciones y uso de la
notación polaca.
291
Capitulo VII: Lenguajes y gramáticas
292
VII. 3 Gramáticas
10. Los lenguajes LG2 son definibles y sus gramáticas son recursivas.
11. Una condición necesaria para obtener un LG2 infinito es que la longitud
de las cadenas no terminales no esté limitada. La condición no es
suficiente (existen gramáticas G2 que no tienen leyes tenninales y
generan el lenguaje vacío, aunque la longitud de las cadenas no
tenninales no esté limitada.)
Las cadenas del lenguaje de Dyck, irreducibles mediante las reglas, son
,.., ', y las ' ...))((( . .. ' , pues no existe
' ( ' , ' ) ' , ''l . en e11as rungun
. , par de
293
Capitulo VII: Lenguajes y gramáticas
15. El lenguaje elemental de Dyck está generado por una gramática G2. (De
hecho sus ampliaciones con corchetes, llaves, o indicadores de apertura-
cierre como 'if... end', etc., también).
16. Una gramática independiente del contexto que sólo permita una manera
de reescribir cada no terminal, sólo puede generar una caclena.
Ante esta definición un lenguaje Les regular si y sólo si es un LG3, esto es, si
y sólo si puede ser generaclo por una G3. Lo más corriente para demostrar este
teorema, en vez ·de hacerse de manera directa, es probar que ambos, lenguaje y
gramática están asociados con un mismo tipo de autómata reconocedor: el autómata
finito.
294
V/1.3 Gramáticas
1. E= ET.
vi1. Para toda regla A ➔ aB, donde A,BeEA y aeET, escribir Be f(a,
A).
1. ET= E.
ii. EA= Q.
IU. S = ql.
v. Si f(a, qi)
. .
= qj y qj eF entonces escribir las reglas qi ➔ a y
q1 ➔ aqJ.
295
Capitulo VII: Lenguajes y gramáticas
v1. Si Va( f(a, qi) = qi /\ qiéF), se elimina qi y todas las reglas en las
que figure.
296
VI/.3 Gramáticas
Ejemplo 11. Dada la expresión regular aa*ba*ab*, obtener un reconocedor finito del
correspondiente lenguaje y obtener la gramática regular que lo genera.
Construimos el autómata:
d(S, a)= A
d(A, a)= A d(A, b) = B
d(B, a)= B d(B, a)= C
d(C, b) = C
encontrar una expresión regular del lenguaje generado por ella y diseñar un
autómata que sirva como reconocedor de tal lenguaje.
d(S, 1) = A d(S, 2) = B
d(A, 1) = A d(A, 1) = B
d(B, 2) = B d(B, O) = C (final)
Expresión regular 11 *12 *O + 22 *O o bien ( 11 * 1 + 2 )2 *O.
297
Capitulo VII: Lenguajes y gramáticas
Ejemplo 14. Dada la siguiente transición de niveles, donde los estados 4 y 6 son finales y
el estado 1 es inicial (d(estado, entrada)= nuevo estado).
d(ql, a)= q2
d(q2, a)= q3 d(q2, b) = q5
d(q3, a)= q4
d(q4, a)= q4
d(q5, a)= q3 d(q5, b) = q6
d(q6, b) = q6
hallar la expresión regular asociada y la gramática regular que la genera.
a b a b
s A e C,0
A B D D B E,0
B C,0 E E,0
298
VJ/.3 Gramáticas
3. Q es el conjunto de estados.
f: Qx(Eu{A})xK ➔ ft,(Qx(K*)),
299
Capitulo VII: Lenguajes y gramáticas
Visto como una 'casi-MT', es como si el autómata tuviese una cabeza lectora
colocada sobre un símbolo de la cinta C 1, cabeza que sólo puede moverse hacia la
derecha, y que termina de moverse cuando llega al final de la cinta, o que también
puede quedarse parada sobre la cinta, lo que supone tener transiciones con la
palabra vacía, A. Se puede leer y escribir en la pila, que sería otra cinta C2, los
símbolos A( eK).
Ejemplo 15. Un autómata de pila para un lenguaje de dos signos{~ y}, donde la cadena
tienen 'x' seguidas y a continuación, n 'y', y además, 121.
AP = ({x, y},{#,~ y}, {qO, ql}, #, qO, f, F); # es un símbolo inicial auxiliar
de pila y f se define como:
f(qO, ~ #) = {(qO, x)},
f(qO, x, X)= {(qO, x)},
f(qO, y, x) = {(ql, A.)},
f(ql, y, x) = {(ql, A.)},
f(ql, 11., #) = {(ql, A.)}.
Así, si el autómata tiene 'x' en la entrada y está en el estado qO, pone una
'x' en la pila para memorizar cuántas ha leído. Si lee una 'y', transita al
estado ql que elimina una 'x' de la pila por cada 'y' leída. Si la pila se
vacía, se ha reconocido la palabra y por tanto ha leído las mismas x's que
,
y s.
o por:
(p, x, a; q, b)
300
VII. 3 Gramáticas
3. Los estados del AP serán sólo 4; se designan por: qO, el inicial, ql, q2, y
qA, estado de aceptación.
301
Capítulo VII: Lenguajes y gramáticas
De la misma manera que para G2 existe un AP, se establece que para todo
AP se puede construir una G2 tal que genera el mismo lenguaje reconocible por el
AP. Para hacerlo se deben seguir los siguientes pasos:
5. Para cada transición de la forma (qi, x, y; qj, z) tal que y-:;:. A, escribir la
regla (qi, y, qk) ➔ x(qj, z, qk) para cada uno de los estados qk del AP.
6. Para cada transición (qi, x, A; qj, z) escribir todas las reglas de la forma
(qi, w, qk) ➔ x(qj, z, qh)(qh, w, qk), donde w es cualquier símbolo del
alfabeto de pila o A; qk y qh pueden ser iguales o no y son cualesquiera
estados del AP.
Por otro lado, -un AP puede defuúrse también como una restricción de una
MT: es una casi-MT, con dos cintas y dos cabezas, pero su capacidad (o poder
computacional) es menor que la de una MT, debido a las restricciones siguientes:
302
VII. 3 Gramáticas
Los autómatas de pila al igual que los finitos también pueden ser
deterministas APD o no deterministas APND. Aquí hemos descrito los no
deterministas.
303
Capítulo VII: Lenguajes y gramáticas
entonces z = w y q = r.
No obstante, esto no es suficiente para que sea determinista. Por ejemplo, si
el siguiente símbolo de entrada fuera x, la presencia de las transiciones:
(p, A, y; z, q) y (p, X, y; z, q)
Ejemplo de G2:
304
VJJ.3 Gramáticas
'A' se puede reemplazar por y siempre que esté en el contexto a.-p; una de
ellas o ambas pueden ser la cadena vacía A.
C ➔ 12B3,A ➔ 2B,A ➔ 3.
305
Capítulo VII: Lenguajes y gramáticas
A ➔ 2B,A ➔ 3.
Autómatas finitos.
306
BIBLIOGRAFÍA
307
Fundamentos de Lógica Matemática y Computación
ISASI, P., MARTÍNEZ, P., BARAJO, D.: Autómatas. Un enfoque práctico. &l.
Addison - Wesley. 1997
KOWALSKI, R.: Logic for problem solving. North-Holland, New York, 1979.
{Traducción de J. A. Calle: Lógica, programación e inteligencia artificial. Diaz
de Santos, Madrid, 1986).
NAGEL, E. and NEWMAN, J. R.: GtJdel ,s proof Ed. New York University Press,
1958. (Ect. española: El teorema de GtJdel, Ed. Tecnos, 1970.
QUINE, W. V. O.: Methods of Logic, Henry Holt and Co. Inc., 1962. (Edición
española. Métodos de la lógica, Ed. Ariel, 1969).
308
Bibliografia
TURNER, R.: Logic for artificial intelligence. Ellis Horwood, Chichester, 1984.
309