100% encontró este documento útil (2 votos)
336 vistas536 páginas

Fundamentos de Informatica

Cargado por

Carlos Frade
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
100% encontró este documento útil (2 votos)
336 vistas536 páginas

Fundamentos de Informatica

Cargado por

Carlos Frade
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Fundamentos de informtica

Gregorio Fernndez y
Fernando Sez Vacas
Fundamentos de informtica
Alianza
Editorial
Gr e gor i o Fernndez y Fernando Sez Vacas
O Alianza Editorial, S. A., Madrid, 1987
Calle Miln, 38; 28043 Madrid; telf. 2000045
ISBN: 84-206-8604-2
Depsi t o legal: M. 18.709-1987
Fot ocomposi ci n EFCA, S. A., Dr. Federico Rubio y Gali, 16; 28039 Madri d
Impreso en Hijos de E. Minuesa, S. L., Ronda de Toledo, 24; 28005 Madri d
Printed in Spain
INDICE GENERAL
Prlogo '.i 11
PRIMERA PARTE:' LOGICA
Captulo 1: Ideas generales 17
1. Lgica e informtica, 17:2. Lgica y circuitos de conmutacin, 18.3. Lgica, lengua-
jes y autmatas, 18.4. Lenguajes formales: definiciones y conceptos bsicos, 19.5. Re-
sumen, 22.
Captulo 2: Lgica de proposiciones 23
1. Introduccin, 23.2. Sintaxis, 33.3. Semntica, 39.4. Modelo algebraico de la lgi-
ca de proposiciones, 44.5. Sistemas inferenciales, 47.6. Resumen, 59. - 7. Notas hist-
rica y bibliogrfica, 61.8. Ejercicios, 62.
Captulo 3: Circuitos lgicos combinacionales 65
1. Introduccin, 65.2. Las puertas bsicas, 66.3. Circuitos, 67.4. Modelos matemti-
cos de los circuitos, 73.5. Minimizacin, 84.6. Ejemplos de aplicacin, 87.7. La se-
gunda forma cannica y la forma mnima en producto de sumas, 96.8. Otras puertas,
101.9. Circuitos con puertas nand y or, 103.10. Resumen, 105.11. Notas hist-
rica y bibliogrfica, 107.12. Ejercicios, 107.
Captulo 4: Lgica de predicados de primer orden 109
1. Introduccin, 109.-2. Sintaxis, 118.3. Semntica, 123.4. Sistemas inferenciales,
124.5. Resumen, 135.6. Notas histrica y bibliogrfica, 135.7. Ejercicios, 136.
Captulo 5: Otras lgicas 139
1. Introduccin, 139.2. Ampliaciones de la lgica de predicados, 140.3. Lgicas multi-
valoradas, 144.4- Lgica borrosa, 146.5. Resumen, 161.6. Notas histrica y biblio-
grfica, 161.7. Ejercicios, 162.
7
8 Indice
Captulo 6: Aplicaciones en ingeniera del conocimiento 163
1. Int roducci n, 163.2. Sistemas de produccin, 164.3. Inferencia plausible,
173.4. Otros esquemas para la representacin del conocimiento, 182.5. Resumen,
186.6. Notas histrica y bibliogrfica, 187.
SEGUNDA PARTE: AUTOMATAS
Captulo 1: Ideas generales 191
1. Autmatas e informacin, 191.2. Autmatas y mquinas secuenciales. Concepto de es-
tado, 192.3. Autmatas y lenguajes, 193.^-4. Autmatas y lgebras, 193.5. Resu-
men, 194.
Captulo 2: Autmatas finitos '. 195
1. Definicin y representacin de los autmatas, 195.2. Ejemplos de autmatas como mo-
delos, 200.3. Comportamiento de un autmata, 207.4. Capacidad de respuesta de un
autmata finito, 213.5. Minimizacin de un autmata finito, 226.6. Resumen,
231.7. Notas histrica y bibliogrfica, 231.8. Ejercicios, 232.
Captulo 3: Circuitos secuenciales 235
1. La realizacin de autmatas finitos, 235.2. Elementos de un circuito secuencial,
236.3. Modelos bsicos de circuitos secuenciales, 241.4. Tipos de circuitos secuencia-
les, 243.5. Anlisis de circuitos secuenciales, 244.6. Sntesis de circuitos secuenciales,
245.7. Resumen, 252.8. Notas histrica y bibliogrfica, 253.9. Ejercicios, 253.
Captulo 4: Autmatas reconocedores y lenguajes regulares 255
1. Reconocedor fi ni t o, 255.2. Lenguaj es aceptados por reco' ncedores finitos,
257.3. Conjuntos regulares, 261.4. Resolucin de los problemas de anlisis y de snte-
sis de un reconocedor finito, 264.5. Resumen, 273.6. Notas histrica y bibliogrfica,
273 7. Ejercicios, 274.
Captulo 5: Otros autmatas 277
1. Introduccin, 277. - 2. Redes de Petri, 278. - 3. Autmatas estocsticos, 290.4l Aut-
matas estocsticos de estructura variable, 292.5. Autmatas de aprendizaje, 293.
6. Autmatas borrosos, 295.7. Resumen, 297.8. Notas histrica y bibliogrfica, 297.
TERCERA PARTE: ALGORITMOS
Captulo 1: Ideas generales 301
1. Algoritmos y ordenadores, 301.2. Algoritmos, lenguajes y programas, 303.3. Algo-
ritmos y mquinas de Turing, 304.4. Computabilidad y complejidad, 306.5. Resumen
y conclusiones, 308.
Captulo 2: Algoritmos < 311
1. Introduccin, 311.2. Definiciones de algoritmo, 311.3. Algoritmos y mquinas,
313.4. Propiedades de los algoritmos, 317.5. Problemas sin algoritmo, 318.6. Resu-
men, 320.7. Notas histrica y bibliogrfica, 320.
Indice 9
Captulo 3: Programacin estructurada: conceptos tericos 323
1. Introduccin, 323.2. Definicin formal de programa para ordenador, 323.3. Diagra-
mas de flujo, organigramas, ordinogramas, 324.4. Qu es un programa estructurado?,
327.5. Teorema de estructura referido a un programa limpio, 330.6. Inters y aplicabi-
lidad de la programacin estructurada, 333.7. Resumen, 335.8. Notas histrica y bi-
bliogrfica, 337. - 9. Ejercicios, 338.
Captulo 4: Programacin estructurada: conceptos metodolgicos 341
1. Introduccin, 341.2. Mt odo general de diseo de programas estructurados,
341.3. Ejemplo de diseo de un programa estructurado, 344.4. Observaciones sobre el
mtodo, 350.5. Resumen, 354. - 6. Notas histrica y bibliogrfica, 354.
Captulo 5: Mquina de Turing: definicin, esquema funcional y ejemplos 355
1. Introduccin, 355.-2. Definicin de mquina de Turing, 355.3. Funcionamiento de la
mquina de Turing a travs de los ejemplos, 358.4. Diseo de una mquina de Turing,
373.5. Simulacin de mquinas de Turing, mquina de Turing universal y otras conside-
raciones, 377.6. Sucedneos de la mquina de Turing, 381.7. Resumen, 381.8. No-
tas histrica y bibliogrfica, 382.9. Ejercicios, 383.
Captulo 6: Mquina de Turing: algoritmos y computabilidad 387
1. Introduccin, 387.2. Funcin computable y funcin parcialmente computable,
387.3. Numerabilidad de la coleccin de todas las M.T.' s, 390.4. De nuevo, la mqui-
na de Turing universal, 391.5. Conjuntos recursivos y recursivamente numerables,
392.6. Determinacin de la finitud del proceso de clculo. Problema de la aplicabilidad,
394.7. Las mquinas de Turing y los lenguajes tipo 0, 394.8. Resumen, 395.9. Notas
histrica y bibliogrfica, 396.
Captulo 7: Complejidad 397
1. Introduccin, 397.2. Complejidad y mquinas de Turing, 398.3. Medidas de la com-
plejidad algortmica, 404.4. Problemas P, NP y NP-completos, 411.5. Complejidad del
software, 413.6. Resumen, 417.7. Notas histrica y bibliogrfica, 419.8. Ejerci-
cios, 421.
CUARTA PARTE: LENGUAJES
Captulo 1: Ideas generales 425
1. Lenguajes e informtica, 425.2. Descripciones de los lenguajes, 425.3. Sintaxis, se-
mntica y pragmtica, 426.4. Dos ejemplos, 427.5. Resumen, 430.
Captulo 2: Gramticas y lenguajes 431
1. Definicin de gramtica, 431.2. Relaciones entre cadenas E*, 432.3. Lenguaje ge-
nerado por una gramtica. Equivalencia de gramticas, 433.4. Ejemplos, 433.5. Clasi-
ficacin de las gramticas y de los lenguajes, 435.6. Jerarqua de lenguajes, 437.7. Len-
guajes con la cadena vaca, 437.8. Resumen, 438.9. Notas histrica y bibliogrfica,
438.10. Ejercicios, 440.
Captulo 3; De algunas propiedades de los lenguajes formales.. 441
1. Introduccin, 441.-2. No decrecimiento en las gramticas sensibles al contexto,
442.3. Recursividad de los lenguajes sensibles al contexto, 443.4. Arboles de deriva-
cin para las gramticas libres de contexto, 444.5. Ambigedad en las gramticas libres
de contexto, 446.6. Resumen, 450.7. Notas histrica y bibliogrfica, 451.8. Ejerci-
cios, 451.
10 Indice
Captulo 4: Lenguajes y autmatas 453
1. Introduccin, 453.2. Lenguajes de tipo 0 y mquinas de Turing, 454.3. Lenguajes
sensibles al contexto y autmatas limitados linealmente, 455.4. Lenguajes libres de con-
texto y autmatas de pila, 457.5. Lenguajes regulares y autmatas finitos, 459.6. Jerar-
qua de autmatas, 468.7. Resumen, 469.8. Notas histrica y bibliogrfica, 470.
Captulo 5: Aplicaciones a los lenguajes de programacin 473
1. Lenguajes e interpretadores, 473.2. Lenguajes de programacin, 475.3. Definicio-
nes sintcticas, 489.4. Definiciones semnticas, 499.5. Procesadores de lenguajes,
509.6. Resumen, 536.7. Notas histrica y bibliogrfica, 538.
Referencias bibliogrficas 541
PROLOGO
Este libro trata exactamente de lo que dice su ttulo.
Como primera impresin, a algunas personas puede parecerles innecesario publi
car un texto sobre fundamentos en una poca en que la informtica ha llegado en su
difusin casi a formar parte material del mobiliario hogareo. Adems de este efecto
distributivo sobre la sociedad, los espectaculares progresos tecnolgicos han produci-
do un crecimiento desbordante de la especializacin. Los sistemas operatiyos, las
bases de datos, los lenguajes concurrentes, la programacin lgica, la inteligencia
artificial, la arquitectura de ordenadores, las redes, las herramientas de ayuda para
ingeniera de software y tantas otras ms especficas e instrumentales son reas de
trabajo o tcnicas que por s solas requieren esfuerzos considerables por parte de
quienes pretenden estudiar y seguir su evolucin.
Nadie discute que la especializacin es inevitable. Tambin es verdad que los
inconvenientes que genera su abuso dentro de muchos de los dominios de aplicacin
de la informtica son importantes y cada da somos ms los que pensamos que
aqullos tienden a crecer en la misma proporcin en que el especialista ignora la
perspectiva global donde se integra su particular disciplina. Con mayor razn, si
sucede que adems desconoce las races de sus tcnicas profesionales, Es decir, la
proliferacin de especialistas demasiado pragmticos contribuye a crear una situacin
que comienza a ser ya preocupante y contra la que se han alzado voces diversas. Esas
voces se muestran unnimes en apelar a la necesidad de construir o reconstruir una
formacin ms slida y bsica en informtica, dirigida como mnimo a aqullos que se
sienten deseosos de comprender profundamente su profesin o de implicarse en un
papel tcnico significativo con independencia de la especialidad escogida (por no
hablar de la lucha contra la obsolescencia tcnica que acecha a todos cuantos
trabajamos en este campo).
El libro que presentamos responde a esta llamada, puesto que se ocupa de algunas
11
12 Prlogo
de las races o fundamentos de la informtica. Lo hemos escrito pensando en los
estudiantes universitarios de las ramas de informtica, as como en los profesionales
antes mencionados. Estos ltimos encontrarn un texto autocontenido, desprovisto
en lo posible del aparato terico habitual y preocupado permanentemente en la tarea
de desarrollar aperturas a cuestiones de la ms viva actualidad, como los sistemas
borrosos o la complejidad del software, y a cuestiones en las que parece vislumbrarse
un futuro. En cuanto a los estudiantes, nuestra experiencia nos dice que, por un
cmulo de circunstancias que no hacen al caso, se ven obligados con frecuencia a
estudiar las materias objeto de nuestro libro, tal vez, s, con mayor extensin y
formalismo matemtico, pero no siempre bajo condiciones ptimas: apuntes improvi-
sados, textos en lenguas extranjeras, dispersin de estas mismas materias en distintas
asignaturas y por tanto fragmentacin de su sentido radical (de races), o desapego del
sentido de su aplicacin. Sin poner en tela de juicio la necesidad cientfica del mejor
formalismo posible, est constatado que dosis excesivas y exclusivas de esa medicina
conducen en el plano educativo a un estril desnimo de los estudiantes.
Consta el libro de cuatro partes, centradas en cuatro de los pilares bsicos sobre los
que se sustenta el edificio terico y prctico de la informtica. Estos son la lgica, la
teora de autmatas, la teora de la computacin y la teora de los lenguajes formales.
Por razn del enfoque adoptado, mixto entre teora y prctica, y por razones de
concisin, aqu los hemos enmarcado bajo los escuetos rtulos de Lgica, Aut-
matas, Algoritmos y Lenguajes. Para las referencias cruzadas entre partes del
texto se decidi utilizar el vocablo tema en lugar de parte. As, mencionaremos el
apartado tal del captulo cual del tema de Lgica, y no de la Primera Parte (por
ejemplo).
A muy grandes rasgos, podemos esbozar el origen b motivacin inicial de cada
rea: filosfico (naturaleza del razonamiento humano) para la lgica, tecnolgico
(formalizacin del diseo de circuitos lgicos) para los autmatas, matemtico
(determinacin de lo que puede o no computarse, y del grado de complejidad de las
computaciones) para la teora de la computacin, lingsticos (estudio cientfico del
lenguaje natural) para la teora de lenguajes. El paso del tiempo ha ido haciendo
emerger nuevas y mltiples relaciones entre dichas reas y de ellas con la gran
mayora de los desarrollos tcnicos de la informtica, por lo que su cabal conocimien-
to aade al dividendo reconocido de los buenos fundamentos la promesa de su
permanente rentabilidad.
Hemos intentado dotar al libro de determinadas caractersticas, que a continua-
cin resumiremos. En primer lugar, dos propiedades dignas de mencin son por un
lado su carcter bsico y su carcter sealizador. El adjetivo bsico debe tomarse en
su acepcin de fundamental y no de elemental, ya que estamos presuponiendo en
poder del lector los conocimientos equivalentes a una formacin introductoria slida
sobre generalidades y estructura de ordenadores y sobre programacin, ms un
lenguaje de alto nivel.
Por el trmino sealizador queremos aludir a la incorporacin de numerosos
apartados que introducen (a menudo en forma pormenorizada) a cuestiones directa o
indirectamente relacionadas con tcnicas informticas muy actuales o con caminos
cientficos que se estn abriendo. En pocas palabras, buscamos comprometer en la
medida de lo factible-^ el inters del lector, y lo que queremos significar con este
Prlogo 13
objetivo se comprender mejor cuando entremos dentro de unos momentos a
relacionar algunos aspectos de los contenidos del libro.
Nuestra esperanza, sin embargo, reside en que su propiedad ms notoria sea la
pedaggica, pues no en bald ste libro ha tenido una vida anterior en la que a lo largo
de tres ediciones consecutivas y varias reimpresiones ha servido de texto durante ocho
o nueve aos en la Escuela Tcnica Superior de Ingenieros de Telecomunicacin de
Madrid, donde ambos autores somos profesores. Era el segundo de una obra en dos
volmenes titulada genricamente Fundamentos de los Ordenadores y editada por
dicha Escuela.
Sobre ese material el presente libro contiene aproximadamente un cuarenta por
ciento de cuestiones nuevas, lo que ha llevado a eliminar bastantes de las anteriores y
a remodelar el sesenta por ciento restante. Aunque sus cualidades didcticas tendrn
que ser juzgadas por los lectores, en lo que a nosotros concierne hemos puesto el
mximo cuidado en estructurar y redactar los textos con la mayor claridad de que
hemos sido capaces, y utilizando tanto panto hemos credo conveniente la ayuda de
los ejemplos. Al formato tambin le hemos dado importancia. Y es as que todos los
temas se organizan idnticamente por captulos, y todos los captulos, menos el
primero, poseen la misma estructura, pues cualquiera que sea su desarrollo terminan
con un apartado de Resumen, un apartado llamado de Notas Histrica y Bibliogrfi-
ca y (siempre que procede) un apartado de Ejercicios. El primer captulo de cada
tenia es especial, ostenta l nombre de Ideas Generales y la misin de exponer un
planteamiento panormico del conjunto de los captulos y de sus relaciones con los
otros tres temas. Al final del libro una bibliografa ordenada alfabticamente recoge
exclusivamente las referencias citadas en las Notas de todos los captulos, por lo que
huelga decir que, dado el enfoque primordialmente orientador de las Nots, la
bibliografa no pretende alcanzar ninguna meta de exhaustividad cientfica.
Por lo general, de los contenidos de un libro poco cabe decir en un prlogo, ya que
su ndice normalmente excusa de tal esfuerzo, salvo que se entiend que no ha de
resultar Ocioso captar la atencin del lector acerca d diversas singularidades. Hare-
mos de stas un bosquejo rpido.
Refirindonos a la primera parte, es del comn saber la naturaleza formativa de la
lgica formal para el razonamiento, pero en el Campo de la informtica destaca
adems su naturaleza fundamentadora para numerosas aplicaciones de inteligencia
artificial, de programacin y de diseo de circuitos. Este segundo aspecto es el que
hemos enfatizado en el tema de Lgica, buscando, por ejemplo, culminar la
exposicin de las lgicas proposicional y de predicados de primer orden en el
desarrollo de sistemas inferenciales, con la vista puesta en los sistenias expertos
(dominio aplicado y en auge de la inteligencia artificial), a los que se dedica asimismo
un amplio captulo. Otro nos habla de Otras Lgicas que se prefiguran en el horizonte
como prometedoras bases para los mencionados dominios aplicativos: ampliaciones
de la lgica de predicados (lgicas modal y temporal), lgicas mltivaloradas y, en
especial, un extenso desarrollo de la lgica borrosa. Una cuestin clsica como los
circuitos combinacionales tiene aqu su captulo, lo mismo que en el tema de
Autmatas lo tienen los circuitos lgicos secuenciales.
Con respecto a la parte llamada Autmatas, que versa sobre un rea de
expresin tpicamente matemtica, hemos suavizado mucho su formalismo descripti-
14 Prlogo
vo (a fin de cuentas, los autmatas de los que nos ocupamos son construcciones
formales). No solamente bastantes teoremas se enuncian y se explican sin demostrar-
los, tambin se usan ejemplos prcticos sencillos, entre los que, por ilustrar, citamos
el detector de paridad, el sumador, el problema del castillo encantado, el contador, el
reconocedor de una cadena de smbolos, etc. Como una muestra, entre otras, de
nuestro declarado objetivo de interconectar los cuatro temas del libro est el captulo
dedicado a Autmatas Reconocedores y Lenguajes Regulares, tradicional por otro
lado en el rea de estudio de los autmatas. Menos tradicional en un libro sobre
principios bsicos es aquel otro captulo destinado a introducir Otros Autmatas, a
saber: las redes de Petri, que han adquirido considerable predicamento en el mbito
del diseo de sistemas concurrentes, los autmatas estocsticos, los autmatas de
aprendizaje y los autmatas borrosos.
En Algoritmos se establecen con cuidado definiciones de los conceptos de
algoritmo, programa y mquina y sus profundas interrelaciones. Se ha tomado un
esmero especial para que los lectores comprendan bien el anlisis y diseo de
mquinas de Turing, as como el significado de piedra angular de esta mquina en la
teora informtica, en conexin con las cuestiones de la computabilidad. Por ltimo,
un captulo sobre Complejidad intenta exponer las nociones esenciales que, en
nuestra opinin, todo informtico debe poseer sobre un campo terico y prctico de
gran desarrollo en los ltimos aos. La complejidad algortmica se aplica en dominios
tan diversos como la robtica, el diseo de circuitos integrados a muy grande escala y
el diseo de estructuras de datos eficientes.
Los lenguajes formales en general, y con un mayor detalle los lenguajes libres de
contexto y las,relaciones entre los diversos tipos de lenguaje y las estructuras de
mquina capaces de reconocerlos, constituyen el contenido de los cuatro primeros
captulos de la ltima parte del libro. Es sta un rea obligada si se quiere comprender
algo sobre la esencia de los lenguajes para ordenador. Precisamente, el extenso
captulo 5, Aplicaciones a los lenguajes de programacin, intenta salvar un poco la
brecha explicativa con la que nos encontramos cotidianamente entre la teora de los
lenguajes formales y su materializacin en las herramientas que todo el mundo utiliza
para construir el software. De las diversas cuestiones tratadas en ese captulo, tal vez
puedan destacarse por su inters sistemtico las referidas a sintaxis, semntica y
procesadores de lenguaje. Como seccin incitadora de novedades y de futuro es de
subrayar el apartado acerca de los lenguajes de la programacin declarativa (progra-
macin funcional, programacin lgica, etc.).
Nuestros alumnos de la rama de Informtica de la Escuela se encontrarn a partir
de este momento con un texto completamente nuevo. Comoquiera que hace dos aos
o se reimprima aqul del que ste es una reencarnacin, ellos se van a llevar una
alegra, acaso un tanto atemperada por causa de los gajes del oficio de, tener que
estudirselo. Al mismo tiempo, estamos razonablemente seguros de que tambin se
alegrarn (con nosotros) de saber que desde ahora podrn compartir esta fuente de
conocimiento con otros estudiantes y con la vasta comunidad de profesionales
informticos en el mbito de la lengua castellana. Que as sea.
Los autores
Febrero, 1987
Primera, parte
LOGICA
Captulo 1
IDEAS GENERALES
1. LGICA E INFORMTICA
Alfredo Deao define la Lgica como la ciencia de los principios de la inferencia
formalmente vlida. Como tal, constituye una herramienta para el anlisis de los
razonamientos o argumentaciones generados por la mente humana. Pero, si es as,
qu relacin puede haber entre la lgica y las tcnicas de la informtica? Pues bien,
podemos encontrar, al menos, los siguientes puntos de cdntacto:
(a) En aplicaciones inteligentes. Los ordenadores son, mquinas diseadas para
mecanizar trabajos intelectuales. Normalmente, esos trabajos son los relacionados
con tareas sencillas y rutinarias: clculos basados en operaciones aritmticas (que el
hombre aprende de memoria y aplica, sin necesidad de razonar), bsqueda de datos
(por simple comparacin o emparejamiento con una clave dada), clasificacin (orde-
nacin de datos basada en un criterio elemental), etc. Para estas aplicaciones no hace
falta aplicar la lgica (en el sentido de ciencia; naturalmente que todo informtico,
como todo ser racional, utiliza razonamientos lgicos de manera informal). Si
pretendemos mecanizar tareas ms complejas (induccin, deduccin, etc.) entramos
en el campo de la informtica, llamado inteligencia artificial. (En realidad, se trata
de un campo interdisciplinar, que interesa tambin a la psicologa y a la epistemolo-
ga; aqu hablamos de aplicaciones inteligentes de los ordenadores, y, por tanto, nos
referimos a la vertiente ms ingenieril). Ahora se trata de conseguir que la mquina
sea capaz de hacer, precisamente, esos razonamientos que, de manera informal,
realiza el hombre. Y para ello es preciso analizarlos, definirlos con precisin, en una
palabra, formalizarlos. Y esQ es precisamente lo que hace la lgica (formal).
(b) En programacin. Hace ya aos que preocupa la llamada crisis del software:
los programas son cada vez ms complejos, menos fiables y ms difciles de mantener.
Se han propuesto y se utilizan diversas metodologas para la construccin de progra-
17
18 Lgica
mas, basadas en principios tericos de los que se dar una idea en el tema Algorit-
mos. Pero un enfoque complementario de tales metodologas es el de buscar una
programacin declarativa en lugar de imperativa. Esto quiere decir que se
tratara de buscar lenguajes de programacin tales que los programas no sean una
secuencia de instrucciones que le digan al ordenador, paso a paso, cmo hay que
resolver el problema, sino una especificacin de qu es lo que se pretende resolver, y
que sea el propio ordenador quien determine las acciones necesarias para ello. Pues
bien, la lgica puede verse, precisamente, como un lenguaje de especificacin
mediante el cual podemos plantear los problemas de manera rigurosa. En el tema
Lenguajes comentaremos los principios de la programacin lgica. Por otra parte,
la tarea de programacin se complica cuando se hace preciso considerar procesos
concurrentes e intercomunicantes (por ejemplo, en los sistemas operativos de multi-
programacin, en las aplicaciones de tiempo real, o en los sistemas distribuidos);
ciertas extensiones de la lgica clsica, como las lgicas modal y temporal que
veremos en el captulo 5, son herramientas matemticas adecuadas para estos casos.
2. LGICA Y CIRCUITOS DE CONMUTACIN
Desde el punto de vista estrictamente electrnico, el soporte tecnolgico principal
de los ordenadores lo constituyen los circuitos de conmutacin, o circuitos lgicos.
Est ltima dehominacin es, desde luego, discutible. Porque los circuitos electrni-
cos bsicos, con la tecnologa actual, no permiten realizar directamente las operacio-
nes inferenciales que caracterizan a la lgica. (Aunque indirectamente s, ya que
podemos, por ejemplo, programar a un ordenador para qu las haga, e, incluso,
podemos pensar en nuevas estructuras de ordenador cuyas operaciones elementales
no sean ya las instrucciones de mquina de los ordenadores actuales, sino inferencias
lgicas. Este es un campo de la arquitectura de ordenadores sometido a intensa
investigacin). Hay, no obstante, motivos para llamar lgicos a tales circuitos.
Motivos que pueden reducirse a una consideracin matemtica: el hecho de que las
formas elementales de la lgica y los circuitos de conmutacin tienen un modelo
matemtico comn: el lgebra de Boole binaria. Dada la importancia de los circuitos
lgicos como componentes, y aunque no tengan una relacin dmsiado estrecha con
el resto de las aplicaciones informticas de la lgica, dedicaremos un captulo de este
tema a su estudio.
3. LGICA, LENGUAJES Y AUTMATAS
Un lenguaje es un sistema de smbolos y de convenios que se utiliza para la
comunicacin, sea sta entre personas, entre personas y mquinas o entre mquinas.
El estudio matemtico de los lenguajes es uno de los pilares de la informtica, y a l
vamos a dedicr parte del tema Autmatas y todo el ltimo tema del libro. Pero la
lgica formal tambin puede considerarse como un lenguaje (aunque ste es un tema
debatido filosficamente), el mejor hecho de los lenguajes, como dice Ferrater
Mora.
Ideas generales 19
Por otra parte, existe una correspondencia muy estrecha, como veremos en los
temas correspondientes, entre los autmatas y los lenguajes: a cada tipo de autmata
corresponde un tipo de lenguaje, y viceversa. La mquina de Turing es una mquina
lgica, un autmata de un tipo especial, que ha permitido formalizar el concepto de
algoritmo y ha proporcionado una de las aproximaciones tericas al campo de la
computabilidad, como se ver en el tema Algoritmos.
Puesto que la terminologa asociada a la teora de lenguajes va a utilizarse en todas
las partes de este libro, nos parece conveniente presentar ya las definiciones y los
conceptos bsicos.
4. LENGUAJES FORMALES: DEFINICIONES Y
CONCEPTOS BSICOS
4.1. Alfabeto, cadenas y lenguaje universal
Llamaremos alfabeto a un conjunto finito, no vaco, de smbolos.
Una cadena (o palabra, o expresin, o secuencia finita) es una secuencia ordenada,
finita, con o sin repeticin, de los smbolos de un alfabeto. De una manera general,
utilizaremos las letras x, y, z para representar cadenas construidas con cualquier
alfabeto (que, por supuesto, no puede contener esos smbolos). A veces interesa
definir la cadena vaca como aquella que no contiene ningn smbolo. Para designarla
utilizaremos el smbolo especial A (en el supuesto, naturalmente,-desque este
smbolo no forme parte del alfabeto con el que estamos construyendo las cadenas).
' Sobre el conjunto de cadenas que pueden construirse con un determinado alfabeto
puede definirse una funcin total, llamada longitud, y abreviada lg, que asigna a
cada cadena el nmero de smbolos de que consta. Por ejemplo, si el alfabeto es
{0, 1}, entonces lg(0) = 1, lg(l) = 1, lg(00) = 2, lg(01) = 2, etc. Por definicin,
Si .A es un alfabeto, llamaremos A" al conjunto de todas las cadenas de longitud n.
Por ejemplo, si A = {a, b}, entonces,
Llamaremos lenguaje universal sobre un alfabeto A, y lo representaremos por A*,
al conjunto infinito
Es decir, A* es el conjunto de todas las cadenas (incluida A) que pueden formarse a
partir de A.
lg(A) = 0.
A = {A}; A
1
= {a, b};A
2
= {aa, ab, ba, bb}, etc.
1 = 0
20 Lgica
4.2. Concatenacin
La concatenacin de dos cadenas, x, y e A*, es una ley de composicin interna
sobre A*, es decir, una aplicacin A* X A* A*, que consiste en formar la cadena
xy poniendo x delante de y .
Por ejemplo, si A = {a, b, c} y consideramos las cadenas x = ab, y = bba,
entonces xy abbba y yx = bbaab.
La representacin de la concatenacin de una cadena consigo misma puede
abreviarse mediante notacin exponencial: = A; x
1
= x; x
2
= xx; x
3
= xxx, etc.
(Obsrvese, aunque sea a ttulo anecdtico, que la longitud cumple respecto a la
concatenacin las mismas propiedades formales que el logaritmo respecto a la
multiplicacin: lg(*y) = lg(*) + lg(y); lg(x") = n lg(*)>.
La operacin de concatenacin satisface las siguientes propiedades:
a) Es asociativa: x(yz) = (xy)z = xyz.
b) En general, no es conmutativa: xy + yx. (La conmutatividad slo se da en el
caso particular de que A conste de un solo elemento).
c) Tiene un elemento neutro, X\ fac = xk = x.
d) Ninguna cadena (salvo A) tiene inverso: dda x e A {x # A), no existe ningn
y e A tal que xy = A.
Por consiguiente, (A*, ), es decir, A* con la operacin de concatenacin, es una
estructura algebraica de tipo monoide, a la que se llama monoide libre generado por
A.
Tambin es posible prescindir de la cadena vaca, y, en lugar de con A*, trabajar
con A
+
= A* {A}. Algebraicamente, la diferencia estara en que, al no existir
elemento neutro, en lugar de hablar de monoide habramos de hablar de semigrupo.
4.3. Lenguaje y metalenguaje
Dado un alfabeto A, todo subconjunto de A* se llama /engua/'e sobre A. Esta
definicin es rigurosamente vlida, pero de poca utilidad. Porque en la aplicacin del
concepto de lenguaje (ya sea a asuntos prcticos, como en los lenguajes de programa-
cin, o tericos, como en la lgica formal) lo que interesa es poder resolver dos
problemas duales: dado un lenguaje, generar cadenas que pertenezcan a ese lenguaje,
y dada una cadena, reconocer si pertenece o no a un determinado lenguaje. Si el
lenguaje en cuestin es finito (es decir, consta de un nmero finito de cadenas), la
solucin de ambos problemas es inmediata, puesto que el lenguaje se describe
mediante la simple enumeracin de sus cadenas. Pero lo normal es que el lenguaje sea
infinito, y entonces tendremos que dar una descripcin finita para poder resolverlos.
Y esto nos lleva al concepto de metalenguaje, porque dicha descripcin finita
tendr que hacerse utilizando un sistema de smbolos que no pueden ser los mismos
del lenguaje que trata de describir. Por tanto, tal descripcin habr de hacerse en otro
lenguaje, que, como sirve para describir al primero (lenguaje objeto), se llama
metalenguaje. Por ejemplo, en el lenguaje del lgebra elemental, escribimos expresio-
nes como x + 7 = 17; cuando le explicamos a alguien lo que significan expresiones
Ideas generales 21
de ese tipo, estamos utilizando el espaol como metalenguaje para describir el
lenguaje del lgebra. Cuando hablamos de propiedades del lenguaje natural, espaol
en nuestro caso, solemos utilizarlo indistintamente como lenguaje objeto o como
metalenguaje. Por ejemplo, si decimos el ordenador no es ms que una mquina,
hemos construido una frase del lenguaje en la que se usa, entre otras, la palabra
ordenador. Y si decimos 'ordenador' es un vocablo de cuatro slabas tambin
hacemos una frase, pero en ella, la palabra ordenador no se usa, se menciona. En
realidad, estamos acudiendo al espaol como metalenguaje para describir una cierta
propiedad del propio lenguaje. Y puede haber una jerarqua de lenguajes, es decir,
varios niveles de descripcin. As, una frase del metametalenguaje sera: "'ordena-
dor' es un vocablo de cuatro slabas es un enunciado verdadero".
La descripcin de un lenguaje artificial suele hacerse mediante unas reglas que
permiten generar cadenas pertenecientes al lenguaje (cadenas o expresiones vli-
das, o sentencias, o frases). Son las reglas de formacin que veremos en este
tema, o las reglas de escritura que definiremos en el tema Lenguajes. Tambin,
para ciertos tipos de lenguajes es posible dar descripciones algebraicas, como veremos
en el tema Autmatas para los lenguajes llamados regulares.
4.4. Sintaxis, semntica y pragmtica
En la lingstica hay tres campos: la sintaxis, la semntica y la pragmtica. La
sintaxis se ocupa estrictamente de los smbolos y de la manera de combinarlos para
obtener sentencias del lenguaje. La semntica estudia los smbolos y las sentencias en
relacin con los objetos que designan. La pragmtica, finalmente, tratara (en
realidad, es el nivel menos desarrollado, y roza ya con los campos de la psicologa y la
sociologa) de las relaciones entre los smbolos y los sujetos que los usan.
Un ejemplo de enunciado perteneciente a la sintaxis es:
'algoritmo' es un sustantivo.
Un ejemplo de enunciado perteneciente a la semntica es:
no es cierto que 'algoritmo' derive del griego 'aXyog ('dolor') y
'agidfioi('nmero') y signifique 'dolor producido por los nmeros'.
Finalmente,
en otro tema veremos la etimologa correcta de la palabra 'algoritmo'.
es un enunciado perteneciente a la pragmtica.
En el primer caso se ha usado 'algoritmo' para relacionarlo con otra expresin
('sustantivo'); en el segundo, para relacionarlo con el objeto que designa (en este caso
es ms bien el objeto que no designa), y en el tercero, para relacionarlo con quienes lo
usan (nosotros).
22 Lgica
5. RESUMEN
La lgica formal es uno de los fundamentos tericos de la informtica, que,
adems, tiene importancia prctica en las aplicaciones llamadas de inteligencia
artificial, en los lenguajes de programacin declarativos y en la programacin
concurrente.
Los conceptos de alfabeto, cadenas, concatenacin, lenguaje, sintaxis y semntica
se utilizarn en ste y en otros temas del libro.
Los circuitos lgicos, sin otra relacin con la lgica formal que la existencia de un
modelo matemtico comn, son los componentes tecnolgicos bsicos de los ordena-
dores actuales.
Captulo 2
LOGICA DE
PROPOSICIONES
1. INTRODUCCIN
1.1. Variables preposicionales y sentencias
Los lgicos clsicos distinguan entre juicio (el acto mental mediante el cual se
piensa o se concibe algn hecho elemental), proposicin (lo pensado concebido en
ese acto mental) y razonamiento (combinacin, con una forma determinada, de
proposiciones enlazadas por construcciones primitivas, como o, y, si^... enton-
ces, etc.). >
El concepto de proposicin se formaliza mediante el de variable proposicional. Las
variables preposicionales representan enunciados declarativos, es decir, frases expre-
sadas en el modo gramatical indicativo. (La formalizacin de modos subjuntivo,
condicional e imperativo exige otros tipos de lgica). Para escribir las variables
proposicionales utilizaremos las letrasp, q, r, s, t..., eventualmente con subndices.
Una sentencia representa a un enunciado compuesto por enunciados elementales y
esas construcciones primitivas (y, o, etc.), que se formalizan mediante las
llamadas conectivas. Este enunciado compuesto puede ser un razonamiento en el
sentido clsico, o no.
1.2. Conectivas
La conectiva unaria (o mondica) de negacin, no, cuyo efecto es negar lo que
dice el enunciado que le sigue, se representa mediante el smbolo ~1 antepesto a la
variable proposicional o a la sentencia correspondiente. As, si con p estamos
formalizando la nieve es blanca, ~1 p representara la nieve no es blanca. (En
otros libros se utilizan otros smbolos: ~ p, o p, o />').
23
24 Lgica
Las conectivas binarias (o didicas) son las que enlazan entre s a dos variables
proposicionales o a dos sentencias. Las ms utilizadas son:
La conjuncin, con smbolo A (en otros libros, & o ), que representa el
y del lenguaje natural.
La disyuncin, con smbolo v (en otros libros, | o +), que representa el
o (en sentido inclusivo: p v q significa o bi enp, o bien q, o bien ambos).
El condicional, con smbolo > (en otros libros, => o =>), que representa
el si... entonces. De las dos variables enlazadas por el condicional, la primera
(la de la izquierda) se llama antecedente y la segunda, consecuente.
El bicondicional, con smbolo <-> (en otros libros, = o =), que representa
el si y slo si.
Combinando de forma adecuada variables y conectivas se forman sentencias, o
cadenas correctas en el lenguaje de la lgica de proposiciones.
1.3. Interpretacin binaria de variables proposicionales y de sentencias
Aunque en el apartado dedicado a semntica definiremos con mayor rigor el
concepto de interpretacin, vamos a introducirlo ya, restringido al caso particular (y
ms frecuente) de la interpretacin binaria. Una interpretacin binaria consiste en
asignar a cada una de las variables proposicionales uno de entre dos valores:
verdadero (o cierto) q falso. En lo sucesivo, utilizaremos el smbolo 1 para la
representacin de verdadero y 0 para la de falso!. Dada una interpretacin de
las variables proposicionales que intervienen en una sentencia, para poder dar una
interpretacin a la sentencia, es decir, para poder decir si la sentencia es verdadera
(valor 1) o falsa (valor 0), tenemos que dar un significado a las conectivas. El
significado umversalmente admitido es el que se resume en la siguiente tabla:
P q "I p
P A q p v q p*q
w
0 0 I 0 0 1 1
h - ;
0 I I 0 1 1 0
h-
1 0 0 0 1 0 0
h-
1 I 0 1 1 1 1
Cada una de las filas de la tabla corresponde a una interpretacin de las variables
proposicionales p y q. En el caso binario slo hay cuatro interpretaciones distintas de
dos variables proposicionales: ambas falsas (/
0
(p) = 0, i
0
(q) = 0), una verdadera y
otra falsa (i(p) = 0, i
t
(q) = 1; i
2
(p) = 1, i
2
(q) = 0), o ambas verdaderas {hip) = 1,
h(q) = 1). Para cada una de estas interpretaciones, la tabla muestra la interpretacin
de la sentencia formada mediante la negacin de una variable proposicional (columna
de p) o mediante la unin de dos variables proposicionales con una conectiva
binaria (columnas siguientes). Vamos a comentar estas interpretaciones:
Lgica tie proposiciones 25
Negacin. Parece natural que si una variable proposicional representa un hecho
verdadero, su negacin sea un hecho falso, y viceversa. Por ejemplo, si p representa
la nieve es blanca, y la interpretamos como verdadera, p representar la nieve
no es blanca, y se interpretar como falsa.
Conjuncin. Tambin parece natural que la conjuncin de dos hechos slo sea
un hecho verdadero si lo es cada uno de ellos separadamente: si p A q representa la
nieve es blanca y me apetece esquiar, p A q slo es verdadero si, adems de serlo p,
verdaderamente me apetece esquiar.
Disyuncin. Como ya se ha dicho ms arriba, la interpretacin que se da a la
disyuncin de dos variables proposicionales es la inclusiva: basta con que una de ellas
sea verdadera para que su disyuncin lo sea. Es decir, lo que representa es o bien p,
o bien q, o ambos. Por tanto, no sirve para representar enunciados como o viajo en
avin o viajo en tren (pero no ambos). (La representacin de este enunciado, en el
que se usa la disyuncin exclusiva, sera, con las conectivas que tenemos: (p A "1 q) v
(~l p A q), es decir, traduciendo al lenguaje natural: una de dos: o bien viajo en
avin (p) y entonces no viajo en tren, o bien viajo en tren (<7), y entonces no viajo en
avin).
Condicional. Como puede verse en la tabla, la interpretacin de dos variables
enlazadas por el condicional es tal que la sentencia siempre es verdadera salvo en el
caso de que el antecedente sea verdadero y el consecuente falso. Este sentido del
condicional requiere una explicacin algo ms detallada. Para ello, analicemos cada
uno de los casos con algunos ejemplos:
a) p = 1, q = 1 (antecedente y consecuente ciertos). Parece evidente que en tal
caso el condicional (si p, entonces q) deber ser cierto. As,
'Si como mucho, entonces engordo'
es un condicional cierto en el caso de que tanto el antecedente (como mucho) como
el consecuente (engordo) lo sean. Pero pinsese que tambin pueden ser ciertos
condicionales en los que no haya una relacin causa-efecto entre antecedente y
consecuente; as:
'Si Madrid es la capital de Espaa, entonces Pars es la capital de
Francia'
es un condicional verdadero. Por ello, aunque a veces, en lugar de decir condicional
se diga implicacin (o implicacin material), no hay que confundirlo con la
llamada implicacin estricta:
'Madrid es la capital de Espaa' implica que 'Pars es la capital de
Francia'
es una implicacin falsa. La implicacin estricta se estudia en la lgica modal, una
ampliacin de la lgica clsica que comentaremos en el captulo 5 (apartado 2.4).
b) p = 1, q = 0. En este caso parece natural decir que el condicional es falso. En
efecto, decir sip, entonces q viene a ser equivalente a decir sip es cierto, entonces
26 Lgica
q es cierto, o, lo que es lo mismo, p es condicin suficiente (aunque no necesaria) de
q; por tanto, el hecho de que p sea cierto y q falso viene a refutar la expresin
p > q, es decir, a hacerla falsa.
c) p = 0, q = 1. El sentido comn nos dicta que un condicional de este tipo no es
ni verdadero ni falso: qu sentido tiene preguntarse por la verdad o falsedad de un
condicional cuando el antecedente es falso? Pero esta respuesta del sentido comn no
nos satisface, porque estamos trabajando con una lgica binaria, y, establecida una
interpretacin (p = 0, q = 1 en este caso), toda sentencia deber tener un valor, 0
1, en esa interpretacin. Si una sentencia no es falsa, ser cierta y viceversa. Ahora
bien, en el caso que nos ocupa, el condicional no es falso. Y no es falso porque, como
hemos dicho antes, p > q es como decir que p es condicin suficiente pero no
necesaria de q, es decir, que no es la nica condicin, por lo que perfectamente puede
ser q cierto, siendo p falso. Es decir, la falsedad del antecedente no hace falso al
condicional, y si no lo hace falso, lo hace verdadero. Por ejemplo: si corro, entonces
me canso. Qu ocurre si se dan los hechos de que no corro y, sin embargo, me
canso? Ello no invalida la sentencia, porque no se dice que no pueda haber otras
causas que me producen cansancio.
d) p = 0, q = 0, Pasa algo parecido al caso anterior: la condicin no se da, por lo
que q puede ser tan verdadero como falso, y el condicional, al no ser falso, ser
verdadero. Obsrvese, adems, que este empleo del condicional se encuentra en el
lenguaje coloquial para sealar que, ante un dislate, cualquier otro est justificado:
si Fulano de Tal es demcrata, yo soy el Emperador de Asira.
Este significado del condicional, aunque hoy est umversalmente admitido, ha
ocasionado numerosos problemas en lgica y ha sido una fuente de paradojas. Por
ejemplo, la sentencia p (q > p) tiene siempre la interpretacin verdadera, sea
cual sea la interpretacin de las variables p y q. En efecto, podemos construir la
siguiente tabla para ver, en dos pasos, las cuatro interpretaciones posibles:
p <7 9 P
0 0 1 1
0 1 0 1
1 0 1 1
1 1 1 1
Esto es lo que se llama una tautologa, es decir, una sentencia que siempre es
verdadera sean cuales sean las interpretaciones de las variables proposicionales que
intervienen en ella. (De hecho, en algunos de los sistemas axiomticos que se han
propuesto para la lgica proposicional, esta sentencia es un axioma). Ahora bien,
algunos consideran este resultado paradjico, porque, considerado como la formaliza-
cin de un razonamiento en el que p fuese la premisa y q p la conclusin, viene
a decir que si un enunciado (p) es verdadero, todo condicional en el que ese enuncia-
do sea el consecuente es verdadero, independientemente de que el antecedente sea
verdadero o falso. Por ejemplo., de un enunciado como tengo fro se deduce que si
Lgica tie proposiciones 27
salgo al campo, entonces tengo fro siempre es verdadero, independientemente de
que salgo al campo sea verdadero o falso. Pero, teniendo en cuenta el sentido
material del condicional, no es que tengo fro implique si salgo al campo entonces
tengo fro, sino que la segunda cosa se sigue de la primera (es verdadera cuando la
primera lo es), y entonces la interpretacin parece perfectamente razonable: si tengo
fro, tengo fro, pase lo que pase.
Biconditional. Se interpreta como verdadero si las dos variables son verdaderas
o las dos son falsas. En caso contrario (una verdadera y otra falsa) se interpreta como
falso. Pueden hacerse consideraciones similares a las del condicional (e invitamos al
lector a reflexionar sobre ello). De la misma manera que al condicional se le llama a
veces implicacin (material), al bicondicional se le conoce tambin como equiva-
lencia (material, no estricta).
Una observacin final: La tabla se puede escribir tambin utilizando dos senten-
cias cualesquiera, y S
2
, en lugar de las variables proposicionales p y q. Para una
determinada interpretacin de las variables que forman parte de ellas, y S
2
tendrn
unas interpretaciones 0 o 1 que se calcularn de acuerdo con la misma tabla. Y
todo lo que hemos explicado sobre el significado de las distintas conectivas aplicadas a
variables es extensible al caso en que apliquen a sentencias.
1.4. Ejemplos de formalizacin e interpretacin
Aunque ms adelante presentaremos con mayor rigor algunas de las ideas expues-
tas, lo que hemos visto es ya suficiente para poder formalizar y analizar muchas frases,
razonamientos y argumentaciones expresados en lenguaje natural. Para ello, una vez
construida la sentencia correspondiente, escribimos todas las interpretaciones de sus
variables proposicionales; si hay n variables proposicionales, habr 2" interpretacio-
nes binarias, que escribiremos en 2" lneas. Despus calculamos la interpretacin de la
sentencia para cada una de esas interpretaciones de variables proposicionales (lo cual
puede exigir, para evitar errores, clculos intermedios de las partes de la sentencia).
El resultado es una tabla con 2" filas, a la que llamaremos tabla de verdad. (Ya hemos
hecho antes una, cuando comentbamos el significado del condicional). Veamos
algunos ejemplos concretos:
Ejemplo 1.4.1. Si corro, entonces me canso. Ya hemos comentado antes'este
enunciado, que podemos formalizar, simplemente, como p q. Si lo repetimos
aqu es para invitar al lector a reflexionar sobre el hecho de que hay formas
alternativas de decir lo mismo. Por ejemplo: ~l p v q (o bien no corro, o bien me
canso, o ambos), 1 (p A 1 q) (no es el caso que corro y no me canso), etc.:
p q "I q
-\p v q p A ~]q
"1 (p A n q)
0 0 i i 1 0 1
0 i i 0 1 0 1
1 0 0 i 0 1 0
1 i 0 0 1 0 1
28 Lgica
La primera de esas formas alternativas (~1 p v q) es una forma disyuntiva que,
como veremos en los apartados 5.7 y 5.8, es importante para ciertos procedimientos
de inferencia automtica.
Ejemplo 1.4.2. Si tengo hambre o tengo sed, entonces voy al bar. Definiendo
las variables proposicionales p, q, r para representar respectivamente tengo ham-
bre, tengo sed y voy al bar, podemos formalizar la frase en cuestin mediante la
sentencia:
p v q-^r
Como intervienen tres variables, hay 2
3
= 8 interpretaciones binarias para el
conjunto de las tres, y para cada una de ellas la sentencia tendr una interpretacin.
Las ocho interpretaciones, que se calculan de acuerdo con lo dicho anteriormente, se
resumen en esta tabl de verdad:
p q
r
P v q
p v q^r
0 0 0 0 1
0 0 1 0 1
0 i 0 1 0
0 i 1 1 1
1 0 0 1 0
1 0 1 1 1
1 i 0 1 0
1 i 1 1 1
Como puede observarse, la sentencia es falsa cuando ocurre qu tengo hambre o
tengo sed (o ambos) son verdaderos y, sin embargo, voy al bar es falso. En
cualquier otro caso, incluso cuando py q son las dos falsas, la sentencia es verdadera
(lo cual es razonable: la sentencia no dice que o se pueda ir al bar por otros motivos;
lo dira si en lugar de un condicional se utilizase un bicondicional).
Ejemplo 1.4.3. Muchos razonamientos consisten en la obtencin de una conclu-
sin a partir de dos o ms premisas: si Premisa 1 y Premisa 2 y ... entonces
Conclusin. Si las premisas y la conclusin pueden expresarse con el formulismo de
la lgica de proposiciones, el razonamiento es vlido siempre y cuando la sentencia
global [(PI A P2 A ...) > C] sea una tautologa. En efecto, lo que queremos expre-
sar con el razonamiento es justamente lo que expresa un condicional de esa forma:
que en el caso de que las premisas sean ciertas la conclusin tambin lo es. Y si hay
algn caso (interpretacin de las variables proposicionales que intervienen en las
premisas y en la conclusin) en el cual todas las premisas son verdaderas y la
conclusin falsa, entonces el razonamiento falla; en tal caso, la sentencia condicional
dada se interpreta como falsa. Si nunca ocurre tal cosa, la sentencia es una tautologa
y el razonamiento es correcto.
Lgica tie proposiciones 29
Consideremos ahora el siguiente razonamiento:
P: 'Si Bernardo se casa, entonces Florinda se suicida'.
P2: 'Florinda se suicida si y slo si Bernardo no se hace monje'.
C : 'Si Bernardo se casa, entonces no se hace monje'.
Para formalizar este razonamiento, vamos a definir las variables preposicionales:
c = 'Bernardo se casa'.
s = 'Florinda se suicida'.
m = 'Bernardo se hace monje'.
Los elementos del razonamiento quedarn as:
P = c^s
. P2 = i o "l m
C = c m
y la expresin formal del razonamiento vendr dada por la sentencia:
(c s) A ( j l f f l ) - > ( c ^ l m )
Veamos si es una sentencia demostrable; para ello, construyamos su tabla de
verdad:
c s 171 C* s s 1 m
(c>s) A
A (s -> m) c > 1,m
A (i
(c-
s) A
m)
0 0 0 1 0 0
0 0 1 1 1 1 1
0 1 0 1 1 1 1
0 1 1 1 0 0 1
1 0 0 0 0 0 1
1 0 1 0 1 0 0
1 1 0 1 1 1 1
1 1 1 1 0 . 0 0
Comprobamos as que se trata de una tautologa, y, por consiguiente, el razona-
miento es correcto. Como ejercicio, sugerimos al lector que analice los resultados en
los casos de que la premisa 2 fuese:
a) Si Bernardo no se hace monje, entonces Florinda se suicida, y
b) Si Florinda se suicida, entonces Bernardo no se hace monje.
Ejemplo 1.4.4. Veamos ahora un razonamiento con tres premisas:
Pl : No hay judos en la cocina.
P2: Ningn gentil dice sphoonj.
P3: Todos mis sirvientes estn en la cocina.
C : Mis sirvientes no dicen nunca sphoonj.
30 Lgica
Aunque el modo ms natural de formalizar este razonamiento sera en lgica de
predicados, y as lo veremos en el captulo 4, tambin podemos hacerlo en lgica de
proposiciones. En efecto, definiendo las variables proposicionales:
j : Alguien es judo,
c : Alguien est en la cocina.
d: Alguien dice sphoonj.
s : Alguien es sirviente.
podemos escribir as el razonamiento:
PI : j "I c
(si alguien es judo, entonces no est en la cocina)
P2: H j H d
(si alguien no es judo, entonces no dice 'sphqonj')
P3:s~* c
(si alguien es sirviente, entonces est en la cocina)
C : d
(si alguien es sirviente, entonces no dice 'sphoonj')
Enlazando las tres premisas entre s mediante conjunciones y a la conclusin
mediante un condicional, obtenemos la siguiente sentencia, expresin formal del
razonamiento (obsrvese que, gracias a la asociatividad de la conjuncin, podemos
escribir [(PI A P2) A P3] como [PI A P2 A P3]):
[ 0' > ~1 c) A I j d) a (s > c)] > (s > ~\d)
Veamos ahora las posibles interpretaciones de la sentencia. En la siguiente tabla
de verdad se indican los pasos intermedios y el resultado:
i
c d P P2 ra P A PZ A ra c s
0 0 0 0 1 1 1 . 1 1 1
0 0 0 1 1 1 0 0 1 1
0 0 1 0 ' 1 0 1 0 1 1
0 0 1 1 1 . 0 0 0 1
0 1 0 0 1 1 1 1 1 1
0 1 0 1 1 1 1 1 1 1
0 1 1 0 1 0 1 0 1
0 1 1 1 1 0 1 0 1
1 0 0 0 1 1 1 1 1 1
1 0 0 1 1 1 0 0 1 1
1 0 1 0 1 1 1 1 1 1
1 0 1 1 1 1 0 0 1
1 1 0 0 0 1 1 0 1
1 1 0 1 0 1 1 0 1
1 1 1 0 0 1 1 0 1
1 1 1 1 0 1 1 0
o
1
Lgica tie proposiciones 31
Vemos que la sentencia es una tautologa, y, por tanto, el razonamiento es vlido.
No obstante, hay que insistir en que, para este ejemplo y otros similares, la lgica de
proposiciones empieza a ser un lenguaje demasiado limitado para representar todos
los matices del lenguaje natural. Concretamente, aqu hemos hecho una pequea
trampa: tal como se han definido las variables preposicionales, lo representado por
j ~l c sera: si alguien es judo, entonces no es cierto que alguien est en la
cocina, lo cual no es exactamente lo que queremos decir, y lo mismo con las otras
tres sentencias. Lo que ocurre es que con la palabra alguien del lenguaje natural se
representa a un miembro cualquiera de un colectivo, es decir, formalmente, a una
variable (pero no una variable proposicional). Nuestras proposiciones hacen referen-
cia a propiedades de tales variables que determinan subconjuntos del colectivo, y esto
es algo no previsto en la lgica de proposiciones. Si aqu hemos podido llegar a una
formalization ha sido fijando ese alguien, es decir, considerando que en todas las
premisas y en la conclusin se trata del mismo individuo (como si, en vez de
alguien, hubisemos dicho, por ejemplo, Juan) y suponiendo implcitamente que
si el razonamiento es vlido para un individuo cualquiera, lo es para todos.
Ejemplo 1.4.5. Consideremos un poltico que declara en la prensa:
Pl : 'Si los impuestos suben, la inflacin bajar si y slo si la peseta no se devala';
para, posteriormente, decir en televisin:
P2: 'Si la inflacin baja o si la peseta no se devala, los impuestos no subirn';
y afirmar en el Congreso:
P3: 'O bien baja la inflacin y se devala la peseta, o bien los impuestos deben
subir'.
Nuestro poltico publica luego un informe en el que, tras analizar tales aseveracio-
nes, saca de ellas la conclusin:
C: 'Los impuestos deben subir, pero la inflacin bajar y la peseta no se devalua-
r'.
Nos preguntamos si tal conclusin es consistente con las premisas, sin entrar en la
validez de stas. Es decir, Pl , P2 y P3 pueden ser verdaders o falsas; si alguna es
falsa, la conclusin no tiene por qu ser cierta, pero si las tres son verdaderas, C debe
serlo tambin. En definitiva, para que la inferencia de C a partir de Pl , P2 y P3 sea
correcta (Pl A P2 A P3) C, deber ser una tautologa.
Si definimos las variables preposicionales,
p = 'los impuestos suben';
q = 'la inflacin baja';
r = 'la peseta no se devala',
la sentencia a comprobar ser:
[ 0 0? ** r)) A ((q v r) p) A ({q A 1 r) v p)} (p A q A r)
32 Lgica
Dejamos al lector la construccin de la tabla de verdad de esta sentencia. Podr
comprobar que no es una tautologa (por lo que la conclusin no es correcta), y
estudiar los dos casos que hacen que el razonamiento no sea vlido.
1.5. Clculo, sistema axiomtico y sistema inferencial
Veremos en el siguiente apartado que la lgica de predicados se define como un
lenguaje formal, en el sentido definido en el captulo 1, complementado con un
conjunto de axiomas y de reglas de transformacin o inferencia.
Un clculo es la estructura formal de un lenguaje, abstrayendo el significado, y, en
rigor, slo se transforma en lenguaje cuando se interpretan sus smbolos y sus
construcciones (es decir, se les atribuye un significado, se les pone en relacin con los
objetos que designan). Segn esta definicin, un clculo no entra en los aspectos
semnticos. No obstante, muchas veces se habla d clculo de proposiciones y
clculo de predicados como sinnimos de lgica de proposiciones y lgica de
predicados. Es esto correcto? La duda proviene de que en lgica hablamos de
interpretacin de variables proposicionales y sentencias como verdaderas o falsas, con
lo que estamos haciendo semntica. Ahora bien, sta es una semntica asptica,
desligada de lo que realmente representan esas variables y sentencias. En los ejemplos
vistos puede verse claramente: cuando construimos las tablas de verdad estamos en la
semntica de la lgica, pero la verdadera semntica la hacemos despus: cuando
trasladamos esos resultados a la interpretacin de la frase que estamos representando
en lgica.
El clculo es, adems, un sistema axiomtico cuando se construye sobre la base de
unos axiomas, o construcciones que se admiten como verdaderas en el lenguaje o
lenguajes de los que procede el clculo (o, lo que es lo mismo, en todos los lenguajes
que se pueden formalizar con l).
Para definir un sistema axiomtico hay que especificar:
* el alfabeto, o conjunto de smbolos vlidos en el clculo;
* las reglas de formacin, Jque permiten derivar sentencias (cadenas de smbolos
vlidos o correctas);
* los axiomas;
* las reglas de transformacin, que permiten obtener o demostrar ciertas senten-
cias a partir de los axiomas {sentencias demostrables, teoremas o leyes).
Los axiomas y los teoremas constituyen las tesis del sistema axiomtico, y
pertenecen al lenguaje del clculo; las reglas de formacin y de transformacin
pertenecen al metalenguaje del clculo.
La formulacin de los axiomas no es arbitraria ni fcil. Tiene que satisfacer dos
exigencias metalgicas imprescindibles:
a) El clculo resultante debe ser completo, es decir, todas las sentencias verdade-
ras (o sea, todas las tautologa^: la semntica es ineludible) relativas a las
teoras (o lenguajes) que el clculo pretende formalizar tienen que poder
demostrarse a partir de los axiomas.
Lgica tie proposiciones 33
b) El clculo debe ser consistente, es decir, que no se puedan demostrar sentencias
no verdaderas.
Conviene, adems, que los axiomas sean independientes, es decir, que ninguno de
ellos pueda demostrarse a partir de los restantes. Esta condicin no es fcil de
comprobar. Prueba de ello es que en el sistema PM, que veremos en el apartado 2.5,
se proponan inicialmente 5 axiomas, y slo aos ms tarde se comprob que uno era
redundante (se poda demostrar a partir de los otros cuatro).
El lector ms interesado por las aplicaciones informticas de la lgica que por sta
en s misma puede pensar que todo esto es de poca utilidad. Vamos a ver que no es
as. En las aplicaciones, efectivamente, no tiene un inters especial la demostracin
de teoremas a partir de unos axiomas. Lo realmente interesante es mecanizar los
procesos de inferencia. Es decir, dadas unas premisas o hechos comprobados como
ciertos en una determinada situacin, poder deducir conclusiones para esa situacin.
Esto es lo que llamaremos un sistema inferencial'. un conjunto de reglas (pertenecien-
tes al metalenguaje de la lgica) que permiten ejecutar inferencias y unas metarreglas
(pertenecientes al metametalenguaje) que dicen cmo aplicarlas. Ahora bien, vere-
mos en el apartado 5 que los teoremas del sistema axiomtico son precisamente la
base de las reglas que permiten realizar inferencias. Por otra parte, para acercarnos al
ideal de poder asegurar el correcto funcionamiento de los programas es preciso
trabajar sobre una base tericamente slida y rigurosa. (La pragmtica de la inform-
tica dice que nunca se puede asegurar que un programa funciona correctamente. Gran
parte de las investigaciones actuales sobre programacin se dirigen, precisamente, a
mejorar la fiabilidad del software, y en ellas juegan un papel fundamental las
construcciones tericas).
2. SINTAXIS
2.1. Alfabeto
Entramos ya a definir formalmente la lgica de proposiciones como un lenguaje.
El alfabeto que utilizaremos ser el formado por los siguientes smbolos:
Variables proposicionales: p, q, r, s, t... (En caso necesario, con subndices
numricos, y, en los ejemplos de aplicacin, cualquiera otra minscula, si
conviene por motivos nemotcnicts).
Conectivas: "1, v, a, >, <-. (Estas sern las ms utilizadas, aunque pueden
definirse otras, como veremos).
Smbolos de puntuacin: (, ), [, ], {, }. (Lo mismo que en el lenguaje del
lgebra, los utilizaremos para evitar ambigedades).
Metasmbolos. Como indica su nombre, no son, propiamente, smbolos del
lenguaje. Los utilizaremos para abreviar ciertas expresiones, y sern los siguien-
tes:
* A, B, C... para representar cualquier sentencia del lenguaje (tambin, en
caso necesario, con subndices).
34 Lgica
* k para representar cualquier conectiva binaria.
* l para representar una variable proposicional sola o con el smbolo de
negacin delante. (Esto es lo que se llama un literal: literal positivo si
corresponde a una variable proposicional sin negacin, y negativo en caso
contrario).
2.2. Expresiones y sentencias
Definicin 2.2.1. Llamaremos expresin o cadena a toda secuencia finita de
smbolos del alfabeto. Por ejemplo:
(P
v
<l) r
r v ) ^ p q H (
(p v q ~~l) r
son tres expresiones. Intuitivamente, se aprecia que slo la primera significa algo;
diremos que, de las tres, slo ella es una sentencia. Vamos a definir formalmente este
concepto.
Definicin 2.2.2. Llamaremos secuencia de formacin a toda secuencia finita de
expresiones, A
ly
A
2
, ..., A, en la que cada A satisface al menos una de las tres
condiciones siguientes:
a) Ai es una variable proposicional;
b) existe un j menor que i tal que A es el resultado de anteponer el smbolo ~1 a
c) existen j y h, ambos menores que i, tales que A es el resultado de enlazar A y
A
h
con k (cualquier conectiva binaria).
Definicin 2.2.3. Llamaremos sentencia a toda expresin A
n
tal que existe una
secuencia de formacin Ai, A
2
, ..., A
n
. Y sta ser una secuencia deformacin de A
n
(puede no ser la nica). Obsrvese que, segn esta definicin, todas las expresiones
que componen una secuencia de formacin son sentencias.
Una forma equivalente de definir el concepto de sentencia es enunciando tres
reglas de formacin (correspondientes a las tres condiciones anteriores):
RF1: Una variable proposicional es una sentencia.
RF2: Si A es una sentencia, "1 A tambin lo es.
RF3: Si A y B son sentencias, AkB tambin lo es.
Estas tres reglas constituyen una definicin recursiva de sentencia. (Recursiva,
porque en ella se alude al concepto definido).
2.3. Sentencias equivalentes
En realidad, el concepto de equivalencia entre sentencias es semntico, y lo
definiremos en el apartado 3.5. De momento, digamos que dos sentencias son
Lgica tie proposiciones 35
equivalentes si significan lo mismo, y, aunque esta definicin no sea muy precisa,
haremos ya uso de algunas equivalencias sencillas, que nos permitirn sustituir unas
sentencias por otras. Por ejemplo, dos equivalencias triviales son: A v B es equiva-
lente a B v A, y A A B es equivalente a B A A.
2.4. Conectivas primitivas y definidas
De las cuatro conectivas binarias del alfabeto definido, basta con una. Si, por
ejemplo, nos quedamos con las conectivas primitivas ~1 y v, podemos definir las
tres restantes del siguiente modo:
a) Definicin de A: Una sentencia de la forma
A A B
es equivalente a una sentencia de la forma
1 (~1 A v B)
b) Definicin de >; Una sentencia de la forma
A->B
es equivalente a una sentencia de la forma
~1 A v B
c) Definicin de <-: Una sentencia de la forma
A*B
es equivalente a una sentencia de la forma
l ( l ( l i 4 v f i ) v l ( l S v 4 ) )
O bien, si se permite utilizar la conectiva previamente definida A,
(~l A v B) A (~l B v A)
2.5. Axiomas, demostraciones y teoremas
2.5.1. Axiomas
El sistema axiomtico ms conocido es el llamado PM, nombre derivado del
ttulo de una obra clsica: Principia Mathematica, de Whitehead y Russell. Utiliza
cuatro axiomas:
36 Lgica
Al . (p v
A2. q (p v q)
A3, (p v q) -> (q v />)
A4. ?)]
Como hemos dicho en el apartado 1.5, la idea es que con estos axiomas y unas
reglas de transformacin se demuestran teoremas. Vamos a definir las reglas de
transformacin y el proceso de demostracin, pero antes hemos de introducir una
operacin previa: la sustitucin.
2.5.2. Sustitucin
Definicin [Link]. Dadas unas variables proposicionales, p
lt
p
2
, p y unas
sentencias cualesquiera, B
t
B
2
, B, llamaremos sustitucin a un conjunto de pares
ordenados:
s = {Bi/pi, B
2
lp
2
, ..., BJp
n
}
Definicin [Link]. Dadas, una sentencia A que contiene (quizas, entre otras) las
variables proposicionales p
lt
p
2
, ..., p
n
, y una sustitucin s, la operacin de sustitucin
en A de esas variables proposicionales por las sentencias B
u
B
2
, ..., B
n
consiste en
poner en A, en todos los lugares donde aparezca la variable p, la sentencia B que le
corresponde segn s, y esto para todo i = 1, ..., n. El resultado es una expresin que
representaremos como As.
Teorema [Link]. Si A es una sentencia y s una sustitucin, As es una sentencia. La
demostracin, que dejamos al lector, es sencilla: basta con ver que si A y todas las B
tienen secuencias de formacin, entonces As tiene tambin una secuencia de forma-
cin (al menos). Es interesante observar que este teorema, como otros que iremos
dando, es, en realidad, un metateorema para la lgica de proposiciones.
2.5.3. Demostraciones y teoremas
Definicin [Link]. Llamaremos demostracin (o prueba formal) a toda secuencia
finita de sentencias A
lt
A
2
, ..., A, en la que cada A satisface, al menos, una de las
cuatro condiciones siguientes:
a) A es un axioma.
b) Existe algn j menor que i y alguna sustitucin s tal que A es el resultado de la
sustitucin s en A, es decir, A es lo mismo que AjS.
c) Existen h y j menores que i tales que A
t
es lo mismo que A
h
A A.
d) Existen Ti y j menores que i tales que A
h
es lo mismo que A > A.
Definicin [Link]. Llamaremos teorema a toda- sentencia A
n
que no es un axioma
y que es tal que existe una demostracin A
lt
A
2
, ..., A, y diremos que sta es una
Lgica tie proposiciones 37
demostracin de A
n
(puede no ser nica). Obsrvese que todas las sentencias que
componen una demostracin son o bien axiomas o bien teoremas.
Definicin [Link]. Llamaremos tesis (o ley) del sistema axiomtico a cualquier
sentencia que sea o bien un axioma o bien un teorema. Utilizaremos la notacin h A
para indicar que A es una tesis.
De modo similar a lo que hacamos al definir las sentencias, podemos dar una
definicin recursiva de tesis mediante cuatro reglas de transformacin (correspondien-
tes a las cuatro condiciones anteriores).
2.5.4. Reglas de transformacin
Si A es un axioma, entonces A es una tesis.
(Regla de sustitucin): Si A es una tesis en la que aparecenpi , p
2
, P Y
B
u
B
2
, ..., B son sentencias, entonces A{B
x
tp\, ..., BJp
n
} es una tesis.
(Regla de unin): Si A y B son tesis, entonces A A B es una tesis.
(Regla de separacin): Si A y A > B son tesis, entonces B es una tesis.
2.5.5. Ejemplos de demostraciones en el sistema PM
Teorema 1: (p > q) > [(r p) > (r q)\.
Demostracin:
1- (p -> q) - [ O r V p) -> O r v q)]
(Por sustitucin A4{~1 r/r}).
2. (p^
q
)->[(r^p)^(r^q)\
(Por definicin de la conectiva ).
Teorema 2: p (p y p).
Demostracin:
Simplemente, por sustitucin A2{p/q}.
Teorema 3: p > p.
Demostracin:
1. [(p v p) p] [(p -> (p v p)) (p p)]
(Por sustitucin en el Teorema 1: TI {p v p)/p, plq, p/r}.
2. \p -> (p v p)] (p p)
(Por separacin de Al en la sentencia anterior).
3. p ^ p
(Por separacin del Teorema 2 en la sentencia anterior).
RT1.
RT2.
RT3.
RT4.
38 Lgica
T
Teorema 4: p v p (Principio del tercio excluso).
Demostracin:
Por definicin de la conectiva en el Teorema 3.
(Nota: para no recargar la notacin, no hemos escrito el smbolo h, lo que
podramos haber hecho delante de cada upa de las sentencias que han ido apareciendo
en las demostraciones).
2.5.6. Algunos teoremas tiles
Entre la infinidad de teoremas que pueden demostrarse estn, por ejemplo:
* La ley de modus ponendo ponens (o modus ponens):
(Corresponde al tipo de razonamiento segn el cual, dado un condicional y
afirmando (ponendo) el antecedente, se puede afirmar (ponens) el conse-
cuente, pero esto ya es una regla de inferencia, de la que hablaremos ms
adelante).
* La ley de modus tollendo tollens (o modus tollens):
(Corresponde al tipo de razonamiento segn el cual, dado un condicional y
negando (tollendo) el consecuente, se puede negar (tollens) el antecedente,
otra regla de inferencia).
* Las leyes de transitividad:
[ 0 - q) A (q - r)] - (p -> r)
[(p q) A (q r)] - (p r)
(Corresponden a los silogismos hipotticos de la lgica clsica).
* Las leyes de inferencia de la alternativa, o de los silogismos disyuntivos:
[H p A {p v q)] -H q
[p A (H p v H q)] "I q
* La ley del dilema constructivo:
[(p ^ q) A (/ s) A (p v r)]'-> (q v s)
Lgica tie proposiciones 39
* Las leyes de De Morgan:
(p A q) <r+(~\ p V q)
(P v q) ++ OP'A H q)
Teoremas como estos dos ltimos, de la forma A - B, establecen una equivalen-
cia entre las sentencias A y B, como veremos en el apartado 3.5. Otras equivalencias
que utilizaremos ms adelante son:
* La ley de doble negacin:'
p ++ p
* La ley de reduccin al absurdo:
[~\p^(q A 1?)] <r*p
* Las leyes de distributividad:
[ ( P A ? ) v r ] [ ( p v r ) A ( p v ?)];
[(p V q) A r]*[(p A r) V (q A r)] \
r) ^ (q v r)];.
\P -> (i v r)] ^ [{p q) v (p /)];
\p (q A r)] ^ [(p q) A (p r)];
{q^ q)^ (p^ r)]
3. SEMNTICA
3.1. Interpretaciones
Representaremos por P al conjunto (finito) de variables preposicionales, por S al
conjunto (infinito) de sentencias que pueden construirse con P, por P y S
n
a los
mismos conjuntos cuando queramos indicar que el nmero de variables preposiciona-
les es n, y por S" al subconjunto de S (finito si n es finito) formado por las sentencias
que tengan un nmero d conectivas igual o inferior a n.
Definicin 3.1.2. Un conjunto de valores semnticos es un conjunto de smbolos,
V, de cardinalidad igual o superior a 2, cerrado bajo ciertas operaciones definidas en
l. A cada conectiva definida en el alfabeto debe corresponder una operacin en V. A
los elementos de V les llamaremos valores de verdad.
;
Obsrvese que, en principio, no imponemos ms restriccin a V que la de tener
dos o ms elementos (puede, incluso, tener infinitos), y de tener definidas en l (sin
fijar cmo) una operacin por cada conectiva.
40 Lgica
Definicin 3.1.3. Una interpretacin es un par ordenado (i, V), donde V es un
conjunto de valores semnticos e i es una aplicacin cualquiera de P en V.
De este modo, cuando establecemos una determinada interpretacin, lo que
hacemos es asignar a cada variable proposicional un elemento de V. Para interpretar
sentencias, tendremos que establecer una extensin de i para que su dominio sea S en
lugar de P.
Teorema 3.1.4. Dada una interpretacin (i, V), existe una (y slo una) extensin
del dominio de i a S, a la que llamaremos I, tal que satisface estas dos condiciones:
a) y/A e S, I(~\ A) = 1(A).
b) VA, B e S, I(AkB) = I(A)kI(B).
(Ntese que, aunque los smbolos utilizados sean los mismos, "1 y k representan
distintas cosas, en el primero y en el segundo miembro de esas igualdades: en el
primero, son las conectivas utilizadas en el alfabeto, que se aplican a variables o a
sentencias para obtener otras sentencias; en el segundo, son las operaciones definidas
en el conjunto V).
Demostracin:
a) Existencia. La demostracin de que existe al menos una I que cumple esas
condiciones se hace por induccin sobre n (nmero de conectivas de las sentencias) y
teniendo en cuenta que toda sentencia tiene que estar construida segn las reglas de
formacin dadas en 2.2. Si A e S
n
, denotaremos 1(A) por I"(A):
* Para n = 0, i%4) = i(A)\
* Supuesto que existe /", definimos F'
+1
, as:
si A e S", r
+1
(~l A) = F(A);
si A, B e S", F
+1
(AkB) = r(A)kI"(B).
De este modo, hemos construido una aplicacin 7"
+1
que cumple las condiciones
impuestas, y que est definida para toda sentencia de S"
+1
.
b) Unicidad. 7
o
es nica, puesto que es igual a i. Y si 7" es nica, I"
+1
tambin lo
ser, puesto que se ha construido de manera nica.
Corolario: I est unvocamente determinada por i. Esto quiere decir que, dada una
interpretacin de variables proposicionales, puede calcularse la interpretacin de
cualquier sentencia construida con esas variables proposicionales.
3.2. Interpretaciones binarias
En el apartado anterior hemos definido el concepto de interpretacin de una
manera general, lo cual permite aplicarlo a lgicas en las qe las variables proposicio-
nales no se interpretan de manera dicotmica, sino que pueden tomar valores
intermedios entre verdadero y falso. Veremos algunos de estos tipos de lgica en
el Captulo 5. De momento, y hasta entonces, nos limitaremos a la interpretacin
clsica.
Lgica tie proposiciones 41
Definicin 3.2.1. Una interpretacin binaria es una interpretacin (i, V) (o su
extensin, {I, V)) en la que y tiene dos elementos, que llamaremos 0 y 1 y (adems
de otras que luego veremos), cinco operaciones definidas en l de la siguiente forma:
-1 (0) = 1; "I (1) = 0
0 A 0 0; 0 A 1 = 0; 1 A 0 = 0; 1 A 1 = 1
0 v 0 = 0 ; 0 v l = l ; l v 0 = l ; l v l = l
0>0 = 1; 0>1 = 1; 1>0 = 0; 1>1 = 1
0 * 0 = 1 ; 0 < * 1 = 0; 1 ^ 0 = 0; 1 ^ 1 = 1
Esta definicin de las operaciones es la misma que ya habamos visto y comentado
en el apartado 1.3. Lo que hemos hecho ahora ha sido formalizar (y generalizar al
caso no binario). Por ejemplo, si P = {p, q}, tendremos cuatro interpretaciones
binarias posibles, las que dimos en el apartado 1.3. Pero si V es un conjunto con ms
de dos elementos, entonces tendremos ms interpretaciones, como veremos en el
captulo 5 (apartado 3).
En el caso de interpretacin binaria, si consideramos, por ejemplo, la sentencia
p v q, la extensin de aplicada a esta sentencia, de acuerdo con la construccin
definida en la demostracin del teorema 3.1.4 ser:
hip v q) = h(p) v h(q) - kip) v i(<?) = 0 v 1 = 1
e igualmente podran calcularse todas las interpretaciones dadas en la tabla del
apartado 1.3.
Si card(P) = n, entonces habr 2" interpretaciones binarias de las variables
proposicionales, i\ P > {0, 1} (j = 0, ..., 2"
_1
), y, para cada una de ellas, cualquier
sentencia A tendr una interpretacin, Ij(A).
3.3. Tautologas y contradicciones
Definicin 3.3.1. Diremos que una sentencia A es urta tautologa si (V/
;
)
(Ij(A) = 1). Utilizaremos la notacin 1= A para indicar que A es una tautologa.
Definicin 3.3.2. Diremos que una sentencia A es una contradiccin si (Vi))
(Ij(A) = 0).
Con las interpretaciones binarias que estamos considerando, y por definicin de la
operacin en el conjunto V = {0, 1}, si 1= A, entonces "1 A es una contradiccin, y
viceversa: si A es una contradiccin, entonces t= (~1 A). Por ejemplo, como puede
comprobarse fcilmente (~l p v p) es una tautologa, y ~1 (~l J? v p) es una contra-
diccin. Del mismo modo ("1 p A p) es una contradiccin, y "1 ("1 p A p) una
tautologa.
42 Lgica
3.4. Completitud y consistencia de un sistema axiomtico
Ahora podemos expresar con mayor rigor algo que definamos en el apartado 1.5:
Definicin 3.4.1. Diremos que un sistema axiomtico es completo si toda senten-
cia A que sea una tautologa es tambin una tesis. Es decir, para toda A, si I-A,
entonces I-A.
Definicin 3.4.2. Diremos que un sistema axiomtico es consistente si toda senten-
cia A que sea una tesis es tambin una tautologa. Es decir, para toda A, si I-A,
entonces 1= A.
En particular, puede demostrarse que el sistema PM, con la interpretacin binaria
que hemos definido, es completo y consistente. El lector puede comprobar, por
ejemplo, que tanto los axiomas como los teoremas que hemos demostrado o citado
son tautologas.
3.5. Equivalencia entre sentencias
Definicin 3.5.1. Dados un conjunto de variables proposicionales P y una senten-
ci ad construida con ellas, diremos que una determinada interpretacin ij satisface A si
(y slo si) Ij(A) = 1.
Definicin 3.5.2. Dadas dos sentencias A y B construidas con las mismas variables
proposicionales, P, diremos que A es equivalente s B, y escribiremos A = B, s' (y slo
si) (Vi}) (lj() = Ij(B)). Es inmediato comprobar que la relacin es, en efecto, una
relacin de equivalencia, es decir, que es reflexiva, simtrica y transitiva.
Como ejercicio, l lectqr puede comprobar que las equivalencias indicadas en los
apartados 2.3 y 2.4 cumplen los requisitos de esta definicin.
Como toda relacin de equivalencia, = particiona al conjunto (infinito) de
sentencias construidas con n variables en un conjunto de clases de equivalencia,
E = S/=. Si el nmero de interpretaciones diferentes de las variables proposiciona-
les es finito (lo cual ocurre si Fes finito), entonces E es tambin finito. Por ejemplo,
con n = 2 (dos variables proposicionales, p y q) y con V = {0, 1} resultan 16 clases de
equivalencia, E
2
= {C
0
, Cj, ..., C
15
} cuyas interpretaciones son las siguientes:
p <7
a) Cl Cl C3 C4 C5 C6 Cl C8 C9 CIO c u C12 C13 C14 C15
0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
0 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
1 1 0 i 0 1 0 1 0 1 0 1 0 1 0 1 0 1
As, todas las sentencias cuyas cuatro interpretaciones sean las de la clase C
{
(p A q, (~| p v ~l q), p > ~1 q, etc.) son equivalentes en re s.
Lgica tie proposiciones 43
Teorema 3.5.3. A = B si y slo si I- (A <-> B). Es decir, las sentencias A y B son
equivalentes si y slo si la sentencia A B es una tesis.
Demostracin:
a) Si I- (A -> B) y el sistema axiomtico es consistente, entonces 1= (A - B), es
decir, A <- B es una tautologa. Por definicin del bicondicional, A <H> B es verdadera
(y slo es verdadera) si A y B son ambas verdaderas o ambas falsas. Por tanto, si
A <r-> B es una tautologa (verdadera para todas las interpretaciones), entonces A y B
han de tener las mismas interpretaciones para todas y cada una de las interpretaciones
de las variables proposicionales. Y sta es precisamente la definicin de equivalencia
entre A y B. Concluimos as que si I- (A *- B), entonces A = B.
b) Si A = B, por la misma definicin 3.5.2. y por la definicin del bicondicional,
1= (A *-*B). Y si el sistema axiomtico es completo ello implica que h (A B).
Concluimos as que si A = B, entonces \- (A B).
3.6. Las conectivas binarias
Hasta ahora venimos utilizando cuatro conectivas didicas o binarias (binarias, en
el sentido de que enlazan dos variables proposicionales; adems, e independiente-
mente de ello, estamos considerando interpretaciones binarias, en el sentido de que
V = {0, 1}). Hemos visto que, gracias a algunas equivalencias (apartado 2.4), pode-
mos limitarnos a usar una sola de ellas, junto con la negacin. Pero tambin podemos
hacer lo contrario: definir nuevas conectivas. Veamos cuntas. Si comparamos la
tabla del apartado 1.3, en la que se defina el significado de las conectivas utilizadas,
con la tabla del apartado anterior, en la que se muestran las interpretaciones de las 16
clases de equivalencia de las sentencias construidas con dos variables proposicionales,
vemos inmediatamente que las conectivas A, v, y <H> se corresponden con
las clases de equivalencia C
u
C
7
, C
13
y C
9
, respectivamente. Y para cada una de las
otras doce clases podemos definir una nueva conectiva binaria. Por ejemplo, C
6
correspondera a la disyuncin exclusiva, para la que a veces se utiliza el smbolo .
Las equivalencias dadas en el apartado 2.4 nos permitan representar las clases de
equivalencia C
t
, C
13
y C
9
rpediante sentencias que slo utilizan las conectivas ~1 y
v. Lo mismo puede hacerse para las otras clases. Por ejemplo, la clase C
0
se
representara mediante "1 (p v ~1 p), la C
2
mediante 1 ("I p v q), etc. Igualmente,
podramos trabajar con la pareja ~1, A, O con la ~1, -, etc. Pero tambin es
posible representar cualquier clase de equivalencia utilizando solamente una conecti-
va. Ello puede hacerse con dos de las diecisis conectivas binarias:
a) La incompatibilidad, o negacin alternativa, o NAND, que corresponde
a la clase C
14
, y que representaremos con el smbolo |.
b) La negacin conjunta, o OR, que corresponde a la clase C
8
, y que
representaremos con el smbolo | .
Por ejemplo, las equivalencias que permiten sustituir a las conectivas ms utiliza-
das por una cualquiera de stas son:
44 Lgica
Para C
12
: ~^p=p\p=p i P
Para C
x
: p A q = (p \ q) | (p \ q) = (p j p) i (q j q)
Para C
7
: p v q = (p | p) \ (q \ q) = (p j q) i (p j q)
Para C
13
: p q = p \ (q \ q) = {{p | p) | q) | ((p j p) | q)
Para C
9
: p <H> q = ({p | p) \ (q \ q)) | (p | q) = (p l (q | q)) | ((p i p) | q)
Estas equivalencias, que en lgica tienen un inters puramente terico, son de
utilidad en las aplicaciones a circuitos de conmutacin, como veremos en el captulo 3.
4. MODELO ALGEBRAICO DE LA LGICA DE PROPOSICIONES
4.1. Algebra de Boole de las interpretaciones binarias
Recordemos que un lgebra de Boole es una estructura
(B, +,-,")
formada por un conjunto de base,_B, con tres operaciones definidas en l, suma (+),
producto () y complementacin ( ), tales que se cumplen los siguientes axiomas:
Al : B es cerrado para las tres operaciones (es decir, si , b e B, entonces
a e B, a + b 6 B y a b e B).
A2: Existen dos elementos neutros:
3d e B tal que Va e B, a + = a
31 e B, tal que Va e B, a 1 = a
A3: Todo elemento a tiene un simtrico a tal que:
a + = l ' y f l - f l = D
A4: Las operaciones suma y producto son conmutativas:
Va, b B,
a -
1
- b = b + a
a b = b a
A5: Las operaciones suma y producto son asociativas:
Va, b, c e B,
a + (b + c) = (a + t) + c
a (b c) = (a b) c
Lgica tie proposiciones 45
A6: La suma es distributiva con respecto al producto, y viceversa:
Va, b,ceB,
a + (b c) = ( + t) (a + c)
a (b + c) = (a t) + (a c)
Teniendo en cuenta esta definicin, se pueden demostrar teoremas o leyes
(utilizando la sustitucin como regla de transformacin), como:
Idempotencia:
Va G B,
a + a = a
a a = a
Absorcin:
Va, 6 e B,
a + 1 = 1
a G = 0
a + a b = a
a (a + b) = a
De Morgan".
Va, b e B,
a + b =_a b
a b = a + b '
etctera.
Las operaciones ~1, v y A definidas para la interpretacin binaria (Defini-
cin 3.2.1) cumplen, como es fcil comprobar, los axiomas del lgebr de Boole para
el conjunto V = {0, 1}, con G = 0 y 1 = 1. Por tanto,
<{0,1}, v, A, "I)
tiene estructura de lgebra de Boole.
Pero hay algo ms interesante: la estructura de lgebra de Boole de las sentencias,
o, con mayor rigor, de las clases de equivalencia entre sentencias.
4.2. Algebra de Boole de las clases de eqivalencia entre sentencias
Veamos, en primer lugar, que si A = A', entonces "1 A = A'. En efecto, lo
primero, por definicin de equivalencia, es lo mismo que decir que (Vij)(Ij(A) =
Ij(A')) y, por tanto (Vi,)(T I(A) = ~1 / / A' ) ) , de donde (por definicin de 7):
46 Lgica
(V/y)(/
y
(~l A) = I(~1 A'), es decir, ~l A = ~1 A'. Esto nos permite decir que si A
u
A
2
, ... estn en la clase de equivalencia C entonces A
ly
1 A
2
, ... estn todas en
otra clase de equivalencia, a la que llamaremos C.
Del mismo modo, se demuestra que si A = A' y B = B', entonces
(A k B) = (A' k B'). Ello nos permite decir que si A
u
A
2
, ... estn todas en la clase
de equivalencia C, y B
u
B
2
, ... estn todas en la clase de equivalencia C, entonces
todas las sentencias formadas por una sentencia cualquiera del primer grupo y otra del
segundo unidas por una conectiva binaria, A
{
k B
m
, estarn en una misma clase de
equivalencia, a la que llamaremos C k C.
De este modo, hemos definido las operaciones ~l, v, A, etc., en el
conjunto E = S
n
l= de las clases de equivalencia de las sentencias con n variables
proposicionales. (Obsrvese que ahora utilizamos los mismos smbolos con un tercer
significado: operaciones en el conjunto E
n
\ los otros dos significados son los que
recordbamos en la nota que acompaaba al Teorema 3.1.4).
Ahora es fcil comprobar que E
n
junto con , v y a satisface los axiomas
del lgebra de Boole con los elementos neutros = C
0
(clase de equivalencia
correspondiente a las contradicciones) y 1 = C
N
(clase de equivalencia correspon-
diente a las tautologas, en la que el subndice N depende del nmero de clases de
equivalencia que se formen en la particin, que, a su vez, depende del conjunto de
valores semnticos, V{ en el caso de que V = {0, 1}, sabemos que N = 2
2
"). Compro-
bmoslo para uno de los axiomas, por ejemplo, el que se refiere a la existencia de
elementos simtricos (A3):
Tendremos que demostrar que, para todo C, se verifica que C v C = C
N
y
C A Q = C
0
. Sabemos que dada una sentencia cualquiera de un C cualquiera,
A e C
h
se cumple que A e ~1 C, que A v A es una tautologa, y, por tanto
(4 v l A ) e C
N
, y que A A ~1 A es una contradiccin y, por tanto
(A A A) e C
0
. Pero, por otra parte, tal como se han definido las operaciones en
E, tambin sabemos que (A v ~1 A) e (C, v C) y que (A A 1 A) e (C A ~1 C).
Ello nos permite concluir que C, v Q = C
N
y C, A 1 C
;
= C
0
.
Como consecuencia de la estructura de lgebra de Boole de la lgica de proposi-
ciones, las transformaciones que estudiaremos en el captulo 3 y que aplicaremos a los
circuitos ^formas cannicas, formas mnimas, etc.), son tambin aplicables a las
sentencias de la lgica de proposiciones.
4.3. Dos teoremas del lgebra de Boole
Los dos teoremas que vamos a enunciar (omitiendo su demostracin, que exige el
recurso a ciertos conceptos, como relaciones de orden parcial, que ya desbordan el
alcance de este libro) nos sern de utilidad en el captulo 3.
Definicin 4.3.1. Dada un lgebra,de Boole {B, +, , ), se llama elemento
atmico a cualquier b e B (b + 0) tal que para todo a e B se cumple que o bien,
a b = 0 o bien, a b = a.
Teorema 4.3.2. Dada un lgebra de Boole (B, +, , ) cuyos elementos atmicos
Lgica tie proposiciones 47
son bi, b
2
, ..., b
n
, todo a e B (a 0) puede expresarse de manera nica como suma
de elementos atmicos:
a = b
a
+ b
p
+ ... + b
y
(l<a, j8,
Por ejemplo, supongamos n = 2, es decir, consideremos las sentencias que pueden
formarse con dos variables proposicionales, p y q, y centrmonos en la interpretacin
binaria ( y = {0, 1}). Sabemos que en este caso hay 16 clases de equivalencia, cuyas
interpretaciones son las dadas en el apartado 3.5. Los elementos atmicos sern
aquellas clases cuyas interpretaciones sean siempre 0 excepto para una sola inter-
pretacin de p y q, es decir (vase la tabla del apartado 3.5), C\, C
2
, C
4
y C
8
. Puede
comprobarse, en efecto, que el resultado del producto (conjuncin) de cualquier otra
clase por una de stas es siempre sta misma o C
0
. Y tambin que cualquier otra clase
(salvo C
0
) puede expresarse como suma (disyuncin) de varios elementos atmicos:
Cu = Ci + C
2
+ C
8
, etc.
Definicin 4.3.3. Dos lgebras de Boole, (B
u
+
1(
-j,
1
) y (B
2
, +
2
, -
2
, ~
1
) son
isomorfas si existe una aplicacin biyectiva h: B\ B
2
tal que se cumple:
(Vfl BiXM*
1
) = W f )
(Vfl, b e B)(h(a +
x
b) = h(d) +
2
h(b)
(Va, b e Bi)(fc(a -i b) = h(a) -
2
h(b)
Teorema 4.3.4. Dos lgebras de Boole que tengan el mismo nmero de elementos
(card(Bi) = card(B
2
)) son isomorfas.
5. SISTEMAS INFERENCIALES
5.1. Anlisis y generacin de razonamientos
La lgica es, entre otras cosas, una herramienta para analizar los procesos de
razonamiento que habitualmente se expresan en el lenguaje ordinario. Pero dada la
diversidad de matices del lenguaje, no puede pensarse en una traduccin automtica
al lenguaje lgico-formal (al menos, no todava; esto est ntimamente relacionado
con uno de los campos de investigacin en inteligencia artificial, el del procesamiento
del lenguaje natural). Ahora bien, una vez obtenida la traduccin formalizada de un
determinado proceso de razonamiento, puede analizarse ste, y puede completarse
con nuevas conclusiones de modo automtico.
En la presentacin del Ejemplo 1.4.2 veamos que los razonamientos pueden
formalizarse como sentencias condicionales cuyo antecedente es la conjuncin de las
premisas y cuyo consecuente es la conclusin, y que la condicin necesaria y suficiente
para que el razonamiento sea vlido es que la sentencia as formada sea una tautologa
(o, equivalentemente, una tesis). Esto nos permite analizar razonamientos, pero no
obtener conclusiones de modo automtico. Lo que necesitamos ahora no es un
48 Lgica
sistema axiomtico con el que podemos demostrar, por ejemplo, que (- A, sino un
procedimiento para que, dadas P
u
P
2
, ..., podamos obtener C, C
2
, ..., tales que
\-(P
1
aP
2
A...^C
1
)
h (P! A P
2
A ... C
2
)
Es decir, expresado en otros trminos, lo que queremos no es poder demostrar
teoremas a partir de unos axiomas, lo cual tiene un inters puramente terico, sino
poder derivar conclusiones a partir de unas premisas que no son tautologas, pero que
sabemos (o suponemos) que son verdaderas en una determinada situacin.
Pues bien, si disponemos de un repertorio de teoremas que tengan la forma A
X
A
A
2
A ... B, podemos pensar en el siguiente procedimiento: elegir una tesis tal que
su antecedente se ajuste exactamente a una premisa o a la conjuncin de dos o ms de
ellas; aplicndolo, obtenemos como conclusin el consecuente de la tesis, qe se
aade al conjunto de premisas, y repetir el proceso hasta que ya no puedan obtenerse
ms conclusiones.
Llamaremos inferencias a los procesos mediante los cuales obtenemos una conclu-
sin a partir de unas premisas de modo tal que el razonamiento es vlido. Una regla de
inferencia ser la declaracin de las condiciones bajo las cuales puede hacerse una
inferencia, as como del resultado de la misma.
Por ejemplo, consideremos un razonamiento que se formaliza as:
[(P "1 0 A ("I q r)] (p r);
Para analizar tal razonamiento y averiguar si es correcto, hemos de ver que la
sentencia es un teorema, o, equivalentemente, que es una tautologa. Es decir,
podemos proceder de dos maneras:
) Tratando de demostrar la sentencia en el sistema axiomtico. (En este caso,
basta aplicar la sustitucin (~1 qlq) en la primera de las leyes de transitividad
dadas en el apartado 2.5.6).
b) Construyendo la tabla de verdad, para ver si la sentencia es una tautologa, que
es lo que hacamos en los ejemplos del apartado 1.4. Esta forma podra
parecer, en principio, ms fcil, pero obsrvese, que, por ejemplo, el teorema
[(Pi^Pi) A (p
2
-> Pl) A ... A (pg PO)] * (pi * Po)
requerira una tabla de 2
10
= 1.024 lneas (una por cada interpretacin del
conjunto de variables proposicionales).
Pero lo que ms nos interesa no es el anlisis del razonamiento, sino su generacin.
En este caso, dadas las premisas.
Pi.p^nq
P
2
: l.q^r
Lgica tie proposiciones 49
qu conclusin (o conclusiones) podemos obtener? Pues bien, dado que la sentencia
anteriormente escrita es un teorema en forma de condicional que tiene como
antecedente la conjuncin de y P
2
, podemos afirmar como conclusin el conse-
cuente:
C: p > r
5.2. Leyes y reglas de inferencia
Por lo que acabamos de ver, a toda tesis (o ley) del clculo proposicional que tenga
la forma P\ A P
2
A ... > C puede hacrsele corresponder una regla de inferencia. (Y
tambin, desde luego, a cada axioma, aunque ninguno de los del sistema PM tienen
esa forma). -
Pero ley y regla no son la misma cosa. La diferencia es lingstica: una ley, o
teorema, pertenece al lenguaje del clculo, y representa a una regla o esquema vlido
de inferencia; la regla, entonces, pertenece al metalenguaje del clculo.
Por ejemplo, la ley de modus ponens es:
\p A (p q)] q
o bien, si A y B son sentencias, utilizando la sustitucin {A/p, B/q},
[A a (A B)] B
La correspondiente regla de inferencia se expresara as:
-De A y de A > B puede inferirse B\
'Puede inferirse' pertenece al metalenguaje del clculo y establece una relacin de
deducibilidad que sera abusivo representar por >, porque este ltimo smbolo
pertenece al lenguaje. Por ello, la forma habitual de simbolizar esa regla de inferencia
es la siguiente:
A
A^B
B
Ntese que, aun guardando cierta relacin, esta regla de inferencia no es exacta-
mente igual qu la regla de transformacin RT3 (regla de separacin). En efecto, esta
ltima dice: 'si A y A B son tesis (o sea, siempre son verdaderas), B tambin lo es',
mientras que la regla de inferencia correspondiente al modus ponens dice: 'en el caso
de que tanto A como A B sean verdaderas, B tambin lo es'.
La generalizacin para escribir cualquier regla de inferencia es evidente: cada
condicin se escribe en una lnea, y la conclusin en una final, bajo una raya. El lector
no tendr dificultades para escribir en esta forma, por ejemplo, las reglas correspon-
50 Lgica
dientes a las leyes de modus tollens, de transitividad, de inferencia de la alternativa,
del silogismo disyuntivo y del dilema constructivo, dadas en el apartado 2.5.6.
En los tratados de lgica se presentan conjuntos seleccionados de reglas de
inferencia bajo el nombre de sistemas de deduccin natural. El problema para su
aplicacin en un sistema automtico es que, para cada problema, es preciso tener una
cierta habilidad o conocimiento (que se expresara en forma de metarrglas) para
saber en qu orden aplicar las reglas y a qu premisas. Ms adelante veremos una
formulacin que permite trabajar con una sola regla de inferencia. En cualquier caso,
el conjunto de reglas que se utilicen debe ser consistente, y, a ser posible, completo.
(Por razones prcticas, en los sistemas pensados para programarse en ordenador a
veces se sacrifica la completitud en ar^s de la eficacia). Estos conceptos son paralelos
a los definidos para un sistema axiomtico^ As como un sistema axiomtico es
completo si toda tautologa es una tesis, un sistema inferencial lo es si toda conclusin
de un razonamiento correcto puede inferirse; y as como un sistema axiomtico es
consistente si toda tesis es una tautologa, un sistema inferencial lo es si toda
inferencia corresponde a un razonamiento correcto. Vamos a precisarlo con algo ms
de detalle.
5.3. Inferencia y deduccin
Haremos aqu una distincin entre dos trminos que en el lenguaje normal se
consideran sinnimos. Ya hemos definido el concepto de inferencia (apartado 5.1): un
proceso consistente en aplicar ciertas reglas a unas premisas para obtener una
conclusin. Tambin hemos dicho (Definicin 3.5.1) que una interpretacin ij satisfa-
ce a una sentencia A si (y slo si) I{A) = 1.
Definicin 5.3.1. Una sentencia C (conclusin) se deduce de un conjunto de
sentencias P
lt
P
2
, ..., P (premisas) si (y slo si) toda interpretacin que satisface P\
A P
2
A ... A P tambin satisface C.
La condicin (necesaria y suficiente) que establece esta definicin para que C sea
deducible equivale a decir que la sentencia [(Pi A P
2
A ... A P) > C] ha de ser una
tatloga, criterio que era, precisamente, el que utilizbamos en el apartado 1.4 para
analizar razonamientos.
Ilustremos esta diferencia entre inferencia y deduccin reconsiderando el Ejemplo
1.4.3. Tenamos las premisas:
Pl : c>s
P2 : s <r+ m
Pl puede descomponerse en:
P2a: s - > l m
P2b: H m-^s
Lgica tie proposiciones 51
(Porque (S l m ) ^ ( i - > l / ) A ( 1 M- > S) es un teorema, y, por tanto, P2 y
P2a A P2b son equivalentes).
De acuerdo con las leyes de transitividad (apartado 2.5.6), una regla de inferencia
es:
A>B
C
A C
Aplicndola a las premisas Pl y Pa se infiere la conclusin:
C : m
Lo que hacamos en la exposicin del Ejemplo 1.4.3 era ver que la sentencia
(Pl A P2) C es una tautologa, es decir, comprobar que C se deduce de Pl y Pl.
Es C la nica conclusin que puede deducirse? No, porque, segn nuestra
definicin, basta con que una sentencia se satisfaga para todas las interpretaciones que
satisfacen a las premisas para que tal sentencia sea una conclusin, siendo indiferente
lo que ocurra con las otras interpretaciones. Rehaciendo la tabla de verdad, podemos
poner en ella diversas conclusiones:
c s m Pl P2 , PL A 11 c c c
0 0 0 1 0 0 i 1 0
0 0 1 1 1 1 ^ 1 1 1
0 1 0 1 1 1 1 1 1
0 1 ' 1 1 0 0 1 1 1
1 0 0 0 0 0 1 0 0
1 0 1 0 1 0 0 0 1
1 1 0 1 1 1 1 1 1
1 1 1 1 0 0 0 0 1
C : c --> ~l ra
C : c s A RA
C':~\ .v > ra
C": m*..~\c
etctera.
Y, en general, se deduce cualquier sentencia que se satisfaga para i
y
i
2
e i
6
. (Entre
ellas habr muchas conclusiones triviales, como las propias premisas, la conjuncin de
las mismas, etc., y, desde luego, cualquier tautologa: segn la definicin de deduc-
cin, toda tautologa se deduce de cualquier conjunto de premisas).
Pero C", C", C", etc., tambin pueden obtenerse por inferencia: C' se infiere de Pl
y de C (por la regla de inferencia que corresponde al teorema (p > q) A (p > r)
(p > q A r)); C, de Pa (teorema: (p > <7) > ( I > 1 p)); C", de C, etc.
52 Lgica
5.4. Completitud y consistencia de un sistema inferencial
Definicin 5.4.1. Un sistema inferencial es un conjunto de reglas de inferencia
junto con unas metarreglas que especifican cmo se aplican las reglas. Estas metarre-
glas constituyen la estrategia del sistema: orden de aplicacin de las reglas, orden de
eleccin de las premisas, orden en que se aaden las conclusiones a las premisas para
obtener nuevas conclusiones, etc.
Definicin 5.4.1. Diremos que un sistema inferencial es completo si, para cual-
quier conjunto de premisas, el sistema infiere toda conclusin que pueda deducirse de
las premisas.
Definicin 5.4.2. Diremos que un sistema inferencial es consistente si, para
cualquier conjunto de premisas, toda conclusin que infiera el sistema tambin se
deduce de las premisas.
Teorema 5.4.3. Todo sistema inferencial cuyas reglas de inferencia se puedan
formalizar como tesis de un sistema axiomtico consistente es un sistema inferencial
consistente.
Demostracin:
Sean P
1
, P
2
, ..., P las premisas y C la conclusin de una regla de inferencia
cualquiera. La hiptesis del teorema establece que:
h[(P! A P
2
A ... A P) - - q
Y como el sistema axiomtico es consistente, esto implica que:
1= [(PI A P
2
A . . . A P
n
) C]
Ello significa que toda interpretacin que satisfaga (P
1
A P
2
... A P
n
) tambin
satisface C (porque si en algn caso no fuese as, el condicional se interpretara como
falso y la sentencia no sera una tautologa), y, por definicin de deduccin, que C se
deduce de las premisas. Cojno todas las inferencias se obtienen por aplicacin de las
reglas de inferencia, y lo anterior es vlido para cualquier regla de inferencia,
concluimos que toda sentencia que pueda inferir el sistema se deduce de las premisas.
5.5. Forma clausulada de la lgica de proposiciones
La regla de inferencia que veremos en el apartado 5.7 se aplica nicamente a una
forma especial de sentencias, pero vamos a ver que toda sentencia de la lgica de
proposiciones puede expresarse de modo equivalente en esa forma.
Lgica tie proposiciones 53
Definicin 5.5.1. Una clusula es una sentencia de la forma:
h v l
2
v ... V l
Es decir, una clusula es una disyuncin de literales (recurdese que un literal es
una variable proposicional sola o con la negacin). Por ejemplo: ~\pvq,pvqvr,
p v ^ q v r v l s , etc.
Definicin 5.5.2. Diremos que una sentencia est en forma clausulada si tiene la
forma:
(11 V L
12
V ...) A (L
21
V L
22
V ...) A ...
Es decir, una sentencia en forma clausulada es una conjuncin de clusulas.
Dado que las operaciones de conjuncin y disyuncin son asociativas y conmutati-
vas, podemos decir que:
a) una clusula es una coleccin de literales (implcitamente unidos por disyuncio-
nes); y
-b) una sentencia en forma clausulada es una coleccin de clusulas (implcitamen-
te unidas por conjunciones).
Teorema 5.5.3. > Para toda sentencia de la lgica proposicional existe una sentencia
equivalente en forma clausulada.
Demostracin:
La demostracin ser constructiva, es decir, vamos a ver un procedimiento para
pasar cualquier sentencia' a forma clausulada. Supondremos que en la sentencia
original no se utilizan ms qu las cuatro conectivas binarias ms conocidas. (Ya
sabemos ique cualquiera otra puede expresarse en funcin de una de ellas y de la
negacin). El procedimiento, que, naturalmente, se basa en teoremas de tipo equiva-
lencia, consta de tres pasos:
1. Eliminacin de condicionales y bicondicionales mediajite las equivalencias
derivadas de la definicin de ambos;
(A B) (N A v B) A (A v 1 B)
2. Introduccin de negaciones de modo que queden afectando slo a variables
proposicionales, mediante aplicacin sucesiva de las equivalencias derivadas de las
leyes de de Morgan:
N (A A B) ** ~l A v 1 B
1 (A v B) VI A A 1 B
54 Lgica
as como de:
~1 A A
Con ello, se habr llegado a una sentencia formada por literales unidos por las
conectivas V y A.
3. Paso a forma clausulada, distribuyendo a sobre v mediante la equivalen-
cia:
[041 A A
2
) v A
3
] <H> [(A
1
v A
3
) A (A
2
v A
3
)]
Con frecuencia, la forma obtenida puede simplificarse. As, si dentro de una
clusula aparece dos o ms veces el mismo literal, se escribe una sola vez (/ v / v l v
... <-/); si aparece un literal y su complementario (p v p), la clusula es una
tautologa, y puede eliminarse del conjunto de clusulas; si hay dos o ms clusulas
idnticas, se escribe una sola de ellas.
Por ejemplo, pasemos a forma clausulada la sentencia:
"1 { [ O A [(q v r) A (1 q A H r)]}
"I {"1 [n (p A q) v p] v [(q v r) A (~I q A r)]}
[1 (p A q) v p] A 1 [(q v r) A ( 1 q A 1 r)]
[(~Vp v l g ) v p ] A [H (q V r) v ( I F A r)]
[~1 p v 1 q v p] A [(~1 q A 1 r) v (q v r)]
1
[ 1 p v q v p] A [(~1 q v q v r)] A [~1 r v q v r]
En este ejemplo, cada una de las tres clusulas obtenidas es una tautologa,
indicando as que la sentencia original era un teorema. De acuerdo con las reglas de
simplificacin, las tres clusulas pueden hacerse desaparecer, pero, para no confundir
con la clusula vaca, que, como veremos luego, corresponde a todo lo contrario (una
contradiccin), representaramos el resultado final como la nica clusula 1 p v p.
Definicin 5.5.4. Diremos que trabajamos en la forma clausulada de la lgica
cuando expresamos todas las sentencias en forma clausulada.
La forma clausulada es ms concisa (aunque menos natural) que la forma
estndar de la lgica. Por ejemplo, las seis sentencias:
p A q > r\ p A r > q\ q A I r > p\
p 1 q v r; q " p v r; I r > p v 1 q;
se escriben en forma clausulada de la misma manera:
p v q v r
Sin embargo, aunque este ejemplo pueda inducir a pensar lo contrario, la forma
1.
2.
3.
Lgica tie proposiciones 55
clausulada no es nica: pueden existir sentencias que estn en formas clausuladas
diferentes y que sean equivalentes. Para ilustrarlo, consideremos esta sentencia:
( p ? ) A l ( / ) A 5 A r )
La aplicacin del mtodo expuesto nos conduce a la forma clausulada:
p p v q) A (p v ~l q) A p p v ~t q v ~1 r)
Y, como puede comprobarse fcilmente, estas otras dos formas clausuladas son
equivalentes a ella:
p p v q) A (p v 1 q) A p p v r)
p p v q) A (p v 1 q) A (~l q v ~l r)
5.6. Las clusulas como sentencias condicionales
Dada una clusula cualquiera, ^ v l
2
v ..., podemos hacer otras transformaciones,
basadas tambin en equivalencias, que nos permiten escribirla como una sentencia
condicional. Para ello, escribimos primero los literales negativos y luego los positivos:
H p
l
v n p
2
v ... v p
k
v q
x
v q
2
v ... v
Por la generalizacin de una de las leyes de de Morgan, psta sentencia es equivalente
a:
(J>! Ap
2
A ... Ap
k
) V q! V q
2
V ... V q
m
Y por la ley ( 1 A v B) (A 5), esta otra sentencia tambin es equivalente:
pi A p
2
A ... A p
k
q
x
v q
2
v ... V q
m
Con esta nueva escritura vemos que la interpretacin metalgica de una clusula
es: si se dan como antecedentes todos los literales negativos, entonces se siguen
como consecuentes uno o varios de los literales positivos.
Hay algunos casos particulares de clusulas que tienen un inters especial en las
aplicaciones:
a) Clusulas de Horn con cabeza. Son las que slo tienen un literal positivo:
( l p
1
V l p
2
V . . . V l f t V ? ) = (p
1
A p
2
A ... A p
k
-+ q)
b) Clusulas de Horn sin cabeza. Son las que no tienen ningn literal positivo:
P PL V I FTV ... V 1 p
k
) = (PI A p
2
A ... A PFC)
56 Lgica
En este caso, las variables proposicionales p
lt
p
2
, Pk son incompatibles, es
decir, no es posible que sean todas verdaderas.
c) Las que no tienen ningn literal negativo:
(qi v <72 v ... v q
m
)
[Link] caso, al menos una de las variables es verdadera.
d) La clusula vaca, A, en la que han desaparecido todos los literales, y que, como
veremos, aparece en la inferencia cuando las premisas son incompatibles.
5.7. La regla de resolucin
Definicin 5.7.1. La regla de inferencia llamada resolucin se aplica a dos
premisas en forma de clusulas, tales que tengan en comn un literal positivo en una y
negativo en otra, y a las que llamaremos generatrices. La inferencia consiste en
construir otra clusula, llamada resolvente, formada por la disyuncin de todos los
literales de las generatrices salvo el comn.
Por ejemplo:
P v q
~1 p v r v s
~l q v r v s
Como toda regla de inferencia, la resolucin se fundamenta en una tesis, concreta-
mente, en
h [ p p v A) A (p v B) -H> (A v 5)]
que es una generalizacin de las leyes de inferencia de la alternativa. Por consiguien-
te, de acuerdo con el Teorema 5.4.3, todo sistema inferencial basado en la resolucin
ser consistente.
Las reglas de inferencia clsicas pueden expresarse como resoluciones, si
previamente se escriben las premisas en forma clausulada. Por ejemplo:
* Modus ponens: A
A^> B
B
Resolucin: A
A v B
B
* Modus tollens : ~1 B
A>B
1 A
Lgica tie proposiciones 57
Resolucin:
Transitividad
Resolucin:
N B
1 A v B
N A
A-* B
B-> C
A-+
Q
N A v B
N B v C
~\A v C
Para completar el sistema inferencial tenemos qu dar unas metarreglas, o un
procedimiento de aplicacin de la resolucin. El ms inmediato es el de la bsqueda
exhaustiva:
Definicin 5.7.2. Dadas n premisas en forma de clusulas, la bsqueda exhaustiva
consiste en aplicar la resolucin a todas las parejas posibles de clusulas, aadir las
resolventes al conjunto de clusulas, aplicar la resolucin a todas las nuevas parejas, y
as sucesivamente, hasta que en la aplicacin de la resolucin no se obtengan nuevas
resolventes.
Por lo dicho anteriormente (Teorema 5.4.3), el sistema es consistente, pero ser
completo? En principip, no lo es, porque, como sabemos, de dos premisas puede
deducirse ms de una conclusin, mientras que la resolucin slo produce una (la
resolvente). Ahora bien, si aplicamos repetidamente la resolucin (aadiendo toda
conclusin al conjunto de premisas) y considerando como inferencias no solamente las
resolventes que se van obteniendo, sino tambin todas las conjunciones en el conjunto
de premisas y resolventes, todas las clusulas que se obtienen por disyuncin de dos o
ms clusulas en ese conjunto y todas las conclusiones triviales (entendiendo como
tales las disyunciones de cualquier premisa o conclusin con cualquier literal; por
ejemplo, de la premisa p son conclusiones triviales p v qyp v "1 q), entonces
puede verse que se infieren todas las deducciones posibles. Vemosl con algunos
ejemplos.
Ejemplo 5.7.3. Consideremos de nuevo la sentencia estudiada al final del aparta-
do 5.5, y supongamos que corresponde a dos premisas:
Pl: (p*+q)
P2: "1 (p A q A r)
En forma clausulada:
Pa: (~l p v q)
Plb: (p -v ~\q)
Pl : O P v q v 1 r)
Si aplicamos la resolucin a Pa y a P2 obtenemos la resolvente:
Cl:- (1p v I r )
58 Lgica
Y aplicndola a Plb y P2,
Cl: (~\q v r)
Resolviendo con todas las parejas que pueden formarse con Cl, C2 y las premisas, se
puede comprobar que no se obtienen ms conclusiones. (Por ejemplo, la resolucin
de Cl con Plb conduce de nuevo a C2). Si se analizan todas las deducciones posibles
(construyendo la tabla de verdad) se comprobar que toda deduccin corresponde a
algn elemento del conjunto formado por estas cinco clusulas (Pa, Pl>, P2, Cl, Cl)
ms las conclusiones triviales (por ejemplo, de P a son conclusiones triviales
~\pvqvry~\pvqv~\r)oa una clusula formada por la disyuncin de dos o
ms d ellas, o a una conjuncin de dos o ms de ellas.
Ejemplo 5.7.4. En el apartado 5.3 veamos algunas conclusiones posibles de unas
premisas enunciadas en el Ejemplo 1.4.3. Las premisas en forma clausulada son:
Pl : 1 c v s
P2a: I s v l m
Plb: m v s
Resolviendo Pl y Pa,
C: 1 c v 1 m
De Pa y Plb se obtienen ~1 s v s, o m v m, que son tautologas, y de Plb y C,
1 c v i , que es Pl . Y, como puede comprobarse, todas las deducciones posibles
equivalen a conjunciones o disyunciones en el conjunt {Pl, Pa, Plb, C}. As, las
sealadas en el apartado 5.3:
C : c > s A "1 m es en forma clausulada (~l c v s) A (~l c v ~1- m), conjun-
cin de Pl y C. -
C: s m es en forma clausulada igual que Pa.
C": m 1 c es en forma clausulada igual que C.
Ejemplo 5.7.5. Apliquemos ahora la resolucin al ejemplo 1.4.4. Las premisas
son:
Pl : 1 j v 1 c
Pl: j v d
P3: s v c
De Pl y Pl, Cl: l c v l
De Pl y P3, Cl: 1 j v s
De Pl y Cl, Ci: 1 d v l s
El lector puede comprobar que no hay ms conclusiones (salvo disyunciones y
conjunciones de las premisas y las tres conclusiones obtenidas). Puede, asimismo,
analizar, las interpretaciones en forma de condicional de estas conclusiones. La que se
vea en el Ejemplo 1.4.4, ~1 d, es, puesta en forma clausulada, C3.
Lgica tie proposiciones 59
5.8. Refutacin
La refutacin es un procedimiento til cuando lo que se pretende no es generar
cuantas conclusiones sean posibles, sino comprobar si una determinada conclusin es
vlida o no.
Definicin 5.8.1. La refutacin consiste en comprobar que el conjunto de clusu-
las formado por las correspondientes a las premisas y la que procede de la conclusin
negada es una contradiccin, lo cual demuestra que la conclusin se infiere de las
premisas.
El fundamento de la refutacin es la ley de reduccin al absurdo (apartado
2.5.6). Si en ese teorema hacemos la' sustitucin {p/(P C)}, donde P = Pl A P2 A
... A Pn es la conjuncin de premisas y C la conclusin a comprobar, resulta:
o, lo que es lo mismo,
H {[(P A 1 C) (q A "I q)] ~ ( P ^ C)}
Es decir, (P C) es verdadera (y, por tanto, C es una conclusin) si (y slo
conjuncin de P y C resulta una contradiccin. '
Comprobemos que en el ltimo ejemplo que, vimos puede inferirse s
Pasemos primero su negacin a forma clausulada:
1 ( ^ 1 ) = ( 1 I V "1 d) = s A d
(es decir, resultan dos clusulas: s y d).
Apliquemos repetidamente la resolucin a {Pl, P2, P3, s, d):
De P2y d resulta como resolvente /;
De Pl y j resulta como resolvente c;
De P3 y ~1 c resulta como resolvente s\
Finalmente, de 71 s y s resulta una contradiccin (clusula vaca, A).
Una observacin final: si Pl A P2 A ... A Pn son ya de por s una contradiccin, la
resolucin con cualquier C generar siempre la clusula vaca, es decir, cualquier
conclusin es vlida, lo cal est de acuerdo con el significado del condicional, y es
consistente con la definicin de deduccin.
6. RESUMEN
En un sistema axiomtico se establecen unos axiomas (verdades indemostrables)
y unas reglas de transformacin que permiten demostrar teoremas o leyes. Los
si) de la
60 Lgica
axiomas y los teoremas son las tesis del sistema. Podemos ilustrar estas definiciones
con un diagrama de Venn:
El concepto de tautologa es semntico: una sentencia es una tautologa si su
interpretacin es verdadera para todas las interpretaciones posibles de las variables
proposicionales que la forman.
El sistema axiomtico es completo si toda tautologa es una tesis (t= A> I- A), y es
consistente si toda tesis es una tautologa (I- A 1= A).
En un sistema inferencial no se establecen axiomas, sino premisas, que son
sentencias supuestamente verdaderas en un determinado contexto, pero que no
tienen por qu serlo siempre. Una premisa puede ser, por ejemplo, una simple
variable proposicional. La idea es que, supuesto que las premisas sean verdaderas, el
sistema pueda inferir de ello conclusiones. El diagrama ahora podra ser este otro:
Lgica tie proposiciones 61
La conexin entre el sistema axiomtico y l sistema inferencial se produce porque
si de las premisas Pl , P2, ..., Pn se infiere la conclusin C, entonces la sentencia (Pl
A P2 A ... A Pn C) es una tesis, y viceversa. Por ello, toda tesis que tenga esa
forma da lugar a una regla de inferencia.
Decimos que una conclusin se deduce (a diferencia de se infiere) de unas
premisas si su interpretacin es verdadera para toda interpretacin que satisfaga a las
premisas (o sea, que haga verdadera a su conjuncin).
Un sistema inferencial es completo si toda conclusin que se deduce puede
inferirse, y es consistente si toda conclusin que se infiere puede deducirse.
En la forma clausulada de la lgica todas las sentencias se expresan como
colecciones (conjunciones) de clusulas, siendo stas colecciones (disyunciones) de
literales. La resolucin es una regla de inferencia que se aplica a dos clusulas
(generatrices) y, si tienen una pareja de literales complementarios, produce como
conclusin otra clusula (resolvente).
j
7. NOTAS HISTRICA Y BIBLIOGRFICA
Es bien sabido que la lgica, como ciencia del anlisis del comportamiento
racional, tiene una historia milenaria, y que fue, sobre todo, Aristteles quien sent
las bases de los desarrollos posteriores. De la lgica aristotlica se puede decir que era
formal (atenda a la forma de los razonamientos), pero no formalizada simblicamen-
te. Algunos filsofos medievales, entre los que cabe destacar al mallorqun Ramn
Llull, hicieron algunos avances hacia la formalizacin de la lgica, pero los trabajos
ms importantes en este sentido no se realizaron hasta finales del siglo pasado, cuando
Boole elabor su modelo algebraico de la lgica de proposiciones y Fregge formaliz
la de predicados, y principios de ste, cuando aparece, como obra culminante, el libro
de Whitehead y Russell (1910-1913).
Las conectivas de negacin alternativa y negacin conjunta fueron propuestas
por Sheffer en 1913, y en lgica tienen un inters puramente terico, y casi anecdti-
co. Sin embargo, como veremos en el prximo captulo, corresponden a funciones de
conmutacin tecnolgicamente importantes (que, respectivamente, se suelen llamar
NAND y OR en la literatura tcnica).
En los aos 60 se desarrollaron diversos mtodos orientados al procesamiento
automtico de las inferencias, de los que el ms conocido es el de resolucin, debido
a Robinson (1965). Lo que aqu hemos visto es la particularizacin a la lgica de
proposiciones de ese mtodo, que en el captulo 4 expondremos ya en su integridad.
Hay libros de introduccin a la lgica cuya lectura, adems de recomendable, es
muy amena. Destacamos el de Ferrater y Leblanc (1962) (donde se llama lgica
sentencial a lo que aqu hemos denominado lgica de proposiciones) y el de Deao
(1974) (donde se le llama lgica de enunciados). El Ejemplo 1.4.3 est tomado del
primero, y el 1.4.4 del segundo (Deao hace uso de este ejemplo, procedente de
Lewis Carroll, para ilustrar la necesidad de la lgica de predicados; aqu hemos visto
que tambin se puede formalizar en lgica de proposiciones, aunque abusando un
poco del lenguaje natural). En el libro de Deao nos hemos inspirado tambin para la
explicacin sobre el significado del condicional y la diferencia entre leyes y reglas
62 Lgica
de inferencia. El Ejemplo 1.4.5 es una adaptacin de otro similar de Gilbert (1976),
un libro sobre lgebra aplicada cuyo captulo 2 se dedica a la lgica y los circuitos
lgicos.
8. EJERCICIOS
8.1. Formalizar las siguientes frases como sentencias proposicionales, y analizar sus tablas de
verdad:
La verdad es una brjula loca que no funciona en este caos de cosas desconocidas
(Baroja).
Se puede conocer la utilidad de una idea y, sin embargo, no acertar a comprender el
modo de utilizarla (Goethe).
Ese lapso de tiempo, corto si se le mide por el calendario, es interminablemente largo
cuando, como yo, se ha galopado a travs de l (Kafka).
El mismo diablo citar a la Sagrada Escritura si viene bien a sus propsitos (Shakespea-
re).
8.2. Analizar los siguientes razonamientos:
Pl : 'Si no llueve, salgo al campo'.
P2: 'Si salgo al campo, respiro'.
C: 'Respiro s y slo si no llueve'.
Pl : 'Si un monte se quema, algo suyo se quema'.
P2: 'Algo suyo se quma s y slo si es usted descuidado'.
P3: 'Si usted no es descuidado, es acreedor a una felicitacin'.
C: 'Si usted no es acreedor a una felicitacin, entonces es que un monte se quema'.
Pl : 'Si un pas es una democracia, el Presidente del Gobierno se elige por sufragio
universal'.
P2: 'n Espaa, el Presidente no se elige por sufragio universal'.
C: 'Luego Espaa no es una democracia'.
El mismo anterior, modificando as la primera premisa:
Pl : 'Si el Presidente de un pas es elegido por sufragio universal, ese pas es una
democracia'.
8.3. Aplicar la resolucin y la refutacin a los anteriores razonamientos.
8.4. Aplicar la resolucin para inferir cuantas conclusiones sean posibles en los siguientes
casos, y comprobar los resultados con las deducciones que se obtienen de las tablas de
verdad:
) Pl: p <- q
P2: p* r
b) Pl : p * * q
P2: r - p
Lgica tie proposiciones 63
(Contrastar estos dos casos con el del Ejemplo 5.7.4).
c) Pl : p -> q
P2: r p
P3: 1 r -> 1 t
P4: 1 (s A H r)
P5 : l - s
d) Pl : p q v r
P2:
Captulo 3
CIRCUITOS LOGICOS
COMBINACIONALES
1. INTRODUCCIN
El hardware puede describirse y estudiarse en varios niveles de abstraccin. En el
ms bajo (nivel fsico-electrnico) se consideran los fenmenos fsicos bsicos y las
propiedades de los materiales (semiconductores, metales, dielctricos) que explican el
funcionamiento de los componentes electrnicos (resistores, diodos, transistores,
etc.).
!
n el siguierit (nivel elctrhico-circital) se hace abstraccin de tals
fenmenos: s da por supuesta la existencia ele ls componentes, con comportamiento
funcional conocido, y se estudian los circuitos que resultan d su intecnexin. Aqu
vamos a movernos en
;
el niveldeabstraccin inmediatamente superior (el nivel
lgico): supuesto que disponemos de unos circuitos bsicos, las puertas lgicas,
estudiaremos cmo pueden interconectarse para conseguir sistemas con determinado
comportamiento. En ste nivel, hacemos abstraccin tant d los detalles del nivel
fsico-electrnico colm de los del nivelelectrnico-circuital. Por ejemplo, uiia de
las cosas de las que haremos abstraccin ser el valor reade los potenciales elctricos.
En los circuitos digitas se pera siempre con slo dos valores diferentes de tensin.
Segn sea la tecnologa utilizada, as sern esos dos valores, que, en el nivel lgico, los
representaremos por los smbolos 0 y 1. El 0 podra corresponder, en el circuito
electrnico, a una tensin de 0 voltios (o, con mayor realismo, a un margen, por
ejemplo, de 0 a 1 voltios), y el 1 a 5 voltios (o al margen 3-6). Pero tambin podra
ser al revs (corresponder el 0 a 5 voltios y el 1 a 0 voltios), o podramos tener
otros valores u otros mrgenes de tensin totalmente diferentes. Nosotros considera-
remos perfectamente definido el comportamiento de los componentes bsicos (puer-
tas) mediante relaciones de entrada-salida que se refieren slo a los valores lgicos.
Hay dos ideas esenciales que conviene tener muy claras desde el principio para la
buena comprensin de este captulo:
65
66 Lgica
a) Cualquier punto de un circuito digital, en un instante determinado, slo puede
estar en uno de dos estados (tensiones o mrgenes de tensin) determinados:
no hay estados intermedios.
b) El valor lgico de un punto de un circuito es la simbolizacin del estado en que
se encuentra ese punto. Este valor lgico puede ser constante (0 1: el punto
siempre se encuentra en ese estado) o variable (el punto puede estar en un
estado u otro, pero en cada instante tiene que estar en alguno de ellos).
En este captulo veremos los circuitos digitales ms sencillos, los llamados circui-
tos combinacionales. En ellos, el valor de la salida en cada momento slo depende de
los valores que en ese momento tengan las entradas, y no de los que hubieran podido
tener anteriormente. En el tema Autmatas veremos los circuitos secuenciales,
en los que la salida depende de la historia, es decir, de la sucesin de valores
anteriores de las entradas.
Veremos enseguida que el lgebra de Boole, inicialmente propuesta como modelo
matemtico para la lgica de proposiciones (captulo 2, apartado 4), es tambin la
herramienta bsica para el estudio y el diseo de los circuitos digitales, o circuitos de
conmutacin, que, por esta misma razn, recordmoslo, se llaman circuitos lgi-
cos.
2. LAS PUERTAS BSICAS.
Los bloques elementales para la construccin de circuitos lgicos son las puer-
tas. Este nombre responde al hecho de que puedan tener una o varias entradas pero
una sola salida, y esta salida puede tomar el valor lgico 0 (puerta cerrada) o 1
(puerta abierta), dependiendo de los valores lgicos que tengan las entradas. Las
tres puertas bsicas (ms adelante veremos otras) son las llamadas NOT, OR y
ANI>, y los smbolos ms utilizados para representarlas en los diagramas son los
indicados en la figura 3.1. Su funcin se corresponde exactamente con la que
simblicamente realizan las conectivas ~1, v y A en la lgica de proposiciones.
Es decir, si siguisemos el convenio de representar por p y q las entradas de una
puerta OR, por ejemplo, la salida estara representada por la sentencia p v q, lo
que quiere decir que el nivel lgico de esa salida ser 0 si los niveles lgicos de las
dos entradas son 0, y 1 si una de las entradas, o ambas, tienen el nivel lgico 1.
NOT OR AND
FIGURA 3. 1.
Circuitos lgicos combinacionales 67'
En este captulo vamos, sin embargo, a adoptar otra notacin, ms habitual
cuando se trabaja con el lgebra de Boole: en lugar de "), v y A utilizaremos
, + y , respectivamente. Y para las variables que representan valores lgicos
(lo que luego llamaremos variables booleanas) emplearemos las letras x, y, z,
eventualmente con subndices.
Teniendo en cuenta lo dicho, la figura 3.2, que especifica el funcionamiento de las
tres puertas mediante tablas de verdad, se explica por s sola.
N O T O R A N D
FIGURA 3. 2.
Las puertas QR y AND pueden tener ms de dos entradas. Las operaciones
que realizan son, formalmente, las mismas operaciones conocidas del lgebra de
Boole, y, por tanto, tienen las mismas propiedades, y, concretamente, la propiedad
asociativa. Esto nos permite decir, por ejemplo, que el funcionamiento de una puerta
AND de tres entradas (figura 3.3., izquierda) es el mismo del circuito formado por
dos puertas AND de dos entradas conectadas segn indica la figura 3.3 (derecha).
Y lo mismo podramos decir para las puertas OR.
3
FIGURA 3. 3.
3. CIRCUITOS
Las puertas se pueden interconectar teniendo en cuenta la regla de que la salida de
una puerta cualquiera puede servir de entrada a una o varias puertas, pero nunca
68 Lgica
pueden conectarse juntas dos o ms salidas*. Los sistemas as construidos sern
circuitos lgicos con una o varias entradas y una o varias salidas. Como existe una
correspondencia biunvoca entre las operaciones que realizan las puertas y los
operadores del lgebra de Boole, si representamos por variables (x
h
y, etc.) los
valores lgicos de las entradas del circuito, podremos escribir una frmula para
representar cada salida, en la que intervendrn esas variables y los smbolos , +
y . A cada salida de un circuito lgico corresponder as una frmula. Por otra
parte, el comportamiento del circuito puede especificarse mediante una tabla de
verdad para cada salida que nos d los valores lgicos que toma esa salida para todas y
cada una de las posibles combinaciones de valores lgicos de las entradas. La mejor
manera de comprender todo esto es a travs de ejemplos. En cada uno de los
ejemplos que siguen slo se considera una salida, cuyo valor lgico se simboliza por
/.
Ejemplo 3.1
Frmula:
f = x + y z
Circuito:
El de la figura 3.4.
FIGURA 3. 4.
Tabla de verdad:
X
y
z
/
0
Q 0 0
0 0 1 0
0 i 0 0
0 i 1
1 0 0 1
1 0 1 1
1 i 0 1
1 i 1 1
* En realidad, esta regla tiene excepciones: por una parte, el nmero de entradas que puede alimentar
la salida de una puerta tiene una limitacin tecnolgica; por otra, a veces pueden conectarse directamente la
salidas de dos o ms puertas, consiguiendo una funcin OR o AND implcita. Pero estas excepciones
entran ya en el nivel de descripcin electrnico, ms qu en l lgico', pr lo que no las consideraremos
aqu.
Circuitos lgicos combinacionales 69'
Ejemplo 3.2
Frmula:
Circuito:
El de la figura 3.5.
f=x-y + x- z + x- y'z + x- y- z
1
>
>
N>
O
FIGURA 3. 5.
Tabla de verdad:
La misma del ejemplo anterior.
O
Ejemplo 3.3
Frmula:
Circuito:
El de la figura 3.6.
f=x
1
-(x
2
+ *
4
) + *3
70 Lgica
FIGURA 3. 6.
Tabla de verdad:
xl xl x3 x4
/
0 0 0 0 0
0 0 0 1 0
0 0 1 0 1
0 0 1 1 1
0 1 0 0 0
0 1 0 1 0
0 1 1 0 1
0 1 1 1 1
1 0 0 0 1
1 0 0 1 1
1 0 1 0 1
1 0 1 1 1
1 1 0 0 0
1 1 0 1 1
1 1 1 0 1
1 1 1 1 1
Ejemplo 3.4
Frmula:
/
=
Xl ' '
x
3 '
x
4 +
X
1 '
x
3 X4 + X3
Circuito:
El de la figura 3.7.
Tabla de verdad:
La misma del ejemplo anterior.
Circuitos lgicos combinacionales 71
x x
2
*
3
*4
FIGURA 3. 7.
Ejemplo 3.5
Frmula:
Circuito:
El de la figura 3.8.
f=x-y +;(* + y) - z
FIGURA 3.31.
72 Lgica
Tabla de verdad:
O
O
0
0
1
1
1
1
O
0
1
1
O
0
1
1
0
1
0
1
0
1
0
1
Ejemplo 3.6
Frmula:
Circuito:
El de la figura 3.9.
l i
f=x-y-z + (x +y)- z
FIGURA 3. 9.
Tabla de verdad:
La misma del ejemplo anterior.
Ejemplo 3.7
Frmula:
f=x-y-z + x- y- z + x- y- z + x- y- z
Circuitos lgicos combinacionales 73'
Circuito:
El de la figura 3.10.
x y z
Tabla de verdad:
La misma de los dos ejemplos anteriores.
4. MODELOS MATEMTICOS DE LOS CIRCUITOS
4.1. Utilidad de los modelos Matemticos
Cuando se aborda la tarea de disear un circuito lgico para realizar una
determinada funcin, lo primero es especificar claramente esa funcin. Con frecuen-
cia, esa especificacin, que inicialmente puede ser verbal, conduce a una tabla de
verdad para cada una de las salidas del circuito. Ahora bien, en los ejemplos
anteriores se ve claramente que la misma tabla de verdad puede realizarse mediante
circuitos diferentes. Es claro que por muchas razones (coste, tamao, fiabilidad, etc.)
interesar encontrar el circuito que, respetando las especificaciones, tenga el menor
nmero posible de puertas. Este es el problema de la minimizacin, que trataremos
en el siguiente apartado. Para poder abordarlo, necesitamos formalizar algunos
conceptos; los modelos matemticos d los circuitos nos permitirn disear stos de
forma ptima.
En los ejemplos hemos visto que la funcin de cada salida de un circuito puede
expresarse mediante una tabla de verdad, pero que esta relacin no es biunvoca:
74 Lgica
puede haber varios circuitos con la misma tabla; diremos que todos ellos realizan la
misma funcin de conmutacin. Por otra parte, tambin se ve en los mismos ejemplos
que a cada circuito podemos asociar de manera biunvoca una frmula, construida
por variables lgicas y operaciones , + y ; estas frmulas corresponden a lo
que vamos a definir como formas booleanas.
4.2. Funciones de conmutacin
Definicin 4.2.1. Llamaremos funcin de conmutacin de orden n a cualquier
aplicacin {0, 1}" > {0, 1}, donde {0, 1}" es el producto cartesiano de orden n de
{0, 1} consigo mismo.
As, el dominio de una funcin d conmutacin de orden n est formado por todas
las -tupias que pueden formarse con los elementos 0 y 1, mientras que el rango es
solamente {0, 1}. La forma ms natural de representar una determinada funcin de
conmutacin es mediante una tabla de verdad. En los ejemplos 3.1 y 3.2 tenemos una
funcin de conmutacin de orden 3, en 3.3 y 3.4 una funcin de conmutacin de orden
4, y en 3.5, 3.6 y 3.7 otra funcin de conmutacin de orden 3.
Consideremos el lgebra de Boole binaria ({0, 1}, +, , ), y llamemos F al
conjunto de funciones de conmutacin de Orden n:
F
n
= {f: {0, 1}" - {0, 1}}
Vamos a definir las operaciones suma, producto y complementacin en el
conjunto F
n
. Utilizaremos para ellas los mismos smbolos del lgebra de Boole
binaria.
Definicin 4.2.2. Si f y f son dos funciones de conmutacin de orden n,
f
l
:X->fj20-,-f
J
:X-+fX),
con X E {0, 1}"; f
t
{X),f,{X) e {0, 1},
se definen;,
) La funcin complementaria de f
h
(f), como aquella que hace corresponder a X
el elemento complementario del que le corresponde segn f
t
:
m - . x ^ m
b) La funcin suma de f y f ( f
t
+ f j ) , como aquella que hace corresponder a X la
suma de los elementos que le corresponden segn f y f:
(f
i
+f):X-,f
i
(X)+f
i
(X)
Circuitos lgicos combinacionales 75'
c) La funcin producto def yf (f f), como aquella que hace corresponder aXe\
producto de los elementos que le corresponden segn f y f f .
( f i - B - . x ^ m - f j i X )
Ejemplo 4.2.3. Llamando / i y /
2
a las funciones de conmutacin de orden 3 que
corresponden a los ejemplos 3.1 (y 3.2) y 3.5 (y 3.6, 3.7), en la siguiente tabla
podemos ver sus correspondientes inciones complementarias, su suma y su produc-
to:
X
y
z
fl h fl h f l + f l f l - f l
0 0 0 0 0 1 i 0 0
0 0 1 0 0 1 i 0 0
0 i 0 0 0 1 i 0 0
0 i 1 1 1 0 0 1 1
1 0 0 1 0 0 1 1 0
1 0 1 1 1 0 0 1 1
1 i 0 1 1 0 0 1 1
1 i 1 1 1 0 0 1 1
Teorema 4.2.4. (F
n
, +, , ) es un lgebra de Boole cuyos elementos neutros son
las funciones que hacen corresponder todas las n-tuplas a 0 o a 1:
Q=/
( )
, tal que/(*) = () VX e {(), 1}"
1 = / , tal que f
N
(X) = 1 \/Xe {(), 1}"
y cuyos elementos atmicos son las 2" funciones que hacen corresponder todas las
-tupias a 0, excepto una.
Demostracin:
Las operaciones sobre funciones de orden n dan como resultado otras funciones de
orden n, por lo que F es cerrado bajo las tres operaciones. Por otra parte, tal como se
han definido los elementos neutros, es inmediato que, para cualquier f
h
resulta que
if i + /o)
=
fi y que (fi fu) = f. El resto de los axiomas del lgebra de Boole
(captulo 2, apartado 4.1) se cumplen tambin por el hecho de que las operaciones
entre funciones se han definido a partir de las operaciones en el lgebra de Boole
({0, 1}, +, , ). Finalmente, es fcil comprobar que las funciones que hacen
corresponder todas las -tupias, salvo una, a 0, cumplen la definition de elemento
atmico (captulo 2, definicin 4.3.1): su producto por cualquier otra funcin da, o
bien /o, o bien el mismo elemento atmico.
76 Lgica
4.3. Formas booleanas
4.3.1. El lenguaje de las formas booleanas
Definicin [Link]. Dada un lgebra de Boole binaria, ({0, 1}, +, , ), llamare-
mos variables booleanas a unos smbolos, x
3
y
lt
z
ly
x
2
, y
2
, z
2
, ..., que representan a
los elementos del conjunto {0, 1}. Es decir, una variable booleana puede tomar uno
de dos valores: 0 1. Cuando 0 y 1 representan los valores lgicos de un circuito, las
variables booleanas corresponden a las variables lgicas de las que hablbamos en los
apartados 1, 2 y 3.
Partiendo del alfabeto formado por el conjunto de variables booleanas y los
smbolos +, y podemos definir un lenguaje siguiendo exactamente los
mismos pasos de la gica de proposiciones (captulo 2, apartado 2), que ahora nos
limitamos a dejar indicados:
a) Definicin de expresin o cadena como secuencia finita de smbolos del
alfabeto.
b) Definicin de secuencia de formacin.
c) Definicin de sentencia, a la que ahora llamaremos forma booleana.
Las seis frmulas de los ejemplos del apartado 3 son ejemplos de formas
booleanas. Como los smbolos +, y se corresponden, respectivamente, con
. las puertas OR, AND y NOT, a cada circuito lgico (o, mejor, a cada salida del
mismo) le corresponde una forma booleana, y viceversa.
En realidad, el lenguaje die las formas booleanas es el mismo de la lgica de
proposiciones, cambiando las Conectivas V, a y ~1 por los smbolos +, y
, respectivamente. El hecho de que las variables y las formas booleanas puedan
tomar los valores 0 y 1 de un lgebra de Boole binaria se corresponde con la
interpretacin binaria de variables proposicionales y de sentencias. Por todo ello, lo
que sigue viene a ser una repeticin de lo ya visto en el captulo 2, y lo expondremos
de forma resumida.
4.3.2. Valuacin de formas booleanas
Definicin [Link]. Dado un conjunto de variables booleanas, A, llamaremos
funcin de asignacin (o, simplemente, asignacin) a una aplicacin del conjunto ^ en
el conjunto {0, 1}:
1}
El concepto es exactamente el mismo de interpretacin binaria d la lgica de
proposiciones (captulo 2, apartado 3). Aqu lo hemos restringido de entrada al cas
binario porque lo aplicaremos exclusivnint a Circuitos con dos stados, pero
podramos haberlo planteado de un modo ms general, de modo que el modelo
matemtico pudiera servir para circuitos con tres o ms estados.
Circuitos lgicos combinacionales 77'
Definicin [Link]. Dados un conjunto de formas booleanas construidas a partir
de un conjunto de variables A y una asignacin v
h
llamaremos funcin de valuacin,
Vi (o, simplemente, valuacin), a la extensin del dominio de la asignacin al
conjunto de formas booleanas. Este otro concepto es exactamente el mismo de
interpretacin de sentencias (captulo 2, teorema 3.1.4), y, lo mismo que all, se
demuestra que esta extensin es nica. Las tablas de verdad de los ejemplos del
apartado 3 representan todas las funciones de valuacin posibles de las correspondien-
tes formas booleanas.
4.3.3. Equivalencia de formas booleanas
Definicin [Link]. Llamemos B
n
al conjunto (infinito) de formas booleanas
construidas con n variables booleanas diferentes, y sean A, B e B
n
. Diremos que A y
B son equivalentes (A = B) si y slo si sus valuaciones son iguales para todas las
asignaciones:
( vv XV^) = v m
El concepto es exactamente el mismo de la equivalencia entre sentencias
(captulo 2, apartado 3.5). Llamaremos ahora C - BJ= a\ conjunto de clases de
equivalencia que resultan de la particin de B por la relacin de equivalencia. El
nmero de clases de equivalencia s card(C) = 2
2
", pero dentro' de cada una hay
infinitas formas booleanas diferentes (en efecto, x es equivalente a x + x,yax - x, y a
X + X + X, ...).
Definicin [Link]. Las valuaciones de una clase de equivalencia, Vk{c)(c e C),
son las valuaciones de una cualquiera de las formas booleanas que pertenecen a esa
clase: ,
(
, .
V,(c
(
) = V
k
{A)(A g c,)
La forma booleana del ejemplo 3.1 es equivalente a la del ejemplo 3-2, la del 3.3 es
equivalente a la del 3.4, y las tres formas booleanas de los ejemplos 3.5, 3.6 y 3.7 son
equivalentes entre s.
4.3.4. Algebra de Boole de las clases de equivalencia entre formas booleanas
Definamos primero las operaciones suma, producto y complementacin en
el conjunto C. Utilizaremos los mismos smbolos del lgebra de Boole binaria.
Definicin [Link]. Si c, c e C son dos clases de equivalencia de formas
booleanas con n variables, se definen las clases complementaria, suma y producto del
siguiente modo:
78 Lgica
a) c es aquella clase tal que:
b) c + cj es aquella clase tal que:
(Vv*)[V*(
Ci
+ cj) = V
k
(
C
) + V
k
(cj)]
c) c Cj es aquella clase tal que:
(Vv*)[F*(
C
CJ) = V
k
(
Ci
) V
K
{CJ)}
Teorema [Link]. (C, +, , ) es un lgebra de Boole cuyos elementos neutros
son c
0
(clase de equivalencia cuyas valuaciones son 0 para todas las asignaciones) y c
N
(clase de equivalencia cuyas valuaciones son 1 para todas las asignaciones) y cuyos
elementos atmicos son las 2" clases de equivalencia tales que sus valuaciones son 0
para todas las asignaciones salvo una.
Este teorema es, en realidad, el mismo que habamos visto para las clases de
equivalencia entre sentencias (captulo 2, apartado 4.2), y su demostracin es la
misma que all apuntbamos (como tambin para el teorema 4.2.4 de este captulo):
basta con ver que se satisfacen los axiomas del lgebra de Boole. En cuanto a los
elementos atmicos, basta con ver que se cumplen las condiciones de su definicin
(definicin 4.3.1 del captulo 2): el producto de cualquier c, por un elemento atmico
da c
0
o C{.
4.3.5. Formas cannicas
Consideremos el lgebra de Boole (C, +, , ) de las formas booleanas generadas
por las variables x
L
, x
2
, ..., x
n
. Denominaremos /, a una metavariable, que puede
valer x
t
o x
t
(es lo que en el captulo 2 llambamos un literal).
Definicin [Link]. Llamaremos producto cannico a toda forma booleana Com-
puesta por el producto de todas las variables complementadas o no:
n
Pi=h-h- ...l=H
l
i
h >
(donde II representa el producto booleano).
Un clculo combinatorio elemental nos da que el nmero de productos cannicos
diferentes con n variables booleanas es 2".
Definicin [Link]. Llamaremos forma cannica a toda forma booleana compues-
ta por una suma de productos cannicos diferentes entre s.
Circuitos lgicos combinacionales 79'
Teorema [Link]. Toda clase de equivalencia en C puede representarse mediante
su forma cannica, que es nica para esa clase de equivalencia.
Demostracin:
a) Como en un producto cannico intervienen todas las variables, sus valuaciones
sern siempre 0, excepto para una determinada asignacin: aquella que
asigne el valor 1 a las variables sin complementar y el valor 0 a las variables
complementadas. Por tanto, cada uno de los 2" productos cannicos sirve para
representar a uno de los 2" elementos atmicos de (C, +, , ) (teorema
[Link]).
b) Segn el teorema 4.3.2 del captulo 2, todo elemento de un lgebra de Boole
distinto de 0 puede expresarse de manera nica como suma de elementos
atmicos. Luego cualquier clase de equivalencia distinta de c
0
puede expresarse
de manera nica como suma de elementos atmicos, y, por tanto, podr
representarse de manera nica cmo suma de productos cannicos, s decir, en
la primera forma cannica.
Existe una notacin abreviada para escribir formas cannicas, que se basa en
asociar un nmero decimal a cada producto cannico. Este nmero es el que resulta
de considerar como un nmero binario la combinacin de ceros y unos de las
variables para la cual la valuacin del producto es 1. Por ejemplo, x y z es 1
para x = 0, y = 1, z = 1, y 011 en binario es 3 en decimal. Del mismo modo,
x y x es 1 para x = l , y = 0, z = 1, y 101 en binario es 5 en decimal. La
notacin abreviada de la forma cannica x y z + x y z es: E(3, 5) (suma de los
productos cannicos 3 y 5).
Ejemplo [Link]. Si consideramos las formas booleanas que pueden formarse con
dos variables, x e y, el nmero de lases de equivalencia es 16 (lo mismo que entre las
sentencias construidas con dos variables proposicionales y con interpretaciones bina-
rias, vase el apartado 3.5 del captulo 2). Los productos cannicos son cuatro: x y,
x y, x y, x y (en notacin abreviada^ 3, 2, 1 y 0, respectivamente), que
corresponden a los cuatro elementos atmicos C\ (clase de equivalencia de las formas
cuyas valuaciones son 0, excepto para x = 1 y l ) , c
2
(idem, excepto para* = 1,
y = 0), c
4
(idem, excepto para x = 0, y = 1) y c
8
(idem, excepto para x = 0, y = 0).
Cualquier otra clase de equivalencia puede representarse como suma de dos o ms
productos cannicos. Por ejemplo, la c
9
tiene valuacin 1 para dos asignaciones:
para x = 0, y = 0, y para x = 1, y = 1; su forma cannica ser la suma de los dos
productos cannicos correspondientes: x y + x y (o, en notacin abreviada,
E(0, 3)).
Ejemplo [Link]. Con tres variables booleanas tendremos 2
3
= 8 elemntos at-
micos (representados por los productos cannicos: x - y z,x y z,...,x-y-z)y
2
8
= 256 clases de equivalencia. Las dos formas booleanas de los ejemplos 3.1 y 3.2
pertenecen a la misma clase. Para ver cul es su forma cannica basta con mirar en la
tabla de verdad, donde estn indicadas todas las valuaciones posibles, qu productos
80 Lgica
cannicos son los responsables de las cinco valuaciones 1 que aparecen en dicha
tabla, y sumarlos. El resultado es:
x-y-z + x- y- z + x- y- z + x- y- z + x- y- z
(en notacin abreviada: E(3, 4, 5, 6, 7)). Del mismo modo, el lector puede comprobar
que la forma Cannica qu corresponde a los ejemplos 3.5, 3.6 y 3.7 es la forma
booleana del ltimo de ellos (en notacin abreviada: E(3, 5, 6, 7)).
Ejemplo [Link]. Con cuatro variables booleanas habr 2
4
= 16 elmentos atmi-
cos (productos cannicos x\ x
2
x
3
x
4
, x x
2
x
3
x
4
, ,.., x x
2
x
3
x
4
) y
2
16
= 65.536 clases de equivalencia. El procedimiento para escribir la primera forma
cannica de una clase cualquiera es el mismo de antes: sumar los productos cannicos
que corresponden a las valuaciones 1. A la vista de la tabla de verdad de los
ejemplos 3.3 y 3.4, obtenemos la correspondiente forma cannica, que, escrita en
notacin abreviada, es: E(2, 3, 6, 7, 8, 9,10,11,13,14,15). Obsrvese que el paso de
la tabla de verdad a la notacin abreviada es inmediato: basta con numerar sus filas de
0 a 2" 1, e incluir todos los nmeros de las filas que correspondan a una valuacin
de 1 .
4.4. Relacin entre los dos modelos matemticos
En los ltimos ejemplos hmos utilizado las tablas de vrdad como representacio-
nes de las valuaciones de una forma booleana (y de todas las que estn en su misma
clase de equivalencia). Por otra parte, en el apartado 4.2 hacamos uso de las mismas
tablas de verdad como ejemplos de funciones de conmutacin. Esta dualidad tiene un
fundamento matemtico. En efecto, el lgebra de Bool de las funciones d conmuta-
cin de orden n, (F, +, , ), tiene 2? elementos
1
, ya que l nmero de n-tupias
diferentes en {0, 1}" es k - 2", y hace 2
k
combinaciones distintas para aplicar cada
una de esas k ^tupias en {(), 1}. Por otra parte, el nmero de clases de equivalencia
en el lgebra de Boole de las formas booleanas con variables, (C, +, ) es
tambin 2
2
": J : ,= 2" productos cannicos con los que pueden escribirse 2
k
primeras
formas cannicas diferentes. Por tanto, y de acuerdo con el teorema 4.3.4 enunciado
en el captulo 2, ambas lgebras de Boole son isomorfas, es decir, exist una
correspondencia biunvoca entre cada funcin de conmutacin de orden n y cada clase
de equivalencia de formas booleanas de n variables, y esta correspondencia es tal
(definicin 4.3.3 del captulo 2) que si f y f estn en correspondencia con c, y c,
respectivamente, entonces /) est en correspondencia con c y (f + f) y (f f) estn
en correspondencia con (c + cj) y (c c), respectivamente.
La importancia de esta base terica para la aplicacin prctica al diseo de
circuitos lgicos es la que insiubamos en el apartado 4.1: Normalmente, tendremos
la especificacin de cada salida del circuito como una funcin de conmutacin (o;
equivalentemente, como una primera forma cannica). Sabemos que a esa funcin de
conmutacin le corresponde toda una clase de equivalencia de formas booleanas con n
variables, dentro de la cual hay infinitas formas booleanas diferentes; todas ellas
Circuitos lgicos combinacionales 81'
corresponden a la misma funcin de conmutacin, pero a cada una le corresponde un
circuito lgico diferente. Todos estos circuitos lgicos realizarn la misma funcin, y
lo que nos interesa es elegir el ms sencillo. Entramos as en el problema de la
minimizacin.
5. MINIMIZACIN
5.1. Principios
Para encontrar formas booleanas equivalentes a una dada y ms sencillas que ella,
podemos utilizar dos equivalencias:
a) Reduccin de trminos adyacentes: Si A es una forma booleana cualquiera y x
una variable booleana,
A x + A x A.
Las formas booleanas que slo difieren en una variable, que aparece comple-
mentada en una y sin complementar en la otra, se llaman trminos adyacen-
tes.
b) Idempotencia: Si A es una forma booleana cualquiera,
A + A = A,
Por ejemplo, consideremos la forma booleana de tres variables:
x-y-z + x- y-z + x- y- z + x y z
Observamos que el ltimo producto es adyacente a cada uno de los otros tres (pero
stos no lo son entre s). Podemos reducirlo con uno cualquiera de ellos; si lo hacemos
con el primero, resulta:
y-z + x- y- z + x- y- z
con el segundo:
x-y-z + x- z + x- y- z
y con el tercero:
x-y-z + x- y- z + x- y
Estas tres formas boolenas son equivalentes entre s, y equivalentes a la primera.
Pero se puede conseguir otra con menos operaciones si previamente complicamos la
forma de partida teniendo en cuenta la propiedad de idempotencia: se puede sumar
82 Lgica
dos veces el producto x - y z, y cada uno de estos tres productos se podr reducir con
uno de los tres primeros. El resultado ser:
x-y + x- z + y- z
que es la forma mnima en suma de productos. Su realizacin como circuito
requiere una puerta OR de tres entradas y tres puertas AND de dos entradas. Una
pequea reduccin se consigue teniendo en cuenta la propiedad distributiva, que nos
permite escribir esta otra forma booleana equivalente:
x (y + z) + y z
5.2. Mtodo de Karnaugh
Es evidente que en casos ms complicados que el del ejemplo que acabamos de
considerar no es fcil ver qu elementos conviene desdoblar para poder aplicar
luego reducciones. Se han propuesto diversos mtodos para minimizar de modo
sistemtico. Algunos son numricos, y conducen a un algoritmo que puede progra-
marse. Aqu veremos un mtodo grfico que es el ms sencillo y tambin el ms
conocido (aunque prcticamente deja de tener utilidad para formas booleanas con
ms de seis variables): el mtodo de las tablas de Karnaugh. <
Una tabla de Karnaugh no es otra cosa que una presentacin de la tabla de verdad
con dos entradas y con las asignaciones colocadas de tal modo que las que correspon-
den a productos cannicos adyacentes estn fsicamente contiguas. En la figura 3.11
pueden verse las disposiciones de las tablas de Karnaugh para los casos de tres, Cuatro
y cinco variables booleanas. Cada casilla corresponde a una lnea de la tabla de
verdad, y en cada caso se pondr en ella un 0 o un 1. En la figura 3.11 hemos
numerado las casillas con los nmeros de los productos cannicos que corresponden a
un 1 en esa casilla, lo cual es muy til cuando se representa una forma cannica
expresada en notacin abreviada.
Veamos, mediante algunos ejemplos, cmo se procede para simplificar utilizando
las tablas.
Ejemplo 5.2.1. La tabla de Karnaugh para el ejemplo considerado ms arriba:
x-y-z + x- y- ~z + x- y- z + x- y- 'z = E(3,.5, 6, 7)
es la que puede verse en la figura 3.12. Como se indica en ella, se agrupa uno de los
1 (el que corresponde a x y z) con los tres que le son adyacentes. Cuando se
agrupan dos 1 desaparece una variable: la que tiene asignacin 0 en un caso y 1
en otro. El resultado es -.x-y + x- z + y- z.
Ejemplo 5.2.2. Si consideramos la forma cannica E(3,4, 5, 6, 7) tenemos la tabla
de la figura 3.13. Vemos en ella que hay dos productos, x y, x y, resultado de
reducir dos parejas de productos adyacentes, y que, a su vez, son adyacentes y se
Circuitos lgicos combinacionales 83'
84 Lgica
reducen a x. A efectos prcticos, cuando vemos cuatro 1 formando un cuadrado,
eliminamos dos variables: las que tienen valor 0 en unos casos y 1 en otro. El
resultado final para este ejemplo es: x + y z.
.xy
00 01 11 10
0
0
(

0
y
y
y z x y x y
FIGURA 3. 13.
Ejemplo 5.2.3. L tabla d la figura 3.14 corresponde a la forma cannica E(l, 3,
5, 6, 7). Vemos que ocurre algo,parecido a lo anterior: tambin pueden reducirse
cuatro 1 que estn en la misma lnea. Resultado: z + x y.
K
xy
00 01 11
x-y
10
0 0 0
f 1 1 J 1 1 1 1 J)
X Z X z
FI GURA3. 14.
Ejemplo 5.2.4. En la tabla de la figura 3.15, correspondiente a la forma cannica
E(0,1, 4, 5, 7) tenemos otro hecho importante: las casillas de los bordes son tambin
adyacentes a las del borde contrario. Resultado de este ejemplo: y + x z.
Circuitos lgicos combinacionales 85'
*y
oo 01 i
xy x - y
y
FIGURA 3. 15.
10
A
0 0

0
y
Ejemplo 5.2.5. En la figura 3.16 podemos ver un ejemplo de minimizacin de una
:orma booleana de cuatro variables: E(0, 8, 9, 10, 11, 14).
00 , 01 11 10
00
;
01
11
10
\
0 0
i Q
' !
. 0 0 0
M
1 0
0 0
N
0 0
f l "
1
1 V
\
1
h
/ = x
2
x
3
x
4
+ JC] *
2
+ ' X
3
x
A
FIGURA 3. 16.
Ejemplo 5.2.6. Si recordamos los ejemplos 3.3 y 3.4 y construimos su correspon-
diente tabla de Karnaugh (figura 3.17) vemos que la forma mnima (en producto de
sumas) es: JCI x
2
+ XA + x
3
.
86 Lgica
xix
2
00 01 11 10
00
01
11
10
0 0 0 T ;
1 j

0
0
/ 7
/
1 1
1
1 1
! l
/
1 1
1
1
r ~
! 1
V
n i
1
1 1
V
/
1
, 1
1
1
;
Xl ' X4 X A?
FIGURA 3. 17.
Ejemplo 5.2.7. En la figura 3,18 podemos ver otras posibles agrupaciones en
tablas de Karnaugh de cuatro variables.
00 01 11 10
00
00
01
X\ X4
11
( 1 00
01
X\ X4
11
ni
i \
00
01
X\ X4
11
1J
<2 '
x
4 ^
10
1J
<2 '
x
4 ^
10
1*2
*3*4\ V 00 01 11 10
00
01
11
10
M
1
T
1
T
-
X3 X,
y.
y*2 '
\XlX
2
X3X4K 00 01 11 10

0;
X
2
X4
00
01
11
10
o
FIGURA 3. 18.
*i ' X3 X4
1
\
x
2
Circuitos lgicos combinacionales 87'
Ejemplo 5.2.8. La figura 3.19 es un ejemplo de cmo se utiliza la tabla de
Karnaugh de cinco variables. Basta considerar que las casillas (o los grupos) que
ocupan la misma posicin en las dos tablas son adyacentes.
FIGURA 3. 19.
En resumen, el mtodo de Karnaugh consiste en recubrir todos los 1 que
aparecen en la tabla con el menor nmero posible de grupos (menor nmero total de
sumandos) y de modo que cada grupo sea lo ms grande posible (menor nmero de
variables en cada uno de los productos que forman los sumandos).
6. EJEMPLOS DE APLICACIN
6.1. Mquina de escrutinio
Supongamos que hay un comit formado por cuatro miembros, de los que uno es
presidente, y que las decisiones se toman por mayora simple, decidiendo el voto del
presidente cuando existe empate. Se trata de disear una mquina con cuatro
entradas (un pulsador para cada miembro) cya salida d el resultado de la votacin.
Llamando A, B, C y D a las variables lgicas que representan el estado del pulsador
de cada miembro (donde A es el que corresponde al presidente) y 5 a la que
representa la salida del circuito, la especificacin viene dada por la siguiente tabla de
verdad:
88 Lgica
A B c D s
0 0 0 0 0
0 0 0 1 0
. 0 0 1 0 0
0 0 1 1 0
0 1 0 0 0
0 1 0 1 0
0 1 1 0 0
0 1 1 1 1
1 0 0 0 0
1 0 0 1 1
1 0 1 0 1
0 1 1 1
1 1 0 0 1
1 1 0 1 1
1 1 0 1
1 1 1 1
En la figura 3.20 (a) tenemos esta misma informacin representada en una tabla
de Karnaugh. Vemos que pueden formarse tres grupos de cuatro 1 y un grupo de
dos, con el resultado: .
S = A B + A C + A D + B-<CD = A (B + C + D) + B CD
El circuito correspondiente es el dibujado en la figura 3.20 (b), si bien para este
caso resultara ms econmico basarse en un simple circuito con interruptores como
CD
AB
00
01
11
10
00 01 11 10
0 0
H
0
0 0
/
1 1
0
( '
rv

1
r
0
1 1 '
/
B D
B C
j>
(b)
B CD A- B
(a)
B
Y -
D (c)
FIGURA 3. 18.
Circuitos lgicos combinacionales 89'
muestra la figura 3.20 (c). (Obsrvese que la conexin en serie de interruptores
realiza una funcin de conmutacin correspondiente a un producto lgico, v la
combinacin en paralelo realiza la de una suma).
6.2. Alarma para incendios
Tenemos un detector de llamas, un detector de humos y dos detectores de
temperatura distribuidos por una sala. Las salidas de esos detectores las simboliza-
mos, respectivamente, por las variables lgicas A, B, C y D, con valor 0 en caso de
normalidad y 1 en caso de deteccin positiva. Suponemos que el detector de llamas
(A) no da falsos positivos pero s falsos negativos (es decir, si A = 1 la alarma
debe dispararse, pero es posible que la alarma tambin deba dispararse con A = 0).
Los otros tres detectores pueden fallar tanto en el caso positivo (salida 1 sin
incendio) como en el negativo (salida 0 con incendio); consideramos que para que
se confirme la alarma es necesario y suficiente que den deteccin positiva el de humos
(B) y uno al menos de los de temperatura (C o D). De acuerdo con todo esto,
podemos especificar el circuito mediante esta tabla:
A B c D s
0 0 0 0 0
0 0 0 1 0
0 ; 1 0 0
0 ', 0 1 0
0 i 0 0 0
0 1 0 1 1
0 1 ' 1"' 0 1 '
0 1 1 1
0 0 0 1
1 0 0 1 1
0 1 0 1
1 0 1 1 1
1 1 0 0 1
1 1 0 1 1
1 1 0 1
1 1 1 1 1
En la figura 3.21 (a) podemos ver los agrupamientos, que conducen a la forma
booleana minimizada:
S = A + B C + B D = A + B (C + D)
y al circuito de la figura 3.21 (b).
90 Lgica
C
\ 00 01 11 10
00
01
11
10
B D B C
0 0 1 1
~*~A A
0 1 1 1 B
V
'
1 1 C
A
L u
1
y
D
(a)
(b)
FIGURA 3. 21.
6.3; Etapa de sumador binario
Este ejemplo nos va a permitir ilustrar un caso interesante en la minimizacin de
formas booleanas: el de aquellas que corresponden a funciones de conmutacin
incompletamente especificadas. Este caso aparece cuando se da la circunstancia de que
hay combinaciones de valores; de las variables de entrada que o bien sabemos que
nunca se van a producir o bien, cuando se producen, nos es indiferente el valor que
pueda tomar la salida.
Una etapa de sumador binario es un circuito que suma dos dgitos binarios,
teniendo en cuenta el posible acarreo o arrastre de la suma de los dos dgitos de peso
inmediatamente inferior (que pueden haberse sumado en otra etapa). Por tanto,
tendr tres entradas binarias: x, y, r', correspondientes, respectivamente, a los dos
dgitos a sumar y al arrastre de la etapa anterior, y dos salidas: s (suma) y r (arrastre
producido). Un sumador binarip paralelo de n bits constar de n etapas (de las que la
primera no necesita la entrada r' ), en las que la salida r de cada una se conecta a la
entrada r' de la siguiente.
Si analizamos las posibilidades de x, y, r', y para cada una anotamos los valores
que deben tomar s y r, llegamos a las siguientes tablas de verdad:
X
y
r 5 r
0 0 0 0 0
0 0 1 1 0
0 I 0 1 0
0 I 1 0 1
1 0 0 1 0
1 0 1 0 1
1 I 0 0 1
1 I 1 1 1
Circuitos lgicos combinacionales 91
00 01 11 10
00 01
11
- 10
0
r
1
i
1 1
0 0 1 0 1 0 0 0
0
r
1
i
1 1
0
1
1 0 1 0 1 0
1, 1
N
1 }
N.
FIGURA 3. 22.
De las tablas de Karnaugh de la figura 3.22 obtenemos las formas booleanas:
s = x y r' + x y T' + x y r' + x y 7'
r = x y + r' (x + y)
(La forma correspondiente a r es la que ya habamos considerado como ejemplo en el
apartado 5.1. x y es el arrastre generado en esta etapa y r' (x + y) es el arrastre
propagado desde la anterior a la siguiente).
Se observar que s no se ha podido simplificar, y se h expresado por su forma
cannica. Sin embargo, podemos reducir el nmero de puertas del circuito global si
tenemos en cuenta que, en realidad, estamos diseando dos circuitos: uno para s y
otro para r; cabe entonces pensar en utilizar r como entrada adicional para s, que ser
as una funcin de cuatro entradas (x, y, r', r), cpmo muestra la figura 3.23 (a). Si,
siguiendo esa idea, tratamos a s como una funcin de cuatro variables, x, y, r', r, lo
primero que encontramos es que existen cudruplas para las que s no est definida,
por ejemplo, para* = 0, y .= 0, r' = 0, r = 1; y sno est definida en este caso (como
en otros similares), porque esa combinacin es imposible, ya que si x, y, r' valen las
tres 0, entonces necesariamente r = 0. Para estas combinaciones de entrada, que
X
y
j \xy
* 00 1 01 1 11 1 10 1
r'
00 0
1
l 1
1
i 0 !
1
1
1 1
/
00 0
1
l 1
1
i 0 !
1
1
1 1
/
01
s
0 0 o .' 0
L- , . .
: ;

11 0 0 ' 0
(a)
10
( 1
i 0
~ 0 ^ 1
l
1 i i
(b)
FIGURA 3. 31.
92 Lgica
nunca se van a presentar a la entrada del circuito de s, podemos tomar para s el valor
0 o 1 indiferentemente, y esto lo representaremos en la tabla de Karnaugh con el
smbolo 0. Agruparemos los 0 con los 1 o no, segn convenga mejor a efectos
de formar el menor nmero de grupos lo ms grandes posibles. Con los grupos que
pueden verse en la figura 3.23 (b) llegamos a la forma booleana:
=
r
< y + y r + x r + x y r' = 7 (x + y + r') + x y r'
El circuito global ser el dibujado en la figura 3.24.
FIGURA 3. 24.
6.4. Multiplicador binario de dos bits
Se trata ahora de disear un circuito para multiplicar dos nmeros enteros de valor
comprendido entre 0 y 3. Teridr, por tanto, cuatro entradas (dos para los dos bits que
representan a cada uno de los multiplicandos) y cuatro salidas (puesto que el mximo
resultado es 3 * 3 = 9, que en binario puro es 1001). Llamemos x
0
, a las entradas
correspondientes a los bits de peso 0 y 1 de uno de los multiplicandos, y
0
, y\ a los del
otro, y zo a z
3
a las salidas correspondientes a los bits de peso 0 a 3 del resultado.
Analizando todas las posibilidades, llegamos a esta tabla de verdad (a la izquierda de
cada fila figura la correspondiente operacin en decimal):
Circuitos lgicos combinacionales 93
x * y = z Xl *o y- >"0 z 3 Z2 z 1 Zo
0*0 = 0 0 0 0 0 0 0 0 0
0 * 1 = 0 0 0 0 1 0 0 o- 0
0*2 = 0 0 0 i 0 0 0 0 0
0 * 3 = 0 0 0 i 1 0 0 0 0
1*0 = 0 0 1 0 0 0 0 0 0
1*1 = 1 0 1 0 1 0 0 0 1
1*2 = 2 0 1 i 0 0 0 1 0
1*3 = 3 0 1 i 1 0 0 1 1
2 * 0 = 0 0 0 0 0 0 0 0
2 * 1 = 2 0 0 1 0 0 1 0
2*2 = 4 1 0 i 0 0 1 0
2 * 3 = 6 1 0 ' i 1 0 1 1 0
3*0 = 0 1 1 0 0 0 0 0 0
3 * 1 = 3 1 1 0 1 0 0 1 1
3*2 = 6 1 1 i 0 0 1 1 0
3*3 = 9 1 1 i 1 1 0 0 1
.
x
l
x
0
00
XiXo
00
01
11
10
XjXo
yrfo
00
01
01
11 10
11 10
00 01 11
0 0 0 0 00 0 o ; 0 0
0 0 0 0 01 0
)
1 o
0 0
o 0 1 0 11 0 o :
Pl
0 0 0 0 io 0
1
0
0
y
z
0 ,
XlXo
yiyo
00 01 11
00 0 0 0 0 00 0 0 0 0
01 0 0
f
1
J
01 0 f 1
N
1 0
11 0

7
!
0 y i y 11 0
V
1
1 0 .
10 0
3
0 10 0 0 0 0
FIGURA 3. 31.
10
10
94 Lgica
De las tablas de Karnaugh (figura 3.25) obtenemos las formas booleanas:
Z3 = x
0
yi y
0
Z
2
= XI-x
0
yi + X! y!-y
0
= x
x
y! (x
0
+ 7o)
2! = x
x
x
0
yi + x
0
y
x
y
0
+ X! x
Q
y
0
+ Xt y! y
0
=
= X() y\ (i + yo) + X! yo (X
0
+ yo
z
0
= x
0
- yo
y, de ellas, el circuito de la figura 3.26. Como ejercicio, sugerimos al lector que trate
de encontrar otras formas booleanas ms sencillas para z\ y z
2
considerando como
entradas adicionales las otras dos salidas.
Xi X0 yi y0
6.5. Regulacin de una piscina
Se. desea disear un sistema de regulacin de la temperatura y del nivel de agua en
una piscina. El sistema recibir la informacin de tres sensores colocados dentro de la
piscina: un termmetro y dos detectores de nivel, y deber actuar sobre una
Circuitos lgicos combinacionales 95'
resistencia para calentar el agua y sobre dos vlvulas: una que permite desalojar agua,
y otra que permite aadir agua fra. Las especificaciones de su funcionamiento vienen
dadas por la siguiente tabla:
Informacin recibida Accin a tomar
Temperatura Nivel
Normal Normal Ninguna
Normal Bajo Aadir agua
Normal Alto Sacar agua
Baja Normal Calentar
Alta Normal Aadir agua
Baja Bajo Aadir agua y calentar
Baja Alto Sacar agua y calehtar
Alta Bajo Aadir agua
Alta Alto Aadir y sacar agua al mismo tiempo
S supondr qu el termmetro tiene dos termiriaies de salida, en cada no de los
Cuales pueden tenerse dos niveles de tensin (a los qu daremos los niveles lgicos y
1). Si la temperatura es demasiado alta, el primer terminal, 7\, estar en el nivel 1 (y
el sgundo, T
2
, n el 0);"si s demasiado baja ocurrir lo contrario, y si est entre los
lmites prefijados (temperatura normal), ambos sern 0.
Los detectores del nivel de agua dan tambin seales 0 y 1: uno de ellos, Ni, est
p 1 si el nivl es demasiado, alt, y lotr; AT
2
j est en 1 si es demsid bajo (de
modo que ambos n O ihdicr'n nivel normal).
En la salida, para que una vlvula (Vi: sacar, V
2
: aadir) est cerrada se deber
dar el nivel lgico 0, y para que est abierta el 1. Anlogamente, para que la
resistencia (R) caliente se dar un 1 y para que o acte un 0.
La parte lgica del sistema ser un circuito con cuatro entradas (Ti, T
2
, Ni, N
2
) y
tres salidas (Vi, V
2
, R). Las tablas de verdad se obtienen inmediatamente de las
especificaciones. Se observar que hay 7 combinaciones de las varibls de entrada
que son imposibles (las que corresponden a Ti = T
2
= 1 y Ni = N
2
= 1), por lo que
las funciones V
x
, V
2
y R son incompletamente especificadas. Aprovecharemos este
hecho, del mismo modo que en el Ejemplo 6.3 para minimizar tales funciones. Si el
lector sigue los pasos necesarios llegar al siguiente resultado:
Vi^N
i;
V
2
= T
t
+ N
2
;R = T
2

Y el circuito (a nivel lgico) slo necesita de una paerta OR, como indica la
figura 3.27.
96 Lgica
Nt
N
2
R
FIGURA 3. 27.
7. LA SEGUNDA FORMA CANNICA Y LA FORMA MNIMA EN
PRODUCTO DE SUMAS
7.1. La segunda forma cannica
En el apartado 4.3.5 hemos visto cmo cada clase de equivalencia en el conjunto
de formas booleanas que pueden construirse con n variables puede representarse por
una forma cannica formada por sumas de productos cannicos. Existen, como vamos
a ver, otras posibles formas cannicas para representar de; maera nica a las clases de
equivalencia, por lo que, para diferenciarlas, llamaremos, a la que ya conocemos
primera forma cannica of orina cannicaen sumade producios. A los productos
cannicos se les llama tambin minitrminos.
,, Definiciri [Link] Llamaremos suma cannica o maxilrmino a toda forma boolea-
na compuesta por la suma de todas las variables complementadas no:
n
Si = h + h + ,vv + in = X
l
i
7=1
. . .
(donde S representa la suma booleana).
Definicin 7.1.2. Llamaremos segunda forma cannica (o forma cannica en
producto ce sumas) a toda forma booleana compuesta por un producto de maxitnri-
nos diferentes entre s.
Teorema 7.1.3. Toda clase de equivalencia en C puede representarse mediante su
segunda forma cannica, que es nica para esa clase de equivalencia.
Demostracin:
Sea c e C una clase de equivalencia cualquiera, y consideremos su complementa-
Circuitos lgicos combinacionales 97'
ra, c,-. Por l Teorema [Link] sabemos que c tiene una representacin nica en la
primera forma cannica:
Aplicando los teoremas de de Morgan, obtenemos:
que ser la representacin de c en la segunda forma cannica. Y como c es nica para
c, esta representacin tambin ser nica.
Una notacin abreviada para la segunda forma cannica se obtiene asignando a
cada maxitrmino un nmero decimal. Por ejemplo, x + y + z slo vale 0 para la
combinacin 011 (3 en decimal), x + y + z slo vale 0 para 101 (5), y la representa-
cin de (x + y + z) (* + y + z) ser: 11(3, 5).
Ejemplo 7.1.4. La funcin de conmutacin correspondiente a la disyuncin exclu-
siva (OR exclusivo) viene dada por esta tabla de verdad (en la que hemos incluido
tambin los valores de/ ) :
X
y / /
0 0 0 1
0 i i 0
1 0 1 0
1 i 0 1
Considerando los productos cannico^ que corresponden a los 1 de/obtenemos
la primera forma cannica:
f = x-y + x-y
Y considerando los que corresponden a los 1 de / (0 de f ) obtenemos la
primera forma cannica de / :
/ = x y + x y
De aqu,
= x y + x y = (x y) (x y) = (x + y) (x + y)
que ser la segunda forma cannica de / ( e n notacin abrviada, 11(0, 3)).
98 Lgica
Ejemplo 7.1.5. Para los ejemplos 3.1 y 3.2, fijndonos en los 0 de la tabla de
verdad, resulta:
f - x - y - z + x- y- z .+ x y z
y, de aqu, la segunda forma cannica:
f = (x y + z) (x + y + z) (x + y + z) = 11(0, 1, 2)
Ejemplo 7.1.6. Anlogamente, para los ejemplos 3.5, 3.6 y 3.7:
f = x- y- z + x- y- z + x- y- z + x- y- z
f=(x + y + z)-(x + y + z)-(x + y + z)-(x + y + z) = 11(0, 1, 2, 4)
Ejemplo 7.1.7. Para los ejemplos 3.3 y 3.4,
f = X
t
x
2

x
3 x
4
+ Xx x
2

x
3 x
4
+ X x
2
X3 x
4
+
"1" X
2
' X
3
X
4
+ X\ ' X
2
X
3
' X4
/ =(*!+ X
2
+ X
3
+ X
4
) - + X
2
+ X
3
+ X
4
) + X
2
+ X
3
+ X
4
)
(x
1
+ X
2
+ X
3
+ x
4
) (X! + X
2
+ X
3
+ X
4
) = n(0, 1, 4, 5,12)
7.2. La forma mnima en producto de sumas
Los dos principios que permiten la simplificacin de formas booleanas expresadas
en producto de sumas son duales de los que veamos en el apartado 5.1:
a) Reduccin de trminos adyacentes:
(A +,x) (A + x) = A
(Obsrvese que esta reduccin se corresponde exactamente con la regla de
resolucin de la lgica (captulo 2, apartado 5.7).
b) Idempotencia:
A A = A
Para el mismo ejemplo que analizbamos en el apartado 5.1, la segunda forma
cannica es exactamente la que hemos visto en el Ejemplo 7.1.6. Podemos observar
que el primer maxitrmino es adyacente a los otros tres. Si lo descomponemos en el
producto de tres iguales y reducimos cada uno de ellos con cada uno de los otros tres,
resulta:
f=(x + y)-(x + z)-(y.+ z)
Circuitos lgicos combinacionales 99
que es la forma mnima en producto de sumas. Aplicando la propiedad distributiva,
podemos escribir tras formas equivalentes:
(x + y) (z + x y) = (y + z) (x + y z) = (x + z) (y + x z)
A efectos prcticos, y utilizando el mtodo de las tablas de Karnaugh, lo ms
cmodo es minimizar / (agrupando los 0 de la tabla en lugar de los 1) y luego
aplicar los teoremas de de Morgan. El circuito resultante mediante este procedimien-
to es, generalmente, el mismo obtenido a partir de la forma mnima en suma de
productos, o su dual (cambiando las puertas OR por AND y viceversa). Pero a
veces, cuando la funcin est incompletamente especificada, el circuito puede ser ms
sencillo (o ms complicado). Como ejercicio, el lector puede probar a hacer las
minimizaciones correspondientes a los ejemplos 5.2.1 a 5.2.8 y comparar los circuitos
que se obtienen de una manera y de la otra. Veamos cules seran los circuitos
alternativos para algunos de los ejemplos de aplicacin del apartado 6.
Ejemplo 7.2.1. Si agrupmos los 0 en la tabla de Karnaugh del Ejemplo 6.1
(figura 3.28 (a)) resulta:
S = (A + D) (A + C) (A + B) (B + C + D)
O, aplicando la propiedad distributiva:
S = {A + B C D) (B + C + D)
A C
CD
v AB
00 OlX 11
Y
00 K0 0\l 1
01 SyO 0 / 1 i
11 0 1 1 i
10
s
0
yy
1 i
/ f
A B A D
(a)
A
B
C<
D <
BCD
B
y .
FIGURA 3. 31.
P
y .
y .
A
(b)
D
y .
B
C~
D
"(c)
100 Lgica
El circuito (figura 3.28 (b)) es igual que el de la figura 3.20 (b), cambiando los
tipos de puertas.
Ejemplo 7.2.2. Para el caso del Ejemplo 6.2, obtenemos ahora (figura 3.29):
~S = ~A ~B + A ~C D
S = (A + B)- (A + C + D) = A + B (C + D)
Forma que es la misma a la que habamos llegado por el otro procedimiento, por lo
que el circuito sera el mismo (figura 3.21 (b)).
AB
CD
A C D
00 01 a / 11 10
00 (7)
0
1 1
01 0 1 1 1
~ -1 ^
11
0 1 1 1
10 ^ 0 ^ 1 1 1
FIGURA 3. 29.
Ejemplo 7.2.3. La funcin de conmutacin de la salida r del sumador binario es
exactamente el ejemplo que hemos considerado al principio de este apartado (llaman-
do z a r'). Una de las formas minimizadas era:
r = (x + y) (r' + x y)
xy
oo o i o
oo o
01
E
i )
ii
10
FIGURA 3. 30.
Circuitos lgicos combinacionales 101
En cuanto a s, si tomamos ,/
-
como entrada adicional, resulta (figura 3.30):
s = T-r+x-r + y-r + x-y-r'
s = (r' + 7 ) (x + 7 ) (y + 7 ) (X + y + r') =
= ( 7 + x y r') (x + y + O .
Y el circuito es el dual del de la figura 3,24.
8. OTRAS PUERTAS
Igual que en lgica d proposiciones, donde tenamos 16 cpnectivas binarias (entre
dos variables proposicionales), tambin podemos definir 16 operaciones distintas
entre dos variables lgicas, a las que corresponderan otras tantas puertas de dos
entradas, aunque cuatro de ellas no tienen sentido: las que dan siempre 0 o 1 a la
salida (las tautologas y contradicciones de la lgica) y las que dan el valor de una de
las entradas, independientemente del que tome la otra. Ahora bien, las ms utiliza-
das, aparte de las ya vistas (NOT, OR y AND) son ORX (OR exclusivo),
NAND y OR, cuyas tablas de verdad son las de la figura 3.31. Para simbolizar
las operaciones que realizan estas puertas utilizaremos los smbolos , | y J, ,
respectivamente (que son los mismos que ya habamos visto en el captulo 2 para las
correspondientes conectivas).
O R EXCLUS I VO
x o-
x *
NAND
N O R
0 0 0
0 1 i
1 0 i
1 1 0
X
y /
0 0 i
0 i i
1 0 i
1 i 0
x
y /
0 0 , 1
0 i 0
1 ' 0 0
1 i 0
FIGURA 3. 31.
102 Lgica
Y del mismo modo que, como estudibamos en el captulo 2 (apartado 3.6), unas
conectivas pueden expresarse en funcin de otras, tambin la funcin que realiza una
puerta puede realizarse con un circuito formado por otras. Por ejemplo, la suma
lgica con AND y NOT (figura 3.32 (a)), el producto lgico con OR y NOT
(figura 3.32 (b)), NAND y OR con AND y NOT o OR y NOT (figura
3.32 (c) y (d)), etc. Obsrvense, en la figura, las representaciones alternativas para
NAND y OR: la misma funcin se realiza complementando la salida de una
puerta AND que complementando las entradas de una OR, y viceversa.
(a) x + y= x- y = x\ y
o ::>> Kb i>
j > - - ^ - s o
De acuerdo con las dos formas cannicas vistas n el Ejemplo 7.1.4 (que no
pueden reducirse), la puerta ORX podra realizarse con puertas NOT, OR y
AND indistintament con el circuito de la figura 3.33 (a) o con el de la figura
3.33 (b). La disponibilidad directa de puertas ORX permite realizar de forma ms
simple algunos circuitos. Por ejemplo, la salida z
t
del Ejemplo 6.4 puede tambin
escribirse:
(b) x-y = x + y= xly
(c) x\ y =
x
-y = x + y
(d) x i, y=x+y = x-y
FIGURA 3. 32.
Zi = (*o yi) (*i yo)
Circuitos lgicos combinacionales 103'
(b) f=(x + y)-(x + y)
FIGURA 3. 33.
Por tanto, si puede utilizarse una puerta ORX, el circuito se simplifica algo con
relacin al de la figura 3.26.
9. CIRCUITOS CON PUERTAS NAND Y OR
9.1. NAND y OR como operaciones completas
Por razones tecnolgicas, las puertas NAND y OR se utilizan mucho en el
diseo de circuitos. Estas puertas pueden tener ms de dos entradas:
ot | y |z | ... = * - y z = x + y + z + ...
x i y l z 4 ... = x + y + z + ... =x-y-z-...
104 Lgica
Tanto NAND como NOR tienen la propiedad de ser operaciones completas-, esto
quiere decir que cualquier funcin de conmutacin puede representarse utilizando
slo la operacin NAND o utilizando slo la operacin NOR. Para demostrarlo basta
con ver que las tres operaciones bsicas, complementacin, producto y suma, pueden
realizarse con ellas:
a) x = = x | x
x = x + x = x i x
b) s y = W y = x | y = (x | y) \ (x | y)
x y = x + y = x i' y = (x i x) j (y i y)
c) X + y = = x I y = (.x \ x) | (y | y)
x + y = TTy = (x i y) = (JC i y) | (x i y)
Es preciso prestar atencin a los parntesis, ya que, a diferencia de la suma y el
producto, NAND y NOR no son asociativas:
{x \ y) \ z*x ] (y [ z)*x \ y \ z
( x | y ) | z x i (y z) x j y | z
(Comprubese por medio de las respectivas tablas de verdad).
9.2. La tercera forma cannica
La lercera forma cannica (slo con NAND) se obtiene directamente de la
primera mediante aplicacin del
Teorema 9.2.1:
(*i x
2
x
n
) + (yi y
2
... y
m
) + ... + (21 z
2
... z
h
) =
= I - I x
n
) | (y, | y
2
| ... | y
m
) | ... | (z, | z
2
| ... | z)
(Para demostrarlo basta con aplicar dos veces las leyes de de Morgan).
9.3. La forma mnima slo con NAND
Se obtiene aplicando el Teorema 9.2.1 a la forma mnima en suma de productos
Ejemplo (corresponde al Ejemplo 5.2.6):
f=X
3
+ X f X
4
+ x
2
= (x
3
| | (xi | x
4
) | (X | x
2
) =
= (x
3
| *
3
) I (*i I ^4) I (^1 I (x
2
| x
2
))
Circuitos lgicos combinacionales 105'
(Obsrvese que cuando uno dlos productos-consta de una sola variable, en ste caso
x
3
, este producto puede representarse como x
3
x
3
, y de ah que al aplicar l teorema
pongamos x
3
\ x
3
(es decir, *
3
), y no *
3
). .
9.4. La cuarta forma cannica
Se obtiene de la segunda aplicando el
Teorema 9.4.1:
(*i + xi + ... + x
n
) 0>i + y
2
+ ... + y
m
) ... (z
x
+ z
2
+ ... + z
h
) =
= (*i i X
2
i ... I x
n
) | 0! 4 y
2
| i y
m
) i ... 4 (zi 4 z
2
4 ... i z
h
)
(Se demuestra igualmente con las leyes de de Morgan).
9.5. La forma mnima slo con NOR
Si aplicamos el Teorema 9.4.1 a la forma mnima en producto de sumas, resultar
una forma mnima con operaciones NOR solamente.
Ejemplo:
f = x (x + y) (y?+z) = (x i x) 4 (x 4 )0 4 (y 4 2) =
= (x 4 x) 4 ((* 4 x) 4 y) 4 (y 4 (z 4 z))
i
(Aqu podemos hacer una observacin similar a la del ejemplo anterior: si una de las
sumas slo tine un sumafid, x en este cas, como x = x + x, al aplicar el teorema
ponemos x 4 x = x, en lugar de *).
10. RESUMEN
Las funciones de conmutacin y las formas booleanas son dos tipos completamente
distintos de modelos para los circuitos lgicos combinacionales. Una funcin de
conmutacin es un modelo funcional: indica lo que hace el circuito, desde el punto
de vista de cules son sus respuestas (valores lgicos de la salida) para los posibles
estmulos (valores lgicos de las entradas). Por el contrario, una forma booleana es
un modelo estructural: indica cmo se conectan los componentes (puertas) del
circuito. A cada circuito que slo tenga una salida le corresponde una forma
booleana, y viceversa. Pero a una misma funcin de conmutacin le corresponden
infinidad de circuitos (y, por tanto, de formas booleanas).
Frecuentemente, de las especificaciones verbales se llega inmediatamente a las
funciones de conmutacin (una para cada salida), expresadas como tablas de verdad.
106 Lgica
Y el problema que se plantea es el de elegir de entre todos los circuitos (formas
booleanas) posibles el ms sencillo (forma booleana con menos operaciones)*. A la
solucin de este problema general ha ido encaminado todo el desarrollo de este
captulo, que podemos resumir as:
a) El conjunto de funciones de conmutacin de orden n, junto con unas operacio-
nes de suma, producto y complementacin adecuadamente definidas, constituye un
lgebra de Boole, (F
n
, +, , ).
b) Dentro del conjunto d formas booleanas de n variables, B
n
, hemos definido
una relacin de equivalencia (que tambin es una relacin de equivalencia entre los
circuitos con n entradas y una salida). Esta relacin establece una particin de B en
un conjunto de clases de equivalencia, C
n
.
c) El conjunto de clases de equivalencia entre formas booleanas de n variables,
junto con las operaciones de suma, producto y complementacin definidas en l,
constituye un lgebra de Boole, (C, +, ).
d) Las lgebras de Boole'(F, +, , ) y (C, +, , ) son isomorfas, porque
tienen el mismo nmero de elementos (card(F) = card(C) = 2
2
"). Por tanto, a cada
funcin de conmutacin de orden n le corresponde biunvocamente una clase de
equivalencia entre formas booleanas de n varibls, y, por tanto, un conjunto
(infinito) de circuitos equivalentes. Esta doble correspondencia se ilustra en la
figura 3.33.
e) Hemos definido las formas cannicas; formas booleanas que permiten repre-
sentar de manera nica a las clases de equivalencia, y que se obtienen inmediatamente
a la vista de la funcin de conmutacin.
Clase
de circuitos
equivalentes
Elemento
de C
CIRCUITOS
FIGURA 3. 34.
* Esta es, desde luego, una simplificacin del problema general. No siempre el circuito con menos
puertas es el de menor coste de realizacin, y esto es especialmente cierto desde la aparicin de los circuitos
integrados.
Circuitos lgicos combinacionales 107'
f) Desde un punto de vista prctico, lo que interesa es, dada una fucin de
conmutacin, o una forma cannica, o una forma booleana cualquiera, encontrar la
forma booleana que est en la misma clase de equivalencia y que tenga el menor
nmero posible de operaciones (que corresponder a un circuito con el menor nmero
posible de puertas). Es el problema de la minimizacin, para cuya solucin hemos
estudiado el mtodo ms sencillo: el de las tablas de Karnaugh.
g) Tambin hemos analizado algunos casos en los que la funcin de conmutacin
est incompletamente especificada, lo que se aprovecha asimismo para minimizar el
circuito.
h) Finalmente, hemos visto cmo a travs de unas sencillas transformaciones
cualquier forma booleana puede expresarse mediante otra equivalencia que slo
contiene operaciones NAND o slo operaciones OR, lo que permite disear
circuitos con uno u otro de esos tipos de puertas exclusivamente.
11. NOTAS HISTRICA Y BIBLIOGRFICA
Fue Shannon (1938) el primero en aplicar el lgebra de Boole como modelo
matemtico para los circuitos de conmutacin (cuyos componentes bsicos, en esa
poca, eran siempre de tecnologa electromecnica). En los aos siguientes, diversos
autores, entre ellos el propio Shannon (1949), desarrollaron la teora. El mtodo
grfico para minimizacin lo introdujo Veitch (1952) y lo perfeccion Karnaugh
(1953).
La tecnologa de realizacin de circuitos digitales ha. evolucionado muy rpida-
mente en los ltimos aos, pero las tcnicas bsicas de diseo, independientes de es
tecnologa, son prcticamente las mismas de los aos 60. Por eso, libros de esa poca,
como los de Bartee (1960), Bartee et al. (1962), Harrison (1965), Kohavi (1970) y
Oberman (1970) son an referencias vlidas. Algunos de ellos se han ido actualizando
para recoger los avances tecnolgicos. Por ejemplo, el primero, en su sexta edicin,
de 1985, incluye descripciones de circuitos integrados y de microprocesadores de 16 y
32 bits, adems de otros temas propios de las estructuras de los ordenadores:
tecnologas de memorias, de buses, de dispositivos perifricos, etc.
Otros textos recomendables son los de Nagle et al. (1975), Clements (1985) (ste es
tambin, como l de Bartee, un libro sobre estructura de ordenadores), o, en espaol,
Mandado (1977), Hill y Peterson (1978) y Muoz (1983). En el campo muy especiali-
zado, del diseo de circuitos lgicos con tecnologa de integracin de muy alta
densidad (VLSI) hay que citar, inevitablemente, el texto ya clsico de Mead y
Conwav (1980).
12. EJERCICIOS
12.1. Considrese el Ejemplo 5.7.4 del captulo 2. Cada clusula se corresponde, en el
lenguaje de las formas booleanas, con una suma de variables. (Concretamente, P2 es
una suma cannica). Representar en una tabla de Karnaugh las interpretaciones de la
conjuncin de las tres clusulas, y ver cmo las dos aplicaciones de la regla de resolucin
108 Lgica
que hacamos all se corresponden con reducciones de trminos adyacentes, y tienen su
representacin grfica como agrupaciones de 0.
12.2. Disear un circuito con cuatro entradas, x
0
a x
3
, que representan los bits componentes
de los nmeros 0 a 15 expresados en binario (0000 a 1111), y una salida,/, que slo debe
tomar el valor 1 en el caso de que l numero presentado a la entrada sea mltiplo de 3.
En ste, como en los siguientes ejercicios, se disearn cuatro circuitos minimizados:
utilizando puertas NOT, AND y OR, por los dos mtodos (forma mnima en
suma de productos y forma mnima en producto de sumas), utilizando slo puertas
AND y utilizando slo puertas OR.
12.3. El mismo ejercicio anterior, considerando que los nmeros que se presentan a la entrada
estn siempre comprendidos entre 0 y 9.
12.4. Los dgitos decimales pueden codificarse en binario como se hace en el anterior
ejercicio: asignando a cada uno el conjunto de 4 bits que corresponde a su escritura en el
sistema de numeracin de base 2. Pero ste, que se llama cdigo BCD natural, no es
el nico cdigo BCD (Binary Coded Decimal) posible: como slo necesitamos 10 de los
16 smbolos que pueden codificarse con 4 bits, hay, realmente, [Link] = 16!/6! =
2,9 * 10
10
cdigos BCD diferentes. Tres de los ms utilizados (incluyendo el 8-4-2-1,
que es el tambin llamado natural), son:
8-4-2-1 2-4-2-1 Exceso de 3
0 0000 0000 0011
1 0001 0001 0100
2 0010 0010 0101
3 0011 0011 0110
4 0100 0100 0111
5 0101 0101 1000
6 0110 0110 1001
7 0111 0111 1010
8 1000 1110 1011
9 1091 1111 1100
Disear un circuito para pasar del 8-4-2-1 a uno de los otros dos. El circuito tendr
cinco entradas: las cuatro correspondientes a los bits del cdigo fuente y una entrada de
control, C, Si C = 0, entonces sus cuatro salidas deben dar los bits del cdigo 2-4-2-1
que correspondan, y si C = 1 en la salida se deber obtener el cdigo exceso de 3.
12.5. Disear un circuito que permita obtener el cuadrado d cualquier nmero comprendido
entre 0 y 7.
12.6. Un codificador es un circuito con 2" entradas y n salidas que genera a la salida el cdigo
correspondiente a la entrada cuyo valor es 1 (se supone que en cada momento slo
una de las entradas puede tomar el valor 1), Disear un codificador con cuatro
entradas (y dos salidas). Generalizar el diseo para ocho entradas (tres salidas).
12.7. Un multiplexor es un circuito con 2" entradas de informacin binaria' y n entradas de
seleccin y una sola salida. Esta salida toma el valor de la entrada de informacin que
haya sido seleccionada por jas entradas de seleccin. Disear un multiplexor con n = 3.
Captulo 4
LOGICA DE PREDICADOS
DE PRIMER ORDEN
L. INTRODUCCIN
1.1. Variables y constantes
En el captulo anterior vimos un ejemplo (el 1.4.4) en el que pareca natural
introducir la idea de variable para referirnos a un miembro de un colectivo. Hay
razonamientos imposibles de formalizar si no es formalizando esa,idea. Por ejemplo,
el clsico
todos los hombres son mortales
Scrates es uri hombre
lego Scrates es mortal
Si tratamos de formalizar este razonamiento en lgica de proposiciones, para la
primera premisa podramos escribir la sentencia h m. La segunda premisa, al ser
un simple enunciado declarativo, se formalizara como una simple variable proposi-
cional, s. Y de tales dos premisas es imposible deducir ninguna conclusin (salvo,
segn nuestra definicin de deduccin, las triviales: las propias premisas, su
conjuncin y disyuncin, y tautologas: h v h, etc.).
Lo que ocurre en este ejemplo es que en la primera premisa estamos diciendo algo
de todos los miembros de un colectivo, que, por tanto, es vlido para uno cualquiera
de ellos, que representaremos como una variable. En la segunda, hablamos de un
valor determinado de esa variable > de una constante. Y la relacin de deducibilidad
que aplica el razonamiento es un paso de lo general a lo particular: lo que se dice de
todos los miembros de un colectivo es vlido para uno cualquiera de ellos. Para
expresarla es preciso entrar en la composicin de los enunciados, cosa que no puede
109
110 Lgica
hacerse en lgica de proposiciones, en la que todo enunciado declarativo simple se
representa como una variable proposicional.
1.2. Propiedades y relaciones
En el ejemplo anterior hablamos de propiedades de individuos: la propiedad de ser
hombre y la propiedad de ser mortal. Y estas propiedades las aplicbamos a un
individuo cualquiera (una variable) o a uno concreto (una constante). Otros enuncia-
, dos se refieren a relaciones entre individuos. Por ejemplo, en Juan ama a Mara
establecemos una relacin unidireccional (ama a) entre dos individuos determina-
dos (dos constantes), en algunos hombres aman en secreto a Ana Beln la relacin
es entre una variable (hombre) y una constante (Ana Beln), y en todos los hombres
aman a alguien es entre dos variables.
Pueden establecerse relaciones entre un nmero cualquiera de individuos. Por
ejemplo, cuando decimos Juan regala flores a Mara establecmos una relacin
ternaria (regala) entre tres constantes.
1.3. Predicados y frmulas atmicas
Un predicado es la formalizacin de una propiedad o de una relacin. Para
propiedades, tendremos predicados mondicos, que tienen un solo argumento (cons-
tante o variable). Seguiremos la notacin de expresar los predicados con letras
maysculas, y las constantes con las minsculas a, b, c, ..., reservando x, y, z para las
variables. El argumento se pondr entr parntesis a continuacin del predicado.
1
Por
ejemplo:
Sprates es mortal: M(s)
alguien es mortal : M(x)
Para relaciones entre dos individuos tendremos los predicados didicos:
Juan ama a Mara : A(j, m)
alguien ama a Ana: A(x, a)
alguien ama a otro: A(x, y)
Y, en general, tendremos predicados polidicos:
Juan regala flores a Mara: R(j, m, f )
(Gramaticalmente, esta frase tendra un sujeto* Juan, y un predicado, formado por
los verbos y los complementos. Pero en la definicin que se da en lgica el predicado
es slo el verbo, y los complementos, junto con el sujeto, son los argumentos de ese
predicado).
La construccin formada por un predicado seguido de sus argumentos se llama
- Lgica de predicados de primer orden 111
frmula atmica. Obsrvese que las frmulas atmicas representan a enunciados
declarativos; corresponden, pues, a las variables proposicionales, en cuya composi-
cin ahora estamos entrando.
1.4. Sentencias abiertas y cerradas
Igual que en lgica d proposiciones construamos sentencias enlazando variables
proposicionales con las conectivas, aqu lo haremos enlazando frmulas atmicas con
las mismas conectivas. (Una simple frmula atmica tambin ser una sentencia).
As como en lgica de proposiciones podamos interpretar las variables proposicio-
nales como verdaderas o falsas, y, a partir de una determinada interpretacin, calcular
la interpretacin de la sentencia, ahora no siempre podemos hacerlo. Porque si
tenemos, por ejemplo, un predicado mondico, su valor de verdad o falsedad
normalmente depender del valor que tome la variable: si digo JE es espaol, o,
formalmente, E(x), dependiendo de quin sea x, el resultado ser verdadero o no.
En general, tendremos sentencias abiertas, que son aquellas que, al depender de
variables, no se les puede calcular un valor de verdad o falsedad, y sentencias cerradas,
en las que tal clculo es posible.
Un modo obvio de cerrar una sentencia abierta consiste en fijar valores para las
variables que intervienen en ellas. En el ltimo ejemplo, si hacemos x = Picasso, la
Sentencia (en este caso, frmula atmica) E(x) es verdadera, y si x = Matisse, E(x) es
falsa.
Pero las sentencias pueden ser tambin verdaderas o falsas sin que tengan que
referirse exclusivamente a constantes: todos los hombres son mortales es una
sentencia verdadera, y, por tanto, cerrada. Ello es as porque lo que se predica es algo
sobre una variable, pero que es vlido para todos los valores de la variable, Por tanto,
a la sentencia H(x) * M(x) (si alguien, x, es hombre entonces es mortal) hay que
aadirle algo que exprese su validez para cualquier valor de x, cerrando de ese modo
la sentencia. Ese algo se llama cuantificador universal.
1.5. Cuantificadores
Representaremos el cuantificador universal con el smbolo clsico V seguido de
la variable que se cuantifica. Para delimitar el alcance de la Cuaiitificacin, pondremos
la sentencia cuya variable se cuantifica entre parntesis. Por ejemplo,
(Vx)(f(x) -> M(x))
es una sentencia cerrada, que formaliza la frase para todo x, si x tiene la propiedad
H, entonces tiene la propiedad M, mientras que
(yx)(H(x))^M(x)
112 Lgica
sera una sentencia abierta (si todos los x tienen la propiedad H, entonces x,
cualquiera, tiene la propiedad M), lo mismo que
(Vx)(H(x) M(y))
(para todos los x, si x tiene la propiedad H, entonces y tiene la propiedad M, que
viene a ser lo mismo de antes, supuesto que x e y tienen un rango comn).
El otro cuantificador, tambin conocido del lenguaje matemtico, es el cuantifica-
dor existential, que representaremos con el smbolo 3, y que se lee existe un ... tal
que ....
En realidad, bastara con uno solo de los dos cuantificadores, y si usamos los dos es
por comodidad (por acercar el lenguaje lgico al lenguaje natural). En efecto, decir
que todos los individuos en consideracin tienen cierta propiedad es lo mismo qu
decir que no es cierto que exista algn individuo que no tenga esa propiedad:
(Vx)(P(x)) - n (3*)0 P(x))
Y decir que existe un x (al menos) que tenga cierta propiedad es lo mismo que
decir que no es cierto que para todos los individuos la propiedad no se da:
(3*)(P(*)) - 1 (V)("l P(x))
1.6. Interpretacin binaria
Como ya hetos dicho, una frmula atmica slo puede interpretarse como
verdadera o falsa si sus Variables toman valores concretos. Por ejemplo, si H(x)
significa x es hombre, la frmula ser verdadera para x = Scrates, pero falsa para
Jt = Rocinante, y, en general, no podremos decir que H(x) sea verdadera ni falsa.
De igual mod; una sentencia abierta no puede interpretarse si no se cierra. Pero
hemos de considerar varias posibilidades:
a) Si una sentencia es cerrada porque a todas las variables que intervienen en ella
se les ha asignado un valor constante, entonces las frmulas atmicas juegan el
mismo papel que las variables proposicionales, yJas distintas interpretaciones
de la sentencia pueden escribirse en una tabla de verdad, con una lnea para
cada una de las posibles interpretaciones del conjunto de frmulas atmicas.
b) Si la sentencia es cerrada porque todas sus variables estn cuantificadas,
entonces cabe considerar dos casos:
bl) Si el universo del discurso (conjunto en el que toman valores las
variables) es finito, entonces el cuantificador universal puede sustituirse
por un nmero finito de conjunciones, y el cuantificador existencial, por un
nmero finito de disyunciones. En efecto, si, por ejemplo, los valores
posibles de x son {a, b, c, d}, la sentencia cerrada
(V*)(P(*))
- Lgica de predicados de primer orden 113
es equivalente a
P(a) A P(b) A P(c) A P{d)
y la sentencia cerrada
es equivalente a
P(a) v P(b) v P(c) v P(d)
Estas equivalencias proceden de las mismas definiciones de los cuantifica-
dores, que, realmente, son generalizaciones de las operaciones de conjun-
cin y disyuncin para sentencias construidas con variables de cualquier
rango. En tal caso, podemos escribir la tabla de verdad de cualquier
sentencia en la que intervenga P(x) con x cuantificada, considerando todas
las interpretaciones posibles del conjunto {P(a), P(b), P(c), P(d)} (que
ahora ya es como si fuera un conjunto de variables proposicionales).
b2) Si el universo del discurso es infinito (o inabordable) es claro que no
podemos construir ninguna tabla de verdad. Pese a ello, hay sentencias que
siempre son verdaderas: Por ejemplo, nadie dudar de qu
(V*)(P(*))^(3*)(P(x))
es siempre verdadera, sea finito o infinito el universo del discurso.
A las sentencias que son siempre verdaderas se les llama, en lgica de proposicio-
nes, tautologas. En lgica de predicados se les suele llamar sentencias vlidas.
1.7. Ejemplos de formalizacin e interpretacin
Ejemplo 1.7.1. Consideremos el razonamiento
todos los hombres son mortales
Scrates es hombre
luego Scrates es mortal
Su formalizacin sera:
Pl: (Vx)(H(x) Mix))
Pl: H(s)
C : M(s)
114 Lgica
Si el razonamiento es correcto, la sentencia
[(Vx)(//(;c) - M{x))] A H{s) - M(s)
tiene que ser vlida, o, lo que es lo mismo, todas las interpretaciones que satisfacen a
la conjuncin de las dos premisas han de satisfacer tambin a la conclusin para que
sta se deduzca de aqulla. Ahora bien,.como el universo del discurso es inabordable,
no podemos comprobar tal cosa construyendo una tabla de verdad. Pero hagmoslo
considerando que el universo se restringiese a dos hombres, Scrates (,v) y Platn (p),
y a una entidad desconocida (d). La premisa Pl se escribira entonces como Pis A
PID A Pld. con
Pls: H(s) - M{s)
Plp: H(p) -H, M(p)
Pld: H(d) M(d)
Y la tabla de verdad sera:
H(s) Mis) Hip) Mip) H{d) Mid) Pls Plp Pld Pl Pl C Pl A Pl > C
0 0 0 0 0 0 1 1 1 0 0 1
0 0 0 0 0 1 1 1 1 1 0 0 1
0 0 0 0 1 0 1 1 0 0 0 1
0 0 0 0 1
1 1
1 1 1 0 0 1
0 0 0 1 0 0 1 1 1 1 0 0 1
0 0 0 1 0 1 1 1 1 0 0 1
0 0 0 1 1 0 1 0 0 0 1
0 0 0 1 1 1 1 1 1 1 0 0 1
6 0 0 0 0 1 0 0 0 0 1
0 0 0 0 1 1 0 1 0 0 0 1
0 0 1 0 1 0 1 0 0 0 0 1
0 0 1 0 1 1 1 0 1 0 0 0 1
0 0 1 1 0 0 1 1 1 1 0 0 1
0 0 1 1 0 1 1 1 1 0 0 , 1
0 0 1 1 1 0 1 1 0 0 1
0 0 1 1 1 1 1 1 1 0 0 , 1
0 1 0 0 0 0 1 1 1 1 0 1 1
0 1 0 0 0 1 1 1 1 1 0 1 1
0 1 0 0 1 0 1 1 0 1 1
0 1 0 0 1 1 1 1 1 0 1 1
0 1 0 1 0 . 0 1 1 1 0 , 1 1
0 1 0 1 0 1 1 1 t 1 0 1 1
0 1 0 1 1 0 1 1 0 0
0 1 0 1 1 1 1 1 1 0 0 1 1
0 1 1 0 0 0 1 0 1 0 0 1 1
0 1 0 0 1 1 0 1 0 0
0 1 1 0 1 0 1 0 0 0 0 1 1
0 1 1 0 1 1 1 0 1 0 0 1 1
- Lgica de predicados de primer orden 115
H(s) M(s) H(p) M(p) H(d) M(d) Pis Pip Pd Pl P2 C Pl A P2-+C
0 1 1 1 0 0 1 1 1 1 0 1
0 1 1 1 0 1 1 1 1 1 0 1
0 1 1 1 1 0 1 1 0 0 1
0 1 1 1 1 1 1 1 1 0 1
1 0 0 0 0 0 0 1 1 0 0
1 0 0 0 0 1 0 1 1 0 1 0
1 0 0 0 1 0 0 1 0 1 0
1 0 0 0 1 1 0 1 1 0 1 0
1 0 0 1 0 0 0 1 1 0 1 0
1 0 0 1 0 1 0 1 1 0 1 0
1 0 0 1 1 0 0 1 0 1 .0
1 0 0 1 1 1 0 1 1 0 1 0
1 0 1 0 0 0 0 0 1 0 1 0
1 0 1 0 0 1 0 0 1 0 1 0
1 0 1 0 1 0 0 0 0 1 0
1 0 1 0 1 1 0 0 1 0 1 0
1 0 1 1 0 0 0 1 1 0 1 0
1 0 1 1 0 1 0 1 0 1 0
1 0 1 1 1. 0 0 1 0 1 0
1 0 1 1 1 1 0 0 0
1 1 0 0 0 0 1 1 1 1 1 1
1 1 0 0 0 1 1 1 1 1 1 1
1 1 0 0 1 0 1 0 1
0 0 1 1 1 1 1 1
0 1 0 0 1 1 1 1 1
1 1 0 1 0 1 1 1 1 1 1 1
1 1 0 1 1 0 1 1 0 1 1
1 1 0 1 1 1 1 1 1 1 1 1
1 1 1 0 0 0 1 0 1 0 1 1
1 1 1 0 0 1 1 0 0 1 1
1 1 1 0 1 0 1 0 0 1 1
1 1 1 0 1 1 1 0 1 0 1 1
1 1 1 1 0 0 1 1 1 1 1 1
1 1 1 1 0 1 1 1 1 1 1
1 1 1 0 1 1 0 0 1
1 1 1 1 1 1 1 1 1 1 1 1
Tras escribir toda esta tabla, comprobamos que, para este universo finito, la
sentencia que formaliza al razonamiento es una tautologa, y, por tanto, la conclusin
se deduce de las premisas. Pero comprobamos tambin que, adems de tedioso, este
procedimiento (que en lgica de proposiciones podra tener algn sentido) es intil,
porque, en principio, no nos garantiza que el razonamiento siga siendo correcto para
un universo del discurso mayor.
Ahora bien, se ha demostrado que si hay n predicados mondicos cualquier
sentencia vlida en un universo que tenga 2" lementos es vlida en todo universo. En
este ejemplo, como hay dos predicados mondicos, bastara comprobar la validez en
116 Lgica
un universo de cuatro elementos, lo cual sera factible. Pero para un nmero mayor de
predicados el procedimiento deja de ser prctico, y si hay predicados polidicos no
nos garantiza nada. De hecho, tambin se ha demostrado que no hay un procedimien-
to general que permita determinar la validez de cualquier sentencia del clculo de
predicados. Por ello, se dice que el clculo de predicados es indecidible. Sin embargo,
s existe un procedimiento tal que si una sentencia es vlida termina dictaminandolo (y
si no lo es, no termina), por lo que tambin se dice que el clculo de predicados es
semidecidible.
En cualquier caso, lo que nos interesa, como en la lgica de proposiciones, es
disponer de sistemas de inferencia. En el apartado 4.5 genralizaremos el mtodo de
resolucin. En los ejemplos que siguen nos limitaremos a formalizar los razonamien-
tos, dejando al lector la construccin de tablas de verdad para comprobar su validez
con universos finitos.
Ejemplo 1.7.2.
ningn profesional es diletante
todos los buenos informticos son profesionales
ningn buen -informtico es diletante
Con los predicados P(profesional), D(diletante) e /(buen informtico), una forma-
lizacin de este razonamiento (que es urt caso del llamado modo silogstico Celarent
en la lgica clsica) es:
Pl : (Vx)(P(x) "I D(x))
P2: (Vx)(/(x) -> P(x))
C : (Vx)(I(x) -> "I D(x))
Y la sentencia global sera: Pl A P2 C.
Teniendo en cuenta las relaciones que hay entre las conectivas y entre los
cuantificadores, la formalizacin no es nica. Por ejemplo, la primera premisa puede
tambin escribirse as:
P: "I (3x)(P(x) A D(x))
Ejemplo 1.7.3. Definiendo los predicados J, C, D y S en sustitucin de las
variables proposicionales j, c, dys, el Ejemplo 1.4.4 del captulo 2 se formalizara as:
P l : 1 ( 3 * ) ( . / ( * ) A C(x))
P2: (Vjc)p J(x) -H. "I D(x))
P3: (Vx)(S(x) C(x))
C : (V*)(S(*) ^ C(x))
- Lgica de predicados de primer orden 117
Ejemplo 1.7.4.
Ana es madre de Luis
Jos es padre de Ana
Un abuelo de una persona es alguien que es padre
del padre o de la madre de esa persona
Jos es abuelo de Luis
Definiendo los predicados didicos P(x, y) (x es padre de y), M(x, y) (x es madre
de _y) y A(x, y) (x es abuelo de y), podemos establecer la siguiente formalizcin:
Pl : M(a, l)
P2: P(j, fl)
P3: (Vx)(Vy)(yz)(P(x, y) A (P(y, z) v M(y, z)) -> A(x, z))
C : A(j, l)
Obsrvese que la premisa 3 establece [Link] de la relacin abuelo de en
funcin de las relaciones padre de y madre de. Las premisas i y 2 son hechos
concretos que junto con esa definicin nos permiten deducir otro hecho.
Ejemplo 1.7.5.
Un antepasado de una persona es alguien que o bien es padre o madre de esa
persona o bien es antepasado de su padre o de su madre.
Esta es una definicin recursiva de la relacin antepasado de. Daaos unos
hechos (relaciones padre de y madre de definidas sobre unos individuos concre-
tos), se podrn obtener conclusiones sobre las relaciones antepasado de entre esos
individuos. En lgica de predicados, podemos formalizar la definicin con la siguiente
sentencia (ahora, con A(x, y) representamos x es antepasado d y, y, para no hacer
la sentencia excesivamente larga, con P(x, y) representamos x es padre o madre de
y; si quisiramos conservar las dos relaciones diferenciadas, tendramos que escribir
P(x, y) v M(x, y) en donde aparece P(x, _y)):
(V*)(V>0(Vz)[(P(*, y) V (A(x, z) A P{Z, y))) A(x, y)]
Pero, para mayor claridad, es preferible descomponer la sentencia en dos, una no
recursiva y la otra s:
(Vx)(Vy)(P(x, y) ^ A(x, y))
(Vx)(Vy)(Vz)(A(x, z) A (P(Z, y)) ^ A(x, y))
Esta descomposicin es posible porque la sentencia Pl v P2 C es equivalente a
(Pl ^ Q A (P2 Q.
118 Lgica
1.8. Funciones
Para terminar esta introduccin informal, tenemos que hacer referencia a las
funciones. Se trata de una construccin del clculo de predicados que no es necesaria
en la lgica clsica, pero que, como veremos, es muy til para poder expresar las
sentencias en forma clausulada como paso previo a la aplicacin de la resolucin.
Las funciones, como los predicados, tienen argumentos que pueden ser constantes
o variables. Pero, a diferencia de los predicados, no representan ninguna propiedad o
relacin entre los argumentos que pueda interpretarse como verdadera o falsa. Una
funcin en clculo de predicados es una funcin matemtica definida en el universo
del discurso. Por ejemplo, podemos definir la funcin padre, p. Aplicada a un
individuo, nos dara como resultado otro individuo, p(x) (su padre). Si definimos un
predicado de igualdad, I(x, y), que es verdadero cuando x es el mismo individuo que
y, y falso en otro caso, sera lo mismo escribir P(x, y) que /(x, p(y')), Vemos con este
ejemplo que los argumentos de los predicados (y de las mismas funciones) pueden ser
funciones, lo cual nos lleva a ampliar el concepto de frmula atmica, cosa que
haremos enseguida.
2. SINTAXIS
2.1. Alfabeto
Utilizaremos los siguientes smbolos (en su caso, y si es menester, con subndices):
Variables proposicionales: p, q,r, ... (normalmente, no sern necesarias; en su
lugar [Link] atmicas).
Variables:
1
x, y, ,z, u, v, w.
Constantes: a, b, c, ...
Smbolos de funcin: /, g, h.
Smbolos de predicado: P, Q, R.
Conectivas (las mismas de la lgica de proposiciones).
Cuantificadores: V, 3.
Smbolos de puntuacin: ( , ) , [ , ] , { , }
Metasmbolos:
* A, B, C, ... para cualquier sentencia.
* A(x) para una sentencia con la variable libre x.
* k para cualquier conectiva binaria.
* L para cualquier literal (frmula atmica positiva o negativa).
* t para cualquier trmino, una construccin que enseguida vamos a definir.
Igual que hacamos en lgica de proposiciones, podemos definir una expresin
como una secuencia cualquiera de smbolos del alfabeto, y una sentencia como una
expresin bien construida de acuerdo con las reglas propias del lenguaje y que
vamos a ver a continuacin.
- Lgica de predicados de primer orden 119
2.2. Trminos y frmulas atmicas
Definicin 2.2.1. Un trmino se define recursivamente:
* Las constantes y las variables son trminos.
* Si / e s un smbolo de funcin y , t
2
, ...,t
n
son trminos, entonces/(j,
2
, ..., t)
es un trmino.
(Podramos haber dado una definicin equivalente, no recursiva, definiendo
previamente una secuencia de formacin de trminos, lo mismo que hacamos en
lgica de proposiciones para las sentencias).
Definicin 2.2.2. Una frmula atmica es una expresin de la forma P(t, t
2
,
..., t
n
), donde P es un smbolo de predicado y ,,
2
, ..., t
n
son trminos.
2.3. Sentencias
Definicin 2.3.1. Llamaremos secuencia de formacin a toda secuencia finita de
expresiones, A
u
A
2
, ..., A
n
en la que cada A satisface al menos una de las cinco
condiciones siguientes:
) A es una frmula atmica (o una variable proposicional);
b) existe un'; menor que i tal que A es el resultado de anteponer e smbolo ~1 a
c) existen jyh menores que i tales que A es el resultado de enlazar A y A, con k;
d) existe un j menor que i tal que A es lo mismo que (Vx)(/l
/
(x)), donde x es
cualquier variable;
e) existe un ;' menor que i tal que A es lo mismo que (3x)(/4y(x)), donde x es
cualquier variable.
Definicin 2.3.2. Llamaremos sentencia (o frmula molecular) a toda expresin
A
n
tal que existe una secuencia de formacin A
it
A
2
, ..., A
n
. (Todas las expresiones
de la secuencia sern sentencias).
Alternativamente, podemos definir la sentencia de modo recursiv, mediate
cinco reglas de formacin:
RF1: Una frmula atmica (o una variable proposicional) es una sentencia.
RF2: Si A es una sentencia, 1 A tambin lo es.
RF3: Si A y B son sentencias, A k B tambin lo es.
RF4: Si A(x) es una sentencia con la variable libre x (VJC)(A(X)), tambin lo es.
RF5: Si A(x) es una sentencia con la variable libre x (3JC)(A(,*)), tambin lo es.
Segn cualquiera de estas definiciones, una expresin como
0/x)(3y)(P(x, y))
120 Lgica
no sera una sentencia. En su lugar habra que escribir
(Vx){(3y)(P{x, y)))
No obstante, por comodidad, utilizaremos preferentemente la primera notacin.
2.4. Sentencias abiertas y cerradas
Definicin 2.4.1. Llamaremos alcance de n cuantificador a la sentencia A que le
sigue en las reglas de formacin RF4 y RF5. Diremos que la variable que sigue al
smbolo de cuantificacin est cuanificada en la sentencia A.
Definicin 2.4.2. Diremos que una sentencia A es cerrada si todas las variables
que intervienen en las frmulas atmicas que la componen estn cuantificadas. En
caso contrario, diremos que la sentencia A es abierta.
Aunque an no hemos entrado en el campo de la semntica, por lo visto en el
apartado anterior sabemos que slo a las sentencias cerradas se les puede dar una
interpretacin (verdadera o falsa, en el caso binario). En lo sucesivo, salvo que
digamos lo contrario, supondremos que todas las sentencias son cerradas. De hecho,
en otros libros, el nombre de sentencia se reserva para lo que aqu llamamos
sentencias cerradas, y lo que llamamos sentencia se denomina frmula bien
formada (en los libros escritos en ingls, wff, de welj formed formula), denomi-
nacin, cuando menos, discutible: que sera una frmula mal formada?; con
nuestra terminologa, n expresin que no es sentencia, pero sera entonces lcito
llamarle frmula?
2.5. Axiomas, demostraciones y teoremas
2.5.1. Axiomas
Los conceptos de sistema axiomtico, de completitud y de consistencia ya fueron
expuestos de una manera general en el captulo 2 (apartado 1.5). El sistema axiomti-
co de la lgica de predicados es una extensin del visto para la lgica je proposiciones
(o ste es una restriccin del primero); por ello, aqu nos iremos refiriendo continua-
mente al apartado 2.5 del captulo 2. Y, en particular, los axiomas son los mismos
expuestos en 2.5.1, a los que ahora aadimos estos dos:
l
1
; i
A5: (VJt)(P(x)) ^ P(a)
A6: (Vx)(p P(x)) ^ { p ^ (Vx)(P(x)))
Las leyes qu interrelacionan a los cuantificadores,
(Vx)(P(x)) ~ 1 ( 3x) p P(x))
(Bx)(P(x)) ~ "I ( Vx) p P(x))
- Lgica de predicados de primer orden 121
pueden considerarse como definicin de un smbolo en funcin de otro, o, si se
prefiere que ambos smbolos sean primitivos, una sera un axioma y la otra un
teorema.
El axioma A5 (llamado ley de especificacin) significa que si algo (P) puede
afirmarse de todos los individuos, entonces puede afirmarse de uno cualquiera de
ellos: a es una constante arbitraria definida sobre el mismo universo del discurso que
x. Igualmente, en A6, p es una variable proposicional arbitraria.
2.5.2. Sustitucin
En lgica de proposiciones, la sustitucin era de variables proposicionales por
sentencias. Ahora, adems, podremos sustituir frmulas atmicas por sentencias en
las que figuren los mismos argumentos, y variables por trminos en los que no
aparezcan otras variables de la sentencia.
Definicin [Link]. Dadas unas variables proposicionales p y unas sentencias
cerradas B, unas frmulas atmicas F = P,(*/i, ..., x
jn
, a
v
, ..., a
m
) y unas sentencias
Sj con las variables libres x
j{
, ..., x
jn
y las constantes a
u
..., a
m
, y unas variables x
k
y
unos trminos t
k
, llamaremos sustitucin a un conjunto de pares ordenados
5 ={...., BJpi, ..., Sj/Fj, ..., t
k
lx
k
, ...)
Definicin [Link]. Dada una sentencia A que contiene las variables proposiciona-
les p, las frmulas atmicas F y las variables x
k
, y una sustitucin s, la operacin de
sustitucin de unas por otras en A consiste en poner en A:
a) en todos los lugares dond aparezca p, B;
b) en todos los lugares donde aparezca Fy, S,
c) en todos los lugares donde aparezca x
k
,t
k
, salvo detrs de los cuntificadores,
donde se pondrn las variables que aparecen en t
k
precedidas del mismo
cuantificador que afectaba a x
k
. Adems, para que la regla de sustitucin que
veremos luego sea correcta, t
k
no puede contener variables que ya figuren en A.
La justificacin de esta ltima restriccin puede verse claramente con un sencillo
ejemplo: consideremos la sentencia
(Vx){3y){D{x, y))
donde D(x, y) significa x es diferente de y; podemos hacer la sustitucin s = {z/x},
con la que obtenemos
(Vz)(3y)(D(z, y))
pero n o s = {y/*}, con la que resultar
(Vy)(ly)(D(y, y))
122 Lgica
Teorema [Link]. Si A es una sentencia y s una sustitucin, el resultado de efectuar
la operacin de sustitucin de s en A es otra sentencia que representaremos como As.
La demostracin, que omitimos, consiste en ver que As tiene una secuencia de
formacin.
2.5.3. Demostraciones y teoremas
Para este apartado es ntegramente aplicable todo lo dicho en el de igual
numeracin del captulo 2.
2.5.4. Ejemplos [Link]
Todos los teoremas de la lgica de proposiciones son aplicables tambin en lgica
de predicados. Veamos algunos otros especficos de sta.
Teorema 1: P( a ) ( 3x) ( P( x) ) (Ley de vascularization).
Demostracin:
1. (Vx)O P(x)) -> 1 P(a)
(Por sustitucin en A5: {~l PIP)).
2. (p -|
q
) (
q
-| p)
(Teorema de la lgica de proposiciones).
3. ( ( V*) 0 P(x)) - "I P(a))-^ (P(a) 1 (Vx)(1 ,P(x))) ,
(Por sustitucin en 2: {(V*)p P(x))/p, P(a)/q}.
4. P(a) > 1 (Vx)'(~l P(x))
(Por separacin de 1 y 3).
5. P(a) -> (3x)(P(x))
(Por definicin de 3).
Teorema 2: (Vx)(P(x)) -^ (3x)(P(x)).
Demostracin:
1. ((Vx)P(x) ^ P(a)) A (P(a) ^ (3x)(P(x)))
(Por unin de A5 y el teorema 1).
2 . ((p > q) A (q > R) ) (p > r)
(Ley de transitividad de la lgica de proposiciones).
3. (((Vx)P(x) -> P(a)) A (P(a) ^ (3x)(Px))) ((V*)(P(*)) ^ (3x)(P(x)))
(Por sustitucin en 2: {(Vx)(P(x))/p, P(a)/q, (3x)(P(x))/ r}.
4. (Vx)(P(x)) (3x)(P(x))
(Por separacin de 1 y 3).
- Lgica de predicados de primer orden 123
2.5.5. Algunos teoremas tiles
La mayora de las leyes de la lgica de proposiciones se pueden generalizar. Por
ejemplo:
* Ley del tercio excluso:
(Vx)(P(x) v 1 P(x))
* Ley de distribucin del cuantificador universal sobre la conjuncin:
(V*)(P(*) A Q(x)) [(yx)(P(x)) A (Vy)(P(y))]
* Leyes de modus ponens y modus tollens:
((^x)(P(x) > Q(x)) A P(a)) > Q(a)
((Vx)(P(x) Q(x)) A 1 0(a)) - H P(a)
* Leyes de inferencia de la alternativa:
O P{a) A (Vx)(P(x) v Q(x))) Q(a)
(P(a) A (Vx)(1 P(x) v H 0(x))) ^ H Q(a)
Todas estas leyes, escritas para predicados mondicos, pueden generalizarse para
predicados polidicos. Por ejemplo, la de modus ponens para didicos es:
((\fx)(\/y)(P(x, y) Q(x, y)) A P(a, b)) ^ Q(a, b)
Para la regla de resolucin utilizaremos una generalizacin de las leyes de
inferencia de la alternativa:
(V*i) ... (Vx)((l P(
Xl
, ...,x
n
) v A) A (P(
Xl
, ..., x
n
) v B)) A v B
donde A y B son sentencias cualesquiera.
3. SEMNTICA
Definicin 3.1. Dadas unas frmulas atmicas construidas con unas variables,
llamaremos universo del discurso al conjunto de valores posibles de esas variables.
Todo lo dicho en el apartado 3 del captulo 2 es extensible a la lgica de
predicados, con las siguientes matizaciones:
1) La funcin de interpretacin i, que aplicaba el conjunto de variables proposicio-
nales sobre el conjunto de valores semnticos, V, ahora extender su dominio para
abarcar tambin a todas las frmulas atmicas particularizadas sobre todos los
elementos del universo del discurso. Es decir, si tenemos, por ejemplo, una frmula
124 Lgica
atmica, P(x) y el universo del discurso es {a, b, c}, una interpretacin ser una
asignacin de valores de V a^P(a), P(b) y P(c).
2) La extensin del dominio de i al conjunto de las sentencias cerradas tendr que
tener en cuenta la presencia de cuantificadores, para lo que se aadirn dos condicio-
nes:
c) /((Vjc)04(jt)) = I(A(a)) A I(A(b) A I(A(c)) A ...
d) /((3x)(A(*)) = I(A(o)) v I(A(b)) v I(A(c)) v ...
donde a, b, c, ... son todos Jos valores posibles de x.
3) Una sentencia cerrada cuyas interpretaciones binarias sean todas igual a 1 no se
llama tautologa, sino sentencia vlida. Como hemos dicho en la explicacin del
Ejemplo 1.7.1, la lgica de predicados es semidecidble.
4) La relacin de equivalencia en el conjunto de sentencias se define de igual
modo, pero el nmero de clases de equivalencia, si el universo del discurso es infinito,
es tambin infinito. Por lo dems, sigue siendo vlido el teorema: A = B si y slo si
h (A ** B).
4. SISTEMAS INFERENCIALES
4.1. Teoremas y reglas de inferencia
Por las mismas razones expuestas para la lgica de proposiciones, a toda ley del
clculo de predicados que tenga la forma Pl A Pl A ... C le corresponder una
regla de inferencia, en la que las sentencias Pl , Pl, ... son las premisas y la sentencia
C es la conclusin.
Por ejemplo, a la ley de modus ponens dada en el apartado 2.5.5 le corresponde la
regla de inferencia
(Vx)(P(x) -> <20))
m
m
(que es la que aplicbamos informalmente en el ejemplo con el que hemos comenzado
este captulo).
Los sistemas de deduccin natural comprenden un conjunto de reglas de
inferencia que, adecuadamente aplicadas, permiten disponer de un sistema inferencial
consistente. A continuacin vamos a ver cmo se generaliza la regla de resolucin,
explicada en el captulo 2 para la lgica de proposiciones, a la lgica de predicados. La
completitud, en general, no se puede demostrar debido a que el clculo de predicados
es indecidible. S se puede demostrar para casos particulares, por ejemplo, para la
refutacin con resolucin (apartado 4.5).
- Lgica de predicados de primer orden 125
4.2. Forma clausulada de la lgica de predicados
Definicin 4.2.1. Una clusula es una sentencia de la forma;
Li v L
2
v ... v L
n
donde los L son literales (frmulas atmicas con o sin el smbolo ~l) con cualquier
nmero de variables cada uno. Todas las variables se suponen cuantificadas universal-
mente, aunque no se escriba (Vx!)(Vx
2
) ... delante de la clusula.
Definicin 4.2.2. Diremos que una sentencia est en forma clausulada si tiene la
forma:
(LN v L
12
v ...) A (L
21
v L
22
. . . ) A . . .
en la que cada clusula (L
1
v L
i2
v tiene sus propias variables
De una clusula se dice tambin que es una coleccin de literales (implcitamente
unidos por disyunciones), y de una sentencia en forma clausulada, que es una
coleccin de clusulas (implcitamente unidas por conjunciones).
Se observar que, a partit de este momento, suponemos que no intervienen
variables proposicionales en las sentencias de la lgica de predicados (pero, si
existieran, bastara tratarlas igual que a frmulas atmicas en las que slo intervinie-
sen constantes).
Teorema 4.2.3. Para toda sentencia de la lgica de predicados existe una sentencia
equivalente en forma clausulada.
La demostracin es constructiva: vamos a ver un procedimiento, ampliacin del
dado para la lgica de proposiciones, que permite pasar a forma clausulada cualquier
sentencia. Los pasos, ahora, son siete:
1. Eliminacin de todas las conectivas que no sean v o A (normalmente,
condicionales y bicondicionales). Se hace igual que en lgica de proposiciones:
(A B) = (H A v B)
(A B) = ( 1 4 v 5 ) A ( v "I B)
2. Introduccin de negaciones. Se seguirn utilizando las leyes de de Morgan:
1 (A v B) = ("1 A A "I B)
n (A a B) = (n A v i b)
y ahora, adems, las relaciones ya conocidas entre los cuantifcadores:
-I (3*)(A) - (V*)CI A)
1 (to)(A) - (3x)0 A)
126 Lgica
3. Independizacin de las variables cuantificadas. Se cambian (aplicando la regla
de sustitucin) los nombres de las variables que sean necesarios para que cada
cuantificador se refiera a su propia variable. Por ejemplo,
( V*) 0 P(x) v (3*)(G(*)) - (VX)O P(x) v (3>0(e00)
4. Eliminacin de los cuantificadores existenciales. Este es, de todos los pasos, el
de ms difcil justificacin terica. Consideraremos dos casos:
a) La sentencia abarcada por el cuantificador existencial a eliminar no est dentro
del alcance de ningn cuantificador universal. En tal caso, nos limitamos a introducir
una constante en el lugar de la Variable cuantificada. Por ejemplo, si tenemos la
sentencia
(3JC)(V(JC) A M(e, x))
la transformamos en
V(d) A M(e, a)
Ahora bien, para que esta transformacin fuese correcta (de acuerdo con nuestro
sistema-axiomtico) tendra que existir una ley como;
( 3*xn*) ) ^/ >( )
Pero no existe tal ley. Podemos, de hecho, comprobar que esa sentencia no es vlida,
considerando que el universo del discurso se reduce a {a, b}. n ese caso, l sentencia
equivale a:
(P(fl) v (P(b))^P(a)
Y su tabla de verdad
P(a) P(b) P() v P(b) (P(a) v P(b)) ^ P()
0 0 0 1
0 1 1 0
1 , 0 1 1
1 1 1 1
nos muestra que no es una sentencia vlida (tautologa).
La transformacin nicamente puede justificarse considerando que la constante
que se introduce en lugar de la variable cuantificada por 3 no es como las dems
constantes que puedan figurar en la sentencia: no es un valor concreto de entre los que
pueda tomar x, sino un valor arbitrario. Informalmente, el razonamiento es ste: la
- Lgica de predicados de primer orden 127
sentencia dice que existe un individuo (al menos) con cierta propiedad; inventemos un
nombre para ese individuo, y sigamos adelante. Por ejemplo, la sentencia anterior,
. ((3*)(VX*> a M(e, x))
podra ser una formalizacin de existe una persona, x, tal que x es varn y la
madre de x es Eva (M(e, x)). Al sustituirla por
V{d) A M(e, a)
hemos creado un nombre, a, para esa persona. Si la sentencia fuese ms larga e
incluyese otras constantes, este nombre que introducimos no podra coincidir con
ninguna de ellas. Se trata de una falsa constante, porque no es un valor concreto,
sino un valor arbitrario, y la dificultad terica estriba en que el sistema axiomtico que
tenemos no contempla este tipo de constantes, que se llaman constantes de Skolem.
b) Si la sentencia abarcada por el cuantificador existencial a eliminar est dentro
del alcance de un cuantificador universal, no se puede, como antes, sustituir la
variable cuantificada por una constante de Skolem. Para ver por qu es as, considere-
mos un sencillo ejemplo:
para todo x, si x es humano, existe una y tal que y es la madre de x
La sentencia podra ser:
(Vx)(H(x) (3y)(M(y, *)))
Si sustituimos y por una constante de Skolem, a, tendramos:
(Vx)(H(x) -> M(a, x))
que, literalmente, dira: para todo x, si x es humano, entonces la madre de JC es a, lo
cual es falso (a sera la madre df todos los humanos). Lo que pcurre ahora es que el
valor de la variable (y) cuantificada por 3 depende del que tenga x, y, por tanto, en
lugar de sustituirla por una constante la sustituiremos por una funcin de Skolem,
f(x). Este smbolo de funcin no puede coincidir con ningn otro que figurase ya en la
sentencia. En el ejemplo, la sentencia quedara as:
(yx)(H(x)^M(f(x),x))
(todo humano, x, tiene una madre, /(JE)).
5. Eliminacin de los cuantificadores universales. Contra lo que pudiera pensarse,
este paso no plantea ningn problema. En este momento, si se han seguido los pasos
anteriores, slo existen cuantificadores universales, y cada uno de ellos afecta a una
variable diferente. Por tanto, podemos escribirlos todos al comienzo de la Sentencia.
Y, puesto que todas las variables estn umversalmente cuantificadas (como ya hemos
dicho, slo consideramos sentencias cerradas) podemos omitir la escritura de tales
124 Lgica
cuantificadores. No se trata, pues, en rigor, de eliminarlos sino de suponer que
siempre existen.
Para centrar ideas sobre los pasos seguidos hasta ahora, supongamos que partimos
de la sentencia
[(\/x)(P(x))] -> [(Vx)(Vy)(3z)(P(*, y, z) - (V)(fl(*, y, z, )))]
Eliminando los condicionales,
P (V*)(P(x))j v [(V*XV^)(3z)(n P(x, y, z) v (Vu)(R(x, y, z, )))]
Introduciendo negaciones (la nica a introducir es la primera),
[ ( 3 * ) 0 / >(*))] V [(Vx)(Vy)(3z)(n P(x, y, z) v (Vu)(R(x, y, z, )))]
Independizando las dos variables que tienen el nombre x,
[(3*)(-| P(x))] v [(Vw)(Vy)(3z)(n P(w, y, z) v (Vu)(R(w, y, z, )))]
La variable x puede sustituirse por una constante de Skolem. Pero la z est dentro
del alcance de dos cuantificadores universales: el de w y el de y. Por tanto, la
sustituiremos por una funcin de Skolem, f(w, y):
[-1 P(a)] v [(VW)(VY)(n P(w, y, f(w, y)) v (VH)(/?(M>, Y, f(w, y), )))]
Por ltimo, ponemos en cabeza todos los cuantificadores universales:
(Vw)(Vy)(V
M
){[n P(a)] V [1 P(w, y, f(w, y)) v R(w, y, f(w, y), )]}
Y considerando la asociatividad de la disyuncin, y dando por implcitamente
cUantificadas umversalmente, a todas las variables, escribiremos:
1 P(a) v 1 P(w, y, f(w, f ) ) v R(w, y, f(w, y), u)
6. Distribucin de A sobre v. En el ltimo ejemplo, ya hemos llegado a una
disyuncin de literales, o sea, a una clusula. Pero, en general, tras el ltimo paso
tendremos una sentencia formada por literales unidos por las conectivas A y V, y
aplicaremos, igual que hacamos en lgica de proposiciones, la propiedad distributiva
(Lj A L
2
) v L
3
= (L, v L
3
) A (L
2
v L
3
)
para llegar a una conjuncin de clusulas.
7. Redenominacin de variables para que cada clusula tettga las suyas propias.
Este paso tiene su justificacin en la ley de distribucin del cuantificador universal
- Lgica de predicados de primer orden 129
sobre la conjuncin. En efecto, si tras los pasos anteriores se ha llegado a una
sentencia como
p(x) A Q(x)
(dos clusulas constituidas cada una por un literal), en realidad la sentencia es:
(Vx)(P(x) A Q{X))
y lo que hacemos es sustituirla por su equivalente
(Vx)(P(X)) a (Vy)(P(y))
es decir, nos quedamos con las clusulas P(x) y P(y).
Ejemplo-.
Sigamos todos los pasos con la siguiente sentencia:
(V*){[(3y)(P(y) -> Q(x, y) A R(y))] A [ 1 O j O ^ C / W ) - Q(x, y))]}
1: (V*){[(3y)0 Piy) v (Q(x, y) A R(y)))} A p (3y)(~\ P(f(y)) v Q(x, y))]}
2: (Vjc){|(3y)(H P(y) v (Q(x, y) A R(y)))} A |(Vy)(/'(/-(y)) A 1 Q(x, y))|}
3: (Vx)([(3y)0 P(y) v (Q(x, y) A R(y)))\ A | ( VZ) ( / ' ( / ( Z) ) A T Q(X, Z) ) | }
4: (Vx){[n P(g(x)) v (0(*, g(x)) A P(g(*)))J A [(Vz)(P(/(z)) A Q(x, z))]}
,5: p ' ' 0,' to) v (Q(*, .g(x)) A R(g(x)))\ A |P(/(z)) A H Q(x, z)l.
6-P /'(W) v Q(x, g(*))] A p P(g(x)) v R(g(x))} A [P(f(z))] X z)]
7: Resultan, finalmente, cuatro clusulas:
p(g(x o) v g(xO)
n P(
g
(x
2
)) v i?(
g
(x
2
))
"1 Q(X
3
,z
2
)
Las clusulas se pueden expresar tambin como sentencias condicionales, igual
que veamos en el captulo 2: el antecedente es la conjuncin de los literales negativos,
hechos positivos, y el consecuente es la disyuncin de los literales positivos. Y, lo
mismo que all, se llaman clusulas de Horn a las que slo tienen un literal positivo
(cabeza) o ninguno, y clusula vaca, A, a aquella en la que han desaparecido tdos
los literales.
Con las sentencias en forma clausulada, la idea de la resolucin es la misma que en
lgica de proposiciones: dadas dos generatrices que comparten un literal positivo en la
una y negativo en la otra, obtener la resolvente eliminando ese literal y conservando
los dems. Pero ahora hay un detalle nuevo a considerar: como los literales dependen
130 Lgica
de argumentos, habr que igualar los argumentos de los literales que se eliminan. Por
ejemplo, consideremos la inferencia de modus ponens:
(V*) (//(*) M{x))
M
M(s)
Poniendo las sentencias en forma clausulada,
"I H(x) v M{x)
H(s)
M(s)
Si eliminamos H(s) es porque podemos sustituir x por s en la primera premisa, y as
unificar los dos literales. El proceso de unificacin no es siempre tan fcil como en
este ejemplo, por lo que vamos a estudiarlo en general.
4.3. Sustitucin y unificacin
Ya hemos definido la sustitucin eri el apartado 2.5.2. Pero ahora, por una parte,
no tenemos variables proposicionales, y, por otra, slo ns interesa sustituir vriables
por trminos, y slo en los literales, no en las sentencias en general. Nos quedaremos,
pues, con una definicin restringida de sustitucin:
Definicin 4:3.1. Dadas unas variables JC,, x
2
, ...,x
h
y unos trminos t
u
t
2
,...,
M
en
los que no figuran esas variables, llamaremos ahora sustitucin a un conjunto de pares
ordenados
s = {t
x
/x
u
t
2
lx
2
, ..., t
n
/x
n
}
Definicin 4.3.2. Dados un literal L que contiene las variables x
y
x
2
, y una
sustitucin J (cuyos trminos no pueden contener smbolos constantes ni de funcin
que ya estn en L), la operacin de sustitucin consiste en poner t en todos los lugares
de L donde aparezca x, y ello para todos los pares tjx de s. El resultado, que se
representa por Ls, es un caso de sustitucin en L.
Por ejemplo, sean:
L = P(a, x, f(y))
Si = {b/x, c/y}
s
2
= {b/x, g(z)/y}
s
3
= {z/x, w/y}
- Lgica de predicados de primer orden 131
Los tres casos respectivos de sustitucin en L sern:
Lsv = P(a, b, /(c))
Ls
2
= P(a, b, f(g(z)))
LS
3
= P(a, z, f{w))
Lsi es un caso terminal de L: llamaremos as a los que no contienen variables. Ls
3
es una variante alfabtica de L: slo se han cambiado los nombres de las variables por
otros.
Definicin 4.3.3. Dadas dos sustituciones, s
t
y s
2
, su composicin, S\S
2
, es una
sustitucin tal que Lss
2
= (Ls)s
2
.
La composicin de sustituciones es asociativa (( 1^2)^3 = ^1(^3)) pero, en gene-
ral, no es conmutativa ( s ^ # 2*1) La razn es que .vj y s
2
pueden incluir variables
idnticas que se sustituyen por trminos diferentes, por lo que el resultado de la
composicin depender de cul se aplique primero. Por la misma razn, no puede
calcularse la composicin uniendo simplemente los conjuntos y s
2
. Para el clculo
de hemos de aplicar primero s
2
a los trminos de s y despus aadir los pares de s
2
cuyas variables no estn entre las de Si. Por ejemplo, la composicin de
si = {fix, y)/z}
y
s
2
= {aht, b/y, c/z, d/u}
sera:
.V|.y
2
= {f(a, b)/z, a/x, b/y, d/u)
mientras que, si invertimos el orden,
s
2
si = {a/x, b/y, c/z, d/u} = s
2
(porque cuando fusemos a aplicar J ya habramos aplicado antes s
2
, con la que
habra desaparecido la z, sustituida por c).
Definicin 4.3.4. Diremos que un conjunto de literales {L} (i = 1, 2, ..., n) es
unificable si existe una sustitucin s tal que Lis = L
2
s = ... = L
n
s. En tal caso,
diremos que s es un unificador de {L,} y que los literales L, se unifican en Ls.
Por ejemplo, sea {L} = {P{a,x, f(y)),P(a, x, f(b)}. Un unificador sera s = {c/x,
y Ib}, con el que ambos literales se unifican en P(a, c, fib)). Pero no es el nico: hay
otro unificador ms pequeo, fi = {yIb), con el que se unifican en P(a, x, fib)).
Teorema 4.3.5. Si {L} es unificable, entonces existe un unificador ms general, o
unificador mnimo, x, que tiene dos propiedades:
132 Lgica
a) Si s es otro unificador de {L,}, entonces existe una sustitucin s' tal que
s = /AS', es decir, Ls es un caso de L,/A. (En el ejemplo anterior, P(a, c, f(B)) es
un caso de P(a, x, f(b)) para s' = {c/x}).
b) Lifji es nico salvo por variantes alfabticas.
No entraremos en la demostracin de este teorema, que es algo laboriosa, y que es
constructiva: se llega a un algoritmo para encontrar el unificador ms general de
cualquier conjunto de literales que sea unificable.
4.4. La regla de resolucin
Sean dos generatrices,
G
t
= L
l t
v L12 v ...
G
2
L21 v L
22
v ...
o, expresadas como conjuntos de literales,
1 = { M
G
2
= {L
2i
}
Y sean {l
u
} c {L
1(
} y {l
2
} <= {L
2i
} tales que {l
u
} U {~l /
2(
} es unificable, siendo
(JL el unificador mnimo. Entonces decimos que {L
u
} y {L
2
,} se resuelven en Z
lf
y que
de ambas generatrices se infiere la resolvente:
[{1,-} - U [{L
2
} - {i
2i
)V
La justificacin terica de esta regla de inferencia es la generalizacin de las leyes
de inferencia de la alternativa que veamos en el apartado 2.5.5. Para comparar
aquella ley con lo que acabamos de decir, obsrvese que, al unificar, {/
1(
} se reduce a
un solo literal, que corresponde al que all llambamos P(x 1, ..., x
n
), y {l
2i
} a otro,
H P{x
u
..., x).
Ejemplo:
Sean,
G, = P(a, x,f(a)) y ~1 Q(x)
G
2
=-1 P(a, y, /()). y "1 P(a, y, f(z)) v Q(z)
Podemos elegir {/
1(
} y {/
2(
} de varios modos, y con cada uno obtendremos una
resolvente distinta:
a) {/} = {P(a, x, f{a))}-, {/
2
} = {~1 p(a, y, f(a))}
El unificador mnima es x. = {xly}, y la resolvente:
R = H Q(x) v "I P(a, x, f(z)) .v Q(z)
- Lgica de predicados de primer orden 133
b) {/} = {P(a, x, /(); {/
2
,} = O P{a, y, f(z))}
li = {.x/y, a/z}
R = 1 Q(x) v "I P(a, x, f{)) v Q(a)
c) {/} = {P(a, x, /(a))}; {/
2
,} = {~l P(a, y, f(a)), 1 P(a, y, fc))}
fi = {x/y, a/z}
R = Q(x) v Q(a)
Las tres anteriores son resoluciones en P. Tambin podemos hacer una resolucin
en Q:
-D) {/} = N Q(x)}\ {/
2
,J = {Q(Z)} .
(X = {x/z}
R = P(a, x, f(a)) v "1 P(a, y, f(a)) v ~1 P(a, y, f(x))
Puede demostrarse que la resolucin es consistente: toda conclusin que se infiera
tambin se deduce (o sea, se satisface para todas las interpretaciones que satisfacen a
las premisas). i
4.5. Refutacin
Aqu es totalmente aplicable todo lo dicho en el apartado 5.8 dej captulo 2,
porque la ley de reduccin al absurdo se aplica tambin en lgica de predicados. Es
decir, si
P Pi A P
2
A . . . A P
es una sentencia con todas sus variables cuantificadas universalmente, igual que C,
P > C ser verdadera y, por tanto, C ser una conclusin de P
u
P
2
, ..., P, si (y slo
si) de la conjuncin de P y ~1 C resulta una contradiccin. Con la resolucin, la
contradiccin se manifestar por la obtencin de la clusula vaca.
Se puede demostrar que la refutacin con resolucin y con bsqueda exhaustiva
(Definicin 5.7.2 del captulo 2) es un sistema inferencial consistente (si se obtiene la
clusula vaca, C se deduce de P) y completo (si C se deduce de P siempre se obtiene
la clusula vaca). El problema es que la bsqueda exhaustiva exige ahora comprobar
para todas las unificaciones posibles entre todas las clusulas, y en problemas cuyo
tamao (que depende del nmero de premisas, de clusulas en cada premisa y de
literales en cada clusula) empiece a ser elevado, se produce el fenmeno llamado
explosin combinatoria: el nmero de combinaciones a explorar se hace tan
elevado que las mquinas actuales no pueden llegar a la solucin en un tiempo
aceptable. Por ello, se utilizan otras estrategias para el sistema inferencial, y no todas
ellas son completas.
134 Lgica
Ejemplo:
Volvamos al Ejemplo 1.7.4, y, para simplificar, supongamos que con el predicado
P(x, y) representamos x es el padre o la madre de y. Tendremos entonces dos
hechos y la definicin de abuelo de:
Pl : P(a, /)
P2: P(j, a)
P3: (V*)(Vy)(Vz)(P(*, y) A P(y, z) A(x, z))
La conclusin evidente en este caso es A{j, /). Pero normalmente tendremos
muchos ms hechos (y muchas ms definiciones), y podramos plantearnos la pregun-
ta: dados los hechos y la definicin de abuelo, existen abuelos?. Vamos a ver que
la refutacin no slo nos permite responder a la pregunta, sino, si la respuesta es
afirmativa, averiguar los individuos que estn en la relacin.
La pregunta que acabamos de hacer se formalizara as:
C: (3x)(3y)(A(*, y))
Si la respuesta es positiva entonces se podr refutar C. Pongamos primero P3 y C
en forma clausulada:
P3 : 1 P(x, y) v "I P(y, z) v A(x, z)
1 C : 1 A(u, v)
Resolviendo en A estas dos clusulas mediante p, = {x/u, z/v},
Cl: 1 P(x, y) v 1 P(y, z)
Resolviendo en P, Pl con Cl mediante x - {a/y, IIz},
Cl: 1 P(x, a)
Y resolviendo finalmente P2 con Cl mediante /X = { / / JE} ,
C3:A
Pero no solamente hemos obtenido la refutacin, sino tambin los valores de las
variables mediante los cuales se refuta. Efectivamente, las dos variables iniciales de la
pregunta, u yv, las sustituimos por x y z, y posteriormente z se sustituy por l y x por
j. Luego ly j son los dos individuos que estn en la relacin.
Ahora bien, supongamos que nuestro procedimiento es tal que al resolver Pl con
Cl escoge el primer literal de Pl en lugar del segundo. En tal caso, hara la unificacin
con j, = {a/x, l/y} y obtendra
Cl: 1 P(l, z)
- Lgica de predicados de primer orden 135
y si el procedimiento (no de bsqueda exhaustiva) ya no vuelve a considerar Cl ,
entonces habr llegado a un punto muerto, puesto que no puede hacer ms resolucio-
nes.
5. RESUMEN
La lgica de predicados nos permite entrar en la composicin de los enunciados,
que en lgica de proposiciones se representan con simples variables proposicionales.
Ahora tendremos, en lugar de variables proposicionales, predicados, que representan
propiedades de individuos o relaciones entre individuos, y constantes y variables, que
representan a esos individuos.
Hemos seguido un camino paralelo al del captulo 2, ampliando a la lgica de
predicados el sistema axiomtico, la semntica y los sistemas inferenciales, detenin-
donos especialmente en la regla de resolucin, cuya aplicacin es algo ms complicada
aqu, primero por la existencia de variables cuantificadas, que exige ciertas manipula-
ciones sobre las sentencias para expresarlas en forma clausulada, y luego porque en el
emparejamiento de literales complementarios hay que buscar unificaciones.
El ltimo ejemplo, que se complementa ms adelante con el Ejercicio 7.4, permite
vislumbrar cmo el mtodo de resolucin puede servir para bsquedas en bases de
datos construidas sobre la declaracin de hechos elementales y de definiciones de
relaciones.
6. NOTAS HISTRICA Y BIBLIOGRFICA
Robinson (1965) propuso el mtodo de resolucin junto con un algoritmo de
unificacin. Anteriormente, Davis y Putnam (1960) haban presentado un procedi-
miento para la expresin de sentencias en forma clausulada. Y mucho antes, el
matemtico Thoralf Skolem (1928) haba propuesto el uso de las funciones qu llevan
su nombre.
La que hemos llamado bsqueda exhaustiva es la estrategia de control ms
rudimentaria para sistemas inferenciales basados en la regla de resolucin (en la
terminologa de la inteligencia artificial, es una bsqueda del tipo breadth first). Se
han propuesto muchas otras estrategias, algunas no completas, en aras de una mayor
eficacia. Una buena sntesis puede encontrarse en Nilsson (1982, cap. 5).
Aunque en este captulo hayamos puesto un nfasis especial en los mtodos
basados en la regla de resolucin, no se debe concluir por ello que ste sea el nico
sistema inferencial programable. De hecho, hay situaciones en las que la forma
clausulada de la lgica no es la ms apropiada, y se prefiere un sistema inferencial que
opere sobre sentencias expresadas en la forma estndar.
Aparte de las aplicaciones para el diseo de sistemas basados en conocimiento, de
las que hablaremos en el captulo 6, la lgica formal se utiliza tambin como base para
la definicin de lenguajes de especificacin de programas. Este es un tema de gran
importancia en ingeniera del software: la programacin, tradicionalmente, ha tenido
siempre ms de arte que de ciencia; ahora se trata de elaborar teoras y mtodos
136 Lgica
formales que permitan la mejora de la productividad y la fiabilidad del software. Un
mtodo que se est utilizando cada vez ms en Eur opa es el VDM (Vienna Develop-
ment Met hod), y una referencia aconsejable sobre este tema es el libro de Jones
(1986).
Hay muchos libros sobre lgica recomendables para ampliar lo expuesto en este
captulo. Destacamos el de Robinson (1979), el de Kowalski (1979) y el de Cuena
(1986).
7. EJERCICIOS
7.1. Expresar como sentencias en lgica de predicados los siguientes enunciados:
a) Existen individuos qu, sin ser completamente idiotas, se comportan como tales.
b) Todo lo que no es tradicin es plagio. ( Eugeni o D' Or s ) .
c) Diremos que una mquina es inteligente para un tipo de tareas si un observador es
incapaz de distinguir por el resultado a la mquina de un humano que sabe resolver
ese'tipo de tareas. (Esto es lo que se llama test de Turing).
d) Un descendiente de una persona es o bien un hijo de esa persona o bien un hijo de un
, descendiente.
7.2. Considerar la premisa:
P: En un pueblo hay un barbero que afeita a todas las personas del pueblo que no se
afeitan a s mismas, y slo a ellas.
Se puede inferior la conclusin C: El barbero se afeita a s mismo? Si esta conclusin
fuese verdadera, la premisa nos dice que tendra que ser falsa (slo afeita a los que no se
, afeitan a s mismos), y si fuese falsa, la premisa nos dice qup tendra que ser verdadera
(afeita a todos los que no se afeitan a s .mismos). Esta es la llamada paradoja del
barbero, debida a; Bertrand Russell. Descubrir el origen de la paradoja mediante el
anlisis formal de la premisa.
7.3. Formalizar los siguientes razonamientos y comprobar las conclusiones mediante resolu-
cin y refutacin:'
a) Pl : Ningn ordenador se equivoca. ,
P2: El que tiene boca se equivoca.
C : Ningn ordenador tiene boca.
b) Pl : Algunos ordenadores se equivocan.
P2: El que tiene boca se equivoca.
P3: Algunos ordenadores tienen boca.
c) Pl : Todos los libros de informtica son instructivos.
P2: Ninguna novela es un libro de informtica.
C : Ninguna novela es instructiva.
d) Pl : Todos los informticos saben programar.
P2: Los humanistas no saben programar.
P3: Algunos humanistas saben leer programas.
C : Algunos que saben leer programas no son informticos.
- Lgica de predicados de primer orden 137
e) P : No existe nadie que sea al mismo tiempo maestro de alguien y alumno de
ese mismo alguien.
Cl: Nadie es maestro de s mismo.
C2: Nadie es alumno de s mismo.
f) Pl : Todos los animales que no cocean son flemticos.
P2\ Los asnos no tienen cuernos.
P3: Un bfalo siempre puede lanzarlo a uno contra una puerta.
.P4: Ningn animal que cocea es fcil de engullir.
P5: Ningn animal sin cuernos puede lanzarlo a uno contra una puerta.
P6: Todos los animales son excitables, excepto los bfalos.
C : Los asnos no son fciles de engullir.
g) Pl : Los animales se irritan siempre mortalmente si no les presto atencin.
P2: Los nicos animales que me pertenecen estn en ese prado.
P3: Ningn animal puede adivinar un acertijo a menos que haya sido adecuada-
mente instruido en un colegio con internado.
P4: Ningn animal de los que estn en este prado es un tejn.
P5: Cuando un animal est mortalmente irritado corre de un lado para otro sal-
vajemente y grue.
P6: Nunca presto atencin a un animal, a no ser que me pertenezca.
Pl: Ningn animal que haya sido adecuadamente instruido en un colegio con in-
ternado corre de un lado para otro salvajemente y grue.
C : Ningn tejn puede adivinar un acertijo.
(Estos dos ltimos razonamientos proceden de Lewis Carroll. En el libro de Deao
vienen las correspondientes inferencias mediante un sistema de deduccin natural, que
pueden compararse con las realizadas mediante resolucin; para el c), Deao utiliza 21
pasos de aplicacin de las regls de inferencia, y para el d), 24).
7.4. Completar la definicin recursiva de antepasado de que dbamos en el Ejemplo 1.7.5
para que incluya separadamente las relaciones padre de y madre de. Aadir varios
hechos (relaciones padre de y madre de definidas sobre individuos concretos)
imaginarios o reales (tomados, por ejemplo, de una familia real, en cualquiera de las'
acepciones de real) de manera que existan varios individuos que estn en la relacin
antepasado de. Ver entonces cmo mediante refutacin podemos encontrar estas
parejas de individuos.
Captulo 5
OTRAS LOGICAS
1. INTRODUCCIN
La lgica nos permite modelar los procesos del razonamiento. Pero, como todo
modelo, no es ms que na aproximacin a la realidad que s concentra en determina-
dos aspectos relevantes de esa realidad y que n contempla infinidad d matices y
detalles. Las lgicas llamadas no clsicas son las que abordan alguno de los aspectos
no modelados en la lgica de proposiciones ni en la lgica de predicados. Y son de
utilidad en informtica Cuando tles aspectos juegan un papel importante en el
fenmeno o problema estudiar o en la aplicacin desarrollar.
Dentro de ests otras lgicas^ pueden considerarse dos tipos: uno, el de las que
amplan los lenguajes de los clculos de proposiciones y de predicados y en las que
todas las construcciones y teoremas de stos siguen siendo vlidos, y otro, el de las
que invalidan algunas leyes. Por ejemplo, en las lgicas multivaloradas o polivalentes,
que son aquellas en las que se admiten interpretaciones intermedias entre la verdad
y la falsedad, la ley del tercio excluso, b (A v T A ) , deja de ser vlida.
El campo es demasiado amplio como para pretender darle aqu un tratamiento al
mismo nivel formal y con la misma extnsin qu hemos hecho con las lgicas de
proposiciones y de predicados. Por ello, nos limitaremos a una exposicin informal y
resumida de las lgicas ms conocidas, apuntando solamente sus aplicaciones en
informtica y extendindonos finalmente con un poco ms de detalle en una de ellas,
la lgica borrosa. Remitimos al lector interesado en profundizar sobre alguna de ests
lgicas, a la bibliografa comentada en e apartado 6.
139
140 Lgica
2. AMPLIACIONES DE LA LGICA DE PREDICADOS
2.1. Lgica de predicados de orden superior
Tras la lectura del captulo anterior, el lector que haya reparado en su ttulo
albergar, seguramente, una duda: por qu lgica de predicados de primer orden!
La respuesta es, naturalmente, que hay lgicas de predicados de segundo orden, de
tercero, etc.
En la lgica de predicados de segundo orden los predicados pueden cuantificarse y
utilizarse como variables. En el lenguaje cotidiano solemos hacerlo. Por ejemplo,
cuando decimos todos los espaoles comparten algn rasgo comn, que habramos
de formalizar as:
(3/)((Vjc)((*)->/?(*)))
(existe al menos un rasgo, R, tal que, para todo x, si x es espaol, x tiene el rasgo
R). O cuando decimos el cobre es conductor, propiedad que es muy interesante,
que formalizaramos as:
C(c) A I ( Q
Los predicados que se refieren a propiedades (/, en el ltimo ejemplo) pueden
tambin cuantificarse, y as entramos en la lgica de predicados de tercer orden, y as
sucesivamente.
Las reglas de formacin dadas en e captulo 4 pueden ampliarse fcilmente para
que permitan obtener sentencias de la lgica de predicados de orden superior. No
ocqrre lo mismo con el sistema axiomtico. El problema es que muchos sistemas que
se han propuesto son inconsistentes y conducen a paradojas. (Por ejemplo, la
paradoja de la sentencia esta sentencia es falsa: si la sentencia es verdadera, hay que
concluir que es falsa, y viceversa). Para resolverlo, se han elaborado esquemas
tericos, como las teoras de los tipos, que en informtica encuentran aplicaciones
en la definicin semntica de lenguajes de programacin, aunque aqu no entraremos
en ese campo.
2.2. Lgica de clases y lgica de relaciones
En realidad, las lgicas de clases y de relaciones no aaden nuevos aspectos a la
lgica de predicados: representan otra manera de expresarla, con construcciones
sintcticas ms cercanas a la teora de conjuntos.
Una clase es una entidad abstracta que designa a todos los individuos que
comparten alguna propiedad. Conceptualmente, clase y conjunto son dos cosas
diferentes: no es lo mismo la clase de los libros de informtica, algo abstracto que
designa a todos los objetos que comparten las propiedades de ser libros y de tratar
sobre informtica, del conjunto de todos los libros de informtica, que es algo
concreto. Pero las mismas operaciones que se definen entre conjuntos (unin,
Otras lgicas 141
interseccin, etc.) son tambin vlidas entre clases. Y consiguientemente, el lgebra
de Boole, que es un modelo para la teora de conjuntos, tambin lo es para la lgica
de clases.
El alfabeto de la lgica de clases incluye los smbolos para representar a las clases
(A, B, C, ...)>. l
s
smbolos de la teora de conjuntos (U, Cl, c , e, etc.) y las
conectivas de la lgica clsica. Por ejemplo, el razonamiento todos los hombres son
mortales, Scrates es un hombre, luego Scrates es mortal se formalizara as en
lgica de clases:
((H c M) (s e H))^ (s e M)
Puesto que a toda propiedad corresponde una clase, y los predicados mondicos
representan propiedades de individuos, todo lo que pueda representarse en lgica de
predicados mondicos puede tambin representarse en lgica de clases y estudiarse
con la herramienta del lgebra de Boole. Sugerimos, por ejemplo, al lector, que
analice mediante diagramas de Venn los razonamientos utilizados como ejemplos en
el captulo anterior.
La equivalencia entre lgica de clases y lgica de predicados mondicos se ve
claramente si consideramos que la clase C de los individuos que comparten la
propiedad P puede definirse, utilizando la terminologa de conjuntos, as:
C = {x | P(x)}
As como la lgica de clases es equivalente a la lgica de predicados mondicos y
su modelo matemtico es el lgebra de clases, que es un lgebra de Boole, la lgica de
relaciones es equivalente a la lgica de predicados polidicos y su modelo matemtico
es el lgebra de relaciones, una extensin del lgebra de Boole elaborada por de
Morgan y Pierce. Por ejemplo, la relacin R entre padre e hijo ser la que existe entre
todos los pares ordenados {x, _y) tales que el predicado P(x, y) es cierto:
R^{(x,y)\P(x, y)}
En el lgebra de relaciones se definen la relacin universally la relacin vaca y un
conjunto de operaciones: complementacin, unin, suma, diferencia, seleccin,
proyeccin y productos de relaciones. Su inters informtico radica en el hecho de
constituir un modelo matemtico de gran utilidad para el diseo de un tipo de bases de
datos llamadas, precisamente, relacinales.
2.3. Lgica de predicados con identidad
Muchos enunciados establecen la relacin de identidad entre individuos. Por
ejemplo, en
Espaa es el ms meridional de los pases europeos
establecemos una identidad entre Espaa y el ms meridional de los pases
europeos. Este uso del verbo ser para denotar la identidad es muy distinto de otros
142 Lgica
que hemos visto antes, como el ser de la predicacin (Espaa es un pas
europeo), el ser de la pertenencia (Espaa pertenece a la clase de los pases
europeos) o el ser de la inclusin (la clase de los espaoles est incluida en la clase
de los europeos).
En principio, la identidad no es ms que un predicado didico como cualquier
otro. Si los lgicos le dan una importancia especial es porque muchos razonamientos
slo pueden explicarse ampliando el lenguaje d la lgica de predicados para que lo
considere como un caso especial. Por ejemplo:
Pl : El que invent la palabra telemtica es abulense
P2: El que invent la palabra telemtica ha escrito La vida en un chip
P3: El que ha escrito La vida en un chip es Luis Arroyo
C : Luis Arroyo es abulense
Obsrvese que en Pl y en C se utiliza el ser de la predicacin (o de la pertenencia,
segn se adopte la ptica de la lgica de predicados o de la lgica de clases), mientras
que en P2 y P3 es el ser de la identidad.
Tradicionalmente, en lgica se definen las descripciones para tratar con enuncia-
dos de ese tipo, y se introducn un nuevo smbolo, =, para la relacin de igualdad, y
un nuevo cuantificador, i (iota), para formalizar expresiones del tipo el x tal que...,
de modo que el razonamiento anterior se formaliz as:
Pl : A((uc)(I(x, t)))
P2: (X)(/(X, I)) = (IX)(E(X, V))
P3: (ix)(E(x, y)) = a
C : A(a)
Y una ampliacin del sistema axiomtico permite analizar razonamientos de ese
tipo.
Pero tenemos otro recurso expresivo para formalizar ese tipo de razonamientos:
las funciones. Definiendo las funciones f(y) y f
e
(y) en sustitucin de el x tal que x
invent y y el x tal que x ha escrito y, tendremos:
pi-Am)
Pl: fi(i) = feiy)
P3: f
e
(v) = a
C : A(o)
Nuestro sistema inferencial slo necesita de la adicin de una regla mediante la
cual pueda sustituirse cualquier trmino por otro que sea idntico a l.
. 2.4. Lgica modal
Una variable proposicional p (o, en su caso, una frmula atmica) expresa es el
caso quep, o p es verdadera, mientras que p expresa no es el caso quep, o p
Otras lgicas 143
es falsa. La lgica modal se introdujo para poder dar cuenta de las llamadas
expresiones modales o modalidades, que son las que incluyen declaraciones del
tipo es necesario que, es posible que, es imposible que.
En lgica modal se definen dos nuevas conectivas uaras: una para la posibilidad,
y otra para la necesidad, . Es posible que p se representa por f p, y es
necesario quep, por p. En realidad, bastara con una sola de ellas para las tres
modalidades enunciadas:
es posible que p: f p, o bien ~l p
es necesario que p: p, o bien ~l ^ ~l p
es imposible que p: 1 ^ p, o bien p
Mediante estos nuevos conceptos, los lgicos han formalizado d manera ms
convincente la relacin de deducibilidad, que en lgica de proposiciones y de
predicados se hace con un simple condicional. A diferencia de la implicacin
material (A>B, recurdese la discusin sobre el significado del condicional en el
apartado 1.3 del captulo 2), la implicacin estricta, A => B, se define as:
H (A A "I B)
donde, por la misma definicin de interviene la idea de posibilidad. El uso de esta
nocin requiere, a efectos semnticos, el concepto de mundos posibles: ^ A ser
verdadera si A lo es en alguno dlos mundos posibles, y A ser verdadera si A lo es
en todos los mundos posibles.
En informtica, la lgica modal tiene aplicaciones en la teora de lenguajes de
programacin y en los sistenas inferenciales llamados no monotnics, que son
aquellos en los que se obtienen conclusiones provisionales que pueden verse invalida-
das a l luz de nuevas evidencias.
2.5. Lgica temporal
Considerada por algunos autores como un tipo de lgica modal, la lgica temporal
es aquella en la que la funcin de interpretacin depende del instante. Se introducen
en ella dos predicados temporales:
F(A): A ser verdadera en algn instante futuro
P(A): A fue verdadera en algn instante pasado
a partir de los cuales pueden definirse otros, por ejemplo:
F(~\ A): A ser verdadera en todo instante futuro
1 P(1 A): A fue verdadera en todo instante pasado
y un predicado de precedencia temporal, T(t
lt
t
2
), que ser verdadero si i < t
2
y falso
144 Lgica
en caso contrario, y con el cual se puede extender la funcin de interpretacin a los
nuevos predicados:
I(t, F(A)) = 1 si y slo si hay un t' tal que T(t, t') e I(t', A) = 1
I(t, P(A)) = 1 si y slo si hay un t' tal que T(t', t) e l(t', A) = 1
En informtica, la lgica temporal tiene aplicaciones para los trabajos sobre
especificacin y verificacin de programas, as como para todos aquellos en los que
interviene la concurrencia y-la intercomunicacin entre procesos.
3. LGICAS MULTIVALORADAS
La idea que motiva a todas las lgicas multivaloradas, tambin llamadas multiva-
lentes o polivalentes, radica en el hecho de que a veces somos incapaces de asignar
valores de verdad o falsedad absolutos a las sentencias. Ahora bien, esto es algo
que ya habamos previsto en nuestra definicin de interpretacin (definicin 3.1.2
del captulo 2): decamos que el conjunto de valores semnticos, V, debe tener, como
mnimo, dos valores. Hasta ahora, hemos considerado que card(V) = 2. Las lgicas
multivaloradas sern aquellas en las que card(V) > 2.
Consideremos el caso ms sencillo: card(V) = 3. Podemos adoptar en este caso,
por ejemplo, los smbolos 1 para verdadero, 0 para falso y '/2 para ni
verdadero ni falso. Esta es, por cierto, una interpretacin semntica] una interpreta-
cin pragmtica sera: 1 para sabemos que es verdadero, 0 para sabemos que
es falso y 'A para no sabemos si es verdadero o falso. Pues bien, en esta lgica
trivalorada (o trivalente) la extensin del, dominio de la funcin de interpretacin para
las sentencias puede hacerse teniendo en cuenta la siguiente tabla que define las
conectivas en el conjunto V:
A B - ~\A A A B Av B A^>B A<-> B
0 0 1 0 0 1 1
0 1 0 1/2 1 Vi.
0 1 1 0 1 1 0
v 0 v& 0 Vi Vi Vi
Vi Vi Vi Vi Vi 1 1
Vi 1 Vi . Vi 1 1 Vi
1 0 0 0 1 0 0
1 Vi 0 Vi 1 Vi Vi
1 1 0 1 1 1 1
(Como puede observarse, si se eliminan las filas en las que A o B se interpretan Vi,
queda la tabla binaria clsica).
Otras lgicas 145
Para la interpretacin de sentencias con variables cuantificadas bastar tener en
cuenta que V y 3 son generalizaciones de A y V respectivamente:
I(Vx)(A(x)) = 1 si (Vx)(I(A(:c)) = 1)
= 0 si (3*)(/(A(;c)) = 0)
=
x
h en otro caso
/(3*)(A(*)) = 1 si (3*)(/(A(x)) = 1)
= 0 si = 0)
= Vz en otro caso
Invitamos al lector a considerar la justificacin de estos significados de las
conectivas. Por*ejemplo, l condicional puede analizarlo sobre el ejemplo si corro,
entonces me canso que considerbamos en el captulo 2 para ilustrar el sentido del
condicional en el caso de interpretacin binaria.
La generalizacin para cualquier V tal que card(V) > 3 puede hacerse mediante
las siguientes definiciones (llamadas leyes de Lukasiewicz):
O A) = 1-1(A)
I(A A B) mn(1(A), 1(B))
I(A v B) = mx(I(A), 1(B))
/ (A** B) = 1 si 1(A) < 1(B)
I(A B) = 1 -1(A) + 1(B) si 1(A) > 1(B)
I((Vx)(A(x))) = mn (I(A(x)))
I((lx)(A(x))) = mx(I(A(x)))
que, como puede comprobarse fcilmente, coinciden con as dadas por la tabla para el
caso particular de la lgica triyalorada (card(K) = 3).
Si hacemos V = | ^ x ^ 1} tendremos una lgica con infinitos valores de
interpretacin, que puede ponerse en relacin con la lgica probabilitaria, en la que
las conectivas se corresponden con operaciones de la teora de probabilidades. Para el
operador de negacin, esta correspondencia es inmediata; as, porejemplo, si tiramos
un dado, en el lenguaje de las probabilidades decimos: el suceso 'sacar un tres' tiene
probabilidad 1/6, y el suceso contrario tiene probabilidad ,1 1/6 = 5/6, mientras
que en el lenguaje de la lgica diramos: la sentencia 'al tirar un dado sale un tres'
tiene el valor de verdad 1/6, mientras que la sentencia 'al tirar un dado sale un nmero
distinto de tres' tiene el valor de verdad 1 - 1/6 = 5/6.
Hay un modelo algebraico para este tipo de lgicas, las lgebras de Post, en el que
no vamos a entrar aqu. S nos parece oportuno detenernos con cierto detall en un
tipo especial de lgica infinitamente valorada que tiene muchas posibilidades de
aplicacin en el diseo de sistemas basados en conocimiento: la lgica borrosa.
146 Lgica
4. LGICA BORROSA
4.1. Justificacin
Existe actualmente mucho inters (tanto cientfico-tcnico como econmico) por
los llamados sistemas expertos, y su porvenir parece asegurado, a la vista de los
programas de investigacin en informtica japoneses, americanos y europeos. Por
ello, dedicaremos el siguiente captulo a la exposicin de sus principios bsicos. Como
all veremos, un problema fundamental que se presenta es el de representar en la
mquina los conocimientos y los procedimientos inciertos e imprecisos que utilizan los
expertos humanos para resolver problemas. En la mayora de los sistemas expertos
que se han construido o se estn diseando se adoptan tcnicas ad hoc para atacar
ese problema. Pero existen intentos tericos para introducir en la lgica formal la
imprecisin y la subjetividad propia de la actividad humana, y parece obvio que en el
futuro se tienda a basar rigurosamente el diseo de los sistemas expertos en tales
teoras. La ms conocida de ellas es la lgica borrosa (fuzzy logic). Las considera-
ciones anteriores, unidas a la escasez de bibliografa en espaol sobre el tema, nos han
incitado a dedicar una atencin especial a la lgica borrosa en este captulo de otras
lgicas.
La lgica borrosa va an ms all que las lgicas con infinitos valores de verdad.
Porque ya no slo se trata de considerar que hay una infinidad de valores semnticos
entre verdadero y falso, sino tambin de tener en cuenta que estos mismos
valores de verdad son imprecisos. Por ejemplo, a la sentencia este prrafo es de
difcil comprensin podra asignrsele el valor de verdad 0.7 en lgica multivalorada.
Pero generalmente hacemos inferencias imprecisas, como si alguien encuentra muy
difcil comprender un prrafo, casi con seguridad abandona la lectura; este prrafo es
de difcil comprensin para tal persona, luego es probable que esa persona abandone
la lectura. La lgica multivalorada no nos permite hacer inferencias como esa,
porque intervienen en ella matices (relaciones entre difcil y muy difcil, entre
casi con seguridad y es probable) imposibles de abordar con la simple extensin
del conjunto de valores de verdad.
Ese tipo de inferencia imprecisa es el que pretende bordar la lgica borrosa. Y
para ello parte de una reconsideracin del mismo pilar bsico de las matemticas: el
concepto de conjunt. En la relidd se presentan situaciones (particularmente,
cuando aparecen consideraciones subjetivas) en las que result difcil determinar la
pertenencia o no de un elemento a un conjunto. Por ejemplo:
* el conjunto de los nmeros naturales mucho mayores que 100: parece claro que
101 no pertenece al conjunto, y que 10
10
s, pero y 500?;
* el conjunto d las personas pobres: pertenezco yo a ese conjunto?;
* el conjunto de las jnujeres preciosas, etc.
Tales conjuntos pueden denominarse borrosos (o difusos) para indicar que no
existe un criterio que determine exactamente un lmite entre pertenencia y no perte-
nencia al conjunto.
Pero, en este momento, el lector atento puede objetar: lo que ocurre es que no se
ha establecido el criterio para definir los conjuntos. As, en el primer ejemplo, puede
Otras lgicas 147
decirse (por convenio, o por hiptesis de trabajo) que el lmite est en 1.000; en el
segundo, que es pobre toda persona que, sin tener patrimonio, perciba unos ingresos
inferiores al salario mnimo; y en el ltimo ejemplo ya es ms difcil establecer un
criterio, porque a quin se le ocurre tratar de determinar matemticamente tal
conjunto?.
Ahora bien, si tratamos de formalizar las relaciones del hombre con su entorno
siempre vamos a encontrarnos con elementos imprecisos o borrosos, sobre todo en
la actividad ms tpicamente humana, el lenguaje. Cuando alguien est aprendiendo a
conducir, en un determinado momento puede recibir una orden del instructor como
sta: levante ligera y lentamente el pie del embrague, pero nunca una como sta:
levante el pie 8
o
a una velocidad de 230' por segundo. Y, sin embargo, el hombre,
considerado como sistema, se comporta bien (aprende) con entradas borrosas como
las del primer caso, mientras sera difcil que lo hiciera con las del segundo tipo.
A poco que se reflexione, se llegar a la conclusin de que si pretendemos analizar
sistemas muy complejos como el hombre, las sociedades, etc. (ya sea con espritu
puramente cientfico, ya sea con fines utilitarios: diseo de mquinas que puedan
razonar, tomar decisiones, comprender el lenguaje natural, etc.), resulta imprescindi-
ble introducir en los modelos la imprecisin y la subjetividad propias de la actividad
humana. Porque, adems, en estos sistemas complejos se da el hecho de que
significacin y precisin son incompatibles. Esto quiere decir que los resultados
muy precisos suelen tener poco significado, y lo que interesa ms bien son resultados
cualitativos.
Estas consideraciones conducen a una reformulacin del concepto bsico de
conjunto, admitiendo grados de pertenencia de los elementos a los conjuntos. Puesto
que la lgica borrosa se apoya en la teora de conjuntos borrosos, ser preciso que
veamos previamente los elementos bsicos de esa teora.
4.2. Subconjuntos borrosos
En la teora clsica, dado un elemento x de un universo U, y un subconjunto,
A cz U, hay dos posibilidades: x e A o x $ A. Puede definirse una funcin caracters-
tica de pertenencia, i
A
, tal que /x
A
(x) = 1 si x e A y /x
A
(x) = 0 si x $ A. Es fcil
demostrar que:
P-xix) = 1 - P-A(X)
MvinsM = Va(X) ' VB{X)
H(X) = JJ-
A
(X) + V>B{
X
) (suma lgica)
Definicin 4.2.1. Dado un universo U, un subconjunto borroso, A, de U, es un
conjunto de pares
{(x\n
A
(x))},Vx e U,
donde fju
A
(x) es una funcin que toma sus valores en un conjunto M llamado conjunto
de pertenencia.
148 Lgica
Generalmente se toma M {m\m e [0,1]}; si se hace M = {0, 1}, entonces A se
reduce a un subconjunto ordinario, de manera que la teora clsica de conjuntos es un
caso particular de la teora de conjuntos borrosos.
Ejemplo 4.2.2. Si U = {1, 2, 3, ..., 10}, podemos definir el subconjunto varios,
V, como:
V = {3|0,5; 4|0,8; 5| l; 6| l; 7|0,8; 8|0,5}
La asignacin de valores a (vi*) es totalmente subjetiva, de manera que otra
persona dara, con toda probabilidad, otras cifras.
Ejemplo 4.2.3. Si U = {x\x e [0,150]} se interpreta como el conjunto de edades
posibles de un ser humano, podran definirse los subconjuntos borrosos / (joven) y V
(viejo) as:
L = { OI I W40; 01(1 + ( X- 4 0 )
2
/ 4 0 ) -
1
) ,
>
4 O }
V = {OIOW40; 01(1 + 40/0 - 4 0 )
2
) - \ > 4 O }
Podemos tener una visin grfica de estos conjuntos representando fij(x) y / vO)
(figura 5.1):
k
VX)
Hv(x)

FIGURA 5.1.
Definicin 4.2.4. Se definen las relaciones de igualdad e inclusin entre sub-
conjuntos borrosos del siguiente modo:
Igualdad: A = B si x
A
(x) = fi
B
0), \/x e U
Inclusin: A c B si JU. ^0) " - BO) ; VJC e [/
Otras lgicas 149
Definicin 4.2.5. Se definen las operaciones de complementation, interseccin,
unin, producto y potenciacin del siguiente modo:
Complementacin: A = B si fx
A
(x) = 1 Vx e U
(supuesto que M = [0, 1])
Interseccin: C = A fl B si fi
c
(x) = mn(/x
/4
(jc), x
B
(x)), Vx e U
Unin: C = A U B si /x
c
(x) = mx(p.
A
(x), /x
B
(x)), \/x e U
Producto: C = AB si x
c
(x) fi
A
(,x) ln(x), Vx e U
Potenciacin: C = A" si x,
c
(x) = fi
A
(x), Vx e U
Es fcil comprobar que las tres primeras se reducen a las definiciones clsicas en
conjuntos ordinarios para M = {0, 1}. Asimismo, que todas las propiedades de estas
operaciones en los conjuntos ordinarios (asociatividad, distributividad, etc.) se siguen
cumpliendo, salvo en lo que respecta a dos muy importantes:
A l ' J # 0
(el conjunto vaco, <>, es aquel subconjunto borroso de U tal que (Vx e U)
( M* ) = 0)), y
A U ~A * U
Ejemplo 4.2.6. El complemento de varios tal como se defini ms arriba sera:
Y = {1|1; 2|1; 3|0,5; 4|0,2; 7|0,2; 8|0,5; 9| l; 10|l}
Y las representaciones grficas de V y V seran las de la figura 5.2.
M*)
l-
0,5 -
l -
0, 5- -
2 4 6 8 10 . x
2 4 6 8 10 *
FIGURA 5. 2.
150 Lgica
Ejemplo 4.2.7. Con las definiciones dadas para joven y viejo en el Ejemplo
4.2.3, en la figura 5.3 pueden verse las representaciones grficas de la interseccin y la
unin de ambos conjuntos.
i PJ nvto W/uv(*)
Y
i\
i \
- f -
20 40 60 80 * 20 40 60 80
joven y viejo joven o viejo
FIGURA 5.3.
En este ejemplo, tal como se definieron los subconjuntos, se cumple que V = /
porque (Vx)(/x
7W
+ /j,
v(x)
= 1).
4.3. Relaciones borrosas
4.3.1. Relaciones ordinarias entre conjuntos borrosos
Ms arriba hemos definido las relaciones de igualdad e inclusin entre conjuntos
borrosos. Tales conjuntos son, realmente, subconjuntos borrosos de un universo (no
borroso) U. Se trata, por tanto, de relaciones definidas sobre el conjunto de las partes
(borrosas) de U, P(U).
Ahora bien, aunque las partes o subconjuntos sean borrosos, las relaciones asf
definidas no son borrosas: dados A, B c U, o bien (A, B) e R, o bien (A, B) $ R;
concretamente, para las relaciones R de igualdad e inclusin definidas, dados dos
subconjuntos borrosos, AyB,o bien A = B, o bien A = B,y, del mismo modo, o
bien A c B, o bien A 4. B.
4.3.2. Relaciones borrosas entre conjuntos ordinarios
Vamos a definir ahora el concepto de relacin borrosa entre conjuntos no
borrosos. Sean A y B dos subconjuntos ordinarios, en general de universos diferentes:
A c U, B c V, y sean a e A y b e B elementos genricos de cada uno. Una relacin
Otras lgicas 151
borrosa entre A y B se define como un conjunto de pares ordenados (a, b), cada uno
con un determinado grado de pertenencia, x
R
, a la relacin R :
R = {(a, b)\ix
R
(a, b)}, a e A, b e B, 0 < < 1 [1]
x
R
indica as en qu grado, o con qu intensidad, los elementos a y b estn en la
relacin R.
Por ejemplo, existe una relacin entre la estacin del ao en que nos encontramos
y el calor o fro que se siente. Esta relacin es subjetiva (y, por lo tanto, borrosa), y
una determinada persona podra expresarla explcitamente as:
U = {estaciones}
V = {sensaciones}
A = U = {primavera, verano, otoo, invierno}
B = {calor, fro}
B
c
/
p
"0,7 0,4"
V 1 0 ,
o 0,6 0,5
^ i -0,1 1 _
Obsrvese que la relacin propiamente dicha se escribe con mayor comodidad en
forma matricial, en lugar de hacerlo as:
R = {(p, c)|0,7; (p, f)\0,4; etc.}
Las relaciones as definidas son binarias; la generalizacin a rdenes superiores
(relaciones entre ms de dos conjuntos) es inmediata. As, en el ejemplo anterior un
tercer conjunto podra ser el de pases; su representacin matricial se hara escribieri-
do varias matrices.
Siguiendo con la relacin binaria definida por [1], se observa fcilmente que R es,
realmente, un subconjunto borroso del producto cartesiano de A y B:
Re A x B
En efecto, como A y B son ordinarios, su producto cartesiano consta de todos los
pares (a, b), y la relacin borrosa le da un grado de pertenencia a cada uno.
En este caso binario la relacin se suele escribir tambin asi: A R B-
En general, una relacin borrosa -aria entre n conjuntos ordinarios, Ai, A
2
,
..., A (no tienen por qu ser todos distintos) ser un subconjunto borroso del
producto cartesiano de todos ellos:
R cz A
x
x A
2
x . . . x A
152 Lgica
O, tambin,
R = ((i 2, , a)|/i(ai, 2, )} i
6 A
u > e
4.3.3. Relaciones borrosas entre conjuntos borrosos
En lo sucesivo vamos a prescindir del smbolo ~ bajo los nombres de los
conjuntos y de las relaciones, y, salvo que digamos lo contrario, supondremos que
todos los conjuntos y todas las relaciones son borrosos (y, de todos modos, ya
sabemos que un conjunto ordinario es un caso particular de conjunto borroso, y una
relacin ordinaria lo es de relacin borrosa).
Sean A <=. U, B c V, subconjuntos borrosos de universos U y V, y sean a e A,
b e B. Se define el producto cartesiano de A y B del siguiente modo:
A X B A {(
fl
, b)\mn(fjL
A
(a), /x
B
(b))} [2]
(Es, pues, un subconjunto borroso de U X V).
Cualquier subconjunto deAxB ser una relacin borrosa entre ambos: ARB cz
A X B. Obsrvese que como todo subconjunto debe satisfacer a la relacin de
inclusin, el grado de pertenencia de (a, b) a tal subconjunto debe ser igual o inferior
a m n( f i
A
( a) , fi
B
(b)).
La generalizacin al caso n-ario es tambin inmediata.
4.3.4. Composicin de relaciones
Dados tres conjuntos A, B, C, una relacin binaria entre A y B:
ARiB = {(, />)},
y otra entre By C:
BR
2
C = {(b, c)\fi
R2
(b, c)},
se define la relacin compuesta de R
t
y R
2
del siguiente modo:
o R
2
)C = {(, c)|mx[mn(^
i
(a, b), ^(b, c))]} [3]
b
Es decir, para cada pareja (a, c) se toma como grado de pertenencia a R
1
R
2
el
resultado de la siguiente operacin:
Para cada uno de todos los b e B se toma l mnimo de las funciones de
pertenencia a las relaciones R
x
y R
2
de las parejas (a, b) y (b, c), respectiva-
mente.
Otras lgicas 153
El mximo de todos los mnimos anteriores es el valor de la funcin de
pertenencia a R R
2
de la pareja (a, c).
Si A, B, C son finitos, R\ y R
2
pueden escribirse en forma matricial, y puede
comprobarse que la matriz correspondiente a R
t
R
2
se calcula como el producto
mx-mn de las matrices R y R
2
. El producto mx-mn de dos matrices es el producto
ordinario, pero sustituyendo la operacin suma por la operacin mximo y el
producto por el mnimo.
Estas definiciones, como las que daremos luego, pueden parecer a primera vista
arbitrarias, y hasta cierto punto lo son. No obstante, en su eleccin se han tenido en
cuenta los siguientes criterios:
a) que sean consistentes con las definiciones paralelas de la teora de conjuntos
ordinarios, es decir, que sta pueda considerarse como un caso particular de la
teora de conjuntos borrosos;
b) que los modelos basados en la teora reflejen razonablemente bien la realidad;
y
c) que las computaciones que se derivan de la utilizacin de los modelos sean
sencillas y, por tanto, se ejecuten con rapidez; en particular, las operaciones de
seleccin de mximo o mnimo requieren mucho menos tiempo que las de suma
o producto.
Veamos un ejemplo para ilustrar la composicin de relaciones. Sean A, B y las
definidas en el ejemplo anterior (relacin entre estaciones del ao y sensaciones de
fro o calor). Obsrvese que en ese caso particular tanto A como B se han definido
como conjuntos ordinarios; en cualquier caso, Ri es un subconjunto borroso de
A X B, independientemente de que A y B sean ordinarios o borrosos. Podramos
seguir con esos mismos conjuntos y definir otro, borroso o no, relacionado con B y ver
la relacin compuesta. Pero para aplicar tanto la definicin [2] como la [3], vamos a
redefinir A y B como conjuntos borrosos:
U = {p, v, o, i},
donde p = primavera; v = verano; o = otoo; i = invierno.
V = {T
u
T
2
),
donde 7\ = temperatura superior a 0C; T
2
= temperatura igual o inferior a 20C
(universos no borrosos).
A = estaciones fras = {p|0,3; v|0,l; o|0,4; |0,9}
B = sensacin de fro = {7^10,2; T
2
|0,8}
154 Lgica
El producto cartesiano de A y B, segn [2], expresado en forma matricial ser:
Tt t
2
p
"0,2 0, 3"
V 0,1 0,1
o 0,2 0,4
i Lo,2 0,8_
A X B =
Una relacin entre A y B es, segn hemos dicho, cualquier subconjunto de A X B.
Por ejemplo:
Ti t
2
P
"0, 2 0,2"
_ V 0,1 0
o 0,2 0,3
i _0 0,8_
Obsrvese que Ri relaciona bastante bien la sensacin de fro alta con las
estaciones, pero no tanto la sensacin de poco fro con las mismas (particularmente, el
grado de pertenencia de (v, T) a R debera ser mucho ms alto del 0,1 que resulta).
La explicacin es que, tal como se han definido A y B, Ri relaciona la sensacin de
fro con las estaciones fras, pero no la sensacin de poco fro con las estaciones poco
fras. Para que as fuera, deberamos definir una nueva relacin haciendo uso de las
[Link] unin y complementation, Volveremos sobre este ejemplo en el
apartado 4.4.2. , ,
Consideremos ahora un nuevo subconjunto borroso, C, en el universo W = {ropas
de abrigo), establecido as:
C = {ft|0,l; |0,5; |0,9}
donde b = baador ; = traje; a abrigo.
El producto cartesiano de B y C es:
B x C
b t a
Pi
"0,1 0,2 0,2
T2
0,1
0,5 0,8
Tomemos R
2
= B X C (podra ser cualquier otro subconjunto).
Definidas as AR
X
B y BR
2
C, A y C estarn en la relacin R R
2
, que se calcula,
segn [3], haciendo el producto mx-mn de las matrices de /?! y R
2
:
RIR
2
=
Ti t
2
i
b t a
P
"0, 2 0, 2"
b t a
P
"0, 1 0,2 0, 2"
V 0,1 0 Tt "0,1 0,2 0,2" _ V 0,1 0,1 0,1
o 0,2 0,3 t
2
.0,1 0,5 0,8 o 0,1 0,3 0,3
i _0 0,8_ i Lo,i 0,5 0,8_
Otras lgicas 155
Al interpretar esta relacin entre prendas de abrigo y estaciones/ros hemos
de hacer el mismo comentario que antes con respecto a R\.
4.4. Lgica borrosa
4.4.1. Sintaxis y semntica
La forma de las sentencias en lgica borrosa es la misma que en lgica de
predicados. Ello quiere decir que valen las mismas reglas de formacin. Ahora bien,
podra construirse un sistema axiomtico? La respuesta es no (sin borrosidad).
En efecto, consideremos un simple predicado, como viejo. Aplicado a un individuo
concreto, tiene que tener una interpretacin. En una lgica multivalorada podramos
decir, por ejemplo, que /(V(Juan)) = 0,6. Pero en lgica borrosa ya hemos dicho al
principio que los valores de verdad y falsedad son imprecisos. Esto quiere decir
que /(V(JC)) es el subconjunto borroso viejo, definido, por ejemplo, como hacamos
ms arriba. En una lgica multivalorada puede haber sentencias cuya interpretacin
sea siempre 1 (verdadera), que sern sentencias vlidas (tautologas, en el caso de la
lgica de proposiciones multivalorada), y, por tanto, se podr construir un sistema
axiomtico que permita, a partir de unos axiomas, derivar otras sentencias vlidas.
Pero en lgica borrosa no puede definirse el concepto de sentencia vlida, y por ello
no puede haber sistema axiomtico, y, por lo mismo, tampoco tiene sentido hablar de
completitud ni de consistencia. sto aleja tanto a la lgica borrosa de la
tradicin lgica que muchos autores discuten que se le pueda llamar lgica. La
nica defensa de la lgica borrosa (por ahora, mientras no se revise todo el cuerpo de
la lgica) es pragmtica: con ella se pueden modelar situaciones y construir sistemas
que no se pueden abordar con otras lgicas, y si estos modelos permiten comprender
mejor las situaciones y disear sistemas que funcionan, tanto peor para la tradicin
lgica.
El conjunto de valores semnticos en la lgica borrosa no es, pues, el conjunto de
puntos en el intervalo [0, 1], sino un conjunto de subconjuntos borrosos de ese
conjunto. Esos subconjuntos borrosos no son todos los posibles, sino lo que se llaman
valores de verdad lingsticos. Concretamente,
V = {verdadero, falso, no verdadero, no falso, bastante verdadero, bastante
falso, poco verdadero, muy Verdadero, ms o menos verdadero, ms bien
verdadero, ...}.
Para cada predicado, se definir el subconjunto correspondiente a verdadero
(por ello, se dice que los valores de verdad en lgica borrosa son locales). As, en el
caso de la sentencia Juan es viejo, el subconjunto correspondiente a que esta
sentencia sea verdadera puede ser el definido en los ejemplos anteriores. Este
subconjunto es el significado del predicado. Definido este subconjunto, los correspon-
dientes a los otros valores de verdad lingsticos pueden calcularse en funcin de l
definiendo previamente unos convenios para falso y para las partculas lingsticas
muy, bastante, etc.:
156 Lgica
* falso es el subconjunto tal que /x
fa
|
SO
(jc) = /^
verdadero
(c(x)), donde c(x) es
alguna funcin complementaria definida sobre U (por ejemplo, si U = [1, 150],
c(x) = 150 - x);
* no verdadero = (verdadero);
* muy verdadero = (verdadero)
2
;
* algo verdadero = (verdadero)
1
'
2
; etc.
Por ejemplo, en el caso de que la sentencia sea el predicado viejo aplicado a
alguien, tendremos para muy viejo el significado:
5(muy v) = S
2
(v) = {*|^
(
v)(*)},
con is
(v)
(x) = fs(
v
)(x).
En la figura 5.4 puede verse la representacin grfica de este convenio para
muy, que, ms o menos, corresponde a la interpretacin intuitiva de la partcula.
FIGURA 5.4.
4.4.2. Interpretacin de sentencias
. Para toda sentencia se tiene que poder calcular un significado, es decir, un
subconjunto borroso que corresponde a la interpretacin verdadera de tal senten-
cia. Empecemos por los casos ms sencillos: los de las sentencias construidas con la
negacin, la conjuncin y la disyuncin. El clculo del significado de tales sentencias
se hace del siguiente modo:
A B) = S(A) n S(B)
S(A- v B) = S(A) U S(B)
Como vemos, basta con utilizar las operaciones de complementacin, interseccin y
unin entre conjuntos definidas en el apartado 4.2.
Por ejemplo, interpretemos la sentencia Manuel es un viejo que ronda los setenta
Otras lgicas 157
aos, es decir, Viejo (Manuel) A ronda setenta (Manuel). La interpretacin (o
significado) de viejo puede ser la que venimos utilizando. Hemos de dar significado a
ronda setenta aos. Grfica y aproximadamente, podra ser como indica la figura
5.5, en la que tambin hemos sealado la funcin de pertenencia al conjunto
interseccin de viejo y ronda setenta, que es el significado de la sentencia.
FIGURA 5.5.
Es fcil comprender que con sto o hacemos sino abordar los casos ms sencillos.
Las sentencias, normalmente, manejan palabras cuyos significados son conjuntos
borrosos de universos diferentes. Por ejemplo, en la sentencia Manuel es un viejo
extraordinariamente decrpito tenemos dos variables borrosas: edad (con valor
viejo) y estado (con valor decrpito). La interpretacin exige el conocer la de
cada una de las variables (y definir extraordinariamente, que podra ser, por
ejemplo, el operador de potenciacin cpn Valor 3), y dara un resultado bidimensio-
nal.
Veamos otro ejemplo: Con los conjuntos A {estaciones fras}, B = {sensacin
de fro} y C = {ropas de abrigo} definidos anteriormente, tendramos:
(estaciones muy fras) = A
2
^{p| 0, 09; v|0,01; o|0,16; |0,81};
(estaciones no muy fras) - A
2
= {p|0,91j_v|0,99; o|0,84; | 0,19};
(estaciones fras y no muy fras) = A fl A
2
= {p|0,3; v|0,l; o|0,4; i|0,19};
(sensacin de mucho fro) = B
2
=_{:Fi|0,04; T
2
|0,64};
(sensacin de no mucho fro) = B
2
= {^10,96; T
2
|0,36};
(ropas que no abrigan) C = {6|0,9; ]0,5; fl|0,l};
etctera.
Con sto, podemos interpretar sentencias que contienen negaciones, conjunciones
y disyunciones, El caso del condicional necesita un tratamiento aparte.
158 Lgica
4.4.3. Interpretacin de sentencias condicionales
Consideraremos el caso general si A, entonces B, sino, C, es decir, (A > B) A
(~l A C), del cual (A B) ser un caso particular. Cuando A, B y C son
sentencias ordinarias con interpretaciones binarias, el clculo de proposiciones clsico
nos permite interpretar la sentencia como verdadera o falsa. Pero cuando A, B y C
son sentencias borrosas, cada una tendr un significado, y se trata de calcular el
significado de la sentencia global.
Por ejemplo:
si la humedad de la carretera es grande, el coche tiende a patinar;
o
si estamos en una estacin muy fra uso ropa de abrigo, si no, uso ropa de muy
poco abrigo;
etctera.
Se considera que este tipo de sentencia establece una relacin entre los universos
U (a que pertenece 5(A)) y F ( a que pertenecen S(B) y 5(C)), relacin que se define
de la siguiente manera:
* 5 (si A entonces B, si no C) = [5(A) x 5(5)] U [5(A) X 5(C)], donde xindica
el producto cartesiano, definido en [2].
En el caso de que C no est especificado (si A entonces B) se toma 5(C) = V
(universo de C), es decir, se considera qu el consecuente de no A puede ser
cualquier subconjunto de V.
Ejemplos:
a) Si la estacin es fra se siente fro; si no, no se siente fro.
A = 5(estacin fra) = {p|0,3; v|,; o|0,4;7|0,9}
B = 5(se siente fro) = {7',|0,2;
;
/-
2
|0,8}
A = 5(estacin no fra) = (p|0,7; v|0,9; o|0,6; |0,1}
B = 5(no se siente fro) = {7',|0,8; T
2
(o,2}
La relacin definida por la sentencia ser:
7', T
2
/', T
2
. /', T
2
"0,7 0,3"
0,8 0,2
0,6 0,4
-0, 2 0,8_
b) Si se siente fro, se usa ropa de abrigo; si no, no.
(A x B) U (A x B) =
p
0,2 0,3 0,7 0,2
V 0,1 0,1
U
0,8 0,2
o 0,2 0,4
U
0,6 0,2
i _0,2 0,8_ -0, 1 0,1
P
v
0
1
C = 5(se usa ropa de abrigo) = {>|0,1; |0,5; a|0,9}
~C = 5(no se usa ropa de abrigo) = {|0,9; /|0,5; a|0,l}
Otras lgicas 159
(B X C) U (B X C) = J
1
b t a
0,1 0,2 0,2
0,1 0,5 0,8
b t a b t a
0,8 0,5 0,1" _ TI
0,8 0,5 0,2
0,2 0,2
O,l T
2
.0,2 0,5 0,8
La composicin de las relaciones correspondientes a las sentencias a) y b) ser:
Ti T
2
b t a
P
"0,7 0,3"
b t a
P
"0,7 0,5 0,3"
V 0,8 0,2 T [0,8 0,5 0,2l _ V 0,8 0,5 0,2
o 0,6 0,4
' T
2
[o,2
0,5 0,8 J o 0,6 0,5 0,4
i Lo,2 0,8_ i _0,2 0,5 0,8 _
4.4.4. Reglas de inferencia borrosas
Consideremos estas dos premisas:
Pl : Estamos en una estacin no muy fra.
P2: Si la estacin es fra, se siente fro, si no, no.
Qu conclusin podramos obtener? Obviamente, una conclusin borrosa referente
al grado de fro que se siente en esta estacin. De acuerd con lo visto anteriormente,
el significado de Pl es un subconjunto borroso de U = {p, v, , i}, y el de P2 es una
relacin borrosa entre U yV {Ti, T
2
}. Y la conclusin ser un subconjunto borroo
de V.
La regla de inferencia borrosa para este caso (que es una generalizacin del modus
ponens) es:
Si R es una relacin borrosa entre U y V, y X es un subconjunto borroso de U, el
subconjunto borroso inducido en V por X viene dado por la composicin
Y = X R
(tomando X como una relacin unaria).
En el ejemplo dado,
X = S
2
(fra) = {p|0,91; v|0,99; o|0,84; |0,19}
Ti T
2
"0,7 0,3"
p v o i
0,8 0,2
[0,91 0,99 0,84 0,19] 0,6 0,4
Lo,2 0,8_
160 Lgica
Si a las dos sentencias anteriores se aade: si se siente fro se usa ropa de abrigo,
si no, no, el resultado (grado de uso de las distintas prendas en las estaciones no muy
fras) puede calcularse, de acuerdo con los resultados anteriores, as:
Ti
[0,8
T
2
0,4]
b
0,8
l
0, 2
t
0,5
0,5
0,2
0,8
b t a
[0,8 0,5 0,4]
o asi:
b t a
"0,7 0,5 0,3"
p
v o i
0,8 0,5 0,2
[0,91 0,99 0,84 0,19] 0,6 0,5 0,4
L-0,2 0,5 0,8_
b
= [0,8
t
0,5
a
0,4]
4.4.5. Aproximaciones lingsticas
Ahora bien, una vez interpretada una sentencia u obtenida una inferencia como
hemos visto, lo que tenemos es un subconjunto borroso de un cierto universo. Pero lo
que deberamos obtener sena una sentencia como se siente bastante fro, <<se
tienden a usar ropas de no mucho abrigo, etc. Para ello, es preciso ^signar a cada
subconjunto borroso una aproximacin lingstica, que es otro subconjunto borroso
que corresponde al significado de una sentencia construida con las partculas muy,
bastante, etc. ,
En el ltimo ejemplo habamos llegado a las conclusiones
Cl: {7',|0,8; 7
2
|0,4}
C2: {ft|0,8; f|0,5; a|0,4}
referentes al fro que se siente y al grado de uso de las ropas de abrigo. Por otra parte,
los conjuntos borrosos correspondientes a los significados de se siente fro y la
ropa es de abrigo se haban definido as:
fro = {TilO,2; T
2
|0,8}
abrigo = {>|0,1; |0,5; a|0,9;,
El significado de no hace fro sera el de fro, que, aproximadamente, se
corresponde con el de Cl. Para un mejor ajuste, tendramos que combinar otras
partculas (bastante, ms bien, etc.). Igual ocurre con C2, que, en una primera
aproximacin, podra asimilarse al complementario de se usan ropas de abrigo.
Otras lgicas 161
5. RESUMEN
Hemos pasado revista en este captulo a algunas de las llamadas lgicas no
clsicas (hay otras: lgica intuicionista, lgica dinmica, etc.), entendiendo por tales
las que modelan aspectos de los procesos de razonamiento no contemplados en las
lgicas de proposiciones y de predicados (aunque tambin hemos incluido aqu las
lgicas de clases y de relaciones, que no son ms que otra manera de contemplar la
lgica de predicados).
Entre las que representan ampliaciones de la lgica clsica, es decir, que conservan
todo su lenguaje y su sistema axiomtico, hemos comentado la lgica de predicados de
orden superior, la lgica modal y la lgica temporal. Y entre las que invalidan ese
sistema axiomtico, la multivalorada y la borrosa. Esta ltima, adems de contemplar
infinitos valores entre la verdad y la falsedad, considera que esos mismos predicados
semnticos (verdadero y falso) son, en s mismos, imprecisos. Para modelar esta
situacin hay una herramienta matemtica, la teora de conjuntos borrosos, cuya base
hemos studiado.
6. NOTAS HISTRICA Y BIBLIOGRFICA
A pesar del adjetivo no clsicas; muchos conceptos (nociones d modalidades
y de contingente como algo que no puede considerarse verdadero ni falso) se
remontn a la lgica aristotlica. Pero la formulacin moderna de la lgica modal se
debe a Lewis (1932), que introdujo los operadores modales y la implicacin estricta,
y la de la lgica multivalorada a Lukasiewicz (1920, 1930). La formulacin de
Lukasiewicz sobr lgica ihultivalorad no es l nica. Otros autores prefieren definir
de otro modo el significado de las conectivas, como Bochvar (1939) y Kleene (1952).
Las teoras borrosas van indisolublemente uidas al nombre de Lofti Zdeh.
Fue l quien introdujo los conjuntos borrosos (fuzzy sets) (Zadch, 1965), los
algoritmos borrosos (Zadeh, 1968), us aplicaciones biolgicas (Zadeh, 1969), sus
aplicaciones a sistemas complejos y procesos de decisin (Zadeh, 1973), la lgica
borrosa. (Zadeh, 1974) y la teora d la posibilidad (Zadeh, 1978), con l que se
formaliza la idea de inferencia borrosa de una maera ms rigurosa qu la que hemos
sugerido aqu.
El modelo relacional para las bases de datos se debe a Codd (1970). Un texto
recomendable sobre este tema es el de Ullman (1982).
Como referencias generales sobre las lgicas no clsicas podemos citar los libros de
Haak (1974,1978), que aborda el tema desde el punto de vista terico y filosfico, y el
de Turner (1984), que lo hace centrndose en las aplicaciones a la informtica.
La lgica modal se ha aplicado tanto en teora de la programacin (Manna y
Pnueli, 1979) como en mtodos de inferencia no monotnica (McDermott y Doyle,
1980) y en representacin del conocimiento (Moore, 1984).
Igualmente, la lgica temporal se ha aplicado para la programacin concurrente
(Maiina y Pnueli, 1981; Manna y Wolper, 1984) y para sistemas de inteligencia
artificial (Alien, 1981; McDermott, 1982).
Sobre la teora y las aplicaciones de los conjuntos borrosos hay un libro muy
162 Lgica
completo, en tres volmenes, de Kaufmann (1973-75): el primero incluye los elemen-
tos tericos de base, el segundo, aplicaciones a la lingstica, la lgica y la semntica, y
el tercero, al reconocimiento de formas, a los autmatas, a los sistemas y a las
decisiones. Hay tambin libros en los que se recopilan muchos trabajos, sobre
aplicaciones: Zadeh et al. (1975), Gupt a et al. (1977).
7. EJERCICIOS
7.1. Analizar en lgica de clases los razonamientos expuestos en el Ejercicio 7.3 del
captulo 4.
7.2. Formalizar los siguientes enunciados, teniendo en cuenta que algunos pueden ser
ambiguos (y tener ms de una formalizacin):
a) Si es necesario que si p entonces q, entonces si es necesario que p entonces es
necesario que q.
b) No es posible ser valiente u osado si y slo si no es posible ser valiente y no es posible
ser osado.
c) Si Pepe siempre se ha mareado cuando ha bebido, entonces si maana bebe se
marear.
d) Es posible que un programa haya funcionado siempre bien y que maana no funcione.
7.3. Analizar mediante tablas de verdad si las leyes de modus ponens y modus tollens son
tautologas en lgica trivalorada.
7.4. Definir los conjuntos borrosos que sean necesarios en cada caso y analizar los siguientes
razonamientos:
a) Pl : La mayora de los hombres son heterosexuales.
P2: Scrates es hombre.
C : Es muy posible que Scrates sea heterosexual.
b) Pl : La temperatura es un poco alta.
P2: Cuando la temperatura es alta hay que cerrar un poco la vlvula.
C : Hay que cerrar ligeramente la vlvula.
Captulo 6
APLICACIONES EN
INGENIERIA DEL
CONOCIMIENTO
L. INTRODUCCIN
Se llama sistema experto a un sistema informtico diseado para resolver proble-
mas en algn rea muy especfica del saber, con una competencia al menos similar a la
que pueda tener uto experto humano en ese rea. Pr ejemplo, MYCIN es un sistema
experto eh diagnstico y tratamiento de un nriiero muy reducido de enfermedades
infecciosas de la sangre, PROSPECTOR lo es en determinar la probabilidad de la
existencia de yacimientos de ciertos minerales a partir de las evidencias de campo,
XCQN en configurar sistemas informticos con ordenadores VAX y PDP, etc.
Segn el caso; el objetivo del sistema experto puede ser el de sustituir al experto
humano (lo que puede tener un especial inters en aquellas aplicaciones en las que la
experiencia tiene que estar disponible en lugares peligrosos o geogrficamente
remotos o inaccesibles) o el de ayudar a los expertos humanos a tratar con volmenes
de informacin que desbordan su capacidad (por ejemplo, en medicina). En cualquier
caso, el objetivo final es el mismo de todas las aplicaciones informticas: relevar al
hombre de tareas mecanizables y proporcionarle instrumentos amplificadores de sus
capacidades mentales.
Los sistemas expertos se construyen siguiendo una concepcin modular: la de los
sistemas basados en conocimiento. Cualquier programa que resuelva un problema
tambin tiene que incorporar, en cierto modo, el conocimiento necesario para
resolver ese problema. Pero el conocimiento en s y los procedimientos que permiten
manipular ese conocimiento para obtener una respuesta ante datos concretos son
indistinguibles en el cdigo que constituye el programa. Por el contrario, en los
sistemas basados en conocimiento se separan ambos: por una parte, se construye una
base de conocimientos, y luego se ampla y se modifica en interaccin con el o los
expertos humanos en el tema. Por otra, se disea un conjunto de procedimientos que
permiten, a partir de unos hechos o evidencias (que constituyen la base de hechos),
163
164 Lgica
manipular el conocimiento almacenado en la base de conocimientos para extraer
conclusiones; esta segunda parte corresponde a lo que se llama motor de inferencias.
Es fcil intuir que el primer problema en el diseo de un sistema experto es el de
decidir los esquemas para la representacin del conocimiento. Podemos distinguir
varios tipos de conocimiento. Hay un conocimiento descriptivo, o declarativo, sobre
los hechos concretos del dominio de experiencia o sobre los datos del problema
concreto a resolver (este ltimo constituir el contenido inipial de la base de hechos).
Hay tambin un conocimiento procedimental, o normativo, de tipo tctico, que
permite obtener conclusiones a partir del conocimiento descriptivo. Y hay, finalmen-
te, un conocimiento estratgico, o de control, que determina la manera en que se aplica
el conocimiento procedimental. Por aclarar ideas sobre un ejemplo muy sencillo,
recurdese el Ejercicio 7.4 del captulo 4. En ese caso, el conocimiento descriptivo
sera el contenido en las relaciones de parentesco madre de y padre de que se
establezcan, el procedimental sera el constituido por las sentencias condicionales que
se escriban para determinar las condiciones bajo las cuales una pareja de individuos
est en la relacin antepasado de, y el estratgico sera el definido por el sistema
inferencial, por ejemplo, la regla de resolucin con bsqueda exhaustiva.
Otro problema es el de la adquisicin del conocimiento, que puede ser, como es lo
ms frecuente en los sistemas actuales, a partir de un experto humano (lo cual exige
un arduo trabajo para llegar a traducir tal conocimiento, generalmente difcil de
explicitar y de naturaleza imprecisa y heurstica, al esquema de representacin
elegido), o bien por autoaprendizaje (induccin del conocimiento a partir de ejemplos
resueltos).
Adems est, por supuesto, el problema del diseo del motor de inferencias (que,
en principio, contiene lo que hemos llamado conocimiento estratgico), dependien-
te del esquema de representacin. Y, finalmente, el problema de la comunicacin con
el usuario final: para que el sistema sea aceptable debe convencer, y para ello debe
ser capaz de justificar la lnea de razonamiento seguida en cada caso, y, si hace alguna
pregunta (es decir, pide algn dato para completar la base de hechos), explicar el
motivo de la misma. Todo este conjunto de problemas ha dado lugar a un campo de
trabajo que se conoce por el nombre de ingeniera del conocimiento.
En este captulo veremos cmo la formulacin lgica es un posible esquema para la
representacin del conocimiento. Para simplificar la exposicin, usaremos solamente
la lgica de proposiciones. Veremos tambin, grandes rasgos, la estructura de los
motores de inferencia (en lgica de proposiciones) y cmo se aborda el problema de la
representacin del conocimiento impreciso. Tambin daremos una idea de otros
esquemas ms estructurados para la representacin del conocimiento.
2. SISTEMAS DE PRODUCCIN
2.1. Estructura
Un sistema de produccin es un modelo de computacin que incluye tres compo-
nentes: una base de datos, un conjunto de reglas de produccin y un sistema de control.
Estos tres componentes son, respectivamente, la base de hechos, la base de
Aplicaciones en ingeniera del conocimiento 165
conocimientos y el motor de inferencias del sistema de produccin. La llamada
base de datos no es necesariamente una base de datos en el sentido informtico
habitual: segn el sistema, puede ser desde una sencilla matriz de nmeros hasta una
verdadera base de datos. Las reglas de produccin se aplican sobre la base de datos,
cambiando su estado en cada aplicacin, y el sistema de control gobierna esas
aplicaciones y hace que la computacin se detenga cuando el estado de la base de
datos cumple con alguna condicin de terminacin predefinida.
2.2. Base de datos
La base de datos contendr los hechos iniciales y los que se vayan obteniendo
como consecuencias en el proceso inferencial. Como hemos dicho, nos vamos a
limitar a la lgica de proposiciones, por lo que, al nivel en que nos vamos a mover, la
base de datos estar formada, simplemente, por un conjunto de variables proposicio-
nales negadas o no (es decir, un conjunto de literales), cada una de las cuales
representar a un hecho concreto. (En el caso de lgica de predicados, en lugar de
variables proposicionales tendramos predicados aplicados sobre valores concretos de
las variables, o sea, sobre constantes). No nos ocuparemos, a este nivel, de problemas
cmo el de la estructuracin de estos datos, acceso a los mismos, etc,
2.3. Reglas de produccin
Las reglas de produccin (no confundir con las reglas de inferencia, que estarn
incluidas en el sistema de control) son pares ordenados (A, B), Segn la aplicacin,
los elementos del par reciben los nombres de antecedentes y consecuente,
condiciones y accin o premisas y conclusin. Su formalizacin lgica ser la
de sentencias condicionales: A B . Como puede adivinarse por los nombres dados a
A y a B, A ser normalmente una conjuncin de literales y, B un literal. Es decir,
supondremos que nuestras reglas de produccin sern sentencias de la forma:
Ui A l
A2
A ... l
An
~* IB
De todos modos, A podra ser una sentencia cualquiera; con unas transformaciones
similares a las que hacamos en el captulo 2 (apartado 5.6) para llegar la forma
clausulada puede verse que siempre puede transformarse en un conjunto de senten-
cias de este tipo particular. Por su parte, B tambin podra ser cualquier sentencia.
Slo supondremos, de momento, y por las razones que veremos ms adelante, en el
apartado 3.1, que no contiene la conectiva v. Si, por ejemplo, B fuera una
conjuncin de literales, l
m
A l
m
A ... A l
Ilm
, la sentencia podra descomponerse en m
sentencias con el mismo antecedente y cada una de ellas con uno de los literales como
consecuente.
Obsrvese que esta forma de sentencia es la que en el captulo 2 (apartado 5.6)
llambamos clusula de Horn con cabeza, salvo que ahora las variables proposicio-
nales pueden ser literales. (Por otra parte, todo el conjunto de la base de datos puede
166 Lgica
interpretarse como una clusula de Horn sin cabeza y negada). Esta forma, aparte de
que nos va a simplificar la estructura del sistema de control (o motor de inferencias),
es, adems, la que de manera natural se obtiene cuando se le pide a un experto que
ponga su conocimiento en forma de reglas.
Por ejemplo, en la base de conocimientos del sistema XCON hay unas 2.500
reglas. Una de ellas es:
Si el contexto actual es el de asignar una fuente de alimentacin,
y se ha colocado un mdulo SBI en un armario,
y se conoce la posicin que ocupa el mdulo,
y hay a su lado espacio disponible,
y se dispone de una fuente de alimentacin,
entonces colocar la fuente en el espacio disponible.
Es claro que, independientemente de lo que signifiquen tales frases en el contexto
de conocimiento de XCON, la regla puede formalizarse mediante la sentencia:
(Pi A p
2
A p
3
A p
4
A p
5
) q
Otro ejemplo, menos real pero quizs ms sugestivo, podra ser el de un experto
mdico que contuviera las reglas:
7?1: Si el paciente tiene fiebre,
y tose,
y tiene dolores musculares,
entonces padece gripe.
R2: Si el paciente padece gripe o resfriado,
y no tiene lcera,
ntonces recomendar aspirina y coac.
La formalizacin de tales reglas sera:
/?1: / A t A m g
R2: fevr)Al->Ac
Y esta segunda regla puede descomponerse en:
R2a: g A u > a
R2b: g A ~~L u > c
R2c: r A "!->
R2d: TA ~I u > c
Aplicaciones en ingeniera del conocimiento 167
2.4. Sistema de control (o motor de inferencias)
2.4.1. Estrategias hacia adelante y hacia atrs
Suponemos existente una base de conocimientos codificada como un conjunto de
reglas de produccin, i?
1(
R
2
, ... del tipo que hemos visto, en las cuales interviene un
conjunto de hechos diversos representados por literales, /
1;
l
2
, ..., l\,Vi, ... Ante una
situacin, se tiene la evidencia de que un subconjunto de esos hechos, l
u
l
2
, ... son
verdaderos, y se trata de encontrar qu otros hechos, l\,l
2
, ... pueden inferirse de esa
certidumbre y de las reglas, o dicho de otro modo, de encontrar los l'
k
tales que
k A R - l'k
sean tautologas.
Utilizando el ltimo ejemplo, si tenemos los hechos/, t, m y u, podemos hacer
las siguientes inferencias:
/ A t A m
Rl : / A t A m -> g
g (modus ponens)
g A 1 u
R2a: g A ~~1 M > a
a (modus ponens)
g a 1 u
R2b: g A ~L u c
c (modus ponens)
(Conclusin: la terapia es aspirina y coac).
(Planteado en el lenguaje del clculo de proposiciones, se tratara de demost
r!>r
que
[(f A t A m A li) A {f A t A m > g) A (g A 1 - J A c)] -H> (a A c)
es un teorema).
Normalmente, no tendremos dos, sino muchas reglas (en los sistemas expertos es
frecuente que sean del orden de cientos o de miles), y, ante unos hechos, hay dos
formas de enfocar el procedimiento de inferencia (es decir, dos estrategias bsicas):
(a) Ir aplicando cuantas reglas de produccin y cuantas reglas de inferencia se
puedan para ir sucesivamente ampliando la base de hechos. Es lo que hemos
hecho en el ejemplo, y corresponde a lo que se llama encadenamiento hacia
adelante. Es tambin lo que sugeramos en el captulo 2 al hablar de la
resolucin con bsqueda exhaustiva.
168 Lgica
(b) Fijarse un hecho como objetivo y tratar de deducirlo, viendo de qu reglas de
produccin es consecuente, si alguno de los antecedentes de esas reglas no
figura en la base de hechos fijarlo como subobjetiv, etc. Este es el principio
del encadenamiento hacia atrs.
En ambos casos, el sistema puede llegar a un punto en el que para poder deducir
algo le falten hechos no contenidos inicialmente en la base de hechos, y entonces
preguntara sobre ellos al usuario. (Por ejemplo, el sistema: tose mucho el pacien-
te?; el usuario: s, o no. Obsrvese qu eS poco natural que el usuario responda
as; en los sistemas reales se puede responder en una escala que permite expresar la
respuesta de forma ms matizada, pero para ello hay que introducir mecanismos de
representacin del conocimiento impreciso, de los que hablaremos ms adelante, en
el apartado 3. Aqu nos estamos limitando al caso ms sencillo, en el que los hechos
slo pueden ser verdaderos o falsos, que es lo nico que permite la lgica clsica).
Dentro de cada una de estas estrategias bsicas caben una Serie de variantes, es
decir, de estrategias concretas.
2.4.2. Un ejemplo
Antes de entrar en la explicacin de los algoritmos de inferencia, veamos sobre un
ejemplo cmo se aplicaran los procedimientos de encadenamiento hacia adelante y
hacia atrs. El ejemplo es abstracto, en el sentido de que partiremos de un conjunto
de reglas de produccin y de hechos escritos n forma simblica, prescindiendo d su
significado en un contexto de conocimiento.
Supongamos la base de conocimientos constituida por las siguientes reglas de
produccin:
(Aunque en este ejemplo utilicemos A, B, C, ... en lugar de p
t
, p
2
, debe
entenderse que se trata de variables proposicionales).
Y supongamos qu eiiemos como hecho inicial el .A, es decir, BH
0
= {A}. (La
base de hechos inicial Slo contiene a A), y que nos planteamos como objetivo el ver si
se puede inferir el hecho X.
Con encadenamiento hacia adelante, la estrategia ms sencilla es la de ir recorrien-
do las reglas desde la primera hasta llegar a tina qe pueda aplicarse (de acuerdo con
la regla de inferencia de modus pottens), ampliar la base de hechos con la consecuen-
cia, empezar d nuevo tti la primera regla, y as sucesivamente hasta incluir el
objetivo n la base de hechos, o hasta que y o puedan aplicarse reglas. En el caso
del ejemplo, la R1 es aplicable, con lo qe la base de hechos se incrementa con C,
Rl: A C
R2:A^H
R3: C-> D
R4: D E
R6 : D A G B
Rl :C A F - B
R8 : A A H D
R5: B A F X
R9 : A A C A H-> B
RIO: A A B A C A if> F
Aplicaciones en ingeniera del conocimiento 169
luego se aplicara la R2, etc. Escribindolo resumidamente, en forma de tabla,
tendramos:
A BH A C H D E B F X
R 1 2 3 4 9 10 5
donde en la lnea superior se indican los hechos con los que sucesivamente se va
incrementando la base de hechos, y en la inferior las reglas que en cada momento se
aplican. Como vemos, en este caso termina por incluirse X, por lo que del hecho
inicial, A, se infiere X.
No es necesario Volyer a empezar siempre con la primera regla cada vez que se
llega a aplicar una de ellas. Otra estrategia, por ejemplo, es la de buscar la regla que
contenga ms premisas incluidas en BH; con ella, la inferencia de X en el ejemplo
seguira esta otra secuencia:
A BH A C H B F X
R 1 2 9 10 5
donde vemos que, en el momento en que se dispone de A, C y H en la BH, tras la
aplicacin de R1 y R2, ya no se aplica R3, sino R9, que tiene ms premisas.
El otro procedimiento, ms natural en un caso como el planteado en este ejemplo,
en el que no se trata de derivar cuantas conclusiones se puedan, sino de inferir un
objetivo, es el del encadenamiento hacia atrs. Sobre el ejemplo, y expresado
informalmente, funcionara as:
1. Se trata de ver si puede deducirse X. En qu reglas figura como consecuente?
2. Vemos que slo lo hace en la R5. Por tanto, nuestro objetivo (X) se descompo-
ne en los subobjetiyos que figuran como antecedentes (en forma conjuntiva, es
decir, tienen que darse ambos) de esa regla (By F),
. 3, Empecemos con B-, Figura como consecuente en tres reglas; R6, /?7 y/?9. Basta
pues con deducir los antecedentes de una de esas tres reglas.
4. Para R6 hay que deducir D y <3. Pero G no figura como consecuente en ningn
sitio, por lo que podemos abandonar esta va y mirar 7?7.
Y as sucesivamente, No seguimos; porque la descripcin verbal es extremadamen-
te engorrosa,, y hay un lenguaje grfico muy adecuado para este proceso: el de los
rboles Y-O. El nodo raz del rbol es el objetivo a deducir, los intermedios
corresponden a los subobjetivos, y los terminales, u hojas,' a los hechos finales,
contenidos o no en la base de hechos. De cada nodo no terminal, si corresponde a un
objetivo o subobjetivo que puede deducirse de varias reglas, sale una ramificacin de
tipo O (y si slo hay una regla, slo sale una rama). De cada una de estas ramas, a
su vez, sale una ramificacin de tipo y, correspondiente al conjunto de premisas
que hay en cada regla, Y as hasta dar con las hojas correspondientes a hechos que no
pueden demostrarse o que estn en la base de hechos, El rbol Y-O para el caso de
nuestro ejemplo sera el de la figura 6,1.
170 Lgica
G (no)
A B C H
(si) A A
FIGURA 6.1.
2.4.3. Estrategias de resolucin impulsadas por los hechos
E el ejemplo anterior hemos utilizado sienpr la regla de inferencia de modus
ponens. Como vimos en el captulo 2, todas las reglas de inferencia pueden resumirse
en una, la de resolucin. All estudiamos la resolucin en general, aplicada sobre dos
clusulas cualesquiera (generatrices). Vemos qe ahora una de las clusulas es un
condicional y la otra un hecho (un literal). Por ejemplo, una vez que la base de hechos
contiene B y F, R5 nos permite inferir, por mods ponens, X. Con la resolucin
necesitaramos dos pasos (puesto que B y Fson dos clusulas). Concretamente, R5 en
forma clausulada sera:
I f i v l F v I
Resolviendo con B resultara:
1 F v X
y resolviendo con F, quedara X.
Aplicaciones en ingeniera del conocimiento 171
Pero estos dos pasos se pueden encadenar. En efecto,
p
x
A p
2
A . . . A p
n
A P p
t
v p
2
v ... v p
n
v q) q
es una tautologa (y, por tanto, una ley, y, consecuentemente, la formalizacin de una
regla de inferencia). Ello nos permite disponer de una regla de resolucin adaptada a
nuestro caso. En efecto, nuestras reglas de produccin son, como hemos dicho, de la
forma
IA\ A l
A2
A
A l
An
- > l
B
o, puesta en forma disyuntiva,
"i Ui v ~i i
A2
v ... v i i
An
v i
B
Si la base de hechos contiene l
A1
, l
A2
, ..., l
An
, la ley anterior nos permite inferir l
B
.
Decimos que sta es una resolucin impulsada por los hechos: es una restriccin de
la regla de resolucin, porque slo una de las generatrices es una clusula cualquiera
(disyuncin de literales), pero, al mismo tiempo, es una ampliacin porque admite un
nmero indefinido de otras clusulas siempre que stas sean simplemente literales
(hechos).
2.4.4. Un algoritmo con encadenamiento hacia adelante
El algoritmo que vamos a dar aqu en trminos muy generales, utilizando
pseudocdigo, da por supuesto que todas las reglas de produccin estn en la forma
disyuntiva.
Diremos que un literal /, est demostrado si figura en la base de hechos (BH). Si
figura como tal estar demostrado como cierto, y si lo que figura es su negacin estar
demostrado como falso.
Diremos que una regla ^ v /
2
v ... v / puede dispararse si todos los /,- menos uno
estn demostrados como falsos (y, en tal caso, nuestra regla de inferencia nos permite
decir que el que queda es cierto). Una regla se elimina si o bien se ha disparado (y en
ese caso no sirve ms)* o bien alguno de sus componentes (literales) se ha demostrado
que es cierto (y en ese caso no nos permite inferir nada). Las reglas activas son las que
no estn eliminadas.
Llamaremos valor de una regla al nmero de componentes no demostradas, si est
activa; si una regla est eliminada su valor ser 0. El valor de una componente (dentro
de una determinada regla) ser 0 1, segn que esa componente figure negada o sin
negar, respectivamente, en la regla.
El algoritmo utiliza dos procedimientos. Uno de ellos, al que llamaremos inferir,
recorre todas las reglas para ver si alguna puede dispararse, y, en caso afirmativo,
* Obsrvese que sto sera incorrecto en el caso de utilizar la lgica de predicados.
172 Lgica
infiere la conclusin, la introduce en la base de hechos, elimina la regla y llama al
segundo procedimiento, actualizar. Lo que hace ste es, dado un hecho, actualizar
el valor de todas las reglas en las que figura. Tenemos as:
Procedimiento inferir;
mientras haya reglas activas
para cada regla activa
si valor [regla] = 1, entonces
conclusin: = componente no demostrado;
valor [conclusin]: = valor del componente en la regla;
introducir conclusin con su valor en la BH;
valor [regla]: = 0;
actualizar (conclusin);
Procedimiento actualizar (hecho);
para cada regla activa
si regla Contiene hecho, entonces
si valor [hecho] = valor del hecho n la regla, entonces
valor [regla]: 0
si no, valor [regla]: = valor [regla] i ;
El programa se limitara a ir leyendo las premisas (base de hechos inicial), yapara
cada ana, llamar a actualizar y luego a inferir (que, a su vez, y en su caso, tambin
llamar a actualizar):
Programa encadenamiento adelante;
mientras haya premisas,
leer (premisa);
actualizar (premisa);
. inferir/
2.4.5. Un algoritmo con encadenamiento hacia atrs
Este otro algoritmo utiliza dos procedimientos. l llamado nodoo resuelve u
nodo del rbol de tipi , examinando todas las reglas que contienen al objetivo en
cuestin; si no puede demostrarlo (variable bolatta demostrado con el valor falso
tras examinar tdas las posibilidades), pregunta pr l al usuario. l procedimiento
nodoy se aplica a un conjunto de objetivos (los que corresponden a una ramifica-
cin de tipo V), a Cada u de los cuales aplica l nodo:
Procedimiento nodoo (objetivo, dfiostrado);
demostrado: = falso;
si objetivo incluido en BH, entonces demostrado: = cierto;
si no, para todas las reglas que incluyan al objetivo,
mientras demostrado sea falso >
elegir una regla, R;
nodoy (trminos de R
h
demostrado);
Aplicaciones en ingeniera del conocimiento 173
si demostrado = falso, entonces
preguntar (objetivo);
si hay respuesta, entonces
aadirla a la BH;
demostrado: = cierto;
Procedimiento nodoy (conjunto de objetivos, demostrado);
para todos los objetivos del conjunto,
nodoo (objetivo, demostrado).
El programa se limitara a llamar a nodoo con el objetivo final a demostrar y desde
ese momento actuaran ya recursivamente los dos procedimientos.
3. INFERENCIA PLAUSIBLE
3.1. Fuentes de imprecisin y de incertidumbre
Ocurre con mucha frecuencia que, desde el primer momento en que se empieza a
pensar en el diseo de n sistema basado en conocimiento
;
hay qe enfrentarse
ineludiblemente al problema de la incertidumbre y de la imprecisin, en dos facetas
distintas:
(a) En el experto, cuando tiene que expresar su conocimiento (conocimiento
procedimental). Si el esquema de representacin elegido es el de las reglas de
produccin (el nico que aqu estamos tratando) la incertidumbre y la imprecisin se
traducen en la forma de las reglas.
En efecto, decamos en el apartado 2.3 que las reglas de produccin tenan que
poder expresarse como sentencias condicionales en cuyo consecuente no figurase la
conectiva v. La explicacin de ello es que una sentencia como
A qt V q
2
correspondera a una duda en el conocimiento de la persona que ha establecido la
regla de la que procede esa setehcia: ante la evidencia / ! se dduCe que o bien q
t
o
bien q
2
, pero cul de los dos? Sin embargo, tales dudas son frecuentes cuando se
trata de explicitar el conocimiento de los expertos. As, una d las rglaS utilizdas
como ejemplo al final del mismo apartado 2.3 sera seguramente ms razonable
redctarla d este otro modo:
Si el paciente tiene fiebre,
y tose,
y tiene dolores musculares,
topCes
padece gripe,
padece bronquitis,
o padece tuberculosis,
174 Lgica
Desde luego, reglas de produccin expresadas de ese modo no permitiran llegar a
ninguna conclusin. Pero hay algo ms en la mente del experto (si no lo hubiera,
tampoco l podra concluir nada): ante unas evidencias (signos y sntomas en el caso
del diagnstico mdico), puede albergar dudas, pero normalmente cree ms en
unas alternativas que en otras. El problema es cmo cuantificar ese grado de
creencia, y cmo trabajar con l para poder hacer deducciones plausibles.
(b) En el usuario, cuando tiene que decir si cierto hecho est presente o no
(conocimiento declarativo). Por ejemplo, decamos ms arriba (apartado 2.4.1) que
parece poco razonable que el usuario tenga que responder s o no a una pregunta
del sistema sobre si el paciente tose mucho.
Incertidumbre e imprecisin son dos conceptos diferentes: una proposicin es
incierta si su valor de verdad o falsedad no se conoce o no se puede determinar, y es
imprecisa si se refiere a alguna variable cuyo valor no puede determinarse con
exactitud (por tanto, una proposicin incierta puede ser precisa, y una imprecisa no
ser incierta). En el ejemplo de (a), los condicionales son inciertos, mientras que en el
ejemplo de (b), la respuesta del usuario sera imprecisa.
Veremos aqu tres de los mecanismos que se utilizan en los sistemas basados en
conocimiento para abordar estos problemas. Al nivel introductorio en que nos vamos
a mover no ser necesario entrar en diferenciaciones entre incertidumbre e impreci-
sin.
3.2. Inferencia bayesiaiia
El mtodo bayesiano es el adoptado en el sistema PROSPECTOR (y en otros
derivados de l), y se basa en la teora de la probabilidad para cuantificar la
imprecisin y/o la incertidumbre y trabajar con ella.
La idea bsica consiste en asociar probabilidades a las reglas de produccin, e
identificar tales reglas con probabilidades condicionales. Si llamamos H al suceso
consistente en que cierta hiptesis sea verdadera y E al consistente en que cierta
evidencia est presente, podemos identificar la probabilidad condicional:
P(H\E) (probabilidad de que se d H supuesto E)
con la sentencia condicional:
Si la evidencia E est presente, entonces H es verdadera con probabilidad
P(H\E).
Ahora bien, obsrvese que esto es, precisamente, lo que el experto debe deducir:
si hay varias hiptesis posibles (por ejemplo, aqu debajo hay un yacimiento de
molibdeno, o de cobre, o de oro, o... no hay nada) y se presenta una evidencia E
compuesta por otras, E = E
x
y E
2
y... (por ejemplo, el terreno es arcilloso y en un
arroyo cercano alguien se ha encontrado una pepita de oro y...), de lo que se trata
justamente es de llegar a saber cules son las probabilidades P(Hi\E), P(H
2
\E), ... Si
el experto (humano) pudiera darnos todas esas probabilidades para todas y cada una
Aplicaciones en ingeniera del conocimiento 175
de las posibles combinaciones de E, entonces el sistema experto se limitara a tenerlas
almacenadas y a efectuar una bsqueda cuando se le diera una determinada combina-
cin de E. Pero ello es impensable, por el gran nmero de combinaciones posibles que
pueden formar E: no hay experto dispuesto a pasarse aos enumerando las distintas
posibilidades (terreno arcilloso o no, presencia de ciertas rocas o no, etc.) y dando
para cada una de ellas y para cada hiptesis posible una probabilidad.
Lo que s puede darnos el experto humano son unas estimaciones de las probabili-
dades a priori de cada una de las hiptesis (P{H): probabilidad de que se d H sin
saber nada ms) y de las probabilidades de que se presenten cada uno de los
elementos atmicos de evidencia supuesto que cada una de las hiptesis es verdadera
(P(Ei\H): probabilidad de que, supuesto que hay molibdeno, el terreno sea arcilloso,
etc.). Con esta informacin, el clculo de las probabilidades a posteriori, que es lo que
interesa, se puede hacer aplicando el conocido teorema de Bayes: si aparece la
evidencia E, entonces
m E ) =
P ^ P j E ^ )
i
Sabemos que una suposicin de partida en la demostracin de este teorema es que
las H son mutuamente excluyentes, suposicin que, normalmente, es poco razonable
en las aplicaciones prcticas (por ejemplo, la existencia de un cierto mineral no
excluye la posibilidad de que haya otros). Ahora bien, si conseguimos que el experto
humano nos d no slo las P{H) y las P(E^H) sino tambin las P(E\Hj) podemos
escribir el teorema en esta otra forma:
/ M| C
(
) P ^ WL G , ) _
(
I)
P(Hj)P(E
t
\Hj) + PiH^PiE^Hj)
en la que H y H son siempre mutuamente excluyentes, y donde P(Hj) se puede
sustituir por 1 P(H).
Anlogamente,
/>(//,.!,) = - p m p j E ^ )
P{Hj)P(E
t
\Hj) + PiH^PiE^Hj)
donde PiEilHj) = 1 - P(E,\Hj) y P(E,\Hj) = 1 - P(E^H).
Pero an no hemos terminado, porque lo normal no es que aparezca un solo tomo
aislado de evidencia, E
h
sino varios, de modo que E = E
x
U E
2
U ..., y lo que
queremos calcular es P(Hj\E). En este caso, hay dos modos de proceder:
(a) global: se calculan
p(i//
y
)=n p^Hj),
176 Lgica
tras lo cuaj se aplica la frmula anterior; para que ese clculo sea correcto es
preciso que todos los E sean independientes entre s;
(b) por pasos: para E
lt
se calculan con la frmula (1) P(Hj\Ei) (si es que E es
verdadera; si no, se utiliza la frmula (2)); estos valores se toman como nuevos
valores'de las probabilidades a priori, P(H), y se vuelve a aplicar la frmula
con E
2
, y asi sucesivamente. Puede demostrarse que el resultado es el mismo
que con el procedimiento anterior.
Este mtodo, eon algunas variantes que luego explicaremos, constituye el mecanis-
mo inferencial utilizado en PROSPECTOR. Para ayudar a aclarar las ideas, vamos a
concretar sobre un ejemplo sencillo: el de la regla a que antes nos referamos sobre la
fiebre, la gripe, etc. Puestos a concretar dando probabilidades, podramos pensar en
descomponer la regla en las nueve siguientes:
/ t i : Si tiene fiebre, entonces padece gripe con probabilidad 0,5.
R2: Si tiene fiebre, entonces padece bronquitis con probabilidad 0,1.
R3: Si tiene fiebre, entonces padece tuberculosis con probabilidad 0,4.
RA: Si tose mucho, entonces padece gripe con probabilidad 0,1.
R5: Si tose mucho, entonces padece bronquitis con probabilidad 0,7.
R6: Si tose mucho, entonces padece tuberculosis con probabilidad 0,2.
R7i Si tiene dolores musculares, entonces padece gripe con probabilidad 0,7.
R8: Si tiene dolores musculares, entonces padece bronquitis con probabilidad 0,2.
R9: Si tiene dolores musculares, entonces padece tuberculosis con probabilidad 0,1.
Si llamamos E
t
a las evidencias (en este caso, signos y sntomas: E
x
= tiene fiebre,
etc.) y Hj a las hiptesis (en este caso, enfermedades: H\ gripe, etc.), cada una de
las reglas equivale a una probabilidad condicional (por ejemplo, i?l: P(H\\Ei) = 0,5:
la probabilidad de que tenga gripe supuesto que manifiesta fiebre es 0,5).
Pero obsrvese que no es sta la informacin' que se precisa para aplicar el
mecanismo de inferencia bayesiano. En efecto, qu ocurre si unas evidencias estn
presentes y otras no?; es decir, cmo calcular, por ejemplo, P(H^Ey y E
2
y no E
3
)1
La informacin que se precisa no son las P(Hj\E), sino las P(E\Hj) (adems de las
P(Hj)).
Por tanto, supongamos que nuestro experto mdico (humano) nos ha provisto con
los siguientes elementos de conocimiento:
P( #i ) = 0,02; P(H
2
) = 0,01; P(H
3
) = 0,001,
donde Hi = gripe, H
2
= bronquitis y H
3
= tuberculosis. (Dicho sea de paso, estas
probabilidades a priori son lo que en trminos mdicos se llaman prevalencias de las
distintas enfermedades). Y asimismo, llamando E\ a la fiebre, E
2
a la tos y E
3
a los
dolores musculares,
Pi Et f h ) = 0,95
P(E
1
\H
2
) = 0,8
P(E
1
\H
1
) = 0,01
Pi E^ HJ = 0,03
Aplicaciones en ingeniera del conocimiento 177
P(E
1
\H
3
) = 0,6 PiE^h) = 0,02
PiE^HJ = 0,3 P(E
2
\H = 0,03
P(E
2
\H
2
) = 1 P(E
2
\H
2
) = 0,01
P(E
2
\H
3
) = 0,8 P(E
2
\H
3
) = 0,02
Pi E^HJ = 0,7 P( E
3
\ HJ = 0,02
P(E
3
\H
2
) = 0,5 P(E
3
\H
2
) = 0,01
P(E
3
\H
3
) = 0,4 P(?
3
| #
3
) = 0,05
La interpretacin de estas probabilidades condicionales en trminos estadsticos es
my fcil: las dos de la primera lnea vienen a decir el 95% de los afectados por la
gripe tienen fiebre, y el 1% de todos los pacientes que no tienen gripe presentan
fiebre.
Cmo se diagnosticara a un paciente que no presentase fiebre, pero s tos y
dolores musculares? Procedamos, cmo hemos indicado, por pasos. En primer lujgar,
la ausencia de fiebre nos permite, utilizando la frmula (2), calcular:
pm-Ej = pmn-Etm
=
P(H
1
)P(E
1
\H
1
) + P(H,)P(E
X
\H
X
)
0,02 * (1 - 0,95)
0,02 * (1 - 0,95) + (1 - 0,02) * (1 - 0,01)
= 1,02961 * 10"
y, similarmente, P(H
2
\
1
) = 2,0783 * 10"
3
; PiH^Ej) = 4,084 * 10"
3
.
Ahora tomamos como nuevos valores de P(Hj) estas probabilidades a posteriori
calculadas, y aplicamos la frmula (1) para tener en cuenta la segunda evidencia (tos),
resultando como nuevos valores para P(H) ls siguientes:
P(H\) = 0,03322; P(H
2
) = 0,17237; P(H
3
) = 0,03956.
Y, finalmente, considerando que E
3
tambin est presente, otra aplicacin de la
frmula (1) nos conduce a:
PiHJ = 0,78; P(H
2
) = 0,91; P(H
3
) = 0,25.
Es decir, se infiere que la enfermedad ms probable es la bronquitis, seguida de
cerca por la gripe.
1
Resumiendo, el conocimiento del experto humano quedara codificado en la base
de conocimientos por las probabilidades a priori de cada una de los posibles resulta-
dos, o hiptesis, P(HJ), y por las probabilidades condicionales de cada una de las
evidencias elementales a cada una de las hiptesis, P(E\H) y P(E,\H). El sistema
preguntar al usuario por algn elemento de evidencia, E, y el mecanismo de
inferencia calcula las probabilidades a posteriori, P(Hj\E) de acuerdo con la frmula
explicada, valores que sustituyen a los previos de P(H); luego el sistema preguntar
por otro E, y as sucesivamente,
Cundo pregunta el sistema por un elemento de evidencia u otro, y cundo se
178 Lgica
detiene el proceso? La idea bsica es la siguiente: a la vista de las P(H) actualizadas
en cada momento, y de todos los valores de P(E\Hj) y de P(E\Hj) el sistema calcula
cul de las E tiene ms influencia (teniendo en cuenta que la respuesta puede ser
positiva o negativa) en las posibles modificaciones de las P{H), y pregunta por ella.
Pero si las posibles modificaciones son tales que ninguna de las P(H) resultantes
puede llegar a ser mayor que la P(H) que actualmente es mxima, entonces el
proceso termina con H como hiptesis ms probable. Si no se hiciera as, el usuario
estara obligado a dar todas las E cada vez que hiciese una consulta.
Hemos dicho al principio que ste es el mecanismo de inferencia bsico de
PROSPECTOR, y as es, pero con una variante que permite que el experto humano
pueda comunicar su conocimiento He forma algo ms cmoda que dando probabilida-
des condicionales. Esta variante utiliza el concepto de potencialidad (odds): si la
probabilidad de un suceso es P, su potencialidad es S = P/( 1 - P) (por tanto, S ser
un nmero cbmprendido entre 0 y oo). Sustituyendo P por S en las frmulas de Bayes
(1) y (2) y operando, resulta:
S(HEd = MSjj * S(Hj) (3)
y
S(HJ\E) = MNj * S(Hj), (4)
con
MSij = P(E\H)!P(E\H) (medida de suficiencia)
MNj = P(E
i
\H
j
)/P(E
i
\'Hj) {medida de necesidad)
Puede comprobarse (teniendo en cuenta las leyes de las probabilidades) que tiene
que cumplirse que si una es mayor o igual que 1 la otra tiene que ser menor o igual que
1; para homogenizar, se definen las E de tal modo que siempre resulte MSj > 1 y
MNJ < 1 .
Entonces, MSestar comprendida entre 1 y y su interpretacin es la siguiente:
si MS
i}
- 1, de acuerdo con (3) la potencialidad de que la hiptesis H sea cierta, tras
saber que se da la evidencia E, es la misma que antes de saberlo, por lo que en este
caso es indiferente conocer E o no, mientras >que si MS
tj
tiende a infinito, la
potencialidad a posteriori de H tiende tambin a infinito cualquiera que sea su
potencialidad a priori, es decir, E es lgicamente suficiente para inferir Hf, por tanto,
MSj es, como su nombre indica, una medida de la suficiencia del conocimiento de E
para la inferencia de H, que:el experto humano ha de evaluar entre 1 y
En cuanto a MNj, si Vale 1, segn (4) la ausencia de E no afecta a la potencialidad
de la hiptesis, es decir, no es en absoluto necesario que E est presente, mientras
que si vale 0 la ausencia de E reduce a cero la potencialidad de Hf E sera
lgicamente necesaria. El experto humano habr de evaluar, en una escala de 0 a 1 la
necesidad de que E est presente para inferir H.
En resumen, la base de conocimientos de PROSPECTOR consta de las probabilida-
Aplicaciones en ingeniera del conocimiento 179
des a priori de cada hiptesis* y de un conjunto de reglas que se pueden esquematizar
asi:
Hj* Ei(MS
t
j, MNy),
es decir, reglas de produccin Con dos nmeros asociados, y la inferencia consiste en ir
recopilando E y actualizando las probabilidades de cada hiptesis.
Hay un aspecto final a considerar: el de la incertidumbre en el usuario cuando se le
pregunta por la existencia o no de un determinado elemento de evidencia, E. Segn
(3) y (4), si la respuesta es que E est presente (con seguridad), entonces S(Hj\E) =
MSj * S(H), mientras que si no hay duda de que no est presente, entonces
S(Hj\ Ei) = MNy * S(Hj). Pues bien, lo que se hace es permitir al usuario que
responda en una escala entre +5 y - 5. Una respuesta equivale a una seguridad
absoluta en la presencia de E, y se aplicara la primera frmula. Una respuesta de 5
(seguridad absoluta de que E est ausente) conducira a aplicar la segunda frmula.
Una respuesta 0 (ignorancia total) dejara inalterada S(Hj\E). Y para vlores de R
intermedios, el sistema hace una interpolacin entre MSj, 1 y MNy. Si, por ejemplo,
se hacen interpolaciones lineales, tendramos las siguientes frmlas:
R * (MS - 1) + 5
si R > 0, Mu = 2 L
1
5
si R = 0, Mj = 1
R * (1 - MNu) + 5
si R < 0, Mu = ^
' 5
y actualizaramos as la potencialidad:
S(Hj\E
t
) = M * S(Hj)
3.3. Inferencia mediante factores de certidumbre
Una objecin crtica que puede hacerse al mecanismo explicado en el apartado
anterior es que utiliza una base matemtica rigurosa (la teora de la probabilidad) para
aplicarla a unas creencias subjetivas que no cumplen las leyes de las probabilidades.
Los diseadores del sistema MYCIN estimaron ms oportuno ensayar un enfoque
heurstico que, resumidamente, es el siguiente:
* En principio, y segn lo que hemos dicho, las hiptesis corresponderan a la existencia de
determinados minerales. Pero en realidad PROSPECTOR es algo ms complicado: para cada mineral hay
una jerarqua de hiptesis que se combinan formando una red, y en esta red hay tambin relaciones lgicas
imprecisas, para las que se aplican las leyes de Lukasiewicz que veamos en el captulo 5.
180 Lgica
Las reglas d produccin se expresan en la forma:
E^HjiQj)
donde C es el factor de certidumbre de la regla, nmero comprendido entre - 1 y +1
qu expresa el grado de confianza en esa regla: supuesto que E sea verdadero,
Cjj = +1 correspondera a na seguridad absoluta de que s deduce H, y C,y = la
una sguridad absoluta de qu H es falsa {C = 0 corfespondra a una incertidumbre
o ignorancia total Sobre el asunt).
Por ejemplo, una de las aproximadamente 500 reglas contenidas en la bas de
conocimientos d MYCIN es l siguiente:
Si la infeccin es bacteriemia primaria,
y la toma del material a cultivar es una toma estril,
y s cree que la puerta de entrada del organismo es el tracto gstro-
intestinal,
entonces
hay bastante evidencia (0,7) de que la identidad del organismo sea
bacteroides.
El nmero 0,7 que figura n el consecuente es el factor de certidumbre asociado a
esa regla.
Los distintos elementos de evidencia pueden tambin llevar asociados factores de
certidumbre (que introducir el usuario cuando el sistema le pregunte por esos
elementos de evidencia).
El mecanismo inferencial de MYCIN consiste en un algoritmo de encadenamiento
hacia atrs como el explicado en el apartado 2.4.5, al que se aaden algunos
heursticos* para ir combinando los factores de certidumbre y terminar dando una
certidumbre final a cada una de las posibles hiptesis. Los heursticos principales son:
* Si existe la regla A B(C
R
) y se ha calculado un factor de certidumbre C
A
para
A, si C
A
< 0 , la regla no s aplica, y en caso contrario, se asigna a B un
factor C
B
= C
A
* C
R
.
* En general, A estar compuesto por otros hechos unidos por conectivas, V, A y
1 ; el clculo del factor de certidumbre resultante se hac de acuerdo con las frmulas
C(A1 v A2) mx(C
AU
C
A2
)
C(Al A A2) = mn(C
Al
, C
A2
)
C(~IA) = -C(A)
* En los nodos Y, de acuerdo con los heursticos anteriores, el C de la regla se
multiplica por el menor de los C de las premisas.
* En las tcnicas d itligelcia artificial, se llama heurstico cualquier trUco, o regla emprica, qe s
ha comprobado qe sirve de ayuda en l solucin d un problema.
Aplicaciones en ingeniera del conocimiento 181
* En los nodos O, si slo hay dos ramas para cuyos elementos se han calculado
Q y C
2
, el factor de certidumbre del resultado es:
C = Ct + C
2
- Ci* C
2
si C
t
* C
2
> 0
n + ci
c = , I si Cl * C2 < 0
1 - mn(| C
1
| ,| C
2
| )
Si hay ms d dos ramas, se calcula l C para las dos primeras, el resultado se combina
con el de la tercera, etc.
* Siempre que como consecuencia de un clculo resulte |C| < 0,2, se hace C = 0.
(Esto acelera los algoritmos y hace ms claras las explicaciones y justificaciones del
sistema).
Para ilustrar con un caso simplificado cmo se aplican estos heursticos, volvamos
a nustro ejemplo de l fiebre, la gripe, etc. Supongamos que la base de Conocimien-
tos est formada por las 9 reglas enumeradas en el apartado 3.2, pero interpretando
qe lo que all Se llaman probabilidades son factores de certidumbre. Es decir:
R1
R2
R3
f ^ g (0,5) R4:ts^g (0,1) Rl.d-^g (0,7)
/- b (0,1) R5: ts^b (0,7) R8:d^b (0,2)
/.-> tb (0,4) R6: ts tb (0,2) R9: d^tb (0,1)
Y supongamos que la evidencia presente es: fiebre (0,8), tos (0,9), dolores (1).
(Bastante seguro que no tiene fiebre, casi seguro que tiene tos y con seguridad que
tiene dolores musculares).
Para Cada una de las tres hiptesis (gripe, bronquitis, tuberculosis) tnemos un
rbol muy sencillo: un simple nodo O con tres ramas. Para la primera (gripe)
resulta:
Kama 1 (/?1): - 0, 8 * 0,5 = - 0, 4
Rama 2 (i?4):, 0 , 9 * 0 , 1 = 0,09
Rama 3 (R7): 1 * 0,7 = 0,7
Combinando la Rama 1 con la 2,
- 0, 4 + 0,09
1 - 0,09
y combinando este factor de certidumbre Con el de la Rama 3,
Cg = '
7
- ^ = 0,54
1 - 0,34
Procediendo d igual modo con las otras hiptesis s obtiene
i .
1

C
b
= 0,68 y C
tb
= -0, 08,
182 Lgica
es decir, algo ms de certidumbre en que sea bronquitis que gripe, y una incertidum-
bre prcticamente absoluta en cuanto a aue oueda o no ser tuberculosis.
3.4. Inferencia borrosa
Si a PROSPECTOR se le acusa de utilizar una teora en exceso rigurosa y
elaborada con otros fines para formalizar un conocimiento esencialmente impreciso y
subjetivo, las objeciones a MYCIN van en sentido opuesto: se basa en unos heursti-
cos bastante arbitrarios.
Por ello, muchos de los trabajos actuales buscan su fundamento en unas herra-
mientas tericas que tratan de acometer la imprecisin y la subjetividad de manera
rigurosa: la teora de conjuntos borrosos y la lgica borrosa, de las cuales ya hemos
dado alguna explicacin en el captulo 5.
Existen ya varios sistemas diseados segn esta teora, y muchos otros estn en
proceso de desarrollo. Pero ninguno de ellos est tan establecido an como PROS-
PECTOR y MYCIN (que han servido de patrn para otros muchos desarrollos
posteriores). Por esta razn, no entraremos aqu en la descripcin de ninguno,
remitiendo al lector interesado a las referencias del apartado 6.
4. OTROS ESQUEMAS PARA LA REPRESENTACIN
DEL CONOCIMIENTO
El objetivo de este captulo era ver un campo de aplicacin de la lgica: los
sistemas basados en conocimiento. Pero en muchos de estos sistemas se utilizan otras
tcnicas ms estructuradas para la representacin del conocimiento, y parece oportu-
no, para completar el captulo, dar una idea de dos de las ms conocidas: las redes
semnticas y las estructuras (frames).
Una preocupacin comn en todas estas tcnicas es la de tener una representacin
lo ms estructurada posible a fin de facilitar el almacenamiento, modificacin y
bsqueda en las bases de conocimiento. Vamos a ver sobre un ejemplo cmo de la
representacin lgica puede pasarse a otras representaciones ms estructuradas.
Supongamos que tenemos los siguientes hechos:
La Memoria Transfiere Datos e Instrucciones al Procesador.
El Procesador Transfiere Datos a la Memoria.
El Procesador Interpreta Instrucciones.
La Memoria Almacena Datos e Instrucciones.
Pensando en lgica de predicados, podemos definir dos predicados ternarios: T(x,
y, z) para representar JC transfiere a y, z y F(x, y, z) para una funcin de x es hacer
y con 2. Nuestros hechos se traducirn entonces a predicados aplicados sobre las
constantes M (Memoria), P (Procesador), D (Datos), / (Instrucciones), R (Interpre-
ta) y A (Almacena). (Tambin podramos utilizar letras minsculas, si quisiramos
seguir al pie de la letra los convenios del captulo 4 para los nombres de las
constantes).
Aplicaciones en ingeniera del conocimiento 183
La representacin en lgica de predicados sera:
T(M, P, D); T(P, M, D); T(M, P, /);
F(P, R, 7); F(M, A, 7); F(M, A, D).
Esta base de hechos es pequea, pero en un caso real podra contener cientos de
predicados, y para mejorar el acceso convendra estructurarla. Por ejemplo, podra-
mos agrupar separadamente (aun cuando aparezcan repeticiones) los hechos referen-
tes a la memoria y los referentes al procesador.
Memoria:
T(M; P, D); T(P, M, D); T{M, P, 7); F(M, A, 7); F(M, A, D)
Procesador:
T(M, P, >); T(P, M, 7)); T(M, P, 7); F(P, R, 7)
Ahora los hechos estn indexados por objetos del dominio del discurso. Se dice
que es una representacin centrada en los objetos, en este caso, en los objetos fsicos.
Tambin podemos adoptar una representacin centrada en objetos abstractos: trans-
ferencias y funciones.
Todos los predicados de este ejemplo son ternarios. Pero en las representaciones
estructuradas es preferible trabajar slo con predicados binarios. Una de las razones
para ello es que si se quiere perfeccionar el conocimiento diciendo, por ejemplo, que
la transferencia de datos de la memoria al procesador se hace a travs del bus de
datos, ello exigira convertir el predicado ternario en otro cuaternario, y habra que
modificar tambin los procedimientos de inferencia. Vamos a ver que es posible
expresar todo con predicados binarios y conseguir un sistema ms modular y fcil de
actualizar.
Definamos, para nuestro ejemplo, dos conjuntos, {transferencias} y {funciones}.
Todo lo que se dice sobre transferencias y funciones puede expresarse mediante
predicados binarios que relacionan a los argumentos de los predicados ternarios
originales con un elemento arbitrario de esos conjuntos. Por ejemplo, la frmula
atmica T{M, P, D) se transformar en la sentencia
(3x)(Pertenece(jc, {transferencias}) A Fuente(x, M) A
A Destino(jc, P) A Objeto(x, D)
y la F(P, R, 7), en
(3jc)(Pertenece(jt, {funciones}) A Unidad(x, P) A
A Funcin(x, R) A Objeto(x, D)
Los cuantificadores existenciales pueden eliminarse creando constantes de Sko-
lem: T en sustitucin de x en la primera sentencia, y Fl en la segunda. Por otra parte,
184 Lgica
los predicados binarios que relacionan los argumentos originales con algn elemento
arbitrario de los conjuntos tambin pueden expresarse como funciones definidas
sobre esos conjuntos. Es decir, en vez de decir, por ejemplo, Fuente(*, M),
podemos definir la funcin fuente y decir que fuente(*) = M. (Obsrvese el
cambio de notacin, pero no de contenido semntico: Fuente es un predicado;
Fuente(71, M) se evala como verdadero o falso; fuente es una funcin; fuente(71)
es un individuo; = es un predicado binario, de modo que tambin habramos
podido escribir la igualdad en la forma Igual(fuente(71), Ai), y que se evala como
verdadero o falso).
Haciendo esas dos transformaciones, las sentencias anteriores se escribirn as:
Pertenece(71, {transferencias}) A (fuente(71) = M) A
A (destino(71) = M) A (objeto(71) = D)
Pertenece(l, {funciones}) A (unidad(fl) = P) A
A (funcin(l) = R) A objeto(Fl) = D)
Esta representacin puede parecer, de momento, bastante ms farragosa que la
que inicialmente tenamos, pero obsrvense dos cosas: que hemos limitado a dos los
predicados y que stos son binarios (si bien a costa de introducir arbitrariamente
funcions) y que si, como decamos antes, se quieren ampliar las relaciones con
nuevos elementos del dominio del discurso (por ejemplo, buses) basta con definir
nuevas funciones sobre los conjuntos de base y seguir utilizando los mismos predica-
dos binarios Pertenece e Igual.
Poniendo en gupos separados todos los hechos qu identifican 71, T2, etc.,
tendremos ufla representacin ms estructurada:
71 Pertenece(71, {transferencias})
fuente(7'l) = M
destino(Tl) = P
objeto(Tl) = D
etctera.
Como ahora todas las funciones figuran dentro de un grupo identificado por su
argumento, no hace falta especificar ste, y escribiremos fuente: M, etc. Adems,
para abreviar el predicado Pertenece(71, {transferencias}) escribiremos tipo: trans-
ferencias. Llegamos as a la representacin estructurada;
71 tipo: transferencias
fuente: M
destino: P
objeto: D
72 tipo: transferencias
fuente: P
destino: M
objeto: D
Aplicaciones en ingeniera del conocimiento 185
73 tipo: transferencias
fuente: M
destino: P
objeto: I
Fl tipo: funciones
unidad: P
funcin: R
objeto: /
Fl tipo: funciones
unidad: M
funcin: A
objeto: I
F3 tipo: funciones
unidad: M
funcin: A
objeto: D
Se dice que 71, T2 y i J son casos ^instances) ae ia estructura (rramej general
T, y Fl, Fl y F3 lo son de la F. Cada estructura tiene como componentes ranuras
(slots) de la forma nombre_ranura: vaior_ranura.
Hay informaciones implcitas sobre pertenencia a conjuntos en nuestra representa-
cin original que podemos aadir ahora:
M tipo: unidades
P tipo: unidades
R tipo: funciones
A tipo: funciones
D tipo: informaciones
I tipo: informaciones
Una red. semntica es un graf en el que los nodos pueden representar objetos,
conceptos o conjuntos y los arcos relaciones entre ellos. Para nuestro ejemplo, la red
semntica podra ser la que indica la figura 6.2
Aqu slo hemos introducido la cuestin de las representaciones estructuradas. En
el ejemplo, lo que hemos representado es conocimiento declarativo: Las estructuras
hay que ampliarlas con nuevos conceptos para representar el conocimiento procedi-
mental, y hay que utilizar mtodos inferenciales especiales que operen sobre sas
estructuras. De nuevo remitimos, al lector interesado a la bibliografa sobre el tema.
186 Lgica
FIGURA 6.2.
5. RESUMEN
La lgica formal es una herramienta adecuada para la representacin del conoci-
miento declarativo, procedimental y de control y, por tanto, para el diseo de
sistemas basados en conocimiento y sistemas expertos.
Uno de los modelos ms utilizados para el diseo de sistemas basados en
conocimiento es el de los sistemas de produccin. Las reglas de produccin en estos
sistemas pueden formalizarse como sentencias condicionales, y, por tanto, todo lo que
la lgica nos ensea sobre sistemas inferenciales es aqu aplicable.
Los expertos humanos suelen trabajar con reglas no muy bien definidas y con
elementos de evidencia imprecisos o inciertos. Para disear un sistema experto es
preciso modelar esos aspectos de la actividad humana, y para ello existen varias
tcnicas: factores de certidumbre, probabilidades, lgica borrosa, etc.
Hay otras tcnicas para representar el conocimiento de una manera ms estructu-
rada que con la lgica. Las ms conocidas son las estructuras (frames) y las redes
semnticas.
Aplicaciones en ingeniera del conocimiento 187
6. NOTAS HISTRICA Y BIBLIOGRFICA
Post (1943) fue el primero que, desde un punto de vista terico, propuso el modelo
de sistema de produccin como un mecanismo computational general.
El paradigma de los sistemas basados en conocimiento comenz a tomar cuerpo
a finales de los aos 60. Suelen citarse como precursores los programas DENDRAL
y MACSYMA. El primero, desarrollado en la Universidad de Stanford, permite
deducir la estructura qumica molecular de un compuesto orgnico a partir de su
frmula y de datos espectrogrfcos y de resonancia magntica nuclear (Buchanan et
al., 1969), y actualmente lo utilizan varias empresas farmacuticas americanas.
MACSYMA, del M.I.T., realiza clculo diferencial e integral mediante manipulacin
simblica de expresiones algebraicas (Martin y Fateman, 1971), y es tambin un
producto comercializado. Los sistemas expertos pioneros ms conocidos son MY-
CIN, para diagnstico y tratamiento de enfermedades infecciosas (Shortliffe, 1976) e
INTERNIST, para diagnstico en Medicina Interna (Pope etal. , 1975). Actualmente
puede hablarse de una etapa de industrializacin, en la que empresas ya estableci-
das se interesan por este nuevo campo, se crean otras dedicadas exclusivamente a l, y
aparecen en el mercado herramientas software para el desarrollo de sistemas exper-
tos.
Las redes semnticas se propusieron inicialmente como modelo de la memoria
humana (Quillian, 1968), y se han utilizado en los sistemas expertos PROSPECTOR
(Duda et al., 1978), CASNET (Weiss et al., 1978), CADUCEUS (Myers et al., 1982),
IRIS (Trigoboff y Kulikowski, 1981), etc., y las estructuras (frames) fueron introduci-
das por Minsky (1975) con idea parecida (cuando a la mente se le plantea una
situacin nueva, busca en la memoria alguna estructura estereotipada de informa-
cin), y en ellas se han basado otros diseos, como los sistemas PIP (Pauker et al.,
1976), RADEX (Chandrasekaran et al., 1980), CENTAUR (Aikins, 1983), etc., y
otras representaciones estructuradas, como las escenas (scripts), de Schank y Abelson
(1977).
Hayes (1977,1979) puso de manifiesto las relaciones entre las representaciones en
lgica de predicados y mediante estructuras. En la presentacin de estas relaciones en
el apartado 4 hemos seguido a Nilsson (1982).
En realidad, la ingeniera del conocimiento est an en un estado incipiente, y en
cada diseo se adopta un esquema hbrido buscando la mejor solucin posible al
problema concreto. Por ejemplo, PROSPECTOR no slo utiliza, como hemos visto,
un mecanismo de inferencia bayesiano y, en otras partes, una lgica multivalorada,
sino tambin una red inferencial que guarda cierta relacin con las redes semnticas
de Quillian.
El lector interesado en conocer ms sobre estas tcnicas de representacin del
conocimiento puede consultar el libro ya citado de Nilsson (1982), o el de Charniak y
McDermott (1985), donde encontrar explicaciones muy claras tanto sobre las
tcnicas como sobre los procedimientos de inferencia asociados, y, para profundizar
en el asunto, MacCalla y Cercone (1983) o Sowa (1984).
Sobre el tema de los sistemas basados en conocimiento, y a un nivel introductorio,
pueden encontrarse informaciones adicionales a lo que aqu hemos expuesto en los
artculos de Cuena (1984, 1985a, b), Cordier (1984), Hayes-Roth (1894a, b, c) y au
188 Lgica
(1982). El libro de Gondran (1984) contiene varios ejemplos ilustrativos de pequeos
sistemas, y en el de Naylor (1983) pueden encontrarse listados en BASIC para
Apple II y Spectrum de sistemas muy sencillos (uno de ellos introduce al interesante
tema del aprendizaje por induccin a partir de ejemplos).
Para mayor profundidad y detalle, pueden verse los textos de Hayes-Roth et al.
(1983) (que contiene estudios comparativos sobre diversas herramientas), Buchanan y
Shortliffe (1984) (centrado sobre MYCIN, EMYCIN y dems desarrollos del Stan-
ford Heuristic Programming Project), Weiss y Kulikowski (1984) (que ofrece una
visin complementaria del anterior, al estar ms influenciado por la experiencia de sus
autores en los desarrollos de CASNET y EXPERT), o, en espaol, el de Cuena et al.
(1986) (que contiene los temas de aprendizaje y de inferencia imprecisa), el de Alty y
Coombs (1986) (donde se resumen los conceptos bsicos y se estudian con algn
detalle varios sistemas expertos) y el coordinado por Mompn (1987) (escrito por
varios autores, y que cubre aspectos bsicos y de aplicacin).
La lgica borrpsa no es la nica herramienta formal que se investiga actualmente
para disear sistemas que trabajen con imprecisin o incertidumbre. Otra es, por
ejemplo, la teora de la evidencia, de Dempster-Shaffer (Shaffer, 1976). Una
sntesis de este tema puede encontrarse en un artculo de Prade (1985), o, con mayor
extensin, en el libro de Dubois y Prade (1985).
Segunda parte
AUTOMATAS
Captulo 1
IDEAS GENERALES
1. AUTMATAS E INFORMACIN
La palabra autmata, en el lenguaje ordinario, normalmente evoca algo que
pretende imitar funciones propias de los seres vivos, especialmente las relacionadas
con el movimiento. (Vase, para corroborar esta asercin, la definicin de un
diccionario cualquiera). En este sentido, un ejemplo d autmata sera el tpico robot
antropomorfo o zoomorfo dotado de capacidades autnomas de movimiento que le
permiten ejecutar las rdenes o seguir el programa establecido por un ser inteligente.
En el campo de la Informtica lo fundamental no es la simulacin del movimiento,
sino la simulacin de los procesos de tratar la informacin, y el ejemplo tpico, de
autmata no es ya el robot mecnico sino el ordenador.
Pensemos en la naturaleza del trabajo que realizan los ordenadores. Bastan unos
conocimientos bsicos de informtica para llegar a la conclusin de que un ordenador
no es ms que un dispositivo que manipula smbolos. Un ejemplo ser til para
reforzar esta idea:
Consideramos un ordenador con registros de 16 bits. Supongamos que este
ordenador recibe de un perifrico una serie de impulsos que se graban en un registro
dejando en l l siguiente configuracin de bits:
1010010001000001
Qu significa sto para el ordenador? Entre otras muchas cosas puede ser:
El nmero -23487 expresado en binario con convenio de complemento a 2.
Los caracteres , codificados en cdigo ASCII ampliado a 8 bits.
Una instruccin del lenguaje de mquina del ordenador.
191
192 Autmatas
El que sea una u otra cosa depende de dos personas:
el diseador del ordenador (para ser realista habra que hablar del equipo de
diseo), que decidi que los nmeros s representen en binario y complemento
a 2, o que, interpretado como instruccin, ese cdigo de operacin signifique,
por ejemplo, sumar, y no otra cosa, etc.;
l utilizador, que, al hacer su programa, decide que en un momento dado el
ordenador lleve esa configuracin de bits de la memoria al acumulador, o al
registro de instruccin, o a la unidad de salida, etc. Al tomar tal decisin, el
utilizador est dotando al conjunto de bits de una significacin y, por consi-
guiente, de una capacidad para representar informacin. Para el ordenador, sin
embargo, los bits no son ms que smbolos materializados por los niveles de
tensin en los circuitos.
A veces se define al ordenador por sus supuestas capacidades para tratar o
procesar automticamente la informacin. De acuerdo con lo visto ms arriba, debe
entenderse que este tratamiento o procesamiento de la informacin slo tiene sentido
para nosotros, que decidimos qu tal tira o cadena de smbolos significa tal cosa,
es decir, que codificamos la informacin en cadenas de smbolos; el ordenador se
limita a manipular esas cadenas, dando normalmente como resultado otras cadenas
que nosotros decodificamos.
Y hablando ya en trminos generales, podemos considerar a un autmata como un
dispositivo que manipula cadenas de smbolos que se le presentan a su entrada,
produciendo otras tiras o cadenas de smbolos como salida. En el apartado 3.1 del
captulo 2 formalizaremos matemticamente esta definicin.
Un ordenador es Un ejmplo de autmata, pero tambin sn autmatas dispositi-
vos ms Sencillos, como sumadores* contadores, etc., qu veremos como ejemplos en
el captulo 2, o las .mismas partes constituyentes de un ordenador: la unidad
aritmtica-lgica o la unidad de control son autmatas. Por otra parte, existen
autmatas ms complejos que un ordeador, como los robots controlados por
ordenador. Tambin pueden estudiarse como autmatas determinadas funciones de
los seres vivos, e incluso complejos sistemas ecolgicos y socioeconmicos.
2. AUTMATAS Y MQUINAS SECUENCIALES.
CONCEPTO DE ESTADO
El autmata recibe los smbolos de entrada uno detrs de otro, distribuidos en el
tiempo, es decir, secuencialmente. Adems, en general, el smbolo de salida que en
un instante determinado produce este autmata no slo depende del ltimo smbolo
recibido a la entrada, sino de toda la secueri o cadena, distribuida en l tiempo, que
ha recibido hasta ese instante. Quiere esto (lecir que un autmata es una mquina
secuencial, en el sentido de que opera sobre secuencias de smbolos, recordando en
todo instante la historia de smbolos llegados hasta ese instante. Esto le diferencia
de una mquina puramente combinatoria como sera, por ejemplo, un circuito lgico
de los estudiados en el tema Lgica^
As pues, ante un determinado smbolo de entrada un autmata puede producir
Ideas generales 193
diferentes smbolos de salida, dependiendo de la historia o secuencia de todos los
smbolos de entrada anteriores.
Obsrvese que hasta ahora venimos hablando de un autmata como una caja
negra con una entrada en la que recibe smbolos y una salida, sobre la que deposita
otros smbolos. Otra manera de enfocar el estudio de los autmatas es considerando
lo que hay dentro de la caja negra (aunque sea de una manera abstracta, es decir,
prescindiendo de la naturaleza de los componentes fsicos y atendiendo slo a las
transformaciones de smbolos), y esto nos lleva a definir un concepto fundamental: el
estado del autmata. El estado es toda la informacin necesaria en un momento dado
para poder deducir, dado un smbolo de entrada en ese momento, cual ser el smbolo
de salida. Es decir, conocer el estado es lo mismo que conocer toda la historia de
smbolos de entrada*. Un autmata tendr [Link] nmero de estados (en
teora, puede tener infinitos), y se encontrar en uno u otro segn sea la historia de
smbolos que le han llegado; si encontrndose en un estado determinado, recibe un
smbolo tambin determinado, producir un smbolo de salida y efectuar un cambio
o transicin a otro estado (tambin puede quedarse en el mismo). Estas ideas son
fciles de formalizar matemticamente a partir de los conceptos de conjunto y
funcin, y conducen a la definicin de autmata que desarrollaremos en el captulo
siguiente.
3. AUTMATAS Y LENGUAJES
Un campo importante dentro de la Informtica, al que dedicaremos el ltimo
tema, est constituido por el estudio de. los lenguajes y las gramticas que los gene-
ran. Los elementos de un lenguaje son sentencias, palabras, etc., formados a partir
de un alfabeto (captulo 1, apartado 4 del tema Lgica). Establecidas unas reglas
gramaticales, una cadena de smbolos pertenecer al correspondiente lenguaje si tal
cadeha 'se ha formado obedeciendo esas reglas; puede entonces pensarse en la
posibilidad de construir un autmata reconocedor de ese lenguaje, tal que cuando
reciba a su entrada una determinada secuencia de smbolos produzca, por ejemplo, un
1 a la salida si la secuencia es correcta, y un 0 si no lo es. De este modo, como
veremos en su momento, a cada tipo de gramtica corresponde un tipo de autmata.
4. AUTMATAS Y LGEBRA
Las cadenas de entrada y salida de un autmata se forman a partir de los
correspondientes alfabetos mediante una operacin que consiste en poner los smbo-
los unos a continuacin de otros. Esta operacin se llama concatenacin, y es
asociativa. Por consiguiente, el conjunto de todas las cadenas con la concatenacin
* Realmente, no basta con conocer toda la-historia d smbolos de entrada para saber cul es la salida;
es necesario conocer tambin el estado inicial, es decir, el estado en que se encontraba el autmata al
recibir el primero de los smbolos de entrada.
194 Autmatas
tiene una estructura algebraica de semigrupo; si, adems, definimos un elemento
neutro, tendremos un monoide.
Por otra parte, como veremos en el captulo siguiente, si el autmata es finito (es
decir, si tiene un nmero finito de estados) puede determinarse un nmero finito de
clases de equivalencia en el semigrupo (o monoide) de entrada, lo cual permite definir
un semigrupo (o monoide) cociente llamado el semigrupo (o monoide) de la mquina,
a partir del cual pueden formalizarse muchas cuestiones relativas al funcionamiento
de los autmatas.
Siguiendo esta lnea de trabajo, se ha elaborado en las dos ltimas dcadas una
teora abstracta de autmatas con una fuerte base algebraica que, segn Arbib (1969),
constituye la matemtica pura de la Informtica.
5. RESUMEN
La Teora de Autmatas, tambin llamada Teora algebraica de mquinas,
permite estudiar de un modo sistemtico las mquinas, ms o menos complicadas, que
realizan un procesamiento de la informacin y que actan de manera discreta, es
decir, la informacin se supone codificada a partir de un conjunto finito de smbolos
que el autmata trata secuencialmente, uno detrs de otro. La Teora de Autmatas
proporciona mtodos para el anlisis y la sntesis de tales mquinas.
Los trabajos sobre lenguajes y gramticas formales han evolucionado en una
direccin que les ha conducido a encontrarse con la Teora de Autmatas como
herramienta matemtica de gran utilidad.
La Teora de Autmatas no slo puede aplicarse a las mquinas, en el
sentido estricto que normalmente damos a esta palabra, sino tambin a muchos
sistemas naturales, y, en general, permite estudiar procesos que dependen de una
historia, es decir, cuyo comportamiento presente es funcin del pasado.
En sus veinte aos de historia la Teora de Autmatas se ha constituido en una
disciplina muy formalizada que sigue en evolucin. Mientras la teora bsica (autma-
tas finitos deterministas) puede considerarse definitivamente establecida, se abren
nuevas vas que actualmente son objeto de estudio de los investigadores y que ofrecen
amplias perspectivas de aplicacin: autmatas estocsticos, borrosos, adaptativos, de
aprendizaje, etc.
Evidentemente, en este tema no podemos exponer ni siquiera resumir, toda la
Teora de Autmatas. Nuestro objetivo ser presentar los principios bsicos, desarro-
llando algunos ejemplos de aplicacin para ver su utilidad prctica en diversos
campos, especialmente el de la Informtica.
Captulo 2
AUTOMATAS FINITOS
1. DEFINICIN Y REPRESENTACIN DE LOS AUTMATAS
1.1. Definicin
Un autmata es una quntupla:
A = (E, S, Q, f , g), [1.1.1]
donde:
E es un conjunto finito, llamado conjunto de entradas o alfabeto de entrada, cuyos
elementos llamaremos entradas o smbolos de entrada.
S es un conjunto finito, llamado conjunto de salidas o alfabeto de salida, cuyos
elementos llamaremos salidas o smbolos de salida.
Q es un conjunto llamado conjunto de estadoy.
f es una funcin/: Ex Q>Q, llamada funcin de transicin o funcin de estado
siguiente.
g es una funcin g: E X Q > S, llamada funcin de salida.
Esta definicin formal puede interpretarse como la descripcin matemtica de una
mquina que, si en el instante t recibe una entrada e e E y se encuentra en el estado
q e Q, entonces da una salida g(e, q), y pasa l estado f(e, q) en el instante t + 1.
(Suponemos una escala distreta de tiempos arbitraria: t = 1,2, 3...). Expresando de
una manera explcita el tiempo, y si llamamos s a un elemento genrico de S, podemos
escribir:
q(t + 1) = Ae(t), q(t)\, s(f) = g[e(t), q(t)]
195
196 Autmatas
A es un autmata finito si Q es un conjunto finito. En lo sucesivo, y hasta el
captulo 5, trataremos slo con autmatas finitos, y abreviaremos escribiendo AF.
1.2. Representacin
1.2.1. Tabla de transiciones
Las funciones f y g pueden representarse mediante una tabla con tantas filas como
estados y tantas columnas como entradas. Si la fila i corresponde al estado q y la
columna j corresponde a la entrada e, en la interseccin de ambas se escribir f(e,
qi)lg(e, q). Por ejemplo, sea el AF definido por los conjuntos
E = {a, b}
S = {0, 1}
Q = {qi, q
2
, q?)
y las funciones de estado y de salida
/(, <7i) = q g{a, q
t
) = 0
Kbqi) = q
2
; g(b, = 1
/(, q
2
) = <Z3 g(a, q
2
) = 0
f(f>, q
2
) = q
2
; g(b, q
2
) = 0
f(a, q
3
) = <73; g(a, q
3
) = 1
f(b, qs) = q g(p, q
3
) = 0
En lugar de esto, es ms cmodo representar f y g por la tabla de transiciones de la
figura 2.1.
V e
<7 \
a b
qi
/o
qiH
12 qj0 '
<?
2
/o
<3 <73/1
?i/0
FIGURA 2.11.
Autmatas finitos. 197
1.2.2. Diagrama de Moore
Otra forma de representar las funciones/y g es mediante un grafo orientado en el
que cada nodo corresponde un estado, y si f(e, q) = q y g(e, q) = s, existe un arco
dirigido del nodo correspondiente a q al correspondiente a q, sobre el que pondre-
mos la etiqueta e/s. Por ejemplo, el AF definido por la tabla anterior puede
representarse por e grafo de la figura 2.2. Este grafo suele llamarse diagrama de
transiciones o diagrama de Moore.
1.3. Mquinas de Moore y de Mealy
El modelo general de autmata que hemos definido se llama mquina de Mealy.
Las funciones f y g determinan la salida y el estado siguiente cuando la mquina se
encuentra en un estado q e Q y recibe una entrada e e E. Ahora bien, por conve-
niencia matemtica, es interesante considerar, adems de los smbolos elementos de
E, un elemento neutro, A; fsicamente, el decir que la entrada es A, es lo mismo que
decir que no hay ninguna entrada. Es inmediato entonces plantearse la siguiente
pregunta: qu ocurre si, estando un autmata en el estado q e Q, recibe como
entrada A? Para responder a esto, matemticamente, habra que ampliar el dominio
de/ , que es Ex Q, a {E U {A}} X Q, y lo mismo el dominio de g. La ampliacin del
dominio de / no plantea ningn problema: se puede convenir que /(A, q) = q (es
decir, fsicamente, que si no hay entrada no se cambia de estado). Pero no ocurre lo
mismo con g; y ello se ve fcilmente si nos referimos al ejemplo desarrollado ms
arriba (figura 2.1): si llegamos a q, ya sea de q
3
(por efecto de entrada b) o de qi (por
a) la salida es 0, por lo que podemos asociar la salida 0 al estado q\ y decir
g(A,
q i
) = 0; sin embargo, no podemos definir g(A, q
2
), ya que si llegamos a q
2
desde
198 Autmatas
qi la salida es 1, mientras que si llegamos desde el propio q
2
la salida es 0. Es evidente
que, en general, slo puede definirse g(A, q) en el caso en que se cumpla que
[i = f(ei. <7i) = /(e
2
, <?2)] - [g{e
lt
q
x
) = g(e
2
, q
2
)] [1.3.1]
es decir, que a q se le pueda asociar una salida y una sola. Si esto ocurre para todo
q e Q podemos definir una funcin inyectiva h: Q S tal que g(e, q) = h\f(e, q)\,
e e {E U {A}}, q e Q. En este caso, podemos decir que la salida slo depende del
estado, y el autmata se llama mquina de Moore. Expresando el tiempo de manera
explcita:
= g[<t), q(t)] = h[q(t)] = h\j[e(t ~ 1), q(t- 1)]]
En una mquina de Mealy las salidas estn asociadas a las transiciones, mientras
que en una mquina de Moore las salidas estn asociadas a los estados, o, lo que es lo
mismo, todas las transiciones que conducen a un mismo estado tienen asociada la
misma salida. Tambin podemos decir que una mquina de Mealy, en el instante de
efectuar una transicin necesita conocer una entrada e e E (ya que, en general,
g(A, q) no est definida), mientras que en una mquina de Moore la entrada puede ser
e e E o e = A.
Puesto que toda mquina de Moore es una mquina de Mealy que cumple la
condicin [1.3.1] para todo q e Q, parece en principio que las primeras son un
subconjunto de las segundas. Sin embargo, vamos a demostrar que, dada una
mquina de Mealy, siempre podremos encontrar una mquina de Moore equivalente
(normalmente, a costa de aumentar el nmero de estados). En efecto, si tenemos una
mquina de Mealy
A = (E, S, Q, f , g),
siempre podemos definir un nuevo autmata
= (E,S,,f,g),
en el que () se obtiene escindiendo cada q 6 Q en tantos estados q
s
* como salidas s
puedan asociarse a q:
= {<f\%q' eQyeeE) tales que/(e, q') = q, y g(e, q') = s}
y en el que fygse definen as:
f(e, q) = \f(e,
g(e, q
s
) = g(e, q)
* s aqu es un superndice, no un exponente.
Autmatas finitos. 199
De este modo, a cada (f e @ se le puede asociar una sola salida, s, y as tendremos una
funcin de salida h: Q S tal que g(e, q
x
) = h\f(e, por lo que ser una
mquina de Moore.
Concretemos estas ideas con un ejemplo. Tomemos el autmata cuyo diagrama es
el de la figura 2.2. Como ya hemos visto, con q
x
siempre se puede asociar la salida 0;
sin embargo, q
2
lo escindiremos en q
2
y q\, ya que la salida asociada es 0 1, segn
que vengamos de q
2
o de q
u
y, del mismo modo, escindiremos q
3
en q y q\. De
acuerdo con esto, y teniendo en cuenta las definiciones de/ y g obtenemos el diagrama
de la figura 2.3.
Obsrvese que, al estar las salidas asociadas con los estados, todas las transiciones
que conducen a un estado producen la misma salida, por lo que en lugar de rotular las
salidas sobre los arcos las hemos incluido en los nodos. Del mismo modo, en la tabla
de transiciones podemos incluir las salidas en Ja misma columna de estados; la tabla de
esta mquina de Moore es entonces la de la figura 2.4.
En una mquina de Moore podemos considerar el monoide (E* ), al que se llama
monoide libre de: entrada. En una mquina de Mealy slo podemos hablar del
semigrupo libre de entrada, (E
+
).
En lo sucesivo siempre que hablemos de un autmata supondremos, a menos que
se diga lo contrario, que se trata de una mquina de Moore, es decir, representaremos
indistintamente la salida por Ja funcin de salida g(e, q) o por la funcin de salida
h(q) teniendo en cuenta que g = h f .
200 Autmatas
N . e
qts
a b
9 ./0 <
qs 4
qln
q 4
qV0 q\
q
yi
1i
FIGURA 2.4.
2. EJEMPLOS DE AUTMATAS COMO MODELOS
2.1. Detector de paridad
Un procedimiento sencillo y muy utilizado para detectar errores en una transmi-
sin digital (por ejemplo, en una transferencia de datos de un perifrico remoto al bus
de datos), consiste en enviar un bit de paridad. Este bit puede ser tal que haga par el
nmero total de unos enviados (paridad par), o que lo haga impar (paridad impar).
Por ejemplo, supongamos que el perifrico enva caracteres codificados en cdigo
ASCII de 8 bits con paridad par (es decir, el cdigo es ASCII de 7 bits, y el octavo bit
es el de paridad). El carcter A, en ASCII de 7 bits, se codifica 1000001; luego en 8
bits ser 01000001 (el bit de paridad se hace 0 para que el nmero total de unos sea
par). Por el contrario, el cdigo de C es 1000011, por lo que el bit de paridad deber
ser 1 y por consiguiente en 8 bits ser 11000011.
En el punto emisor deber existir un generador de paridad, y en el receptor, un
detector de paridad. Este detector deber dar una seal de error en el caso de que la
paridad recibida no sea correcta, cosa que ocurrir cuando en la transmisin haya
habido una alteracin en un bit (o en un nmero impar de bits). Si la paridad es
correcta no dr error. (Obsrvese que si hay uh nmero par de alteraciones en l
transmisin este sistema no detecta el error, pero la probabilidad d que ocurra ms
de una alteracin es muy pequea. Existen, desd luego, otros procedimientos
mejors de deteccin e incluso correccin de errores).
El alfabeto de entrada del detector es, evidentemente, E = {0, 1). El alfabeto de
salida constar de dos elementos (error y no error); podemos tomar el convenio
d que sea tambin S = {0, 1}, donde 0 significa noerror y 1 significa error.
El conjunto de estados puede ser Q = {q
0
, q
u
q
2
), donde q
0
es el estado inicial, del
qu slo se sale al recibir el primer bit; en q\ se estar si se ha recibido un nmero par
de bits y en q
2
si se ha recibido un nmero impar, d manera que, al finalizar la
Autmatas finitos. 201
transmisin, si la mquina se ha quedado en q\ es que no ha habido error (s = 0), y si
se ha quedado en q
2
es que s lo ha habido (s = 1). De acuerdo con esto, es fcil
establecer el diagrama de Moore de la figura 2.5.
FIGURA 2.5.
Ahora bien, el estado q
0
puede fundirse con el q\. Ello equivale a convenir en que
imcialmente, cuando no se ha recibido ningn bit (es decir, cuando se ha recibido A) la
salitla es 0. Obtenemos as el diagrama de Moore de la figura 2.6, en el que cada
estado tiene una salida, y slo una, asociada (es una mquina de Moore).
FIGURA 2.6.
2.2. Sumador binario serie
Un sumador binario es un dispositivo que suma dos nmeros codificados en forma
binaria y da el resultado tambin en binario. En el sumador serie los bits de los
sumandos se presentan secuencialmente y por parejas, es decir, primero se presentan
los dos bits de menor peso, el sumador los suma y obtiene el bit de menor peso del
"resultado (y toma nota del arrastre, si lo hay), luego los siguientes, etc. (figura 2.7).
202 Autmatas
FIGURA 2.7.
Evidentemente, el sumador serie es un autmata, puesto que, en todo momento,
debe recordar si ha habido arrastre de los bits sumados anteriormente, es decir, la
salida no slo depende de la entrada actual, sino tambin de las anteriores. Tambin
es fcil ver que slo necesita dos estados. En efecto, en cada momento, para efectuar
una suma de dos bits, slo hay dos posibles situaciones a considerar: que no exista
arrastre de los anteriores o que s lo haya; llamemos qi y q
2
, respectivamente, a los
estados correspondientes a esas situaciones. Tenemos, por tanto:
E = {00, 01, 10, 11}
5 = {0, 1}
Q = ki, <ii}
Inicialmente, el autmata estar en el estado q\ (l recibir la primera pareja de bits
no tiene que cnsidrar ningn arrastre anterior). Si la primera pareja es 00, la salida
deber ser 0, y, como no hay arrastre, se quedar en q{\ si es 01 10 deber dar salida
1 y tambin quedarse en q
t
, pero si recibe 11 la salida deber ser 0, y habr arrastre,
por lo que pasar a q
2
. Estando en q
2
, si recibe 00, como hay arrastre de la suma
anterior, deber dar como salida 1 pero ya no habr arrastre para la suma siguiente,
por lo que pasar a q^, sin embargo, en cualquier otro caso (01,10, 11) se quedar en
q
2
, ya que sigue existiendo arrastre. Toda esta descripcin se puede expresar con
mayor concisin y claridad con el diagrama de Moore de la figura 2.8.
Autmatas finitos. 203
Este AF es una mquina de Mealy, puesto que tanto qi como q
2
tienen asociadas
las salidas 0 y 1. La mquina de Moore equivalente puede encontrarse siguiendo el
procedimiento expuesto en el apartado 1.3, y resulta ser la descrita por el diagrama de
la figura 2.9.
2.3. El castillo encantado
El siguiente ejemplo, tomado de Ashby (1956), nos servir para ilustrar cmo la
Teora de Autmatas tiene un camp de aplicacin muy extenso: todo lo que se
refiera a sistemas (en el ms amplio sentido de la palabra) discretos con memoria; en
este caso particular veremos cmo permite formalizar y resolver un problema de
lgica n el que interviene el tiempo.
El problema es el expuesto en esta carta:
Querido amigo: Al poco tiempo de comprar esta vieja mansin tuve la desagrada-
ble, sorpresa de comprobar que est hechizada con dos sonidos de ultratumba que la
hacen prcticamente inhabitable: un canto picaresco y una risa sardnica.
An conservo, sin embargo, cierta esperanza, pues la experiencia me ha demostra-
do que su comportamiento obedece a ciertas leyes, oscuras pero infalibles, y que
puede modificarse tocando el rgano y quemando incienso.
En cada minuto, cada sonido est presente o ausente. Lo que cada uno de ellos
FIGURA 2.9.
204 Autmatas
har en el minuto siguiente depende de lo que pasa en el minuto actual, de la siguiente
manera:
El canto conservar el mismo estado (presente o ausente) salvo si durante el
minuto actual no se oye la risa y toco el rgano, en cuyo caso el canto toma el estado
opuesto.
En cuanto a la risa, si no quemo incienso, se oir o no segn que el canto est
presente o ausente (de modo que la risa imita al canto con un minuto de retardo).
Ahora bien, si quemo incienso la risa har justamente lo contrario de lo que haca el
canto.
En el momento en que le escribo estoy oyendo a la vez la risa y el canto. Le
quedar muy agradecido si me dice qu manipulaciones de rgano e incienso debo
seguir para restablecer definitivamente la calma.
La carta, especialmente en su tercer prrafo, describe un sistema lgico secuencial
que puede formalizarse como un autmata finito. Hay dos variables de entrada
(rgano e incienso), y como cada una de ellas tiene dos valores posibles, tendremos
cuatro entradas diferentes; llammoslas e
0
, e, e
2
, e
3
.
e
0
: no tocar el rgano ni quemar incienso;
e
x
: no tocar el rgano pero quemar incienso;
e
2
: tocar el rgano pero no quemar incienso;
e
3
: tocar el rgano y quemar incienso.
Tambin son cuatro los estados posibles:
q
0
: ni risa, ni canto;
q\. no risa, s canto;
q
2
: s risa, no canto;
q
3
: risa y canto.
En cuanto a la salida, podemos considerar dos situaciones:
1: que haya algn sonido (salida asociada a los estados q
u
q
2
, q
3
);
2: que no haya ningn sonido (salida asociada al estado q
0
);
Con esta nomenclatura, el problema se puede expresar diciendo que Aos encontra-
mos en un estado inicial, el q
3
, queremos pasar a un estado final, el q
Q
, y se trata de
encontrar la secuencia de entrada adecuada.
Siguiendo el enunciado, podemos obtener la tabla y el diagrama de transiciones,
pero ello resulta mucho ms fcil si utilizamos un formalismo lgico. Designemos por
I y O unas variables booleanas que representen el incienso y el rgano, respectiva-
mente (es decir, I = 0 si no se quema incienso, 1=1 si se quema, etc.), y por Ry C
otras variables que representan la risa y el canto (R = 0 si no se oye la risa, etc.).
Tenemos una correspondencia inmediata entre los valores de estas variables y los
conjuntos de entradas y estados definidos ms arriba:
Autmatas finitos. 205
e OI
q
R C
e
0
0 0
<lo
0 0
e\
0 1
<h
0 1
. e
2
10
(2
1 0
e
3
1 1
<13
1 1
Si en el minuto t los valores de estas variables son O,, J
t
, C R en el minuto t + 1
tomarn los valores dados por las siguientes expresiones lgicas, que no son ms que
otra forma de expresar los prrafos 4 y 5 de la carta:
Qt ~R
t
= 1 C
t+1
= ~C
t
(1)
O
t
~R
t
= 0 ^ C,
+1
= C, (2)
/, = = C
t
[ (3)
I, = 1 R
t+1
= C, (4)
De (1) y (2) se deduce que
C
<+1
= (O, ~R
t
) C, (5)
y de (3) y (4)
R
t+1
= /, C, (6)
De (5) y (6) se pueden sacar inmediatamente las tablas de verdad de C,
+1
y R
l+1
en
funcin de O,, /,, C R,:
O, I, R, C,
1 Q+i
0 0 0 0 0 0
0 0 0 1 1 1
0 0 1 0 0 0
0 0 1 1 1 1
0 ; 1 0 0 1 0
0 1 0 1 0 1
0 1 1 0 1 0
0 1 1 1 0 1
1 0 0 0 0 1
1 0 0 1 1 0
1 0 1 0 0 0
1 0 1 1 1 1
1 1 . 0 0 1 1
1 1 0 1 0 0
1 1 1 0 1 0
1 1 1 1 0 1
206 Autmatas
Volviendo ahora a la correspondencia establecida entre O, Iy e, y entre C, R y q,
la anterior tabla de verdad nos conduce a la tabla de transiciones de la figura 2.10:
\ e
qls N.
e
0
e
i e
2
e
3
qol0 lo 92 9i 93
qj 1
93 9l 92 9o
qj lo 92 lo 92
qj 1 q
3
4
1
<h 9i
FIGURA 2.10.
Y de aqu podemos dibujar el diagrama de Moore de la figura 2.11.
FIGURA 2.11.
Autmatas finitos. 207
A la vista de este diagrama, la solucin al problema planteado en la carta aparece
fcilmente: pasar primero de q
3
a q
x
mediante e
x
o e
3
, y luego a q
0
mediante e
3
; o bien,
respondiendo en los mismos trminos epistolares, durante un minuto, queme usted
incienso (tocando o no el rgano, es indiferente), y desaparecer la risa; durante el
minuto siguiente, queme incienso y toque el rgano, y al finalizar ese minuto cese
toda actividad, con lo que, si no vuelve a manipular ni el rgano ni el incienso, se
habr librado para siempre de tan molestos moradores.
Hay desde luego, otras soluciones, pero todas ellas con secuencias de entrada ms
largas que la propuesta; por ejemplo, de puede pasarse a q
2
con e
2
, y de aqu a q
0
con e
0
e
2
. Obsrvese que, afortunadamente para el propietario de la casa, el estado
q
0
es estable, en el sentido de que con la entrada e
0
(es decir, / = 0, O = 0) el
siguiente estado es el mismo q
0
.
3. COMPORTAMIENTO DE UN AUTMATA
3.1. Otra definicin de autmata
En el captulo 1 comenzamos hablando de los autmatas como dispositivos que
producen cadenas de smbolos a la salida en respuesta a cadenas de smbolos
presentadas a la entrada. Segn esto, podramos definir un autmata como una
funcin:
F*: E* S* (*) [3.1.1]
que hace corresponder a cada cadena de entrada, x e E*, una cadena de salida,
F*(x) = y eS*.
Ahora bien, vamos a ver que el autmata queda perfectamente definido restrin-
giendo el rango de la funcin de S* a 5, es decir, podemos definir un autmata como
una funcin
F: E*^S [3.1.2]
que hace corresponder a cada cadena de entrada, x e E*, el ltimo smbolo obtenido
cmo salida, F(x) = s e S. En efecto, si x = e
0
, e
u
..., e_
1;
tendremos cmo
smbolos de salida
F(e
0
) en el instante 1
F(eo, ei) en el instante 2
F(e
0
, e, ..., e_i) = F(x) en el instante n
(*) Utilizamos la notacin para lenguajes introducida en el captulo 1, partado 4 del tema Sistemas
lgicos.
208 Autmatas
Por consiguiente, la cadena de salida F*(x) se obtendr concatenando todos estos
smbolos:
F*(x) = F*(eo, e
u
..., e_i) = F(e
0
)F(e
0
, e^ ... F(e
0
, e
u
..., e,,^),
lo que nos demuestra que F* queda determinada conociendo F.
Consideremos, por ejemplo, el autmata sumador binario serie estudiado en el
apartado 2.2, y supongmoslo efectuando la suma 010110 + 011011 = 110001. En el
instante t
0
recibir por la entrada los bits de menor peso, es decir, e
0
= 01; en el
instante ti tendremos e = 11, etc. As, la cadena de entrada ser:
x = [Link].11.00
(Obsrvese que, en contra de lo que es habitual, utilizamos un punto para indicar la
concatenacin, a fin de evitar ambigedades en este caso, ya que los smbolos de
entrada estn formados por dos smbolos de nuestro alfabeto ordinario. Obsrvese
tambin que las cadenas se escriben de izquierda a derecha en el tiempo, con lo que
resulta un orden de escritura inverso al habitual en aritmtica).
En el instante t
0
tendremos como salida:
F(e
{1
) = /<(()1) = 1;
en t
t
: F(e
0
, e,) = F(01.11) = 0;
en t
2
: F(e
0
, e, e
2
) = F(01.11.10) = 0;
en t
3
: F(e
0
, e
u
e
2
, e
3
) = F([Link]) = 0;
en t
4
: F(e
0
, e
u
e
2
, e
3
, e
4
) = F([Link].11) = 1;
y en t
5
: F(e
0
, e
u
e
2
, e
3
, e
4
, e
5
) = F([Link].11.00) = 1.
De modo que Iq cadena total de salida es:
F*(x) = F(e
0
)F(e
0
, e,) ... F(e
0
, e
u
...,e
6
) = 100011,
que es el resultado de la suma escrito de izquierda a derecha segn se van obteniendo
los bits del resultado a partir del de menor peso.
La definicin [3.1.2] considera al autmata exclusivamente desde el punto de vista
de entrada-salida, es decir, como una caja negra, a diferencia de la definicin
[1.1.1], en la que se contempla lo que sucede en el interior de la caja. Algunos
autores, para resaltar la diferencia entre ambos, les dan distintos nombres, y as, por
ejemplo, al autmata definido por [3.1.2] le llaman mquina, y al definido segn
[1.1.1], circuito, y este mismo convenio seguiremos nosotros en adelante cuando
nos interese destacar que nos referimos a una u otra definicin.
En este punto, es natural que surjan dos preguntas inmediatamente: dada una
mquina, podemos encontrar su circuito? Y, evidentemente, la inversa. Para respon-
der a ellas se hace precisa una consideracin matemtica previa sobre la definicin
[1.1.1], En efecto, el dominio de las funciones f y g es E X Q, lo que quiere decir que
estas funciones nos permiten obtener el estado siguiente y la salida conociendo el
Autmatas finitos. 209
estado actual y el smbolo de entrada, Para conocer la respuesta del circuito no a un
smbolo, sino a una cadena de entrada es necesario ampliar el dominio a E* X Q.
3.2. Ampliacin del dominio de las funciones de un autmata
En el apartado 1.3 vimos que el dominio de g poda ampliarse de E x Q a
{E U {A}} x Q solamente si existe una funcin de salida h: Q 5; en este caso
decamos que el autmata es una mquina de Moore, y tenamos:
f{Kq) = q-,g(Kq) = h\KKq)] = h{q)
Para extender ahora el dominio a E* X Q basta con definir, para todo x
lt
x
2
e E*,
f(x 1*2, q) = ftx
2
, /(*!, q)]
g(xix
2
, q) = g[x
2
, /(*i, q)] = h\f(x
x
x
2
, q)]
3.3. El comportamiento de entrada-salida, o las mquinas definidas por un circuito
Definicin 3.3.1. Dado un autmata (circuito) A = (E, S, Q, f , g), definimos el
comportamiento de entrada-salida de A inicializado en el estado q por la funcin
C
q
: E*-*S
que aplica a cada x B E* uns = g(x, q).
Es decir, si en l instante t
0
el autmata se encuentra en el estado q e introducimos
la cadena x = e
v
, e
2
, ..., e
n
, se obtendrn las salidas
C
q
(ei) en t = t
0
C
q
(ei, e
2
) ent = t
0
+ l
C
q
(e!, e
2
, ..., e
n
) = C
q
{x) en t = t
0
+ n - 1
Vemos as que para todo autmata (circuito) pueden definirse, en principio, tantas
funciones de la forma [3.1.2] (es decir, tantas mquinas) como estados tenga el
autmata, aunque hay que advertir que algunas de estas funciones pueden ser
idnticas entre s (lo que correspondera a estados equivalentes, segn la definicin
que daremos enseguida).
3.4. Equivalencia y accesibilidad
Damos a continuacin una serie de definiciones cuyo sentido se captar mejor con
ayuda de ejemplos, que desarrollaremos en el apartado 3.5.
210 Autmatas
Definicin 3.4.1. Dados dos autmatas con los mismos alfabetos de'entrada y
salida, A, = (E, S, Q
u
f
u
g
x
) y A
2
= {E, S, Q
2
, f
2
, g
2
), q
x
e <2, es equivalente a
q
2
e 02 si = C,
/2
.
La misma definicin sirve para estados equivalentes dentro de un mismo autma-
ta: basta considerar que Q = Q
2
, fx = f
2
, gi = g
2
.
Definicin 3.4.2. Un autmata est en forma mnima (o es observable) si
( Q, = Q
2
) (91 = ?2>
Es decir, en un autmata en forma mnima no existen estados equivalentes.
Definicin 3.4.3. Los autmatas A
x
= (E, S, Qufugi) y A
2
= (E, S, Q
2
,f
2
,g
2
)
son equivalentes si
{Cj g, e Gi} = { CJ
2
e G
2
}
Definicin 3.4.4. q
2
es accesible desde ^ si existe x e E* tal que f(x, qi) =
Definicin 3.4.5. El subautmata conectado de un autmata A = (E, S, Q, f , g) es
A
c
= (E, S, Q
c
, f , g
c
), con
Q
c
= {q
2
e Q\(3x e E*)(3
qi
e Q)(f(x,
qi
) ^ q
2
)} '
y f y 8
C s o n
las restricciones de f y g de E* x Q a E* X Q
c
.
Es decir, el subautmata conectado de un autmata est formado por todos los
estados del autmata original que son accesibles desde algn otro estado.
Definicin 3.4.6. Un autmata A es fuertemente conectado si A = A
c
.
3.5. Ejemplos
3.5.1. Autmata reconocedor de la cadena 010
Considrense los AF dados por los diagramas de Moore de las figuras 2.12 y 2.13.
l -
Autmatas finitos. 211
a) Calcular C
q
, C
qi
, C
qj
y C
qi
(en la figura 2.12) para cadenas de entrada de
longitud igual o inferior a 3.
b) Comprobar que el AF de la figura 2.12 est en forma mnima y es fuertemente
conectado. Ocurre lo mismo con el de la figura 2.13?
c) Comprobar que ambos autmatas son equivalentes.
Pasemos a resolver las cuestiones planteadas.
a) Basta con seguir, para cada estado inicial, las transiciones provocadas sucesiva-
mente por cada smbolo de la cadena (leda sta de izquierda a derecha) y anotar la
salida final. Resumimos los resultados en la tabla de la figura 2.14.
A 0 1 00 01 10 11 000 001 .010 011 100 101 110 111
0 0 0 0 0 0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 1 0 0 0 1 0 0 0 0 0
0 1 0 0 0 0 0 0 0 1 ' 0 0 0 0 0
1 0 0 0 0 1 0 0 0 1 0 0 0 0 0
FIGURA 2.14.
b) Para comprobar que un AF est en forma mnima hay que ver si el comporta-
miento es distinto para cada estado. Esto no es fcil con los conocimientos que
tenemos hasta ahora, puesto que habra que ir ensayando con diferentes cadenas de
entrada hasta qu se observe una diferencia de comportamiento entre dos estados
para la misma cadena. Pero como E* es infinito, si no encontramos tal diferencia
despus de un nmero finito de cadenas no podemos garantizar que el AF est en
212 Autmatas
forma reducida. (Empleando una terminologa qu se definir con precisin en el
tema siguiente, no tenemos un algoritmo). Ahora bien, en el apartado 5.3 demostra-
remos que basta con ensayar todas las cadenas x tales que lg(jc) < n - l(n = nmero
de estados); y si C
q
(x) C
qi
(x) para esas cadenas podremos asegurar que
C
q
(x) # Cgjx), Vx e E*. De este modo tendremos un algoritmo, ya que el nmero
necesario de ensayos es finito.
En el autmata de la figura 2.12 se ve enseguida, con ayuda de la tabla de la figura
2.14, que
C(A) = 0, CJA) = 0, CJA) = 0, C(A) = 1,
por lo que q
4
no es equivalente a ninguno de los otros tres. Observando los
comportamientos para la entrada x = 0 deducimos que q
3
tampoco es equivalente a
ninguno, y, de igual modo, la no equivalencia de q
2
la deducimos de la entrada
jc = 10.
Por consiguiente, podemos asegurar que el AF de la figura 2.12 est en forma
mnima. No ocurre lo mismo con el de la figura 2.13. En efecto, si se van ensayando
cadenas diferentes de entrada se ir viendo que C
qi
(x) = C
q
(x), C
q2
(x) = C
q6
(x),
C
q3
(x) = C
qy
(x) y C
q4
(x) = C
q
(x). Se puede comprobar que esto ocurre para todas las
cadenas de longitud igual o inferior a 7 (n = 8), por lo que q es equivalente a q
2
a
<?6 Y
a
q&, y y por consiguiente, el AF rio est en forma mnima.
El carcter de fuertmente conectado se ve por simple inspeccin de los diagra-
mas. En efecto, en la figura 2.12 vemos que cualquiera de los cuatro estados tiene por
lo menos un arco que entra en l, es decir, todos los estados son accesibles desde algn
otro, y, por tanto, el autmata es fuertemente conectado. Sin embargo, en la figura
2.13 podemos observar que ni q\ ni q
s
son accesibles desde ningn otro estado, por lo
que el autmata no es fuertemente conectado.
c) Ensayando todas las cadenas de longitud igual o inferior a 7 deducimos que q
{
y
q
4
de la figura 2.13 son equivalentes a qi de la figura 2.12, q
2
y <7f, a q
2
, <73 y qi a q
3
y q
4
y q
8
a q
4
. Por tanto, ambos AF son equivalentes.
Finalmente, justifiquemos el ttulo puesto a este ejemplo, aunque los autmatas
reconocedores sern objeto de estudio en el captulo 4. Puede comprobarse que
siempre que n la cadena de entrada aparezca la sucesin 010 la salida del autmata es
1 al recibir el ltimo smbolo de la sucesin (el segundo 0); en caso contrario la salida
ser 0, y no dar 1 hasta que en la cadena de entrada no vuelvan a aparecer seguidos
un 0, un 1 y luego otro 0.
3.5.2. Ejemplo 2: Equivalencia mquina de Moore-mquina de Mealy
En el apartado 1.3 decamos que para cualquier mquina de Mealy se puede
obtener una mquina de Moor equivalente, y construamos esta mquina escindien-
do cada estado d la prirtiitiva eii tantos estados como salidas pudieran asocirsele.
Tambin decamos que e lo sucesivo nos referiramos siempre a mquinas de Moore,
en las que podemos considerar el elemento neutro A en la entrada, y, por consiguien-
Autmatas finitos. 213
te, el monoide libre de entrada, E*, mientras que en el caso de mquinas de Mealy
tendramos que trabajar con el semigrupo libre de entrada, E
+
. Al definir la
equivalencia entre autmatas (Definicin 3.4.3) nos hemos basado en el comporta-
miento de entrada-salida (Definicin 3.3.1), que se ha definido no co E
+
, sino con
E*, suponiendo implcitamente que los autmatas considerados son mquinas de
Moore. Lo que pretendemos en este ejemplo es ver que la mquina de Moore
construida a partir de una de Mealy como se indica en el apartado 1.3 es efectivamen-
te equivalente a ella, en el sentido de equivalencia de comportamiento. Para ello
tenemos que ver que los conjuntos de los comportamientos de ambas mquinas son
idnticos, con la salvedad de que no tiene sentido hablar de la entrada A; es decir, por
esta sola vez, digamos que el comportamiento para un estado q es
C,. E> S
Pues bien, sobre el ejemplo de las figuras 2.2 y 2.3, y si llamamos A a la primera y
A a la segunda, podemos comprobar que
C
qi
(a) =
q
{d) = 0; CJb) = C
qi
{b) = 1; CJ ) = C
qi
(aa) = 0;
C
qi
(ab) =
qi
(ab) = 1; C
q
ba) =
q
(ba) = 0;
etc., es decir,
C = C
Anlogamente se ve que C
?2
= CP
qi
= y que C
9j
= =
En general, lo que ocurre es que todos los estados <f resultantes de una escisin de
q tienen igual comportamiento (salvo, naturalmente, para x = A), ya que se toma
g(x, ( f ) = g(x, q)
para todos los q\
4. CAPACIDAD DE RESPUESTA DE UN AUTMATA FINITO
4.1. Introduccin
Hemos visto que un circuito con n estados puede realizar hasta n mquinas
diferentes. Cada una de estas mquinas viene definida por el comportamiento de
entrada-salida para el correspondiente estado.
El nmero de cadenas diferentes en E* es infinito. Pero como el autmata es finito
es imposible que responda de distinta manera a cada una de ellas. Es decir, debe ser
posible particionar E* en un nmero finito de subconjuntos tales que el autmata sea
incapaz de distinguir dos cadenas pertenecientes al mismo subconjunto. Veremos que
tales subconjuntos pueden considerarse como clases de equivalencia; naturalmente,
214 Autmatas
cuanto mayor sea el nmero de clases de equivalencia mayor ser la capacidad del
autmata para responder de distinta manera a cadenas diferentes.
Cuando decimos que el autmata responde a una cadena o distingue entre una
u otra pensamos en el smbolo de salida asociado a cada cadena, de acuerdo con la
Definicin 3.1.2. Si consideramos exclusivamente mquinas de Moore, existir una
funcin de salida h: Q S. Vamos en este apartado a simplificar el anlisis,
suponiendo que h es biyectiva, es decir, que a cada estado podemos asignarle una
salida diferente*. En este caso, dos cadenas pertenecern a la misma clase de
equivalencia (sern indistinguibles para todas las mquinas definidas por el circuito)
si, considerando un estado inicial cualquiera, el estado final es el mismo para ambas
cadenas. Nos vemos as conducidos a estudiar, para cada cadena, funciones de la
forma Q Q, y, si llamamos Q
Q
al conjunto de todas estas funciones, el comporta-
miento global del autmata vendr determinado por una funcin K: E* > Q
Q
, que
asigna a cada cadena de entrada una funcin Q > Q. Si el nmero de estados
diferentes es n, habr n
n
funciones Q Q, por lo que el nmero mximo de clases de
equivalencia en E* ser n".
Vamos a formalizar estas ideas, y para ello comenzaremos por recordar algunos
conceptos de lgebra, pero antes debemos advertir al lector que este apartado, que es
el ms terico del tema, no es imprescindible para la comprensin del resto, y, si lo
desea, puede omitirlo y saltar al apartado 5 (minimizacin de AF).
4.2. Repaso de algunos conceptos de lgebra
4.2.1. Monoide de transformaciones de un conjunto
Una transformacin t en un conjunto C se define como una funcin de C en s
mismo: t: C > C.
Teorema [Link]. Sea C un conjunto cualquiera y sea C
c
= {: C C } el
conjunto de todas las transformaciones en C. Entonces (C
c
, donde representa
la ley de composicin de funciones t, es un monoide, llamado monoide de transforma-
ciones de C.
La demostracin es casi inmediata, teniendo en cuenta la evidencia de que la
composicin de funciones t es una operacin cerrada y asociativa, es decir, si t
a
, t
h
,
t
c
e C
c
,
t
a
t
b
e C
c
* Esta simplificacin no resta generalidad al anlisis. En efecto, lo que haremos ser estudiar la
respuesta de estados en el sentido de que para cada entrada nos fijaremos no en la salida, sino en las
transiciones que provoca entre los estados. Si h no fuera biyectiva lo nico que podra ocurrir es que dos
cadenas diferentes en cuanto a su respuesta de estados fueran indistinguibles en cuanto a la salida, pero
esto es fcil de analizar conociendo la funcin h: Q-* S.
Autmatas finitos. 215
y
(Ve 6 C)[t
a
o (t
b
o t
c
((c))) = (t
a
o t
b
) o t
c
(c) = t
a
(t
b
(t
c
(c)))]
Adems, podemos definir un elemento neutro en C
c
, t\\ C C, tal que ,
0
t =
t h = t; este elemento neutro es t(x) = x. Por consiguiente, (C
c
, ) cumple las
condiciones para ser un monoide.
Ejemplo. Sea C = {0, 1}. Veamos cul es el monoide de transformaciones de C.
C
c
tendr cuatro elementos:
:
o
(0) = 0, t
0
(l) = 0
h: h( 0) = 0, a ( l ) = 1
h'. h( 0) = 1, 2 ( l ) = 0
h: 3(0) = 1, 3 ( l ) = 1
(Obsrvese que, acorde con la notacin anterior, t
x
es el elemento neutro).
La composicin de
2
con
3
, por ejemplo, ser:
h
3
(0) =
2
(
3
(0)) =
2
(l) = 0
h
3
(l) = h(h(l)) =
2
(l) = 0;
luego
t?. h = A
Anlogament pueden hallarse las dins composiciones; el resultado puede
porierse en forma tabular (tabla dl monoide):
O
h k h h
to to to to to
h to h h h
h h t
2 h to
h h h h h
Esta tabla representa la operacin en el conjunto C
c
, y por tanto, describe al
monoide (C
c
,
4.2.2. Hmomorfismo entre monoides
Definicin [Link]. Si (5i, *) y (S
2
, ) son dos semigrupos, una funcin / :
5i > S
2
decimos que es un homomorfismo entre ambos semigrupos si preserva la ley
de composicin interna, es decir, si
(Va, fr e S i M* *&) =/ ( ) /(&)]
216 Autmatas
o, expresado grficamente, si el diagrama
i X S J A S!
/ x / 4 4 /
S
2
X S
2
S
2
es conmutativo.
Definicin [Link]. Un isomorfismo entre semigrupos es un homomorfismo en el
que la funcin / es biyectiva.
Definicin [Link]. Si es un monoide con elemento neutro e
lt
S
2
es un monoide
con elemento neutro e
2
, f es un homomorfismo (isomorfismo) entre y S
2
, y se
cumple que
fie 1) = e
2
,
entonces/es un homomorfismo (isomorfismo) monoide.
Ejemplos
1) Si P = {1, 2, 3, . . . } yN={Q, 1,2,3,' ...}, entonces (P, -),(N, + ) y (N, -)son
monoides, mientras que (P, +) es un semigrupo, pero no un monoide. (Por qu?).
La multiplicacin por un nmero natural a en (N, +) , es decir, (N, +) > (N, +) :
n > a n es un homomorfismo, ya que a (1 + n
2
) = a n
x
+ a n
2
. Sin embargo,
en general, no es un homomorfismo para (N, ). (En qu casos particulares lo es?).
2) Llamemos 7? al conjunto de los nmeros reales. (R, +) y (R, ) son monoides.
(Por qu?). La funcin
<*,+)'-> (R,-):r^a
r
(a, r e R)
es un homomorfismo monoide, ya que
a
n + n
= a
n
a
r2
y 0
r
= 1
(es isomorfismo?).
4.2.3. Monoide libre y homomorfismo
Hemos definido en el apartado 4,2 del captulo 1 del tema Lgica el monoide
libre generado por un alfabeto E,(E*, ).
Teorema [Link]. Sea i: E > E* la funcin que aplica todo elemento de E en la
correspondiente cadena de longitud unidad, es decir, (Va e E) (i(a) = a) y sea /
Autmatas finitos. 217
cualquier funcin de E en el conjunto de cualquir monoide (M, *). Entonces, existe
un nico homomorfismo monoide g: (E*, ) -* ( M, *) tal que g i = / , es decir, tal
que el diagrama
M
es conmutativo.
Demostracin
Para cadenas de longitud 1 podemos definir g(a) = f(a) para que se satisfaga/(a) =
g o (a) = g(i(a)) = g(a). Si x es una cadena de longitud 1^2 podemos descomponer-
la en x = ya
n
, donde lg(y) = l 1 y lg(a) = 1, y tendremos:
g(x) = g(ya) = g(y) * g(a
n
)
para que g sea un homomorfismo. Como lg(a) = 1,
g(x) = g(y) * f(a
n
)
Del mismo modo, podemos descomponer y en y as sucesivamente, con lo
que, por induccin sobre la longitud de la Cadena, si x = a\a
2
... a
n
podemos deter-
minar g(x) as:
g(x) = /(a,) *f(a
2
) ... *f(a
n
)
Finalmente, si e es el elemento neutro de (M, *), haremos g(A) = e para obtener
urt homomorfismo monoide.
Este teorema nos permite extender el dominio de cualquier funcin E M de
alfabeto E en el conjunto de un monoide {M, *) aun homomorfismo monoide (E*, )
> (M, *), y nos ser de utilidad ms adelante.
4.2.4. Relaciones de congruencia y monoide cociente
Definicin [Link]. Una relacin binaria R en un conjunto C es un subconjunto de
C X C. Si Ci y c
2
son elementos de C, decimos que c, y c
2
estn relacionados por R si
(ci, c
2
) e R, y generalmente s escribe: c
{
R c
2
.
Definicin [Link]. R es una relacin de equivalencia en un conjunto C si y slo si
R es una relacin binaria que tiene las propiedades:
218 Autmatas
Reflexiva : (Ve e C)(c R c)
Simtrica : (Vc
a
, c
2
e C)[(ci R c
2
) (c
2
R c
a
)]
Transitiva: (Vc, c
2
, c
3
e C)[(c
:
R c
2
) A (C
2
R C
3
) > (c
x
R c
3
)]
Definicin [Link]. Dados un conjunto C y una relacin de equivalencia R, la clase
de equivalencia de c E C mdulo R, es [c]
R
= {je|;c R C}. (En adelante, siempre que
no se preste a ambigedad, suprimimos el subndice R). El conjunto cociente C/R es el
conjunto de las clases de equivalencia de C mdulo R. El nmero de elementos de
C/R es el ndice de la equivalencia.
As, una relacin de equivalencia origina una divisin de C en subconjuntos
disjuntos, es decir, una particin.
Definicin [Link]. Dado un monoide ( M, *) y una relacin de equivalencia, R,
en M, R es una relacin de congruencia en (M, *) si a Rb implica que
(a * c) R (b * c) y (c * a) R (c * b) para todo c e M.
Teorema [Link]. Si R es una relacin de congruencia en el monoide (M, *), el
conjunto cociente M/R = {[a] | a e M} con la operacin definida por
[a]-[b] = [a*b]
es un monoide.
Demostracin
En primer lugar hay que demostrar que la operacin est bien definida sobre
las clases de equivalencia, es decir, que el resultado es independiente de que se tome
un miembro u otro de la clase. Para ello, sean a
t
e [a], a
2
e [a], b
x
e [b\, b
2
e [b].
Tenemos pues que a
x
R a
2
y b

R b
2
, y, como R es una relacin de congruencia,
podemos escribir:
(ai * b
x
) R (at * b
2
) y (a
a
* b
2
) R (a
2
* b
2
),
y, por la propiedad transitiva de R,
(ai * b
t
) R (a
2
* b
2
),
es decir,
[a
x
* bi] = [a
2
* b
2
],
lo que indica que [a] [6] est bien definida.
Para ver que (M/R, ) es un monoide, bast con comprobar dos hechos:
1) es asociativa. En efecto, como * es asociativa (pues (M, *) es un
monoide),
[a] {[6] [c]} = [] -[b*c] = [a*(b* c)] = [( *b)*c] = {[a] []} [c]
Autmatas finitos. 219
2) Existe un elemento neutro. En efecto, si el elemento neutro en ( M, *) es e,
tendremos que
[] [e] = [a *e] = [a]
y
[e] [a] = [e * a] = [a]
por lo que [e] es el elemento neutro para (M/R, ).
Definicin [Link]. El monoide (M/R, ) se llama monoide cociente de M por R.
4.3. Comportamiento de entrada-estados
Sea un AF
A (E, S, Q, f , g)
Sabemos que dados un smbolo de entrada y un estado podemos obtener el estado
siguiente mediante la funcin
[Link]^Q
Dado solamente un smbolo de entrada, e e E, podemos definir una funcin que
aplique a cada estado el siguiente bajo esa entrada determinada, es decir, una funcin
de Q en Q, k(e): Q>Q. Existir entonces una funcin
k'.E^QQ,
siendo Q
e
el conjunto de las funciones de Q en Q, que sabemos por el Teorema
[Link] que, con la composicin de funciones, es un monoide. La funcin k se
determina a partir de / del siguiente modo: para cada e e E, y cada q e Q,
[Ke)](q) =f(e, q).
Ahora bien, por el Teorema [Link], la funcin fe puede extenderse a un homomor-
fismo entre monoides:
K: (E*, )-> (Q
Q
,), ,
con K(e
u
e
2
, ..., e) = k(ei) k(e
2
) ... k(e
n
). Llamaremos a K comportamiento de
entrada-estados del autmata.
Ejemplo. Consideremos el autmata detector de paridad descrito por el diagrama
de la figura 2.6. La funcin k: {0, 1} Q
Q
se obtiene fcilmente del diagrama y se
puede, resumir en forma de tabla:
220 Autmatas
Estado siguiente
k( 0)
Estado
inicial
<72 Vi
12
Vi
Calculemos K para algunas cadenas:
K(0) = (0); = k( 1);
K(00) = k(0) - k(0) = k(0);
K(01) = k(0) < Jt(l) = A;(l);
T(10) = k( 1) k(0) = (1);
/Ceil) = k( 1) o (1) = (0);
etctera.
En general,
= k(0) si se tiene un nmero par de unos
K(x) = A;(l) si se tiene un nmero impar de unos
Si la cadena es vaca, K(A) ser la funcin identidad en Q, es decir, la funcin que
aplica q
x
en q
x
y q
2
en q
2
, que coincide con fc(0).
4.4. Relacin equirrespuesta y monoide: de un autmata
Sea un autmata A con comportamiento de entrada-estados K.
Definicin 4.4.1. La relacin equirrespuesta de A, =, es una relacin binaria en E*
tal que
Adems es una relacin de congruencia en el monoide (E*, ). En efecto, si x = y,
K(x) = K(y), y K(xz) = K(x) K(z) = K(y) K(z) = K(yz). Anlogamente,
K(zx) = K(zy). Por tanto, segn el Teorma [Link]., (E*/=, ), es decir, el conjunto
cociente E*/= con la operacin de concatenacin, es un monoide.
(V*, y 6 *)[(*
s
y) (K(x) = K(y))]
= es uha relcin de equivalencia, ya que se Cumple:
(V* e E*)[K(x) =
(V*, y 6 E*)[(K{x) = K(y)) (K(y) = K(x))]
(Vx, y, z 6 E*)[(K(x) = K(y)) A (K(y) = K(z)) ->(*(*) = K(z))]
Autmatas finitos. 221
Definicin 4.4.2. Dado un autmata con un comportamiento de entrada-estados
K que origina una relacin equirrespuesta = en E*, el monoide cociente (E*/=, ) se
llama monoide del autmata.
Si el nmero de estados es n, el monoide del autmata tendr como mximo n"
elementos. En efecto, el nmero de transformaciones en el conjunto Q, es decir, de
funciones diferentes Q Q es n". El homomorfismo K aplica entonces un conjunto
infinito, E*, en un conjunto, Q
Q
, que tiene n" elementos. Si esta aplicacin es
suprayectiva la relacin equirrespuesta tendr ndice n", es decir, inducir n" clases de
equivalencia en E* (si la aplicacin no fuera suprayectiva, es decir, si existieran una o
ms funciones Q Q a las que no correspondiese ningn elemento de E*, el nmero
de clases de equivalencia sera menor). Por consiguiente, el nmero mximo de
elementos del conjunto cociente E*/= es n".
El monoide de un autmata refleja la capacidad de ste para responder de distinto
modo a las cadenas de entrada. En efecto, en E* hay infinitas cadenas, mientras que
en E*/= hay como mximo n" elementos, que son las clases de congruencia de =. Si
dos cadenas diferentes, x e y, estn en la misma clase, es decir, x = y, entonces
K(x) = K(y), es decir, el homomorfismo K las aplica sobre el mismo elemento de Q
Q
,
o lo que es lo mismo, ambas producen la misma transformacin Q > Q, y el
autmata ser inca