Intro IA 222
Intro IA 222
Intro IA 222
Mariusz Flasinski
Introducción a
los artificiales
Inteligencia
Machine Translated by Google
Introducción a la Inteligencia Artificial
Machine Translated by Google
Mariusz Flasinski
Introducción a los artificiales
Inteligencia
123
Machine Translated by Google
Mariusz Flasinski
Sistemas de tecnología de la información
Departamento
Universidad Jagellónica
Cracovia
Polonia
ISBN 9783319400204 DOI ISBN 9783319400228 (libro electrónico)
10.1007/9783319400228
Número de control de la Biblioteca del Congreso: 2016942517
Traducción de la edición en polaco: Wstęp do sztucznej inteligencji de Mariusz Flasiński, © Wydawnictwo Naukowe PWN
2011. Todos los derechos reservados. © Springer International Publishing
Suiza 2016 Este trabajo está sujeto a derechos de autor. El Editor
se reserva todos los derechos, ya sea que se trate de la totalidad o parte del material, específicamente los derechos de
traducción, reimpresión, reutilización de ilustraciones, recitación, transmisión, reproducción en microfilmes o de cualquier otra
forma física, y transmisión o almacenamiento y recuperación de información, adaptación electrónica, software de computadora
o por metodología similar o diferente ahora conocida o desarrollada en el futuro.
El uso de nombres descriptivos generales, nombres registrados, marcas comerciales, marcas de servicio, etc. en esta
publicación no implica, incluso en ausencia de una declaración específica, que dichos nombres estén exentos de las leyes y
reglamentos de protección pertinentes y, por lo tanto, sean gratuitos para uso general.
El editor, los autores y los editores pueden asumir con seguridad que los consejos y la información de este libro se consideran
verdaderos y precisos en la fecha de publicación. Ni el editor ni los autores o los editores dan garantía, expresa o implícita,
con respecto al material contenido en este documento o por cualquier error u omisión que pueda haberse cometido.
Impreso en papel libre de ácido
Esta impresión de Springer es publicada por Springer Nature
La empresa registrada es Springer International Publishing AG Suiza
Machine Translated by Google
Prefacio
Hay una variedad de excelentes monografías y libros de texto sobre Inteligencia Artificial.
Mencionemos solo libros tan clásicos como: Inteligencia Artificial. A Modern Approach de SJ
Russell y P. Norvig, Artificial Intelligence de PH Winston, The Handbook of Artificial Intelligence
de A. Barr, PR Cohen y E. Feigenbaum, Artificial Intelligence: Structures and Strategies for
Complex Problem Solving de G. Luger y W. Stubblefield, Inteligencia artificial: una nueva
síntesis de N. Nilsson, Inteligencia artificial de E. Rich, K. Knight y SB Nair, e Inteligencia
artificial: un enfoque de ingeniería de RJ Schalkoff. Escribir una introducción (muy) concisa a
la Inteligencia Artificial que pueda usarse como libro de texto para un curso de lectura
introductoria de un semestre para estudiantes de ciencias de la computación, así como para
estudiantes de otros cursos (ciencia cognitiva, biología, lingüística, etc.) el objetivo principal
del autor.
Como el libro también puede ser utilizado por estudiantes que no están familiarizados con
modelos matemáticos avanzados, los métodos de IA se presentan de manera intuitiva en la
segunda parte de la monografía. Los formalismos matemáticos (definiciones, modelos,
teoremas) se incluyen en los apéndices, por lo que se pueden presentar durante una lección
para estudiantes de informática, física, etc. Los apéndices A–J se relacionan con los capítulos.
4–13, respectivamente.
Se incluyen breves notas biográficas sobre investigadores que influyeron en la Inteligencia
Artificial en forma de notas a pie de página. Se presentan para mostrar que la IA es un campo
interdisciplinario, que se ha desarrollado durante más de medio siglo gracias a la colaboración
de investigadores que representan disciplinas científicas como la filosofía, la lógica, las
matemáticas, la informática, la física, la ingeniería eléctrica, la biología, la cibernética,
biocibernética, control automático, psicología, lingüística, neurociencia y medicina.
v
Machine Translated by Google
vi Prefacio
Expresiones de gratitud
El autor desea agradecer al revisor Prof. Andrzej Skowron Ph.D., D.Sc.,
Facultad de Matemáticas, Informática y Mecánica, Universidad de Varsovia para
comentarios y sugerencias muy útiles.
Cracovia Mariusz Flasinski
diciembre 2015
Machine Translated by Google
Contenido
Parte I Ideas Fundamentales de la Inteligencia Artificial
1 Historia de la Inteligencia Artificial .......................... 3
Parte II Métodos de Inteligencia Artificial
4 Métodos de búsqueda . 4.1 . . . . . . . . . . . . . . . .
. . . .. . . . . . . . . . . . . . . . 31
4.2 . . . .
. . . .. . . . . . . . . . . . . . . . 31
Espacio de estado y búsqueda a ciegas
4.3 del árbol de búsqueda . .. . . . . . . . . . . . .
. . . .. . . . . . . . . . . . . . . . 35
4.4 Búsqueda heurística . . . . . . . . . . . .
. . . .. . . . . . . . . . . . . . . . 38
4.5 Búsqueda adversaria . . . . . . . . . .
. . . .. . . . . . . . . . . . . . . . 41
4.6 Búsqueda de Problemas de Satisfacción de .. . . . . . . . . . . . 44
. . . . . .
Restricciones Métodos Especiales de Búsqueda Heurística . . . . . . . . . . . . 49
viii
Machine Translated by Google
viii Contenido
Contenido ix
Parte III Cuestiones seleccionadas en inteligencia artificial
Apéndice A: Modelos formales para métodos de inteligencia artificial:
Nociones formales de métodos de búsqueda. . . . . . . . . . . . . . . . 247
Apéndice B: Modelos formales para métodos de inteligencia artificial:
Fundamentos matemáticos de la evolución
Cálculo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
Apéndice C: Modelos formales para métodos de inteligencia artificial:
Cuestiones seleccionadas de lógica matemática. . . . . . . . . . . . . . . 257
Apéndice D: Modelos formales para métodos de inteligencia artificial:
Fundamentos de Lógicas de Descripción. . . . . . . . . . . . . . . . . . 267
Apéndice E: Modelos formales para métodos de inteligencia artificial:
Nociones seleccionadas de la teoría del lenguaje formal. . . . . . . . . . 271
Apéndice F: Modelos formales para métodos de inteligencia artificial:
Fundamentos Teóricos de los Sistemas Basados en Reglas. . . . . . . . 279
Machine Translated by Google
X Contenido
Apéndice G: Modelos formales para métodos de inteligencia artificial:
Medidas de similitud matemática para patrón
Reconocimiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
Apéndice H: Modelos formales para métodos de inteligencia artificial:
Modelo Matemático de Aprendizaje de Redes Neuronales. . . . . . 289
Apéndice I: Modelos formales para métodos de inteligencia artificial:
Modelos matemáticos para razonar bajo
Incertidumbre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Apéndice J: Modelos formales para métodos de inteligencia artificial:
Fundamentos de las teorías de conjuntos borrosos y conjuntos aproximados. . . . . . 297
índice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
Machine Translated by Google
Parte I
Ideas fundamentales de la inteligencia artificial
Machine Translated by Google
Capítulo 1
Historia de la Inteligencia Artificial
Muchas cuestiones metodológicas fundamentales de la Inteligencia Artificial han sido de
gran importancia en la filosofía desde la antigüedad. Filósofos como Aristóteles, Santo
Tomás de Aquino, Guillermo de Ockham, René Descartes, Thomas Hobbes y Gottfried
W. Leibniz se han hecho las preguntas: “¿Qué son las operaciones cognitivas básicas?”,
“¿Qué condiciones necesarias debe tener un lenguaje (formal)? cumplir para ser una
herramienta adecuada para describir el mundo de manera precisa y sin ambigüedades?”,
“¿Se puede automatizar el razonamiento?”. Sin embargo, los primeros experimentos que
nos ayudarían a dar respuesta a la pregunta fundamental: “¿Es posible construir un
sistema de inteligencia artificial ?” no se pudo realizar hasta el siglo XX, cuando se
construyeron las primeras computadoras.
Ciertamente, la pregunta: “¿Cuándo podemos decir que un sistema construido por un
diseñador humano es inteligente?” es un problema clave en el campo de la IA. En 1950
Alan M. Turing1 propuso una solución a este problema con la ayuda del llamado juego
de imitación [307]. El juego de imitación es, de hecho, una prueba operativa de
inteligencia artificial y se puede describir de la siguiente manera. Supongamos que un
interrogador humano tiene una conversación con otro ser humano y una computadora al mismo tiempo.
Esta conversación se realiza con la ayuda de un dispositivo que imposibilita la simple
identificación de un interlocutor. (Por ejemplo, ambos interlocutores envían sus
declaraciones a un monitor de computadora). El interrogador humano, después de un
tiempo, debe adivinar qué declaraciones envía el ser humano y cuáles envía la
computadora. Según Turing, si el interrogador no puede hacer tal distinción, entonces la
inteligencia (artificial) de la computadora es la misma que la inteligencia del ser humano.
Señalemos que la inteligencia es, de alguna manera, considerada equivalente a la
competencia lingüística en el test de Turing. Como veremos más adelante, tal equivalencia
entre inteligencia y competencia lingüística se da en algunos modelos de IA.
1Alan Mathison Turing: destacado matemático, lógico e informático, investigador de la Universidad de
Cambridge, la Universidad de Manchester y el Laboratorio Nacional de Física de Londres. Es considerado
como uno de los “padres” de la informática. Turing definió la máquina universal (Turing), que es un modelo
matemático de computación.
© Springer International Publishing Suiza 2016 M. Flasi 3
´nski, Introducción a la Inteligencia Artificial, DOI
10.1007/9783319400228_1
Machine Translated by Google
4 1 Historia de la Inteligencia Artificial
Aunque normalmente se considera que 1956 es el año del nacimiento de la Inteligencia
Artificial, porque es el año de la famosa conferencia en el Dartmouth College, el autor
consideraría el año anterior como el comienzo de la IA. En 1955, el primer sistema de IA,
llamado Logic Theorist, fue diseñado por Allen Newell,2 Herbert A.
Simon,3 e implementado por J. Clifford Shaw4 en la Universidad Carnegie Mellon [197].
El sistema demostró casi 40 teoremas incluidos en la monografía fundamental Principia
Mathematica de Alfred N. Whitehead y Bertrand Russell . Los diseñadores del sistema
intentaron publicar sus resultados en el prestigioso Journal of Symbolic Logic. Los editores
rechazaron el artículo, alegando que solo contenía nuevas pruebas de los oremas
elementales y pasando por alto el hecho de que un sistema informático era coautor. Pamela
McCorduck escribe en su monografía [197] que para Herbert Simon diseñar Logic Theorist
significaba una solución al problema cartesiano mentecuerpo.5 La
investigación adicional de Simon, Newell y Shaw sobre la construcción de sistemas que
poseían habilidades mentales resultó en la implementación de General Problem Solver,
GPS en 1959. El sistema resolvió una variedad de problemas formales, por ejemplo:
integración simbólica, encontrar caminos en el problema de Euler de los puentes de
6
Königsberg, jugar el rompecabezas de las Torres de Hanoi, etc. Definición del paradigma de
la simulación cognitiva , que dice que en los sistemas de IA se deben simular esquemas
generales de formas humanas de resolución de problemas, fue un resultado metodológico
de su investigación. Este paradigma es un supuesto básico de los proyectos de investigación
avanzada en arquitecturas cognitivas, que se presentan en el Cap. 14
Mientras que Newell y Simon construyeron sus sistemas sobre la base de la simulación
cognitiva, John McCarthy7 dirigió la investigación en el MIT en otra área crucial de la
Inteligencia Artificial. En 1958 presentó el importante artículo [193] en el Simposio sobre la
Mecanización de los Procesos Mentales, que se organizó en Teddington. McCarthy propuso
el paradigma de resolver problemas de sentido común con el uso de modelos de
razonamiento basados en la lógica formal. En ese momento, tal idea parecía peculiar.
Durante una discusión, Yehoshua BarHillel8 calificó el artículo como “a medias”, alegando
que la inferencia basada en la lógica (deductiva) no es un modelo adecuado para el
razonamiento humano de sentido común. Esta crítica no desechó a McCarthy de la idea de utilizar
2Allen Newell—profesor de informática y psicología cognitiva en la Universidad Carnegie Mellon. Recibió el Premio
Turing en 1975. Newell es codiseñador de la arquitectura cognitiva Soar y el lenguaje de programación IPL.
3Herbert Alexander Simon—profesor de la Universidad Carnegie Mellon. Su excelente trabajo se refiere a la
economía, la sociología, la psicología, las ciencias políticas y la informática. Recibió el Premio Turing en 1975 y el
Premio Nobel de Economía en 1978.
4John Clifford Shaw: investigador de RAND Corporation, codiseñador de un lenguaje de programación IPL.
5 Los puntos de vista filosóficos que son importantes para la Inteligencia Artificial se presentan en la Secc. 15.1.
6 Los supuestos metodológicos de la simulación cognitiva se discuten en la Secc. 2.1.
7John McCarthy—profesor del Instituto de Tecnología de Massachusetts, la Universidad de Stanford y la Universidad
de Princeton. Introdujo el término Inteligencia Artificial, AI. McCarthy recibió el Premio Turing en 1971.
8 Yehoshua BarHillel: eminente filósofo (discípulo de Rudolf Carnap), matemático e informático (el lema de bombeo
de BarHillel para lenguajes independientes del contexto).
Machine Translated by Google
1 Historia de la Inteligencia Artificial 5
Lógica en Inteligencia Artificial. Continuó investigando un lenguaje de programación basado en
lógica para la implementación de sistemas inteligentes. McCarthy se inspiró en uno de los
cálculos lógicos modernos, a saber, el cálculo lambda (cálculo λ), que fue presentado por
Alonzo Church9 y Stephen C. Kleene10 en la década de 1930. Su investigación fue exitosa y
construyó el lenguaje Lisp11 entre 1958 y 1960 [194]. Lisp y sus dialectos, como Scheme y
Common Lisp, todavía se usan para construir sistemas de IA. A principios de la década de 1970
apareció dentro del paradigma basado en la lógica un nuevo enfoque de investigación basado
en la Lógica de Primer Orden, FOL . Resultó en la construcción del segundo lenguaje clásico
de IA, a saber, Prolog, por Alain Colmerauer y Philippe Roussel (Université d'AixMarseille II)
[57]. Este enfoque originó el popular modelo de Programación Lógica de Restricciones, CLP.
En la Secc . 2.2 y en el cap. 6.
A mediados de la década de 1960 apareció el tercer enfoque de la IA simbólica, el enfoque
basado en el conocimiento. Fue originado por un proyecto para implementar el sistema experto
Dendral realizado por Edward Feigenbaum12 y Joshua Lederberg13 en la Universidad de
Stanford. La identificación de moléculas orgánicas desconocidas sobre la base de un análisis
de sus espectros de masas y el conocimiento de la química era el objetivo del sistema. El
sistema fue muy útil para los químicos orgánicos. La experiencia adquirida por Feigenbaum lo
llevó a introducir un nuevo paradigma de IA que difiere tanto de la simulación cognitiva como
del enfoque basado en la lógica. Este paradigma se puede describir de la siguiente manera. En
primer lugar, en lugar de resolver problemas generales, los sistemas inteligentes deberían
centrarse en áreas de aplicación bien definidas (como lo hizo el sistema Dendral). En segundo
lugar, un sistema inteligente debe estar equipado con todo el conocimiento que poseen los
expertos humanos en un campo en particular. Por lo tanto, estos sistemas a menudo se denominan sistemas ex
En tercer lugar, este conocimiento debe tratarse como un tipo de datos y debe almacenarse en
la base de conocimiento del sistema. Se debe implementar un mecanismo de inferencia
general14 en el sistema para razonar sobre el conocimiento.15 En este último aspecto, el
enfoque basado en el conocimiento es de alguna manera similar al enfoque basado en la
lógica, especialmente porque se utilizan esquemas de inferencia análogos en ambos enfoques.
La última suposición se refiere a una forma de verificar la corrección de la funcionalidad del sistema.
9Alonzo Church—profesor de lógica, matemáticas y filosofía en la Universidad de Princeton y la Universidad de
California, Los Ángeles. Fue asesor de doctorado de científicos famosos como Alan Turing, Stephen C. Kleene,
Michael O. Rabin, J. Barkley Rosser y Dana Scott.
10Stephen C. Kleene—profesor de matemáticas en la Universidad de Princeton. Su trabajo se refiere a la teoría
de la recursión, la teoría de las funciones computables y las expresiones regulares.
11Lisp es uno de los dos lenguajes más antiguos, junto con Fortran, que todavía se utilizan en la actualidad.
12Edward Albert Feigenbaum—profesor de informática en la Universidad de Stanford. Se le considera uno de los
pioneros de la IA. Herbert Simon fue su asesor de doctorado. En 1994 recibió el Premio Turing.
13Joshua Lederberg: profesor de la Universidad de Stanford y la Universidad Rockefeller, genetista molecular,
microbiólogo y uno de los pioneros de la IA. En 1958 recibió el Premio Nobel de Medicina.
14General significa aquí independiente del conocimiento específico.
15En los sistemas expertos, el conocimiento suele formalizarse como un conjunto de reglas. A estos sistemas los llamamos sistemas
basados en reglas. Los sistemas expertos y basados en reglas se presentan en el Cap. 9.
Machine Translated by Google
6 1 Historia de la Inteligencia Artificial
El sistema implementado debe estar integrado en un entorno en el que expertos humanos
resuelvan problemas. Su prueba consiste en comprobar si simula bien a los expertos. Si es así,
significa que el sistema funciona correctamente. (Esto es análogo a la simulación cognitiva, en
la que el sistema debería simular el comportamiento inteligente de un ser humano). Estos
supuestos se cumplen en gran medida en el modelo de representación del conocimiento en
forma de sistemas basados en reglas, que se introducen en la Sección . 2.3 y cap. 9.
Los éxitos en la construcción de sistemas simbólicos de IA alentaron a Newell y Simon a
formular en 1976 una visión fundamental de la Inteligencia Artificial Fuerte, a saber, la hipótesis
del sistema de símbolos físicos[209]. Un sistema de símbolos físicos consiste en un conjunto de
elementos llamados símbolos que son utilizados por el sistema para construir estructuras
simbólicas llamadas expresiones y un conjunto de procesos para su modificación, reproducción
y destrucción. En otras palabras, el sistema transforma un determinado conjunto de expresiones.
La hipótesis se formula de la siguiente manera [209]:
Un sistema de símbolos físicos tiene los medios necesarios y suficientes para la acción inteligente
general.
Esta visión radical de Newell y Simon de que un sistema que transforma estructuras
simbólicas puede considerarse inteligente fue fuertemente criticada por John R. Searle16 en
su artículo “Minds, Brains, and Programs” [269] publicado en 1980. Searle dividió las opiniones
sobre la IA en dos grupos básicos. Los partidarios de la Inteligencia Artificial Débil tratan una
computadora como un dispositivo conveniente para probar hipótesis relacionadas con el cerebro
y los procesos mentales y para simular el rendimiento del cerebro. Por otro lado, los partidarios
de la Inteligencia Artificial Fuerte consideran que una computadora debidamente programada
equivale a un cerebro humano y su actividad mental. Por supuesto, la hipótesis del sistema de
símbolos físicos pertenece al último enfoque. Para rechazar esta hipótesis, Searle propuso un
experimento mental, que también desafía la prueba de Turing (el juego de la imitación). Una de
las diversas versiones de este experimento, denominada habitación china, puede describirse
de la siguiente manera. Supongamos que un hablante nativo de inglés, que no habla chino,
está encerrado en una habitación. En la primera fase del experimento, recibe hojas de papel
con caracteres chinos y se le pide que responda. Sin embargo, él no entiende estas notas.
Afortunadamente, en la habitación hay un libro que contiene instrucciones sobre cómo responder
a los caracteres chinos escribiendo otros caracteres chinos en una hoja de papel. Entonces,
cada vez que recibe una hoja de papel con caracteres chinos, “produce” una respuesta de
acuerdo con estas instrucciones. En la segunda fase del experimento, recibe hojas de papel
con oraciones en inglés, por ejemplo, algunas preguntas, y se le pide que las responda.
Entonces, él responde... Supongamos que la calidad de las respuestas en ambos casos es la
misma.
Ahora, Searle hace la pregunta, ¿Hay alguna diferencia entre las dos fases del experimento?
Entonces, responde que sí. En la primera fase, el hombre en la habitación no entiende lo que
está haciendo, sin embargo, en la segunda fase sí lo hace.
16John Rogers Searle—profesor de filosofía en la Universidad de California, Berkeley. Su trabajo se refiere
principalmente a la filosofía del lenguaje, la filosofía de la mente y la filosofía social. En 2000 fue
galardonado con el Premio Jean Nicod.
Machine Translated by Google
1 Historia de la Inteligencia Artificial 7
Uno puede notar fácilmente que, a partir de la prueba de Turing, en la Inteligencia
Artificial se atribuye una importancia inmensa al lenguaje natural ya la capacidad de los
sistemas inteligentes para utilizarlo. Tres teorías lingüísticas, a saber, la teoría de las
gramáticas generativas de Noam Chomsky [47], la teoría de la dependencia conceptual de
Roger Schank [263, 264] y la lingüística cognitiva de George Lakoff [175] son especialmente
importantes en la inteligencia artificial. Por eso, ahora te los presentamos.
Noam Chomsky17 introdujo la primera versión de las gramáticas generativas en 1957.18
Según su teoría, la capacidad de aprender una gramática del lenguaje natural, denominada
gramática universal, es una propiedad del cerebro humano. La gramática universal se
“parametriza” cuando un niño es expuesto a un idioma específico, lo que crea una gramática
de ese idioma en su cerebro. Tal gramática tiene la forma de un sistema formal, que consiste
en un conjunto finito de reglas que se utilizan para generar un conjunto infinito de oraciones
pertenecientes al lenguaje. Así, la gramática es generadora del lenguaje. Chomsky distingue
no sólo un nivel sintáctico sino también un nivel semántico en la estructura de una gramática
generativa. Además, la sintaxis constituye un nivel primario básico, mientras que la semántica
se deriva de alguna manera de la sintaxis. Por lo tanto, aquí hay algunas analogías con el
modelo del sistema de símbolos físicos. Aunque las grandes (digamos excesivas) expectativas
iniciales sobre el procesamiento (comprensión) del lenguaje natural con la ayuda de esta
teoría no se han cumplido del todo, se ha convertido en un modelo de fundamental importancia
en las ciencias de la computación. El nacimiento de esta teoría puede considerarse como el
19
origen del desarrollo dinámico de la lingüística matemática. se enfoca en definir Él
formalismos matemáticos que se pueden usar para representar estructuras de lenguajes
tanto formales como naturales. Los supuestos básicos de la lingüística matemática se
presentan en la Secc. 2.5 y los métodos basados en la teoría de las gramáticas generativas
se presentan en el cap. 8.
Roger Schank,20 en su teoría de la dependencia conceptual desarrollada a finales de la
década de 1960 [263], afirmaba que no es la sintaxis la que debería ser un punto de partida
para definir la semántica del lenguaje sino los conceptos, estrictamente hablando ,
dependencias (relaciones) entre conceptos. Para formalizar varios tipos de dependencias
entre conceptos, definió un modelo de representación de relaciones en forma de gráficos de
dependencia conceptual. Estos gráficos se definen de tal manera que dos estructuras
lingüísticas que tienen el mismo significado están representadas por el mismo gráfico. En
Inteligencia Artificial, la teoría de la dependencia conceptual constituye un paradigma para los modelos estruc
17Avram Noam Chomsky—profesor de lingüística en el Instituto Tecnológico de Massachusetts.
Su investigación fue muy importante para los fundamentos de la informática (principalmente la teoría de los lenguajes
formales, los lenguajes de programación y la lingüística informática), la lingüística y la teoría de la mente. Recibió muchos
doctorados honorarios de prestigiosas universidades, incluidas la Universidad de Bolonia, la Universidad de Harvard, la
Universidad de Cambridge, la Universidad de Uppsala, la Universidad McGill y la Universidad Loyola de Chicago.
18Nuestras consideraciones se refieren al modelo estándar de Chomsky .
19Aunque la idea de una gramática generadora de un lenguaje, es decir, una gramática como sistema de reescritura, puede
encontrarse en la obra de los lógicos Axel Thue y Emil Post.
20Roger Schank—profesor de psicología e informática en la Universidad de Yale y la Universidad Northwestern. Su trabajo
se refiere a la inteligencia artificial (procesamiento del lenguaje natural, razonamiento basado en casos) y la psicología
cognitiva.
Machine Translated by Google
8 1 Historia de la Inteligencia Artificial
representación del conocimiento. En estos modelos, el conocimiento está representado
por estructuras jerárquicas o similares a gráficos. Las redes semánticas introducidas por
Allan M. Collins21 y Ross Quillian [56], los marcos definidos por Marvin Minsky22 en
[203] y los guiones propuestos por Schank y Robert P. Abelson23 [264] son los modelos
más populares en este enfoque. La investigación en esta área se centró inicialmente en
el Procesamiento del Lenguaje Natural, PNL . Resultó en la construcción de sistemas de
PNL bien conocidos como ELIZA24 simulando a un psicoterapeuta, que fue construido
por Joseph Weizenbaum25 en 1966, SHRDLU, el primer sistema que entendió un
lenguaje natural en el contexto de un entorno similar al mundo simplificado (Terry
Winograd ,26 1970), MARGIE (Roger Schank 1973) y SAM (Richard E. Cullingford,
1978), que se basaban en la teoría de la dependencia conceptual, y PAM, construido por
Robert Wilensky27 en 1978, que era capaz de interpretar historias sencillas. El enfoque
basado en modelos estructurales de representación del conocimiento también se ha
aplicado para construir sistemas de IA más allá del procesamiento del lenguaje natural.
Para la implementación de dichos sistemas se han desarrollado una variedad de lenguajes
y entornos de programación, incluido KRL definido por Terry Winograd y Daniel G.
Bobrow28 y KLONE presentado por Ronald J. Brachman29 y James G. Schmolze.30 El
enfoque basado en estructuras Los modelos de representación del conocimiento se
discuten en la Secc. 2.4, mientras que los modelos de redes semánticas, marcos y guiones se presentan
21Allan M. Collins—psicólogo, profesor de la Universidad Northwestern. Su trabajo se refiere a la Inteligencia
Artificial y la psicología cognitiva.
22Marvin Minsky: matemático, profesor de informática en el Instituto Tecnológico de Massachusetts. Por su
contribución a la IA recibió el Premio Turing en 1969.
23Robert P. Abelson—profesor de psicología en la Universidad de Yale. Su trabajo se refiere a las aplicaciones del
análisis estadístico y la lógica en psicología y ciencias políticas.
24De hecho, ELIZA fue el primer chatbot conocido , es decir, un programa que es capaz de simular una
conversación con un ser humano.
25Joseph Weizenbaum—profesor de informática en el Instituto Tecnológico de Massachusetts. Se le considera
uno de los pioneros de la IA.
26Terry Winograd—profesor de informática en la Universidad de Stanford. Su trabajo influyó en la inteligencia
artificial, la teoría de la mente y el procesamiento del lenguaje natural.
27Robert Wilensky—profesor de informática en la Universidad de California, Berkeley.
Su trabajo se refiere a sistemas de comprensión del lenguaje natural, representación del conocimiento y sistemas
de planificación de IA.
28Daniel Gureasko Bobrow: uno de los pioneros de la IA, investigador en el Centro de Investigación de Palo Alto
(PARC). Fue presidente de la Asociación Estadounidense de Inteligencia Artificial y editor en jefe de la prestigiosa
revista Artificial Intelligence.
29Ronald Jay Brachman—jefe del Departamento de Investigación de Principios de Inteligencia Artificial de AT&T
Bell Laboratories y de la Oficina de Técnicas de Procesamiento de Información de DARPA. Su trabajo se refiere a
modelos estructurales de representación del conocimiento y lógica descriptiva.
30James G. Schmolze—profesor de informática en la Universidad de Tufts. Su trabajo se refiere a la Inteligencia
Artificial, especialmente a la representación del conocimiento y al razonamiento con conocimiento incompleto.
Machine Translated by Google
1 Historia de la Inteligencia Artificial 9
En el área de la lingüística, la lingüística cognitiva representada por George Lakoff31
parece oponerse en mayor medida a la hipótesis del sistema de símbolos físicos. En su
famoso libro “Mujeres, fuego y cosas peligrosas: qué revelan las categorías sobre la
mente”, publicado en 1987 [175], lanzó el ataque más eficaz contra la IA fuerte. En lugar
de considerar si una máquina que manipula expresiones simbólicas puede llamarse
inteligente, G. Lakoff hizo la siguiente pregunta: ¿Es posible definir un mapeo de nuestro
entorno del mundo real en un conjunto de tales expresiones simbólicas? Señaló que una
suposición sobre la posibilidad de la construcción de tal mapeo estaba de alguna manera
escondida en la hipótesis del sistema de símbolos físicos. Sin embargo, esta suposición
se basaba en el enfoque aristotélico clásico de la creación de conceptos. De acuerdo
con este enfoque, los conceptos tienen límites nítidos, es decir, un objeto pertenece a
una categoría, que se relaciona con un concepto o no. Sin embargo, Lakoff ha afirmado
que tal enfoque no debería haberse asumido a la luz de la psicología y la filosofía
modernas. Ludwig Wittgenstein [316] y Eleanor Rosch [245] han demostrado que hay
miembros representativos "mejores" y "peores" de una categoría y que tanto la
experiencia humana (corporal) como la imaginación juegan un papel básico en el proceso
de categorización (conceptualización). Por lo tanto, las categorías no deben tratarse
como “cajas” que incluyen algunos objetos y otros no, sino que deben definirse teniendo
en cuenta su borrosidad. Esta borrosidad resulta del hecho de que nuestra cognición
está determinada por la forma de nuestro cuerpo (humano), especialmente por la forma
de nuestro cerebro (tesis de la mente encarnada). Por lo tanto, los lingüistas cognitivos
a menudo afirman que los modelos conexionistas, que incluyen principalmente modelos
de redes neuronales artificiales, son más adecuados para construir sistemas de IA que
los métodos que se basan en la lógica y el procesamiento simbólico.
modelos conexionistas, 32 en los que los fenómenos mentales se modelan como
procesos emergentes33 que ocurren en redes que constan de componentes elementales,
tienen una larga historia en la IA. El primer modelo de neurona artificial que podría
utilizarse como componente elemental de dicha red fue definido por Warren S. McCulloch34 y
31George Lakoff—profesor de lingüística en la Universidad de California, Berkeley. A finales de la década de 1960
contribuyó a los fundamentos de la lingüística cognitiva, que se oponía a la teoría de Chomsky. Su trabajo influyó
en el desarrollo de la ciencia cognitiva, la teoría de la mente, la inteligencia artificial y la ciencia política.
32Las características presentadas en este capítulo se refieren a modelos de redes conexionistas distribuidas.
Un enfoque más general se presenta en la Secc. 3.1.
33Para nuestras consideraciones asumimos que un proceso es emergente si no puede ser descrito sobre la base
de sus componentes elementales. En otras palabras, una descripción (simplificada) de un proceso en un nivel
inferior no es suficiente para su descripción en un nivel superior.
34Warren Sturgis McCulloch: neurofisiólogo y cibernético que trabaja en el Instituto Tecnológico de Massachusetts,
la Universidad de Yale y la Universidad de Illinois en Chicago. Su investigación y la de Walter Pitts sobre el
tratamiento de un sistema nervioso como un dispositivo informático universal (inspirado en las opiniones de
Gottfried Leibniz) dieron como resultado la definición de una neurona artificial. Fue presidente de la Sociedad
Estadounidense de Cibernética.
Machine Translated by Google
10 1 Historia de la Inteligencia Artificial
Walter Pitts35 en 1943 [198]. Las redes neuronales, NN, se utilizan para simular procesos
que ocurren en redes neuronales biológicas en un cerebro. Consisten en componentes
simples interconectados, que procesan información en paralelo. Desde un punto de vista
funcional, una red neuronal es una especie de "caja negra" que puede entrenarse para
aprender respuestas adecuadas a varios estímulos. Dicho aprendizaje consiste en modificar
los parámetros de una estructura de red neuronal. Como resultado, este conocimiento está
codificado de alguna manera en una estructura parametrizada de este tipo. Así, un enfoque
conexionista difiere completamente de un enfoque simbólico. Por lo tanto, una de las
discusiones “más candentes” en IA tuvo lugar entre los partidarios de estos dos enfoques.
En 1957, Frank Rosenblatt36 definió el perceptrón, que en ese momento era37 una simple
red neuronal de una capa [247]. Luego, Marvin Minsky y Seymour Papert38 publicaron su
famoso libro “Perceptrons” [204] en 1969, en el que mostraban las fuertes limitaciones de
los perceptrones, por ejemplo, la incapacidad de calcular algunas funciones lógicas como
XOR. Como resultado, muchos investigadores de IA concluyeron que el estudio de las redes neuronales no
Aunque tales opiniones negativas de eminentes autoridades de IA causaron una
financiación limitada de la investigación sobre redes neuronales, continuaron en las décadas
de 1970 y 1980 y dieron como resultado muchos resultados exitosos. En 1972 Teuvo
Kohonen39 construyó la red asociativa [164]. Tres años más tarde, Kunihiko Fukushima,
científico investigador sénior de los Laboratorios de Investigación Científica y Técnica de la
Corporación de Radiodifusión de Japón, construyó el Cognitron, que era una red neuronal multicapa [107].
En 1982 se desarrollaron dos modelos importantes: la red recurrente Hopfield40 [140] y Self
Organizing Maps, SOM, de Kohonen [165]. David E. Rumelhart41 y Geoffrey E. Hinton42
publicaron, con sus colaboradores, un artículo sobre el aprendizaje
35Walter Harry Pitts, Jr., lógico y matemático que trabaja en el Instituto Tecnológico de Massachusetts y
la Universidad de Chicago (junto con WS McCulloch, J. Lettvin y N.
Salchicha).
36Frank Rosenblatt: psicólogo e informático, profesor de la Universidad de Cornell. Su trabajo se refiere
a las redes neuronales, la neurodinámica y los sistemas cognitivos. Por su contribución a la inteligencia
computacional, IEEE estableció el Premio Frank Rosenblatt en 2004.
37Más tarde, se construyeron perceptrones multicapa más complejos.
38Seymour Papert: matemático e informático. Es conocido por diseñar el lenguaje de programación
LOGO.
39Teuvo Kohonen—profesor de la Universidad Tecnológica de Helsinki y destacado investigador de
redes neuronales. En 1991 fue elegido primer presidente de la Sociedad Europea de Redes Neuronales.
40John J. Hopfield: eminente investigador de redes neuronales, profesor de física y biología molecular en
el Instituto de Tecnología de California, la Universidad de Princeton y la Universidad de California,
Berkeley. Fue presidente de la Sociedad Americana de Física.
41David Everett Rumelhart—profesor de psicología en la Universidad de Stanford y la Universidad de
California, San Diego. Su trabajo se refiere a aplicaciones de las matemáticas en psicología e inteligencia
artificial, y modelos conexionistas. Por su contribución a la Inteligencia Artificial se estableció el Premio
Rumelhart en 2000.
42Geoffrey E. Hinton—profesor de informática en la Universidad de Toronto, la Universidad de Cambridge
y la Universidad Carnegie Mellon, y psicólogo. Su trabajo se refiere a las matemáticas aplicadas y las
redes neuronales. En 2005 recibió el Premio IJCAI a la Excelencia en Investigación y en 2001 el Premio
Rumelhart.
Machine Translated by Google
1 Historia de la Inteligencia Artificial 11
redes multicapa con el método de retropropagación en 1986 [252]. Al año siguiente, Stephen
Grossberg43 y Gail Carpenter44 definieron redes neuronales basadas en la Teoría de la
resonancia adaptativa, ART [42]. Después de una serie de resultados de investigación
exitosos, el regreso del modelo conexionista y las redes neuronales se produjo en 1987, en
el que se organizó la Primera Conferencia Internacional sobre Redes Neuronales . Durante
la conferencia, su presidente Bart Kosko45 anunció la victoria del paradigma de las redes
neuronales. El enfoque conexionista se discute en la Secc. 3.1, mientras que los modelos
de redes neuronales se presentan en el Cap. 11
Los partidarios de las redes neuronales artificiales han asumido que simular la naturaleza
en su capa biológica es un principio metodológico adecuado para construir sistemas de IA.
Han tratado de simular el cerebro tanto en sus aspectos anatómicos/estructurales como
fisiológicos/funcionales. Una simulación de la naturaleza en su aspecto evolutivo es un
paradigma básico para definir modelos inspirados en la biología, que incluyen un grupo
importante de métodos de IA llamado computación evolutiva. Estos métodos se utilizan en
el área crucial de la búsqueda de una solución óptima de un problema. Los principios
fundamentales de este enfoque incluyen la generación y el análisis de muchas soluciones
potenciales en paralelo, el tratamiento de un conjunto de tales soluciones potenciales como
una población de individuos y el uso de operaciones en estos individuos, soluciones que
son análogas a las operaciones de evolución biológica, como cruce, mutación y la selección
natural. Alex Fraser46 publicó el primer artículo que presentaba las ideas de la computación
evolutiva en 1957 [102]. Se le puede considerar el pionero de este paradigma. Luego, se
desarrollaron cuatro grupos básicos de métodos dentro de este enfoque: algoritmos
genéticos, que se hicieron populares cuando John Holland47 publicó su excelente
monografía en 1975 [139], estrategias de evolución, que fueron introducidas en la década
de 1960 por Ingo Rechenberg48 [236] y HansPaul Schwefel49 [267], programación
evolutiva, originada por Lawrence J. Fogel50 en la Universidad de California, Los Ángeles en la década de 1
43Stephen Grossberg—profesor de matemáticas, psicología e ingeniería biomédica en la Universidad de Boston. Fue el
primer presidente de la International Neural Network Society y fundador de la prestigiosa revista Neural Networks.
44Gail Carpenter—profesora de matemáticas en la Universidad de Boston. En la década de 1970 publicó excelentes
artículos sobre el uso de sistemas dinámicos para una generalización de los modelos de HodgkinHuxley (ver Secc. 11.1).
45Bart Kosko—profesor de la Universidad del Sur de California. Su contribución a la investigación se refiere a las redes
neuronales y la lógica difusa.
46Alex S. Fraser—un eminente investigador que trabaja en Nueva Zelanda, Australia y los Estados Unidos.
Su trabajo se refiere al modelado por computadora en biología.
47John Henry Holland—profesor de psicología y profesor de ingeniería eléctrica e informática en la Universidad de
Michigan. Desarrolló el modelo de esquema (de Holland), que es fundamental en la teoría de los algoritmos genéticos.
48Ingo Rechenberg—profesor de informática en la Universidad Técnica de Berlín, uno de los pioneros de la biónica.
49HansPaul Schwefel—profesor de informática en la Universidad Tecnológica de Dortmund.
Su trabajo se refiere a la teoría de la optimización (dinámica de fluidos) y al análisis de sistemas.
50Lawrence J. Fogel: investigador y autor de patentes sobre teoría de control, telecomunicaciones, cibernética e ingeniería
biomédica.
Machine Translated by Google
12 1 Historia de la Inteligencia Artificial
popularizado por John Koza51 en la década de 1990 [172]. El enfoque inspirado en la biología se
analiza en la Secc. 3.3 y sus modelos se presentan en el Cap. 5.
Los métodos construidos a partir de diversas teorías matemáticas han jugado un papel
fundamental en el desarrollo de los modelos de Inteligencia Artificial desde sus inicios. Los más
importantes incluyen reconocimiento de patrones, análisis de conglomerados, inferencia bayesiana
y redes bayesianas, modelos basados en la teoría de conjuntos difusos y modelos basados en la
teoría de conjuntos aproximados. El reconocimiento de patrones es uno de los campos más
antiguos de la Inteligencia Artificial. De hecho, se originó como un área de investigación antes de
que se acuñara el término Inteligencia Artificial , ya que el primer método dentro de este enfoque
fue desarrollado por Ronald A. Fisher52 en 1936 [90]. Los métodos de reconocimiento de patrones
se utilizan para la clasificación de objetos/fenómenos desconocidos, que se representan mediante
conjuntos de características. La cuestión complementaria del análisis de conglomerados consiste
en agrupar un conjunto de objetos/fenómenos en clases (categorías). Estos modelos se presentan en el Cap. 10
La teoría bayesiana se usó en Inteligencia Artificial muy temprano.53 Su papel en la IA
aumentó aún más cuando Judea Pearl54 introdujo un modelo de inferencia basado en redes
Bayes[222]. El uso de este modelo para razonar con conocimiento imperfecto se presenta en el
Cap. 12
La imperfección de un sistema de nociones que se utiliza para describir el mundo real es un
problema crucial, si aplicamos modelos matemáticos de razonamiento. Dado que el mundo es
multifacético y complejo, los conceptos utilizados en su representación suelen ser inequívocos e
imprecisos, lo que es inaceptable. Para resolver este dilema, en 1965 Lotfi A. Zadeh55 introdujo
la teoría de conjuntos borrosos [321] y en la década de 1980 Zdzisław Pawlak56 desarrolló la
teoría de conjuntos aproximados [216]. Ambas teorías se introducen en el cap. 13
La Inteligencia Artificial es un área de investigación interdisciplinar muy interesante. También
es un lugar de acaloradas disputas entre seguidores de diferentes escuelas. De hecho, podemos
encontrar científicos en todas las escuelas que afirman que su enfoque es el único que es
51John Koza—profesor de informática en la Universidad de Stanford. Su trabajo se refiere a autómatas celulares,
sistemas multiagente, aplicaciones de informática en biología molecular y aplicaciones de IA en ingeniería eléctrica,
control automático y telecomunicaciones.
52Ronald Aylmer Fisher—profesor de genética en el University College London y la Universidad de Cambridge. Fue
el principal fundador de la estadística matemática. Por su contribución científica fue elegido miembro de la Royal
Society en 1929.
53 Por ejemplo, el reconocimiento de patrones estadísticos, que se presenta en la Secc. 10.5.
54Judea Pearl: profesora de la Universidad de California, Los Ángeles, científica informática y filósofa. En 2000
publicó una excelente monografía sobre la causalidad y su papel en la estadística, la psicología, la medicina y las
ciencias sociales titulada Causality: Models, Reasoning, and Inference (Cambridge University Press). Por este libro
recibió el prestigioso Premio Lakatos en 2001.
55Lotfi Asker Zadeh—profesora de la Universidad de California, Berkeley, ingeniera eléctrica, informática y
matemática. Su trabajo se refiere a la inteligencia artificial, la teoría del control, la lógica y la lingüística.
56Zdzisław Pawlak—profesor de la Universidad Tecnológica de Varsovia y del Instituto de Matemáticas de la
Academia Polaca de Ciencias. Su trabajo se refiere a los fundamentos matemáticos de la informática, la lingüística
matemática, la demostración automatizada de teoremas y los modelos formales en genética.
Machine Translated by Google
1 Historia de la Inteligencia Artificial 13
correcto.57 Afortunadamente, a pesar de las disputas, que en principio son de naturaleza
filosófica, la práctica de construir sistemas de IA ha consistido en integrar varios enfoques
desde la década de 1980. Para tal integración, las arquitecturas cognitivas son especialmente
convenientes. Las arquitecturas cognitivas más conocidas incluyen Soar (originalmente
llamado SOAR, por Símbolos, Operadores y Reglas) [210] desarrollado por Allen Newell en
1983–1987, ACT (Control adaptativo del pensamiento) [5] y ACTR (Control adaptativo del
pensamiento). Control of Thought—Rational) [6] diseñado por John Robert Anderson58 en
1983 y 1993, respectivamente. Los sistemas multiagente (MAS) son buenos ejemplos de
tales arquitecturas. Las arquitecturas cognitivas se presentan en el Cap. 14
Nota bibliográfica
Las monografías y artículos fundamentales sobre inteligencia artificial incluyen [18, 19, 55,
147, 168, 189, 211, 241, 256, 257, 261, 262, 273, 299, 315]. La historia de la Inteligencia
Artificial se presenta en [62, 197].
57 Debido a la naturaleza introductoria de la monografía, solo hemos mencionado la disputa
fundamental entre la IA fuerte y la IA débil. Otras disputas importantes incluyen computacionalistas
versus conexionistas, prolijos versus desaliñados, etc. Para el lector interesado en la historia de la IA,
se recomiendan los libros incluidos en la nota bibliográfica .
58John Robert Anderson—profesor de psicología e informática en la Universidad Carnegie Mellon, uno
de los pioneros de la ciencia cognitiva y diseñador de sistemas de tutoría inteligente.
Fue presidente de la Sociedad de Ciencias Cognitivas.
Machine Translated by Google
Capitulo 2
Inteligencia artificial simbólica
En este capítulo se presentan los supuestos metodológicos básicos de los métodos pertenecientes a
la Inteligencia Artificial simbólica . Las tres creencias fundamentales siguientes son comunes a estos
métodos:
• un modelo que representa un sistema inteligente se puede definir de manera explícita , • el
conocimiento en tal modelo se representa de manera simbólica,1 • las
operaciones mentales/cognitivas se pueden describir como operaciones formales2 sobre operaciones simbólicas
expresiones y estructuras que pertenecen a un modelo de conocimiento.
En la IA simbólica se pueden distinguir dos subgrupos de métodos. Dentro del primer subgrupo,
los investigadores intentan definir modelos generales (genéricos) de representación del conocimiento
y operaciones inteligentes. Este subgrupo incluye la simulación cognitiva y el razonamiento basado
en la lógica.
Por el contrario, la definición de modelos que se refieren a áreas de aplicación específicas es el
objetivo de la investigación dentro del segundo grupo. Por lo tanto, tales modelos se basan en
representaciones del dominio del conocimiento. Este subgrupo incluye la representación del
conocimiento basada en reglas, la representación del conocimiento estructural y un enfoque basado
en la lingüística matemática.
Estos grupos de métodos se presentan brevemente en las siguientes secciones.
1Por ejemplo, el conocimiento se define en forma de gráficos, fórmulas lógicas, reglas simbólicas, etc.
Los métodos de IA simbólica se desarrollan sobre la base de la lógica, la teoría de los lenguajes formales, diversas
áreas de las matemáticas discretas, etc.
2Por ejemplo, operaciones en forma de reglas de inferencia en lógica, producciones en la teoría de los lenguajes
formales, etc.
© Springer International Publishing Suiza 2016 M. Flasi ́nski, 15
Introducción a la Inteligencia Artificial, DOI
10.1007/9783319400228_2
Machine Translated by Google
dieciséis
2 Inteligencia Artificial Simbólica
2.1 Simulación cognitiva
La simulación cognitiva es una de las primeras aproximaciones a la Inteligencia Artificial. El enfoque
fue introducido por Newell y Simon, quienes lo usaron para diseñar sus famosos sistemas Logic
Theorist and General Problem Solver, GPS. La idea principal de la simulación cognitiva consiste en
definir algoritmos heurísticos3 para simular las capacidades cognitivas humanas, por ejemplo, el
razonamiento, la resolución de problemas, el reconocimiento de objetos y el aprendizaje.
Durante tal simulación, una computadora realiza una secuencia de pasos elementales, que son
análogos a los realizados por un ser humano. Por lo tanto, para diseñar tales algoritmos tratamos de
descubrir conceptos y reglas elementales que son utilizados por un ser humano para resolver
problemas genéricos. Ahora, presentamos cuatro conceptos básicos de simulación cognitiva, a saber,
espacio de estado, resolución de problemas como espacio de estado de búsqueda, análisis de medios
y fines y reducción de problemas.
Comencemos con el concepto de espacio de estado. Su estado inicial representa la situación en
la que comenzamos a resolver el problema. Consideremos el ejemplo del ajedrez. El estado inicial
representa la posición inicial de las piezas al comienzo de un juego. Los estados de meta (o el estado
de meta, si el problema tiene una sola solución) representan un problema en el momento de encontrar
una solución. Así, en el ajedrez los estados de meta representan todas las situaciones en las que
damos jaque mate al oponente. Los estados restantes (intermedios) representan todas las situaciones
que son posibles en el camino hacia la solución del problema. Así, en el ajedrez representan todas
las situaciones que están permitidas teniendo en cuenta las reglas del juego. Un espacio de estado
es un gráfico en el que los nodos corresponden a estados (inicial, objetivo e intermedio) y los bordes
representan todas las transiciones permitidas de un estado a otro.
Por lo tanto, para el ajedrez, un espacio de estado se puede definir de la siguiente manera. Desde el
nodo del estado inicial definimos transiciones (bordes) a nodos que corresponden a situaciones
posteriores al primer movimiento "blanco". Luego, para cada estado intermedio, definimos transiciones
(bordes) a nodos que corresponden a situaciones posteriores al primer movimiento "negro" en
respuesta a una situación causada por el primer movimiento "blanco", etc.
La resolución de problemas como la búsqueda de un espacio de estado es el segundo concepto
de la simulación cognitiva. La idea es sencilla: si no sabemos cómo formular reglas algorítmicas de
resolución de problemas, podemos intentar resolver este problema con el método de "ensayo y
error" ("generar y probar", "adivinar y comprobar"). Por supuesto, el uso de este método en su “forma
pura” no es una buena idea, por ejemplo, para jugar al ajedrez. Sin embargo, a veces este es el único
método que podemos utilizar en nuestra vida cotidiana. Por ejemplo, hemos olvidado el código de
combinación de nuestra maleta o le hemos prometido a nuestra prometida hacer una rica tortilla por
la noche y hemos perdido la receta. (Sin embargo, tenemos muchos huevos en el refrigerador, así
que podemos hacer algunos experimentos).
Notemos que tal generación de soluciones potenciales puede ser “ciega” (no
3Un algoritmo heurístico es un algoritmo que puede generar una solución aceptada de un problema, aunque no podemos probar
formalmente la adecuación del algoritmo al problema. El término heurística fue introducido por el destacado matemático George
Pólya. Newell asistió a conferencias impartidas por Pólya en la Universidad de Stanford.
Machine Translated by Google
2.1 Simulación cognitiva 17
use códigos que representen fechas importantes) o puede limitarse a una determinada subárea
del espacio de estado (usamos fechas importantes como códigos). Es más, podemos tener una
cierta medida, llamada aquí función heurística, que nos dice qué tan cerca estamos de una
solución satisfactoria (por ejemplo, la “medida de degustación”, que nos dice qué tan cerca
estamos de una deliciosa tortilla). Entonces, si nuestra tortilla experimental es casi deliciosa,
debemos modificar el resultado reciente solo un poco. Un procedimiento correcto para generar
posibles soluciones debe tener tres propiedades. En primer lugar, debe ser completo, es decir,
debe ser capaz de generar todas las soluciones potenciales. En segundo lugar, no debe generar
una solución potencial más de una vez. En tercer lugar, debe hacer uso de información que
restringe el espacio estatal a su subárea así como medidas/funciones de la calidad de las
posibles soluciones generadas.
Si tenemos una función que evalúa la calidad de las soluciones potenciales, entonces
podemos usar una técnica llamada Análisis de medios y fines, MEA, para controlar el proceso de
generación de soluciones potenciales. Si estamos en un cierto estado, entonces usamos tal
función para determinar la diferencia/distancia entre este estado y un estado meta y usamos un
medio (es decir, el medio es usualmente en la forma de un operador o un procedimiento) que
reduce esta diferencia. Por ejemplo, si nuestra tortilla experimental es casi tan sabrosa como la
ideal y la única diferencia es que no es lo suficientemente dulce, entonces deberíamos usar un
"operador de endulzamiento" para reducir esta diferencia. Usamos la técnica MEA de forma
iterativa, comenzando desde el estado inicial hasta llegar a un estado objetivo.
La reducción de problemas es el último concepto. La idea consiste en sustituir un problema
complejo, difícil de resolver de golpe, por una secuencia de subproblemas más sencillos.
Por ejemplo, si nuestro problema es obtener una licencia de conducir, entonces deberíamos
dividirlo en dos subproblemas: aprobar un examen teórico y aprobar un examen práctico
(práctico). Notemos que para muchos problemas es necesaria su reducción a una secuencia de
subproblemas más simples, porque se deben definir diferentes espacios de estado para estos
subproblemas y en consecuencia se deben determinar diferentes funciones de calidad y diferentes operadores.
2.2 Enfoque basado en la lógica
Como mencionamos en un capítulo anterior, John McCarthy, quien introdujo un enfoque basado
en la lógica para la IA, afirmó que los sistemas inteligentes deben diseñarse sobre la base de
modelos formalizados de razonamiento lógico en lugar de simuladores de reglas heurísticas de
procesos mentales humanos . Esta idea fue revolucionaria en la informática a finales de la
década de 1950, por los siguientes hechos. En ese momento, la metodología estándar de
diseño e implementación de sistemas de información se basaba en el paradigma imperativo.
4
Consiste en definir un programa como una secuencia de
comandos5 que debe ejecutar una computadora. Por lo tanto, un programador de computadoras
4El paradigma Orientado a Objetos es, hoy en día, el segundo enfoque estándar.
5 En latín imperativus significa mandado.
Machine Translated by Google
18 2 Inteligencia Artificial Simbólica
tiene que determinar cómo se deben realizar los cálculos para resolver un problema.
Mientras tanto, según McCarthy, un programador que implementa un programa inteligente debe determinar
solo las propiedades requeridas de una solución. En otras palabras, debe especificar cuál es la solución del
problema y no cómo se va a obtener la solución. La solución debe ser encontrada por un solucionador de
problemas universal (un programa genérico para resolver problemas). Decimos que tal metodología de diseño
e implementación de sistemas de información se basa en el paradigma declarativo.
6
Por ejemplo, si queremos escribir un programa basado en paradigma declarativo que resuelva el problema
de determinar si dos personas son hermanos, podemos hacerlo de la siguiente manera:
hermanos(X,Y) :− padre(Z,X) y padre(Z,Y),
que se interpreta de la siguiente manera:
X e Y son hermanos si existe Z tal que Z es padre de X y Z es padre de Y.
Como podemos ver, en nuestro programa declaramos sólo las propiedades requeridas de una solución,
es decir, qué significa que dos personas son hermanos, y dejamos el razonamiento a una computadora.
Por supuesto, deberíamos definir una base de datos que contenga las características de las personas que
pueden ser objeto de dicho razonamiento.
Hay dos enfoques principales cuando usamos el paradigma declarativo en Inteligencia Artificial,7 a saber,
la programación lógica y la programación funcional. En la programación lógica, una especificación de las
propiedades requeridas de una solución se expresa como un conjunto de teoremas en un lenguaje lógico,
generalmente en el lenguaje de lógica de primer orden, FOL. Un solucionador de problemas universal utiliza
estos teoremas para realizar un razonamiento de acuerdo con las reglas de inferencia FOL. Entonces, si
queremos resolver un problema específico con la ayuda de un solucionador de este tipo, por ejemplo,
queremos verificar si John Smith y Mary Smith son hermanos, entonces formulamos una hipótesis de la forma
hermanos (John Smith, Mary Smith) y el sistema trata de verificar esta hipótesis haciendo uso de hechos
almacenados en su base de conocimiento, así como de teoremas (como el presentado anteriormente y que
dice lo que significa ser hermanos).
La programación funcional se basa en el cálculo lambda, que fue introducido por Alonzo Church y Stephen
C. Kleene. El cálculo lambda es un sistema formal de lógica matemática que se utiliza para especificar
funciones de cálculo definidas con la ayuda de expresiones altamente formalizadas. En la programación
funcional, una función tan compleja define una especificación de las propiedades requeridas de una solución.
En este caso, un solucionador de problemas universal debería ser capaz de interpretar estas expresiones para
realizar una evaluación (es decir, un cálculo simbólico) de las funciones correspondientes de acuerdo con los
principios del cálculo lambda.8
6Declaramos propiedades requeridas de una solución de un problema .
7Este paradigma también se utiliza hoy en día más allá de la IA. Por ejemplo, lenguajes de programación como SQL
y HTML también se basan en el paradigma declarativo.
8Una descripción más detallada del enfoque funcional se incluye en la Secc. 6.5.
Machine Translated by Google
2.3 Representación del conocimiento basada en reglas 19
2.3 Representación del conocimiento basada en reglas
Newell y Simon continuaron investigando modelos de procesos cognitivos después de presentar
su teoría de la simulación cognitiva. En 1972 propusieron un modelo de sistema de producción
[208]. Consta de dos componentes básicos: una memoria de producción y una memoria de trabajo.
Una memoria de producción corresponde a la memoria a largo plazo en psicología, y la
memoria de trabajo a la memoria a corto plazo. En la memoria a largo plazo, el conocimiento se
representa con la ayuda de producciones/reglas. Una regla tiene la siguiente forma: si cierta
condición se cumple, entonces realice cierta acción, donde una acción puede ser una conclusión
extraída de la condición o una determinada acción realizada en el entorno del sistema (por
supuesto, solo si la condición se cumple). se ha completado). Dado que las reglas se almacenan
en la memoria a largo plazo, suponemos que están disponibles constantemente.
Una memoria de trabajo contiene información que cambia en el tiempo. Se trata principalmente
de información relativa al entorno del sistema. En un modo del sistema, la información de
razonamiento se verifica continuamente con respecto a las partes condicionales de las reglas. Si
se cumple la condición de alguna regla,9 entonces se aplica esta regla. Si la aplicación de una
regla consiste en sacar una determinada conclusión, entonces esta conclusión se almacena en la
memoria de trabajo. Si la aplicación de una regla consiste en realizar una determinada acción en
el entorno del sistema, entonces el sistema inicializa esta acción, por ejemplo, apaga algún
dispositivo enviando un comando a un procesador que controla este dispositivo, enviando un
comando a un actuador de robot, que provoca un movimiento del brazo del robot, etc.
A pesar de que el modelo de sistema de producción fue introducido por Newell y Simon como
teoría general para simular procesos cognitivos genéricos, en Inteligencia Artificial se le conoce
principalmente en una versión más específica, concretamente como modelo de un sistema experto
basado en reglas. . Este modelo se presenta en el Cap. 9.
2.4 Representación del conocimiento estructural
Según la teoría de Gilbert Ryle10, nuestra taxonomía del conocimiento incluye el conocimiento
declarativo, que es un conocimiento estático sobre hechos (“saber que”) y el conocimiento
procedimental, que es un conocimiento sobre la realización de tareas (“saber cómo”). Por ejemplo,
un árbol genealógico es una representación del conocimiento declarativo, y un algoritmo
heurístico, que simula la resolución de problemas por parte de un ser humano, corresponde al
conocimiento procedimental.
Los modelos estructurales de representación del conocimiento se utilizan para definir el
conocimiento declarativo. Por lo general, tienen la forma de estructuras jerárquicas similares a gráficos.
9En tal situación, decimos que el sistema ha hecho coincidir cierto hecho (hechos) almacenado en la memoria de trabajo
con la regla.
10Gilbert Ryle—profesor de filosofía en la Universidad de Oxford, uno de los representantes más eminentes de la
filosofía analítica, editor de la prestigiosa revista Mind.
Machine Translated by Google
20 2 Inteligencia Artificial Simbólica
Aunque originalmente se usaron para el procesamiento del lenguaje natural, NLP, resultó que
también se podían usar en otras áreas de aplicación de IA. La teoría de la dependencia
conceptual, desarrollada por Schank [263] a finales de la década de 1960, fue uno de los
primeros modelos de este tipo. Schank afirmó, contrariamente a la teoría de la gramática
generativa de Chomsky,11 que la sintaxis de un lenguaje era más bien un conjunto de indicadores
de información semántica que podía usarse como punto de partida para un análisis semántico
directo. La teoría de la dependencia conceptual se formuló simplemente para entregar
formalismos (estructurales) convenientes para realizar un análisis semántico automáticamente.
Dado que las oraciones de un lenguaje (natural) no podían usarse para realizar un análisis
semántico (automático) de manera directa, Schank introdujo una representación canónica
normalizada12 de las dependencias semánticas entre las construcciones del lenguaje (frases, oraciones).
Tal representación canónica se define con la ayuda de gráficos de dependencia conceptual.
Los nodos etiquetados de dichos gráficos corresponden a primitivas conceptuales, que pueden
usarse para definir representaciones semánticas. Por ejemplo, un acto primitivo PTRANS
significa una transferencia de la ubicación física de un objeto y SPEAK significa una acción que
genera un sonido por parte de un objeto vivo. Los bordes etiquetados de dichos gráficos
representan varias relaciones (dependencias) entre primitivas conceptuales. Los gráficos de
dependencia conceptual se definen de forma inequívoca según principios precisos. Estos
gráficos se pueden analizar de forma automática, lo que permite que el sistema realice un
análisis semántico de las construcciones correspondientes de un lenguaje natural. En resumen,
Schank ha verificado una hipótesis que dice que podemos intentar realizar un análisis semántico
automáticamente si definimos las representaciones del lenguaje basadas en conceptos de
manera explícita y precisa.
Las redes semánticas, introducidas por Collins y Quillian [56], es uno de los primeros modelos
de gráficos definidos sobre la base de los supuestos presentados anteriormente. Sus nodos
representan objetos o conceptos (clases de abstracción, categorías) y sus aristas representan
relaciones entre ellos. Se distinguen dos relaciones específicas: es subclase de (p. ej., Triángulo
es subclase de Polígono) y es, para indicar que algún objeto pertenece a una determinada clase
(p. ej., John Smith es un ser humano).
Los marcos (sistemas basados en marcos), introducidos por Minsky [203], pueden tratarse
como una extensión sustancial de las redes semánticas. Un nodo de dicha red se llama marco y
tiene una estructura interna compleja. Permite caracterizar objetos y clases de forma detallada.
La teoría del marco tiene la siguiente observación psicológica como suposición básica. Si alguien
se encuentra con una nueva situación desconocida, intenta sacar de su memoria una estructura
llamada marco. Esta estructura, que representa una situación estereotipada similar a la situación
actual, puede luego ser utilizada para generar un comportamiento adecuado. En los sistemas de
IA, una estructura de cuadros similar a un gráfico se define de acuerdo con principios precisos
que permiten que el sistema los procese y analice de forma automática.
11La teoría de Chomsky se presenta en la siguiente sección.
12Es necesaria una normalización de una representación semántica si se va a realizar automáticamente,
porque todas las oraciones que tienen el mismo significado, por ejemplo, Juan le ha prestado un libro a
María, María le ha prestado un libro a Juan. debe tener la misma representación.
Machine Translated by Google
2.4 Representación del conocimiento estructural 21
Los guiones han sido propuestos por Schank y Abelson [264] como un método para
Procesamiento del Lenguaje Natural (PNL). Los scripts se pueden definir con la ayuda de los gráficos
de dependencia conceptual presentados anteriormente. El modelo también se basa en cierta
observación en psicología. Si se quiere comprender un mensaje relativo a un determinado
evento, entonces uno puede referirse a un patrón generalizado relacionado con el tipo de este evento.
El patrón se construye sobre la base de eventos similares que uno ha encontrado previamente.
Luego se almacena en la memoria humana. Uno puede notar fácilmente que el concepto de
scripts es similar conceptualmente al modelo de marco.
En el pasado, los modelos estructurales de representación del conocimiento fueron a veces
criticados por no ser lo suficientemente formales. Esta situación cambió en la década de 1980, cuando un
familia dedicada de sistemas formales basados en lógica matemática llamada descripción
Se definieron lógicas para este propósito. Los fundamentos de las lógicas de descripción se presentan
en el Apéndice D, mientras que una presentación detallada de redes semánticas, marcos,
y guiones se incluye en el Cap. 7.
2.5 Enfoque de Lingüística Matemática
Como hemos visto en apartados anteriores, la construcción de una descripción del
mundo que se puede utilizar para el razonamiento del sistema inteligente es uno de los fundamentos
temas de Inteligencia Artificial. Podemos tratar de resolver este problema de una manera similar a
en simulación cognitiva, es decir simular un ser humano, que genera tal
descripción con la ayuda del lenguaje natural. Sin embargo, el siguiente problema crucial
surge en tal caso. Cualquier lenguaje natural es un conjunto infinito de oraciones, que
se construyen de acuerdo con los principios de la gramática correspondiente. De este modo,
verificar automáticamente si la sintaxis de una oración es correcta no es trivial
problema.
Una solución a este problema ha sido propuesta por Noam Chomsky, quien ha definido
gramáticas generativas con el propósito de análisis sintáctico de lenguajes naturales. Las gramáticas
generativas no son más que generadoras de infinitos lenguajes. Por otro lado, en
La Inteligencia Artificial a veces nos interesa más construir sistemas que
se puede utilizar para el análisis de oraciones que en su generación. Afortunadamente, formales
Se pueden usar autómatas para este propósito. Se definen sobre la base de las gramáticas
generativas de la lingüística matemática. La tarea de un autómata formal puede ser
descrito (en el caso minimalista) como determinante de si una expresión es una oración
de un idioma dado. En otras palabras: ¿Se define la expresión de acuerdo con los principios de la
gramática correspondiente a la lengua dada? De hecho, un par generativo
gramática: el autómata formal puede tratarse como un (simple) sistema de símbolos físicos.
Tal formulación minimalista de la tarea de un autómata (sólo como analizador de sintaxis) puede
generalizarse en dos aspectos. En primer lugar, podemos usar un autómata formal para la
interpretación (semántica) de las oraciones del lenguaje. Aunque el gran inicial
no se han cumplido las expectativas de interpretación del lenguaje natural , en el caso
de lenguajes formalizados el modelo de Chomsky ha resultado muy útil para
una tarea de interpretación. A los efectos de la interpretación de lenguajes formalizados
Machine Translated by Google
22 2 Inteligencia Artificial Simbólica
el poder descriptivo de las gramáticas generativas se ha incrementado considerablemente en
Inteligencia Artificial. Sus modificaciones estándar (extensiones) han consistido en añadir atributos
a los componentes del lenguaje (gramáticas atribuidas) y definir gramáticas generativas
“multidimensionales”. Las gramáticas estándar de Chomsky generan estructuras secuenciales
(cadenas), ya que fueron definidas originalmente en el área de la lingüística. Como hemos
discutido en la sección anterior, las estructuras similares a gráficos se usan ampliamente en IA
para representar el conocimiento. Por lo tanto, en las décadas de 1960 y 1970, las gramáticas
que generan estructuras de grafos, llamadas gramáticas de grafos, se definieron como una
extensión de las gramáticas de Chomsky.
La segunda dirección de la investigación sobre las generalizaciones del modelo de lenguaje
formal se refiere a la tarea de traducción del lenguaje formal. Una traducción significa aquí una
traducción generalizadora, es decir, realizar una especie de abstracción de expresiones de un
lenguaje de nivel inferior a expresiones de un lenguaje de nivel superior. Los autómatas formales
utilizados para este propósito deberían poder leer expresiones que pertenecen al nivel básico de
una descripción y producir como resultado expresiones que son interpretaciones generalizadas
de las expresiones del nivel básico. Estos autómatas a menudo se denominan transductores.
El problema de la síntesis automática de autómatas formales es muy importante en la
Inteligencia Artificial. Para solucionar este problema se han definido algoritmos de síntesis de
autómatas , que generan las reglas de un autómata a partir de una gramática generativa. Los
éxitos en esta área de investigación se han logrado gracias al desarrollo de la teoría de la
traducción del lenguaje de programación. Al mismo tiempo, ha aparecido un problema aún más
fundamental, a saber, el problema de la inducción automática (inferencia) de una gramática sobre
la base de una muestra de oraciones del lenguaje. Este problema sigue siendo un problema
abierto en el área de la Inteligencia Artificial. Todos los temas mencionados en esta sección se
discuten en detalle en el Cap. 8.
Machine Translated by Google
Capítulo 3
Inteligencia Computacional
La Inteligencia Computacional, CI, es el segundo grupo de métodos en Inteligencia Artificial. Es un
enfoque complementario con respecto a la IA simbólica. Aunque es difícil formular una definición precisa
de este paradigma [76], podemos intentar enumerar las características comunes de los métodos de CI
de la siguiente manera:
• la información numérica es básica en una representación del conocimiento,
• el procesamiento del conocimiento se basa principalmente en el cálculo numérico,
• generalmente el conocimiento no se representa de manera explícita .
Por supuesto, existen modelos de Inteligencia Computacional que no cumplen del todo con tales
características, especialmente en lo que se refiere al tercer ítem. El modelo de redes Bayes, que se
presenta en el Cap. 12, es un buen ejemplo de tal excepción. Por tanto, para evitar malentendidos
sobre qué métodos se pueden incluir en Inteligencia Computacional en este monográfico, los
enumeramos de forma explícita . Por lo tanto, asumimos que los siguientes métodos pueden tratarse
como si estuvieran definidos sobre la base del paradigma CI: redes neuronales (artificiales),
reconocimiento de patrones, análisis de conglomerados, inferencia bayesiana, modelos basados en
conjuntos difusos, modelos basados en conjuntos aproximados, modelos evolutivos. computación
(algoritmos genéticos, estrategias de evolución, programación evolutiva y programación genética),
inteligencia de enjambre y sistemas inmunológicos artificiales.
Ahora presentamos estos métodos de manera general, dividiéndolos en tres grupos, a saber:
modelos conexionistas, modelos basados en matemáticas y modelos basados en biología.
3.1 Modelos conexionistas
En el siglo XIX apareció el enfoque asociacionista en psicología. Sus representantes afirmaron que la
asociación de estados mentales es un mecanismo básico de los procesos mentales. En este enfoque,
la naturaleza de los fenómenos mentales complejos es
© Springer International Publishing Suiza 2016 M. Flasi 23
´nski, Introducción a la Inteligencia Artificial, DOI
10.1007/9783319400228_3
Machine Translated by Google
24 3 Inteligencia Computacional
explicado por la interacción de otros más simples. Esta idea general de asociacionismo fue
desarrollada por Edward L. Thorndike1 como el enfoque conexionista [301].
Según este enfoque, el aprendizaje es el resultado de asociaciones entre estímulos y respuestas
a estímulos. Las asociaciones se fortalecen si se entrena a un organismo con ejercicios de
estímulorespuesta , y se debilitan si se interrumpe dicho entrenamiento. Las respuestas que
son recompensadas se fortalecen y después de un tiempo se convierten en respuestas
habituales.
Estas ideas de conexionismo han sido asimiladas en Inteligencia Artificial con el propósito
de describir procesos mentales, lo que ha dado lugar a modelos conexionistas en IA. En estos
modelos, las asociaciones se representan con la ayuda de redes conexionistas. Hay dos tipos
principales de estas redes [21].
En las redes conexionistas localistas cada componente del conocimiento (concepto, objeto,
atributo, etc.) se almacena en un solo elemento de una red. Por lo tanto, podemos incluir, por
ejemplo, redes semánticas [21] en este modelo, aunque las hemos atribuido a la IA simbólica
en un capítulo anterior. Aunque no son tratadas en IA como las típicas redes conexionistas,
de hecho cumplen las condiciones de su definición. Por ejemplo, en el modelo ACTR [6],
mencionado en el Cap. 1, cada nodo de una red semántica tiene un parámetro de actividad (un
peso), que se utiliza para estimular los mecanismos de fortalecimiento/debilitamiento descritos
anteriormente.2 Las redes bayesianas son otro ejemplo de redes conexionistas localistas.3
Las redes conexionistas distribuidas son el segundo tipo de este tipo de redes. En este caso
el conocimiento se almacena de forma distribuida, es decir, se distribuye entre muchos
elementos de una red. Las redes neuronales artificiales son el mejor ejemplo de este tipo de
redes. De acuerdo con la costumbre, solo las redes neuronales están asociadas con el enfoque
conexionista en Inteligencia Artificial. Más adelante, nuestras consideraciones sobre los modelos
conexionistas se limitarán únicamente a las redes conexionistas distribuidas.
En un enfoque conexionista distribuido, los estados mentales se modelan como procesos
emergentes, que tienen lugar en redes que consisten en unidades de procesamiento elementales.
Como hemos mencionado en el Cap. 1, un proceso es emergente si no puede ser descrito
sobre la base de sus subprocesos elementales. Esto resulta del hecho de que la naturaleza y
la funcionalidad de un proceso emergente es algo más que la simple suma de funcionalidades
de sus subprocesos.4
1Edward Lee Thorndike—profesor de psicología en la Universidad de Columbia. Su trabajo se refiere a la
zoopsicología y la psicología educativa. Fue presidente de la Asociación Americana de Psicología.
2De hecho, ACTR es un sistema híbrido de IA, que se basa tanto en el enfoque simbólico como en el enfoque
subsimbólico (CI).
3Las redes de Bayes se presentan en el Cap. 12
4Cualquier proceso mental humano es un buen ejemplo aquí. Aunque una sola neurona biológica no piensa,
piensa un cerebro tratado como una red formada por neuronas.
Machine Translated by Google
3.1 Modelos conexionistas 25
Los fundamentos del conexionismo distribuido fueron establecidos por David E.
Rumelhart y James L. McClelland5 en [253,254]. Aparte de las características de este enfoque
mencionadas anteriormente, asumimos que los estados mentales en una red se modelan de tal
manera que las unidades de la red los procesan de forma paralela. Las unidades realizan
operaciones numéricas. Como consecuencia de tales operaciones puede activarse cualquier
unidad de procesamiento. Luego, el resultado de dicha activación se propaga a todas las unidades
que están conectadas a esta unidad. La red adquiere y almacena conocimiento de forma implícita
modificando los parámetros (pesos) de las conexiones entre las unidades de procesamiento. El
proceso de modificación de estos parámetros se trata como aprendizaje de red.
Un modelo de redes neuronales artificiales como representante de la convención (distribuida)
El enfoque neccionista se presenta en detalle en el Cap. 11
3.2 Modelos basados en matemáticas
Como hemos mencionado en el Cap. 1, los modelos definidos a partir de diversas teorías
matemáticas juegan un papel fundamental en la Inteligencia Artificial.
Los primeros métodos utilizados para resolver uno de los problemas clave de la IA, a saber,
el reconocimiento automático de objetos, aparecieron al comienzo de la informática. Este es el
campo del reconocimiento de patrones. Los objetos (fenómenos, procesos, etc.) están
representados por conjuntos de características (atributos). El reconocimiento de un objeto/
fenómeno desconocido lo realiza un clasificador, que atribuye el objeto a una de varias categorías
predefinidas.6 Para construir un clasificador, debe estar disponible un conjunto de objetos de
ejemplo con sus clasificaciones correctas.7 Tal El conjunto, llamado conjunto de aprendizaje
(entrenamiento), es una especie de base de conocimiento de un clasificador. La idea principal de
un proceso de clasificación se puede definir como la tarea de encontrar el objeto X en el conjunto
de aprendizaje que es más "similar" al objeto desconocido. Si el clasificador encuentra tal objeto
X, atribuye el objeto desconocido a la clase a la que pertenece el objeto X. De hecho, esta idea
general (aquí simplificada) de la clasificación se implementa con la ayuda de modelos
matemáticos avanzados como el modelo de probabilidad bayesiano, funciones discriminatorias,
modelos de distancia mínima, etc. Estos modelos se presentan en detalle en el Cap. 10
El tema complementario del análisis de conglomerados, que consiste en agrupar un conjunto de
objetos/fenómenos en clases (categorías), se analiza en el Cap. 10 también.
El segundo grupo importante de métodos basados en las matemáticas se relaciona con el
tema crucial de la posibilidad de especificar formalmente:
5James Lloyd “Jay” McClelland—profesor de psicología en la Universidad Carnegie Mellon y la Universidad de Stanford. Su
trabajo trata sobre psicolingüística y aplicaciones de modelos conexionistas en reconocimiento de patrones, comprensión
del habla, aprendizaje automático, etc.
6Las categorías, también llamadas clases, deben definirse antes, es decir, cuando formulamos el problema.
Por ejemplo, si se construye un clasificador para apoyar el diagnóstico médico, entonces las entidades de enfermedad son
las categorías.
7Tal conjunto corresponde a la experiencia humana en la resolución de un problema de clasificación dado. Por ejemplo, en
diagnóstico médico corresponde a la experiencia diagnóstica de un médico.
Machine Translated by Google
26 3 Inteligencia Computacional
• nociones vagas que se utilizan para una descripción del mundo, y • un
proceso de inferencia, cuando sólo se dispone de conocimiento imperfecto.
El conocimiento imperfecto puede resultar de varias causas. Por ejemplo, la información de
entrada puede ser incierta (incertidumbre de conocimiento), las mediciones de las señales recibidas
por un sistema de IA pueden ser imprecisas (imprecisión de conocimiento) o el sistema puede no
conocer todos los hechos requeridos (conocimiento incompleto).
El modelo de redes de Bayes se utiliza para la inferencia que se basa en proposiciones a las que
se suma la probabilidad de que ocurra un evento. La medida de probabilidad expresa nuestra
incertidumbre relacionada con el conocimiento más que el grado de veracidad de una proposición
específica. Por lo general, hay muchos factores posibles que influyen en el resultado de dicho
razonamiento probabilístico. Una evaluación de las probabilidades de estos factores, así como de
sus combinaciones, a menudo es imposible en las aplicaciones del mundo real. Por lo tanto, en este
modelo construimos un gráfico que representa conexiones entre solo aquellos factores que son
esenciales para el razonamiento.
Si nuestro conocimiento es incompleto, podemos usar la teoría de DempsterShafer para razonar.
En esta teoría usamos medidas específicas para expresar el grado de nuestra ignorancia. Si
adquirimos nuevos conocimientos, estas medidas se modifican para expresar el hecho de que nuestra
ignorancia se reduce.
El conocimiento es adquirido continuamente por sistemas inteligentes. En una lógica clásica
suponemos que después de agregar nuevas proposiciones a un modelo, el conjunto de sus
consecuencias no disminuye. Sin embargo, esta suposición no es cierta en el caso de los sistemas
de IA que razonan sobre el entorno del mundo real. En pocas palabras, los hechos nuevos pueden
hacer que las viejas suposiciones ya no sean ciertas. Para resolver este problema utilizamos lógicas
no monótonas como la lógica por defecto, la lógica autoepistémica o la circunscripción, o modelos
específicos como el modelo de Suposición de Mundo Cerrado.
Las redes de Bayes, la teoría de DempsterShafer y las lógicas no monótonas son pre
enviado en el Cap. 12
El problema de definir especificaciones formales de conceptos que se usan para una descripción
del mundo parece ser aún más difícil. Por un lado, tenemos nociones vagas, que se utilizan en la
vida cotidiana. Por otro lado, los modelos basados en matemáticas requieren nociones que deben
ser precisas e inequívocas.
La vaguedad de las nociones se puede considerar de dos maneras. En primer lugar, una noción
puede ser ambigua, lo que suele resultar de su naturaleza subjetiva. Las nociones relacionadas con
la altura de un ser humano (por ejemplo, alto, bajo) son buenos ejemplos de tales nociones. En este
caso deberíamos tener en cuenta el carácter subjetivo de una noción introduciendo una medida, que
califica “ser alto (bajo)”. Esta es la idea principal de la teoría de conjuntos borrosos.
La vaguedad de una noción puede relacionarse con el grado de precisión (detalle, exactitud) que
se requiere durante un proceso de razonamiento. Este grado debe ser adecuado con respecto al
problema a resolver, es decir, debe determinarse de tal manera que nuestro sistema de IA distinga
entre objetos que se consideran pertenecientes a diferentes categorías y no debe distinguir entre
objetos que se tratan como pertenecientes a la misma categoría. Esta es la idea principal de la teoría
de conjuntos aproximados.
Las dos teorías que se utilizan para resolver el problema de la vaguedad de las nociones se
presentan en el Cap. 13
Machine Translated by Google
3.3 Modelos basados en biología 27
3.3 Modelos basados en biología
Como hemos mencionado en la Secc. 2.1 La simulación cognitiva consiste en descubrir una
solución óptima a un problema mediante la búsqueda de un espacio de estados que contiene
soluciones potenciales. En los modelos basados en la biología, dicha búsqueda se realiza
simulando aspectos evolutivos de la naturaleza.
La computación evolutiva es un grupo básico de modelos basados en la biología. Generar
muchas soluciones potenciales, llamadas población, es la idea principal de estos métodos.
Estas soluciones potenciales en un espacio de estados se tratan como individuos, por analogía
con la evolución biológica. Las operaciones que son análogas a las operaciones genéticas, como
el cruce y la mutación , se aplican a soluciones individuales. Los individuos mejor adaptados se
seleccionan para la “descendencia reproductiva”. La aptitud de los individuos se evalúa con la
ayuda de una función de aptitud, que desempeña un papel análogo a una función heurística en
la simulación cognitiva. La naturaleza probabilística de la computación evolutiva es su
característica esencial. Las poblaciones sucesivas, llamadas generaciones, se generan siempre
que algunos individuos representen una solución aceptada.8 Como hemos mencionado en el
Cap. 1, hay cuatro grupos básicos de métodos dentro de este enfoque: algoritmos genéticos,
estrategias de evolución, programación evolutiva y programación genética.
En general, estos métodos difieren en la forma en que se representan los individuos (por ejemplo,
la codificación binaria en los algoritmos genéticos, los vectores de números reales en las
estrategias de evolución y las estructuras de árbol en la programación genética), la importancia
de varias operaciones genéticas (por ejemplo, el papel fundamental del cruce en los algoritmos
genéticos y la programación genética, el papel fundamental de la mutación en las estrategias de
evolución y la ocurrencia de la única mutación en la programación evolutiva) y la forma de
generar una nueva población. La computación evolutiva se presenta en detalle en el Cap. 5.
Dentro del enfoque inspirado en la biología también distinguimos métodos que se construyen
sobre la base de modelos distintos a la teoría evolutiva. Incluyen principalmente inteligencia de
enjambre y Sistemas Inmunes Artificiales, AIS. Estos métodos se presentan en la Secc. 5.5.
8Puede haber otras condiciones para la terminación del algoritmo, por ejemplo, un número fijo de generaciones,
tiempo de cálculo, etc.
Machine Translated by Google
Parte II
Métodos de inteligencia artificial
Machine Translated by Google
Capítulo 4
Métodos de búsqueda
Comenzamos nuestra presentación de modelos de IA con métodos de búsqueda no solo por razones
cronológicas, sino también por su versatilidad metodológica. Como hemos mencionado en el primer
capítulo y en la Secc. 2.1, estos métodos se basan en un enfoque llamado simulación cognitiva, que
fue introducido por Newell y Simon. La idea principal de este enfoque consiste en construir algoritmos
heurísticos que simulen reglas elementales de procesos mentales/cognitivos humanos. En las
siguientes secciones discutimos ideas básicas de búsqueda en un espacio de estado, búsqueda
ciega, búsqueda heurística, búsqueda adversaria, búsqueda en un problema de satisfacción de
restricciones y métodos especiales de búsqueda heurística.
4.1 Espacio de estado y árbol de búsqueda
Insecto. 2.1 se han introducido las ideas básicas de la búsqueda en el espacio de estados. En esta
sección discutimos dos de ellos: espacio de estado y resolución de problemas por búsqueda
heurística. Vamos a presentarlos usando el siguiente ejemplo.
Imaginemos que estamos en el laberinto que se muestra en la Fig. 4.1a y queremos encontrar
una salida. (Por supuesto, no tenemos un plano del laberinto.) Si queremos resolver este problema
con la ayuda de métodos de búsqueda, primero debemos definir un modelo abstracto del problema.
La palabra abstracto aquí significa tener en cuenta solo aquellos aspectos del problema que son
esenciales para encontrar una solución.1 Notemos que en el caso de un laberinto, los dos elementos
siguientes, que se muestran en la Fig. 4.1b, son esenciales: puntos característicos (cruce de caminos,
finales de caminos) y caminos. Después de construir tal modelo, podemos abstraernos del mundo
real y definir nuestro método sobre la base de
1Decidir qué aspectos son esenciales y cuáles deben ser descuidados es muy difícil en general.
Esta fase de la construcción de un método de solución es crucial e influye tanto en su eficacia como en su
eficiencia. Por otro lado, se da un modelo abstracto para algunos problemas, por ejemplo, en el caso de los
juegos.
© Springer International Publishing Suiza 2016 M. Flasi 31
´nski, Introducción a la Inteligencia Artificial, DOI
10.1007/9783319400228_4
Machine Translated by Google
32 4 métodos de búsqueda
el modelo solo (cf. Fig. 4.1c).2 Suponemos que la situación inicial se indica con un pequeño triángulo negro y
la situación final con un borde doble (cf. Fig. 4.1c).
Después de construir un modelo abstracto de un problema, podemos definir un espacio de estado.
Como hemos discutido en la Secc. 2.1, toma la forma de un gráfico. Los nodos del gráfico representan posibles
fases (pasos) de resolución de problemas y se denominan estados. Los bordes del gráfico representan
transiciones de una fase de resolución de problemas a otra. Algunos nodos tienen un significado especial, a
saber: el nodo inicial representa una situación en la que comenzamos a resolver un problema, es decir,
representa el estado inicial de un problema, y los nodos finales representan situaciones correspondientes a la
solución de un problema, es decir, son la meta 3. Así, resolver un problema consiste en encontrar un camino
en un grafo que comienza con estados. en el nodo inicial y termina en algún nodo final. Este camino
representa la forma en que debemos pasar de una situación a otra en el espacio de estados para resolver el
problema.
Un espacio de estado generalmente contiene una gran cantidad de estados. Por lo tanto, en lugar de
construirlo de manera explícita, generamos y analizamos4 paso a paso solo aquellos estados que deben
tenerse en cuenta en el proceso de resolución de problemas. De esta forma, generamos un árbol de búsqueda
que representa solo la parte interesante del espacio de estado. Para nuestro laberinto, se muestra un
fragmento de tal árbol en la figura 4.2a.
Notemos que los nodos de un árbol de búsqueda representan las posibles fases de resolución de
problemas (estados de problemas) definidos por un modelo abstracto de un problema. Así, cada nodo de un
árbol de búsqueda, siendo también un nodo de un espacio de estados, corresponde a una situación durante
el movimiento a través de un laberinto. Esto se indica5 en la figura 4.2a con un punto característico en negrita
que corresponde al lugar en el que nos encontramos actualmente y un camino en negrita que corresponde a
nuestra ruta desde nuestra posición inicial hasta nuestra posición actual. Así, el primer nodo6 (superior) del
árbol de búsqueda corresponde a la situación inicial, cuando nos encontramos en un punto A del laberinto.
Podemos ir por dos caminos desde este punto: por la derecha7 hasta un punto B (hacia el nodo izquierdo del
árbol) o por la izquierda hasta un punto C (hacia el nodo derecho del árbol), etc.
Hasta ahora hemos considerado el modelo abstracto del problema basado en el plan laberíntico (desde la
“perspectiva de la Providencia”). Notemos que en primer lugar, no tenemos tal plan en una situación real. En
segundo lugar, nos gusta simplificar la visualización de un espacio de estado y, en consecuencia, la
visualización de un árbol de búsqueda. De hecho, deambulando por el laberinto sólo conocemos el camino
que hemos recorrido. (Suponemos que hacemos las señales A, B, C, etc. en puntos característicos y
marcamos el camino con tiza).
Entonces, un fragmento de un árbol de búsqueda correspondiente al que se muestra en la Fig. 4.2a puede ser
2Por supuesto, al explicar la idea de un modelo abstracto de problema, asumiremos una “perspectiva de la
Providencia” para dibujar un plano del laberinto. De hecho, no conocemos este plan, solo conocemos los tipos de
elementos que se pueden usar para construir este plan.
3Los nodos restantes corresponden a estados intermedios de resolución de problemas.
4Según el Análisis de MediosFines, MEA, discutido en la Secc. 2.1.
5De nuevo, desde la “perspectiva de la Providencia”, no desde nuestra perspectiva.
6Recordemos que tal nudo se llama la raíz del árbol.
7Recordemos que detrás de nosotros hay un “triángulo negro”, cf. Figura 4.1a.
Machine Translated by Google
4.1 Espacio de estado y árbol de búsqueda 33
(a) (b)
B C
D mi
H F GRAMO
(C)
A
B C
D mi
H F GRAMO
Fig. 4.1 Modelo abstracto de un problema: representación de un laberinto
representado como en la Fig. 4.2b. Ahora, en cada nodo del árbol se escribe el camino que hemos
recorrido hasta el momento presente, es decir, la secuencia de puntos característicos que hemos
visitado, y se subraya el lugar en el que nos encontramos actualmente.
Machine Translated by Google
34 4 métodos de búsqueda
(a)
A
B C
D mi
H F GRAMO
A A
B C B C
D mi D mi
H F GRAMO
H F GRAMO
I I
A A …….
B C B C
D mi D mi
H F GRAMO
H F GRAMO
I I
……. …….
(b) (C)
A A
ruta AB B C
AB C.A.
……. …….
ABD A B C ruta ABD D C
Fig. 4.2 Construcción de un árbol de búsqueda para el problema del laberinto
De hecho, podemos simplificar aún más las etiquetas de los nodos del árbol de búsqueda.
Notemos que una etiqueta ABD significa que hemos llegado al nodo D visitando
(sucesivamente) los nodos A y B. Por otro lado, dicha información se puede obtener yendo
desde la raíz del árbol hasta nuestra posición actual. Por lo tanto, podemos usar el árbol que
se muestra en la figura 4.2c en lugar del que se muestra en la figura 4.2b. Usaremos tal
representación en nuestras consideraciones posteriores.
Machine Translated by Google
4.1 Espacio de estado y árbol de búsqueda 35
En la parte restante de este capítulo, discutimos métodos básicos para generar un árbol de búsqueda.
La especificidad de estos métodos consiste en el orden en que se generan y analizan los nodos de dicho
árbol (que representan estados de un espacio de estado correspondiente). Este orden determina la llamada
estrategia de búsqueda, y es un criterio de la taxonomía de técnicas de búsqueda en el espacio de estados.
En general, podemos dividir estas técnicas en dos grupos básicos: métodos de búsqueda ciega y
métodos de búsqueda heurística . En el primer grupo utilizamos principalmente información sobre la estructura
del espacio de estados, es decir, información sobre posibles transiciones entre estados. Se utiliza en un
grado mínimo el conocimiento sobre las especificidades del problema a resolver. En el segundo grupo, dicho
conocimiento se usa para definir una función heurística que evalúa la calidad de un estado. La función
heurística dice qué tan lejos está un estado dado de un estado objetivo. Estos dos grupos de métodos de
búsqueda se analizan en las dos secciones siguientes.
4.2 Búsqueda ciega
En la primera sección hemos mostrado cómo se genera un árbol de búsqueda para un espacio de estado (cf.
Figura 4.2c). Por supuesto, en los problemas del mundo real, dicho árbol es muy grande. Por lo tanto,
generamos solo una parte, es decir, la generamos hasta que alcanzamos un estado objetivo que representa
una solución. Sin embargo, en el caso de nuestro problema del laberinto, podemos definir un árbol de
búsqueda que represente todos los recorridos posibles desde el estado inicial hasta el estado objetivo, como
se muestra en la Fig. 4.3a.8 En la Fig. 4.3a marcamos adicionalmente el nodo raíz (comenzamos a construir
nuestro árbol en este nodo), (algunos) nodos hoja (nodos que no tienen sucesores) y niveles de árbol
determinados recursivamente a partir del predecesor de cada nodo. El número de nodos secundarios de un
nodo dado v se denomina rango de v. Por ejemplo, el rango del nodo raíz A es igual a 2, porque este nodo
tiene dos nodos secundarios (etiquetados como B y C). El rango de cualquier nodo hoja es igual a 0.
Uno puede notar fácilmente en la Fig. 4.3a que hay cuatro rutas posibles hacia la salida (el estado que
marqué con un borde doble),9 a saber, ABCEDFI, ABDFI, A CBDFI y ACEDFI. (El lector puede compararlo
con el laberinto que se muestra en la figura 4.1b). Los nodos de hoja restantes no representan una solución
y se pueden dividir en dos grupos. El primer grupo representa callejones sin salida: G y H (cf. Fig. 4.1b) al
final de los caminos ABCEG, ABCEDFH, ABDEG, ABDFH, ACBDF H, ACBDEG y ACEG. El segundo grupo
representa intersecciones de caminos que ya hemos visitado. (Hemos encontrado una marca hecha por
nosotros con tiza.)
En estos casos deberíamos volver a un punto anterior.10 Este es el caso de los caminos ABDEC (desde el
punto C solo podemos ir a A o B: ambos puntos ya han sido visitados, por lo que deberíamos volver a E) y
ACEDB (desde el punto B podemos ir solo a A o C: ambos puntos ya han sido visitados, por lo que debemos
volver a D).
8De nuevo, desde la “perspectiva de la Providencia”.
9Claro, suponiendo que no pasemos por caminos que ya hemos recorrido.
10Según la regla antigua de caminar en un laberinto. De lo contrario, podemos dar vueltas en círculos.
Machine Translated by Google
36 4 métodos de búsqueda
(a)
nivel 0 A nodo raíz
nivel 1 B C
nivel 2 C D B mi
… mi mi F D D GRAMO
GRAMO D C GRAMO H I F mi B F
H I H I
nivel 5 F
GRAMO
nodos de hoja
nivel 6 H I
(b) A
B C
C D B mi
mi mi F D D GRAMO
GRAMO D C GRAMO H I
Fig. 4.3 Árboles de búsqueda: a un árbol de búsqueda completo para el problema del laberinto, b un árbol de búsqueda para
Búsqueda primero en amplitud
Si tuviéramos un mapa en forma de tal árbol, escaparíamos fácilmente del laberinto.
Además, podríamos elegir el camino más corto para encontrar la salida lo antes posible.
Sin embargo, no tenemos tal mapa. Por lo tanto, tenemos que generar el árbol uno
nodo tras otro, es decir, vagar por el laberinto con la esperanza de encontrar la salida.
Por supuesto, debemos hacer esto de manera sistemática. Los métodos de búsqueda ciega nos permiten
para generar nodos de árboles de forma sistemática. Ahora, presentamos los más importantes.
métodos.
BreadthFirst Search, BFS, consiste en expandir rutas de árbol generando nodos
un nivel tras otro, como se muestra en la figura 4.3b. El orden en que están los nodos
generado se representa con una línea discontinua. Notemos que un árbol de búsqueda completo
no se genera todo a la vez, sino que la generación se detiene en el momento de llegar a la meta
Machine Translated by Google
4.2 Búsqueda ciega 37
Fig. 4.4 Árbol de búsqueda para la
búsqueda en profundidad primero A
mi
GRAMO D
H I
estado, que representa la solución. En nuestro ejemplo, la ruta ABDFI representa la solución.
La búsqueda primero en anchura da buenos resultados si los rangos de los nodos no son
demasiado grandes, es decir, un árbol no es "ancho" ni "superficial". De lo contrario, si generamos
nodos a través del árbol en tal caso, perderemos mucho tiempo. Si la naturaleza del problema es
tal que hay muchas transiciones directas de cualquier estado a otros estados,11 entonces un árbol
de búsqueda es simplemente "amplio" y "superficial". En tal caso, deberíamos usar otro método, a
saber, la búsqueda primero en profundidad, DFS, que genera solo un nodo del nivel n para un nodo
del (n 1) nivel. Luego, generamos solo un nodo del (n + 1) nivel para un nodo del nivel n, etc. Para
nuestro árbol de búsqueda, se muestra una aplicación del método DFS en la Fig. 4.4. Notemos que
realmente exploramos profundamente en el árbol. Si llegamos a un nodo hoja que no es una
solución (como el nodo G de callejón sin salida en la figura 4.4), entonces tenemos que regresar al
ancestro más cercano y continuar nuestra exploración desde allí.
En nuestro ejemplo, hemos encontrado una solución que realiza solo diez pasos (incluidos los
pasos realizados desde los nodos de callejón sin salida) con el método DFS, mientras que tuvimos
que realizar muchos más pasos con el método BFS (cf. Figs. 4.3b) . y 4.4). ¿Significa esto que DFS
tiene una ventaja sobre BFS en general? Por supuesto que no. Si la naturaleza del problema es tal
que un árbol de búsqueda está desequilibrado, es decir, algunos nodos hoja tienen un nivel muy
pequeño y algunos tienen un nivel muy grande,12 entonces DFS puede no ser eficiente en absoluto. (En
11En el caso de un laberinto, esto significaría que hay muchos caminos alternativos en cada intersección.
12En el caso de un laberinto significaría que algunos caminos son muy largos durante un proceso de búsqueda
y algunos de ellos son muy cortos.
Machine Translated by Google
38 4 métodos de búsqueda
el caso de un laberinto esto puede ser peligroso. Si tratamos de recorrer un camino muy largo,
entonces podemos morir por falta de agua, comida, etc.) Para mejorar el método se han definido las
siguientes dos modificaciones.
En la búsqueda limitada en profundidad, generamos nodos de acuerdo con el esquema DFS, sin
embargo, solo hasta que se alcance un nivel fijo c.13 Si alcanzamos un nodo de nivel c , lo tratamos
como un nodo hoja y retrocedemos. Tal limitación de la profundidad de búsqueda nos permite eliminar
caminos muy largos, que son tratados como no prometedores.
Para utilizar la búsqueda con limitación de profundidad de forma eficaz, deberíamos poder
determinar la constante c, que limita un nivel de búsqueda. De lo contrario, el método puede finalizar
una búsqueda sin encontrar una solución. Para proteger el método contra tal situación, podemos
modificarlo aún más. En Iterative Deepening Search [167] fijamos un nivel l, hasta el cual generamos
nodos según el esquema DFS, pero si no se encuentra una solución entre los nodos de los niveles 0,
1, 2, …, l entonces aumentamos la limitación de la búsqueda por 1, es decir, hasta el nivel l + 1, y
comenzamos una búsqueda. Si no se encuentra una solución con dicho parámetro, entonces
aumentamos la limitación de la búsqueda en 1 nuevamente, es decir, hasta el nivel l + 2, y comenzamos
una búsqueda, etc.
Al final de esta sección, presentamos el método de búsqueda de costo uniforme que se basa en el
conocido algoritmo de ruta más corta presentado por Edsger W. Dijkstra.14 El método puede tratarse
como una modificación de BFS. Sin embargo, asumimos que se conoce el costo de moverse de
cualquier nodo del árbol a cualquier otro.15 Luego, nos movemos al nodo de menor costo.
Resumiendo esta sección, notemos que si usamos estrategias de búsqueda ciega, entonces
buscamos una solución mediante la generación sistemática de nuevos estados y verificando si la
solución se encuentra (por casualidad).16 Por supuesto, tal estrategia no es eficiente.
Por lo tanto, si podemos usar el conocimiento sobre la naturaleza del problema, entonces usamos
estrategias heurísticas. Estos se discuten en la sección siguiente.
4.3 Búsqueda heurística
Los métodos de búsqueda heurística se pueden utilizar si somos capaces de definir una función
heurística que estime "cuán lejos" está un nodo del árbol de búsqueda de una solución. Esto nos
permite expandir aquellos caminos que parecen ser los más prometedores. Supongamos que en nuestro laberinto,
13La constante c es un parámetro del método.
14Edsger W. Dijkstra—profesor de informática en la Universidad Tecnológica de Eindhoven.
Su contribución a la informática incluye la notación polaca inversa, el compilador ALGOL, la programación
estructurada y un modelo de semáforo utilizado en los sistemas operativos.
15En el caso del laberinto el costo podría definirse como la dificultad de recorrer un segmento del camino.
La dificultad se podría definir como el ancho del camino (supongamos que somos bastante gordos) y la
pendiente del camino (supongamos que no estamos en forma).
16En el caso de Uniform Cost Search, el orden en que se generan los nuevos estados no es accidental in
sensu stricto. El método no es completamente "ciego", porque el orden en que se generan los estados está
determinado por la función de costo. Sin embargo, esta función no dice cuál es la distancia a un estado de
solución. Por lo tanto, este método no se considera un método heurístico.
Machine Translated by Google
4.3 Búsqueda heurística 39
Fig. 4.5 El problema del
laberinto: a valores de la
(a) A
función heurística, b la
4 5
búsqueda heurística
3
B C
2 4
3
D mi
1 5
3
H F GRAMO
(b)
4 A 5
B
3 2
D
3 1
3 F
0
cuanto más cerca estamos de la salida, más parpadea la llama de nuestra vela. Entonces,
podemos definir la función heurística h de la siguiente
manera: h(n) = 5—la llama es estable, h(n) = 4—la llama parpadea un poco, h(n) = 3—la llama
está parpadeando, h(n) = 2: se observa un parpadeo de alta frecuencia en la llama, h(n) = 1:
se observa un parpadeo de muy alta frecuencia en la llama, h(n) = 0: la vela se ha apagado out
(estamos en la salida).
El plano del laberinto, que contiene valores de la función h, desde la “perspectiva de la
Providencia”, se muestra en la Fig. 4.5a. Como hemos mencionado, no tenemos tal plan, así
que tenemos que buscar la salida. Sin embargo, en este caso, contrariamente a una búsqueda
ciega, podemos elegir el camino con la ayuda de la función heurística, es decir, observando una llama.
Machine Translated by Google
40 4 métodos de búsqueda
de la vela Al igual que en el caso de los métodos ciegos, existen muchas estrategias que utilizan
una búsqueda heurística.
La escalada es una modificación simple de DFS que consiste en expandir nodos que son los
mejores en el sentido de la función heurística.17 Si los valores de la función heurística para
nuestro laberinto se definen como se muestra en la figura 4.5a, entonces el árbol se expande en
la forma representada en la figura 4.5b. Notemos que encontramos un nodo de solución en
cuatro pasos, mientras que usando DFS necesitamos diez pasos (ver Fig. 4.4), y para BFS
necesitamos aún más pasos (ver Fig. 4.3b).
La escalada es un método de búsqueda local , es decir, solo podemos ir a los estados
vecinos desde el estado actual. A veces, el valor de la función heurística para un nodo después
de expandir la ruta es peor que el valor de algún nodo generado en el pasado. Esto significa que
hemos ampliado un camino que parecía prometedor al principio, sin embargo ahora vemos que
los valores de la función heurística están empeorando. En tal situación, deberíamos buscar un
nodo expandido antes, que tiene el mejor valor entre tales nodos y deberíamos comenzar a
expandir otras rutas a partir de este nodo. Esta estrategia, definida por Judea Pearl [221], se
denomina BestFirst Search.
Los métodos descritos en esta sección usan una función heurística que estima qué tan lejos
están los nodos de una solución. La elección del nodo sucesor se realiza únicamente sobre la
base de este criterio, sin tener en cuenta el costo de pasar del nodo actual al sucesor. Por otro
lado, parece que tener en cuenta este coste es una estrategia razonable. (Hemos utilizado dicho
costo en Uniform Cost Search, presentado en la sección anterior). En 1968, Peter E. Hart, Nils
J. Nilsson y Bertram Raphael propusieron el algoritmo A [126]. Utiliza ambos criterios para
elegir el nodo óptimo. Estos criterios son elementos de la función de evaluación f , dada por la
fórmula
f (n) = g(n) + h(n), (4.1)
donde g(n) es el costo del camino desde el nodo raíz hasta un nodo n, y h(n) estima qué tan
lejos está un nodo n de una solución.
Los métodos heurísticos presentados anteriormente aplican una estrategia de expansión de
un camino profundo en el espacio de búsqueda. Beam Search, presentado por Bruce T. Lowerre
y Raj Reddy [187], se basa en la expansión de un camino a lo ancho. De manera similar a BFS,
generamos nodos un nivel tras otro. Sin embargo, expandimos solo los b (b es un parámetro del
método) mejores nodos en cada nivel.
Al final de esta sección, presentamos algunas propiedades que se requieren para una función
heurística. Decimos que la función heurística h es admisible si la distancia a una solución nunca
es sobreestimada por h. Por ejemplo, si nuestro problema es encontrar la distancia de carretera
más pequeña entre ciudades, entonces es admisible una función heurística, que da una distancia
en línea recta entre ciudades, porque nunca sobreestima la distancia real. Esta propiedad es
muy importante porque una función heurística,
17Un buen ejemplo de escalar colinas es una situación en la que queremos llegar a la cima de una montaña.
Sin embargo, no tenemos ni mapa ni brújula, estamos aquí de noche y una densa niebla se cierne sobre las
montañas. Solo tenemos un altímetro. Entonces, de acuerdo con la idea de escalar colinas, debemos ir en la
dirección en la que el altímetro muestra el mayor aumento de altura.
Machine Translated by Google
4.3 Búsqueda heurística 41
que sobrestima la distancia real puede hacer imposible encontrar el mejor camino hacia un nodo objetivo.
Por otro lado, la función heurística h puede subestimar un poco la distancia, es decir, su evaluación
debe ser moderadamente “optimista”. Al mismo tiempo, requerimos que la función “optimismo” sea cada
vez más realista a medida que nos acercamos a una solución. Esto significa que h debe estimar cada vez
con mayor precisión. Al menos requerimos que el costo de hacer cada paso subsiguiente se compense
aumentando la precisión de la evaluación de la distancia restante. Si la función heurística tiene esta
propiedad, la llamamos consistente (monótona).
Sean h1 y h2 funciones heurísticas. Si para cualquier estado v tenemos h2(v) ≥ h1(v), entonces la
función h2 domina a la función h1. Notemos que si ambas funciones h1 y h2 son admisibles, entonces
están acotadas por la distancia real a una portería.
Esto significa que para cualquier estado v, h1(v) ≤ C(v) y h2(v) ≤ C(v), donde C(v) es la distancia real a un
estado objetivo. Así, una función dominante estima mejor la distancia. (Está más cerca de C(v).) Por lo
tanto, en el caso de funciones heurísticas admisibles, es mejor usar una función dominante.
Al final de esta sección, mencionemos que las propiedades de las funciones heurísticas
introducidos anteriormente se definen formalmente en el Apéndice A.
4.4 Búsqueda adversaria
Los métodos de búsqueda se pueden utilizar para construir sistemas de inteligencia artificial que juegan.
Dichos sistemas son una de las aplicaciones informáticas más espectaculares.18 Las técnicas de
búsqueda utilizadas para jugar pertenecen a un grupo de métodos de IA llamados búsqueda adversaria.
Insecto. 2.1 hemos introducido métodos de búsqueda con el ejemplo de un juego de ajedrez. Recordemos
que los estados en un espacio de estados corresponden a las posiciones sucesivas del tablero que
resultan de los movimientos de los jugadores.
En el caso de los juegos construimos una función de evaluación, 19que atribuye un valor diciendo qué
tan “bueno” para nosotros es una situación dada, es decir, un estado dado. Dada la función de evaluación,
podemos definir un árbol de juego, que difiere del árbol de búsqueda presentado en las secciones
anteriores.20 El método minimax es la estrategia básica utilizada para la búsqueda de adversarios.
Supongamos que maximizar la función de evaluación es nuestro objetivo, mientras que nuestro oponente
(adversario) quiere minimizarla.21 Por lo tanto, contrariamente a los árboles de búsqueda
18En mayo de 1997, Deep Blue, construido por científicos de IBM bajo la supervisión de Fenghsiung Hsu, ganó una partida de
ajedrez contra el campeón mundial Garry Kasparov.
19La función de evaluación estima la utilidad esperada de un juego, definida por la función de utilidad. Esta función es una noción
básica de la teoría de juegos formulada por John von Neumann y Oskar Morgenstern en 1944.
20En el caso de los árboles de caza utilizamos una terminología específica. Un nivel se llama una capa. Las capas se indexan
comenzando con 1 (no 0, como en los árboles de búsqueda comunes).
21 Por lo tanto, un método minimax .
Machine Translated by Google
42 4 métodos de búsqueda
(a)
MÁX.
4
MÍN.
MÁX.
4 6 5 2 9 8 9 7 2
(b)
MÁX.
4 2
MÍN.
MÁX.
4 6 5 2 9 8 9 7 2
(C) 4
MÁX.
4 2 2
MÍN.
MÁX.
4 6 5 2 9 8 9 7 2
Fig. 4.6 Pasos sucesivos de una evaluación del árbol de búsqueda en la estrategia minimax
introducido en las secciones anteriores, que se definen para minimizar la (heurística)
función correspondiente a la distancia a una solución, en el caso de un árbol de juego tenemos
maximizar alternativamente la función (para nuestros movimientos) y minimizarla (para los movimientos de nuestro
adversario).
Veamos la figura 4.6a. La raíz del árbol corresponde a un estado en el que deberíamos hacer
un movimiento. Los valores se atribuyen a los nodos hoja. (También es nuestro turno de movernos en los nodos hoja;
es el turno del oponente de moverse en los nodos de la capa central, indicados por MIN.) Ahora,
deberíamos propagar los valores de la función de evaluación hacia arriba.22 Tener valores de
hojas del subárbol izquierdo: 4, 6, 5, propagamos hacia arriba 4, porque nuestro oponente
hará un movimiento al valor más pequeño para nosotros. (Minimiza la evaluación
función.)
22Una flecha hacia arriba significa que atribuimos a un nodo el mayor valor de sus sucesores, una flecha hacia abajo
significa que atribuimos a un nodo el valor más pequeño de sus sucesores.
Machine Translated by Google
4.4 Búsqueda adversaria 43
MÁX.
= 4 2 2
MÍN.
MÁX. X X
4 6 5 2 9 7 2
Fig. 4.7 Pasos sucesivos de la evaluación de un árbol de búsqueda en el método de poda αβ
El oponente se comportará de manera análoga en el subárbol central (cf. Fig. 4.6b).
Teniendo la opción de las hojas 2, 9 y 8, elegirá la ruta "peor", es decir, el movimiento al
nodo con el valor 2. Por lo tanto, este valor se propaga hacia arriba al padre de estos nodos
hoja. Después determinando los valores en la capa MIN media, debemos evaluar la raíz
(que se coloca en una capa MAX). Teniendo valores en la capa MIN de 4, 2, 2, debemos
elegir el "mejor" camino, es decir, el movimiento al nodo con el valor 4.
Por lo tanto, este valor se atribuye a la raíz (cf. Fig. 4.6c).
Notemos que tal definición del árbol del juego toma en cuenta el comportamiento del
oponente. Partiendo de la raíz, no debemos ir al subárbol medio o al subárbol derecho (las
raíces de estos subárboles tienen el valor 2), a pesar de la presencia de nodos con valores
grandes (9, 8, 7) en estos subárboles. Si fuéramos a estos subárboles, el oponente no
elegiría estos nodos, sino nodos que tuvieran el valor 2. Por lo tanto, deberíamos movernos
al subárbol izquierdo. Entonces, el oponente tendrá la opción de nodos con los valores 4,
6 y 5. Él/ella elegirá el nodo con el valor 4, que es mejor para nosotros que un nodo con el
valor 2.
En caso de que un juego sea complejo, el método minimax es ineficiente, porque genera
enormes árboles de juego. El método de poda alfabeta es una modificación de minimax
que disminuye considerablemente el número de nodos. El método ha sido utilizado por
23
Arthur L. Samuel en su Programa de juego de Damas Samuel.
Explicamos el método con la ayuda de un ejemplo que se muestra en la Fig. 4.7.
Supongamos que evaluamos sucesores de la raíz. Después de evaluar el subárbol
izquierdo, su raíz ha obtenido el valor α = 4. α denota la puntuación mínima que tiene
asegurado el jugador que maximiza. Ahora, comenzamos una evaluación del subárbol
medio. Su primera hoja ha obtenido el valor 2, por lo que temporalmente su antecesora
también recibe este valor. Notemos que si cualquier hoja, denotada por X, tiene un valor
mayor que 2, entonces el valor de su predecesor sigue siendo igual a 2 (minimizamos). Por
otro lado, si el valor de cualquier hoja X es menor que 2, entonces no hace ninguna
diferencia para nuestra evaluación, porque 2 es menor que α, el valor del vecino del
predecesor. (Esto significa que este vecino, que tiene el valor α = 4, se tendrá en cuenta en el nivel
23 Un equipo dirigido por Jonathan Schaeffer continuó la investigación de un programa que juega a las damas
(damas inglesas). Ha dado como resultado la construcción del programa Chinook. En 2007, el equipo de
Schaeffer publicó un artículo en Science que incluía una prueba de que el mejor resultado que se puede obtener
jugando contra Chinook es un empate.
Machine Translated by Google
44 4 métodos de búsqueda
de la raíz de todo el árbol, ya que en la capa de la raíz maximizamos). Por lo tanto, no hay necesidad de
analizar las hojas X (y cualquier cosa que esté debajo de ellas).24 Un parámetro β juega el papel simétrico, ya
que denota la puntuación máxima de la que está asegurado el jugador que minimiza.
El método de poda alfabeta permite renunciar a un análisis de árbol, en caso de que no influya en un
posible movimiento. Además, dicha poda no influye en el resultado de una búsqueda de árboles. Nos permite
centrarnos en la búsqueda de las partes prometedoras de un árbol. Como resultado, mejora considerablemente
la eficiencia del método.25
4.5 Búsqueda de problemas de satisfacción de restricciones
Los métodos de búsqueda se pueden utilizar para resolver problemas de satisfacción de restricciones, CSP.26
Los CSP se caracterizan por un conjunto de requisitos, tratados como restricciones, que deben cumplirse. Sin
embargo, es muy difícil cumplirlos al mismo tiempo, porque están en conflicto. La elaboración de un horario en
una escuela es un buen ejemplo de un CSP.
Debemos cumplir al mismo tiempo con restricciones tales como la disponibilidad de aulas (de varios tamaños
y equipos), la disponibilidad de clases (una clase de alumnos no puede tener dos lecciones al mismo tiempo),
la disponibilidad de profesores, etc. Hay muchas áreas de aplicación importantes de métodos de búsqueda
para CSP, por ejemplo, control de planta, gestión de proyectos, logística, diseño de VLSI y biología molecular.
Los problemas de satisfacción de restricciones se pueden describir mediante los siguientes elementos:
• un conjunto finito de variables: x1, x2,..., xn, • para
cada variable xi , el conjunto de sus posibles valores Dxi , denominado dominio, • un conjunto
finito de Restricciones que son combinaciones de valores de variables.
Por ejemplo, consideremos el siguiente problema. Sean siete reinos K1, K2, …, K7 (son las variables en
nuestro CSP) en una isla hipotética que se muestra en la figura 4.8a. Se debe colorear el mapa con tres
colores: rubio (B), plateado (S) y carbón (C), de modo que no haya dos reinos adyacentes del mismo color.
Formalmente, el conjunto {B,S,C} es el dominio de cada variable y se define un conjunto de restricciones de la
siguiente manera: K1 = K2, K1 = K3, K1 = K5, K2 = K5, K2 = K7, K3 = K5, K3 = K7, K4 = K7, K5 = K7, K6 = K7.
La búsqueda de retroceso es el método más simple. Consiste en asignar variables consecutivas (por
ejemplo, en el orden B, S, C) a variables posteriores generando un árbol DFS. Si una tarea entra en conflicto
con el conjunto de restricciones, retrocedemos desde nuestro
24En caso de que analicemos un árbol que tiene más capas.
25Es de gran importancia en juegos complejos, por ejemplo, el ajedrez. La computadora Deep Blue , jugando contra G. Kasparov,
amplió algunos caminos a 40 capas.
26Los problemas de satisfacción de restricciones son de gran importancia en informática. Por lo tanto, existe una variedad de
modelos matemáticos, basados principalmente en la teoría de grafos, la investigación operativa y el álgebra lineal, que se utilizan
para su solución. En la monografía, solo presentamos ideas básicas de los métodos de búsqueda heurística de IA que se utilizan
para resolver estos problemas. Remitimos al lector interesado en los CSP a la conocida monografía de Edward Tsang [305]. Para
programación con restricciones se recomienda la monografía de Krzysztof R. Apt [8].
Machine Translated by Google
4.5 Búsqueda de problemas de satisfacción de restricciones 45
(a) (b)
K2 K2
K1 K1
K3 K3
K5 K5
K1 = segundo
K4 K6 K4 K6
K7 K7
(C) (d)
K2 K2
K1 K1
K3 K3
K5 K5
K4 K6 K1 = B K4 K6
K7 K7 K1 = B
K2 = B K2 = B S
! K1
! K1
(mi) (F)
K2 K1
K2
K1 K3
K3
K5
K5
K4 K6 K1 = B
K4 K6 K1 = B K7
K7
K2 = B S
K2 = B S
! K1
! K1
K3 = B S
K3 = B
! K1
! K1
K4 = B
Fig. 4.8 Pasos sucesivos de la generación del árbol de búsqueda para un problema de satisfacción de restricciones
trayectoria de corriente. Veamos la figura 4.8b. En primer lugar, generamos la raíz del
árbol correspondiente a la variable K1 y le asignamos el valor B. (Coloreamos el reino
K1 con rubio.)27 En el siguiente paso (cf. Fig. 4.8c), primero asignamos B a K2. Sin
embargo, tal asignación entra en conflicto con la restricción K1 = K2. (Un conflicto causado por
27Cada nivel subsiguiente en el árbol corresponde a una variable subsiguiente.
Machine Translated by Google
46 4 métodos de búsqueda
la asignación de un valor a K2 que es incompatible con una asignación previa a K1 se denota
por !K1). Entonces, retrocedemos e intentamos asignar S a K2 (cf. Fig. 4.8d ). Ahora, todas
las restricciones se cumplen. En la Fig. 4.8e se puede ver que después de asignar B a K3
debemos dar marcha atrás, ya que la restricción K1 = K3 no se cumple. (Un conflicto con una
asignación a K1 se denota nuevamente como !K1). En la figura 4.8f se puede ver la situación
después de asignar S a K3 y B a K4.
Una solución al problema, que consiste en asignar uno de los valores B, S, C a todas las
variables K1, K2, …, K7 y cumplir con todas las restricciones, se muestra en la Fig. 4.9a . En
la figura 4.9b se muestra una interpretación de esta solución con la ayuda del mapa de
colores . Notemos que un valor asignado a una variable en la solución del
(a)
K1 = B
K2 = B S
! K1
K3 = B S
! K1
K4 = B S
K5 = B S C B S C
! K1 ! K2 ! K1 ! K2
K6 = B S C B S
(b)
K2 K1
K3
K4 K6
K7
Fig. 4.9 Un ejemplo de un problema de satisfacción de restricciones: a un árbol de búsqueda generado en el momento
de encontrar una solución: todas las variables tienen valores asignados y todas las restricciones se satisfacen, b el
mapa coloreado de acuerdo con una solución encontrada
Machine Translated by Google
4.5 Búsqueda de problemas de satisfacción de restricciones 47
problema está representado por la última asignación a esta variable en el árbol de búsqueda.
Por ejemplo, en el subárbol izquierdo a partir de la asignación de B a K4, hemos intentado
asignar todos los valores posibles a K7 para todas las combinaciones de colores de K6. Sin
embargo, hemos tenido que dar marcha atrás en todo el subárbol. Esto se debe a una asignación
incorrecta de B a K4. (Después de esta asignación no hay solución al problema.)
Solo cuando hemos cambiado esta asignación a K4 = S (el subárbol derecho) encontramos una
solución, completada cuando la variable K7 ha recibido el valor B. Por lo tanto, una solución en
un método de búsqueda de retroceso se representa por el camino más externo a la derecha en
el árbol. Todo lo que está a la izquierda de este camino representa un retroceso. Notemos que
para un problema bastante simple tenemos que generar un árbol de búsqueda bastante grande
para encontrar la solución. Esto significa que el método no es eficiente. De hecho, la búsqueda
de retroceso es una base para definir métodos más eficientes. Vamos a presentar dos de ellos.
Comenzamos con la siguiente observación. Veamos la figura 4.9a una vez más.
Después de asignar B a K4 y C a K5, no hay una asignación "buena" para K7. Esto se ilustra
con el intento repetido de asignar todos los valores posibles a K7 después de una asignación de
todos los valores posibles a K6. (El subárbol debajo del nodo K5 = C está “completo”.) Si
hubiéramos sabido esto al momento de asignar C a K5, no habríamos tenido que generar un
subárbol debajo del nodo K5 = C. Verificando si las asignaciones se realizaron Hasta ahora,
eliminar todos los valores posibles para una de las variables restantes es la idea básica de la
búsqueda de comprobación directa.
Analicemos este método para nuestro ejemplo con la ayuda de la figura 4.10a. Realizaremos
un seguimiento de la variable K7. Como podemos ver, después de asignar S a K2, el conjunto
de valores que se pueden atribuir a K7 se reduce a {B, C}. Esto resulta de la restricción K2 = K7
(K2 es adyacente a K7). Luego, después de asignar B a K4, el conjunto de valores que son
posibles para K7 se reduce a {C} (la restricción K4 = K7). Finalmente, después de asignar C a
K5, el conjunto de valores posibles para K7 es el conjunto vacío, debido a la restricción K5 = K7.
Esto significa que no tiene sentido expandir este camino. De manera similar, en el subárbol
derecho no tiene sentido expandir el camino después de asignar B a K6. Uno puede notar
fácilmente la mejor eficiencia de una búsqueda de verificación hacia adelante que una búsqueda
de retroceso, comparando los árboles de búsqueda que se muestran en las Figs. 4.9ay 4.10a .
Para mejorar la eficiencia de los métodos presentados hasta ahora, se han propuesto muchas
modificaciones, incluida la búsqueda con ordenación de variables, la búsqueda con ordenación
de valores, etc. Sin embargo, uno de los enfoques más eficientes para la búsqueda de CSP se
basa en la propagación de restricciones . técnica. Analizamos esta técnica para nuestro ejemplo
con la ayuda de la figura 4.10b. Después de asignar B a K1, el conjunto de posibles asignaciones
a K5 es igual a {S, C} (debido a la restricción K1 = K5). La siguiente asignación K2 = S provoca
la siguiente secuencia de restricciones subsiguientes para las variables K5, K3 y K7:
(a) el conjunto de asignaciones posibles para K5 se reduce a {C}, debido a la restricción
K2 = K5,
(b) el conjunto de asignaciones posibles para K3 se reduce a {S}, debido a (a) y las restricciones
K1 = K3 y K3 = K5, (c) el conjunto de
asignaciones posibles para K7 se reduce a {B}, debido a (a), (b), y
las restricciones K3 = K7 y K5 = K7.
Machine Translated by Google
48 4 métodos de búsqueda
(a)
K1 = B K7 = {B, S, C}
K2 = B S K7 = {B,C}
! K1
K3 = B S K7 = {B,C}
! K1
K7 = {C}
K4 = B S K7 = {B}
K5 = B S C B S C
K6 = B S
K7 = Ø
K7 = B
(b)
K1 = B K5 = {S,C}
K2 = B S K5 = {C} K3 = {S} K7 = {B}
! K1
X
K3 = S
K4 = B S
! K7
K5 = B S C
! K1 ! K2
K6 = B S
! K7
K7 = B
Fig. 4.10 Árbol de búsqueda para el problema de satisfacción de restricciones: a para el método de búsqueda de
comprobación directa, b para el método de propagación de restricciones
Como podemos ver en la figura 4.10b, en el método de propagación de restricciones, justo
después de asignar S a K2 (es decir, tan pronto como en el segundo nivel del árbol) podemos
determinar asignaciones admisibles para tres variables que reducen la búsqueda árbol considerablemente.
Machine Translated by Google
4.5 Búsqueda de problemas de satisfacción de restricciones 49
Resumiendo, después de fijar el conjunto de valores admisibles para una variable,
propagamos las consecuencias de las restricciones impuestas a este conjunto a las demás
variables (de ahí el nombre del método). Se han desarrollado muchos algoritmos eficientes,
como AC3, AC4, PC2 y PC4, basados en el enfoque de propagación de restricciones.
La búsqueda local es el tercer enfoque que se utiliza para resolver problemas de CSP. Es
similar a la escalada de colinas, introducida en la Secc. 4.3. Asignamos valores a todas las
variables y mejoramos sucesivamente esta asignación hasta que viola las restricciones. La
búsqueda de conflictos mínimos es uno de los métodos más populares. En primer lugar,
generamos aleatoriamente asignaciones iniciales. Luego, después de elegir una variable con
un valor que entra en conflicto con algunas restricciones, cambiamos el valor para minimizar el
número de conflictos con otras variables. Este método da buenos resultados, aunque depende
en gran medida de la asignación inicial. Debido a su naturaleza iterativa, el método se
recomienda especialmente en caso de que las restricciones cambien con el tiempo.
4.6 Métodos especiales de búsqueda heurística
Terminando nuestras consideraciones sobre los métodos de búsqueda, volvamos al primer
método heurístico discutido en este capítulo, es decir, escalar colinas. La idea principal de este
método consiste en expandir un árbol en la dirección de aquellos estados cuyo valor de función
heurística sea más prometedor. Supongamos que un problema se describe con la ayuda de un
espacio de solución (X1, X2) (en lugar de un modelo abstracto de un problema), que es típico
de los problemas de optimización. Así, un espacio de solución es el dominio de un problema.
Entonces, supongamos que para los puntos (X1, X2) de este espacio, se conocen los valores
de la función heurística h(X1, X2) y se definen como se muestra en la Fig. 4.11.
Nuestro objetivo es subir a la colina alta situada en el medio del área con el método de
escalada.28 Si comenzamos nuestra búsqueda en la base de la colina, conquistaremos la
cumbre, es decir, encontraremos una solución. Sin embargo, si comenzamos en la base de la
colina inferior situada en la subárea inferior izquierda, entonces subiremos esta colina y nunca
la abandonaremos.29 Esto significa, sin embargo, que no encontraremos la solución óptima.
Nos encontramos en una situación similar si aterrizamos en una zona llana (meseta). Entonces,
no obtenemos ningún beneficio de la información heurística y nunca llegamos a una solución.
Para evitar una situación en la que encontremos un extremo local (mínimo/máximo) en lugar
del global,30 se han construido muchos métodos de búsqueda heurística. Vamos a presentar
los más importantes.
El método de recocido simulado fue introducido por Scott Kirkpatrick,31 C. Daniel Gelatt y
Mario P. Vecchi [159] en 1983. Para evitar quedar atrapado en un local
28En una formulación matemática, buscamos un máximo global en el espacio de soluciones.
29A medida que nos alejamos de la cima de este cerro, los valores de la función heurística disminuyen.
30En la práctica, encontrar un extremo local significa encontrar alguna solución que no sea satisfactoria.
31Scott Kirkpatrick—profesor de física e informática (MIT, Berkeley, Universidad Hebrea, IBM Research, etc.).
Es autor de muchas patentes en las áreas de aplicación de la física estadística en informática, computación
distribuida y métodos informáticos en física.
Machine Translated by Google
50 4 métodos de búsqueda
Fig. 4.11 Posibles meseta
problemas que pueden
aparecer durante la “subida de colinas”
2x2
_
h(x, 1 X
2 )
máximo global
X
1
máximo local
extremum, se utiliza el interesante fenómeno físico del recocido de metal (o vidrio).
Para mejorar las propiedades de un material (por ejemplo, su ductilidad o su dureza), se calienta
por encima de una temperatura crítica y luego se enfría de forma controlada (normalmente
lentamente). El calentamiento da como resultado que los átomos se “despeguen” de sus posiciones iniciales.
(Cuando están en sus posiciones iniciales, todo el sistema está en un mínimo local de energía
interna.) Después de "despegarse", los átomos se desplazan de manera aleatoria a través de
estados de alta energía. Si enfriamos el material rápidamente, entonces una microestructura se
“atascaría” en un estado aleatorio. (Esto supondría alcanzar un mínimo local de la energía interna
del sistema). Sin embargo, si enfriamos el material de forma controlada y lenta, la energía interna
32
del sistema alcanza el mínimo global .
El método Kirkpatrick simula el proceso descrito anteriormente. La energía interna de un
sistema E corresponde a la función heurística f , y la temperatura T es un parámetro utilizado para
controlar el algoritmo. A partir de una solución actual (temporal) i, se genera aleatoriamente una
solución "rival" j fuera de su vecindad. Si el valor de la solución “rival” E(j) no es peor que el de la
solución actual (es decir, E(j) ≤ E(i), ya que buscamos el mínimo global), entonces se acepta. Si
no, entonces también se puede aceptar, aunque con alguna probabilidad.33 Por lo tanto, con este
método es posible pasar de un estado mejor a un estado peor. Nos permite salir de un extremo
local. Como hemos mencionado, se utiliza un parámetro T (temperatura) para controlar el algoritmo.
Al principio, T es grande y la probabilidad de aceptar una peor solución “rival” es relativamente
grande, lo que nos permite salir de los mínimos locales.
En pasos sucesivos del algoritmo “el sistema se enfría”, es decir, el valor de T disminuye. Así,
cuanto más estable es una situación, menor es la probabilidad de elegir una peor solución “rival”.
32Esto mejora las propiedades de un material.
33Esta probabilidad se determina según la distribución de Boltzmann. Esto define la distribución de
energía entre partículas en equilibrio térmico como P = e(−Ei j /kT ) , donde Ei j =
E(j) − E(i), yk es la constante de Boltzmann.
Machine Translated by Google
4.6 Métodos especiales de búsqueda heurística 51
El método de búsqueda tabú fue introducido por Fred Glover34 en 1986 [109]. En este método,
la solución actual siempre se reemplaza por la mejor solución de su vecindario (incluso si es peor).
Además, una solución que ya ha sido "visitada" está prohibida durante algún tiempo. (Recibe el
estado tabú ). Una solución visitada se agrega a una breve lista tabú. Una solución recién agregada
reemplaza a la más antigua de la lista.35 El proceso de búsqueda finaliza después de un número
fijo de pasos.
Hay muchas modificaciones de la búsqueda tabú. El método a menudo se combina con otros
métodos heurísticos. Una combinación del método con la computación evolutiva da resultados
especialmente buenos. La computación evolutiva, que puede tratarse como una extensión
considerable de los métodos heurísticos, se analiza en el próximo capítulo.
Nota bibliográfica
Los métodos de búsqueda se encuentran entre los primeros métodos de inteligencia artificial. Por
lo tanto, se describen en monografías fundamentales relativas a toda el área de la IA [189, 211,
241, 256, 261, 262, 273, 315].
Los fundamentos de la construcción de estrategias de búsqueda heurística se analizan en [221].
En el área de la CSP, una monografía [305] es la clásica. Para programa de restricción
Se recomienda leer un libro [8].
34Fred W. Glover—profesor de informática, matemáticas y ciencias administrativas en la Universidad de
Colorado. Asesor de Exxon, General Electric, General Motors, Texas Instruments,
etc.
35La lista tabú es una cola LIFO (LastInFirstOut).
Machine Translated by Google
Capítulo 5
Computación evolutiva
La computación evolutiva es el grupo de métodos más importante dentro del enfoque inspirado en la biología,
debido a sus fundamentos teóricos bien desarrollados, así como a la variedad de sus aplicaciones prácticas.
Como se ha mencionado en la Secc. 3.2, la idea principal de estos métodos consiste en simular procesos
evolutivos naturales. En primer lugar, se presentan cuatro tipos de tales métodos, a saber, algoritmos genéticos,
estrategias de evolución, programación evolutiva y programación genética. En la última sección, se presentan
otros modelos inspirados en la biología, como la inteligencia de enjambre y los sistemas inmunológicos
artificiales .
5.1 Algoritmos genéticos
Los primeros artículos de Alex Fraser sobre algoritmos genéticos se publicaron en 1957 [102]. Sin embargo,
este enfoque solo se hizo popular después de la publicación de una excelente monografía de Holland [139] en
1975. Como mencionamos al final del capítulo anterior, los algoritmos genéticos pueden tratarse como una
extensión significativa del enfoque de búsqueda heurística que es Se utiliza para encontrar la solución óptima a
un problema. Para evitar encontrar extremos locales en lugar del global y evitar quedarse atascado en un área
de meseta (cf. Fig. 4.11), un algoritmo genético pasa por un espacio de soluciones (potenciales) con muchos
puntos de búsqueda, no con un punto de búsqueda
como en los métodos de búsqueda heurística (estándar). Estos puntos de búsqueda se denominan individuos. 1
Así, cada individuo en un espacio de solución puede ser tratado como candidato para una (mejor o peor)
solución al problema. Un conjunto de individuos que "viven" en un espacio de solución en cualquier fase de un
proceso de cálculo se denomina población . Entonces, una población es un
1La analogía es con individuos que viven en ambientes biológicos.
© Springer International Publishing Suiza 2016 M. Flasi 53
´nski, Introducción a la Inteligencia Artificial, DOI
10.1007/9783319400228_5
Machine Translated by Google
54 5 Computación evolutiva
conjunto de representaciones de posibles soluciones al problema. Las poblaciones sucesivas
construidas en fases iteradas de un cálculo se denominan generaciones. Esto significa que un
espacio de estado en este enfoque se define con generaciones sucesivas construidas por un
algoritmo genético.2 Por
ejemplo, observemos un espacio de solución ejemplar que se muestra en la figura 5.1. La
posición de cada individuo en este espacio está determinada por sus coordenadas (X1, X2).
Estas coordenadas determinan, a su vez, el genotipo del individuo. Por lo general, se supone
que un genotipo consta de un cromosoma. Cada coordenada está codificada en binario, es
decir, tiene la forma de una cadena de genes: 0000, 0001, 0010,..., 1000, etc.
Así, un genotipo formado por un cromosoma consta de ocho genes. Los primeros cuatro genes
determinan la coordenada X1 y los segundos cuatro genes determinan la coordenada X2.
Por ejemplo, el individuo marcado con un círculo en el espacio de soluciones de la Fig. 5.1 tiene
el genotipo 01010111. Como hemos mencionado en el capítulo anterior, cada punto de
búsqueda de un espacio de soluciones (potenciales) representa un conjunto de valores adscritos
a parámetros del problema considerado.3 En la terminología de los algoritmos genéticos, tal
conjunto de valores se denomina fenotipo de este punto/individuo. Para evaluar la "calidad" de
un individuo (es decir, una solución potencial), evaluamos su fenotipo con la ayuda de una
4
función de aptitud.
Supongamos para consideraciones adicionales que buscamos el máximo (global) de nuestra
función de aptitud, que es igual a 11 y está marcado con un color gris oscuro en la Fig. 5.1.
En el espacio de soluciones hay dos máximos locales con un valor de función de aptitud igual a
8, que están marcados con un color gris claro. Notemos que si buscamos este espacio con el
método de escalada y comenzamos con el punto más a la izquierda, es decir, el punto (X1, X2)
= (0000, 1000) con un valor de función de aptitud igual a 3, entonces escalaríamos un “pico”
local de coordenadas (X1, X2) = (0001, 0111) con un valor de función de fitness igual a 8.
Entonces, nos quedaríamos en el “pico”, porque la función de fitness da peores valores en el
vecindad de este “pico”. Sin embargo, esto haría imposible encontrar la mejor solución, es decir,
el máximo global. Usando algoritmos genéticos evitamos tales situaciones.
Ahora, introduzcamos el esquema de un algoritmo genético, que se muestra en la figura 5.2.
En primer lugar, la población inicial se define mediante la generación aleatoria de un número
fijo (un parámetro del método) de individuos. Estos individuos son nuestros puntos de búsqueda
iniciales en el espacio de soluciones. Para cada individuo se calcula el valor de la función de
aptitud. (Esto corresponde a la evaluación de una función heurística para los métodos de
búsqueda discutidos en un capítulo anterior.) En la siguiente fase, se seleccionan los individuos
que mejor se adaptan para “criar descendientes”. Tales individuos crean una población de padres.
2Así, las poblaciones sucesivas son equivalentes a los estados de este espacio.
3Cada punto de búsqueda corresponde a una determinada solución. (Tal "solución" no nos satisface en la mayoría
de los casos). Si tratamos con un modelo abstracto de un problema (como en el capítulo anterior), no con un
espacio de solución, entonces tal punto corresponde a una determinada fase del problema. resolver (para nuestro
ejemplo de un laberinto es el camino que hemos recorrido) en lugar de representar valores adscritos a los
parámetros del problema.
4La función de adecuación juega un papel análogo a la función heurística definida para los métodos de búsqueda
presentados en el capítulo anterior.
Machine Translated by Google
5.1 Algoritmos genéticos 55
X2
individuo de genotipo:
1000 3 4 5 6 7 6 5 4 3 0101 0111
0000 3 4 5 6 7 6 5 4 3
X1
0000 0001 0010 0011 0100 0101 0110 0111 1000 coordenada X1
coordenada X2
Fig. 5.1 Formulación de un problema de búsqueda para un algoritmo genético
El método más simple para tal selección se llama selección de rueda de ruleta. En este
método asumimos que el área de la rueda de la ruleta asignada a un individuo es
directamente proporcional al valor de su función de aptitud. Por ejemplo, supongamos
que la población actual consta de cuatro individuos P = {ind1,ind2,ind3,ind4}para los
cuales la función de aptitud h da los siguientes valores: h(ind1) = 50, h(ind2) = 30,
h(ind3 ) = 20, h(ind4) = 0. Luego, teniendo en cuenta que la suma de los valores es igual
a 100, asignamos a los individuos las siguientes áreas de la rueda de la ruleta: ind1 =
50/100 % = 50 %,ind2 = 30 %, ind3 = 20 %, ind4 = 0 %. Luego, elegimos individuos al
azar con la ayuda de la rueda de la ruleta. Dado que no se asigna ningún área de rueda
al individuo ind4 (0 %), al menos uno de los individuos restantes debe elegirse dos
veces. (El individuo ind1 tiene la mejor oportunidad, porque su área comprende la mitad
de la rueda, es decir, la misma área que ind2 e ind3 combinadas).
Para evitar una situación en la que algunos individuos con un valor de función de
aptitud muy pequeño (o incluso el valor cero, como en el caso del individuo ind4) no
tengan posibilidad de ser seleccionados para “descendencia reproductiva”, se puede
utilizar la selección por ordenamiento. . En este método se define una lista de
clasificación que contiene a todos los individuos, comenzando por el mejor ajustado y
terminando con el peor ajustado. Luego, para cada individuo se asigna un rango . El
rango se utiliza para una selección aleatoria. Por ejemplo, el rango se puede definir de
la siguiente manera. Fijemos un parámetro para calcular un rango, p = 0,67. Luego,
elegimos el ind1 individual de nuestro ejemplo anterior con probabilidad p1 = p = 0.67. El
ind2 individual se selecciona con probabilidad p2 = (1 − p1) ∙ p = 0,33 ∙ 0,67 = 0,22. El
siguiente individuo ind3 se elige con probabilidad p3 = (1−(p1+p2))∙p = 0.11∙0.67 = 0.07. Generalmente,
Machine Translated by Google
56 5 Computación evolutiva
Fig. 5.2 El esquema de un evaluación de la
algoritmo genético población inicial de individuos
selección de individuos
para la reproducción
generación de población descendiente
mediante la aplicación de
operadores genéticos
evaluación de la población
selección de individuo
con la mejor condición física
de la lista de clasificación se selecciona con probabilidad pn = (1−(p1+ p2+∙∙∙+ pn−1))∙ p.
Notemos que de acuerdo con tal esquema asignamos un valor distinto de cero a la última
ind4 individual , es decir, p4 = 1 − (p1 + p2 + p3) = 1 − 0,96 = 0,04.
Después de la fase de selección, se genera una población de descendientes con la ayuda de
operadores genéticos (cf. Fig. 5.2). La reproducción se realiza con el operador de cruce
(recombinación) de la siguiente manera. En primer lugar, elegimos al azar 5 pares
de individuos de la población parental como candidatos para el apareamiento. estos pares de
los padres “crian” parejas de descendientes mediante una recombinación de secuencias de
sus cromosomas. Para cada par de padres elegimos al azar el cruce
punto, que determina el lugar en el que se "corta" el cromosoma. por ejemplo, un
operación cruzada para dos individuos progenitores que tienen los cromosomas 01001000 y
01110011, con un valor de función de aptitud de 7 (para ambos) se muestra en la Fig. 5.3.
El punto de cruce elegido al azar es 4, lo que significa que ambos cromosomas son
corte después del cuarto gen. Luego, recombinamos la primera parte del primer cromosoma,
es decir, 0100, con la segunda parte del segundo cromosoma, es decir, 0011, lo que da un
nuevo individuo (descendencia) con el cromosoma 01000011. De la misma manera obtenemos
un segundo individuo nuevo que tiene el cromosoma 01111000 (mediante una recombinación
de la primera parte del segundo cromosoma y la segunda parte del primer cromosoma).
Notemos que un “niño” (el que tiene el cromosoma 01111000) es
“peor adaptado” (al medio ambiente) que los “padres”, porque su función de adecuación
el valor es igual a 4. Este individuo corresponde a una peor solución del problema. En
por otro lado, el valor de la función de aptitud del segundo “niño” (01000011) es igual a 10
y este individuo alcanza una solución satisfactoria (el máximo global) en un solo paso.
A veces usamos más de un punto de cruce; esta técnica se denomina cruce de múltiples puntos.
5Esta elección aleatoria se hace con alta probabilidad, generalmente de un valor del intervalo [0.6, 1] en
para permitir que muchos padres participen en un proceso de reproducción. Esta probabilidad es un parámetro
del algoritmo
Machine Translated by Google
5.1 Algoritmos genéticos 57
X2
1000 3 4 5 6 7 6 5 4 3
0111 4 8 6 7 8 7 6 8 4
0100 1000
0110 5 6 7 8 9 8 7 6 5
0101 6 7 8 9 10 9 8 7 6 0111 0011
0100 7 8 9 10 11 10 9 8 7
0100 1000
0011 6 7 8 9 10 9 8 7 6
0111 0011
0010 5 6 7 8 9 8 7 6 5
0001 4 5 6 7 8 7 6 5 4 0111 1000
0000 3 4 5 6 7 6 5 4 3
0100 0011
X1
0000 0001 0010 0011 0100 0101 0110 0111 1000
Fig. 5.3 Aplicación del operador de cruce en un algoritmo genético
El operador de mutación cambia el valor de un solo gen de 0 a 1 o de 1 a 0.
A diferencia de un cruce, una mutación se realiza muy raramente.6 Por ejemplo, en la Fig. 5.4
podemos ver un individuo representado por el cromosoma 01110111. Aunque el valor de su
función de aptitud (8) es bastante grande, este individuo es un máximo local. Si utilizáramos a
este individuo en el método de escalar colinas, nos quedaríamos atascados en este lugar (cf.
figura 4.11). Sin embargo, si mutamos el tercer gen de su cromosoma de 1 a 0, entonces
obtendríamos un nuevo individuo, que tiene el cromosoma 01010111 (cf.
figura 5.4). Este punto de búsqueda tiene más posibilidades de alcanzar el máximo global.7
En la tercera fase, denominada evaluación de una población, se calculan los valores de la
función de aptitud para los individuos de la nueva población descendiente (cf. Fig. 5.2). Después
de la evaluación, se comprueba la condición de terminación del algoritmo. Si se cumple la
condición, seleccionamos al individuo con la mejor aptitud como nuestra solución del problema.
La condición de terminación se puede definir en base a un número fijo de generaciones
determinadas, el tiempo de cálculo, alcanzar un valor satisfactorio de la función de aptitud para
algún individuo, etc. Si la condición no se cumple, entonces el trabajo del algoritmo continúa (cf.
figura 5.2).
En esta sección hemos introducido nociones e ideas fundamentales para los algoritmos
genéticos. Como podemos ver, este enfoque se basa en intuiciones biológicas. Por supuesto, con
el propósito de construir un sistema de IA, debemos formalizarlo con nociones y modelos
matemáticos. El modelo de la cadena de Markov es una de las formalizaciones más elegantes
utilizadas en este caso. Este modelo se presenta en el Apéndice B.2.
6Dado que las mutaciones ocurren muy raramente en la naturaleza, asumimos una pequeña probabilidad en este
caso, por ejemplo, un valor del intervalo [0, 0.01]. Esta probabilidad es un parámetro del algoritmo.
7En los algoritmos genéticos, la mutación juega un papel secundario. Sin embargo, como veremos en secciones
posteriores, la mutación es un operador muy importante en otros métodos de computación evolutiva.
Machine Translated by Google
58 5 Computación evolutiva
X2
0111 4 8 6 7 8 7 6 8 4
0110 5 6 7 8 9 8 7 6 5 0111 0111
0101 6 7 8 9 10 9 8 7 6
MUT
0100 7 8 9 10 11 10 9 8 7
0011 6 7 8 9 10 9 8 7 6 0101 0111
0010 5 6 7 8 9 8 7 6 5
0001 4 5 6 7 8 7 6 5 4
0000 3 4 5 6 7 6 5 4 3 máximo global
X1
0000 0001 0010 0011 0100 0101 0110 0111 1000
Fig. 5.4 Aplicación del operador de mutación en un algoritmo genético
5.2 Estrategias de evolución
En el algoritmo genético discutido en la sección anterior, un individuo (una solución potencial)
ha sido codificado en binario. Tal representación es conveniente si buscamos un espacio de
soluciones discreto ,8 por ejemplo en el caso de un problema de optimización discreto. Las
estrategias de evolución fueron desarrolladas en la década de 1960 por Rechenberg [236] y
Schwefel [267] en la Universidad Técnica de Berlín para apoyar su investigación en problemas
de optimización numérica.9 En este enfoque, un individuo está representado por un par de
vectores (X , σ), donde X = (X1, X2,..., Xn) determina la ubicación del individuo en el espacio
de solución ndimensional (continuo),10 σ = (σ1, σ2,...,σn) es una cadena de parámetros del
método.11 Analicemos el esquema general de una estrategia de
evolución que se muestra en la figura 5.5a.
De manera similar al caso de los algoritmos genéticos, comenzamos con la inicialización y
evaluación de una población padre R de elementos μ. Luego, comenzamos el ciclo básico del
método, que consta de tres fases.
Durante la primera fase, se genera una población de descendientes del elemento λ O.
Cada descendiente se crea de la siguiente manera. En primer lugar, ρ individuos, que se utilizarán
8En la sección anterior de la figura 5.1 se definió un ejemplo de un espacio de solución discreta .
9La investigación sobre dinámica de fluidos se llevó a cabo en el Instituto Hermann Föttinger de
Hidrodinámica en TUB.
10Un vector X representa aquí el cromosoma del individuo, y sus componentes X1, X2,..., Xn, siendo
números reales, corresponden a sus genes.
11Un parámetro σi se usa para mutar un gen Xi .
Machine Translated by Google
5.2 Estrategias de evolución 59
para la producción de un descendiente dado, son elegidos.12 Estos "padres" se dibujan
con reemplazo de acuerdo con la distribución uniforme.13 Entonces, estos padres ρ producen una
“versión preliminar” del descendiente con el operador de cruce. Después
recombinación el elemento σ del cromosoma hijo, que contiene parámetros
del método, está mutado. Finalmente, una mutación del individuo, es decir, una mutación del
elemento X de su cromosoma, se realiza con la ayuda de los parámetros mutados
de σ.
En la segunda fase se realiza una evaluación de la población descendiente O. Esto es
realizado de manera análoga a los algoritmos genéticos, es decir, con la ayuda de la
función de acondicionamiento físico.
La tercera fase consiste en la selección de μ individuos para formar un nuevo progenitor
población P según los valores de la función de aptitud. Hay dos principales
enfoques de selección. En la selección del tipo (μ + λ) se elige entre
entre individuos que pertenecen tanto a la (antigua) población parental como a la descendencia
población. Esto significa que los mejores padres y los mejores hijos crean el próximo
generación.14 En la selección del tipo (μ, λ) elegimos individuos para formar la siguiente
generación de la población descendiente.
De manera similar a los algoritmos genéticos, una condición de terminación se verifica al final de
el ciclo. Si se cumple, se elige al mejor individuo como nuestra solución al problema.
De lo contrario, se inicia un nuevo ciclo (cf. Fig. 5.5a).
Después de describir el esquema general, introduzcamos una forma de denotar la evolución.
estrategias [23]. Suponemos una interpretación de los parámetros μ, λ, ρ como en la descripción
arriba. Si usamos la selección del tipo (μ + λ), entonces la estrategia de evolución se denota
por (μ/ρ + λ). Si usamos la selección del tipo (μ, λ), entonces la estrategia de evolución es
denotado por (μ/ρ, λ).
Ahora, presentamos una forma de definir operadores genéticos para estrategias de evolución.
Supongamos que ambos progenitores, Padre y Madre, se colocan en un espacio de solución.
, XF2 ) y XM = (X
METRO METRO
según vectores XF = (XF 1 1 ,
2x2
_ ), respectivamente, como se muestra
en la Fig. 5.5b.15 Dado que un individuo está representado por un vector de números reales, calcular
el promedio de los valores de los genes correspondientes que pertenecen a los padres
es la forma más natural de definir el operador de cruce. Por lo tanto, la posición
1 , XC2 ), donde XC 1 = (XF 1 + X 1 )/2
METRO
de Niño está determinada por el vector XC = (XC
y XC 2 = (XF 2 + X 2 )/2 (cf. Fig. 5.5b).
METRO
C
En caso de cruce por promedio, también calculamos σ tomando el promedio
Los valores F y σ M, que representan los parámetros del método. Un intercambio
de σ de genes individuales de los padres pueden ser una forma alternativa de crear descendencia.
12Esto significa que un “niño” puede tener más de dos “padres”.
13En primer lugar, esto significa que cada individuo tiene la misma oportunidad de engendrar una descendencia (el uniforme
distribución). En segundo lugar, cualquier individuo puede ser utilizado para reproducirse varias veces (dibujo con reemplazo). Esta
es la principal diferencia con respecto a los algoritmos genéticos, en los que el mejor ajuste
los individuos tienen mejores posibilidades de engendrar una descendencia (selección de rueda de ruleta, selección de clasificación).
14Como se puede ver, tratamos de mejorar la ley de la Naturaleza. Se da una “segunda vida” a los destacados
padres.
15 Se recomienda al lector que compare la figura 5.5b con la figura 4.11 en el capítulo anterior. Para mayor claridad allí
no hay eje h(X1, X2) correspondiente a la función de aptitud de la figura 5.5b.
Machine Translated by Google
60 5 Computación evolutiva
(a) inicialización y evaluación de la
población padre de elementos µ P
generación de la población descendiente
del elemento O mediante la aplicación
de operadores genéticos
evaluación de la población O
selección de µ individuos para formar una nueva
población parental P
selección del individuo con
mejor condición física de P
(b) X2
METRO
XM
X2
F
XC padre (madre)
(X2 +X2M )/2
F descendencia (niño)
X2
XF
F F
(X1 +X1 M)/2
METRO
padre (padre) X1 X1 X1
Fig. 5.5 a El esquema de una estrategia de evolución, b un ejemplo de cruce por promedio en una estrategia de evolución
Como hemos mencionado anteriormente, en primer lugar, la mutación se realiza para un
elemento σ, en segundo lugar para un elemento X. Una mutación del elemento σ consiste en
multiplicar cada uno de sus genes por un determinado coeficiente determinado por un número
aleatorio,16 que se genera de acuerdo con la distribución normal.17 Después de modificar el
vector σ, lo usamos para reemplazar al individuo en el espacio de solución, como se muestra en
la Fig. 5.6. Como podemos ver en la figura, la posición del individuo representado por X está
determinada por sus genes (coordenadas) X1 y X2. Ahora, podemos, por ejemplo, mutar su gen X1 agregando
16A veces, el coeficiente está determinado por varios números aleatorios.
17 Las definiciones formales de las nociones de la teoría de la probabilidad que se utilizan en este capítulo se encuentran
en el Apéndice B.1.
Machine Translated by Google
5.2 Estrategias de evolución 61
Fig. 5.6 Mutación de un X2 individuo
individuo en una evolución mutado Im
X m
estrategia metro
X2
2∙N2(0,1)
mutación
X2
X
individuo yo 1∙N1(0,1)
metro
X1 X1 X1
un número σ1 ∙ N1(0, 1), donde σ1 es su gen correspondiente —y el parámetro del método
— y N1(0, 1) es un número aleatorio generado según la distribución normal con un valor
esperado (promedio) igual a 0 y una desviación estándar igual a 1.
Notemos que el elemento σ = (σ1, σ2,...,σn) contiene parámetros que determinan qué
tan grande es una mutación.18 Como hemos visto, estos parámetros se modifican,19 lo que
significa que las estrategias de evolución son autoadaptativas. .
5.3 Programación evolutiva
En 1966, Lawrence J. Fogel introdujo un enfoque de la computación evolutiva que se
denominó programación evolutiva [99]. La idea principal de este enfoque difiere de los
métodos discutidos anteriormente. Una diferencia se refiere al nivel de abstracción en el que
se simulan los procesos de evolución. En algoritmos genéticos y estrategias de evolución,
los puntos de búsqueda en un espacio de solución corresponden a individuos en una población.
Sin embargo, en el caso de la programación evolutiva en lugar de individuos, tratamos con
una abstracción a nivel de especie.20 Esto influye, por supuesto, en cómo se construye el
método. En primer lugar, no hay operación de cruce, ya que no hay cruce entre especies.
En segundo lugar, una mutación se define de tal manera que los cambios radicales ocurren
con baja probabilidad y se prefieren cambios pequeños.
La segunda diferencia importante con respecto a los métodos presentados en las
secciones anteriores es el hecho de que en la programación evolutiva no asumimos ninguna
forma específica de representación de un individuo.21 Una representación de un individuo
18Los valores más grandes de estos parámetros provocan un cambio mayor en un individuo en un espacio de solución.
Estrictamente hablando, cuanto mayor sea el valor de un parámetro σk , más mutará el gen Xk , lo que corresponde a
mover al individuo a lo largo del eje Xk .
19Las probabilidades tanto de un cruce como de una mutación son parámetros constantes en los algoritmos genéticos.
20Recordemos que una población es un conjunto de individuos de una misma especie que viven en una misma zona. Así,
en el caso de la programación evolutiva deberíamos utilizar más bien el término biocenosis en lugar de población, que es
más correcto desde el punto de vista de la biología.
21Hemos asumido una representación binaria de individuos en algoritmos genéticos y vectores de números reales en
estrategias de evolución.
Machine Translated by Google
62 5 Computación evolutiva
Fig. 5.7 El esquema de inicialización y evaluación de la
la programación evolutiva población P
generación de descendientes de la población
O por mutación de cada individuo de la
población P
evaluación de la población O
generación de una nueva población P
mediante la selección de individuos de la
población actual P y la población O
selección de individuos
con la mejor condición física de P
vidual debe, simplemente, ser adecuado para un problema dado. En los proyectos de
programación evolutiva se utiliza una variedad de representaciones (vectores de longitud
variable, matrices, etc.) para definir modelos abstractos de problemas.
Ahora, presentamos un esquema de programación evolutiva, que se muestra en la Fig. 5.7.
La inicialización y evaluación de una población (padre) P es una fase preliminar. Entonces,
comenzamos el ciclo básico del método. En la primera fase se realiza la generación de la
población descendiente O mediante una mutación de cada individuo de la población P. La
mutación se realiza aleatoriamente según la distribución normal.
La segunda fase consiste en la evaluación de la población O. En la tercera fase se realiza la
generación de una nueva población P mediante una selección de individuos de la población P
actual y de la población O. En una versión estándar de programación evolutiva, se aplica una
selección de clasificación para este propósito. Luego, como en los métodos anteriores, se
prueba una condición de terminación. Si se cumple, elegimos al mejor individuo como solución
al problema. Si no, se inicia un nuevo ciclo.
A finales del siglo XX, David Fogel22 introdujo dos mejoras en la programación evolutiva.
En primer lugar, en lugar de la selección por clasificación, se aplica una determinada variante
de selección por torneo . La selección de torneos consiste en dividir una población en grupos
que normalmente contienen varios individuos y seleccionar a los mejores.
22David Fogel—investigador en el área de computación evolutiva. En su famoso proyecto de
investigación Blondie24, un sistema de IA basado en computación evolutiva se convirtió en un
experto en borradores en inglés (damas). Fogel ha sido presidente de IEEE Computational
Intelligence Society y editor en jefe de IEEE Transactions on Evolutionary Computation. Es hijo de Lawrence J.
Fogel.
Machine Translated by Google
5.3 Programación evolutiva 63
individuos de cada grupo por separado. Este método es especialmente útil para problemas de
optimización multicriterio, cuando optimizamos más de una función. En segundo lugar, D. Fogel
ha introducido mecanismos de autoadaptación similares a los utilizados en las estrategias de
evolución.
Dado que no se asume ninguna forma específica de representación de un individuo en la
programación evolutiva, el enfoque puede aplicarse a una variedad de problemas, por ejemplo,
sistemas de control, diseño farmacéutico, ingeniería eléctrica, diagnóstico de cáncer y
procesamiento de señales. En Inteligencia Artificial, el enfoque se utiliza no solo para resolver
problemas, principalmente problemas de optimización y combinatorios, sino también para
construir sistemas de autoaprendizaje.
De hecho, la historia de este enfoque comenzó en 1966 en el área de los sistemas de
autoaprendizaje. LJ Fogel en su artículo pionero [99] discutió el problema de la inducción de la
gramática formal,23 estrictamente hablando, el problema de sintetizar un autómata formal24
sobre la base de una muestra de oraciones pertenecientes a algún idioma. Un autómata formal
es un sistema utilizado para analizar un lenguaje formal. La síntesis de un autómata A por un
sistema de IA consiste en una construcción automática de A a partir de una muestra de
oraciones, que pertenecen a un lenguaje formal. LJ Fogel demostró que tal síntesis se puede
hacer a través de la programación evolutiva. En su modelo evoluciona un autómata formal
mediante la simulación de procesos de cruce y mutación para poder analizar un lenguaje
formal. Notemos una diferencia entre la resolución de problemas mediante algoritmos genéticos/
estrategias de evolución discutidas anteriormente y la resolución del problema de síntesis de
un autómata mediante el sistema de IA construido por LJ Fogel.
En el primer caso, la generación de la solución de un problema es el objetivo del método,
mientras que en el segundo caso queremos generar un sistema (autómata) que resuelva una
determinada clase de problemas (un análisis formal del lenguaje). Tal idea aparecería veinte
años después en el trabajo de ML Cramer, que se refiere a la programación genética. Este
enfoque se presenta en la siguiente sección.
5.4 Programación genética
Aunque la programación genética fue popularizada en la década de 1990 por John Koza
debido a su conocida monografía [172], la idea principal de este enfoque fue introducida en
1985 por Cramer [61]. En la programación genética, en lugar de buscar un espacio de solución
con la ayuda de un programa, que se implementa sobre la base de los principios de la teoría
de la evolución, se crea una población de programas. Luego, se busca en un espacio de
programas para encontrar el que pueda resolver una clase de problemas de manera
satisfactoria. Por supuesto, tenemos que definir una función para evaluar la calidad (adecuación)
de tales programas. Así, la síntesis automática de un programa informático para resolver un
problema dado es el objetivo de la programación genética. Este objetivo se ha extendido a otros
23Este problema se discute en la Secc. 8.4.
24 Los autómatas formales se introducen en la sec. 8.2.
Machine Translated by Google
64 5 Computación evolutiva
sistemas en las ciencias técnicas, tales como circuitos digitales (electrónica), controladores
(control automático), etc.25
Para lograr un objetivo tan ambicioso, un diseñador humano tiene que entregar
cierto conocimiento a un sistema de IA [173]. En primer lugar, el sistema tiene que saber qué
Los componentes se utilizarán para generar una solución. En el caso de un sistema de software
síntesis, operaciones aritméticas, funciones matemáticas y varias instrucciones
de un lenguaje de programación son dichos componentes. En el caso de un circuito digital
síntesis AND, OR, NOT, NAND, NOR puertas lógicas, varios flipflops, etc. son tales
componentes En segundo lugar, un diseñador humano tiene que definir la función de aptitud. Parece
que este es el problema más difícil. Para definir la función de aptitud, uno tiene que
formalizar con precisión la tarea de un sistema sintetizado. Resolver problemas que pertenecen
a una cierta clase es, por supuesto, el principal objetivo de un sistema sintetizado. De este modo,
los sistemasindividuos deben evolucionar para resolver los problemas de manera satisfactoria.
En otras palabras, la función de aptitud debe definir qué tan bien el sistema resuelve estos
problemas. En tercer lugar, un diseñador humano debe proporcionar parámetros de control como el
tamaño de la población, la probabilidad de aplicar operadores genéticos, la terminación
condición, etc
En la programación genética, los programas suelen representarse mediante estructuras de árbol
o gráfico. En la figura 5.8a, la expresión−b/2a se representa con la ayuda de una estructura de árbol.
Todas las expresiones de un lenguaje de programación se pueden representar con una representación
de árbol de este tipo. La forma específica de los “cromosomas” de los individuos resulta en la
forma específica de los operadores genéticos. Una mutación se muestra en las Figs. 5.8ay 5.8c . A
parte del primer árbol, que está mutado, el subárbol −b (está rodeado por una línea discontinua
en la Fig. 5.8a) se elimina. Un subárbol que representa la expresión −b − √ (rodeado
por una línea discontinua en la Fig. 5.8c) se une al árbol en lugar de la parte eliminada. Un árbol
−b − √
que representa la expresión operador se obtiene como resultado de esta mutación. A
2a
de cruce que consiste en intercambiar subárboles de árboles (individuos). crucemos
un árbol que se ha obtenido como resultado de la mutación (Fig. 5.8c) y un árbol que
a + b
representa la expresión que se muestra en la figura 5.8b. las partes de la
−b + √,
Los "cromosomas" que se intercambian están rodeados por una línea discontinua. Como resultado de
el cruce obtenemos el árbol que se muestra en la Fig. 5.8d, que representa la expresión
a + b
(no es interesante), y el árbol que se muestra en la Fig. 5.8e, que representa
−b − √
−b + √
la interpretación . Esta segunda expresión tiene un conocido significado matemático.
2a
de la expresión, al igual que la expresión inicial −b/2a que se muestra en la figura 5.8a.
Notemos que tenemos que formular la función de aptitud bien definida para
generar (con operadores genéticos) un sistema que resuelva cierta clase de problemas.
La función de aptitud dirige las acciones de los operadores genéticos. En programa genético
25Si analizamos las aplicaciones de la programación genética, parece que la síntesis de sistemas de
la electrónica o el control automático es más fácil que la síntesis de sistemas de software.
Machine Translated by Google
5.4 Programación genética sesenta y cinco
/ −b / 2a
(a)
−b −
. 2 ∙ un
b 2 a
MUT
a + b −b−
(b) (C)
−b + 2a
/ /
+ + − .
a b − − 2 a
b b
+ − +
.
a b − − 2 a
b b
Fig. 5.8 a Una expresión ejemplar de un lenguaje de programación que está codificado como una estructura de árbol
y su mutación, b, c el cruce de dos estructuras, d, e estructuras descendientes que son resultados
del cruce
ming cruzando soluciones razonables es un operador básico. El operador de mutación juega
un papel auxiliar.
Sobre la base de la programación genética, un enfoque muy interesante, llamado
programación metagenética, fue definido en 1987 por Jürgen Schmidhuber de la Technical
Universidad de Múnich [265]. En este enfoque, tanto los cromosomas como los operadores
genéticos evolucionan por sí mismos, en lugar de ser determinados por un diseñador humano. Así, un
El sistema de programación metagenética evoluciona con la ayuda de la programación genética.
Douglas utilizó un enfoque similar para construir el sistema Eurisko.
Lenat26 en 1976. El sistema, que se basa en reglas heurísticas, también contiene metarreglas
que le permiten cambiar estas reglas heurísticas.
26Douglas Lenat—profesor de informática en la Universidad de Stanford y CarnegieMellon
Universidad. Un presidente de Cycorp, Inc., que investiga la construcción de un sentido común
base de conocimiento (ontología) Cyc.
Machine Translated by Google
66 5 Computación evolutiva
5.5 Otros modelos inspirados en la biología
Los modelos basados en la biología se han utilizado para desarrollar otros métodos interesantes en
Inteligencia Artificial. Los métodos más conocidos incluyen la inteligencia de enjambre, presentada
por Gerardo Beni y Jing Wang en 1989 [22], y los Sistemas Inmunes Artificiales, desarrollados por
Farmer et al. [86] en 1986.
Modelar un sistema de IA como una población autoorganizada de individuos autónomos que
interactúan entre sí y con su entorno es la idea principal de la inteligencia de enjambre. Un individuo
puede tomar la forma de un agente, las observaciones en acciones para 27 que transforma
lograr un objetivo preespecificado. También puede adoptar la forma de un cuerpo introducido por
Craig Reynolds en 1987 [238]. Los boids cooperan en una parvada de acuerdo con tres reglas: una
regla de separación (mantener la distancia requerida de otros boids para evitar aglomeraciones), una
regla de cohesión (mover hacia el centro de masa de la parvada para evitar fragmentar la parvada) y
una regla de alineación ( moverse en la dirección del objetivo promedio de la bandada). Hay muchos
algoritmos definidos usando este enfoque.
Los algoritmos Ant Colony Optimization, ACO, fueron propuestos por Marco Dorigo en 1992 [72]. Los
agentes se modelan como "hormigas artificiales", que buscan soluciones en un espacio de solución y
establecen "rastros de feromonas". Los valores de feromonas aumentan para los lugares prometedores,
mientras que para los lugares que no se visitan con frecuencia, las feromonas se “evaporan”. Esto da
como resultado que más y más hormigas visiten áreas prometedoras del espacio de solución [298].
Particle Swarm Optimization, PSO, es un método para buscar la mejor solución en un espacio de
solución ndimensional. Fue introducido por Russell Eberhart y James Kennedy en 1995 [82]. Una
solución es buscada por un enjambre de partículas que se mueven en el espacio de la solución. El
enjambre se mueve en una dirección de líderes, es decir, partículas que tienen los mejores valores de
función de aptitud. Cada vez que se encuentra una solución mejor, el enjambre cambia su dirección
de movimiento y acelera en esta nueva dirección. Los experimentos han demostrado que el método
es resistente a los problemas relacionados con los extremos locales.
Los Sistemas Inmunes Artificiales, AISs[43], se utilizan principalmente para resolver problemas
relacionados con la detección de anomalías. La idea de diferenciar entre casos normales/“propios” y
casos patológicos/“ajenos” se basa en el sistema inmunológico de un organismo biológico.
Todos los casos que no son “similares” a los casos conocidos se clasifican como anomalías. Cuando
aparece un caso desconocido y sus características son similares a las reconocidas por uno de los
detectores de anomalías, se asume que se trata de un “alienígena” y dicho detector se activa. El
detector activado se “procesa” con operadores como mutación y duplicación. De esta forma el sistema
aprende a reconocer casos patológicos.
Nota bibliográfica
Se puede encontrar una introducción general al campo en [83, 65, 169, 201, 260]. Los algoritmos
genéticos se analizan en [111, 139], las estrategias de evolución en [268], la programación evolutiva
en [100] y la programación genética en [172].
27Los sistemas de agentes se analizan en el cap. 14 Por lo tanto, no los definimos en esta sección.
Machine Translated by Google
Capítulo 6
Razonamiento basado en lógica
En este capítulo se analizan dos modelos de resolución de problemas que se basan en la
lógica, el razonamiento como demostración de teoremas y el razonamiento como cálculo
simbólico. Ambos modelos se implementan en sistemas de IA con la ayuda del paradigma
de programación declarativa, que se introdujo en la Secc. 2.2.
En un lenguaje de programación que pertenece al paradigma declarativo, el control de la ejecución de un
programa de computadora sigue un cierto esquema general (estándar).
Un esquema general significa aquí el mismo esquema para todos los posibles programas1 codificados en este
lenguaje. En la práctica, esto significa que dicho lenguaje debe basarse en un modelo formal muy preciso, que
permita que un sistema de razonamiento interprete un programa de manera inequívoca.2 En un método basado
en la demostración de teoremas, dicho modelo formal preciso se basa en el sintaxis de la lógica de primer
orden (FOL) y las reglas de inferencia FOL,3 especialmente la regla de inferencia de resolución. En un método
basado en el cálculo simbólico, el cálculo lambda es uno de esos modelos formales precisos.
El razonamiento como prueba de teoremas se analiza en las siguientes secciones de la siguiente manera.
• La descripción del mundo con la ayuda de la Lógica de Primer Orden. En la primera sección se analiza una
forma de representar algún aspecto del mundo real con la ayuda del lenguaje FOL. Introducimos reglas
fundamentales de inferencia que se basan en tal representación.
• El método de resolución de la inferencia. En la segunda sección se introduce un método básico de
razonamiento que se utiliza en los sistemas de IA, es decir, el método de resolución.
1Por supuesto, nos referimos a programas que son correctos sintácticamente.
2 Como hemos mencionado en la Secc. 2.2, no especificamos cómo debe ejecutarse un programa en el paradigma
declarativo.
3Una regla de inferencia en FOL no debe confundirse con la noción de una regla en los sistemas basados en reglas, que
son una subclase de los sistemas expertos. En el primer caso, las reglas de inferencia son fórmulas de esquemas de
razonamiento (por ejemplo, la regla modus ponendo ponens ), que se utilizan para procesar axiomas, que se almacenan
en una base de conocimiento. Estos axiomas son hechos, que se refieren al dominio de una aplicación del sistema de IA,
o principios (reglas), que son válidos en este dominio. En el segundo caso (sistemas basados en reglas) las reglas son
equivalentes de tales axiomasprincipios, que son válidos en el dominio.
© Springer International Publishing Suiza 2016 M. Flasi ́nski, 67
Introducción a la Inteligencia Artificial, DOI
10.1007/9783319400228_6
Machine Translated by Google
68 6 Razonamiento basado en la lógica
• Técnicas para transformar fórmulas FOL a formas estándar (normales). Se puede aplicar un método de
resolución, si las fórmulas FOL se expresan en formas especiales, llamadas formas normales. En la
tercera sección se presentan técnicas para transformar fórmulas a tales formas.
• Formas especiales de fórmulas FOL en sistemas de razonamiento. Si un problema se describe utilizando
fórmulas en formas normales, podemos comenzar la fase de implementación de la construcción de un
sistema de IA. En la cuarta sección se introducen formas especiales de fórmulas FOL, que son
convenientes para implementar sistemas de IA.
Razonamiento como computación simbólica, que se basa en Abstract Rewrite Sys
Los elementos, ARS y cálculo lambda (cálculo λ) se analizan en la quinta sección.
Todas las nociones formales relativas a la Lógica de Primer Orden, el método de resolución y
el cálculo lambda están contenidos en los Apéndices C.1, C.2 y C.3, respectivamente.
6.1 Descripción del mundo con lógica de primer orden
Para razonar usando la demostración de teoremas, debemos describir un aspecto del mundo que nos
interese con la ayuda de la lógica de primer orden. Para tal descripción se utilizan los siguientes elementos,
denominados términos .
• Símbolos de constantes individuales, que corresponden a objetos tales como seres humanos, animales,
edificios, etc. Ejemplos de constantes individuales incluyen: Juan III Sobieski (Rey de Polonia), Castillo
de Wawel en Cracovia, Norcia ( una constante individual que corresponde a un objeto individual, que
es un perro de la raza Yorkshire Terrier y pertenece a mi hija).
• Símbolos de variables individuales, que se extienden sobre objetos individuales, generalmente denotados
por x, y, z, etc.
• Símbolos de función, que atribuyen objetos a otros objetos, por ejemplo, raíz cuadrada(), longitud(),
padre().
Además, se agregan símbolos de predicado al lenguaje FOL. Podemos tratarlas como funciones
definidas sobre términos que dan uno de dos valores: Verdadero o Falso. Los ejemplos de predicados
incluyen is_less_than(), is_high(), is_brother_of(). Por ejemplo, el valor del predicado es_menor_que(4, 9),
es decir, en notación aritmética estándar 4 < 9, es Verdadero y el valor del predicado es_menor_que(3, 1),
es decir, en notación aritmética estándar 3 < 1, Es falso. Un predicado con argumentos fijos se llama
fórmula atómica.
Finalmente, agregamos los símbolos lógicos ¬ (no es cierto que…), (… y…), (… o…), (si…,
entonces…), (…es equivalente a…), y cuantificadores (para cada…), (existe… tal que). Con la
ayuda de estos símbolos podemos definir fórmulas. Por ejemplo, una fórmula que establece que para cada
objeto individual x se cumple lo siguiente: "Si x ladra, entonces x es un perro". se puede definir de la
siguiente manera: x [ladra(x) es_perro(x)].
Una fórmula que establece que existen gatos negros, estrictamente hablando que existe un objeto individual
y tal que y es negro e y es un gato, puede definirse como sigue: y [negro(y) es_gato(y)].
Machine Translated by Google
6.1 Descripción del mundo con lógica de primer orden 69
Los cuantificadores unen variables en fórmulas. En las fórmulas definidas anteriormente, una variable
x está limitada por un cuantificador y una variable y está limitada por un cuantificador . Las variables
que no están limitadas por cuantificadores en una fórmula se denominan variables libres. Las fórmulas
que no contienen variables libres se denominan oraciones de FOL.
Después de presentar la sintaxis de FOL, definiremos su semántica. La semántica nos permite referir
fórmulas al mundo, que contiene objetos individuales representados por símbolos constantes individuales.
Un conjunto de objetos individuales se llama universo.
Las relaciones que se dan entre los elementos del universo se describen con símbolos de predicado. Las
funciones definidas en el universo se representan mediante símbolos de función.
Una asignación de objetos, funciones y relaciones individuales a símbolos constantes individuales,
símbolos de función y símbolos de predicado, respectivamente, se denomina interpretación . En otras
palabras, una interpretación es una asignación de significado a elementos del lenguaje FOL. Expliquemos
estas nociones con el siguiente ejemplo.
S
Supongamos que tenemos un conjunto de símbolos de constantes individuales = {a, d}, un conjunto
de variables X = {x, y} y un conjunto de símbolos de predicado de dos argumentos = {pL, pR}.
PAG 2
Supongamos que todos ellos son elementos utilizados para definir fórmulas atómicas. Determinemos un
universo U como se muestra en la figura 6.1a. Como podemos ver, el universo consiste en cierto
automóvil y cierto árbol. Entonces, definamos una interpretación I como sigue: I(c) = automóvil, I(t) =
árbol, I(pL) = izquierda_de, I(pR) = derecha_de (cf. Fig. 6.1b) y se cumple lo siguiente : el árbol está a la
derecha_del automóvil y el automóvil está a la izquierda_del árbol (cf. Fig. 6.1c). Podemos describirlo por
(árbol, automóvil) derecha_de y (automóvil, árbol) izquierda_de. Un par (U, I) se llama estructura y
lo denotamos por A.
Fig. 6.1 Un ejemplo de
semántica FOL: a el (a)
universo, b la interpretación, c la
estructura
(b)
(C)
Machine Translated by Google
70 6 Razonamiento basado en la lógica
Antes de discutir la semántica de las fórmulas, tenemos que definir una interpretación (valor) de un
término. Para las variables4 introducimos, en primer lugar, una asignación (valoración), que se denota por .
Asigna un elemento del universo a una variable. Supongamos, por ejemplo,
que (x) = coche, (y) = árbol. Después de determinar la asignación , estamos en condiciones de definir nosotros
una interpretación para un término t, que en nuestro caso es una variable, en una estructura A. Esta se
A
define de la siguiente manera: | t | = (t). Así, para nuestras variables la
A A
siguientes retenciones: | x | = (x) = coche, y | y| Ahora, = (y) = árbol.
podemos discutir el tema de relacionar las fórmulas FOL con un aspecto del mundo que describen. En
primer lugar, nos gustaría saber si cierta fórmula describe una “parte” del mundo de manera adecuada.
En caso afirmativo, decimos que la fórmula se cumple en la estructura A bajo la asignación , que se denota
(A, ) |= .
Consideremos la satisfacción de una fórmula, continuando con nuestro ejemplo del universo que
consiste en el carro y el árbol. Consideraremos una fórmula atómica simple de la forma: pL(x, y). Por lo
tanto, nos preguntamos si:
(A, ) |= pL(x, y). (6.1)
Según la definición de satisfacción de una fórmula,5 para un predicado símbolo p
A A
se supone que: (A, ) |= p(t1,..., tn) si y solo si (| t1 | Así, podemos escribir (6.1) ,..., | tn | ) pA.
como:
A A
(| x | , | y| ) izquierda_de. (6.2)
Después de aplicar la definición de una interpretación de una variable con la ayuda de una asignación, la
expresión (6.2) se puede escribir en la forma:
Finalmente, después de aplicar la asignación definida anteriormente obtenemos:
Esto es consistente con la definición de la estructura A. Por lo tanto, la fórmula pL(x, y) se cumple en la
estructura A bajo la asignación .
En el Apéndice C.1 se presenta una jerarquía de características de las fórmulas desde el punto de vista
semántico. Una fórmula válida (tautología) está en la parte superior de la jerarquía.
Tal fórmula se cumple en cada estructura bajo cada asignación.
En los sistemas de IA, no verificamos las fórmulas de la forma presentada anteriormente por razones
prácticas. Los sistemas utilizados para la verificación de fórmulas desconocidas infieren sobre la base de
4No discutimos aquí todas las definiciones relacionadas con la semántica FOL. Se incluyen en el Apéndice C.1.
5Véase la Definición C.12 en el Apéndice C.1.
Machine Translated by Google
6.1 Descripción del mundo con lógica de primer orden 71
fórmulas que se consideran verdaderas.6 Estos sistemas consisten en al menos los dos
siguientes componentes.
• Los axiomas son fórmulas que se consideran verdaderas. Constituyen la base
base de conocimiento en un sistema de razonamiento.
• Las reglas de inferencia son patrones que se utilizan para derivar nuevas fórmulas a partir de
1, 2,..., n
fórmulas conocidas. Una regla de inferencia se escribe en la forma , dónde
ψ1, ψ2,..., ψk
1, 2,..., n son fórmulas de entrada y ψ1, ψ2,..., ψk son las fórmulas resultantes.
La regla modus ponendo ponens es una de las reglas fundamentales de inferencia. Él
se formula de la siguiente manera:
ψ,
. (6.5)
ψ
La regla dice que si hay dos fórmulas y la primera fórmula tiene la forma de un
implicación y la segunda fórmula es un antecedente de esta implicación, entonces podemos
generar la fórmula que es el consecuente de esta implicación.
La regla de instanciación universal también es una regla muy útil:
donde a es un símbolo constante individual. Intuitivamente, la regla dice que si algo
es cierto para cada elemento de una clase de individuos, entonces es cierto para un elemento particular
de esta clase
En nuestras consideraciones posteriores también utilizaremos la regla de implicación material:
ψ
. (6.7)
¬ ψ
La regla nos permite reemplazar una implicación por una disyunción.
Ahora, presentamos un ejemplo simple de procesamiento en un sistema de razonamiento. Nos deja
suponga que una base de conocimiento contiene el axioma:
Supongamos que podemos agregar nuestro nuevo axioma a la base de conocimiento después de hacer
alguna observación:
ladra (Norcia). (6.9)
(Hemos observado que un individuo Norcia está ladrando.)
6 Las nociones formales, que conciernen al razonamiento en lógica, están contenidas en el Apéndice F.2.
Machine Translated by Google
72 6 Razonamiento basado en la lógica
Ahora, podemos hacer la pregunta "¿Norcia es un perro?" al sistema de razonamiento:
es_perro(Norcia) (???). (6.10)
En otras palabras, nos gustaría pedirle al sistema que “demuestre” el teorema (6.10) sobre la base
de sus axiomas y con la ayuda de reglas de inferencia.
En primer lugar, el sistema aplica la regla universal de instanciación (6.6) al axioma (6.8):
x[ladra(x) es_perro(x)]
, (6.11)
ladra(Norcia) es_perro(Norcia)
lo que resulta en la generación de la fórmula:
Luego, el sistema aplica la regla modus ponendo ponens (6.5) a las fórmulas (6.12) y (6.9):
ladra(Norcia) es_perro(Norcia), ladra(Norcia)
, (6.13)
es_perro(Norcia)
lo que resulta en la generación de la fórmula:
es_perro(Norcia). (6.14)
Así, el sistema responde “Sí” a nuestra pregunta (6.10).
6.2 Razonamiento con el Método de Resolución
En el apartado anterior se ha presentado la idea general del procesamiento en un sistema de IA
basado en razonamiento lógico. En la práctica, esta forma de razonamiento no es conveniente
para diseñar sistemas de IA. Dichos sistemas deberían poder razonar sobre la base de unas
pocas reglas de razonamiento y hechos. El método de resolución desarrollado por J. Alan
Robinson7 nos permite construir eficientes sistemas de razonamiento basados en la lógica.
El método de resolución se basa en la demostración de teoremas por contradicción (en latín
reductio ad absurdum).8 Para probar una proposición, primero la negamos y luego mostramos
que esto resulta en una contradicción con respecto a los supuestos verdaderos. El método se
puede definir de la siguiente manera.
7John Alan Robinson—filósofo, matemático e informático, profesor de la Universidad de Syra cuse. Su investigación se centra
principalmente en la demostración automatizada de teoremas y la programación lógica.
Es uno de los fundadores de la prestigiosa Revista de Programación Lógica.
8Significa: reducir al absurdo.
Machine Translated by Google
6.2 Razonamiento con el Método de Resolución 73
• Si queremos probar que una fórmula ψ, que es nuestra hipótesis, resulta de un conjunto
de fórmulas 1, 2,..., n, que son nuestros axiomas, entonces
• creamos la negación de la fórmula ¬ψ, agregamos esta negación al conjunto de fórmulas 1,
2,..., n, y tratamos de derivar la cláusula vacía, denotada por , que representa el valor
lógico Falso.
Si logramos derivar la cláusula vacía, entonces esto significa que la fórmula ψ se sigue del
conjunto de fórmulas 1, 2,..., n. Así, el sistema de razonamiento prueba la fórmula ψ a partir
de los axiomas.
Ahora, introduzcamos una regla de inferencia para el método de resolución. La regla de
resolución se puede definir en su forma más simple de la siguiente manera9:
y la regla de derivación de la cláusula vacía:
¬α, α
. (6.17)
9En el caso general, la regla de resolución se define para disyunciones que consisten en cualquier número (finito)
¬α β1 ∙∙∙ βk , α γ1 ∙∙∙ γn
de elementos de la siguiente manera: .
β1 ∙∙∙ βk γ1 ∙∙∙ γn
10Si una fórmula de implicación es de la forma: “Si Condición1 y Condición2 y… y Condiciónn, entonces
Resultado”, formalmente hablando C1 C2 ∙∙∙ Cn R, entonces generamos una cláusula ¬C1 ¬C2
∙∙∙ ¬Cn R. Esta cláusula contiene como máximo un literal positivo.
11Alfred Horn—profesor de matemáticas en la Universidad de California, Berkeley. Introdujo esta forma en 1951.
Los resultados de su investigación en las áreas de álgebra universal y teoría de celosías son muy importantes en
la programación lógica.
Machine Translated by Google
74 6 Razonamiento basado en la lógica
Ahora, consideramos cómo se puede usar el método de resolución para nuestro ejemplo anterior
de Norcia, que ladra. Comencemos por el paso en el que se elimina el cuantificador universal del
axioma (6.8). Entonces, hemos obtenido una fórmula (6.12) en forma de implicación. Ahora, tenemos
que transformarlo en la forma de una cláusula. Hacemos esto con la ayuda de la regla de implicación
material (6.7):
ladra(Norcia) es_perro(Norcia)
, (6.18)
¬ladra(Norcia) es_perro(Norcia)
y generamos una fórmula equivalente de la forma:
Ahora, podemos usar el método de resolución. Para probar la cláusula (6.10), creamos su negación:
¬es_perro(Norcia) (6.20)
y tratamos de derivar la cláusula vacía de un conjunto que contiene axiomas y la cláusula negada. En
nuestro caso usamos la fórmula (6.16), ya que la hipótesis (6.20) tiene la forma (especial) de una
fórmula atómica (no una disyunción).
Hay dos cláusulas, (6.9) y (6.19), en nuestro conjunto de axiomas. Elijamos la cláusula (6.19) para
aplicarla en la regla de resolución. Después de una aplicación de la regla de resolución a las cláusulas
(6.19) y (6.20), es decir,
¬es_perro(Norcia), ¬ladra(Norcia) es_perro(Norcia)
, (6.21)
¬ladra(Norcia)
obtenemos una nueva cláusula:
¬ladra(Norcia). (6.22)
Apliquemos la regla de resolución una vez más, esta vez a la cláusula recién generada (6.22) y la
segunda cláusula del conjunto de axiomas (6.9). Como podemos ver a continuación, obtenemos la
cláusula vacía según la regla (6.17):
¬ladra(Norcia), ladra(Norcia)
. (6.23)
Resumiendo, negando una cláusulahipótesis (6.10) y usando esta negación con el conjunto de
axiomas, podemos derivar la cláusula vacía con el método de resolución.
Esto significa que la cláusula (6.10) se sigue del conjunto de axiomas, por lo que el sistema de
razonamiento ha completado la demostración.
Un solo paso de prueba con el método de resolución se puede representar mediante el árbol que
se muestra en la Fig. 6.2a (cf. fórmula (6.15)). Las hojas del árbol corresponden a cláusulas en
conflicto. La raíz del árbol representa un disolvente. Una prueba completa se representa con la ayuda
de un árbol de resolución, que muestra los pasos de prueba sucesivos, como se ilustra para nuestro
ejemplo en la figura 6.2b.
Machine Translated by Google
6.2 Razonamiento con el Método de Resolución 75
(a)
(b)
(6.20) es_perro(Norcia) (6.19) es_perro(Norcia) v ladra(Norcia)
(6.22) ladra (Norcia) (6.9) ladra (Norcia)
Fig. 6.2 Un árbol de resolución
Después de presentar la idea principal del método de resolución, discutimos un cierto
problema relacionado con su aplicación práctica. Se trata de emparejar fórmulas de
entrada durante una aplicación de reglas de inferencia. Supongamos que nos gustaría
usar la regla (6.5). Las fórmulas de entrada se expresan en la forma: ψ, . Por
supuesto, esto no significa que el antecedente de una implicación de la primera fórmula
y la segunda fórmula deba ser el mismo literalmente. Es suficiente que puedan
transformarse en la misma forma con sustituciones adecuadas. Podemos reemplazar
variables por términos.12 La operación de transformar fórmulas a la misma forma
mediante una sustitución se llama unificación de estas fórmulas. Por ejemplo, sean
dadas dos fórmulas: una fórmula α de la forma:
¬P(x, f(u)) R(z, d) Q(g(b), y), (6.24)
y una fórmula β de la forma:
Para unificarlos debemos usar la sustitución:
σ = {a/x, c/z, f(u)/w, g(b)/v}. (6.26)
12 Por supuesto, no todas las sustituciones están permitidas. Por ejemplo, no se permite la sustitución de una
variable por un término que contenga esa variable.
Machine Translated by Google
76 6 Razonamiento basado en la lógica
(La notación a/x tiene la siguiente interpretación. Si x aparece en una fórmula, entonces
reemplace x con a).
Entonces, una aplicación de la sustitución σ a la fórmula α da la fórmula
denotado α[σ], que es de la forma:
y una aplicación de la sustitución σ a la fórmula β da la fórmula denotada β[σ], que es de
la forma:
Como se puede ver, las fórmulas α[σ] (6.27) y β[σ] (6.28) son idénticas. Una sustitución σ
que hace que las fórmulas α[σ] y β[σ] sean idénticas se denomina unificador de α y β.
6.3 Métodos para transformar fórmulas en formas normales
Al presentar el método de resolución, hemos descuidado un tema muy importante que se
refiere a su aplicación práctica. En los sistemas de IA, aplicamos el método de resolución
a las fórmulas, que se expresan en formas especiales llamadas formas normales. En esta
sección transformaremos fórmulas FOL para obtener fórmulas en forma normal conjuntiva.
13
Antes de que una fórmula adquiera tal forma final, debe transformarse en una
serie de formas temporales, que son el resultado de operaciones de normalización. Estas
operaciones se basan en las reglas de FOL. Ahora, presentamos estas operaciones y las
formas relacionadas con ellas de manera
intuitiva.14 En primer lugar, una fórmula se transforma en forma normal de negación.
La transformación consiste en eliminar los operadores lógicos de implicación ( ) y
equivalencia ( ) y luego mover los operadores de negación para que ocurran
inmediatamente antes de las fórmulas atómicas. Por ejemplo, la fórmula:
después de eliminar el operador de implicación se transforma en la siguiente forma:
13En el apartado anterior hemos aprovechado que la fórmula de partida (6.19) ya estaba en forma conjuntiva
normal.
14Las reglas de normalización de fórmulas se analizan en detalle en monografías sobre los fundamentos
matemáticos de la informática, que se enumeran al final de este capítulo en una lista bibliográfica.
nota.
Machine Translated by Google
6.3 Métodos para transformar fórmulas en formas normales 77
y después de mover los operadores de negación, se transforma en la siguiente forma normal de
negación:
Luego, la fórmula (6.31) se transforma a la forma normal prenex, moviendo todos los
cuantificadores al frente de la misma, lo que da como resultado la siguiente fórmula:
Como podemos ver, en el caso de nuestra fórmula todas las variables están dentro de los alcances
de los cuantificadores universales. Así, los cuantificadores son, de algún modo, redundantes y
podemos eliminarlos,15 llegando a la siguiente fórmula:
Cierto problema relacionado con las variables cuantificadas puede aparecer cuando movemos
los cuantificadores al frente de las fórmulas. Lo comentamos con la ayuda del siguiente ejemplo.
Deje que una fórmula se defina de la siguiente manera:
Uno puede ver fácilmente que la primera variable y (después del cuantificador ) “es diferente” de
la segunda y (después del cuantificador ). Por lo tanto, antes de mover los cuantificadores al
frente de la fórmula, debemos cambiar el nombre de las variables para que sean distintas.16 Por lo
tanto, transformamos la fórmula (6.34) en la siguiente fórmula:
En nuestras consideraciones anteriores, hemos dicho que los cuantificadores universales se
pueden eliminar después de mover los cuantificadores al frente de la fórmula. ¿Y qué se debe hacer
con los cuantificadores existenciales, si aparecen en una fórmula? Si los cuantificadores existenciales
ocurren en una fórmula, hacemos uso del método desarrollado por Skolem17 [276], llamado
Skolemización. Definimos este método de forma intuitiva con el siguiente ejemplo.
Sea una fórmula de la siguiente forma:
x[ ¬le gusta_la_música_barroca(x)
15Podemos tener en cuenta que están al principio de la fórmula.
16Después de mover los cuantificadores al frente, no vemos qué cuantificador se relaciona con qué parte de
una conjunción.
17Thoralf Albert Skolem—profesor de matemáticas en la Universidad de Oslo. Su trabajo, que se refiere a la
lógica matemática, el álgebra y la teoría de conjuntos (teorema de LöwenheimSkolem) es de gran importancia
en los fundamentos matemáticos de la informática.
Machine Translated by Google
78 6 Razonamiento basado en la lógica
La segunda parte de la disyunción dice que existe tal persona y que a una persona x le gusta la
música compuesta por y y y es un compositor barroco. Si es así, entonces, de acuerdo con
Skolemization, podemos definir una función F, que atribuye este compositor barroco (favorito) a x,
es decir, F(x) = y. Ahora, si reemplazamos y con F(x), entonces podemos eliminar el cuantificador
existencial y en la fórmula (6.36).18 Por lo tanto, podemos transformar la fórmula (6.36) en la
siguiente fórmula:
x[ ¬le gusta_la_musica_barroca(x)
En el caso general, podemos formular Skolemization de la siguiente manera:
• analizar cuantificadores sucesivos de izquierda a
derecha, • si un cuantificador existencial de la forma y está precedido por cuantificadores
universales: x1, x2,..., xn, entonces introducir una función única F(x1, x2, ..., xn), reemplace
todas las apariciones de la variable y con la función F(x1, x2,..., xn), y elimine y, • si un
cuantificador existencial de la forma y no está precedido por ningún cuantificador universal, luego
introduzca una constante a, reemplace todas las ocurrencias de la variable z con la constante a,
y elimine z.
La función F(x1, x2,..., xn) se llama función de Skolem. La constante a se llama constante de Skolem.
Al final de esta sección, volvamos a nuestro ejemplo anterior sobre un estudiante. Hemos
transformado la fórmula en una forma sin cuantificadores (6.33). Podemos transformar la fórmula
19 Nuestra fórmula
(6.33) a la Forma Normal Conjuntiva, CNF.
en la forma CNF se expresa como una conjunción de disyunciones de la siguiente manera:
(estudiante(x) ¬de_licencia(x))
La Forma Normal Conjuntiva es el resultado final de nuestras operaciones de normalización.
6.4 Formas especiales de fórmulas FOL en sistemas de razonamiento
Las fórmulas expresadas en forma normal conjuntiva con frecuencia se simplifican aún más en los
sistemas de razonamiento para mejorar la eficiencia de los algoritmos de combinación de fórmulas.
Como sabemos que una fórmula CNF es una conjunción de cláusulas, podemos eliminar los
símbolos de conjunción y dividir la fórmula en axiomas más simples. Tales axiomas más simples se almacenan
18Después de tal reemplazo, la variable y “desaparece”, por lo que el cuantificador y no cuantifica ninguna variable. Como
resultado, podemos eliminarlo.
6.4 Formas especiales de fórmulas FOL en sistemas de razonamiento 79
en una base de conocimientos. En nuestro caso, la fórmula (6.38) se puede transformar en un conjunto que
consta de dos cláusulas más simples de la siguiente manera:
estudiante(x) ¬de_licencia(x),
La forma utilizada en el lenguaje Prolog es especialmente conveniente para la programación lógica.
Este lenguaje fue desarrollado por Alain Colmerauer y Phillippe Roussel en
1973 [57] sobre la base de la investigación teórica de Robert Kowalski, que se refería
una interpretación procedimental de las cláusulas de Horn. Prolog se considera un lenguaje estándar
utilizado para construir sistemas de razonamiento basados en la demostración de teoremas con la ayuda de
el método de resolución. Para transformar el conjunto de cláusulas (6.39) en la forma de Prólogo tenemos
que transformarlas en cláusulas CNF Horn.20 Una cláusula Horn del
forma:
corresponde a la siguiente fórmula en forma de implicación:
Podemos expresarlo de la siguiente manera:
y en el lenguaje Prolog de la siguiente forma:
h :−p1, p2,..., pn. (6.43)
Así, nuestras cláusulas del conjunto (6.39) se pueden escribir como:
estudiante(x) en_licencia(x),
y en el programa Prolog se pueden escribir como los axiomasprincipios:
estudiante(X) : de_licencia(X). /* Axiomasprincipios en la base de conocimiento */
estudiante (X): asiste (X, Y), curso (Y).
Ahora, si agregamos al programa Prolog los siguientes axiomas“hechos”:
curso (Lógica). /* Axiomashechos en la base de conocimiento */
asiste (John Smith, Lógica).
20Como hemos mencionado anteriormente, una cláusula de Horn contiene a lo sumo un literal positivo. Las cláusulas en
(6.39) son cláusulas de Horn, porque cada una contiene solo un estudiante literal positivo (x).
Machine Translated by Google
80 6 Razonamiento basado en la lógica
luego, después de hacer la siguiente pregunta al sistema:
? estudiante (John Smith). /* Los caracteres “?” son escritos por el sistema */
el sistema nos responde:
Sí
En las bases de conocimiento de los sistemas de razonamiento, las fórmulas a menudo se
almacenan en una forma especial, que se denomina forma de cláusula. Es especialmente conveniente
cuando se utiliza el método de resolución. En tal representación, una cláusula se reemplaza por el
conjunto de sus literales. Por ejemplo, la forma de la cláusula para nuestro conjunto de cláusulas (6.39)
se define de la siguiente manera:
{{estudiante(x), ¬de_licencia(x)},
{estudiante(x), ¬atiende(x, y) , ¬curso(y)}}. (6.45)
Si usamos tal representación, entonces una base de conocimiento puede construirse como un gran
conjunto que consta de cláusulas en forma de conjuntos de literales.21
6.5 Razonamiento como cálculo simbólico
En esta sección discutimos un enfoque del razonamiento tratado como computación simbólica.
Los Sistemas de Reescritura Abstracta, ARS, son modelos formales de computación simbólica. Se
pueden dividir en sistemas de reescritura de términos, TRS, sistemas de reescritura de cadenas y
sistemas de reescritura de gráficos. Dado que la computación simbólica se “implementa” con la ayuda
de sistemas de reescritura de términos, este tipo de ARS se analiza en esta sección.22 Aquí, un término
significa un elemento de la descripción del mundo en forma de una constante,23 una variable o una
función. .
El razonamiento como computación simbólica se relaciona con la hipótesis del sistema de símbolos
físicos introducida por Newell y Simon. Esta hipótesis, como se ha discutido en el Cap. 1, reduce el
razonamiento a transformar automáticamente (digamos reescribir) expresiones, que se construyen a
partir de símbolos. Esta transformación automática toma
21Si combinamos cláusulas que pertenecen a varias fórmulas, deberíamos, una vez más, cambiar el nombre de las variables
para que los símbolos de las variables que pertenecen a diferentes fórmulas también sean diferentes.
Los sistemas de reescritura de 22 cadenas y los sistemas de reescritura de gráficos son modelos formales para sistemas de IA
basados en gramáticas generativas. Se introducen en el cap. 8.
23En la definición formal de un término, una constante no aparece explícitamente, porque una función de argumento cero se trata
como una constante.
Machine Translated by Google
6.5 Razonamiento como cálculo simbólico 81
lugar sin una interpretación semántica de símbolos y expresiones.24 En cambio, es
25
basado en la aplicación de reglas de reescritura de términos.
Ahora, definimos reglas de reescritura ejemplares para una operación de suma basada en el
Sistema axiomático de Peano,26 en el que la suma se define como una operación que cumple
las siguientes condiciones:
donde S es la operación sucesora (que genera el siguiente número natural). Podemos interpretar
estas reglas de la siguiente manera. Si sumamos 0 a cualquier número, nada cambia. La suma
de m y un sucesor de n es igual al resultado de sumar m y n y tomar el sucesor del resultado de
esta suma. Si definimos la suma de esta manera, podemos definir los números naturales
sucesivos de la siguiente manera:
0 ≡ 0,
1 ≡ S(0),
2 ≡ S(1) ≡ S(S(0)),
3 ≡ S(2) ≡ S(S(1)) ≡ S(S(S (0))), (6.47)
3 veces
...
Ahora, podemos definir la operación de suma con la ayuda de dos reglas correspondientes
a la definición (6.46):
donde A(m, n) significa m + n. La expresión a la izquierda de una "flecha" se denomina lado
izquierdo de una regla y una expresión a la derecha de una "flecha" se denomina lado derecho
de una regla. Una aplicación de una regla a un término durante su reescritura consiste en hacer
coincidir el lado izquierdo de una regla con el término y transformar el término de acuerdo con el
lado derecho de la regla.
La regla r2 se puede interpretar de la siguiente manera. Si un término (o su parte) tiene la
,
forma de una operación A para dos argumentos (es decir, A(. . . . . .))
y el primero tiene cualquier
forma (es decir, m) y el segundo argumento es de la forma del sucesor de una expresión n (es
decir, S(n)), luego reemplace este término (o la parte correspondiente) con un término de la forma: el
24Esto no significa que estos símbolos y expresiones no tengan significado. Los partidarios de la hipótesis del sistema
de símbolos físicos solo afirman que durante el razonamiento automatizado no es necesario referirse al significado
(semántica).
25 Aplicar las reglas de inferencia en lógica presentadas en las secciones anteriores es una buena analogía para
aplicar reglas de reescritura de términos.
26Giuseppe Peano definió las operaciones aritméticas para los números naturales con la ayuda de una constante —
cero— y una operación—sucesora.
Machine Translated by Google
82 6 Razonamiento basado en la lógica
sucesor (es decir, S(. . .)) del resultado de la operación A (es decir, S(A(. . . se , . . .))), cual
ha aplicado a las expresiones m y n (es decir, S(A(m, n))).
Sumemos 2 a 3, lo que significa transformar la expresión 2+3, estrictamente hablando
la expresión: A(S(S(0)), S(S(S(0)))), con la ayuda de nuestras reglas de reescritura de términos.
2
UN(S(S(0)), S(S(S(0)))) −→ S(A(S(S(0)), S(S(0))))
2
−→ S(S(A(S(S(0)), S(0)))) (6.49)
2
−→ S(S(S(A(S(S(0), 0)))))
1
−→ S(S(S(S(S(0))))).
Hemos transformado la expresión inicial en una expresión final correcta, que denota el quinto
sucesor de cero y significa el número 5 según la definición (6.47).
Los índices sobre las flechas son los índices de las reglas aplicadas. Notemos que el objetivo de
tal proceso de reescritura puede definirse como la reducción del segundo elemento de la suma a
cero mediante el uso múltiple de la segunda regla seguida finalmente por una aplicación de la
primera regla, que elimina la operación A. La reducción del segundo elemento de la suma
(siguiendo la regla r2) consiste en quitar un solo carácter S de este elemento e incrustar el carácter
S antes del símbolo de la operación de suma A.
Hemos usado las palabras: quitando e incrustando deliberadamente para describir el proceso
de aplicar las reglas r1 y r2 para transformar la expresión 2 + 3.
Estas palabras transmiten la esencia de la computación simbólica, que consiste en reescribir
términos sin analizar lo que significan. Imaginemos a alguien que no sepa lo que es la suma. Si le
enseñamos a esta persona cómo aplicar las reglas r1 y r2 y cómo representar los números
naturales (6.47), entonces esta persona no sabrá que está sumando dos números al transformar
la expresión 2 + 3 de acuerdo con estas reglas.27
Dado que no usamos el significado de una expresión en el cálculo simbólico, debemos
asegurarnos de la corrección formal de dicho razonamiento. Volvamos a nuestro reescritor de
términos, que no sabe que está sumando. Si él/ella no sabe esto, entonces quizás él/ella no sepa
cuándo debe terminar de reescribir. (Por ejemplo, si el término reescribir termina después de dos
pasos, entonces no sabe si la expresión generada es la expresión final, es decir, el resultado). Por
lo tanto, introducimos el siguiente principio en los sistemas de reescritura: un proceso de reescritura
debe continuará mientras la última expresión pueda transformarse. En otras palabras, un proceso
de reescritura finaliza solo si no hay una regla del sistema de reescritura que se pueda aplicar, es
decir, el sistema no puede hacer coincidir el lado izquierdo de ninguna regla con ninguna parte de
la última expresión transformada. Una expresión que no se puede transformar con ninguna regla
de reescritura se llama forma normal. Notemos que la expresión final en nuestro ejemplo es una
forma normal.
La segunda cuestión importante se puede formular de la siguiente manera. ¿El orden de
aplicación de las reglas influye en el resultado final de la reescritura? En nuestro ejemplo, tal
problema no aparece, ya que el orden de las aplicaciones de las reglas está determinado por
27Tal situación es análoga al experimento mental de la “habitación china” discutido en el Cap. 1.
Machine Translated by Google
6.5 Razonamiento como cálculo simbólico 83
su forma.28 Sin embargo, en el caso general hay más de una secuencia posible de
aplicaciones de reglas. Si construyéramos un sistema de reescritura, que nos permitiera
sumar más de dos sumandos (en una expresión), entonces habría más secuencias
alternativas para obtener el resultado final. Aun así, deberíamos obtener el mismo resultado
final de dicha suma, independientemente del orden de reescritura de los términos. Si el
resultado final de reescribir términos en un sistema no depende del orden de reescritura,
29
Por sdupuesto,
entonces decimos que el sistema de reescritura tiene la propiedad esta propiedad
e ChurchRosser.
del sistema es necesaria.30
Al final de nuestras consideraciones sobre los sistemas de reescritura de términos,
mostramos una forma de implementar nuestras reglas de reescritura (6.48) para sumar
números de acuerdo con los axiomas de Peano (6.46) en la programación Lisp . idioma.
Definamos una función suma (mn), que corresponde a la operación A(m, n). Esta función
comprueba si el segundo sumando es igual a cero. Si es así, entonces la función da m
como resultado de acuerdo con la regla r1. Si no, entonces da el sucesor de la suma del
primer sumando y el predecesor del segundo sumando, según la regla r2.
(defun add (mn) (if
(cero n)
metro
(sucesor (añadir m (predecesor n)))
)
)
Ahora, presentamos uno de los sistemas de reescritura de términos más populares, es
decir, cálculo lambda (λcálculo) 31, que fue desarrollado por Alonzo Church y Stephen C.
Kleene en la década de 1930.32 Este cálculo se utilizó para responder al llamado Entschei
dungsproblem (problema de decisión) propuesto por David Hilbert durante el Congreso
Internacional de Matemáticos en Bolonia en 1928. El Entscheidungsproblem es el problema
de la solucionabilidad de la Lógica de Primer Orden. Puede formularse con la siguiente
pregunta: ¿Existe un procedimiento de cálculo general efectivo que pueda usarse para
decidir si alguna fórmula FOL es una fórmula válida (tautología)? El problema es de gran
importancia, porque se relaciona con una vieja cuestión filosófica: ¿Puede algún (deductivo)
28Si hacemos una suma m + n, entonces siempre tenemos que aplicar n veces la regla r2 y al final tenemos
que aplicar una vez la regla r1. Esta es la única secuencia posible de operaciones.
29John Barkley Rosser, Sr.—profesor de matemáticas, lógica e informática en la Universidad de Wisconsin
Madison, Ph.D. alumno de la Iglesia de Alonso. Autor de excelentes publicaciones en lógica, teoría de
números y balística.
30Por ejemplo, un “sistema de cocción” no tiene la propiedad de ChurchRosser, que el autor de esta
monografía conoce por experiencia personal. Cada vez que reemplazo una secuencia modelo de operaciones
culinarias (por error, por supuesto) por otra, obtengo un resultado inaceptable.
31 Consideramos aquí el cálculo lambda no tipificado.
32 El segundo sistema popular de este tipo, a saber, la lógica combinatoria, fue introducido por Moses
Schön Finkel en 1920. Las ideas de Schönfinkel fueron desarrolladas aún más por Haskell Brooks Curry en 1927.
Machine Translated by Google
84 6 Razonamiento basado en la lógica
¿Se puede automatizar el razonamiento? En 1936, Church demostró con la ayuda del
cálculo lambda que la respuesta a esta pregunta es
negativa [48].33 El cálculo lambda es un sistema formal en el que la demostración de
teoremas tiene la forma de cálculo simbólico. Como hemos discutido anteriormente, durante
tal cálculo, transformamos (reescribimos) expresiones sin analizar lo que significan.
Ahora, intentemos responder a la pregunta: ¿Qué tenemos en mente al decir “reescribir
expresiones sin analizar lo que significan”? Notemos que si tenemos que transformar una
expresión 2 3 o una expresión 32 (en el sentido de obtener un resultado), entonces
debemos saber cómo multiplicar números y cómo exponenciar números.34 Sin embargo,
las expresiones de la forma x y o xy no dan ninguna información sobre cómo deben
calcularse. Por el contrario, en el cálculo lambda, las expresiones contienen información
sobre cómo deben calcularse. Esto se refiere a un cálculo numérico (operaciones aritméticas,
etc.) así como a un cálculo simbólico (como el razonamiento lógico). Además, estas
expresiones se definen de tal manera que, de alguna manera, se computan automáticamente.
(Mostramos tal proceso de cálculo a continuación).
Ahora, introduzcamos los fundamentos del cálculo lambda. Para un lector novato, sus
nociones y convenciones notacionales pueden parecer un poco peculiares, pero como
veremos más adelante, son convenientes para el cálculo simbólico. Comencemos
introduciendo un conjunto infinito (contable) de variables35:
V = {a, b, c,...,z, a1, b1, c1,...,z1, a2, b2,...}. (6.50)
Estas variables se tratan como funciones en el cálculo lambda. Así, por ejemplo, en lugar
de utilizar la siguiente notación:
f(z), (6.51)
lo denotamos de la siguiente manera:
fz, (6.52)
que puede interpretarse de dos maneras: ya sea como el proceso de calcular fz o como
resultado de dicho cálculo.36 Una operación fz se llama la aplicación de f a (un argumento)
z.
33Independientemente, AM Turing demostró lo mismo con la ayuda de su máquina abstracta (ahora llamada máquina de Turing)
en 1937 [306].
34En nuestro ejemplo, un reescritor de términos no sabía cómo sumar números, pero tenía dos reglas que le permitían realizar la
suma (de forma automática).
35Definimos las nociones de manera simplificada, ya que presentamos el cálculo lambda en esta sección de manera informal.
Por lo tanto, omitimos la sutil diferencia entre la expresión lambda y el término lambda (que es la clase de equivalencia de las
expresiones lambda), etc. Las definiciones formales relacionadas con el cálculo lambda se encuentran en el Apéndice C.3.
36 Notemos que ya nos hemos encontrado con tal situación, cuando consideramos los sistemas de reescritura de términos. Por
ejemplo, una expresión S(S(S(0))) puede interpretarse como el proceso de calcular el tercer sucesor de la constante 0 o como
resultado de este cálculo, es decir, 3—ver fórmula (6.47) .
Machine Translated by Google
6.5 Razonamiento como cálculo simbólico 85
Una abstracción lambda (abstracción λ) es la segunda convención de notación básica
de cálculo lambda. Sea M ≡ M[x] una expresión que contiene x (es decir, depende
en x), por ejemplo x + 5. Ahora, si queremos definirlo como una función, entonces usamos un
convención de la forma x → M[x] y la escribimos de la siguiente manera:
x → x + 5. (6.53)
En cálculo lambda, usamos una convención especial para definir una función, que es de
la forma λx.M[x]. Por lo tanto, escribimos nuestra función de la siguiente manera:
λx.x + 5. (6.54)
La expresión x + 5 se llama el cuerpo de la abstracción lambda (función).
Las construcciones presentadas anteriormente, es decir, variables, expresiones que definen aplicaciones,
y las expresiones que denotan una abstracción lambda se denominan expresiones lambda.
Después de definir nuestra función de ejemplo como una abstracción lambda, podemos usarla para algunos
argumento, es decir, podemos realizar una aplicación de la función a algún argumento, sea
digamos al número 7. De acuerdo con la convención (6.52), podemos escribir esto de la siguiente manera:
(λx.x + 5)7, (6.55)
donde f de la fórmula (6.52) corresponde a nuestra función (λx.x + 5) y z, que
ocurre en la fórmula (6.52), corresponde al argumento 7. Por supuesto, tal aplicación consiste en
reemplazar el parámetro x que está contenido en el cuerpo por el
argumento 7. Así, obtenemos:
7 + 5. (6.56)
Denotemos la operación de reemplazar todas las apariciones de x en una expresión M por
N de la siguiente manera:
M[x := N]. (6.57)
Entonces, nuestra operación de transformar la expresión (6.55) en la expresión (6.56) puede ser
definido con la ayuda de la siguiente regla de reescritura:
(λx.M)N →β M[x := N]. (6.58)
Esta regla, llamada reducción β, es la regla de reescritura básica en el cálculo lambda y la
mecanismo fundamental de la computación simbólica en este cálculo.
Ahora, extendemos la definición de una abstracción lambda a funciones de múltiples argumentos.
Una función de múltiples argumentos se define con la ayuda de aplicaciones sucesivas
(iterativamente) realizada para argumentos posteriores.37 Por ejemplo, una función de dos
argumentos,
37Esta técnica se llama curry (en referencia a HB Curry) o Schönfinkelisation (en referencia a
a M. Schönfinkel).
Machine Translated by Google
86 6 Razonamiento basado en la lógica
se representa mediante la siguiente abstracción lambda (el cuerpo de la abstracción lambda se pone
entre corchetes para mayor claridad de la notación):
Calculémoslo para un par (x, y) = (3, 7). El cálculo lo realiza el
solicitud
λx.(λy.[x + 2 y]) 3 7 (6.61)
en los siguientes pasos. En primer lugar, se realiza una aplicación para el argumento x (el
se subraya el lugar en que se realiza la solicitud):
y obtenemos:
λy.[3 + 2 y] 7. (6.63)
(Observemos que λx ha desaparecido, ya que tras sustituir la variable por la
argumento 7 no hay x en el cuerpo). En segundo lugar, realizamos una aplicación para y:
y obtenemos el siguiente resultado final:
En lugar de escribir λx.(λy.M)), usamos una notación simplificada: λx.λy.M o par
convención más breve: λxy.M. (Por supuesto, la convención se puede usar para n argumentos:
λx1x2x3 ... xn.M.)
Introduzcamos las siguientes nociones. Un operador λ vincula variables de forma similar
como lo hacen los cuantificadores. Una variable x que está en el ámbito de la vinculación del operador
λ en una expresión M se llama variable ligada de esta expresión. De lo contrario, el
variable se llama variable libre. Por ejemplo, en la expresión (6.60) ambas variables x
e y están ligados. En la expresión λxy.x + y + z las variables x e y están ligadas y
la variable z es una variable libre.
Nuestros ejemplos de reescritura de términos han terminado con expresiones de las formas (6.56)
y (6.65). Sin embargo, hemos prometido mostrarle al lector cómo las expresiones lambda
computarse automáticamente. Al comienzo de esta sección hemos introducido ejemplos en forma
simplificada, porque no hemos querido complicar
las notaciones de cálculo lambda, que no son intuitivas para un lector principiante. Ahora,
dado que el lector conoce estas notaciones, podemos introducir formas más complejas que
permítanos ilustrar el autocálculo de expresiones lambda. Para este propósito utilizamos
Machine Translated by Google
6.5 Razonamiento como cálculo simbólico 87
un ejemplo de aritmética de números naturales, que se ha discutido para resumen
sistemas de reescritura.
En primer lugar, introducimos una representación de los números naturales en forma de Church
numerales:
0 ≡ λsx.x,
1 ≡ λsx.sx,
2 ≡ λsx.s(sx), 3 (6.66)
≡ λsx.s(s(s x)),
3 veces
...
Uno puede notar fácilmente que tal representación es análoga a la definición de
números naturales en el sistema axiomático de Peano (6.47).
El sucesor de la operación se define en cálculo lambda de la siguiente manera:
S ≡ λnsx.s((ns)x). (6.67)
Por ejemplo, apliquemos esta operación al número 2, es decir, realicemos la
cálculo simbólico S 2. En primer lugar, sin embargo, notemos que hemos usado el mismo
variables s y x para definir expresiones dadas por las fórmulas (6.66) y (6.67). Estos
Las expresiones son diferentes entre sí. Así, si usamos las variables s y x de
ambas fórmulas en la misma expresión, entonces tal combinación accidental sería
impropia.38 Por otro lado, al reemplazar las variables s y x por las variables t e y,
respectivamente, en la definición del número 2 en (6.66) no cambia su definición.
Por lo tanto, realizamos dicho reemplazo de la siguiente manera:
2 ≡ λty.t(ty). (6.68)
Tal tratamiento de variables ligadas de expresiones como equivalentes (p. ej., λsx.s(sx)
y λty.t(ty)) se denomina conversión alfa.
Ahora, podemos calcular S 2. Primero, reemplacemos S por un acuerdo de expresión lambda
ing a (6.67), y reemplacemos 2 por una expresión lambda de acuerdo con (6.68):
S 2 ≡ λnsx.s((ns)x)λty.t(ty) . (6.69)
Ahora, realizamos una aplicación de la primera expresión a la segunda (reducción β), es decir, la
variable n en la primera expresión se reemplaza por la segunda expresión λty.t(ty)39:
38 Nos hemos encontrado con un problema análogo cuando discutimos métodos basados en FOL en un artículo anterior.
sección—cf. fórmulas (6.34) y (6.35).
39Tanto la variable que se reemplaza como la expresión que la reemplaza están subrayadas.
Machine Translated by Google
88 6 Razonamiento basado en la lógica
S 2 ≡ λnsx.s((ns)x)λty.t(ty) →β λsx.s((λty.t(ty)s)x). (6.70)
Notemos que la variable n colocada inmediatamente después de λ desaparece, ya que
después del reemplazo no hay variables n en el cuerpo de la expresión. Entonces, la variable
t en la expresión λty.t(ty) se reemplaza por la variable s, es decir, realizamos la segunda
aplicación (reducción β):
λsx.s((λty.t(ty) s)x) →β λsx.s(λy.s(sy)x). (6.71)
Esta vez, la variable t colocada inmediatamente después del λ interno desaparece, ya que
después del reemplazo no hay variables t en el cuerpo de la expresión. Finalmente, la
variable y en la expresión λy∙s(sy) se reemplaza por la variable x, es decir, realizamos la
última aplicación (βreducción):
λsx.s(λy.s(sy)x) →β λsx.s(s(sx)) ≡ 3. (6.72)
Como podemos ver, la expresión inicial se ha calculado a sí misma con la ayuda de una
secuencia de βreducciones. Hemos obtenido el número 3, según los números de Iglesia
(6,66), como sucesor del 2.
Una implementación de la operación sucesor (6.67) en un dialecto del Lisp
(el lenguaje Scheme ) consiste, de hecho, en reescribir esta expresión:
(definir succ
(lambda(n)
(lambda(s)
(lambda(x)
(s((ns)x))))))
Hemos presentado las ideas básicas del cálculo lambda con la ayuda de ejemplos
simples, debido a las convenciones de notación muy formales de este sistema. De hecho,
podemos definir todas las construcciones de programación mediante expresiones lambda.
Kleene formuló la tesis de ChurchTuring, que se puede interpretar de la siguiente manera:
toda función efectivamente computable es computable por el cálculo lambda.40 El cálculo
lambda es tan atractivo en Inteligencia Artificial, ya que todas las funciones, operaciones,
etc. se pueden definir de forma constructiva , es decir, sus expresiones contienen información
sobre cómo obtener el resultado final. Como hemos mostrado arriba, tales expresiones
realmente se computan a sí mismas .
40La máquina de Turing (universal) y las funciones recursivamente definibles son modelos
equivalentes al cálculo lambda, según esta tesis.
Machine Translated by Google
6.5 Razonamiento como cálculo simbólico 89
HB Curry41 y WA Howard42, de forma independiente, descubrieron una analogía entre la
demostración de teoremas en lógica (intuicionista) y el cálculo lambda . La analogía se conoce como
43
isomorfismo de CurryHoward.
En el primer capítulo mencionamos a J. McCarthy, quien entre 1958 y 1960 desarrolló el lenguaje
de programación Lisp, que se basa en el cálculo lambda. Lisp es uno de los dos44 lenguajes clásicos
en Inteligencia Artificial. Este (y sus diversos dialectos) sigue siendo una herramienta muy popular
para desarrollar sistemas de IA.
Nota bibliográfica
Las monografías [7, 184, 212] son buenas introducciones a la construcción de sistemas de IA basados
en lógica.
La programación de Prolog se presenta en [37, 53, 162, 288].
Se recomiendan las monografías [20, 46, 81, 177, 181, 244, 317] para fundamentos lógicos.
mentales utilizados en informática.
Las monografías básicas en el área de sistemas de reescritura incluyen [14, 24] y para lambda
cálculo [16, 17, 135, 200]. La programación Lisp se presenta en [286, 304].
41Haskell Brooks Curry: matemático y lógico, profesor de la Universidad Estatal de Pensilvania. David
Hilbert y Paul Bernays fueron sus asesores de doctorado. Los lenguajes de programación funcional Haskell
y Curry llevan su nombre.
42William Alvin Howard—matemático y lógico, profesor de la Universidad de Illinois en Chicago. Autor de
artículos muy conocidos en teoría de la prueba.
43La analogía se refiere al cálculo lambda tipado.
44 Prólogo, introducido en la secc. 6.4, es el segundo lenguaje clásico en IA.
Machine Translated by Google
Capítulo 7
Modelos Estructurales del Conocimiento
Representación
La construcción de las llamadas ontologías1 es uno de los principales objetivos de la aplicación de
modelos estructurales de representación del conocimiento, que se han introducido en la Secc. 2.4.
En Inteligencia Artificial y en informática, una ontología2 se define como una especificación formal
(conceptualización) de un cierto dominio (aplicación) que se define de tal manera que puede usarse
para resolver varios problemas (en el ámbito de este dominio) con la ayuda de métodos generales de
razonamiento.3 Tal especificación es de forma estructural . Puede ser tratado como una especie de
enciclopedia del dominio que contiene descripciones de nociones, objetos, relaciones entre ellos, etc.
El razonamiento automatizado con una técnica general es posible si separamos el conocimiento
del dominio de este esquema de razonamiento genérico (para una técnica dada).
Las redes semánticas, los marcos y los scripts son modelos estructurales típicos para representar el
conocimiento del dominio. Los presentamos en las siguientes tres secciones.
Cuando introducimos nociones relativas a los modelos estructurales de representación del
conocimiento, nos referimos a las correspondientes definiciones y notaciones de las lógicas de descripción.
Estas lógicas se introdujeron en las décadas de 1980 y 1990 como modelos formales de
representaciones ontológicas en Inteligencia Artificial. Se utilizan, además, para la construcción de
esquemas de razonamiento genérico eficientes, que se mencionan anteriormente.4
1Aunque existe una analogía entre la noción de ontología en informática y la noción de ontología en filosofía, debemos
diferenciar entre las dos nociones. En filosofía la ontología es el estudio del ser, sus propiedades esenciales y sus
razones últimas.
2El sistema Cyc, desarrollado por D. Lenat, es uno de los mayores sistemas de IA basado en un enfoque basado en
ontologías.
3Tales métodos de razonamiento estándar son análogos a un esquema de razonamiento universal, que se analiza en
un capítulo anterior.
4Las lógicas de descripción se presentan formalmente en el Apéndice D.
© Springer International Publishing Suiza 2016 M. Flasi ́nski, 91
Introducción a la Inteligencia Artificial, DOI
10.1007/9783319400228_7
Machine Translated by Google
92 7 Modelos Estructurales de Representación del Conocimiento
7.1 Redes semánticas
Las redes semánticas fueron introducidas por Allan M. Collins y Ross Quillian en 1969 [56]
como resultado de su investigación sobre la comprensión del lenguaje (natural). Asumieron
que formular el conocimiento en forma de un conjunto de nociones que se relacionan entre sí
nos permite comprender mejor este conocimiento. Por lo tanto, los sistemas de conocimiento
se construyen precisamente de esa manera. Por ejemplo, en matemáticas introducimos
nociones sucesivas que se refieren a las nociones ya definidas. Esto se muestra para la
geometría en la figura 7.1a. Notemos que las nociones que se introducen sucesivamente (de
arriba abajo en la figura) son casos particulares de nociones ya introducidas. En otras
palabras, una nueva noción tiene todas las propiedades de sus nociones predecesoras y
también tiene nuevas propiedades específicas. Así, una noción que se introduce más tarde
constituye una subclase de una noción que se ha introducido antes. Por ejemplo, Trapezoid
es una subclase de Quadrilateral, que a su vez es una subclase de Polygon, etc.
Esta relación está representada por aristas dirigidas, que están etiquetadas por su subclase en las
redes semánticas. En la lógica de descripción hablamos de inclusión de conceptos generales y lo
denotamos de la siguiente manera:
Cuadrilátero trapezoidal,
polígono cuadrilátero, etc.
Construimos taxonomías en las ciencias naturales para sistematizar nuestro conocimiento de
esa manera. Por ejemplo, una parte de dicha taxonomía definida para la noción de Animales se
muestra en la Fig. 7.1b. Notemos que la inclusión de conceptos también se define en este caso, es
decir, las clases que se ubican en niveles inferiores son subclases de ciertas clases ubicadas en
niveles superiores.
A veces definimos una ontología (o sus partes) de tal manera que se construyen nuevos
conceptos con la ayuda de unas pocas nociones elementales simples. Estas nociones
elementales simples se denominan conceptos atómicos. Por ejemplo, para una “ontología de
color” podemos asumir los siguientes conceptos atómicos, que corresponden a colores
primarios5: rojo (R), verde (G), azul (B). Entonces, podemos definir conceptos sucesivos
(complejos): amarillo (Y) ≡ rojo mezclado con verde6; violeta (V) ≡ rojo mezclado con azul;
blanco (W) ≡ rojo mezclado con verde mezclado con azul. En una lógica de descripción, tal
definición de conceptos complejos (aquí, colores) se expresa de la siguiente manera:
Y ≡ R G,
V ≡ R B,
W ≡ RG B.
5En el modelo de color RGB (RojoVerdeAzul).
6Suponemos que los colores secundarios se obtienen con la ayuda de una mezcla aditiva de colores, es decir,
mezclando luz visible de varias fuentes de luz de colores.
Machine Translated by Google
7.1 Redes semánticas 93
(a) figura geometrica
es subclase es subclase
figura 3D Figura plana
es subclase es subclase
Triángulo Cuadrilátero …
es subclase es subclase es subclase
(b) animales
es subclase
es subclase
parazoa
Eumatazoa
…
tetrápodos
es subclase es subclase
anfibios amniotas
es subclase
es subclase es subclase
…
Reptiles Aves … Mamíferos
… … …
Fig. 7.1 Ejemplos de redes semánticas simples (ontologías): a en geometría, b en biología
Los objetos son el segundo elemento genérico de las redes semánticas. Los objetos representan
individuos de un determinado dominio. Decimos que los objetos son instancias (ejemplos) de un
cierta clase (concepto). Por ejemplo, un objeto John Smith (una persona específica que tiene
este nombre y este apellido, que se identifica de forma única por un Seguro Social
número) puede ser una instancia de una clase estadounidense. La existencia de tal caso
(en este caso, una persona) está representado por americano (John Smith) en la lógica descriptiva.
Notemos que una clase (concepto) puede ser tratada como un conjunto de objetos. Introducimos un
la relación es (es a) en redes semánticas para denotar el hecho de que un objeto pertenece a
una clase.
Por ejemplo, una parte de una red semántica que contiene dos objetos John Smith
y Ava Smith, y sus características se muestran en la Fig. 7.2a. Como podemos inferir de
esta representación, el objeto John Smith es un varón y un coronel. el coronel de clase
Machine Translated by Google
94 7 Modelos Estructurales de Representación del Conocimiento
Masculino
… Coronel es
Femenino
es
es es
John Smith ava smith
(b)
Masculino Femenino
es es es es
cónyuge
hermano John Smith ava smith hermano
cónyuge
Paul Smith hermano hermano maría marrón
padre padre
Jack Smith
es
Femenino
(C)
es
hermano
hermano maría marrón
padre
Jack Smith
Fig. 7.2 Ejemplos de redes semánticas: a que contienen objetos, b que definen roles y c una representación de una
consulta en un sistema que se basa en una red semántica
es una subclase de la clase oficial superior y la clase de oficial superior es una subclase
de la clase oficial. El objeto Ava Smith es una mujer y una médica, estrictamente hablando,
una neuróloga.
Los roles son el tercer elemento genérico de las redes semánticas. Los roles se utilizan
para describir relaciones entre objetos (a veces también entre clases). Por ejemplo,
podemos introducir roles de cónyuge, padre y hermano para representar un conocimiento
genealógico. En la figura 7.2b se muestra una red semántica que representa una parte de
una ontología genealógica . Vemos que, por ejemplo, John Smith y Ava Smith son los
padres de Jack Smith. En lógica descriptiva, algunos roles representados por la red
semántica que se muestra en la figura 7.2b se pueden definir de la siguiente manera:
Machine Translated by Google
7.1 Redes semánticas 95
padre (Jack Smith, John Smith),
padre (Jack Smith, Ava Smith),
cónyuge (John Smith, Ava Smith), etc.
De manera similar al caso de los conceptos, podemos definir roles complejos sobre la base
de roles (y conceptos) atómicos más simples. Por ejemplo, el papel de abuelo se puede definir
como el padre de un padre y un hombre. El papel de tía se puede definir como un hermano de
un padre y una mujer.
Se han desarrollado una variedad de métodos de razonamiento para extraer conocimiento
de las redes semánticas. Uno de los más simples es el método de emparejamiento estructural.
Por ejemplo, si quisiéramos verificar la validez de la siguiente proposición:
Mary Brown es tía de Jack Smith,
luego deberíamos definir un patrón estructural general que represente tal proposición y luego
deberíamos verificar si el patrón puede coincidir con alguna parte de nuestra red semántica. En
la figura 7.2c se muestra un patrón estructural para nuestra proposición . Notemos que algunos
elementos son fijos y algunos elementos no son fijos. El objeto que es padre para Jack Smith
no es fijo. Si lo denotamos por X, entonces tenemos:
padre (Jack Smith, X),
ya que cuando buscamos una tía de Jack Smith, no importa si es hermana de su padre o de su
madre. Por supuesto, uno puede ver fácilmente que tal patrón definido para la verificación de
nuestra proposición puede coincidir con una parte de la red semántica que se muestra en la
figura 7.2b.
La eficiencia de los métodos de coincidencia de patrones es un problema crucial del
razonamiento en las redes semánticas. Una red semántica es un grafo desde un punto de vista formal.
Como sabemos por la teoría de la complejidad computacional, este problema, es decir, la
coincidencia de patrones gráficos, es de complejidad no polinomial. Por lo tanto, a finales del
siglo XX se llevó a cabo una intensa investigación con el fin de construir métodos de
procesamiento de gráficos eficientes. Discutimos tales métodos en el Cap. 8, en el que se
introducen las gramáticas de grafos.
7.2 Marcos
Los marcos fueron introducidos por Marvin Minsky en 1975 [203]. Como hemos mencionado
en la Secc. 2.4, un sistema de tramas puede tratarse como una extensión de una red semántica.
La extensión consiste en reemplazar los nodos de una red por estructuras complejas llamadas
marcos, que nos permiten caracterizar objetos y clases de forma detallada. En el caso de los
objetos hablamos de marcos de objetos y en el caso de las clases hablamos de marcos de
clases.
Machine Translated by Google
96 7 Modelos Estructurales de Representación del Conocimiento
Un marco consta de ranuras, que se utilizan para describir con precisión las características y
propiedades de un objeto/concepto. Cada ranura consta de facetas. Por ejemplo, si construimos un marco
de un objeto que describe algún dispositivo, entonces puede caracterizarse por ciertas propiedades como
voltaje, temperatura, presión (del gas dentro del dispositivo), etc.
Cada propiedad está representada por una ranura. Sin embargo, para cada propiedad se pueden definir
varios “aspectos”. Por ejemplo, para el voltaje podemos definir un valor actual, una unidad (mV, V, kV,
MV, etc.), una precisión de medición, un rango de medición, etc. En una ranura de un marco, las facetas
se utilizan para almacenar tales aspectos.
Algunos tipos predeterminados de facetas se utilizan en los sistemas de marcos. Los más importantes
incluyen los siguientes tipos.
• VALOR: el valor actual de la ranura se almacena en esta faceta. • RANGO:
contiene un rango de medición o una lista de valores de la ranura que se
permitido.
• DEFAULT: contiene el valor predeterminado de la ranura. Podemos suponer que esto
El valor es válido si, por ejemplo, la faceta de un tipo VALOR no se conoce en este momento. •
pertenece a una clase (para un marco de objeto): contiene un puntero a una clase a la que pertenece este
objeto. • es una subclase
de (para un marco de clase): contiene un puntero a una clase para la cual
esta clase es una subclase.
La herencia es un mecanismo de razonamiento básico en los sistemas marco. Se basa en una
propiedad fundamental de las ontologías, que es que las subclases heredan todas las características de
las superclases (en el sentido de inclusión de conceptos generales). Debido a esta propiedad, si el
conocimiento que concierne a una determinada clase se actualiza/modifica, entonces se puede propagar
a las subclases de esta clase (y a los objetos que pertenecen a esta clase). Este mecanismo se ve
reforzado, además, por el hecho de que un objeto puede pertenecer a más de una clase. Por ejemplo, el
objeto John Smith pertenece a dos clases, Male y Colonel, en la figura 7.2a. Una propiedad análoga se
refiere a una clase que puede ser una subclase de muchas clases. En tal caso, hablamos de herencia
múltiple.
Los procedimientos demoníacos, también llamados demonios, son el segundo mecanismo de
razonamiento en los sistemas marco. Una faceta de una ranura puede tener no solo una forma estática
(datos, puntero a otro marco, etc.), sino también la forma dinámica de un demonio. Este peculiar nombre
para estos procedimientos proviene de su idea, que algunos autores describen como estar al acecho de
ser invocados. Si se invoca a un demonio “empujando” su estructura, por ejemplo, exigiendo alguna
información, entonces se despierta y comienza a operar. De manera similar al caso de las facetas
estáticas, hay muchos tipos de demonios. Los tipos más populares incluyen los siguientes casos.
• si es necesario—se activa si no se conoce el valor de una faceta y queremos adquirirlo.
Luego, un demonio intenta adquirirlo/computarlo a partir de otros marcos. • if
added: se activa si se ha agregado un nuevo valor a una faceta. • ifupdated: se
activa si se ha actualizado un valor en una faceta. • ifremoved: se activa si se
ha eliminado un valor de una faceta. • ifread: se activa si se ha leído un valor de
una faceta. • ifnew: se activa si se genera un nuevo marco.
Machine Translated by Google
7.2 Marcos 97
Cuadro: Sistema de control del dispositivo tipo D
Ranura: Alto voltaje
…
Faceta: Precisión: ± 0,02
…
Faceta: Rango de medición: [9,0 – 10,0]
Marco:
Sensor FMS AT
Ranura: Bajo voltaje
… …
Ranura: flujo de gas
…
…
Cuadro: FMS DCS
Ranura: Alto voltaje
Faceta: Valor actual: 9.5
Faceta: Unidad: kV
Faceta: Precisión: ± 0,02
Faceta: Rango de medición: [9,0 – 10,0]
Faceta: Estado: DE ACUERDO
Faceta: si es necesario…
.
Faceta: si se actualiza...
Faceta: pertenece a una clase
…
Fig. 7.3 Parte de un modelo definido para un sistema basado en marcos para controlar equipos complejos de
tipo industrial
Analicemos una parte de un modelo definido para un sistema basado en marcos para controlar
equipos complejos de tipo industrial,7 que se muestra en la Fig. 7.3. Un sistema de control de marco
de clase de dispositivo de tipo D contiene características de diseño del dispositivo, como alto voltaje,
bajo voltaje (un dispositivo tiene dos tipos de suministro de energía eléctrica), flujo de gas, etc. Cada
parámetro se relaciona con una ranura. Las facetas de una ranura especifican estos parámetros en un
7Este ejemplo se ha definido sobre la base de la documentación del proyecto Generic Requirements Model
for LHC Control Systems, que fue coordinado por el autor y el Dr. Axel Daneels en el Conseil Européen pour
la Recherche Nucléaire (CERN) en Ginebra en 1997–1998 .
Machine Translated by Google
98 7 Modelos Estructurales de Representación del Conocimiento
manera precisa Por ejemplo, para alta tensión especificamos Precisión (de una medida),
Rango de medida, etc.
Un marco de objeto correspondiente a un sistema de control específico llamado FMS DCS
pertenece a una clase definida anteriormente. Esto significa que el sistema ha sido construido
de acuerdo con los supuestos de diseño de esta clase. Por lo tanto, ciertas características de
diseño, p. ej., precisión, rango de medición, son heredadas por el marco de objeto FMS DCS
de esta clase. Como podemos ver, en la ranura Alto voltaje, la faceta Valor actual se llena
durante el monitoreo del dispositivo. No se obtiene por herencia de su clase, sino por un
demonio si es necesario, que obtiene dicha información de otro marco de objeto llamado
Sensor FMS HV. El marco del objeto Sensor FMS DCS corresponde a un dispositivo de
medición que monitorea el alto voltaje del dispositivo FMS. (En tal sistema de monitoreo, este
demonio se invoca continuamente). El segundo demonio, si se actualiza , también se incluye
en la ranura de alto voltaje del marco FMS DCS . Se activa cada vez que se escribe un nuevo
valor en la ranura Valor actual. Si el valor está contenido dentro del rango de medición,
entonces el demonio llena la faceta Estado con OK.
De lo contrario, escribe un mensaje adecuado que especifica el tipo de error en la faceta
Estado y realiza ciertas acciones de control que conciernen al dispositivo monitoreado.
Los sistemas de inteligencia artificial que se basan en marcos han influido mucho en el
paradigma orientado a objetos en la ingeniería de software. El diseño de sistemas software
basados en objetos, clases y herencia es hoy en día una técnica fundamental para la
implementación de sistemas de información.
La eficiencia (en el sentido de eficiencia en el tiempo) de los sistemas de IA basados en
marcos es un problema básico. Dado que la estructura de un sistema de marcos no contiene
mecanismos que controlen explícitamente el proceso de razonamiento, deberíamos poseer un
entorno de programación que asegure la eficiencia computacional a un nivel aceptable. Estos
entornos de programación, que nos permiten obtener una alta eficiencia para sistemas que
contienen muchos marcos, se han construido desde el principio de los sistemas basados en marcos.8
7.3 Guiones
Los guiones fueron propuestos por Roger Schank y Robert P. Abelson en 1977 [264] para
Natural Language Processing, NLP. El modelo se basa en la siguiente observación en
psicología. Si queremos entender un mensaje que se refiere a un determinado evento (chismes
contados por un amigo, cobertura de un debate parlamentario retransmitido, etc.), entonces
nos referimos a un patrón generalizado que se relaciona con el tipo de este evento. Este patrón
se construye sobre la base de eventos similares anteriores. Luego, se almacena en nuestra memoria.
Por ejemplo, si un niño va con su mamá a una clínica local una vez más, entonces
8Por ejemplo, un sistema de control de IA que contiene alrededor de 100 marcos de clase y más de 3000 marcos
de objetos, que se implementó para el experimento de física de alta energía bajo la supervisión del autor y el Dr. Ulf
Behrens, procesó datos en tiempo real (Flasi ́nskiM.: Desarrollo adicional del Sistema Experto ZEUS: Fundamentos
de Ciencias de la Computación del Diseño.Informe DESY 94048, Hamburgo, marzo de 1994, ISSN 04189833).
Machine Translated by Google
7.3 Guiones 99
él/ella sabe por experiencia que este evento consiste en la siguiente secuencia de pasos
elementales: entrar a la clínica, ir a la recepción, esperar en una cola, entrar a la consulta del
médico, que le pregunten "¿Dónde le duele?" por un médico, hacerse un chequeo, recibir una
receta de un médico y (¡por fin!) salir de la clínica.
(Cuando era niño, siempre había también una visita obligatoria a una tienda de juguetes).
Tal representación define el curso típico de un evento determinado. El conocimiento de tal
forma se puede usar en un sistema de IA para predecir el curso de los eventos o para razonar:
¿Qué se debe hacer para lograr un objetivo específico? En el caso de problemas de procesamiento
del lenguaje natural, si falta alguna información, podemos “adivinarla” con la ayuda de un script.
Sin embargo, si un mensaje no está estructurado de manera adecuada (p. ej., el mensaje es
caótico, la cronología de un evento se altera), entonces puede ser difícil hacer coincidir una
descripción ambigua de un evento específico con un evento de patrón (guión).
Resumiendo, un guión se puede definir como una representación estructural que describe un
evento de cierto tipo de manera generalizada/estereotipada9, teniendo en cuenta un contexto
particular. La definición de un script se formaliza con la ayuda de los siguientes elementos.
• Los agentes son objetos que pueden impactar sobre otros objetos y que pueden ser influenciados
por otros objetos. En el ejemplo de visitar una clínica local, un niño, una madre, un médico, etc.
son agentes.
• Los accesorios son cosas que ocurren en un guión. En nuestro ejemplo, un termómetro clínico
y una receta son accesorios.
• Las acciones son eventos elementales que se utilizan para construir el evento completo. En
nuestro ejemplo , escribir una receta y salir de la clínica son acciones. • Las
condiciones previas son proposiciones que deben ser verdaderas en el momento de iniciar una
inferencia con la ayuda de un guión, por ejemplo, un niño está enfermo, una clínica local
está abierta, etc. • Los resultados son proposiciones que deben ser verdaderas en el momento
de terminar una inferencia con la ayuda de un guión, por ejemplo, un médico escribe una receta.
En un modelo estándar de SchankAbelson, las acciones se definen de forma jerárquica en
dos niveles. Las escenas se definen en un nivel superior (p. ej., el médico le hace un chequeo a
un niño) y se representan con la ayuda de gráficos de dependencia conceptual, que se introdujeron
en la Secc. 2.4. Los actos elementales, que corresponden a nodos de grafos CD, se definen en
un nivel inferior. Los actos elementales se construyen con primitivas conceptuales (introducidas
en la Sección 2.4) como PTRANS, que denota “cambiar la ubicación física de un objeto”, SPEAK,
que denota “producir un sonido”, etc.
Al final del capítulo, consideremos un ejemplo (simplificado) de construcción de un
guion. Supongamos que Paul me ha contado el siguiente chisme.
Mark estaba enojado con Tom. Por lo tanto, Mark calumnia a Tom durante una fiesta. Cuando
Tom se enteró, se ofendió con Mark. Paul decidió reconciliar a Mark con Tom. Así que los
invitó a un pub. Mark, después de beber algunas cervezas, se disculpó con Tom por murmurar.
Como resultado, Tom arregló las cosas con Mark.
9 Una secuencia estereotipada de pasos elementales que definen un evento a veces se denomina
escenario estereotipado.
Machine Translated by Google
100 7 Modelos Estructurales de Representación del Conocimiento
Esta historia se puede representar con la ayuda del objeto que se muestra en la parte
inferior izquierda de la Fig. 7.4.
Al día siguiente leí el siguiente artículo sobre una disputa entre Ruritania y
Alvania en mi periódico favorito.
Reconciliación de partes enfrentadas
Agente A <patrón de agente>
Agente B <patrón de agente>
Agente C <patrón de agente>
Acción 1 <patrón de acción>
Acción 2 <patrón de acción>
Acción 3 <patrón de acción>
Acción 4 <patrón de acción>
Acción 5 <patrón de acción>
pertenece a una clase pertenece a una clase
Reconciliación de Mark y Tom Reconciliación de Ruritania y Alvania
Agente A: Marca Agente A: Ruritania
Agente B: Tom Agente B: Alvania
Agente C: Pablo Agente C: Organización de la Paz
Acción 1: murmuración Acción 1: Shellfire
Acción 2: Resentimiento Acción 2: Dar un ultimátum
Acción 3: Encuentro en pub Acción 3: Conferencia de Paz
Acción 4: Explicación del incidente Acción 4: Explicación del incidente
Acción 5: Reconciliación Acción 5: Cancelación del ultimátum
Fig. 7.4 Un ejemplo de definición de un script
Machine Translated by Google
7.3 Guiones 101
Hace dos semanas las tropas ruritanas atacaron el territorio de Alvania. Al día siguiente el
embajador de Alvania entregó un ultimátum al canciller de Ruritania. Entonces, la Organización
de la Paz decidió organizar una conferencia de paz. Los representantes de Ruritania se
disculparon con los representantes de Alvania y explicaron que fue un malentendido. Como
resultado, Alvania canceló su ultimátum.
Este artículo se puede representar con la ayuda del objeto que se muestra en la parte
inferior derecha de la Fig. 7.4. Para ambos objetos, podemos definir una descripción
generalizada de una reconciliación de partes enfrentadas, que es, de hecho, su clase de
abstracción. Tal clase es, según una definición presentada anteriormente, un script. Este guión
contiene una secuencia estereotipada de actos elementales del escenario, como se muestra en la Fig. 7.4.
Nota bibliográfica
Los modelos estructurales de representación del conocimiento se introducen en monografías
clásicas sobre Inteligencia Artificial [189, 211, 315]. Esta área se analiza en detalle en [36,
280, 281]. Las monografías [130, 266] son buenas introducciones a la lógica descriptiva.
Machine Translated by Google
Capítulo 8
Análisis de patrones sintácticos
En el análisis de patrones sintácticos, también llamado reconocimiento de patrones sintácticos
[97, 104], el razonamiento se realiza sobre la base de representaciones estructurales que
describen cosas y fenómenos pertenecientes al mundo. Un conjunto de tales representaciones
estructurales, llamados patrones (estructurales), constituye la base de datos de un sistema de IA.
Este conjunto no se representa en la base de datos de forma explícita, sino con la ayuda de un
sistema formal, que genera todos sus patrones. Una gramática generativa, presentada en el cap.
1 y secta. 2.5 durante una discusión de las ideas principales de la teoría de Chomsky, es el
sistema formal más popular utilizado para este propósito. La gramática genera patrones
1
estructurales mediante la aplicación de reglas
de reescritura de cadenas, que se denominan
producciones. Así, una gramática generativa (de cadenas) constituye un tipo específico de Sistema
de Reescritura Abstracta, ARS, introducido en la Secc. 6.5, que se denomina Sistema de
reescritura de cadenas, SRS. Por lo tanto, el razonamiento por análisis de patrones sintácticos
puede tratarse como razonamiento por computación simbólica, que se ha discutido en la Secc. 6.5.
La generación de patrones estructurales con la ayuda de una gramática generativa se presenta
en la primera sección de este capítulo. En Sectas. 8.2 y 8.3 se discuten el análisis y la
interpretación de patrones estructurales, respectivamente. El problema de la construcción
automática de una gramática sobre la base de patrones de muestra se considera en la cuarta
sección. En la última sección se introducen las gramáticas de grafos. Las definiciones formales de
los conceptos introducidos en este capítulo se encuentran en el Apéndice E.
1Dichos patrones estructurales pueden tener la forma de cadenas o gráficos. Por tanto, se consideran dos tipos de
gramáticas generativas: las gramáticas de cadenas y las gramáticas de grafos. En el reconocimiento de patrones
sintácticos también se definen gramáticas de árbol, que generan estructuras de árbol. Dado que un árbol es un caso
particular de un grafo, no presentamos gramáticas de árboles en la monografía. Se remite al lector, por ejemplo, a [104].
© Springer International Publishing Suiza 2016 M. Flasi ́nski, 103
Introducción a la Inteligencia Artificial, DOI
10.1007/9783319400228_8
Machine Translated by Google
104 8 Análisis de patrones sintácticos
8.1 Generación de Patrones Estructurales
Comenzamos nuestra definición de una gramática generativa en el modelo de Chomsky
[47] introduciendo un conjunto de símbolos terminales. Los símbolos terminales son
expresiones que se utilizan para construir oraciones que pertenecen a un idioma
generado por una gramática.2 Supongamos que construimos una gramática para un
subconjunto del idioma inglés que consta de oraciones que contienen cuatro sujetos
(nombres masculinos): Hector, Victor , Hyacinthus, Pacificus, dos predicados: acepta,
rechaza, y cuatro objetos: globalismo, conservadurismo, anarquismo, pacifismo. Por
ejemplo, las oraciones Héctor acepta el globalismo y Jacinto rechaza el conservadurismo
pertenecen al lenguaje.3 Denotemos este lenguaje por L1. Entonces, un conjunto de
símbolos
terminales T1 se define como sigue: T1 = {Héctor, Víctor, Jacinto, Pacífico, acepta, rechaza, globalis
conservadurismo, anarquismo, pacifismo}.
Como hemos mencionado anteriormente, las oraciones se generan con reglas de reescritura llamadas
4
producciones. Consideremos una aplicación de una producción con el siguiente ejemplo.
Que se dé una frase:
Héctor acepta B , (8.1)
donde B es un símbolo auxiliar, llamado símbolo no terminal, objeto 5 que denota un
en una oración. Sea dada una producción de la forma:
B → globalismo. (8.2)
Una expresión colocada en el lado izquierdo de una flecha se llama lado izquierdo de una
producción y una expresión colocada en el lado derecho de una flecha se llama lado
derecho de una producción. Una aplicación de la producción a la frase, denotada por
= , consiste en reemplazar una expresión de la frase que es equivalente al lado
izquierdo de la producción (en nuestro caso es el símbolo B) por el lado derecho de la
producción. Así, una aplicación de la producción se denota en el
2Recordemos que las nociones de palabra y oración son tratadas simbólicamente en la teoría del lenguaje formal. Por ejemplo,
si definimos una gramática que genera palabras individuales del idioma inglés, entonces las letras son símbolos terminales.
Entonces, las palabras en inglés que consisten en estas letras se llaman palabras (oraciones) de un lenguaje formal. Sin
embargo, si definimos una gramática que genera oraciones del idioma inglés, entonces las palabras en inglés pueden tratarse
como símbolos terminales. Entonces las oraciones del idioma inglés se llaman palabras (oraciones) de un lenguaje formal.
Como veremos más adelante, las palabras (frases) de un lenguaje formal generado por una gramática pueden representar
cualquier estructura de cadenas, por ejemplo, gráficos de acciones, gráficos en medicina (ECG, EEG), etc. lenguaje, las
cadenas que consisten en símbolos se llaman oraciones.
3Omitimos el símbolo terminal de un punto en todos los ejemplos para simplificar nuestras consideraciones.
Por supuesto, si usamos gramáticas generativas para el Procesamiento del Lenguaje Natural (NLP), deberíamos usar un
símbolo de punto final.
4Las llamamos producciones, porque se utilizan para generar—“producir”—frases de una lengua.
5Los símbolos no terminales generalmente se denotan con letras mayúsculas.
Machine Translated by Google
8.1 Generación de Patrones Estructurales 105
siguiente manera:
Ahora, definimos un conjunto de todas las producciones que generan nuestro lenguaje. Denotemos
este conjunto por P1:
(1) S → Hector A (2) S →
Victor A (3) S →
Hyacinthus A (4) S → Pacificus
A (5) A → acepta B (6) A →
rechaza B (7) B →
globalismo (8) ) B →
conservadurismo (9) B →
anarquismo (10) B → pacifismo .
Por ejemplo, la oración Pacificus rechaza el globalismo se genera de la siguiente manera:
=4 Pacificus A = 6 Pacificus rechaza B = 7
Pacificus rechaza el globalismo.
S (8.4)
Los índices de las producciones aplicadas se colocan encima de las flechas dobles. Una secuencia de
aplicaciones de producción utilizadas para generar una oración se denomina derivación de esta oración. Si
no estamos interesados en presentar la secuencia de pasos de derivación, entonces simplemente podemos
escribir:
lo que significa que podemos generar (derivar) una oración Pacificus rechaza el globalismo con la ayuda
de producciones gramaticales que comienzan con un símbolo S.
Como podemos ver nuestro conjunto de símbolos no terminales, que denotamos por N1, consta de tres
símbolos auxiliares S, A, B, los cuales son responsables de generar un sujeto, un predicado y un objeto,
es decir,
N1 = {S, A, B}.
En una gramática generativa, un símbolo no terminal que se usa para iniciar cualquier derivación se
llama símbolo de inicio (axioma) y se denota por S. Por lo tanto, nuestra gramática G1 se puede definir
como un cuádruple G1 = (T1, N1, P1, S ). Un lenguaje generado por una gramática G1 se denota como
L(G1). La lengua L(G1) es el conjunto de todas las oraciones que se pueden derivar con la ayuda de
producciones de la gramática G1. Se puede probar que para nuestro lenguaje L1, que se ha introducido de
manera informal al comienzo de esta sección, se cumple lo siguiente: L(G1) = L1.
Una gramática generativa tiene una propiedad interesante: es un “objeto” finito (consiste en conjuntos
finitos de símbolos terminales y no terminales y un conjunto finito de producciones), sin embargo, puede
generar un lenguaje infinito, es decir, un lenguaje que consiste en un
Machine Translated by Google
106 8 Análisis de patrones sintácticos
número infinito de oraciones. Antes de considerar esta propiedad, introduzcamos la
siguientes denotaciones. Sea a un símbolo. Por an denotamos una expresión que
consta de una secuencia de n elementos de símbolos a, es decir,
an = aaa ... aaa , (8.6)
n veces
donde n ≥ 0. Si n = 0, entonces es una secuencia de 0 elementos de símbolos a, llamada el vacío
palabra y denotada por λ. Así: a0 = λ, a1 = a, a2 = aa, a3 = aaa, etc.
Por ejemplo, definamos un idioma L2 de la siguiente manera:
L2 = {un , norte ≥ 1} . (8.7)
El lenguaje L2 es infinito y consta de secuencias de n elementos de símbolos a, donde
además, a tiene que ocurrir al menos una vez. (La palabra vacía no pertenece a L2.)
puede ser generado por la siguiente gramática simple G2:
G2 = (T2, N2, P2, S) ,
donde T2 = {a}, N2 = {S}, y el conjunto de producciones P2 contiene lo siguiente
producciones:
(1) S → aS
(2) S → un .
Se realiza una derivación de una oración de una longitud dada r ≥ 2 (es decir, n = r) en G2
de acuerdo con el siguiente esquema:
1 1 1 1 2
S = aS = aaS = ... = ar−1 S = ar , (8.8)
es decir, primero se aplica la primera producción (r − 1) veces, luego la segunda producción
se aplica una vez al final. Si queremos generar una oración de una longitud n = 1, es decir,
la oración a, la aplicamos la segunda producción una vez.
Notemos que definir un lenguaje L2 como un conjunto infinito es posible debido a la
primera producción. Esta producción tiene una forma interesante: S → aS, lo que significa
que se refiere a sí mismo (un símbolo S aparece en los lados izquierdo y derecho de la
producción). Tal forma se llama recursiva, del latín recurrere, "correr hacia atrás".
Este “retroceder” del símbolo S durante una derivación cada vez después de aplicar
la primera producción, hace infinita la lengua L2 .
Ahora, discutimos un tema muy importante relacionado con las gramáticas generativas. Allá
Hay muchas clases (tipos) de gramáticas generativas. Estas clases se pueden organizar
en una jerarquía según el criterio de su poder generativo. Les presentamos
este criterio con la ayuda del siguiente ejemplo. Definamos el siguiente formal
lenguaje de la siguiente manera:
8.1 Generación de Patrones Estructurales 107
El lenguaje L3 consiste en la subsecuencia de símbolos a y la subsecuencia de
símbolos b. Además, el símbolo a tiene que ocurrir al menos una vez, y el símbolo b tiene
ocurrir al menos dos veces. Por ejemplo, las oraciones abb, aabb, aabbb, aabbbb, ... ,
aaabb, etc. pertenecen a este lenguaje. Puede ser generado por la siguiente gramática:
G3 = (T3, N3, P3, S) ,
donde T3 = {a , b}, N3 = {S , A , B}, y el conjunto de producciones P3 contiene el
siguientes producciones:
(1) S → un A
(2) A → a A
(3) A → bB
(4) B → bB
(5) segundo → segundo .
La primera producción se utiliza para generar el primer símbolo a. la segunda produccion
genera sucesivos símbolos a de forma recursiva. Generamos el primer símbolo b con
la ayuda de la tercera producción. La cuarta producción genera símbolos sucesivos.
b de forma recursiva (análogamente a la segunda producción). La quinta producción es
utilizado para generar el último símbolo b de la oración. Por ejemplo, una derivación de
la oración a3b4 se realiza de la siguiente manera:
1 2 2 3 4
S = una A = aaa = aaaA = aaabB =
4 4 5
= aaabbB = aaabbbb = aaabbbb . (8.10)
Ahora, definamos un lenguaje L4 que es una modificación del lenguaje L3, en
de la siguiente manera:
L4 = {ambm , metro ≥ 1}. (8.11)
La lengua L4 se diferencia de la lengua L3 en exigir un número igual de
símbolos a y b. El lenguaje L4 no se puede generar con la ayuda de gramáticas
tener producciones de la forma de gramática G3, ya que tales producciones no aseguran
la condición de un número igual de símbolos. Resulta del hecho de que en tal
una gramática primero generamos un cierto número de símbolos a y luego comenzamos a
generar símbolos b, pero la gramática “no recuerda” cuántos símbolos a
han sido generados. Decimos que una gramática que tiene producciones en la forma a de la
producciones de G3 tiene un poder generativo demasiado débil para generar el lenguaje L4. Ahora,
introducimos una gramática G4 que es capaz de generar el lenguaje L4:
G4 = (T4, N4, P4, S) ,
donde T4 = {a , b}, N4 = {S}, y el conjunto de producciones P4 contiene lo siguiente
producciones:
Machine Translated by Google
108 8 Análisis de patrones sintácticos
(1) S → aSb (2)
S → ab .
Por ejemplo, una derivación de la oración a4b4 se realiza de la siguiente manera:
1 1 S = 1 2
aSb = aaSbb = aaaSbbb = aaaabbbb . (8.12)
Como podemos ver, una solución al problema de un número igual de símbolos a y b se obtiene
generando el mismo número de ambos símbolos en cada paso de derivación.
Así, la gramática G4 tiene suficiente poder generativo para generar el lenguaje L4. El poder
generativo de clases de gramáticas formales resulta de la forma de sus producciones. Notemos
que las producciones de las gramáticas G1, G2, G3 son de las dos formas siguientes:
<símbolo no terminal> → <símbolo terminal ><símbolo no terminal> o <símbolo no
terminal> → <símbolo terminal> .
Usando producciones de tales formas, solo podemos "pegar" un símbolo al final de la frase
que se ha derivado hasta ahora. Gramáticas que sólo tienen producciones de En la jerarquía de
6
tal forma se llaman gramáticas regulares. tienen Chomsky tales gramáticas
el poder generativo más débil.
Para gramáticas como la gramática G4, no exigimos ninguna forma específica del lado derecho
de las producciones. Solo requerimos un solo símbolo no terminal en el
lado izquierdo de una producción. Estas gramáticas se denominan gramáticas libres de contexto.7
Tienen mayor poder generativo que las gramáticas regulares. Sin embargo, tenemos que pagar
un cierto precio por aumentar el poder generativo de las gramáticas. Discutimos este tema en la
siguiente sección.
8.2 Análisis de Patrones Estructurales
Las gramáticas se utilizan para generar lenguajes. Sin embargo, en Inteligencia Artificial nos
interesa más el análisis de los lenguajes. Para este análisis se aplican autómatas formales. Varios
tipos de autómatas difieren entre sí en su construcción (estructura), dependiendo de las clases de
gramáticas correspondientes. Comencemos definiendo un autómata del tipo más simple, es decir,
un autómata de estado finito. Esta clase
6De hecho, tales gramáticas son gramáticas regulares correctas. En las gramáticas regulares izquierdas, un símbolo no
terminal aparece (si aparece) antes de un símbolo terminal.
7 También hay gramáticas que tienen un poder generativo más fuerte en la jerarquía de Chomsky, a saber, gramáticas
sensibles al contexto y gramáticas sin restricciones (tipo0). Sus definiciones se encuentran en el Apéndice E.
Machine Translated by Google
8.2 Análisis de Patrones Estructurales 109
(a)
Héctor globalismo
Víctor acepta conservadurismo
S A B PIE
Jacinto rechaza anarquismo
Pacífico pacifismo
otro
otro otro
FN
(b) (C) b
A
b B
A
Fig. 8.1 a El autómata de estado finito A1, bc Construcciones básicas para definir un autómata de estado finito
fue presentado por Claude Elwood Shannon8 en [272]9 en 1948, y formalizado por Stephen C.
Kleene en [160] en 1956 y Michael Oser Rabin10 y Dana Stewart Scott11 en [234] (autómatas no
deterministas) en 1959. Un se utiliza un autómata
para el análisis de lenguajes generados por gramáticas regulares, llamados lenguajes regulares. 12
Comencemos definiendo el autómata A1 que se muestra en la figura 8.1a, que está construido
para el lenguaje L1 (la gramática G1) presentado en la sección anterior. Cada nodo del gráfico
está etiquetado con un símbolo (S, A, B, FT , FN ) y representa un posible estado del autómata. El
estado en el que el autómata comienza a funcionar se denomina estado inicial S y está marcado
con un pequeño triángulo negro en la figura 8.1a. Los estados en los que el autómata termina de
funcionar (FT y FN en la Fig. 8.1a) se denominan estados finales y se marcan con un doble borde.
Los bordes dirigidos del gráfico definen transiciones entre estados. Se produce una transición de
un estado a otro si el autómata
8Claude Elwood Shannon—profesor del Instituto Tecnológico de Massachusetts, matemático e ingeniero
electrónico, el “padre” de la teoría de la información y las ciencias de la computación.
9La idea de un autómata de estado finito se basa en el modelo de cadena de Markov que se presenta en el
Apéndice B para algoritmos genéticos.
10Michael Oser Rabin—profesor de la Universidad de Harvard y de la Universidad Hebrea de Jerusalén, Ph.D.
alumno de la Iglesia de Alonso. Sus logros sobresalientes se relacionan con la teoría de autómatas, la teoría
de la complejidad computacional, la criptografía (prueba de MillerRabin) y el reconocimiento de patrones
(algoritmo de RabinKarp). En 1976 fue galardonado con el Premio Turing (junto con Dana Scott).
11Dana Stewart Scott—profesora de informática, filosofía y matemáticas en la Universidad Carnegie Mellon y
la Universidad de Oxford, Ph.D. alumno de la Iglesia de Alonso. Su excelente trabajo se refiere a la teoría de
autómatas, la semántica de los lenguajes de programación, la lógica modal y la teoría de modelos (una prueba
de la independencia de la hipótesis del continuo). En 1976 fue galardonado con el Premio Turing.
12Los lenguajes L1, L2 y L3 presentados en la sección anterior son lenguajes regulares.
Machine Translated by Google
110 8 Análisis de patrones sintácticos
lee de su input13 un elemento que determina esta transición. Por ejemplo, supongamos
que el autómata está en el estado S. Si el autómata lee de la entrada uno de los elementos
Hector, Victor, Hyacinthus o Pacificus, entonces pasa al estado A. De lo contrario, va de
acuerdo con el transición other14 al estado final FN , lo que significa que la expresión de
entrada se rechaza por no pertenecer al lenguaje L1. Si el autómata está en el estado A,
entonces pasa al estado B en caso de que uno de los predicados acepte o rechace en la
entrada. Esto es coherente con la definición de la lengua L1, en la que el predicado debe
aparecer después de uno de los cuatro sujetos. Si el autómata está en el estado B, a su
vez, espera uno de cuatro objetos: globalismo, conservadurismo, anarquismo o pacifismo.
Después de leer dicho objeto, el autómata pasa al estado final FT , lo que significa que la
expresión de entrada se acepta como perteneciente al lenguaje L1.
Formalmente, un autómata de estado finito A construido para un lenguaje L generado
por una gramática regular G = (T, N, P, S) se define como un quíntuple: G = (Q, T, δ, q0, F).
T es el conjunto de símbolos terminales que utiliza la gramática G para generar el lenguaje
L. Q es el conjunto de estados. (En nuestro ejemplo que se muestra en la figura 8.1a , es
el conjunto {S, A, B, FT , FN }). q0 es el estado inicial, F es el conjunto de estados finales.
15
(En nuestro ejemplo , q0 = S, F consta de los estados FT y FN ). δ es la función de
transición de estado, que determina las transiciones en el autómata (en la figura 8.1a, las
transiciones están representadas por aristas dirigidas del gráfico). Un par (el estado del
autómata, el símbolo terminal en la entrada) es un argumento de la función. La función
calcula el estado en el que debe entrar el autómata. Por ejemplo, δ(S, Hyacinthus) = A,
δ(A, acepta) = B (cf. Fig. 8.1a).
Se ha desarrollado un método para la generación (síntesis) de un autómata de estado
finito sobre la base de una gramática regular correspondiente. Los estados del autómata
se relacionan con símbolos no terminales de la gramática (el estado inicial se relaciona
con el símbolo de inicio, además podemos definir estados finales). Cada producción de la
forma A → bB está representada por una transición δ(A, b) = B (cf. Fig. 8.1b). Cada
producción recursiva de la forma A → bA está representada por una transición recursiva δ(A, b) = A (cf.
Figura 8.1c). Cada producción que finaliza una derivación (hay un único símbolo de
terminal en el lado derecho de la producción) corresponde a una transición al estado de
aceptación final. El lector puede ver fácilmente que el autómata A1 que se muestra en la
figura 8.1a se ha construido sobre la base de la gramática G1 de acuerdo con estas reglas.
En el apartado anterior hemos dicho que las gramáticas generativas se jerarquizan según
su poder generativo. Lo mismo se aplica a los autómatas. Además, cada clase de gramática
se relaciona con algún tipo de autómata. Los autómatas que corresponden a gramáticas
más débiles (en el sentido de poder generativo) no pueden analizar lenguajes generados
por clases de gramáticas más fuertes. Por ejemplo, un autómata de estado finito es
13La entrada del autómata es el lugar donde se coloca la expresión a analizar. Si hay alguna expresión en la
entrada, entonces el autómata lee la expresión un elemento (un símbolo terminal) a la vez y realiza las transiciones
adecuadas.
14La otra transición significa que el autómata ha leído un elemento diferente de los que denotan transiciones
provenientes del estado actual.
15La función de transición de estado no es necesariamente una función en el sentido matemático de esta noción.
Machine Translated by Google
8.2 Análisis de Patrones Estructurales 111
demasiado débil para analizar el lenguaje libre de contexto L4 = {ambm , m ≥ 1} presentado en la
sección anterior.
Un autómata pushdown16 (determinista) es lo suficientemente fuerte como para analizar lenguajes
17
como L4. Este autómata utiliza una memoria de trabajo adicional, llamada pila.
La función de transición δ de tal autómata se define de manera diferente a la del autómata de estado
finito. Un par (la parte superior de la pila, la secuencia de símbolos en la entrada 18) es su argumento.
Como resultado, la función puede “generar” varias acciones del autómata. En el caso de nuestro
autómata se permiten las siguientes acciones: • aceptar (el autómata ha analizado la expresión
completa en la entrada y
ha decidido que la expresión pertenece a la lengua),
• rechazar (el autómata ha decidido, durante su funcionamiento, que la expresión no
no pertenecen a la lengua),
• remove_symbol (el autómata elimina un símbolo terminal de la entrada y
un símbolo que aparece en la parte superior de la pila),
• apply_production_on_stack(i) (el autómata toma el lado izquierdo de una producción i de la parte
superior de la pila y agrega el lado derecho de la producción i a la parte superior de la pila).
Antes de considerar el funcionamiento de un autómata A4 construido para el lenguaje
L4 = {ambm , m ≥ 1}, definamos su función de transición de la siguiente manera:
δ(S, aa) = aplicar_producción_en_la_pila(1), δ(S, ab) = (8.13)
aplicar_producción_en_la_pila(2), δ(a, a) = quitar_símbolo, (8.14)
δ(b, b) = quitar_símbolo, δ(λ, λ) = (8.15)
aceptar , λ − la palabra vacía, δ(v, w) (8.16)
= rechazar, en caso contrario. (8.17)
(8.18)
El autómata A4 intenta reconstruir una derivación de la expresión que tiene en la entrada. Lo hace
analizando una secuencia formada por dos símbolos19 de la expresión, porque esto es suficiente para
decidir qué producción de la gramática G4 (la primera o la segunda) se utilizará en el momento de
generar dicha secuencia.
16Para simplificar nuestras consideraciones, presentamos aquí un caso específico de un autómata pushdown, es
decir, un autómata LL(k), que analiza lenguajes generados por gramáticas libres de contexto LL(k). Estas
gramáticas se definen formalmente en el Apéndice E.
17En informática una pila es una estructura específica de una memoria de datos con ciertas operaciones, que
funciona de la siguiente manera. Los elementos de datos se pueden agregar solo en la parte superior de la pila y
se pueden quitar solo desde la parte superior. Una pila de libros colocados uno sobre otro es un buen ejemplo de pila.
Si queremos agregar un nuevo libro a la pila, tenemos que ponerlo en la parte superior de la pila. Si queremos
obtener algún libro, entonces tenemos que quitar todos los libros que están por encima del libro que nos interesa.
18Esta secuencia de símbolos tiene una longitud fija. La longitud de la secuencia es un parámetro del autómata.
En el caso de los autómatas LL(k) , k es la longitud de la secuencia, que se analiza en un solo paso de trabajo del
autómata.
19El autómata A4 es un autómata LL(2) .
Machine Translated by Google
112 8 Análisis de patrones sintácticos
a
a
(Automóvil club británico)
(Automóvil club británico)
Fig. 8.2 Análisis de la oración aaabbb por el autómata A4
Para estar convencidos de que este es un método de análisis adecuado, volvamos a la derivación
(8.12) en una sección anterior. Si queremos decidir cuántas veces se ha aplicado la primera
producción para la generación de la oración aaaabbbb, entonces basta con marcar dos símbolos
hacia adelante. Si escaneamos una oración de izquierda a derecha, siempre que tengamos una
secuencia de dos elementos aa , sabemos que se ha aplicado la producción (1), que corresponde
a la transición (8.13). Si encontramos una secuencia ab (en el medio de la oración), entonces
significa que se ha aplicado la producción (2), que corresponde a la transición (8.14). Ahora,
analicemos la oración aaabbb. El autómata comienza a funcionar con el símbolo de inicio S en la
pila y la oración aaabbb en la entrada, como se muestra en la figura 8.2a. La parte subrayada de
la oración significa la secuencia que se analiza en un paso dado. Las flechas significan transiciones
y están etiquetadas con la función de transición utilizada en un paso determinado. Entonces, hay
S en la parte superior de la pila y aa son los dos primeros símbolos de la entrada. Así, el primer
paso lo realiza el autómata según la transición (8.13). Esto significa que el lado izquierdo de la
producción (1), es decir, S, se quita de la pila y el lado derecho de esta producción, es decir, aSb,
se coloca en la parte superior de la pila20 , como se muestra en la Fig. 8.2b. Ahora, a está en la
parte superior de la pila y a está en la entrada. Por lo tanto, el siguiente paso se realiza de acuerdo
con la transición (8.15), es decir, el símbolo a se elimina de la parte superior de la pila y de la
entrada. Esto se denota tachando ambos símbolos. Obtenemos la situación que se muestra en la
figura 8.2c.
Esta situación es análoga a la anterior al primer paso. (S está en la parte superior de la pila, aa
está en la entrada). Por lo tanto, realizamos una transición de acuerdo con (8.13) una vez más, es
decir, S se quita de la pila y el lado derecho de esta producción, aSb , se coloca en la parte
superior de la pila. Esto da como resultado la situación que se muestra en la figura 8.2d. De nuevo a está en
20El lado derecho de la producción, aSb, se coloca en la pila "de atrás hacia adelante", es decir, primero (en la
parte inferior de la pila) se coloca el símbolo b , luego el símbolo S, finalmente (en la parte superior de la pila). la
pila) símbolo a.
Machine Translated by Google
8.2 Análisis de Patrones Estructurales 113
la parte superior de la pila y a está en la entrada. Entonces, realizamos la transición de acuerdo
con (8.15) y obtenemos la configuración que se muestra en la Fig. 8.2e. Dado que S está en la
parte superior de la pila y ab son los dos primeros símbolos en la entrada, debemos aplicar
(8.14), que corresponde a la producción (2) de la gramática G4. El autómata reemplaza S en la
pila por el lado derecho de la segunda producción, es decir, ab (cf. Fig. 8.2f). Como podemos
ver, los siguientes pasos consisten en eliminar símbolos de la pila según la fórmula (8.15) y la
fórmula triple (8.16). Al final, tanto la pila como la entrada están vacías, como se muestra en la
figura 8.2h. Esto corresponde a una transición según (8.17), lo que significa aceptación de la
oración como perteneciente a la lengua L4.
Cualquier otra configuración final de la pila y la entrada daría como resultado el rechazo de la
oración de acuerdo con la fórmula (8.18).
Uno puede notar fácilmente que el funcionamiento de un autómata pushdown es más
complejo que el de un autómata de estado finito. De hecho, cuanto mayor es el poder generativo
de una gramática generativa, mayor es la complejidad computacional del autómata
correspondiente. El análisis de lenguajes regulares es más eficiente que el análisis de lenguajes
libres de contexto. Por lo tanto, se han definido subclases de gramáticas libres de contexto con
autómatas eficientes correspondientes. Las subclases eficientes más populares incluyen:
gramáticas LL(k) introducidas por Philip M. Lewis21 y Richard E. Stearns22 en [180] en 1968,
gramáticas LR(k) definidas por Donald E. Knuth23 en [163] en 1965, y operador gramáticas de
precedencia definidas por Robert W. Floyd24 en [98] en 1963.
Para este tipo de gramáticas se han definido los correspondientes autómatas eficientes.
El problema del análisis de sintaxis (análisis por autómatas) se vuelve mucho más difícil si
las gramáticas independientes del contexto tienen un poder generativo demasiado débil para
una determinada aplicación. Como hemos mencionado anteriormente, en la jerarquía de
Chomsky quedan dos clases de gramáticas, a saber, las gramáticas sensibles al contexto y las
gramáticas sin restricciones (tipo 0). Un autómata lineal acotado y la máquina de Turing son dos tipos de
21Philip M. Lewis: profesor de ingeniería electrónica y ciencias de la computación en el Instituto de Tecnología
de Massachusetts y la Universidad Estatal de Nueva York, científico en el Centro de Investigación y Desarrollo de
General Electric. Su trabajo se refiere a la teoría de autómatas, la teoría de la concurrencia, los sistemas
distribuidos y el diseño de compiladores.
22Richard Edwin Stearns—profesor de matemáticas e informática en la Universidad Estatal de Nueva York,
científico de General Electric. Fue galardonado con el Premio Turing en 1993. Ha contribuido a los fundamentos
de la teoría de la complejidad computacional (con Juris Hartmanis). Sus logros se refieren a la teoría de algoritmos,
la teoría de autómatas y la teoría de juegos.
23Donald Ervin Knuth—profesor de informática en la Universidad de Stanford. El “padre” del análisis de algoritmos.
Es conocido como el autor del bestseller "El arte de la programación informática" y el diseñador del sistema de
composición tipográfica Tex. El profesor D. Knuth también es conocido por su buen sentido del humor (p. ej., su
famosa declaración: "Cuidado con los errores en el código anterior; solo he probado que es correcto, no lo he
probado"). Fue galardonado con el Premio Turing en 1974.
24Robert W. Floyd: científico informático, físico y licenciado en humanidades. Tenía 33 años cuando se convirtió
en profesor titular en la Universidad de Stanford (sin un doctorado). Su trabajo se refiere a la teoría de autómatas,
la semántica de los lenguajes de programación, la verificación formal de programas y la teoría de grafos
(algoritmo de Floyd Warshall).
Machine Translated by Google
114 8 Análisis de patrones sintácticos
autómatas que corresponden a estas clases de gramáticas, respectivamente. Ambos tipos
de autómatas son computacionalmente ineficientes, por lo que no pueden usarse de manera
efectiva en aplicaciones prácticas. Por lo tanto, se han definido gramáticas libres de contexto
mejoradas para resolver este problema. Tales gramáticas incluyen gramáticas programadas
definidas por Daniel J. Rosenkrantz25 en [248] en 1969, gramáticas indexadas introducidas
por Alfred Vaino Aho26 en [1] en 1968 y gramáticas programadas dinámicamente publicadas
en [95] en 1999.
8.3 Interpretación de Patrones Estructurales
En la sección anterior hemos mostrado cómo utilizar un autómata para comprobar si una
expresión (oración) pertenece a un lenguaje generado por una gramática. En otras palabras,
se ha utilizado un autómata para comprobar si una expresión se construye correctamente
desde el punto de vista de la sintaxis de un lenguaje, lo cual es importante, por ejemplo, en
el procesamiento del lenguaje natural. Generalmente, en Inteligencia Artificial nos interesa
no solo la corrección sintáctica de las expresiones, sino también su aspecto semántico, es
decir, queremos realizar una interpretación adecuada de las expresiones.27 Consideremos
una vez más nuestro ejemplo de Héctor, Víctor, et al. introducido en la Secc. 8.1.
Supongamos que Héctor y Víctor aceptan el globalismo y el conservadurismo, y rechazan el
anarquismo y el pacifismo. Por otro lado, Hyacinthus y Pacificus aceptan el anarquismo y el
pacifismo, y rechazan el globalismo y el conservadurismo. Supongamos que sólo tales
proposiciones pertenecen a un nuevo lenguaje L5. Ahora, podemos definir una gramática G5
que no solo genera oraciones que son correctas sintácticamente, sino que también estas
proposiciones son consistentes con los supuestos presentados anteriormente. (Es decir,
estas proposiciones son verdaderas.) El conjunto de producciones P5 de la gramática G5 se
define como sigue:
25Daniel J. Rosenkrantz—profesor de la Universidad Estatal de Nueva York, científico de General Electric,
editor en jefe del prestigioso Journal of the ACM. Sus logros se refieren al diseño de compiladores y la teoría
de algoritmos.
26Alfred Vaino Aho: físico, ingeniero electrónico y eminente informático, profesor de la Universidad de
Columbia y científico de Bell Labs. Su trabajo se refiere al diseño de compiladores y la teoría de algoritmos.
Es conocido como el autor de excelentes libros (escritos con JD
Ullman y JE Hopcroft) Estructuras de datos y algoritmos y la teoría del análisis, la traducción y la compilación.
27 De manera similar a los métodos basados en la lógica discutidos en la Secc. 6.1.
Machine Translated by Google
8.3 Interpretación de Patrones Estructurales 115
(1) S → Hector A1 (2) S
→ Victor A1 (3) S →
Hyacinthus A2 (4) S →
Pacificus A2 (5) A1 →
acepta B1 (6) A1 →
rechaza B2 (7) A2 →
rechaza B1 ( 8) A2 →
acepta B2 (9) B1 →
globalismo (10) B1 →
conservadurismo (11) B2 →
anarquismo (12) B2 →
pacifismo .
Se puede comprobar fácilmente que con la ayuda del conjunto de producciones P5
podemos generar todas las proposiciones válidas de nuestro modelo del mundo. Por otro
lado, es imposible generar una proposición falsa, por ejemplo, Héctor rechaza el globalismo,
aunque esta oración es correcta sintácticamente.
Ahora, para la gramática G5 podemos definir un autómata de estado finito A5. Este
autómata se muestra en la figura 8.3a. (Para simplificar, no hemos definido el estado de
rechazo final FN y las transiciones a este estado). Notemos que el autómata A5 no solo
verifica la corrección sintáctica de una oración, sino que también interpreta estas oraciones
y acepta solo aquellas oraciones que son válida en nuestro modelo del mundo.
Los autómatas que se han introducido hasta ahora se denominan aceptadores
(reconocedores). Aceptan (un estado FT ) o no aceptan (un estado FN ) una oración
dependiendo de un criterio específico como la corrección sintáctica o la validez (veracidad)
en algún modelo. Los transductores son el segundo grupo de autómatas. Durante un
28
análisis generan expresiones sobre sus resultados.
Por ejemplo, se pueden utilizar para traducir
expresiones de un determinado idioma a expresiones de otro idioma. La función de transición
de dicho autómata determina un estado objetivo y escribe alguna expresión en la salida. Por
ejemplo, definamos un transductor A6, que traduce el idioma L5 al polaco. Definimos la
función de transición de la siguiente manera: δ(A1, acepta) = (B1, akceptuje), δ(A1, rechaza)
= (B2, odrzuca), etc. El transductor A6 se muestra en la Fig. 8.3b.
Aunque el Procesamiento del Lenguaje Natural, NLP, es una de las áreas de aplicación
más importantes de los transductores, también hay otras áreas en las que se utilizan, es
decir, la interpretación del mundo por autómatas no se limita al caso de describir el mundo
con la ayuda de de lenguajes naturales. Ciertos fenómenos se describen con la ayuda de
otras representaciones (por ejemplo, gráficos) que expresan mejor su esencia. Luego, en el
reconocimiento de patrones sintácticos podemos atribuir cierta interpretación a los símbolos
terminales, como se muestra, por ejemplo, en la figura 8.3c. Los elementos gráficos
representados por símbolos terminales (en nuestro ejemplo: “flechas rectas” y “flechas de
arco”) se denominan primitivas. Las primitivas desempeñan el papel de componentes
elementales utilizados para definir gráficos.
28Por lo tanto, los transductores también se denominan autómatas con salida.
Machine Translated by Google
116 8 Análisis de patrones sintácticos
(a)
acepta
Héctor A1 B1 globalismo
Víctor conservadurismo
rechaza
S PIE
rechaza
Jacinto anarquismo
Pacífico
A2 B2 pacifismo
acepta
(b) acepta /
acepta
Héctor / Héctor A1 B1 globalismo / globalismo
Víctor / Wiktor conservadurismo /
rechaza / konserwatyzm
odrzuca
S PIE
rechaza /
odrzuca
anarquismo / anarquismo
Jacinto / Hiacynt
Pacífico / Pacyfik
A2 B2 pacifismo / pacifismo
acepta /
acepta
a a C a C
b a C a C
C a C a C
d mi a C Delaware sordo
b b C b
d mi b b b
fg
b C
a C a
a
Automóvil
C
club británico
CC
fg 4
bdebca5 c6 a2 bdeb bdebc2 a6 c bfgb
Fig. 8.3 a Un autómata A5 que acepta proposiciones que son válidas en el modelo definido por el lenguaje
L5, b un transductor A6 que traduce el lenguaje L5 al polaco, c un ejemplo de primitivas estructurales, de
representaciones estructurales de patrones de ECG
Por ejemplo, en el diagnóstico médico usamos gráficos de ECG para identificar enfermedades
del corazón. En la figura 8.3d se muestra un ejemplo de representación estructural de un ECG
normal , mientras que en la figura 8.3e se muestra el caso de un infarto de miocardio . Estas
representaciones pueden tratarse como oraciones definidas en el lenguaje de los patrones de ECG.
Así, sobre la base de un conjunto de tales representaciones (frases) podemos definir una
gramática que genera este lenguaje. Dada una gramática, podemos construir un autómata
(transductor), que escribe una interpretación de un ECG en su salida.
Machine Translated by Google
8.3 Interpretación de Patrones Estructurales 117
Incluso si miramos un ECG casualmente, notamos que las primitivas que aparecen en los
gráficos están diversificadas con respecto a, por ejemplo, su longitud o el ángulo de una depresión.
Por lo tanto, para lograr una representación estructural más precisa, se pueden atribuir atributos
a las primitivas. Por ejemplo, dos atributos, la longitud (l) y el ángulo de desviación (±α), se
atribuyen a la primitiva a que se muestra en la figura 8.4a. En tal caso, las gramáticas atribuidas
se utilizan para la generación de patrones. Los autómatas aplicados a la interpretación de
patrones atribuidos (expresiones) calculan adicionalmente la distancia entre un patrón analizado
y un patrón modelo. Esta distancia nos permite evaluar el grado de confianza de la interpretación
realizada por el autómata.
En lugar de atribuir atributos a un primitivo, podemos definir patrones discretos de desviaciones
de un modelo primitivo como se muestra en la figura 8.4b. Entonces, podemos atribuir
probabilidades a las desviaciones, por ejemplo, sobre la base de la frecuencia de su ocurrencia.
Uno de estos modelos son las gramáticas estocásticas introducidas en las décadas de 1970 y
1980 y luego desarrolladas por KingSun Fu29 y Taylor L. Booth30 [34,103,104]. En dicha
gramática se define la probabilidad de aplicación de cada producción. Un autómata estocástico
da la probabilidad de que un gráfico represente un fenómeno reconocido expresado por un patrón
estructural correspondiente después de analizar una parte del gráfico.
Las gramáticas estocásticas y los autómatas también se utilizan en el procesamiento del lenguaje
31
natural, que se analiza en el cap. dieciséis. Es interesante que las cadenas de Markov,
que se
introdujeron para los algoritmos genéticos en el cap. 5 son también un modelo matemático para
un autómata estocástico.
En las aproximaciones a la distorsión de patrones estructurales discutidas hasta ahora, hemos
asumido que la estructura de tales representaciones es correcta. En otras palabras, un primitivo
puede estar distorsionado pero tiene que ocurrir en una estructura en el lugar adecuado. Esto
significa que si las representaciones estructurales son oraciones escritas a mano en un lenguaje
natural, las letras vagamente escritas a mano son el único tipo de error. Sin embargo, en la
práctica podemos omitir alguna letra (p. ej., si escribimos “gramar”), podemos agregar
incorrectamente alguna letra (p. ej., si escribimos “grammuar”), o podemos reemplazar una letra
correcta por otra incorrecta (p. ej. , si escribimos “glammar”). Afortunadamente, en el
reconocimiento de patrones sintácticos se definen ciertas métricas que se pueden usar para
calcular la distancia entre un patrón de modelo y su distorsión estructural . Las métricas de
Levenshtein32 [179] son algunas de las métricas más populares utilizadas para este propósito. Se introducen en e
29KingSun Fu—profesor de ingeniería eléctrica y ciencias de la computación en la Universidad de Purdue,
la Universidad de Stanford y la Universidad de California, Berkeley. El "padre" del reconocimiento de
patrones sintácticos, el primer presidente de la Asociación Internacional para el Reconocimiento de
Patrones (IAPR) y autor de excelentes monografías, que incluyen Syntactic Pattern Recognition and
Applications, PrenticeHall 1982. Después de su prematura muerte en 1985, IAPR estableció el premio
bienal KingSun Fu por una contribución al reconocimiento de patrones.
30Taylor L. Booth—profesor de matemáticas e informática en la Universidad de Connecticut. Su
investigación se centra en las cadenas de Markov, la teoría del lenguaje formal y la indecidibilidad.
Fundador y primer presidente de la Junta de Acreditación de Ciencias de la Computación (CSAB).
31 Las cadenas de Markov se definen formalmente en el Apéndice B.2.
32Vladimir Iosifovich Levenshtein—profesor de informática y matemáticas en el Instituto Keldysh de
Matemáticas Aplicadas en Moscú y el Instituto Matemático Steklov.
En 2006 recibió la medalla IEEE Richard W. Hamming.
Machine Translated by Google
118 8 Análisis de patrones sintácticos
(a)
a
+
yo
C
C a
a
C a
a C C CC
(b) (C) C
C
(d) a
a C a cca a
a C a aa
a
California
a
a a
a1 a2 a a a
un a
2
a3 a4 a a5 c 2 a2 c2 a2 c a5
a2 c2 a5 c 4 a2 c2
Fig. 8.4 a Asignación de atributos a un primitivo, b un modelo primitivo y patrones de sus desviaciones, cd
representaciones estructurales de patrones de gráficos de cotizaciones
Los sistemas de IA basados en el reconocimiento de patrones sintácticos se han utilizado en
varias áreas de aplicación. En medicina, además del ECG, también incluyen EEG (seguimiento de la
actividad eléctrica del cerebro), PWA (análisis de ondas de pulso), ABR (registro de una respuesta
auditiva del tronco encefálico para determinar los niveles de audición), etc. El análisis de fenómenos
económicos es otra área de estudio. aplicaciones de reconocimiento de patrones sintácticos. Por
ejemplo, las representaciones estructurales de patrones de gráficos de cotizaciones utilizados para el
análisis técnico se muestran en las Figs. 8.4c, d. En la Fig. 8.4c se muestra una representación
estructural de la formación Head and Shoulders, que ocurre cuando una tendencia está en proceso
de inversión, mientras que en la Fig. 8.4c se muestra una representación de la formación Flag, que es
un patrón de continuación de tendencia. 8.4d .
En aplicaciones prácticas, si hay muchos patrones ejemplares (es decir, oraciones ejemplares de
un idioma), definir una gramática a mano es muy difícil, a veces imposible, porque un diseñador
(humano) no puede comprender todo el conjunto de ejemplos. patrones. Por lo tanto, se han
desarrollado métodos para la construcción automática de una gramática sobre la base de patrones de
muestra. Los discutimos en la siguiente sección.
8.4 Inducción de gramáticas generativas
Presentamos la idea principal de la inducción gramatical (inferencia gramatical) con la ayuda de un
método simple de derivadas formales para gramáticas regulares [104]. En primer lugar, introducimos
la noción de derivada formal. Sea A(0) un conjunto de expresiones construidas a partir de símbolos
terminales. La derivada formal de un conjunto A(0) con respecto a un símbolo terminal a, denotado
DaA(0) , es un conjunto de expresiones que se construyen a partir de expresiones de A(0) eliminando
un símbolo a que aparece al comienzo de estas expresiones En otras palabras, DaA(0) es el conjunto
de expresiones x tales que ax pertenece a A(0) .
Por ejemplo, sea dado un conjunto
Machine Translated by Google
8.4 Inducción de gramáticas generativas 119
A(0) = {Jack cocina bien, Jack corre rápido}.
Entonces
DJackA(0) = {cocina bien, corre rápido} = A(1) .
Podemos continuar calculando una derivada formal para el conjunto A(1) :
DcocinaA(1) = {bien} = A(2) .
Ahora, si calculamos una derivada formal una vez más, esta vez para el conjunto A(2) , entonces
obtenemos un conjunto que contiene solo la palabra vacía λ:
PermanenciaA(2) = {λ} = A(3) .
De hecho, si se adjunta un pozo de símbolo a la palabra vacía, entonces obtenemos un pozo de
expresión, que pertenece al conjunto A(2) .
Notemos que calcular una derivada formal puede dar como resultado el conjunto vacío.
Por ejemplo, si calculamos una derivada formal del conjunto A(3) con respecto a cualquier símbolo,
por ejemplo, con respecto al símbolo rápidamente, entonces obtenemos:
DrápidamenteA(3) = ,
porque no existe tal expresión, que da la palabra vacía después de adjuntar el símbolo rápidamente
(o cualquier otro símbolo).
En este método tenemos que calcular todas las derivadas formales. Por lo tanto, hagámoslo:
DrunsA(1) = {rápidamente} = A(4) ,
.
DrápidamenteA(4) = {λ} = A(5)
Calcular cualquier derivada del conjunto A(5) da el conjunto vacío.
Después de calcular todas las derivadas formales podemos definir las producciones de una
gramática regular que genera expresiones pertenecientes al conjunto A(0) . Un símbolo A(0) es
el símbolo de inicio de la gramática. Las producciones se definen de acuerdo con las dos reglas
siguientes.
1. Si la derivada formal de un conjunto A(n) con respecto a un símbolo a es igual a un conjunto y el
A(k) , es decir, DaA(n) = A(k) , conjunto A(k) no consiste en la palabra vacía,
luego se suma una producción A(n) → aA(k) al conjunto de producciones de la gramática.
2. Si la derivada formal de un conjunto A(n) con respecto a un símbolo a es igual a un conjunto y el
A(k) , es decir, DaA(n) = A(k) , conjunto A(k) consiste en la palabra vacía, entonces se suma un
producción A(n) → a al conjunto de producciones de la gramática.
Como se puede comprobar fácilmente, tras aplicar estas reglas se obtiene el siguiente conjunto
de producciones.
Machine Translated by Google
120 8 Análisis de patrones sintácticos
(1) A(0) → Conector A(1)
(2) A(1) → cocina A(2)
(3) A(2) → pozo (4)
A(1) → corre A(4)
(5) A(4) → rápidamente.
El método presentado anteriormente se usa para la inducción de una gramática, que genera solo
una muestra dada de un idioma. Los métodos que intentan generalizar una muestra a todo el
lenguaje también se definen en el reconocimiento de patrones sintácticos.
Notemos que tal inducción de una gramática corresponde al razonamiento inductivo (ver Apéndice
F.2). De hecho, vamos de casos individuales (una muestra de oraciones) a su generalización en
forma de gramática.
En el caso de las gramáticas generativas de Chomsky se han definido muchos métodos de
inducción para lenguajes regulares. Los resultados de la investigación en el caso de las lenguas
libres de contexto siguen siendo insatisfactorios. Sin embargo, la inducción de gramáticas de grafos,
que se presentan en la siguiente sección, es un verdadero desafío.
8.5 Gramáticas de grafos
Como hemos mencionado en el Cap. 6, el razonamiento como cálculo simbólico se basa en sistemas
de reescritura abstracta, ARS, que se pueden dividir en sistemas de reescritura de términos, TRS
(p. ej., cálculo lambda introducido en la sección 6.5 ), Sistemas de reescritura de cadenas, SRS, que
se han discutido en secciones anteriores con la ayuda del ejemplo de las gramáticas generativas de
Chomsky, y Sistemas de reescritura de gráficos, GRS. Los últimos se utilizan para reescribir
(transformar) estructuras en forma de gráficos. Las gramáticas de gráficos, que se presentan en
esta sección, son el tipo más popular de sistemas de reescritura de gráficos.
Los gráficos se utilizan mucho en inteligencia artificial (y, en general, en informática), porque
son las estructuras más generales utilizadas para representar aspectos del mundo. Representaciones
de IA, como redes semánticas, marcos, scripts, estructuras utilizadas para la interpretación semántica
en la lógica de primer orden, redes bayesianas, estructuras utilizadas en el razonamiento basado en
modelos, todos ellos son gráficos. Por lo tanto, las gramáticas de grafos son un importante
formalismo para generar (en general, transformar) tales representaciones. En primer lugar,
mostramos cómo se pueden aplicar para modelar (describir) procesos (fenómenos) del mundo.
Consideramos el ejemplo de un sistema inteligente para integrar áreas de Diseño Asistido por
Computadora y Manufactura Asistida por Computadora. traducirse automáticamente al lenguaje de
33
las La definición de tal representación de una parte mecánica que puede
operaciones tecnológicas realizadas por los equipos de fabricación es un problema crucial en esta
área.
33El ejemplo se basa en un modelo introducido en: Flasi ́nski M.: Uso de gramáticas de grafos para la
descripción de partes mecánicas. Diseño asistido por computadora 27 (1995), págs. 403–433, Elsevier.
Machine Translated by Google
8.5 Gramáticas de grafos 121
5 5 tu
2
R
4 3 3 4
1
1
V V S
6
1 1
R R R R
3 4 3 4 3 4 5 3
R tu
V vv vv V V
A A A A
S S
Fig. 8.5 Ejemplo de derivación de una gramática gráfica, que representa el modelado de una pieza en un sistema
CAD y su fabricación controlada por un sistema CAM
La derivación de un gráfico con una gramática de gráficos que corresponde tanto a un proceso
de diseño como a un proceso tecnológico se muestra en la Fig. 8.5. La materia prima en forma
de un paralelepípedo rectangular está representada por un nodo gráfico etiquetado por R. Las
caras del paralelepípedo están indexadas como se muestra en la figura. Una aplicación de la
primera producción da como resultado el reemplazo del nodo R por un gráfico que consta de los
nodos R y V, que están conectados con un borde etiquetado con 3. Esta producción corresponde
34 En el
a incrustar una característica llamada ranura en V en la cara indexada con 3 de la R
sólida. Segundo paso de la derivación, se incrusta una ranura en V en la cara indexada con 4 de
la R sólida. Luego, se incrusta una Ranura en la cara indexada con 1 de la R sólida. Notemos
que esta ranura es adyacente a ambas ranuras en V, lo que se representa mediante bordes
etiquetados con A. Finalmente, una ranura en U está incrustada en la cara indexada con 5 de la R sólida.
Definir una forma de reemplazar un gráfico del lado izquierdo de una producción por un
gráfico del lado derecho de la producción es un problema fundamental de las gramáticas de
grafos. (En el ejemplo anterior, solo vemos el resultado de dicho reemplazo). Esta operación se
realiza con la ayuda de la transformación de incorporación. Por un lado, la transformación de
incrustación complica una derivación. Por otro lado, es la fuente del grandísimo poder descriptivo
de las gramáticas de grafos. Es tan importante que se defina una taxonomía de gramáticas de
grafos sobre esta base. Presentamos la transformación incrustada, que fue introducida por el
equipo de investigación de Grzegorz Rozenberg35 para las gramáticas de grafos edNLC en la
década de 1980 [149].
34Durante un proceso tecnológico esto corresponde a fresar una ranura en V en la materia prima.
35Grzegorz Rozenberg: profesor de la Universidad de Leiden, la Universidad de Colorado en Boulder y la Academia
de Ciencias de Polonia en Varsovia, un eminente científico informático y matemático.
Su investigación se centra en la teoría del lenguaje formal, los sistemas concurrentes y la computación natural. Profe.
G. Rozenberg fue presidente de la Asociación Europea de Ciencias de la Computación Teórica durante 11 años.
Machine Translated by Google
122 8 Análisis de patrones sintácticos
(a) Femenino
Masculino
(b)
cónyuge hermana
Masculino Femenino Femenino
cónyuge hermana
(C)
cónyuge hermana
Masculino Femenino Femenino
cónyuge hermana
niño padre
padre tía
niño sobrino
Masculino
Fig. 8.6 a Un ejemplo de producción de una gramática de grafos que se utiliza para transformar una semántica
red, bc una aplicación de una producción de gramática de grafos para transformar una red semántica
Transformemos una red semántica que representa las relaciones familiares36 con
una gramática gráfica edNLC. Gráficas del lado izquierdo y del lado derecho de
una producción que representa el nacimiento de un niño varón se muestra en la Fig. 8.6a. Un
objeto de la clase Mujer es reemplazado por sí mismo con un objeto de la clase Hombre
unido con la ayuda de las relaciones padrehijo. Una parte de una red semántica antes
aplicando esta producción (es decir, antes del nacimiento) se muestra en la Fig. 8.6b y una parte de la
La red después de aplicar la producción (es decir, después del nacimiento) se muestra en la Fig. 8.6c. Dejar
notemos que en primer lugar, la producción tiene que reconstruir los bordes (horizontales) que conectan
una madre (feliz) con su marido y con su hermana, porque hemos destruido
estos bordes en la eliminación del nodo Hembra (madre) correspondiente a la mano izquierda
lado de la producción. En segundo lugar, la producción tiene que establecer nuevos bordes entre
el niño y su padre, así como entre el niño y su tía. Todo lo reconstruido
los bordes de la figura 8.6c están en negrita. Esta reconstrucción es realizada por la producción con
la ayuda de la transformación de incrustación, que se define de la siguiente manera.
36 Se ha introducido una red semántica similar en la sec. 7.1.
Machine Translated by Google
8.5 Gramáticas de grafos 123
C(cónyuge, fuera) = {(Mujer, Hombre, cónyuge, fuera), (8.19)
(Hombre, Hombre, padre, fuera), (8.20)
(Hombre, Hombre, niño, en)} (8.21)
C(hermana, fuera) = {(Mujer, Mujer, hermana, fuera), (8.22)
(Hombre, Mujer, tía, fuera), (8.23)
(Hombre, Mujer, sobrino, en)} (8.24)
C(cónyuge,in) = {(Mujer, Hombre, cónyuge,in)} (8.25)
C(hermana,en) = {(Mujer, Mujer, hermana,en)}. (8.26)
Por ejemplo, la fórmula (8.24) se interpreta de la siguiente manera.
• Cada borde antes de la aplicación de producción, que:
– ha sido etiquetado por hermana—C(hermana, ...) y – ha
salido (fuera) del lado izquierdo de la producción—C(....., fuera)
debe ser reemplazado por
• el nuevo borde, que:
– conecta un nodo del gráfico del lado derecho etiquetado por
Masculino masculino, ....., ....., ...),
– con un nodo del contexto de la producción, que ha sido señalado por el borde antiguo37 y que
ha sido etiquetado por Femenino—(....., Femenino, ....., ...),
– está etiquetado con sobrino—(....., ....., sobrino, ...) – y entra
en (en) este nodo del gráfico del lado derecho—(....., . ...., .....,en).
Uno puede notar fácilmente que las fórmulas (8.19), (8.22), (8.25) y (8.26) reconstruyen sólo los
bordes antiguos, es decir, los bordes que existían previamente en la red semántica.
Por otra parte, las fórmulas restantes establecen nuevas relaciones entre el niño y su padre, así
como entre el niño y su tía.
En el caso del uso de lenguajes gráficos en IA nos interesa más su análisis que su generación.
Desafortunadamente, la construcción de un autómata gráfico eficiente es muy difícil.38 A finales del
siglo XX se definió la subclase ETPL(k) de gramáticas edNLC con autómatas eficientes [93, 94]. Las
gramáticas gráficas ETPL(k) se han aplicado para varias áreas de IA, como la transformación de
redes semánticas en sistemas expertos en tiempo real, análisis de escenas en sistemas robóticos,
razonamiento en sistemas multiagente, integradores inteligentes para CAD/CAM/CAPP,
reconocimiento de lenguaje de señas , razonamiento basado en modelos en sistemas expertos de
diagnóstico, etc. El problema de la inducción gramatical, presentado en el apartado anterior, ha sido
resuelto también para estas gramáticas [96].
37El borde antiguo ha señalado una tía—C(hermana, fuera).
38Esto se demostró en la década de 1980 durante la investigación sobre el problema de membresía para lenguajes
gráficos, que fue dirigida (independientemente) por G. Turan y FJ Brandenburg.
Machine Translated by Google
124 8 Análisis de patrones sintácticos
Nota bibliográfica
Las monografías [41, 104, 113, 215] son buenas introducciones al reconocimiento de patrones
sintácticos.
Machine Translated by Google
Capítulo 9
Sistemas basados en reglas
La idea principal del razonamiento en los sistemas basados en reglas es, de hecho, la misma que en el
caso del razonamiento basado en la lógica presentado en el Cap. 6.1 Ambos modelos se basan en el
razonamiento deductivo.2 De hecho, la forma de las expresiones que se utilizan para la representación
del conocimiento es la principal diferencia entre estos modelos. En el caso del razonamiento basado en
lógica las expresiones se formalizan considerablemente (fórmulas de Lógica de Primer Orden,
expresiones lambda), mientras que en los sistemas basados en reglas las expresiones en forma de las
llamadas reglas se representan de la siguiente forma intuitiva : “ Si se cumple una determinada
condición , luego se realiza una determinada acción”. Además, la forma de formular tanto una condición
como una acción es mucho más fácil de comprender que en el caso de los términos o expresiones FOL
utilizados en la computación simbólica. Esto es de gran importancia para el diseño de bases de
conocimiento, que suelen ser desarrolladas no solo por especialistas en TI, sino también por expertos
en la materia. Por lo tanto, se recomienda la claridad de las expresiones en una base de conocimiento.
Los componentes principales de los sistemas basados en reglas y un ciclo de razonamiento se
presentan en la primera sección. Insecto. 9.2 Se definen dos estrategias de razonamiento que se
basan en la deducción progresiva y la deducción regresiva. Los temas fundamentales de la resolución
de conflictos y la coincidencia de reglas se discuten en la Secc. 9.3. La relación de los sistemas basados
en reglas y los sistemas expertos se analiza en la última sección. En esta sección también presentamos
clases típicas de sistemas expertos, como los sistemas de razonamiento basado en casos y los
sistemas de razonamiento basado en modelos.
9.1 Modelo de Sistemas Basados en Reglas
El esquema genérico de un sistema basado en reglas se muestra en la figura 9.1a. La memoria de
trabajo contiene principalmente representaciones de hechos sobre un cierto aspecto del mundo, que se
utilizan en un proceso de razonamiento sobre este aspecto. Otra información requerida en el
1 Se recomienda al lector recordar la discusión en la Secc. 6.1.
2Las nociones básicas sobre el razonamiento deductivo están contenidas en el Apéndice F.2.
© Springer International Publishing Suiza 2016 M. Flasi´nski, 125
Introducción a la Inteligencia Artificial, DOI
10.1007/9783319400228_9
Machine Translated by Google
126 9 Sistemas basados en reglas
Fig. 9.1 Un modelo basado en reglas
(a)
sistema: un esquema de un módulo, Hechos
memoria de
b un ciclo de razonamiento
trabajo
Máquina de
inferencia
Normas
base
de reglas
(b) regla
pareo
la
aplicación de la regla resolución de conflictos
El proceso de razonamiento se almacena en la memoria de trabajo, por ejemplo, hipótesis de trabajo,
estructuras que representan enlaces variables, etc.
Como ya hemos mencionado, las reglas son de la siguiente forma:
R : SI COND ENTONCES ACTUAR,
donde COND es una condición (antecedente) de la regla y ACT es una acción (consecuente) de la regla.
El antecedente suele definirse como una proposición lógica. es de forma de
una conjunción de condiciones elementales (predicados simples). Por lo tanto, COND puede ser
definido de la siguiente manera:
El cumplimiento de la condición de la regla significa que hay hechos en un trabajo
memoria tal que las variables de esta condición pueden ser sustituidas por estos hechos y
después de la sustitución la condición es válida.
En el caso de las reglas declarativas, una acción ACT suele ser un consecuente lógico
(conclusión) resultante de la condición de la regla. Sacar una conclusión da como resultado modificar
el contenido de la memoria de trabajo, por ejemplo, agregando un nuevo hecho, cambiando el
Machine Translated by Google
9.1 Modelo de Sistemas Basados en Reglas 127
valor de alguna variable, etc. En el caso de las reglas reactivas , una acción puede ser la forma de
llamar a un determinado procedimiento que influye en el entorno externo del sistema, por ejemplo,
apagar un dispositivo. Las reglas se almacenan en la base de reglas.
El razonamiento basado en la base de reglas y la memoria de trabajo está controlado por un motor
de inferencia. El ciclo de trabajo de un motor de inferencia se muestra en la figura 9.1b.
Consta de las siguientes tres fases.
• Durante la fase de coincidencia de reglas, el motor de inferencia busca reglas que coincidan con
hechos almacenados en la memoria de trabajo. El conjunto de reglas que se seleccionan
4 de conflictos.
preliminarmente se denomina conjunto
• En la fase de resolución de conflictos , el motor de inferencia elige una regla (a veces una secuencia
de reglas) para ejecutarla. Esto se hace de acuerdo con un método de resolución de conflictos.
Discutimos tales métodos en la Secc. 9.3.
• En la última fase se aplica una regla elegida . (También decimos que se activa una regla). Después
de la aplicación de una regla, el sistema vuelve a la primera fase. Todo el proceso de razonamiento
termina si ninguna regla coincide con los hechos almacenados en la memoria de trabajo.
El modelo formal de los sistemas basados en reglas se presenta en el Apéndice F.1.
9.2 Estrategias de razonamiento en sistemas basados en reglas
El razonamiento en los sistemas basados en reglas es deductivo, es decir, se basa en la regla de
inferencia modus ponendo ponens (presentada en el capítulo 6). El razonamiento basado en esta regla
se puede realizar de acuerdo con dos estrategias básicas5:
• Forward Chaining, FC, que se basa en la deducción progresiva6 o • Backward
Chaining, BC, que se basa en la deducción regresiva.
Ahora, discutimos ambas estrategias.
En la figura 9.2 se muestra un esquema de razonamiento de encadenamiento directo . El motor de
inferencia intenta hacer coincidir la condición de alguna regla con cualquier hecho almacenado en la
memoria de trabajo. Si ningún hecho coincide con la condición de alguna regla, entonces el sistema no
procede (cf. Fig. 9.2a). Sin embargo, si aparece un nuevo hecho en la memoria de trabajo (el sistema
puede monitorear su entorno con interfaces, por ejemplo, cámaras, sensores), entonces el sistema
intenta hacer coincidir nuevamente.7 Si este nuevo hecho coincide con la condición de alguna regla,
3El tema de la concordancia de reglas se analiza en detalle en la siguiente sección.
4Se denomina conjunto de reglas en conflicto porque el sistema tiene que elegir un camino de razonamiento, es decir,
tiene que elegir una de varias reglas coincidentes, que compiten. (Están en conflicto).
5De hecho, podemos combinar ambas estrategias en la llamada estrategia mixta de razonamiento en sistemas basados
en reglas. No discutimos esto en la monografía.
6El lector debe recordar las nociones de deducción progresiva/regresiva. Se definen en el Apéndice.
F.2.
7En nuestro ejemplo no consideramos el tema de una situación de conflicto. Este tema se discute en la siguiente sección.
Machine Translated by Google
128 9 Sistemas basados en reglas
Fig. 9.2 Un esquema de (a)
encadenamiento hacia adelante
Hechos : A, C, M
¿Algún hecho coincide con el
condición de alguna regla? NO
Normas :
?
(b)
un nuevo hecho
aparece K,A,C,MD
Agregue el resultado
¿Algún hecho coincide con el de la acción de la regla a
condición de alguna regla? SÍ
el conjunto de hechos
SI K ENTONCES D
(C)
K,A,C,M, DH
Agregue el resultado
¿Algún hecho coincide con el de la acción de la regla a
condición de alguna regla? SÍ
el conjunto de hechos
SI D ENTONCES H
entonces se ejecuta esta regla, es decir, se almacena el resultado de realizar una acción de esta regla
en la memoria de trabajo (cf. Fig. 9.2b). Por lo tanto, cambiar el contenido del trabajo
la memoria puede resultar en hacer coincidir el nuevo hecho (hechos) con la condición de alguna regla, como
se muestra en la figura 9.2c. Esto provoca el siguiente ciclo del proceso de razonamiento.
Consideremos el razonamiento de encadenamiento directo con la ayuda del siguiente ejemplo. Que se
definan las siguientes cuatro reglas del sistema, que controla un
pieza de equipo industrial.
Machine Translated by Google
9.2 Estrategias de razonamiento en sistemas basados en reglas 129
R1 : SI temp(D) = alta trabajo(D) = inestable
ENTONCES estado (D) := falla ,
R2 : SI temp_sensor(D) > 150
ENTONCES temp(D) := alta ,
R3 : IF estado(D) = falla peligro(D) = si
ENTONCES power_supply(D) := APAGADO ,
R4 : IF temp (D) = alta refrigeración (D) = no funciona
ENTONCES peligro(D) := si .
Como vemos, el sistema puede realizar el siguiente razonamiento para un dispositivo de clase
(tipo) D:
• el sistema establece el estado de falla si el dispositivo está funcionando de manera inestable y
está sobrecalentado (la primera regla),
• el sistema considera que el dispositivo está sobrecalentado si su temperatura es superior a
150 ◦C (la segunda regla), •
el sistema apaga el dispositivo si está en modo de falla y su entorno es
en peligro (la tercera regla),
• el sistema considera que el dispositivo es peligroso para su entorno si se acaba
calienta y su sistema de enfriamiento no funciona (la cuarta regla).
Supongamos que, al principio, el sistema basado en reglas "conoce" dos hechos sobre el
dispositivo Device_64 de tipo D: el sistema de refrigeración no funciona y el dispositivo funciona
de forma inestable (ver Fig. 9.3a). El motor de inferencia no puede realizar un razonamiento
sobre la base de estos hechos, porque ninguna regla puede igualarlos. Aunque las reglas R1 y
R4 contienen expresiones trabajo(D) y enfriamiento(D), el motor de inferencia tiene que cumplir
todas las condiciones elementales del antecedente de una regla. Supongamos que en algún
momento un sensor de temperatura ha medido la temperatura del dispositivo, que es igual a
170 ◦C. Se ha enviado un mensaje sobre este nuevo hecho a la memoria de trabajo (cf. Fig.
9.3b). Ahora, el motor de inferencia puede coincidir con la regla R2 y, como resultado del
razonamiento, el estado de temperatura del dispositivo se establece en alto (temp(Device_64)
= alta), como se muestra en la figura 9.3c. Ahora, el motor de inferencia coincide con dos reglas,
es decir, el conjunto de conflictos contiene las reglas R1 y R4. Supongamos que según el
método de resolución de conflictos el sistema elige la regla R1. Después de su aplicación,
aparece un nuevo hecho en la memoria de trabajo, a saber, estado (Dispositivo_64) = falla (ver
Fig. 9.3d). En el siguiente ciclo, la regla R4 se iguala y se activa. Como resultado, aparece un
hecho nuevo en la memoria de trabajo, a saber, peligro (Dispositivo_64) = sí (cf. Fig. 9.3e).
Finalmente, se dispara la regla R3 , que apaga la fuente de alimentación del dispositivo (ver Fig.
9.3f).
Si el motor de inferencia intentara hacer coincidir las reglas subsiguientes continuamente,
no funcionaría de manera efectiva (especialmente en el caso de un gran conjunto de reglas).
Por lo tanto, “recuerda” hechos que ya han coincidido con una regla y mientras no cambien la regla.
Machine Translated by Google
130 9 Sistemas basados en reglas
memoria de trabajo
R2 R1
memoria de trabajo
R4 R3
Fig. 9.3 Un ejemplo de encadenamiento directo
la regla no vuelve a coincidir. Por ejemplo, ahora ruleR2 no coincide siempre que el valor
enviado desde el sensor de temperatura es igual a 170 ◦C. Por supuesto, para las reglas que tienen
una condición compleja, si una de las condiciones elementales cambia, entonces una coincidencia
comienza el proceso.
Ahora, consideramos el encadenamiento hacia atrás, BC. Ya que es más complejo que Forward
Encadenando, comenzamos analizando un ejemplo. Supongamos que los siguientes tres
las reglas se almacenan en la base de reglas de un sistema, lo que razona sobre las relaciones genealógicas8:
8Recordemos que un abuelo agnático es el padre del padre de alguien.
Machine Translated by Google
9.2 Estrategias de razonamiento en sistemas basados en reglas 131
R1 : SI A = niño(B) sexo(B) = hombre
ENTONCES B = padre(A) ,
R2 : SI D = padre(C) E = padre(D)
ENTONCES E = agnatic_grandfather(C) ,
ENTONCES G = tío_paterno(K) .
La primera regla dice que B es el padre de A, si A es hijo de B y B es varón. La segunda regla dice
que E es abuelo agnático de C, si existe D que es padre de C y E es padre de D. La tercera regla dice
que G es tío paterno de K, si existe F que es el abuelo agnático de K y F es el padre de G y G (un tío
paterno) es el varón y G es otra persona que H (el padre de K).9 Los siguientes cinco hechos se
almacenan en la memoria de trabajo.
F1 : Raúl = niño(Ian)
F2 : género (Ian) = masculino
F3 : Karl = padre (Ian)
F4 : Karl = padre (Conde)
F5 : género(Earl) = masculino
Ahora, podemos comenzar a razonar. Se utiliza una estrategia de encadenamiento hacia atrás para
verificar las hipótesis. Así, si queremos empezar a razonar tenemos que hacerle una pregunta al sistema.
El sistema trata la pregunta como una hipótesis, que debe verificarse sobre la base de los hechos
disponibles y el conocimiento que se formaliza en forma de reglas.10
Por ejemplo, preguntemos al sistema si Earl es tío paterno de Raúl, es decir:
Conde = tío_paterno(Raúl) (???).
En primer lugar, el motor de inferencia coloca esta hipótesis en la parte superior de una pila de
11
seg. hipótesis. Esta pila se utiliza para almacenar hipótesis de trabajo (ver Fig. 9.4a). El motor intenta
probar todas las hipótesis almacenadas en la pila mediante la coincidencia de reglas. Si no se puede
hacer coincidir ninguna de las reglas y la pila no está vacía, significa que la hipótesis original
9Si el lector está confundido, se le aconseja que dibuje una parte de un árbol genealógico para la tercera regla.
10De manera análoga hemos iniciado el proceso de razonamiento en un sistema basado en FOL para verificar una hipótesis
en el Cap. 6. La forma de razonar es la diferencia entre los dos métodos. En el cap. 6 hemos utilizado el método de resolución,
que se basa en la demostración de teoremas por contradicción (en latín: reductio ad absurdum). En el caso de un sistema
basado en reglas, usamos Backward Chaining, que se basa en la deducción regresiva.
11 El lector que no conozca la noción de pila (en el sentido de las ciencias de la computación) debe leer la nota al pie 17
sobre los autómatas pushdown en la sección. 8.2.
Machine Translated by Google
132 9 Sistemas basados en reglas
encadenamiento hacia atrás (a)
P1 : G = Conde
Conde = tío_paterno(Raúl) ?
P2 : K=Raúl
(b)
R3
género (Earl) = masculino F5 ? T
F = padre (Conde) ?
H = padre (Raúl) ?
F = agnatic_abuelo(Raul) ?
Conde H ?
Conde = tío_paterno(Raúl) ?
P3 : F=Karl
(C) SUSTITUCIÓN
F4 ? T PARA F4
Karl = padre (Conde)
H = padre (Raúl) ?
Karl = abuelo_agnático(Raúl) ?
Conde H ?
P4 : A=K=Raúl
Conde = tío_paterno(Raúl) ?
P5 : B=H
(d)
R1
Raúl = niño(H) ?
género(H) = masculino ?
H = padre (Raúl) ?
Karl = abuelo_agnático(Raúl) ?
P6 : B=H=Ian
conde h ?
SUSTITUCIÓN
Conde = tío_paterno(Raúl) ?
PARA F1
no es válida, es decir, la pregunta formulada al sistema tiene como respuesta No. Si la pila
está vacía, entonces la hipótesis original es válida.
El motor de inferencia verifica si la hipótesis en la parte superior de la pila pertenece al
conjunto de hechos almacenados en la memoria de trabajo. Como vemos, no pertenece al
conjunto. Así, el motor busca en la base de reglas para comprobar si alguna regla coincide
con la hipótesis. En el caso de Backward Chaining, esto significa hacer coincidir la acción de
la regla12 con la hipótesis. Como podemos ver, la acción de la regla R3: G = tío_paterno(K)
coincide con Earl = tío_paterno(Raúl). Por supuesto, coincide si el motor sustituye la variable
G por la constante Earl, denotada: G ← Earl, y sustituye la variable K por la constante Raul (K
← Raul).13
Después de hacer coincidir la regla R3, el motor pasa a la fase de aplicación de la regla,
que en Backward Chaining consiste en agregar todas las condiciones elementales que
pertenecen al antecedente de la regla a la pila de hipótesis. Por supuesto, el sistema tiene que aplicarse
12Esta es la principal diferencia entre las estrategias BC y FC. En el caso de la estrategia FC, el sistema hace coincidir la
condición de una regla con los hechos.
13 En las Figs. 9.4 y 9.5 en la columna BINDINGS definimos enlaces después de realizar sustituciones sucesivas.
Machine Translated by Google
9.2 Estrategias de razonamiento en sistemas basados en reglas 133
la sustitución definida, es decir, G ← Earl, K ← Raul. Así, en el caso de la regla R3 el motor
pone en la pila las siguientes condiciones elementales14 : Earl = H; F = agnatic_abuelo(Raul);
H = padre(Raúl); F = padre (Conde); género(Earl) = masculino.
La situación de la pila de hipótesis después de agregar las condiciones elementales de la regla
R3 se muestra en la figura 9.4b. Todas estas condiciones elementales son hipótesis de trabajo.
Por lo tanto, deben ser verificados. Luego, el motor verifica, en primer lugar, si se pueden
verificar sobre la base de los hechos. La hipótesis de arriba es equivalente al hecho F5. Por lo
tanto, se puede quitar de la pila. Una hipótesis que ha sido verificada positivamente y eliminada
de la pila se marca con una cruz en las figuras. El cambio de su estado de no verificado (?) a
válido (verdadero) (T) se denota adicionalmente con el símbolo del hecho o regla utilizada para
la validación. (En este caso se ha utilizado el hecho de F5 —cf. Fig. 9.4b.)
Ahora, notemos que si se hace la sustitución: F ← Karl, entonces la hipótesis en la parte
superior: F = padre (Earl) se puede verificar con la ayuda del hecho F4. El motor realiza esta
operación como se muestra en la figura 9.4c.
Después de eliminar la hipótesis Karl = padre (Earl), la hipótesis H = padre (Raúl) está en la
parte superior. Ningún hecho coincide con esta hipótesis. Así, el motor busca en la regla base15
y encuentra que la acción de la regla R1 coincide con la hipótesis tras las siguientes sustituciones:
P4: A ← Raul, y P5: B ← H. La aplicación de esta regla
dieciséis
provoca sus condiciones elementales: género(H) = masculino; Raúl = niño(H) que se agregará
a la pila (después de las sustituciones P4 y P5). Esto se muestra en la figura 9.4d.
Ahora, haciendo coincidir la hipótesis de arriba con el hecho F1 después de realizar la
sustitución: H ← Ian17 provoca la siguiente secuencia de operaciones en la pila (cf. Fig. 9.5a).
1. Se elimina la hipótesis Raúl = niño(Ian) según el hecho F1.
2. La hipótesis género(Ian) = masculino se elimina de acuerdo con el hecho F2.
3. La hipótesis Ian = padre (Raúl) se reconoce como un hecho sobre la base de la regla R1 y
los hechos F1, F2. Como resultado, se almacena como el hecho F6 en la memoria de trabajo:
F6 : Ian = padre (Raúl)
y se elimina de la pila de hipótesis.
4. La hipótesis Earl = Ian se reconoce (obviamente) como un hecho y se elimina de la pila.18
Resumiendo,
obtenemos la situación que se muestra en la figura 9.5b.
14La máquina suma condiciones elementales en cualquier orden, ya que una conjunción es conmutativa.
15Uno puede notar fácilmente que el motor de inferencia, en primer lugar, trata de hacer coincidir los hechos con la hipótesis
en la parte superior de la pila. Solo si ningún hecho coincide con la hipótesis, el motor intenta hacer coincidir las reglas.
Notemos que el hecho Fk puede ser tratado como una regla de la forma: IF TRUE THEN Fk 16 Notemos .
que después de la sustitución P4: A ← Raul, se cumple el siguiente enlace de variables y la constante: A = K = Raul, cf.
Figura 9.4c.
17Recordemos que B=H según la sustitución P5. Por lo tanto, ahora se cumple el siguiente enlace de variables y la constante:
B=H= Ian, cf. Figura 9.4d.
18En principio, esta hipótesis debería ser eliminada más adelante. Sin embargo, verificamos este hecho obvio ahora.
Machine Translated by Google
134 9 Sistemas basados en reglas
Karl = abuelo_agnático(Raúl) ? PARA F1
conde ian ? T
Conde = tío_paterno(Raúl) ?
(b)
Karl = abuelo_agnático(Raúl) ?
P7 : E=F=Karl
Conde = tío_paterno(Raúl) ? P8 : C=A=K=Raúl
(C)
R2
Karl = padre (D) ?
D = padre (Raúl) ?
Karl = abuelo_agnático(Raúl) ?
Conde = tío_paterno(Raúl) ?
P9 : D=B=H=Ian
(d) SUSTITUCIÓN
PARA F3
Karl = padre (Ian) F3 ? T
Ian = padre (Raúl) F6 ? T
Karl = abuelo_agnático(Raúl) R2 ? T
Conde = tío_paterno(Raúl) ?
(mi)
Conde = tío_paterno(Raúl) R3 ? T
La hipótesis de arriba: Karl = agnatic_grandfather(Raul) se puede hacer coincidir con la
regla R2 después de realizar las siguientes sustituciones: E ← Karl y C ← Raul (cf. Fig.
9.5b). Su aplicación da como resultado la situación que se muestra en la figura 9.5c.
Ahora, la coincidencia de la hipótesis en la parte superior con el hecho F3 después de
realizar la sustitución: D ← Ian provoca la siguiente secuencia de operaciones en la pila (cf.
Figura 9.5d).
1. La hipótesis Karl = padre (Ian) se elimina según el hecho F3.
2. Se elimina la hipótesis Ian = padre(Raúl) según el hecho F6.
3. La hipótesis Karl = agnatic_grandfather(Raul) se reconoce como un hecho sobre la base
de la regla R2 y los hechos F3, F6. Como resultado, se almacena como el hecho F7 en la
memoria de trabajo:
F7 : Karl = agnatic_grandfather(Raul)
y se elimina de la pila de hipótesis.
Finalmente la hipótesis Conde = tío_paterno(Raúl) se reconoce como un hecho sobre la
base de la regla R3 y los hechos (los listamos según su ocurrencia en la regla)
Machine Translated by Google
9.2 Estrategias de razonamiento en sistemas basados en reglas 135
¿La condición de la regla
es un hecho? NO
Normas :
SI D ENTONCES H SI D ENTONCES H SI K ENTONCES D
Hipótesis H H , D H , D
Por lo tanto, Por lo tanto, H
¿La condición de la regla es ¿La condición de la regla es
D es un hecho es un hecho
un hecho? SÍ un hecho? SÍ
también también
¿ H coincide con la acción de alguna
regla? SÍ
H , D H H
D ya no es una hipótesis H ya no es una hipótesis
Fig. 9.6 Un esquema de encadenamiento hacia atrás
F7, F6, F4, F5 y Earl = Ian.19 Como resultado, se almacena como el hecho F8 en el
memoria:
F8 : Conde = tío_paterno(Raúl)
La eliminación de esta hipótesis (inicial) de la pila finaliza el proceso de encadenamiento
hacia atrás. El motor de inferencia ha demostrado que la hipótesis es cierta.
19Por supuesto, teniendo en cuenta los siguientes enlaces determinados durante el proceso de inferencia: F = Karl, K = Raul,
H = Ian, G = Earl.
Machine Translated by Google
136 9 Sistemas basados en reglas
Resumiendo, usamos la estrategia de encadenamiento hacia atrás para verificar una hipótesis.
En primer lugar, el sistema trata de hacer coincidir la hipótesis con algún hecho almacenado en la
memoria de trabajo. Si esto es imposible, trata de hacer coincidir la hipótesis con una acción
(consecuente) de alguna regla, como se muestra en la figura 9.6a. Si el emparejamiento es posible,
entonces podemos reconocer la hipótesis como válida en caso de que la condición (antecedente)
de esta regla sea válida. Sin embargo, si el sistema no sabe si la condición es válida, otorga un
estado de hipótesis de trabajo a la condición (cf. Fig. 9.6b). Luego, el sistema intenta verificar esta
hipótesis de trabajo (cf. Fig. 9.6c), etc. El proceso de inferencia finaliza en los dos casos siguientes.
• Todas las hipótesis de la
pila han sido reconocidas como válidas. Esto significa que el
la hipótesis inicial también es válida (cf. Fig. 9.6df).
• No hay hechos ni reglas que puedan coincidir con alguna hipótesis definida durante el proceso de
inferencia y poner en la pila. Esto significa que la hipótesis inicial no es válida.20
9.3 Resolución de conflictos y coincidencia de reglas
Como hemos comentado en el apartado anterior, como resultado de la fase de emparejamiento de
reglas podemos obtener un conjunto de reglas que contiene más de una regla (coincidencia), es
decir, un conjunto de conflictos. En tal caso, el sistema tiene que resolver el conflicto, es decir,
decidir qué regla se debe aplicar (despedir). Los métodos más populares de resolución de
conflictos21 son los siguientes.
• El método de la regla más específica. Si la condición de la regla R1 contiene la condición de la
regla R2, seleccione la regla R1, porque su condición especifica la situación para la aplicación
de una regla de forma más detallada. • El método de los hechos
recientes. Elija la regla que corresponda a la más reciente
hechos actualizados.
• El método de la regla de mayor prioridad. Durante el modelado de la base de reglas, dé prioridad
a las reglas asignándoles pesos u ordenándolas de la más importante a la menos importante.
Elija la regla con mayor peso (en el primer caso) o la regla que se encuentre primero (en el
segundo caso). • El método de los contextos. Divida las
reglas en subconjuntos relacionados con los contextos de aplicación.
Por ejemplo, los contextos pueden definirse como trabajo normal del equipo monitoreado,
trabajo inestable del equipo monitoreado, falla del equipo monitoreado, etc. El motor de
inferencia verifica el contexto actual antes de iniciar la fase de coincidencia de reglas y toma en
cuenta cuenta solo las reglas que pertenecen al subconjunto relativo a este contexto.
20De hecho, significa que no somos capaces de reconocer la hipótesis inicial como válida sobre la base de los hechos y
reglas almacenados en el sistema.
21 Aparte de los métodos enumerados, también utilizamos el principio de bloquear una regla aplicada recientemente en
caso de que sus hechos correspondientes no cambien. Hemos utilizado esta regla en la sección anterior para la estrategia
FC.
Machine Translated by Google
9.3 Resolución de conflictos y coincidencia de reglas 137
La coincidencia de reglas es el segundo tema crucial que influye en la eficiencia de un proceso de
razonamiento. Incluso en un sistema simple basado en reglas que consta de unas pocas reglas y hechos,
encontrar sustituciones y crear enlaces múltiples lleva mucho tiempo. De hecho, si tenemos k reglas que
consisten en m condiciones en promedio y n hechos (simples), entonces hay k × m × n operaciones de
emparejamiento en cada ciclo del sistema. Dado que en las aplicaciones prácticas definimos cientos de
reglas y hay miles de hechos,22 la eficiencia del emparejamiento de reglas puede limitar la posibilidad del
uso de un sistema basado en reglas.23 En 1974, Charles Forgy24 definió el algoritmo Rete25 [101], que
acelera
considerablemente el proceso de coincidencia de reglas. El algoritmo construye una red que almacena
relaciones entre antecedentes de reglas. También se almacenan los enlaces variables y constantes que
resultan de las sustituciones. Sobre esta base, todos los cambios que conciernen a los hechos se propagan
en tal red.
9.4 Sistemas expertos frente a sistemas basados en reglas
Al final de nuestra consideración de los sistemas basados en reglas, discutimos su relación con los sistemas
expertos. Los sistemas de IA que resuelven problemas en algún dominio sobre la base del conocimiento de
expertos humanos que se almacena en una base de conocimiento se denominan sistemas expertos o
sistemas basados en el conocimiento. Dicho conocimiento puede tener la forma de una representación
estructural (p. ej., redes semánticas, marcos, guiones), una representación basada en la lógica (p. ej., similar
a FOL), una gramática generativa, reglas, etc. Por lo tanto, los sistemas basados en reglas expertas son
una subclase de sistemas expertos. Por otro lado, el paradigma basado en reglas también se utiliza para
construir sistemas de IA que se basan en el enfoque de simulación cognitiva . Soar, ACT y ACTR son
buenos ejemplos de tales sistemas.
En estos sistemas, las reglas no se utilizan para codificar el conocimiento de un dominio específico, sino que
se aplican para modelar el comportamiento genérico del sistema. Estos sistemas se denominan sistemas de
producción26.
Volviendo a los sistemas expertos, presentamos dos clases importantes de tales sistemas,
a saber, sistemas de razonamiento basado en casos y sistemas de razonamiento basado en modelos.
Los sistemas de razonamiento basado en casos, CBR, a menudo se construyen cuando la definición de
reglas es problemática. También se basan en el conocimiento del dominio. Los modelamos si para similar
22Por ejemplo, un sistema de IA diseñado bajo la supervisión del autor y el Dr. Ulf Behrens para un experimento de física
de partículas en el Sincrotrón Deutsches Elektronen en Hamburgo contenía más de 1.300 reglas y aproximadamente
12.000 hechos (ver Behrens U., Flasi´nski M. , et al.: Recientes desarrollos del sistema experto ZEUS IEEE Trans. Nuclear
Science 43 (1996), pp.
23La fase de coincidencia de reglas consume alrededor del 90 % del tiempo de un solo ciclo.
24Charles L. Forgy—investigador en el área de sistemas basados en reglas, Ph.D. alumno de Allen Newell.
Diseñó OPS5, que fue el primer lenguaje utilizado para construir sistemas basados en reglas aplicados en la práctica.
25En latín rete significa red.
26Las reglas juegan un papel, que es análogo a las producciones de las gramáticas generativas.
Machine Translated by Google
138 9 Sistemas basados en reglas
problemas en el dominio de la aplicación se pueden aplicar soluciones similares. Las
descripciones de los problemas que ya han sido resueltos por el sistema y las soluciones
correspondientes se mantienen en una base de conocimientos. Si aparece un nuevo problema,
el sistema busca problemas similares en la base de conocimiento y sus soluciones. Luego se
verifica una solución sugerida. La verificación consiste en probar la solución en la práctica o
una evaluación de una simulación por computadora. Si el resultado de la verificación no es
satisfactorio, entonces el sistema propone una modificación de la solución y la vuelve a verificar,
etc. Si el resultado de la verificación es satisfactorio, el sistema escribe el caso en su base de
conocimiento en forma de un par (caso, solución) con el propósito de uso futuro.
Los sistemas de razonamiento basado en casos a veces se equiparan con el razonamiento
de sistemas por analogía [123]. Sin embargo, existe una diferencia esencial entre estas dos
clases de sistemas de IA. Por un lado, en ambos casos utilizamos la idea de analogía (en el
sentido de similitud) entre problemas resueltos en el pasado y el problema a resolver. Por otro
lado, en el caso del Razonamiento Basado en Casos el sistema resuelve problemas que
pertenecen al mismo dominio y en el caso del razonamiento por analogía los problemas no
tienen por qué pertenecer al mismo dominio. De hecho, en los sistemas típicos que razonan
por analogía, descubrir analogías entre problemas pertenecientes a varios dominios es la
cuestión clave. Definir un guión es un buen ejemplo de razonamiento por analogía. Notemos
que al definir el guión Reconciliación de partes enfrentadas en la Secc. 7.3, hemos analizado
dos dominios diferentes: el dominio de las relaciones entre amigos y el dominio de los asuntos
exteriores.
En los sistemas de razonamiento basado en modelos, MBR, utilizamos un enfoque diferente
al razonamiento por analogía. En lugar de la aplicación directa de una experiencia resultante
de la resolución de casos particulares en el pasado, se construye un modelo de un proceso (un
dispositivo, un fenómeno, etc.), que será objeto de razonamientos futuros. Un modelo significa
aquí una representación abstracta de algunos aspectos del mundo que se definen para realizar
pronósticos, diagnósticos, explicaciones, etc. Los modelos son a menudo de forma estructural.
Por ejemplo, un modelo de un dispositivo complejo puede ser una representación que describa
sus componentes, las relaciones funcionales entre estos componentes, las relaciones causa
efecto , etc. El modelo permite que el sistema realice simulaciones por computadora que
pueden usarse, por ejemplo, para pronosticar qué puede suceder si algún componente se descompone.
Aparte de los módulos del sistema introducidos en la Secc. 9.1 (cf. Fig. 9.1a) los sistemas
expertos incluyen componentes adicionales que facilitan la cooperación con ellos. Los
siguientes módulos de soporte son los más típicos.
• Se utiliza un módulo de explicación para justificar los resultados del razonamiento. Por
ejemplo, volviendo a nuestro “ejemplo genealógico” en la Secc. 9.2, el módulo de explicación
podría explicar por qué considera que Earl es tío paterno de Raúl. El sistema basado en FC
considerado en esta sección podría explicar por qué ha apagado el dispositivo Device_64.
• Un módulo de adquisición de conocimientos suele constar de dos partes independientes. El
primero se utiliza para adquirir datos sobre el entorno del sistema. Las interfaces para
sensores que permiten que el sistema lea señales, datos, etc. son buenos ejemplos de tales
módulos. Por ejemplo, nuestro sistema basado en FC en la Secc. 9.2 adquiere datos sobre
la temperatura del dispositivo. Dichos módulos son típicos para expertos en control en tiempo real
Machine Translated by Google
9.4 Sistemas expertos frente a sistemas basados en reglas 139
sistemas La segunda parte permite que un ingeniero del conocimiento escriba reglas en una base de reglas
de una manera conveniente, a veces semiautomática o automática. El conocimiento se puede representar en
formas diferentes a la regla. Por ejemplo, se puede representar en forma de árboles de decisión (los
presentamos en el próximo capítulo).
Entonces, transformar dicho conocimiento en una representación de reglas es la tarea de este submódulo.
• Se utiliza una interfaz gráfica de usuario para comunicar al usuario los efectos del razonamiento de una manera
que sea fácil de entender. Un ejemplo de sistemas expertos de control en tiempo real son las cabinas
multinivel , que ayudan en la navegación.
En aplicaciones prácticas, a menudo tenemos que operar sobre conocimientos imperfectos (es decir,
conocimientos que pueden ser inciertos, imprecisos o incompletos) o tenemos que definir hechos con la ayuda de
nociones vagas. Entonces, los métodos presentados en este capítulo, así como los métodos basados en la lógica,
son inadecuados y tenemos que ampliar nuestras estrategias de razonamiento. Los modelos de razonamiento
utilizados para el conocimiento imperfecto (redes de Bayes, teoría de DempsterShafer y razonamiento no
monótono) se presentan en el capítulo 12
Los modelos de razonamiento utilizados en el caso de nociones vagas (conjuntos borrosos y conjuntos
aproximados) se consideran en el Cap. 13
Nota bibliográfica
Los sistemas basados en reglas se analizan en monografías clásicas [131, 147, 182, 231, 315].
El razonamiento basado en casos se presenta en [166, 242] y el razonamiento basado en modelos en [125].
Machine Translated by Google
Capítulo 10
Reconocimiento de patrones y análisis de conglomerados
Comencemos con una observación terminológica, que se refiere a la noción de patrón.
En el reconocimiento de patrones y el análisis de conglomerados, varios objetos, fenómenos, procesos,
estructuras, etc. pueden considerarse como patrones. La noción no se limita a las imágenes, que pueden
ser percibidas por nuestra vista. Hay tres enfoques básicos en el área de reconocimiento de patrones. En
el enfoque basado en un espacio de características, un patrón se representa mediante un vector de
características. Si los patrones son de naturaleza estructural, entonces se utiliza el reconocimiento de
patrones sintácticos (presentado en el capítulo 8) o el enfoque estructural1 . En el tercer enfoque se
aplican redes neuronales (artificiales). (Este enfoque se presenta en el próximo capítulo).
En general, el reconocimiento de patrones consiste en clasificar un patrón desconocido en uno. Se
de varias categorías predefinidas, llamadas clases. un 2 puede considerar el análisis de conglomerados.
problema complementario al reconocimiento de patrones. Agrupar un conjunto de patrones en clases
(categorías) es su tarea principal.3
La tarea de reconocimiento de patrones y sus nociones básicas se formulan en la primera sección. Las
siguientes cinco secciones se refieren a varios métodos de reconocimiento de patrones. El análisis de
conglomerados se introduce en la última sección.
1En el reconocimiento de patrones estructurales, los patrones se representan mediante representaciones estructurales, de
manera similar al reconocimiento de patrones sintácticos. Sin embargo, su reconocimiento se realiza con la ayuda de métodos de
coincidencia de patrones , no, como en el enfoque sintáctico, mediante la aplicación de gramáticas formales y autómatas.
2Por ejemplo, los pacientes pueden ser considerados como patrones y luego el reconocimiento de patrones puede consistir en
clasificarlos en una de varias entidades de enfermedad.
3Por ejemplo, en el área de Business Intelligence podemos tratar de agrupar a los clientes en función de sus características,
como la fecha de su última compra, el valor total de sus compras durante los últimos dos meses, etc. en categorías que determinan
una estrategia de ventas. (por ejemplo, venta cruzada, servicios/productos gratuitos adicionales).
© Springer International Publishing Suiza 2016 M. Flasi ́nski, 141
Introducción a la Inteligencia Artificial, DOI
10.1007/9783319400228_10
Machine Translated by Google
142 10 Reconocimiento de patrones y análisis de conglomerados
10.1 Problema de reconocimiento de patrones
El problema del reconocimiento de patrones se puede describir formalmente de la siguiente manera.
Supongamos que hay categorías C (clases):
en que se pueden clasificar los patrones. Supongamos también que cada patrón es
representado por un vector de características ndimensional X = (X1, X2,..., Xn), donde
Xi,i = 1,..., n se llama la iésima componente4 del vector X.
Para realizar una tarea de reconocimiento de patrones debemos tener un aprendizaje (entrenamiento)
conjunto, que se define de la siguiente manera:
M
U = ( (X1 , u1 ), (X2 , u2 ), . . . , (XM , tu ) ), (10.2)
j j j
X n ),
donde Xj = (X = ωk 1 , X2 ,... , j = 1,..., M, es el jésimo vector del conjunto de aprendizaje
j y tu , k {1,...,C}, es la clasificación correcta del patrón representado
por el vector Xj . (Esto significa que el patrón representado por el vector Xj pertenece
a la clase ωk .)
En este capítulo nos centramos en la fase de clasificación, asumiendo que la representación de
patrones en forma de conjunto de aprendizaje ha sido definida de forma correcta.
Sin embargo, antes de introducir los métodos de clasificación en las siguientes secciones,
Considere algunas cuestiones relacionadas con la definición de una representación correcta de los patrones. En
un sistema de reconocimiento de patrones, las siguientes tres fases preceden a la clasificación:
• preprocesamiento,
• extracción de características,
• selección de características.
Durante el preprocesamiento se realizan las siguientes operaciones: eliminación de ruido,
alisado y normalización. La eliminación de ruido generalmente se realiza con la ayuda de señales.
métodos de filtrado.5 La normalización consiste en escalar las características del patrón para que
pertenecen a rangos comparables.
Para la fase de clasificación, requerimos que el número de características del patrón sea tan pequeño
como sea posible, es decir, la dimensionalidad de los vectores de características debe ser lo más pequeña posible.
Si la dimensionalidad es grande, resulta en un alto costo de medición de características, una
(tiempo) ineficiencia de los algoritmos de clasificación y, curiosamente, a menudo más errores
en la fase de clasificación.6 La reducción de esta dimensionalidad es la principal tarea de
4Un componente representa alguna característica del patrón.
5Si los patrones son imágenes, entonces el filtrado de ruido, el suavizado/perfilado, la mejora y la restauración
son operaciones típicas de preprocesamiento. Luego, las características tales como bordes, puntos característicos, etc. son
identificado. Finalmente, se realiza la segmentación de imágenes y la identificación de objetos.
6Este interesante fenómeno se analiza, por ejemplo, en [235].
Machine Translated by Google
10.1 Problema de reconocimiento de patrones 143
(a) (b)
X2 X2
2
2
R2
R1
1 1
X1 X1
(C) (d)
X2 X2
2 2
1 1
? ?
X1 X1
Fig. 10.1 a Un ejemplo de un espacio de características que contiene elementos de un conjunto de aprendizaje y
ejemplos de métodos: b clasificación de distancia mínima, c vecino más cercano (NN), d kNN
la fase de extracción de características . La reducción se realiza combinando y transformando las
características originales en otras
nuevas.7 La selección de características es la siguiente fase. Consiste en seleccionar aquellas
características que tienen mayor poder discriminativo. En otras palabras, identificamos aquellas
características que conducen al error más pequeño durante la fase
de clasificación.8 Un espacio que contiene vectores que representan patrones cuyos componentes
han sido extraídos y seleccionados durante las fases descritas anteriormente se denomina espacio
de características. En la figura 10.1a se muestra un ejemplo de espacio de características. Es un
espacio bidimensional, es decir, los patrones que le pertenecen están representados por dos
características: X1 y X2. Hay patrones que pertenecen a una clase ω1, marcados con círculos, en el
espacio. Como podemos ver, estos patrones están concentrados, es decir, están cerca unos de
otros. Decimos que crean un clúster. De manera similar, los patrones pertenecientes a una clase ω2, marcados con re
7Los métodos de extracción de características más populares incluyen el análisis de componentes principales (PCA),
el análisis de componentes independientes y el análisis discriminante lineal. Los problemas relacionados con los
métodos de extracción de características están fuera del alcance de la Inteligencia Artificial. Por lo tanto, no se discuten
en el libro. El lector puede encontrar una buena introducción a esta área en las monografías citadas al final de este
capítulo.
8Esto se puede hacer, por ejemplo, con la ayuda de los métodos de búsqueda presentados en el Cap. 4.
Machine Translated by Google
144 10 Reconocimiento de patrones y análisis de conglomerados
cree un segundo clúster en el espacio de funciones. Supongamos que queremos construir un
sistema de reconocimiento de patrones que distinga entre espadines y anguilas. Así, hay dos
clases: ω1 = espadines, ω2 = anguilas. Entonces, supongamos que el sistema clasifica los peces
sobre la base de dos características: X1 = longitud del pez, X2 = peso del pez. Por supuesto, debería
estar disponible un conjunto de aprendizaje, es decir, deberíamos tener un conjunto de peces de
ambas especies. Debemos medir la longitud de los peces y debemos pesarlos. Luego, podemos
colocar patrones de peces en el espacio de características. En la figura 10.1a , los espadines
(marcados con círculos) son más cortos (la característica X1) y más livianos (la característica X2)
que las anguilas. En secciones sucesivas discutimos varios métodos de clasificación, suponiendo
que un conjunto de aprendizaje se coloca en un espacio de características.
10.2 Clasificador de Distancia Mínima
La construcción de un clasificador de distancia mínima se basa en un mecanismo humano de
reconocimiento de objetos, fenómenos, etc. Si vamos a asignar un objeto desconocido a una
de unas pocas categorías, generalmente lo asignamos a una categoría que contiene un
objeto, que es similar al desconocido. Supongamos que para un conjunto de clases ω1,
ω2,...,ωC existe un conjunto de patrones/vectores de referencia (plantilla)9:
En caso de que los conglomerados correspondientes a estas clases sean regulares, podemos
suponer que un vector calculado como el vector medio (mediana, moda) del conglomerado es el
patrón de referencia (cf. Fig.
10.1b).10 Ahora, podemos comenzar la clasificación. Si aparece un patrón X desconocido ,
debemos medir sus características y colocar el vector de características correspondiente en el
espacio de características (cf. Fig. 10.1b: un patrón desconocido está marcado por un triángulo con un signo de interro
Luego, un clasificador de distancia mínima calcula las distancias entre el patrón desconocido
y los patrones de referencia, es decir,
ρ(X, R1 ), ρ(X, R2 ), . . . , ρ(X, RC), (10.4)
donde ρ(X, Rj ), j {1, 2,...,C}, es la distancia entre el patrón X y el patrón de referencia Rj .
Finalmente, el clasificador asigna el patrón X a la clase ωL que contiene el patrón de
referencia RL que es el más cercano al patrón X, es decir,
ρ(X, RL ) = min{ρ(X, R1 ), ρ(X, R2 ), . . . , ρ(X, RC)}, (10.5)
donde la función min selecciona el elemento más pequeño de un conjunto.
9Más adelante equipararemos un patrón con su representación en forma de vector de características.
10En nuestro “ejemplo de pez”, un patrón de referencia corresponde a un pez de longitud media y peso medio en una clase dada.
Machine Translated by Google
10.2 Clasificador de Distancia Mínima 145
De acuerdo con la regla (10.5), un clasificador asigna el patrón desconocido a la clase ω1 en
la figura 10.1b, porque la distancia entre este patrón y el patrón de referencia R1 es menor que
la distancia entre este patrón y el patrón de referencia R2, que representa el segunda clase.11
(Las distancias están marcadas con una línea discontinua).
Si usamos un clasificador de distancia mínima u otros métodos que calculan distancias,
entonces la elección de una métrica adecuada es un tema crucial. Para varios problemas, la
forma de calcular una distancia influye en la precisión del método. Este tema se discute en el
Apéndice G.2.
10.3 Método del vecino más cercano
A veces es problemático determinar patrones de referencia que representen grupos de forma
adecuada. Es muy difícil si los cúmulos no son regulares, por ejemplo, si están dispersos y
dispersos en algunas direcciones. En tal caso, podemos aplicar el método Vecino más cercano,
NN . La idea principal del método fue presentada por Evelyn Fix12 y Joseph L. Hodges, Jr13 en
1951 [91], luego fue caracterizada por Thomas M.
Cover14 y Peter E. Hart15 en 1967 [60]. En este método, calculamos las distancias entre un
patrón desconocido X y todos los vectores de un conjunto de aprendizaje U. Luego,
seleccionamos la clase que contiene el patrón, que es la más cercana al patrón X. En el ejemplo
que se muestra en la figura 10.1c asignamos el patrón desconocido X a la clase ω1, porque
esta clase contiene el vecino más cercano de X. (En la figura 10.1c también se marca la distancia
entre X y el patrón más cercano que pertenece a la clase ω2 ). El método NN tiene un
interpretación intuitiva. Si nos encontramos con un objeto desconocido (evento, fenómeno) y
queremos clasificarlo, entonces podemos buscar un parecido con un objeto similar (evento,
fenómeno) y asignar el objeto desconocido a una clase que incluya este objeto similar.
La regla NN se puede definir formalmente de la siguiente manera. Sea Uk el subconjunto del
conjunto de aprendizaje que incluye solo aquellos patrones que pertenecen a la clase ωk , es ,
decir,
Reino Unido = {Xj : (Xj , tu _ j ) U y u = ωk }. (10.6)
11 En nuestro ejemplo de peces, esto significa que un pez desconocido que corresponde a un patrón desconocido en
la figura 10.1b se clasifica como espadín (ω1), porque se parece más al “espadín de referencia” R1 que a la “anguila
de referencia” R2. (Es decir, está más cerca del "espadín de referencia" en el espacio de características).
12Evelyn Fix—profesora de estadística de la Universidad de California, Berkeley, Ph.D. estudiante y luego colaborador
principal del eminente matemático y estadístico polacoestadounidense Jerzy SpławaNeyman, quien introdujo la
noción de intervalo de confianza (también, el lema de NeymanPearson).
13Joseph Lawson Hodges, Jr—un eminente estadístico (estimador de HodgesLahmann, estimador de Hodges) en
la Universidad de California, Berkeley, un Ph.D. alumno de Jerzy SpławaNeyman.
14Thomas M. Cover—profesor de la Universidad de Stanford, autor de excelentes artículos sobre modelos basados
en estadísticas y teoría de la información.
15Peter E. Hart: profesor de la Universidad de Stanford, informático (coautor del método de búsqueda heurística A
y del modelo basado en la transformada de Hough).
Machine Translated by Google
146 10 Reconocimiento de patrones y análisis de conglomerados
Entonces, X se asigna a la clase ωL , si
L .
ρ(X, Xr ) = min {ρ(X, Xj )} y Xr U (10.7)
j=1,...,M
En la práctica, un conjunto de aprendizaje puede contener patrones caracterizados por
valores de características que se han medido de forma errónea. Entonces, el método NN podría
dar una clasificación inválida si un patrón con valores erróneos de características es el vecino
más cercano. Para eliminar tal efecto, aplicamos el método kNearest Neighbor, k NN . En este
método no identificamos un vecino más cercano, sino los k vecinos más cercanos. (k es un
número impar pequeño). Luego, verificamos qué clase posee el mayor número de representantes
en el grupo de los vecinos más cercanos. Se asigna un patrón desconocido a esta clase.
Consideremos el ejemplo que se muestra en la figura 10.1d.
Dos patrones que pertenecen a la clase ω2 se colocan cerca de la clase ω1. (Es probable que
sus características se hayan medido de forma errónea). Si aplicamos el método NN, entonces
asignamos el patrón desconocido a la clase ω2 incorrectamente. Sin embargo, si usamos el
método 5NN, es decir, k = 5, entonces en el grupo de los cinco vecinos más cercanos, tres de
ellos pertenecen a la clase ω1, y el patrón desconocido se asigna correctamente a esta clase.
10.4 Clasificadores basados en límites de decisión
En lugar de usar patrones de referencia o elementos de un conjunto de aprendizaje, podemos intentar
construir límites que dividan el espacio de características en subespacios correspondientes a las clases.
Esta idea fue presentada originalmente por Ronald A. Fisher en 1936 [90]. Se utiliza para definir
clasificadores basados en límites de decisión.
Comencemos considerando el caso de dos clases en un espacio de características que se pueden
separar de forma lineal, es decir, se pueden separar por un límite que se define con la ayuda de una
función lineal denominada función discriminante lineal . Deje que los grupos que contienen elementos
de un conjunto de aprendizaje y que representan las clases ω1 y ω2 se coloquen en un espacio de
características como se muestra en la figura 10.2a. Estos grupos pueden estar separados por un límite.
Los puntos X = (X1, X2) pertenecientes a la frontera cumplen la siguiente ecuación:
d(X) = 2X1 − X2 − 4 = 0. (10.8)
Notemos que todos los patrones del conjunto de aprendizaje X que pertenecen a la clase ω1
cumplen la siguiente condición:
d(X) > 0, (10.9)
y todos los patrones del conjunto de aprendizaje X que pertenecen a la clase ω2 cumplen la
siguiente condición:
d(X) < 0. (10.10)
Machine Translated by Google
10.4 Clasificadores basados en límites de decisión 147
(a) (b)
X2 2 d(X) = 0 X2 d12
2
14 14
12 12
10 10
d(X) < 0 d23
8 8
1
6 ? 1 6
3
4 4
d(X) > 0
2 2 d13
0 24 6 8 10 12 14 X1 0 24 6 8 10 12 14 X1
(C) (d)
X2 X2
14 14
2 2
12 12
10 10
8 8
6 6
1 1
4 4
2 2
0 24 6 8 10 12 14 X1 0 24 6 8 10 12 14 X1
Fig. 10.2 a Un ejemplo de un límite de decisión que separa dos clases, b una separación de tres clases por tres
límites de decisión, c posibles límites entre dos clases, d un ejemplo del método Support Vector Machine
La función d se utiliza para clasificar patrones desconocidos. Por ejemplo, el patrón desconocido
marcado con un triángulo en la figura 10.2a, que tiene coordenadas X1 = 8, X2 = 6, se asigna
a la clase ω1, porque el valor de la función d para este patrón es mayor que cero, de acuerdo
con fórmula (10.8).
En el caso general de un espacio de características ndimensional, una función
discriminante lineal tiene la siguiente forma:
norte
donde W = (W1,..., Wn) se denomina vector de peso y W0 es el peso umbral.
Esta función corresponde a un límite que es un hiperplano.
Si hay más de dos clases, entonces podemos dividir el espacio de características con la
ayuda de muchos límites de tal manera que las clases se separen por pares. En la figura 10.2b
se muestra un ejemplo de este enfoque dicotómico . La clase ω1 se separa de la clase ω2 con
la ayuda de la función discriminante d12, la clase ω1 se separa de la clase ω3 con la ayuda
de la función discriminante d13, y
Machine Translated by Google
148 10 Reconocimiento de patrones y análisis de conglomerados
la clase ω2 se separa de la clase ω3 con la ayuda de la función discriminante d23.
En el caso del método de la función discriminante lineal podemos definir muchas
límites que separan los grupos. Veamos la figura 10.2c, en la que se definen tres límites que
separan los conglomerados que representan las clases ω1 y ω2 . Aunque todos los límites son
correctos, los dos límites marcados con líneas discontinuas parecen ser peores que el tercer límite.
Nuestra observación es precisa, porque en los casos de los límites marcados por líneas
discontinuas, un pequeño desplazamiento de algunos puntos del clúster hace necesario modificar
estos límites. Sin embargo, el límite marcado con una línea sólida corre lo suficientemente lejos de
ambos grupos. Esto significa que es menos sensible a algunos cambios de patrones en el espacio
de funciones. Esta observación inspiró a Vladimir Vap nik16 a definir Support Vector Machine,
SVM, en 1979 [308]. La idea principal de este método se muestra en la figura 10.2d.
La máquina de vectores de soporte busca un límite entre dos clústeres que se coloca de tal
manera que su distancia de ambos clústeres sea igual y lo más grande posible. (En la Fig. 10.2d
está marcado con una línea sólida). Para determinar dicho límite, construimos dos hiperplanos de
apoyo, que son paralelos entre sí y tienen la misma distancia del límite. (Están marcados con líneas
discontinuas en la figura 10.2d). Cada hiperplano se apoya en los elementos de su grupo que
sobresalen más hacia otro grupo. Estos elementos están marcados con círculos.
Dado que estos elementos son los vectores de características en los que se apoyan los hiperplanos,
se denominan vectores de soporte. 17
Hasta ahora, hemos asumido que los grupos en un espacio de características pueden separarse
mediante funciones discriminantes lineales. Si no pueden ser separados por funciones lineales,
tenemos que usar funciones discriminantes no lineales y definir clasificadores no lineales. Sin
embargo, la construcción de clasificadores no lineales eficientes es muy difícil. En la década de
1990 se definieron algunos clasificadores no lineales eficientes [35, 92, 259]. Un enfoque alternativo
consiste en usar splines, es decir, funciones definidas por partes de menor orden.
10.5 Reconocimiento de patrones estadísticos
En el reconocimiento de patrones estadísticos (enfoque bayesiano), presentado por Richard O.
Duda18 y Peter E. Hart en [78], se considera la probabilidad19 de asignar un patrón a una clase.
Estos métodos se basan en el modelo bayesiano.20
16Vladimir Naumovich Vapnik—profesor en el Instituto de Ciencias de Control, Moscú de 1961 a 1990, luego en AT&T Bell Labs
y NEC Laboratories, Princeton. Su trabajo se refiere principalmente a la estadística y la Inteligencia Artificial (teoría de Vapnik
Chervonenkis).
17Es por esto que el método se llama Máquinas de Vectores Soporte.
18Richard O. Duda—profesor de ingeniería eléctrica en la Universidad Estatal de San José. Sus logros se refieren al
reconocimiento de patrones. Definió la transformada de Hough. Es coautor de la excelente monografía “Pattern Classification and
Scene Analysis”.
19Las nociones básicas de la teoría de la probabilidad se presentan en los Apéndices I.1, B.1 y I.2.
20Thomas Bayes—un eminente matemático inglés y ministro presbiteriano. El “padre” de las estadísticas.
Machine Translated by Google
10.5 Reconocimiento de patrones estadísticos 149
(a) (b)
i 2
p(X1 ) p(X1 )
0.5 0.5 2
1 2
0.4 0.4
0.3 0.3
0.2 0.2
0.1 0.1
0 4 8 12 16 20 24 28 X1 0 4 8 12 16 20 24 28 X1
(C)
i
PAG( | X1)
1 2
xB X1
Fig. 10.3 a Ejemplos de funciones de densidad de probabilidad para dos clases, b una reconstrucción de una función de
densidad de probabilidad sobre la base de un histograma, c un ejemplo de una regla de decisión para el clasificador
bayesiano
Para simplificar nuestras consideraciones, supongamos que todos los patrones pertenecen
a una de dos clases en un espacio de características unidimensional. Supongamos que para
las clases ω1 y ω2 conocemos las probabilidades a priori P(ω1) y P(ω2). La probabilidad a
priori P(ω1) da la probabilidad de que un patrón pertenezca a la clase ω1 en general.21
Entonces, supongamos que para esta característica (única) X1 que caracteriza nuestros
patrones conocemos las funciones de densidad de probabilidad p(X1|ω1) y p(X1|ω2) para
ambas clases. La función de densidad de probabilidad p(X1|ω1) es una función que para un
valor dado de la variable X1 asigna la probabilidad de su ocurrencia, suponiendo que decimos
sobre un patrón que pertenece a la clase ω1. Volvamos a nuestro “ejemplo del pez”. Ahora, ω1
significa la clase de espadín, ω2 significa la clase de anchoa y la característica X1 significa la
longitud de un pez. Entonces, p(9|espadín) = 0,42 significa que la probabilidad de que un pez
tenga 9 cm de largo, suponiendo que sea un espadín, es igual a 0,42. Por ejemplo, las funciones
de densidad de probabilidad para dos clases se muestran en la figura 10.3a. Como podemos ver, los valores de
21Podemos saber, por ejemplo, que hay cuatro veces más patrones pertenecientes a la clase ω1 que patrones
pertenecientes a la clase ω2 en la naturaleza. Entonces, P(ω1) = 4/5 y P(ω2) = 1/5.
Machine Translated by Google
150 10 Reconocimiento de patrones y análisis de conglomerados
la característica X1 de los patrones pertenecientes a la clase ω1 pertenecen al intervalo [5, 13].
Los valores en torno a 9 son los más probables (probabilidad superior a 0,4). Los valores de la
característica X1 de patrones pertenecientes a la clase ω2 pertenecen al intervalo [10, 24].
Los valores alrededor de 17 son los más probables.
Si usamos el enfoque bayesiano, la pregunta es ¿cómo determinar la función de densidad
de probabilidad para una clase dada? La técnica más sencilla consiste en utilizar un histograma,
que muestra la distribución empírica de una característica. Esto se muestra en la figura 10.3b.22
Si hemos
definido probabilidades a priori para las clases ω1 y ω2, y funciones de densidad de
probabilidad para estas clases, podemos definir probabilidades a posteriori P(ω1|X1) y P(ω2|
X1) , según la regla de Bayes:
p(X1|ωj )P(ωj )
P(ωj |X1) = , j = 1, 2. (10.12)
2k =1p(X1|ωk )P(ωk )
P(ω1|X1) es la probabilidad de que un patrón desconocido pertenezca a la clase ω1,
dependiendo del valor de su característica X1. Así, para nuestro ejemplo, P(espadín| 7) = 0,35
se interpreta de la siguiente manera. La probabilidad de que un pez de 7 cm de largo sea un
espadín es 0,35. Notemos que podemos omitir el denominador de la fórmula (10.12), porque
es el mismo para ambas clases.
En la figura 10.3c se muestran gráficos de ejemplo de funciones de probabilidad a posteriori
para ambas clases dependiendo de la característica X1 . Estas gráficas se cruzan para el valor
xB. Esto significa que para valores de la característica X1 mayores que xB la probabilidad de
que un patrón pertenezca a la clase ω2 es mayor que la probabilidad de que el patrón
pertenezca a la clase ω1 (y viceversa). Como podemos ver, existen valores de X1 para los
cuales las probabilidades de pertenecer a ambas clases son distintas de cero. También hay
valores de X1 para los que la probabilidad de pertenecer a una clase dada es igual a cero.
Podemos generalizar nuestras consideraciones al caso de más de dos clases. Para las
clases ω1, ω2,...,ωC la fórmula (10.12) tiene la siguiente forma:
p(X1|ωj )P(ωj )
P(ωj |X1) = , j = 1, 2,...,C. p(X1| (10.13)
Ck =1ωk )P(ωk )
Ahora, podemos formular una regla para reconocer un patrón desconocido caracterizado
por una característica X = (X1) con la ayuda del clasificador de Bayes. El clasificador asigna el
patrón a aquella clase para la cual la probabilidad a posteriori es mayor. Así, X se asigna a la
clase ωL , si
22La altura de la barra para un intervalo [a, b] debe ser h = p/w, donde p es el número de elementos del conjunto de aprendizaje
que pertenecen a la clase dada y están en el intervalo [a, b], y w es el número de todos los elementos del conjunto de aprendizaje
que pertenecen a la clase dada.
Machine Translated by Google
10.5 Reconocimiento de patrones estadísticos 151
En caso de que nos gustaría reconocer patrones en un espacio de características n
dimensional, es decir, X = (X1, X2,..., Xn), podemos utilizar el llamado clasificador naive Bayes.
Suponemos que todas las características son independientes. Entonces, la función de densidad
de probabilidad para un vector de características ndimensional se define de la siguiente manera:
norte
Podemos generalizar aún más el clasificador de Bayes. Podemos suponer que las decisiones
erróneas relativas al reconocimiento de un patrón desconocido pueden tener varios costos, es
decir, tienen varias consecuencias. Luego, introducimos una función del costo (de los errores).
Esta función y la probabilidad a posteriori son la base para definir la función de riesgo para el
clasificador. En este enfoque tratamos de minimizar la función de riesgo.
10.6 Clasificador de árboles de decisión
Los métodos de reconocimiento de patrones presentados en las secciones anteriores pertenecen
a un enfoque de una etapa, en el que tomamos la decisión de clasificación teniendo en cuenta
todas las clases y todas las características en un solo paso. Sin embargo, el proceso de
clasificación se puede descomponer en una secuencia de pasos. En pasos posteriores podemos
analizar características sucesivas con respecto a varios subconjuntos de clases. Este enfoque se
denomina enfoque de etapas múltiples (secuencial). El clasificador de árboles de decisión
introducido por J. Ross Quinlan23 en 1979 [233] es uno de los métodos más populares
pertenecientes a este enfoque. Vamos a presentarlo con la ayuda del siguiente ejemplo.
Supongamos que construimos un clasificador que reconoce la solvencia de un cliente en un
banco. Tomamos en cuenta dos características de un cliente: X1 = Ingreso (anual) y X2 = Deuda
(del cliente con el banco). Asumimos dos clases: ω1 = clientes solventes y ω2 = clientes no
solventes. En la figura 10.4 se muestra la agrupación de elementos del conjunto de aprendizaje
en dos grupos . Después de analizar estos clusters, es decir, analizar el comportamiento de los
clientes pertenecientes a las clases correspondientes, decidimos dividir el espacio de
características con la ayuda de un límite que separa a los clientes con un ingreso anual superior
a 50.000e de aquellos que tienen un ingreso menor. Definir este límite corresponde a construir la
parte del árbol de decisiones que se muestra en la figura 10.4a. La condición “Ingreso > 50.000”
que define el umbral se escribe en un nodo del árbol. Si se cumple la condición, entonces un
patrón desconocido pertenece a la clase ω1 (marcado con un círculo en el árbol de decisión y en
el espacio de características). Un análisis más detallado nos permite dividir el espacio de
características según la característica Deuda y establecer un umbral de 100,000e. Los clientes
cuya deuda es superior a este umbral pertenecen a la clase ω2 (marcada con un rectángulo
23John Ross Quinlan: científico informático australiano, investigador de la Universidad de Sydney y RAND Corporation. Su
investigación se refiere al aprendizaje automático, la teoría de la decisión y la exploración de datos.
Machine Translated by Google
152 10 Reconocimiento de patrones y análisis de conglomerados
(a)
Deuda
Ingresos > 50000
No Sí
2
100000
1
25000 50000 Ingreso
(b)
Deuda
Ingresos > 50000
No Sí
2 Deuda > 100000
100000 No Sí
1
25000 50000 Ingreso
(C)
Deuda
Ingresos > 50000
No Sí
2
Deuda > 100000
100000 No Sí
1 Ingresos > 25000
No Sí
25000 50000 Ingreso
Fig. 10.4 Pasos sucesivos construyendo un árbol de decisión y dividiendo un espacio de características
en los árboles de decisión y en el espacio de características). Tal división del espacio de
características corresponde al desarrollo del árbol de decisión como se muestra en la figura 10.4b.
Finalmente, para separar a los clientes de las dos clases en el subespacio inferior izquierdo,
debemos establecer un umbral igual a 25,000e para la función Ingresos. Como podemos ver en
la Fig. 10.4c, este umbral separa a los clientes solventes de los no solventes en este subespacio.
Como resultado, obtenemos el árbol de decisión que se muestra en la figura 10.4c .
Resumiendo, un clasificador basado en un árbol de decisión divide un espacio de características
con la ayuda de límites que son paralelos a los ejes del sistema de coordenadas que definen el
espacio de características. Estos límites se construyen mediante la identificación secuencial de
umbrales para características específicas.
Machine Translated by Google
10.7 Análisis de conglomerados 153
10.7 Análisis de conglomerados
Cuando formulamos una tarea de reconocimiento de patrones en las secciones anteriores, asumimos que tenemos
un conjunto de aprendizaje, que consta de patrones con sus asignaciones a las clases adecuadas. Hemos
introducido varios clasificadores, que asignan un patrón desconocido a una clase adecuada. El análisis de
conglomerados es un problema que puede considerarse complementario al reconocimiento de patrones.
Suponemos aquí que tenemos un conjunto de patrones de muestra, sin embargo, no conocemos su clasificación.
Una tarea de análisis de conglomerados consiste en agrupar estos patrones en conglomerados, que representan
clases. La agrupación debe hacerse de tal manera que los patrones que pertenecen al mismo grupo sean similares
entre sí. Al mismo tiempo, los patrones que pertenecen a grupos distintos deben ser diferentes entre sí.
Por lo tanto, la noción de similitud es crucial en el análisis de conglomerados. Dado que los patrones se
colocan en un espacio de características, como en el reconocimiento de patrones, también usamos la noción de
metric24 en este caso. Calculamos distancias entre patrones de un conjunto de muestras con la ayuda de una
métrica determinada. Si la distancia entre dos patrones es pequeña, entonces los tratamos como similares (y
viceversa).
En general, los métodos de análisis de conglomerados se dividen en los siguientes dos grupos:
• métodos basados en particiones, donde asumimos que sabemos cuántos clústeres
deben definirse, y • métodos
jerárquicos, en los que el número de conglomerados no está predefinido.
La agrupación en clústeres de Kmeans es uno de los métodos más populares basados en la partición.
La idea del método fue introducida por Hugo Steinhaus25 en 1956 [287] y el algoritmo fue definido por James B.
MacQueen26 en 1967 [190]. En primer lugar, introduzcamos la noción del centroide de un grupo. El centroide es
la media de las posiciones de todos los patrones que pertenecen a un grupo determinado. Supongamos que
queremos agrupar patrones en k grupos. El método se puede definir de la siguiente manera.
1. Seleccione k centroides iniciales de conglomerados. (La selección puede hacerse mediante la elección aleatoria
de k patrones como centroides iniciales o mediante la elección aleatoria de k puntos en el espacio de
características).
2. Asigne cada patrón del conjunto de muestra a un conglomerado sobre la base de la distancia más pequeña
entre el patrón y el centroide del conglomerado.
3. Para los clústeres creados en el Paso 2, calcule nuevos centroides.
4. Repita los pasos 2 y 3 hasta que se estabilicen los grupos. (Decimos que las agrupaciones se estabilizan, si las
asignaciones de patrones no cambian en un paso sucesivo (o cambios
24En el Apéndice G.2 se introducen varias métricas.
25Hugo Steinhaus—un matemático polaco, profesor de la Universidad Jan Kazimierz en Lwów (ahora
Lviv, Ucrania) y la Universidad de Wrocław, Ph.D. alumno de David Hilbert, cofundador de la Escuela de
Matemáticas de Lwów (junto con, entre otros, Stefan Banach y Stanisław Ulam).
Su trabajo se refiere al análisis funcional (teorema de BanachSteinhaus), la geometría y la lógica
matemática.
26James B. MacQueen—psicólogo, profesor de estadística en la Universidad de California, Los Ángeles.
Su trabajo se refiere a estadísticas, análisis de conglomerados y procesos de Markov.
Machine Translated by Google
154 10 Reconocimiento de patrones y análisis de conglomerados
(a) (b)
X2 X2
X1 X1
(C) (d)
X2 X2
X1 X1
(mi) (F)
X2 X2
X1 X1
Fig. 10.5 Pasos sucesivos del algoritmo kmeans
están por debajo de cierto umbral) o los centroides no cambian (o los cambios están por
debajo de cierto umbral).)
Consideremos un ejemplo del algoritmo de kmedias, que se muestra en la figura 10.5.
En la figura 10.5a se muestra una ubicación de patrones en un espacio de características .
Supongamos que nos gustaría agrupar los patrones en dos conglomerados, es decir, k = 2.
( Los elementos de estos conglomerados están marcados con círculos o rectángulos). b. La
distancia entre los dos patrones más a la izquierda y el centroide del grupo "círculo" es menor
que la distancia entre estos patrones y el centroide del grupo "rectángulo". Por lo tanto, se
asignan a este grupo (cf. Fig. 10.5b). Los patrones restantes se asignan al grupo "rectángulo",
porque están más cerca de su centroide que del centroide del grupo "círculo". (Las asignaciones
de patrones a los centroides están marcadas con líneas discontinuas). Después de eso,
calculamos nuevos centroides para ambos grupos. Los hemos marcado con un círculo negro
(el primer grupo) y un rectángulo negro (el segundo grupo). Como podemos ver en la figura
10.5c, el centroide del grupo "rectángulo" se ha movido significativamente hacia la derecha y
el centroide del grupo "círculo" se ha movido un poco hacia la izquierda. Después de establecer
los nuevos centroides, asignamos patrones a los grupos nuevamente, de acuerdo con el
centroide más cercano. Esta vez, el grupo "círculo" absorbe un patrón que fue
Machine Translated by Google
10.7 Análisis de conglomerados 155
un “rectángulo” anteriormente. (Era el centroide inicial de "rectángulos".) En la figura 10.5d podemos ver el
movimiento de ambos centroides hacia la derecha y la absorción de dos patrones de "rectángulo" por el
grupo "círculo". La ubicación final de los centroides se muestra en la figura 10.5e. Después de esto, ambos
grupos se estabilizan. El efecto de la agrupación se muestra en la figura 10.5f.
La idea del análisis de conglomerados jerárquicos fue definida por Stephen C. Johnson27 en 1967
[150]. En tal enfoque, no predefinimos el número de grupos. En lugar de esto, mostramos cómo los
clústeres definidos hasta ahora pueden fusionarse en clústeres más grandes (un enfoque aglomerativo28)
o cómo pueden descomponerse en clústeres más pequeños (un enfoque divisivo29).
Supongamos que un conjunto de muestras consta de M patrones. El esquema de un aglomerado.
El método erativo se puede definir de la siguiente manera.
1. Determinar M grupos iniciales, que consisten en un solo patrón. Calcule las distancias entre pares de
estos grupos como las distancias entre sus patrones.
2. Encuentra el par de conglomerados más cercano. Combínalos en un solo grupo.
3. Calcule las distancias entre este grupo recién creado y los grupos restantes.
4. Repita los pasos 2 y 3 hasta que se cree un grupo grande que contenga todos los patrones M.
Un esquema aglomerativo se muestra en la Fig. 10.6. (Los pasos sucesivos se muestran de izquierda a
derecha). El espacio de características es unidimensional (una característica X1). En primer lugar,
fusionamos los dos primeros grupos de un elemento (contando desde arriba), porque son los más cercanos
entre sí. En el segundo paso fusionamos los siguientes dos grupos de un elemento. En el tercer paso
fusionamos el segundo grupo de dos elementos con el último grupo de un elemento, etc. Observemos que
si los grupos contienen más de un elemento, debemos definir un método para calcular la distancia entre
ellos. Los métodos más populares incluyen:
• el método de enlace simple: la distancia entre dos conglomerados A y B se calcula como la distancia
entre los dos elementos más cercanos EA y EB pertenecientes a A y
B, respectivamente,
• el método de enlace completo: la distancia entre dos conglomerados A y B se calcula como la distancia
entre los dos elementos más lejanos EA y EB pertenecientes a
A y B, respectivamente,
• el método del centroide: la distancia entre dos conglomerados A y B se calcula como la distancia entre
sus centroides.
Los pasos sucesivos de un esquema divisivo se muestran en la figura 10.6 de derecha a izquierda.
27Stephen Curtis Johnson: investigador de Bell Labs y AT&T, entonces presidente de USENIX. Un matemático y un informático. Ha
desarrollado cpp, un compilador de lenguaje C, YACC, un generador UNIX de analizadores, int, un analizador de código C y un compilador
MATLAB.
28En este caso, comenzamos con grupos que contienen patrones únicos y podemos terminar con un grupo grande que contiene todos
los patrones de un conjunto de muestra.
29En este caso, comenzamos con un gran grupo que contiene todos los patrones de un conjunto de muestras y podemos terminar con
grupos que contienen patrones únicos.
Machine Translated by Google
156 10 Reconocimiento de patrones y análisis de conglomerados
métodos aglomerativos
X1
Métodos divisivos
Fig. 10.6 Métodos aglomerativos y métodos divisivos en el análisis de conglomerados jerárquicos
Nota bibliográfica
Las monografías [28, 78, 79, 106, 171, 309] son buenas introducciones al reconocimiento de patrones.
Los métodos de análisis de conglomerados se presentan en [4, 85, 127].
Machine Translated by Google
Capítulo 11
Redes neuronales
Como mencionamos en el capítulo anterior, el modelo de red neuronal (NN) a veces se trata
como uno de los tres enfoques para el reconocimiento de patrones (junto con el enfoque
presentado en el capítulo anterior y el reconocimiento de patrones sintácticoestructurales). De
hecho, como veremos en este capítulo, varios modelos de redes neuronales (artificiales) son
análogos a los métodos estándar de reconocimiento de patrones, en el sentido de su formalización
matemática.1
Sin embargo, a pesar de estas analogías, la teoría de redes neuronales se distingue del
reconocimiento de patrones estándar por los fundamentos metodológicos originales anteriores
(conexionismo), la posibilidad de implementar algoritmos estándar con la ayuda de arquitecturas
de red y una variedad de técnicas de aprendizaje.
Hasta ahora se han desarrollado muchos modelos diferentes de redes neuronales. Una
taxonomía de estos modelos suele ser problemática para los principiantes en el área de las redes
neuronales. Por lo tanto, en este capítulo presentamos las nociones de forma jerárquica (“de
abajo hacia arriba”) paso a paso. En la primera sección presentamos un modelo genérico de una
neurona y consideramos los criterios utilizados para definir una tipología de neuronas artificiales.
Los tipos básicos de redes neuronales se analizan en la Secc. 2. En la última sección se presenta
un breve estudio de los modelos específicos más populares de redes neuronales.
1Anil K. Jain, un eminente investigador en ambas áreas de la inteligencia artificial, señaló estas
analogías en un artículo [148] publicado en 2000. Por lo tanto, existen las siguientes analogías:
funciones discriminantes lineales: perceptrón de una capa, análisis de componentes principales: NN
autoasociativo, funciones discriminantes no lineales—perceptrón multicapa, etc.
© Springer International Publishing Suiza 2016 M. Flasi 157
´nski, Introducción a la Inteligencia Artificial, DOI
10.1007/9783319400228_11
Machine Translated by Google
158 11 redes neuronales
11.1 Neurona artificial
A finales del siglo XIX Santiago Ramón y Cajal2 descubrió que un cerebro está formado por células
nerviosas, entonces llamadas neuronas. La estructura de una neurona se muestra en la figura
11.1a. Una neurona consta de un cuerpo celular (llamado pericarion orsoma) y extensiones
celulares de dos tipos. Las extensiones llamadas dendritas son estructuras ramificadas delgadas.
Se utilizan para la transmisión de señales de otras neuronas al cuerpo celular. Una extensión
llamada axón transmite una señal desde el cuerpo celular a otras neuronas.
La comunicación entre neuronas se realiza mediante la transmisión de señales eléctricas o
químicas con la ayuda de sinapsis. La investigación dirigida por John CarewEccles3 descubrió el
mecanismo de comunicación entre las neuronas. Las propiedades de transmisión de las sinapsis
están controladas por sustancias químicas llamadas neurotransmisores y las señales sinápticas
pueden ser excitatorias o inhibitorias.
Fig. 11.1 a La estructura de (a)
una neurona, b el esquema de
cuerpo de la célula
una neurona artificial sinapsis
axón
axón
dendritas
(b)
X0 W0
X1 W1 v y
f(v)
Xn Wn
pesos sinápticos
2Santiago Ramón y Cajal, eminente histólogo y neurocientífico, profesor de las universidades de Valenzia,
Barcelona y Madrid. En 1906 recibió el Premio Nobel (junto con Camillo Golgi) por la investigación de las
estructuras neurales.
3John Carew Eccles—profesor de neurofisiología en la Universidad de Otago (Nueva Zelanda), la
Universidad Nacional de Australia y la Universidad de Buffalo. En 1963 recibió el Premio Nobel por sus
investigaciones sobre la transmisión sináptica.
Machine Translated by Google
11.1 Neurona artificial 159
Al mismo tiempo, Alan Lloyd Hodgkin4 y Andrew Fielding Huxley5 dirigieron la investigación
sobre el proceso de iniciación de un potencial de acción, que desempeña un papel clave en la
comunicación entre neuronas. Realizaron experimentos en el enorme axón de un calamar del
Atlántico. Los experimentos les permitieron descubrir el mecanismo de este proceso.
En el momento en que la suma total6 de potencial postsináptico excitatorio alcanza un determinado
umbral, se produce un potencial de acción en la neurona. El potencial de acción es entonces
emitido por la neurona (decimos que la neurona se dispara) y se propaga a través de su axón a
otras neuronas. Como demostró más tarde Bernard Katz7, el potencial de acción se genera según
el principio de todo o nada , es decir, se produce por completo o no se produce en absoluto. En la
figura 11.1a , una neurona como la descrita anteriormente está marcada con una línea continua,
mientras que los axones que pertenecen a otras dos neuronas que le envían señales están
marcados con líneas discontinuas.
Como ya hemos mencionado en la Secc. 3.1, una red neuronal (artificial), NN, es un modelo
(simplificado) de un cerebro tratado como una estructura que consta de neuronas. El modelo de
una neurona artificial fue desarrollado por Warren S. McCulloch y Walter Pitts en 1943 [198]. Se
muestra en la figura 11.1b. Describimos su estructura y comportamiento sobre la base de las
nociones que se han introducido anteriormente para una neurona biológica. Las señales de entrada
X0, X1,..., Xn corresponden a señales neuronales enviadas desde otras neuronas. Suponemos
(por razones técnicas) que X0 = 1. Estas señales están representadas por un vector de entrada X
= (X0, X1,..., Xn).
Para calcular la suma total de las señales de entrada que afectan a la neurona, introducimos
una función de potencial postsináptico g. En nuestras consideraciones asumimos que la función g
tiene la forma de una suma. Esto significa que las señales de entrada se multiplican por los pesos
sinápticos W0, W1,..., Wn, que definen un vector de pesos W = (W0, W1,..., Wn). Los pesos
sinápticos desempeñan el papel de controlador de las propiedades de transmisión de las sinapsis
por analogía con una neurona biológica. Los pesos establecen algunas entradas para que sean
sinapsis excitatorias y otras para que sean sinapsis inhibidoras. La multiplicación de las señales
de entrada por pesos corresponde a la mejora o debilitamiento de las señales enviadas a la
neurona desde otras neuronas. Después de la multiplicación de las señales de entrada por pesos,
sumamos los productos, lo que da una señal v:
norte
4Alan Lloyd Hodgkin—profesor de fisiología y biofísica en la Universidad de Cambridge. En 1963 recibió el Premio
Nobel por su investigación sobre el potencial de acción nervioso. Fue presidente de la Royal Society.
5Andrew Fielding Huxley—profesor de fisiología y biofísica en la Universidad de Cambridge. En 1963 fue galardonado
con el Premio Nobel (junto con Alan Lloyd Hodgkin). Era nieto del biólogo Thomas H. Huxley, a quien se le llamó “el
dogo de Darwin” porque apoyó enérgicamente la teoría de la evolución durante un famoso debate con el obispo de
Oxford Samuel Wilberforce en 1860.
6En el sentido de que múltiples sinapsis excitatorias actúan sobre la neurona.
7Bernard Katz—profesor de biofísica en el University College London. Fue galardonado con el Premio Nobel de
Fisiología y Medicina en 1970.
Machine Translated by Google
160 11 redes neuronales
(a) y = f(v)
1
0
v
(b)
inicialice el vector de peso W y coloque el
conjunto de entrenamiento en la entrada
de la neurona
ingrese el siguiente vector X del conjunto de entrenamiento a
través de la entrada de neurona
coloque el conjunto de entrenamiento determinar las señales: v e y
en la entrada de la neurona una vez más
modificar el vector de peso W
aprendizaje completado
Fig. 11.2 a La función de activación de la neurona de McCullochPitts, b el esquema general de neurona
aprendiendo
Esta señal corresponde a la suma total del potencial postsináptico excitatorio. De este modo,
tenemos que comprobar si ha alcanzado el umbral adecuado que se requiere para
activando la neurona. Hacemos esto con la ayuda de la función de activación (transferencia)
f , que genera una señal de salida y para una señal v, es decir,
y = f (v). (11.2)
McCulloch y Pitts utilizaron la función escalonada de Heaviside, generalmente denotada por 1(v) (cf.
Fig. 11.2a), como la función de activación. Se define de la siguiente manera:
1, si v ≥ 0,
1(v) = (11.3)
0, si v < 0.
Machine Translated by Google
11.1 Neurona artificial 161
Como podemos ver, la función de paso de Heaviside da 0 para valores de una señal v que son menores
que cero, de lo contrario da 1. Por lo tanto, el umbral se establece en 0. De hecho, podemos establecer
cualquier umbral con la ayuda de la sináptica peso W0, ya que hemos supuesto que la señal X0 = 1.
En el modelo de neurona genérico, la función de salida es la tercera función (en una secuencia de
procesamiento de señales). Se utiliza en modelos avanzados. En la monografía suponemos que es la
función identidad, es decir, out(y) = y. Por lo tanto, lo omitimos en consideraciones posteriores.
El cerebro es un órgano que puede aprender, por lo que las redes neuronales (artificiales) también
deberían tener esta propiedad. El esquema general del aprendizaje neuronal se muestra en la figura 11.2b.
Una neurona debe aprender a reaccionar de manera adecuada a los patrones (es decir, vectores
característicos de patrones) que se le muestran.8 Comenzamos con una inicialización aleatoria del vector
de peso W de la neurona. Colocamos el conjunto de entrenamiento en la entrada de la neurona. Entonces,
comenzamos el ciclo principal del proceso de aprendizaje.
Introducimos el siguiente vector X del conjunto de entrenamiento9 a través de la entrada de neurona.
La neurona calcula un valor v para este vector de acuerdo con la fórmula (11.1) y luego determina el valor
y de acuerdo con la función de activación dada.
La señal de salida y es la reacción de la neurona a un patrón que se ha mostrado. La idea principal del
proceso de aprendizaje consiste en modificar los pesos de la neurona, en función de su reacción al patrón
mostrado. Esto se hace de acuerdo con el método de aprendizaje elegido.10 Así, en el último paso del
ciclo principal modificamos el vector de peso W de la neurona. Luego, ingresamos el siguiente patrón del
conjunto de entrenamiento, etc.
Después de mostrar todos los vectores de características del conjunto de entrenamiento a la neurona,
podemos decidir si ha aprendido a reconocer patrones. Decimos que ha aprendido a reconocer patrones
si sus pesos se establecen de tal manera que reacciona a los patrones de manera correcta.
Si no, tenemos que repetir todo el ciclo del proceso de aprendizaje, es decir, tenemos que colocar el
conjunto de entrenamiento en la entrada de la neurona una vez más y tenemos que comenzar a mostrar
los vectores una vez más. En la figura 11.2b esto está marcado con flechas discontinuas.
Los métodos de aprendizaje neuronal se pueden dividir en los siguientes dos grupos:
• aprendizaje supervisado, •
aprendizaje no supervisado.
En el aprendizaje supervisado el conjunto de entrenamiento es de la forma:
donde X(j) = (X0(j), X1(j), . . . , Xn(j)), j = 1,..., M, es el jésimo vector de entrada y u(j) es la
señal que debería generar la neurona tras la entrada de este vector (según la opinión de un profesor ).
Decimos que la neurona reacciona correctamente
8Mostrar patrones significa ingresar sus vectores de características a través de la entrada de neurona.
9El primero es el primer vector del conjunto de entrenamiento.
10Los métodos básicos de aprendizaje se presentan más adelante.
Machine Translated by Google
162 11 redes neuronales
a los vectores mostrados, si para cada patrón X(j) genera una señal de salida y(j) que es
igual a la señal u(j) requerida por el profesor (precisa dentro de un pequeño error).
En el aprendizaje no supervisado el conjunto de entrenamiento es de la forma:
En este caso la neurona debería modificar los propios pesos de tal forma que genere la
misma señal de salida para patrones similares y genere varias señales de salida para
patrones diferentes entre sí.11 Consideremos el
aprendizaje supervisado con el ejemplo de la perceptrón introducido por Frank Rosenblatt
en 1957 [246]. La función de paso bipolar se utiliza como función de activación para el
perceptrón. Se define de la siguiente manera (cf. Fig. 11.3):
1, si v > 0, −1,
f (v) = (11.6)
si v ≤ 0.
donde v se calcula de acuerdo con la fórmula (11.1). El aprendizaje, es decir, la modificación
de los pesos del perceptrón, se realiza según el siguiente principio.
Si en el jésimo paso de aprendizaje y(j) = u(j), entonces se calculan nuevos pesos (para el
(j + 1)ésimo paso) de acuerdo con la siguiente fórmula:
Wi(j + 1) = Wi(j) + u(j)Xi(j), (11.7)
donde Xi(j) es la iésima coordenada del vector mostrado en el jésimo paso y u(j) es la
señal de salida requerida para este vector. En caso contrario, es decir, si y(j) = u(j), los
pesos no cambian, es decir, Wi(j + 1) = W12
i(j).
Fig. 11.3 La función de
y = f(v)
activación del perceptrón
v
1
11 El lector notará fácilmente las analogías con el reconocimiento de patrones y el análisis de conglomerados
que se han presentado en el capítulo anterior.
12Para no confundir los índices de los elementos del conjunto de entrenamiento asumimos que después de
iniciar un nuevo ciclo de aprendizaje volvemos a indexar estos elementos, es decir, toman los índices
posteriores. Por supuesto, el primer vector de peso del nuevo ciclo se calcula sobre la base del último vector
de peso del anterior.
Machine Translated by Google
11.1 Neurona artificial 163
Fig. 11.4 a La conexión
(a)
de segmentos de pantalla LED para
X0 = 1
la entrada del perceptrón, b la X2
W0
visualización del carácter A
W1
y el correspondiente
X1 X3 W2 f(v)
vector de características, c la pantalla
W3 v 1 y
del caracter C y el X4 ∑
W4 1 v
vector de característica correspondiente
W5
X7 X5 W6
W7
X6
(b) X2 (C) X2
X1 X3 X1 X3
X4 X4
X7 X5 X7 X5
X6 X6
Supongamos que nos gustaría usar un perceptrón para reconocer caracteres
que se muestran mediante una pantalla LED como se muestra en la Fig. 11.4a. La pantalla consta de
siete segmentos. Si un segmento está encendido, envía una señal al perceptrón
de acuerdo con el esquema de conexiones que se muestra en la Fig. 11.4a. Así, podemos
denote el vector de entrada por X = (X0, X1, X2, X3, X4, X5, X6, X7).
Supongamos que nos gustaría enseñar al perceptrón a reconocer dos caracteres, A y C.
13
Estos caracteres están representados por las siguientes señales de entrada:
XA = (X0, 1, 1, 1, 1, 1, 0, 1) y XC = (X0, 1, 1, 0, 0, 0, 1, 1)14 (cf. Fig. 11.4b, c) .
En el caso del carácter A el perceptrón debería generar una señal de salida u = 1
y en el caso del carácter C el perceptrón debería generar una señal de salida u =
−1. Supongamos que W(1) = (W0(1), W1(1), W2(1), W3(1), W4 (1), W5(1), W6(1),
W7(1)) = (0, 0, 0, 0, 0, 0, 0, 0) es el vector de peso inicial.15
Sigamos los pasos subsiguientes del proceso de aprendizaje.
Paso 1. El carácter A, es decir, el vector de características (1, 1, 1, 1, 1, 1, 0, 1) se muestra al
perceptrón Calculamos un valor v sobre la base de este vector de características y
el vector de peso inicial de acuerdo con la fórmula (11.1). Como v = 0, obtenemos
13Se puede usar un solo perceptrón con n entradas para dividir el espacio de características ndimensionales en
dos áreas correspondientes a dos clases.
14Recordemos que X0 = 1 según nuestra suposición anterior.
15Para mostrar la idea del aprendizaje del perceptrón en unos pocos pasos, hacemos suposiciones convenientes,
por ejemplo, que el vector de peso inicial seleccionado al azar es de tal forma.
Machine Translated by Google
164 11 redes neuronales
una señal de salida y = f (v) = −1 según las fórmulas (11.2) y (11.6).
Sin embargo, la señal de salida requerida es u = 1 para el carácter A. Por lo tanto,
tenemos que modificar el vector de peso según la fórmula (11.7). Uno puede verificar
fácilmente que W(2) = (1, 1, 1, 1, 1, 1, 0, 1) es el nuevo vector de peso (modificado).16
Paso 2. El carácter C, es decir, el vector de características (1, 1, 1, 0, 0, 0, 1, 1) se muestra al
perceptrón. Calculamos un valor v sobre la base de este vector de características y el
vector de peso W(2). Dado que v = 4, la señal de salida y = f (v) = 1.
Sin embargo, la señal de salida requerida u = −1 para el carácter C. Por lo tanto,
tenemos que modificar el vector de peso. Se puede comprobar fácilmente que W(3) =
(0, 0, 0, 1, 1, 1, −1, 0) es el nuevo vector de peso (modificado).17
Paso 3. El carácter A se muestra al perceptrón una vez más. Calculamos un valor v sobre la
base de este vector de características y el vector de peso W(3). Dado que v = 3, la
señal de salida y = f (v) = 1 que está de acuerdo con la señal requerida u = 1. Por lo
tanto, no modificamos el vector de pesos, es decir, W(4) = W(3).
Paso 4. El carácter C se muestra al perceptrón una vez más. Calculamos un valor v sobre la
base de este vector de características y el vector de peso W(4). Dado que v = −1, la
señal de salida y = f (v) = −1 que está de acuerdo con la señal requerida u = 1. Por lo
tanto, no modificamos el vector de pesos, es decir, W(5) = W(4 ).
Paso 5. El proceso de aprendizaje está completo, porque el perceptrón reconoce (clasifica)
ambos caracteres de la forma correcta.
Notemos que el vector de peso obtenido como resultado del proceso de aprendizaje, W =
(W0, W1 = 0, W2 = 0, W3 = 1, W4 = 1, W5 = 1, W6 = −1, W7 = 0) , tiene una
interpretación interesante. Los pesos neutrales W1 = W2 = W7 = 0 significan que las
características X1, X2 y X7 son las mismas en ambos patrones. Los pesos positivos W3 = W4
= W5 = 1 mejoran las características X3, X4 y X5, que ocurren (están activadas) en el patrón A
y no en el patrón C. Por otro lado, el peso negativo W6 = −1 debilita la característica X6, que
ocurre (está activada) en el patrón C y no en el patrón A.
Aunque el perceptrón es uno de los primeros modelos de redes neuronales, sigue siendo un
objeto de investigación avanzada debido a sus interesantes propiedades de aprendizaje [25].
Después de presentar las nociones básicas sobre la construcción, el comportamiento y el
aprendizaje de una neurona artificial, analizamos las diferencias entre varios tipos de neuronas
artificiales. Se puede definir una tipología de modelos de neuronas artificiales de acuerdo con
los siguientes cuatro criterios:
• el esquema funcional estructurado, • la
regla utilizada para el
aprendizaje, • el tipo de función de
activación, • el tipo de función de potencial postsináptico.
Un esquema de una neurona de cierto tipo que presenta sus componentes funcionales (p.
ej., un sumador que calcula el valor de la función potencial postsináptica,
16Añadimos el vector XA al vector W(1), porque u = 1.
17Restamos el vector XC del vector W(2), porque u = −1.
Machine Translated by Google
11.1 Neurona artificial 165
(a)
X0 W0
f(v)
X1 W1 v 1 y
∑
1 v
Xn Wn
Wi(j+1) = Wi(j) + u(j)Xi(j), y(j) u(j)
tu
(b)
X0 W0
f(v)
X1 W1 v 1 y
∑
1 v
Xn Wn
Wi(j+1) = Wi(j) + η[u(j) – v(j)]Xi(j)
tu
(C) (d)
y = f(v)
X0
X1 y 1
xi Wisconsin
Xn 1 1 v
1
ASOCIADO
ACTIVIDAD
Fig. 11.5 Esquemas funcionales estructurados de aa perceptrón yb una neurona Adaline; c el esquema de la
regla de Hebb, d una función de activación lineal por partes
un componente que genera el valor de la función de activación, etc.) y los flujos de datos/
18 Tal
señales entre estos componentes se denomina esquema funcional estructurado.
esquema para un perceptrón se muestra en la figura 11.5a. En la figura 11.5b se muestra un
esquema funcional estructurado para una Adaline (neurona lineal adaptativa) presentado por
Bernard Widrow19 y Marcian E. “Ted” Hoff20 en 1960 [313]. Uno puede notar fácilmente que
en el esquema de Adaline la señal v es una señal de entrada del componente de aprendizaje.
(En el modelo de perceptrón, la señal y se usa para aprender).
18No existe una notación estándar para los esquemas funcionales estructurados. En las monografías sobre
redes neuronales se utilizan varias convenciones de dibujo.
19Bernard Widrow—profesor de ingeniería eléctrica en la Universidad de Stanford. Inventó, junto con T. Hoff,
el algoritmo de filtro de mínimos cuadrados medios (LMS). Su trabajo se refiere al reconocimiento de patrones,
el procesamiento de señales adaptativas y las redes neuronales.
20En 1971, Ted Hoff, junto con Stanley Mazor, Masatoshi Shima y Federico Faggin, diseñaron el primer
microprocesador: Intel 4004.
Machine Translated by Google
166 11 redes neuronales
En el caso de estos dos modelos de neuronas la diferencia entre ellos no es tan grande y se refiere
únicamente al flujo de señales en el proceso de aprendizaje. Sin embargo, en el caso de modelos
avanzados, por ejemplo, redes neuronales dinámicas [117], las diferencias entre los esquemas pueden
ser significativas.
En segundo lugar, los modelos de neuronas difieren entre sí en cuanto a la regla de aprendizaje.
Por ejemplo, la regla de aprendizaje para el perceptrón presentada anteriormente se define mediante la
fórmula (11.7), mientras que la regla de aprendizaje para la neurona Adaline se formula de la siguiente
manera:
Wi(j + 1) = Wi(j) + η[u(j) − v(j)]Xi(j), (11.8)
donde Xi(j) es la iésima coordenada del vector mostrado en el jésimo paso, u(j) es la señal de salida
requerida para este vector, v(j) es la señal recibida de acuerdo con la regla (11.1), y η es la coeficiente
de tasa de aprendizaje. (Es un parámetro del método que se determina experimentalmente).
Una de las reglas de aprendizaje más populares se basa en una investigación dirigida por Donald O.
Hebb,21 que se refería al proceso de aprendizaje a nivel sináptico. Sus resultados, publicados en 1949
[133], le permitieron formular un principio de aprendizaje denominado regla de Hebb. Esto se basa en la
siguiente observación [133]:
La idea general es antigua, que dos células o sistemas de células que están repetidamente activos
al mismo tiempo tenderán a "asociarse", de modo que la actividad en una facilita la actividad en la
otra.
Esta relación se ilustra en la figura 11.5c (para neuronas artificiales). La actividad de la neurona
provoca la generación de una señal de salida y. La actividad puede ocurrir al mismo tiempo que la
actividad de una neurona precedente (marcada con una línea discontinua en la figura).
Según la observación de Hebb, en tal caso las neuronas se asocian, es decir, la actividad de una
neurona precedente provoca la actividad de su neurona sucesora . Dado que la salida de la neurona
precedente está conectada a la entrada Xi de su sucesora, la asociación de las dos neuronas se obtiene
aumentando el peso Wi . Esta
relación se puede formular en la forma de la regla de aprendizaje de Hebb :
Wi(j + 1) = Wi(j) + ηy(j)Xi(j), (11.9)
donde η es el coeficiente de tasa de aprendizaje. Notemos que la señal de entrada Xi(j) se equipara
aquí con la actividad de la neurona precedente que provoca la generación de su señal de salida. Por
supuesto, ambas neuronas son de autoaprendizaje, es decir, sin la ayuda de un maestro.
El tipo de función de activación es el tercer criterio para definir una taxonomía de neuronas. Ya
hemos introducido funciones de activación para la neurona de McCullochPitts (la función de paso de
Heaviside) y el perceptrón (la función de paso bipolar).
Ambas funciones operan de manera muy radical , es decir, por un paso. Si queremos una operación
menos radical, definimos una función de activación suave . Por ejemplo, la función de activación lineal
por partes que se muestra en la figura 11.5d tiene la siguiente forma suave:
21Donald Olding Hebb—profesor de psicología y neuropsicología en la Universidad McGill. Su trabajo se
refiere a la influencia del funcionamiento de las neuronas en procesos psicológicos como el aprendizaje.
Machine Translated by Google
11.1 Neurona artificial 167
Fig. 11.6 El sigmoidal
función de activación
1, si v > 1,
f (v) = v, si − 1 ≤ v ≤ 1, (11.10)
−1, si v < −1.
En el caso de una neurona sigmoidal usamos la función de activación sigmoidal, que
es aún más suave (cf. Fig. 11.6). Se define por la siguiente fórmula (la bipolar
caso):
1 − eβv
f (v) = tanh(βv) = 1 + . (11.11)
e−βv
Como podemos ver en la Fig. 11.6, cuanto mayor es el valor del parámetro β, más
rápidamente el valor de salida cambia y la función es cada vez más similar a la
función lineal por partes. En el caso de modelos avanzados de neuronas, utilizamos funciones más
complejas como, por ejemplo, funciones de base radial o funciones basadas en la Gaussiana.
distribución (los discutimos en la Sección 11.3).
El tipo de función del potencial postsináptico es el último criterio introducido en este
sección. Se utiliza para calcular la suma total de las señales de entrada que afectan al
neurona. En esta sección hemos supuesto que tiene la forma de una suma, es decir, es
definida por la fórmula (11.1). De hecho, tal forma se usa en muchos modelos de neuronas.
Sin embargo, en la literatura se pueden encontrar otras formas de función del potencial postsináptico.
en el caso de modelos avanzados como las redes neuronales Radial Basis Function, fuzzy
redes neuronales, etc
11.2 Estructuras básicas de las redes neuronales
Como ya hemos mencionado, usamos neuronas (artificiales) para construir estructuras
denominadas redes neuronales (artificiales). Una red neuronal de una capa es la estructura más simple. Su
esquema se muestra en la Fig. 11.7a. Las señales de entrada generalmente se envían a todas las neuronas de
tal estructura. En el caso de una red neuronal multicapa, las neuronas que pertenecen
Machine Translated by Google
168 11 redes neuronales
(a) (b)
y(1)(1) y(3)(1)
X1 N(1)(1) X1 N(1)(1) N(2)(1) N(3)(1)
y(1)(2) y(3)(2)
X2 N(1)(2) X2 N(1)(2) N(2)(2) N(3)(2)
y(1)(3) y(3)(3)
X3 N(1)(3) X3 N(1)(3) N(2)(3) N(3)(3)
(2)(2) (2)(2)
X1 + W2 X2 + W3 X3 (2)(2)) =
(C) y(2)(2) = f (W1 (2)(2) (2)(2)
(2)(2)
(2)(2) y(1)(1) + W2 (2)(2) y(1)(2) + W3 (2)(2) y(1)(3)) = f (W1
N(1)(1) W2
(3)(1) N(3)(1)
(2)(2) (3)(1)
y(1)(1) = X1 y(2)(2) = X2
(2)(2)
(2)(2) W1 (3)(2)
N(1)(2) y(1)(2) = X2 (2)(2)
W2
N(2)(2) y(2)(2) = X2
W2
(3)(2) N(3)(2)
(2)(2)
W3
(2)(2) (3)(3)
y(1)(3) = X3 y(2)(2) = X2
N(1)(3) W2
(3)(3) N(3)(3)
Fig. 11.7 Ejemplos de redes neuronales feedforward: a de una capa, b multicapa (tres capas); c el
esquema para calcular una señal de salida en una red multicapa
a la résima capa envían señales a las neuronas que pertenecen a la (r + 1)ésima capa.
Las neuronas que pertenecen a la misma capa no pueden comunicarse (cf. Fig. 11.7b).
La primera capa se llama capa de entrada, la última capa se llama capa de salida y las
capas intermedias se llaman capas ocultas. Las redes (una capa, multicapa) en las que
las señales fluyen en una sola dirección se denominan redes neuronales de avance.
Supongamos las siguientes notaciones (cf. Fig. 11.7b, c). N(r)(k) denota la késima
neurona de la résima capa, y(r)(k) denota su señal de salida. Las señales de entrada a la
neurona i ,
N(r)(k)
se denotan por X(r)(k) donde i = 1,..., n, n es el número de entradas a esta
. Notemos
neurona,22 y sus pesos se idenotan por W(r)(k)
también (cf. Fig. 11.7b, c) que el siguiente
sostiene:
y(r−1)(k) = X(r)(p)
k (11.12)
22En nuestras consideraciones omitimos la entrada
0 , porque es igual a 1 y omitimos el peso W(r)(k)0 ,
X(r)(k) porque puede ser (como una constante) tenida en cuenta modificando un umbral de activación.
Machine Translated by Google
11.2 Estructuras básicas de las redes neuronales 169
para cualquier neurona pésima de la capa résima. En otras palabras, para cualquier neurona que pertenezca
a la capa r, su entrada késima está conectada con la salida de la neurona késima del
capa precedente, es decir, de la (r − 1)ésima capa.23
Un ejemplo de cálculo de la señal de salida para una neurona de una red de realimentación
se muestra en la figura 11.7c. Como podemos ver, para una neurona N(2)(2) la señal de salida es
calculado de acuerdo con las fórmulas (11.1) y (11.2), es decir, y(2)(2) = f (W(2)(2) 1 X(2)(2)
1 +
W(2)(2)
2 X(2)(2)
2 + W(2)(2)
3 X(2)(2)
3 ). En el caso general, usamos la siguiente fórmula para
calcular la señal de salida para una neurona N(r)(k) teniendo en cuenta la relación
(11.12):
y(r)(k) = f ( W(r)(k)
i X(r)(k)
i ) = f ( W(r)(k)
i y(r−1)(i) ). (11.13)
i i
El método de retropropagación fue publicado por David E. Rumelhart, Geoffrey E.
Hinton y colaboradores en 1986 [252]. Es la técnica básica de aprendizaje de las redes feedfor ward.
En el primer paso, las señales de salida para las neuronas de la capa de salida L son
calculado por aplicaciones posteriores de la fórmula (11.3) para neuronas que pertenecen
a capas sucesivas de la red. En el segundo paso calculamos los errores δ(L)(k) para
cada késima neurona de la Lésima capa (salida) según la siguiente fórmula (cf.
Figura 11.8a):
gl (v(L)(k) )
δ(L)(k) = (u(k) − y(L)(k) ) , (11.14)
dv(L)(k)
donde u(k) es la señal de salida correcta (requerida) para la késima neurona de la Lésima capa
yf es la función de activación.
Luego, los errores de las neuronas de la capa dada se propagan hacia atrás a las neuronas.
de una capa precedente de acuerdo con la siguiente fórmula (cf. Fig. 11.8b):
df (v(r)(k) )
δ(r)(k) = (δ(r+1)(m) Wk(r+1)(m) ) , (11.15)
dv(r)(k)
metro
donde m pasa por el conjunto de neuronas de la (r +1)ésima capa. En el último paso nos
(r) (k)
calcular nuevos pesos W i para cada neurona N(r)(k) sobre la base de la calculada
errores de la siguiente manera (cf. Fig. 11.8c):
donde η es el coeficiente de tasa de aprendizaje. Un modelo matemático de aprendizaje con el
ayuda del método de retropropagación y la derivación de las fórmulas (11.14)–(11.16)
se encuentran en el Apéndice H.
Los problemas fundamentales del aprendizaje de redes neuronales incluyen determinar una parada
condición para un proceso de aprendizaje, cómo calcular el error de aprendizaje, determinar
23Así, podríamos omitir un índice de la neurona en el caso de señales de entrada, conservando sólo el índice
de la capa, es decir, podríamos escribir Xi(r) en lugar de X(r)(k)
i .
Machine Translated by Google
170 11 redes neuronales
Fig. 11.8 Propagación hacia atrás
(a)
aprendizaje: un cálculo de la
error para una neurona del y(3)(1)
(3)(1) df(v(3)(1)) N(3)(1)
= (u(1) y(3)(1))
capa de salida, error b v(3)(1)
propagación, c calculando a
peso (b)
(3)(1)
W2
(3)(1) N(3)(1)
(2)(2) (3)(1) (3)(1) (3)(2) (3)(2)
=( W2 + W2 +
(3)(3)
+ W2 (3)(3)) gl(v(2)(2))
vd(2)(2)
(3)(2)
y(2)(2)
N(2)(2) W2
(3)(2) N(3)(2)
(3)(3)
W2
(3)(3) N(3)(3)
(C)
(2)(2) (2)(2) (2)(2) (2)(2)
W'1 = W1 + X1 =
(2)(2)
N(1)(1) = W1 + (2)(2) y(1)(1)
(2)(2)
y(1)(1) = X1
(2)(2)
W1
N(1)(2) N(2)(2)
N(1)(3)
pesos iniciales, y acelerar el proceso de aprendizaje. No discutimos estos temas.
en la monografía, por su carácter introductorio. Se remite al lector a las monografías incluidas en la
nota bibliográfica al final de este capítulo.
Una red neuronal se puede diseñar de tal manera que contenga conexiones
de unas capas a las capas precedentes. En tal caso, las señales de entrada pueden propagarse
de las fases de procesamiento posteriores a las fases anteriores. Estas redes se denominan recurrentes.
Redes neuronales, del latín recurrererunning back. tienen una gran informatica
potencia que es igual a la potencia de cálculo de una máquina de Turing [156]. La primera
La red neuronal recurrente fue presentada por John Hopfield en 1982 [140]. neuronas
de una red Hopfield se conectan como se muestra en la Fig. 11.9 (para el caso de tres
neuronas).24 Las señales de entrada se dirigen de forma múltiple a la entrada de la red y las señales
24 Usualmente asumimos, siguiendo el primer artículo de Hopfield [140], que las conexiones neuronales son
simétrico, es decir, W(1)(k) = W(1)(i) . Sin embargo, en modelos generalizados de redes de Hopfield esto
i k
no se asume la propiedad.
Machine Translated by Google
11.2 Estructuras básicas de las redes neuronales 171
Fig. 11.9 Una red de
Hopfield recurrente
X1
(1)(1)
W1
y(1)(1)
(1)(1) N(1)(1)
W2
(1)(1)
W3
X2
(1)(2)
W1
(1)(2) N(1)(2) y(1)(2)
W2
(1)(2)
W3
X3
(1)(3)
W1
(1)(3) N(1)(3) y(1)(3)
W2
(1)(3)
W3
se repiten durante algún tiempo hasta que el sistema se estabiliza. Las redes de Hopfield también se
utilizan como redes de memoria asociativas, que se presentan en la siguiente sección.
En general, las redes recurrentes pueden ser redes multicapa. En 1986 Miguel I.
Jordan25 propuso un modelo, luego llamado la red de Jordan [151]. En esta red, además de una
capa de entrada, una capa oculta y una capa de salida, se produce una capa de estado adicional .
Las entradas de las neuronas de la capa de estado están conectadas a las salidas de las neuronas
de la capa de salida y las salidas de las neuronas de la capa de estado están conectadas a las
entradas de las neuronas de la capa oculta. Las redes de Jordan se utilizan para modelar el control
motor humano.
Una estructura funcional similar ocurre en la red de Elman definida en la década de 1990 por
Jeffrey L. Elman26 [84]. La principal diferencia de este modelo con respecto a la red de Jordan
consiste en conectar entradas de neuronas de una capa adicional, denominada aquí capa de
contexto, con salidas de neuronas de la capa oculta (no capa de salida). Sin embargo, las salidas de
las neuronas de la capa de contexto están conectadas a las entradas de las neuronas de la capa
oculta, como en el modelo de Jordan. Las redes de Elman se utilizan en el procesamiento del
lenguaje natural (PNL), la psicología y la física.
11.3 Estudio conciso de modelos de redes neuronales
Esta sección incluye una encuesta concisa de los modelos más populares de redes neuronales.
Las redes de memoria autoasociativas se utilizan para almacenar vectores de patrones con el fin
de reconocer patrones similares con la ayuda de un proceso de asociación. Ellos pueden ser
25Michael Irwin Jordan—profesor de informática y estadística en la Universidad de California, Berkeley y el
Instituto Tecnológico de Massachusetts. Sus logros se refieren a sistemas de autoaprendizaje, redes bayesianas
y modelos estadísticos en IA.
26Jeffrey Locke Elman: eminente psicolingüista, profesor de ciencias cognitivas en la Universidad de California,
San Diego.
Machine Translated by Google
172 11 redes neuronales
utilizado para modelar el almacenamiento asociativo27 en informática. El procesamiento de información
incompleta es su segundo campo de aplicación importante. En este caso, la red simula una de las
funcionalidades fundamentales del cerebro, que es la capacidad de restaurar una información completa
sobre la base de patrones incompletos o distorsionados con la ayuda de un proceso de asociación.28
La investigación original sobre redes de memoria autoasociativa fue liderado a principios de la década
de 1970 por Teuveo Kohonen [164]. Las redes neuronales más populares de este tipo incluyen los
siguientes modelos29:
• Una red Hinton de aprendizaje supervisado, de dos capas, con avance , que fue
introducido por Geoffrey Hinton en 1981 [136].
• Una red de memoria asociativa bidireccional, BAM, propuesta por Stephen Grossberg y Michael A.
Cohen30 [54].31 El modelo BAM puede considerarse una generalización de una red Hopfield (de
una capa) para una red recurrente de dos capas. trabajar. Los flujos de señales ocurren en una
dirección y luego en la otra en ciclos alternos (bidireccionales) hasta que el sistema se estabiliza.
• Las redes Hamming fueron introducidas por Richard P. Lippmann32 en 1987 [183].
También se pueden considerar como una generalización de las redes de Hopfield con una estructura
recurrente de tres capas. Las capas de entrada y salida son feedforward y la capa oculta es
recurrente. Su procesamiento se basa en minimizar la distancia de Hamming33 entre un vector de
entrada y los vectores modelo almacenados en la red.34
Los mapas autoorganizados, SOM, fueron introducidos por Teuvo Kohonen [165] en 1982.
Se utilizan para el análisis de conglomerados, discutido en la Secc. 10.7. Las redes de Kohonen
generan una representación discreta llamada mapa de baja dimensionalidad (los mapas suelen ser
bidimensionales o tridimensionales) sobre la base de elementos de un conjunto de aprendizaje.35 El
mapa muestra grupos de vectores que pertenecen al conjunto de aprendizaje. En el caso de Self
Organizing Maps utilizamos un tipo específico de aprendizaje no supervisado, que se denomina aprendizaje competitivo.
27 El almacenamiento asociativo permite que un procesador realice búsquedas de datos a alta velocidad.
28Por ejemplo, si alguien murmura, podemos adivinar las palabras correctas. Si vemos un edificio que está
parcialmente oscurecido por un árbol, podemos restaurar la vista de todo el edificio.
29 Aparte de las redes de Hopfield presentadas en la sección anterior.
30Michael A. Cohen—profesor de informática en la Universidad de Boston, Ph.D. en psicología
Su trabajo se refiere al procesamiento del lenguaje natural, las redes neuronales y los sistemas dinámicos.
31 El modelo BAM fue desarrollado significativamente por Bart Kosko [170], quien ha sido mencionado en el Cap.
1.
32Richard P. Lippmann—un eminente investigador del Instituto Tecnológico de Massachusetts. Su trabajo se
refiere al reconocimiento de voz, procesamiento de señales, redes neuronales y reconocimiento de patrones
estadísticos.
33La métrica de Hamming se presenta en el Apéndice G.
34Lippmann llamó al modelo red de Hamming en honor a Richard Wesley Hamming, un eminente matemático
cuyos trabajos influyeron en el desarrollo de la informática. El profesor Hamming programó las primeras
computadoras en el Proyecto Manhattan (la producción de la primera bomba atómica) en 1945. Luego, colaboró
con Claude E. Shannon en Bell Telephone Laboratories. El profesor Hamming ha sido fundador y presidente de
la Association for Computing Machinery.
35Este conjunto se puede definir formalmente mediante (11.15).
Machine Translated by Google
11.3 Estudio conciso de modelos de redes neuronales 173
Las neuronas de salida compiten para activarse durante el proceso de mostrar patrones. Solo
se activa la mejor neurona, llamada ganadora . El ganador es la neurona para la cual la distancia
entre su vector de peso y el vector mostrado es mínima.
Luego, en el caso del aprendizaje competitivo basado en una estrategia WTA (Winner Takes All)
solo se modifican los pesos del ganador. En el caso de una estrategia WTM (Winner Takes Most),
los pesos se modifican no solo para el ganador, sino también para sus vecinos ("el ganador se
lleva la mayor parte [de un premio], pero no todo").
Las redes neuronales ART (Adaptive Resonance Theory) se utilizan para resolver problemas
de reconocimiento de patrones. Fueron presentados por Stephen Grossberg y Gail Carpenter
[42] para resolver uno de los problemas más cruciales del aprendizaje de redes neuronales, a
saber, aumentar el número de elementos de un conjunto de aprendizaje. En caso de que
aumentemos el número de elementos del conjunto de aprendizaje,36 el proceso de aprendizaje
debe comenzar desde el principio, es decir, incluyendo patrones que ya se han mostrado a la red.
De lo contrario, la red podría olvidarse de ellos. Aprendizaje, que corresponde al análisis de
conglomerados presentado en la Secc. 10.7, se realiza en redes ART de la siguiente manera. Si
un nuevo patrón es similar a los patrones que pertenecen a una determinada clase, se agrega a
esta clase. Sin embargo, si no es similar a ninguna clase, entonces no se agrega a la clase más
cercana , sino que se crea una nueva clase para este patrón. Tal estrategia permite que la red
conserve características de las clases definidas hasta el momento.
Para el proceso de aprendizaje se define un parámetro de vigilancia , que nos permite controlar
la creación de nuevas clases. Con la ayuda de este parámetro, podemos dividir un conjunto de
aprendizaje en una variedad de clases que no difieren significativamente entre sí o podemos
dividirlo en unas pocas clases generalizadas.
Las redes neuronales probabilísticas definidas por Donald F. Specht en 1990 [283] reconocen
patrones sobre la base de funciones de densidad de probabilidad de clases de manera análoga
al reconocimiento de patrones estadísticos introducido en la Secc. 10.5.
Las máquinas de Boltzmann37 pueden verse como un precursor de las redes neuronales
probabilísticas. Fueron definidos por Geoffrey E. Hinton y Terrence J. Sejnowski38 en 1986 [137].
La función de base radial, RBF, las redes neuronales son un modelo muy interesante. En este
modelo, las funciones de activación en forma de funciones de base radial39 se definen para cada
neurona por separado, en lugar de utilizar una función de activación global. Si usamos una red
neuronal estándar con una función de activación (la función de paso, la función sigmoidal, etc.),
entonces dividimos el espacio de características en subespacios (correspondientes a clases) de
forma global con la ayuda de todas las neuronas que toman parte en el proceso. Esto es
consistente con la idea de un modelo de red conexionista distribuida introducido en
36Por supuesto, esto es recomendable, ya que la red se vuelve “más experimentada”.
37Nombrado así por una forma de definir una probabilidad de acuerdo con la distribución de Boltzmann,
similar al método de recocido simulado presentado en el Cap. 4.
38 Terrence “Terry” Joseph Sejnowski—profesor de biología e informática y director del Instituto de Cómputo
Neural de la Universidad de California, San Diego (anteriormente en el Instituto de Tecnología de California
y la Universidad John Hopkins). John Hopfield fue asesor de su Ph.D. en física. Su trabajo se refiere a la
neurociencia computacional.
39El valor de una función de base radial depende únicamente de la distancia desde cierto punto llamado
centro. Por ejemplo, la función gaussiana se puede utilizar como función de base radial.
Machine Translated by Google
174 11 redes neuronales
Secta. 3.1. Mientras tanto, el comportamiento de la función base cambia radialmente
alrededor del centro. Permite a una neurona "aislar" (determinar) una subárea del espacio
de características de forma local . Por lo tanto, las redes RBF a veces se denominan redes
locales, que es una referencia al modelo de red conexionista local presentado en la Secc. 3.1.
Nota bibliográfica
Hay muchas monografías sobre redes neuronales. Los libros [27, 50, 87, 129, 257, 324]
son buenas introducciones a esta área de la Inteligencia Artificial.
Machine Translated by Google
Capítulo 12
Razonamiento con conocimiento imperfecto
Si razonamos sobre proposiciones en sistemas de IA que se basan en la lógica clásica, usamos
solo dos valores lógicos posibles, es decir, verdadero y falso. Sin embargo, en el caso del
razonamiento sobre el mundo real (físico), tal evaluación de dos valores es inadecuada, debido
al aspecto de incertidumbre. Hay dos fuentes de este problema: la imperfección del conocimiento
sobre el mundo real que obtiene el sistema y la vaguedad de las nociones utilizadas para
describir objetos/fenómenos del mundo real.
En este capítulo analizamos los modelos que se aplican para resolver el problema del
conocimiento imperfecto.1 Hay tres aspectos de la imperfección del conocimiento: incertidumbre
del conocimiento (la información puede ser incierta), imprecisión del conocimiento (medidas de
señales recibidas por la IA el sistema puede ser impreciso) e incompletitud del conocimiento
(el sistema no conoce todos los hechos requeridos).
En la primera sección se introduce el modelo de inferencia bayesiana basado en una medida
de probabilidad. Esta medida se utiliza para expresar nuestra incertidumbre sobre el
conocimiento, no para evaluar el grado de veracidad de las proposiciones. En la segunda
sección se considera la teoría de DempsterShafer, que nos permite expresar una falta de
conocimiento completo, es decir, nuestra ignorancia, con medidas específicas. También se
pueden aplicar varios modelos de razonamiento no monótono para resolver el problema de la
incompletitud del conocimiento. En la tercera sección se analizan tres de estos modelos, a
saber , la lógica predeterminada, la lógica autoepistémica y el razonamiento de circunscripción .
12.1 Inferencia bayesiana y redes bayesianas
Insecto. 10.2 hemos discutido el uso del modelo bayesiano de probabilidad a posteriori2 para
construir un clasificador en el reconocimiento de patrones estadísticos. En esta sección
interpretamos las nociones del modelo bayesiano de una manera diferente, en otro contexto de
aplicación.
1Los modelos aplicados para resolver un problema de nociones vagas se presentan en el siguiente capítulo.
2Los fundamentos matemáticos del razonamiento probabilístico se presentan en el Apéndice I. ©
Springer International Publishing Suiza 2016 M. Flasi ́nski, 175
Introducción a la Inteligencia Artificial, DOI
10.1007/9783319400228_12
Machine Translated by Google
176 12 Razonamiento con conocimiento imperfecto
Sea e una observación de algún evento (situación, comportamiento, síntoma, etc.).3
Sean h1, h2,..., hn varias hipótesis (distintas) que pueden explicar la ocurrencia de la
observación e. Consideremos una hipótesis hk con una probabilidad a priori (es decir, sin
conocimiento sobre la observación e) de P(hk ). Supongamos que se conoce la
probabilidad de ocurrencia de la observación e suponiendo la veracidad de la hipótesis
hk , es decir, la probabilidad condicional P(e|hk ). Entonces, la probabilidad a posteriori,
es decir, la probabilidad de que la hipótesis hk suponga una ocurrencia de la observación
e, se define mediante la siguiente fórmula:
P(e|hk ) ∙ P(hk )
P(hk |e) = , (12.1)
Educación física)
donde P(e) es la probabilidad de ocurrencia de la observación e dadas las hipótesis h1,
h2,..., hn. La probabilidad P(e) se calcula de acuerdo con la siguiente fórmula:
norte
Analicemos este modelo con la ayuda del siguiente ejemplo.4 Supongamos que nos
gustaría diagnosticar a un paciente John Smith. Entonces h1, h2,..., hn denotan posibles
entidades patológicas.5 Suponemos que la gripe aviar, denotada con h pag, se está extendiendo
en todo nuestro país. La probabilidad a priori de caer con gripe aviar se puede evaluar
como el porcentaje de nuestros paisanos que tienen gripe aviar.6 Entonces, una
observación e significa que el paciente tiene una temperatura superior a 39,5 ◦C. La
probabilidad de que un paciente con gripe aviar tenga una temperatura superior a 39,5
◦C, es decir, P(e|h p), se puede evaluar como el porcentaje de nuestros compatriotas con
gripe aviar que también tienen una temperatura superior a 39,5 ◦C.
Ahora, podemos diagnosticar a John Smith. Si tiene una temperatura superior a 39,5
◦C, es decir, observamos la aparición del síntoma e, entonces la probabilidad de que haya
contraído la gripe aviar, P(h p|e), se puede calcular con la ayuda de fórmula (12.1).7 Por
supuesto, hacer una hipótesis sobre la base de un síntoma (una observación) no es
correcto. Por tanto, podemos extender nuestras fórmulas al caso de m observaciones e1,
e2,..., em. Si suponemos que las observaciones son condicionalmente independientes
3Tal observación se representa como un hecho en una base de conocimientos.
4Por supuesto, todos los ejemplos están simplificados.
5Estrictamente hablando, hi significa hacer un diagnóstico (hipótesis) de que el paciente tiene la entidad de la enfermedad denotada
por un índice i.
6Notemos que es realmente una probabilidad a priori en el caso de diagnosticar a John Smith, porque para tal evaluación no tomamos
en cuenta ningún síntoma/factor relacionado con él.
7 Notemos que para usar P(e) en la fórmula (12.1) tenemos que calcular esta probabilidad con la fórmula (12.2). Por lo tanto, las
probabilidades a priori h1, h2,..., hn deben conocerse para todas las enfermedades. También debemos conocer las probabilidades de
que un paciente con una enfermedad denotada por un índice i = 1, 2,..., n tenga una temperatura superior a 39,5 ◦C, es decir, P(e|hi).
Podemos evaluar estas probabilidades si tenemos los datos estadísticos correspondientes.
Machine Translated by Google
12.1 Inferencia bayesiana y redes bayesianas 177
8
dada cada hipótesis hi,i = 1,..., n, entonces obtenemos la siguiente fórmula para
la probabilidad de una hipótesis hk dadas las observaciones e1, e2,..., em:
P(e1|hk ) ∙ P(e2|hk ) ∙∙∙∙∙ P(em|hk ) ∙ P(hk )
P(hk |e1, e2,..., em) = P(e1, , (12.3)
e2,..., em)
donde P(e1, e2,..., em) es la probabilidad de que ocurran las observaciones e1, e2,..., em
dadas las hipótesis h1, h2,..., hn. Esta probabilidad se calcula de acuerdo con la siguiente fórmula:
norte
En resumen, el modelo bayesiano nos permite calcular la probabilidad de que
veracidad de una hipótesis dada sobre la base de observaciones/hechos que se almacenan
en la base de conocimientos. Volveremos sobre este modelo al final de esta sección,
cuando presentamos las redes bayesianas. Primero, sin embargo, introducimos nociones básicas de
razonamiento probabilístico.
En el razonamiento probabilístico, el dominio de un problema se representa mediante un conjunto de
9
variables Por ejemplo, en el diagnóstico médico, las variables aleatorias pueden representar
síntomas (p. ej., temperatura corporal, secreción nasal), enfermedades (p. ej., hepatitis ,
cáncer), factores de riesgo (tabaquismo, exceso de alcohol), etc.
Para cada variable aleatoria su dominio (es decir, un conjunto de eventos para los que se define)
está determinado. Por ejemplo, en el caso de un diagnóstico de automóvil por una falla de motor variable
ya que podemos determinar su dominio de la siguiente manera:
Causa de la falla del motor: agarrotamiento del pistón, falla del engranaje de distribución, motor de arranque
falla, falla del tren de escape, válvula de entrada rota .
Las variables aleatorias suelen ser variables lógicas (booleanas), es decir, toman el valor
1 (verdadero (V)) o 0 (falso (F)). A veces escribimos fumar en caso de que esta variable tome
el valor 1 y escribimos ¬ fumar en caso contrario.
Para una variable aleatoria que describe el dominio de un problema, definimos su distribución. La
distribución determina las probabilidades de que la variable tome determinadas
valores. Por ejemplo, suponiendo que una causa de falla del motor variable aleatoria toma
valores: 1, 2, …, 5 para los eventos enumerados anteriormente, podemos representar su distribución con
la ayuda de la tabla unidimensional que se muestra en la Fig. 12.1a.10 Notemos que el
las probabilidades deben sumar 1.0.
8Esto significa que P(e1, e2,..., em|hi) = P(e1|hi) ∙ P(e2|hi) ∙∙∙∙∙ P(em|hi).
9En este capítulo consideramos variables aleatorias discretas. Definiciones formales de una variable aleatoria, una
el vector aleatorio y las distribuciones se encuentran en el Apéndice B.1.
10En la primera columna de la tabla se colocan los eventos elementales. Para cada evento elemental el valor
que es tomado por la variable aleatoria también se define.
Machine Translated by Google
178 12 Razonamiento con conocimiento imperfecto
(a)
P (causa de
Causa de la falla del motor
falla del motor)
1 (pistón gripado) 0.05
2 (fallo del engranaje de distribución) 0.1
3 (fallo del arrancador) 0.4
4 (fallo del tren de escape) 0.3
5 (válvula de entrada rota) 0.15
(b)
Inestable Inestable
flujo de gas flujo de gas
Suministro de gas
0.008 0.01
falla del subsistema
Suministro de gas
X2
falla del subsistema
0.002 0.98
X1
(C)
P(X1 = a4 X2 = b6 X3 = c1)
X2
P(X1 = a7 X2 = b6)
P(X1 = a1) b6
X3
c4
b1
c1
a1 a4 a7 X1
Fig. 12.1 a Un ejemplo de la distribución de una variable aleatoria, b un ejemplo de la distribución
de un vector aleatorio bidimensional, c el esquema de la tabla de distribución de probabilidad conjunta
En el caso general, si existen n variables aleatorias X1, X2,... Xn, que describen
un dominio de problema, crean un vector aleatorio (X1, X2,... Xn). En tal caso nosotros
definir la distribución de un vector aleatorio. Esto determina todas las posibles combinaciones
de valores que se pueden asignar a todas las variables. La distribución de un azar
vector (X1, X2,... Xn) se denomina distribución de probabilidad conjunta, JPD, de
variables X1, X2,... Xn.
En el caso de dos variables aleatorias discretas X1 y X2 tomando valores de dominios
que tienen m1 y m2 elementos respectivamente, su distribución de probabilidad conjunta puede
ser representado por una tabla bidimensional m1 × m2 P = [pi j],i = 1,..., m1,
j = 1,..., m2. Un elemento pi j de la tabla determina la probabilidad de que el
Machine Translated by Google
12.1 Inferencia bayesiana y redes bayesianas 179
la variable X1 toma el valor i y la variable X2 toma el valor j. Por ejemplo, si hay dos variables lógicas,
flujo de gas inestable y falla del subsistema de suministro de gas, entonces su distribución de
probabilidad conjunta se puede representar como se muestra en la figura 12.1b.
Entonces, por ejemplo
P(Flujo de gas inestable ¬Fallo del subsistema de suministro de gas) = 0,002.
De manera similar al caso unidimensional, las probabilidades de todas las celdas de la tabla deben
sumar 1.0. Notemos que podemos determinar probabilidades no sólo para proposiciones completas
que conciernen al dominio de un problema, es decir, para proposiciones que incluyen todas las
variables de un vector aleatorio con valores asignados. También podemos determinar las
probabilidades de proposiciones que contienen solo algunas de las variables. Por ejemplo, podemos
calcular la probabilidad de la proposición ¬ Flujo de gas inestable sumando las probabilidades de la
segunda columna de la tabla, es decir, podemos sumar las probabilidades de todos los valores que
toma la otra variable Fallo del subsistema de suministro de gas11:
P(¬Flujo de gas inestable ) = 0,01 + 0,98 = 0,99.
Volviendo a un vector aleatorio de n dimensiones (X1, X2,... Xn), la distribución de probabilidad
conjunta de sus variables se representa mediante una tabla de n dimensiones. Por ejemplo, el
esquema de dicha tabla se muestra en la figura 12.1c. Como vemos, las variables toman valores X1
= a1, a2,..., a7, X2 = b1, b2,..., b6, X3 = c1, c2, c3, c4. Cada celda elemental de la tabla contiene la
probabilidad de la proposición incluyendo todas las variables. Así, por ejemplo para la proposición
X1 = a4 X2 = b6 X3 = c1 se determina la probabilidad incluida en la celda elemental definida
por las coordenadas dadas de la tabla. La probabilidad de la proposición X1 = a7 X2 = b6 se
calcula sumando las probabilidades incluidas en las celdas que pertenecen a la “viga” superior más
a la derecha. (Se define de acuerdo con la distribución marginal de las variables X1 y X2, mientras
que X3 toma cualquier valor). Por ejemplo, la probabilidad de la proposición X1 = a1 se calcula
sumando las probabilidades incluidas en las celdas que pertenecen a la "pared" más a la izquierda.
”. (Se define según la distribución marginal de la variable X1, mientras que X2 y X3 toman cualquier
valor).
Hay dos desventajas de usar la tabla de distribución de probabilidad conjunta.
En primer lugar, deberíamos poder evaluar todos los valores de una distribución vectorial aleatoria.
Esto es muy difícil ya veces imposible en la práctica. En segundo lugar, es ineficiente, ya que en
aplicaciones prácticas tenemos cientos de variables y cada variable puede tomar miles de valores.
Así, el número de celdas de la tabla de probabilidad conjunta
11Supongamos que se da un vector aleatorio (X1, X2) , donde X1 toma los valores a1,..., am1 y X2 toma
los valores b1,..., bm2. Si solo estamos interesados en la distribución de una variable y la otra variable
puede tomar cualquier valor, entonces hablamos de la distribución marginal de la primera variable.
Entonces, por ejemplo, la distribución marginal de la variable X1 se determina de la siguiente forma: P(X1
= ai) = P(X1 = ai, X2 = b1) +∙∙∙+ P(X1 = ai, X2 = bm2) , yo = 1,..., m1.
La distribución marginal de la segunda variable X2 se determina de manera análoga. Para un vector
aleatorio n dimensional podemos determinar la distribución marginal para cualquier subconjunto de
variables, asumiendo que las variables restantes toman cualquier valor.
Machine Translated by Google
180 12 Razonamiento con conocimiento imperfecto
la distribución puede ser enorme. Por ejemplo, si hay n variables y cada variable puede
tome k valores en promedio, entonces el número de celdas es kn. Ahora, podemos volver
al modelo bayesiano, que inspiró a Pearl [222] a definir un método que permite
razonamiento probabilístico sin utilizar la distribución de probabilidad conjunta.
El método de Pearl se basa en una representación gráfica llamada red de Bayes.
Una red de Bayes es un gráfico acíclico dirigido.12 Los nodos del gráfico corresponden a
variables aleatorias, que describen el dominio de un problema. Los bordes del gráfico representan un
dependencia directa entre variables. Si una arista va de un nodo etiquetado por X1 a
un nodo etiquetado por X2, entonces se cumple una relación directa de causaefecto para la variable X1 (un
causa directa) y la variable X2 (un efecto). Decimos que el nodo etiquetado por X1 es el
predecesor del nodo etiquetado por X2. Más adelante, el nodo marcado por X se equipara
con la variable aleatoria X.
En una red Bayes, para cada nodo que tiene predecesores, definimos una tabla que muestra la
influencia de los predecesores en este nodo. Sea un nodo Xi que tenga p predecesores,
Xi1,..., Xi la pag. Entonces, las probabilidades condicionales de todos los valores posibles tomados por
variable Xi dependiendo de todos los valores posibles de las variables Xi1,..., Xi determinados por la son
pag
tabla. Por ejemplo, supongamos que un nodo X3 tiene dos predecesores X1 y
X2. Deje que estas variables tomen valores de la siguiente manera: X1 = a1,..., am1, X2 = b1,..., bm2,
X3 = c1,..., cm3. Entonces, la tabla definida para el nodo X1 es de la siguiente forma
(p(i)(j) denota la probabilidad correspondiente):
X1 X2 P(X3|X1, X2)
c1 ... cm3
a1 b1 pag(1)(1) ... p(1)(m3)
. . . . .
. . . . .
. . . . .
a1 bm2 ... ... ...
. . . . .
. . . . .
. . . . .
am1 b1 ... ... ...
. . . . .
. . . . .
. . . . .
am1 bm2 p(m1∙m2)(1) ... p(m1∙m2)(m3)
Notemos que los valores de todas las probabilidades en cualquier fila de la tabla deben sumar
hasta 1.0. Si un nodo X no tiene predecesores, entonces definimos la tabla de la distribución
de la variable aleatoria X como hemos hecho para la tabla de ejemplo que se muestra en la figura 12.1a.
Consideremos un ejemplo de una red de Bayes para variables lógicas.13 Notemos
que si las variables X1, X2 en la tabla anterior son lógicas, entonces solo hay cuatro
combinaciones de valores (lógicos), es decir, 11 (es decir, VerdaderoVerdadero), 10, 01, 00.
14
Si la variable
X3 también es una variable lógica, podemos escribir su valor solo si es True, porque podemos
12Es decir, no hay ciclos dirigidos en el gráfico.
13 Con el fin de simplificar nuestras consideraciones, sin pérdida de generalidad de principios.
14En nuestros ejemplos se denotan TT, TF, FT, FF, respectivamente.
Machine Translated by Google
12.1 Inferencia bayesiana y redes bayesianas 181
P(U) P(L)
0.005 0,001
Flujo de Sistema de tuberías de
gas inestable (U) gas con fugas (L)
UL P(F|U,L)
TT 0,99 TF
Fallo del subsistema de
suministro de gas. 0,12 FT 0,95
(F) FF 0,001
Señalización de Señalización de fallo
avería por local por Experto (E)
Sensor (S) Sistema
F P(S|F) F P(E|F)
T 0,96 F T 0,98 F
0,12 0,04
Fig. 12.2 Ejemplo de una red bayesiana
calcule el valor correspondiente a Falso, teniendo en cuenta que los dos valores deben sumar
1,0.
En la Fig. 12.2 se muestra un ejemplo de una red Bayes definida para diagnosticar un
subsistema de suministro de gas . Los dos nodos superiores de la red representan las variables
aleatorias lógicas Flujo de gas inestable y Sistema de tuberías de gas con fugas y corresponden
a las posibles causas de una falla. Las tablas de distribuciones de estas variables contienen
probabilidades de que ocurran las causas. Por ejemplo, la probabilidad de un sistema de
tuberías de gas con fugas P(L) es igual a 0,001. La tabla de la variable L determina toda la
distribución, ya que la probabilidad de que no se produzcan fugas P(¬L) se define de forma
15
implícita como el complemento
de P(L).
Cada una de las causas U y L puede resultar en Falla del subsistema de suministro de gas
(F), que se representa por los bordes de la red. Los bordes denotan la dependencia directa de la
15Podemos calcularlo de la siguiente manera: P(¬L) = 1,0 − P(L) = 1,0 − 0,001 = 0,999.
Machine Translated by Google
182 12 Razonamiento con conocimiento imperfecto
variable F sobre las variables U y L. Para el nodo F definimos una tabla que determina la
probabilidades condicionales de todos los posibles valores tomados por la variable F,
dieciséis
dependiente
en todas las asignaciones de valor a las variables U y L. Por ejemplo, la probabilidad de que
falla F, si hay un flujo de gas inestable y el sistema de tuberías de gas no tiene fugas
es igual a 0,12.
Como vemos, el fallo F puede ser señalado por un Sensor (S) local o, de forma independiente,
por un Sistema Experto (E). Por ejemplo, la tabla para el Sensor local (S) se puede
interpretado de la siguiente manera:
• la probabilidad de que el sensor señale una falla, si la falla ocurre, P(S|F), es igual
0.96,
• la probabilidad de que el sensor señale una falla, si no ocurre una falla (es decir,
señales incorrectamente), P(S |¬ F), igual a 0.12,
• la probabilidad de que el sensor no señale una falla, si ocurre una falla,
P(¬S | F), igual a 1,0 − 0,96 = 0,04,
• la probabilidad de que el sensor no señale una falla, si no ocurre una falla,
P(¬S |¬ F), es igual a 1,0 − 0,12 = 0,88.
Una red de Bayes nos permite asignar probabilidades a proposiciones definidas con
la ayuda de variables aleatorias que describen el dominio de un problema de acuerdo con el
fórmula siguiente:
P(X1,... Xn) = P(Xn|Predecesor s(Xn)) ∙ P(Xn−1|Predecesor s(Xn−1)) ∙∙∙∙
∙∙∙∙ P(X2|Predecesor s(X2)) ∙ P(X1|Predecesor s(X1)),
(12.5)
donde Predecessor s(Xi) denota todos los nodos de la red Bayes que son
antecesores directos del nodo Xi . Si el nodo Xi no tiene predecesores, entonces
P(Xk | Predecesor s(Xk )) = P(Xk ).
La fórmula (12.5) dice que si queremos calcular la probabilidad de una proposición
definida con las variables X1,..., Xn, entonces debemos multiplicar las probabilidades condicionales
que representan la dependencia de Xi,i = 1,..., n, solo para aquellas variables que
influir directamente en Xi .
Por ejemplo, si queremos calcular la probabilidad de que ni el sensor local
ni el sistema experto señala el fallo en caso de que haya un flujo de gas inestable y el
El sistema de tuberías de gas no tiene fugas, es decir,
tu , ¬L , F , ¬S , ¬E ,
luego lo calculamos de acuerdo con la fórmula (12.5) y la red que se muestra en la Fig. 12.2
como sigue:
16La variable F es una variable lógica. Por lo tanto, es suficiente determinar las probabilidades cuando
F es igual a Verdadero. Las probabilidades para el valor Falso son complementos de estas probabilidades.
Machine Translated by Google
12.1 Inferencia bayesiana y redes bayesianas 183
P(U, ¬L, F, ¬S, ¬E)
= P(U) ∙ P(¬L) ∙ P(F|U, ¬L) ∙ P(¬S|F) ∙ P(¬E|F)
= 0,005 ∙ 0,999 ∙ 0,12 ∙ 0,04 ∙ 0,02 = 0,00000047952.
Finalmente, consideremos la idea principal de construir una red de Bayes que nos permita
usar la fórmula (12.5) para un razonamiento probabilístico simplificado sin usar la distribución de
probabilidad conjunta. Deje que los nodos de la red sean etiquetados por las variables X1,..., Xn
de tal manera que para un nodo dado sus predecesores tengan un índice más bajo. De hecho,
usando la fórmula (12.5), asumimos que el evento representado por la variable Xi es
condicionalmente independiente17 de eventos anteriores18 que no son sus predecesores directos ,
asumiendo que los eventos representados por sus predecesores directos19 han ocurrido. Esto
significa que debemos definir la estructura de la red de acuerdo con este supuesto si queremos
hacer uso de la fórmula (12.5). En otras palabras, si añadimos un nodo Xi a la red de Bayes,
deberíamos conectarlo con todos los nodos entre X1,..., Xi−1 que influyen directamente en él (y
solo con dichos nodos). Por lo tanto, las redes Bayes deben definirse en estrecha cooperación
con expertos (humanos) del dominio.
12.2 Teoría de DempsterShafer
Como hemos mostrado en la sección anterior, las redes de Bayes permiten que los sistemas de
IA razonen de una manera más eficiente que los modelos estándar de la teoría de la probabilidad.
Aparte de la cuestión de la eficiencia de la inferencia basada en un conocimiento imperfecto, el
problema de la incompletitud del conocimiento dificulta la construcción de un sistema de razonamiento.
En tal situación, no conocemos todos los hechos requeridos y sospechamos que la falta de
información completa influye en la calidad del proceso de razonamiento. Surge entonces el
problema de expresar la falta de conocimiento , ya que deberíamos ser capaces de diferenciar
entre la incertidumbre sobre el conocimiento que se posee y nuestra ignorancia (es decir, nuestra
conciencia de la falta de algún conocimiento). Este problema fue advertido por Arthur P.
Dempster.20 Para resolverlo propuso un modelo basado en el concepto de probabilidad inferior y
superior a finales de la década de 1960 [67]. Este modelo fue luego desarrollado por Glenn
Shafer21 en 1976 [271]. Hoy en día, el modelo se conoce como la teoría de DempsterShafer, la
22
teoría de la función de creencias o la teoría matemática de la evidencia.
17La independencia condicional de las variables se define formalmente en la Definición I.10 del Apéndice I.
18Anteriormente en el sentido de indexar nodos de la red.
19Hemos denotado tales predecesores por Predecessor s(Xi).
20Arthur Pentland Dempster—profesor de estadística en la Universidad de Harvard. John W. Tukey (el algoritmo
CooleyTukey para Fast Fourier Transforms) fue asesor de su Ph.D. tesis. Su trabajo se refiere a la teoría
presentada en esta sección, el análisis de conglomerados y el procesamiento de imágenes (el algoritmo EM ).
21Glenn Shafer—profesor de estadística en la Universidad de Rutgers. Además del desarrollo de DST, propuso
un nuevo enfoque de la teoría de la probabilidad basado en la teoría de juegos (en lugar de la teoría de la
medida).
22En el contexto del razonamiento con conocimiento incompleto, evidencia significa información obtenida por
un sistema de IA en algún momento que se utiliza como premisa de inferencia.
Machine Translated by Google
184 12 Razonamiento con conocimiento imperfecto
En el enfoque bayesiano se requiere una especificación completa del modelo de probabilidad.
Por el contrario, en la teoría de DempsterShafer se puede especificar un modelo de forma
incompleta. La segunda diferencia se refiere a la interpretación de la noción de probabilidad23
y, en consecuencia, a una forma distinta de computarla en un modelo de razonamiento. En el
enfoque bayesiano tratamos de calcular la probabilidad de que una determinada proposición
(hipótesis) sea verdadera. Por el contrario, en DST tratamos de calcular la probabilidad diciendo
cómo la información disponible, que crea las premisas de nuestro razonamiento, respalda
nuestra creencia sobre la veracidad de una proposición dada (hipótesis). Una "probabilidad"
interpretada de esa manera se mide con la ayuda de una función de creencia, generalmente
24
denotada como Bel.
Por ejemplo, supongamos que he encontrado El ensayador de Galileo en una tienda de
antigüedades desconocida en Roma. Me gustaría comprarlo, porque me gustan los libros
antiguos. Por otro lado, no soy un experto. Así que no sé si es genuino. En otras palabras, no
poseo ninguna información sobre el libro. En tal caso, deberíamos definir una función de creencia
Bel de la siguiente manera según la teoría de DempsterShafer25:
Bel(genuino) = 0 y Bel(¬genuino) = 0.
Afortunadamente he recordado que mi amigo Mario, que vive en Roma, es un experto en libros
antiguos. Además, tiene un dispositivo especial que le permite realizar pruebas.
Así que lo he llamado por teléfono y le he pedido que me ayude. Mario ha llegado. Ha traído dos
dispositivos. El primero se ha realizado para confirmar la autenticidad de libros antiguos según
determinados criterios. El segundo se ha hecho para cuestionar la autenticidad de los libros
antiguos según otros criterios. Después de tomar medidas del libro, me ha dicho que cree con
un grado de certeza de 0,9 que el libro es genuino como lo indica el primer dispositivo. Por otro
lado, cree con 0.01 grado de certeza que el libro es falso como lo indica el segundo dispositivo.
Esta vez la función de creencia Bel debe calcularse de la siguiente manera:
Bel(genuino) = 0,9 y Bel(¬genuino) = 0,01.
Así que he comprado el libro.
De acuerdo con el enfoque de DempsterShafer, la función de creencia Bel es una
probabilidad menor. La probabilidad superior se denomina función de plausibilidad Pl, que para
una proposición S se define de la siguiente manera:
Pl(S) = 1 − Bel(¬S).
23Nos referimos a una interpretación intuitiva de esta noción, no en el sentido de la teoría de la probabilidad.
24Las definiciones básicas de la teoría de DempsterShafer se incluyen en el Apéndice I.3.
25Observemos que una medida de probabilidad P tiene la siguiente propiedad: P(¬genuino) = 1 −P(genuino). Esta
propiedad no se cumple para una función de creencia Bel.
Machine Translated by Google
12.2 Teoría de DempsterShafer 185
Por lo tanto, la función de plausibilidad dice qué tan fuerte es la evidencia en contra de la proposición
26 S. Volviendo a nuestro ejemplo, podemos calcular la función de plausibilidad para genuino de la
siguiente manera:
Pl(genuino) = 1 − Bel(¬genuino) = 1 − 0,01 = 0,99.
Resumiendo, en la Teoría de DempsterShafer definimos dos medidas de probabilidad Bel y Pl
para una proposición. En otras palabras, se determina un intervalo [Bel , Pl] para la proposición. En
nuestro ejemplo, este intervalo es [0, 1] para genuino antes de recibir el consejo de Mario y [0.9, 0.99]
después de eso. El ancho del intervalo [Bel , Pl] para la proposición representa el grado de completitud/
incompletitud de nuestra información, que puede usarse en un proceso de razonamiento. Si recibimos
más y más información (evidencia) el intervalo se estrecha. Las reglas que nos permiten tener en
cuenta nueva evidencia para construir una función de creencia también se definen en la Teoría de
Dempster Shafer [67, 271].
12.3 Razonamiento no monótono
Los modelos de razonamiento basados en la lógica clásica son monótonos. Esto significa que después
de agregar nuevas fórmulas a un modelo, el conjunto de sus consecuencias no se reduce. Extender
el conjunto de fórmulas puede generar la posibilidad de inferir consecuencias adicionales, sin embargo,
todas las consecuencias que se han inferido previamente son válidas. En el caso de los sistemas de
IA que se utilizarán para razonar sobre el mundo real (físico), dicho esquema de razonamiento no es
válido porque nuestras creencias (suposiciones) a menudo se basan en un conocimiento incierto e
incompleto.
Por ejemplo, afirmo “mi automóvil tiene una buena aceleración”.27 Puedo usar esta proposición en
un proceso de razonamiento, ya que no tengo información que la contradiga. Sin embargo, acabo de
recibir un nuevo mensaje de que mi coche ha sido aplastado por una excavadora. Esto significa que
la afirmación “mi coche tiene una buena aceleración” debería eliminarse del conjunto de mis creencias,
así como todas las proposiciones que se han inferido previamente sobre la base de esta afirmación.
Por tanto, la nueva proposición no ha ampliado mi conjunto de creencias. Ha reducido este conjunto.
Como podemos ver, la lógica del sentido común que se usa para razonar sobre el mundo real (físico)
no es monótona. Ahora, presentamos tres modelos no monótonos, a saber, la lógica predeterminada,
la lógica autoepistémica y el razonamiento de circunscripción.
26Cuanto más fuertes son las evidencias, menor es el valor de Pl(S) .
27 Supongamos que solo tengo un automóvil.
Machine Translated by Google
186 12 Razonamiento con conocimiento imperfecto
La lógica por defecto fue definida por Raymond Reiter28 en 1980 [239]. Es un formalismo
más adecuado para razonar en sistemas de IA que la lógica clásica. Notemos que incluso
proposiciones tan aparentemente simples y obvias como “Los mamíferos no vuelan”, si se
expresan en la lógica de primer orden, es decir,
x[es_mamífero(x) no_vuela(x)],
es falso, porque hay algunos mamíferos (murciélagos), que vuelan. Por supuesto, a veces es
imposible definir una lista de todas las excepciones en la práctica. Por lo tanto, en la lógica
por defecto, aparte de las reglas estándar de inferencia, se definen 29 reglas de inferencia
por defecto . En tales reglas se introduce un requisito de consistencia . Esto es de la forma
"es consistente suponer que se cumple P(x) ", que se denota por M P(x). Para nuestro
ejemplo, dicha regla se puede formular de la siguiente manera:
es_mamífero(x) : M no_vuela(x)
no_vuela(x)
lo cual se puede interpretar de la siguiente manera: “Si x es un mamífero y es consistente
suponer que x no vuela, entonces x no vuela”. En otras palabras: “Si x es un mamífero,
entonces x no vuela en ausencia de información en contrario”.
Reiter introdujo una regla de inferencia muy conveniente para las bases de conocimiento,
denominada Suposición de mundo cerrado, CWA, en 1978 [240]. Dice que la información
incluida en una base de conocimiento es una descripción completa del mundo, es decir, si
algo no se sabe que es verdad, entonces es falso.
La lógica autoepistémica fue formulada por Robert C. Moore30 en 1985 [206] como
resultado de una investigación que fue una continuación de los estudios sobre modales no monótonos
sistemas dirigidos por Drew McDermott31 y Jon Doyle en 1980 [199]. La idea principal de
esta lógica se puede expresar de la siguiente manera. El razonamiento sobre el mundo puede
basarse en nuestro conocimiento/creencias introspectivas. Por ejemplo, del hecho de que
estoy convencida de que no soy el esposo de Wilma Flinstone, puedo inferir que no soy el
esposo de Wilma Flinstone, porque ciertamente sabría que soy el esposo de Wilma Flinstone,
si fuera el esposo de Wilma Picapiedra. La lógica autoepistémica puede verse como una
lógica modal que contiene un operador "Estoy convencido de que". En tal lógica, se utilizan
conjuntos de creencias en lugar de conjuntos de hechos.
Una lógica no monótona llamada circunscripción fue construida por John McCarthy en
1980 [196]. Introducimos su idea principal con la ayuda de nuestra proposición de ejemplo.
28Raymond Reiter—profesor de informática y lógica en la Universidad de Toronto. Su trabajo se refiere al
razonamiento no monótono, los modelos de representación del conocimiento, la programación lógica y el
análisis de imágenes.
29 Reglas estándar significa reglas como las que se presentan en el Cap. 6.
30Robert C. Moore, investigador de Microsoft Research y del Centro de Investigación Ames de la NASA,
Ph.D. en informática (MIT). Su trabajo se refiere a PNL, inteligencia artificial, demostración automática de
teoremas y reconocimiento de voz.
31Drew McDermott—profesor de informática en la Universidad de Yale. Su trabajo se refiere a la IA, la
robótica y el reconocimiento de patrones.
Machine Translated by Google
12.3 Razonamiento no monótono 187
concerniente a los mamíferos. Esta vez, sin embargo, para manejar el problema definido
arriba introducimos el predicado is_peculiar_mammal(x). Ahora, podemos expresar nuestra
proposición en Lógica de Primer Orden de la siguiente manera:
Por supuesto, es posible que no sepamos si un mamífero específico es peculiar. Por lo tanto,
minimizamos la extensión de un predicado como is_peculiar_mammal(x), es decir,
minimizamos su extensión sólo al conjunto de objetos que se sabe que son mamíferos peculiares. Por
ejemplo, si Zazu no está en este conjunto, entonces se cumple lo siguiente:
¬es_peculiar_mammal(Zazu), lo que significa que_no_vuela(Zazu). notemos
una analogía con el concepto de Suposición de Mundo Cerrado presentado anteriormente.
Como hemos mencionado al comienzo de esta sección, a veces un sistema basado en un razonamiento
no monótono debería eliminar una determinada proposición así como
proposiciones inferidas sobre la base de esta proposición después de obtener nueva información. Una
pregunta es: “¿Deberían todas las proposiciones inferidas sobre la base de tal
¿Se eliminará la proposición? Si estas proposiciones pueden inferirse sólo de una
proposición, entonces, por supuesto, también deberían eliminarse. Sin embargo, el sistema debe
no eliminar aquellas proposiciones que se pueden inferir sin usar una proposición eliminada. Para
solucionar prácticamente este problema, Jon Doyle32 introdujo Truth Maintenance Systems, TMS, en
1979 [73]. Dichos sistemas pueden funcionar de acuerdo con varios
escenarios. El escenario más simple consiste en eliminar todas las conclusiones inferidas
de una proposiciónpremisa eliminada y repitiendo todo el proceso de inferencia para
todas las conclusiones. Sin embargo, este escenario simple requiere mucho tiempo. una mejora
La versión consiste en recordar la cronología de ingreso de nueva información e inferir proposiciones en
el sistema. Luego, después de eliminar algunas proposicionespremisas
P, sólo se eliminan las conclusiones que se han inferido después de almacenar el
proposiciónpremisa P en la base de conocimiento.
Recordar secuencias de justificaciones para conclusiones es una forma aún más eficiente
método. Si se elimina alguna proposición, entonces todas las justificaciones, que pueden inferirse
sólo sobre la base de esta proposición también se eliminan. Si, después de tal operación,
una determinada proposición no puede ser justificada, entonces es invalidada.33 Este escenario es un
base para los Sistemas de Mantenimiento de la Verdad basados en la Justificación, JTMS. fueron definidos
por Doyle en 1979 [73].
32Jon Doyle—profesor de informática en el Instituto Tecnológico de Massachusetts, la Universidad de Stan
ford y la Universidad CarnegieMellon. Su trabajo se refiere a métodos de razonamiento, fundamentos
filosóficos de la inteligencia artificial y aplicaciones de IA en economía y psicología.
33Tal proposición no necesita ser removida (físicamente) de la base de conocimiento. Es
suficiente para marcar que la proposición no es válida (actualmente). Si, por ejemplo, la justificación eliminada
se restaura, entonces el sistema solo necesita cambiar su estado a válido.
Machine Translated by Google
188 12 Razonamiento con conocimiento imperfecto
En 1986, Johan de Kleer34 introdujo una nueva clase de sistemas de mantenimiento de la
verdad llamados Sistemas de mantenimiento de la verdad basados en suposiciones, ATMS [66].
Mientras que en los sistemas basados en justificaciones se almacena una imagen consistente del
mundo (que consta de premisas y proposiciones justificadas ), todas las justificaciones que se han
asumido en la base de conocimiento se mantienen en un ATMS (quizás algunas de ellas
actualmente como inválidas). Así, el sistema mantiene todos los supuestos que se pueden utilizar
para inferir una proposición dada. El sistema puede justificar una proposición dada dado un cierto
conjunto de supuestos, llamado mundo. Tal enfoque es especialmente útil si queremos que el
sistema cambie su vista dependiendo de su conjunto de supuestos.
La cuestión de mantener una base de conocimientos cuando los nuevos datos ingresan con
frecuencia a un sistema de IA está estrechamente relacionada con el problema del marco formulado
por McCarthy y Patrick J. Hayes35 en 1969 [195]. El problema se refiere a la definición de
formalismos eficientes para representar elementos de una descripción del mundo que no cambian
durante un proceso de inferencia.
Nota bibliográfica
La monografía [223] es una buena introducción a la inferencia y las redes bayesianas. Puede
encontrarse una descripción de la teoría de DempsterShafer en el libro clásico [271]. Se puede
encontrar una introducción concisa al razonamiento no monótono en IA en [39].
34Johan de Kleer—director del Laboratorio de Sistemas y Prácticas, Centro de Investigación de Palo Alto
(PARC). Su trabajo se refiere a la ingeniería del conocimiento, el razonamiento basado en modelos y las
aplicaciones de IA en física cualitativa.
35Patrick John Hayes: científico informático y matemático británico, profesor de prestigiosas universidades
(Rochester, Stanford, Essex, Ginebra). Su trabajo se refiere a la representación del conocimiento, la inferencia
automatizada, los fundamentos filosóficos de la IA y las redes semánticas.
Machine Translated by Google
Capítulo 13
Definición de nociones vagas en el conocimiento basado
Sistemas
La segunda razón de la falta de fiabilidad de la inferencia en los sistemas de IA, además de
la imperfección del conocimiento, es la imperfección del sistema de nociones que se utiliza
para describir el mundo real (físico). Los métodos estándar de las ciencias de la computación
se basan en modelos desarrollados en matemáticas, ciencias técnicas (mecánica, control
automático, etc.) o ciencias naturales (física, astronomía, etc.). En estas ciencias se utilizan
nociones precisas (crujientes) para describir aspectos del mundo. Un problema surge si
queremos aplicar métodos informáticos para resolver problemas en ramas que utilizan
nociones menos precisas (p. ej., psicología, sociología)1 o para resolver problemas de la
vida cotidiana, en los que utilizamos términos populares. En tal caso, existe la necesidad de
construir modelos formalizados, en los que estas nociones vagas se representen de manera
precisa.
Hay dos aspectos básicos del problema de la vaguedad de las nociones en los sistemas
basados en el conocimiento. El primer aspecto se refiere a la falta de ambigüedad de una
noción que resulta de su naturaleza subjetiva. Las nociones relativas a la edad de un ser
humano, por ejemplo, joven, viejo, son buenos ejemplos aquí. En este caso, tener en cuenta
el carácter subjetivo de una noción tan vaga introduciendo una medida que califica “ser
joven (viejo)” parece ser la mejor solución. La teoría de los conjuntos borrosos presentada
en la primera sección se basa en esta idea de una medida que califica objetos pertenecientes
a nociones vagas.
El segundo aspecto se refiere al grado de precisión (detalle, exactitud) utilizado durante
un proceso de formulación de nociones. Este grado debe ser apropiado (adecuado) a la
naturaleza de los fenómenos/objetos considerados. El término apropiado significa que el
sistema debe distinguir entre fenómenos/objetos que se consideran pertenecientes a
diferentes categorías y no debe distinguir entre fenómenos/objetos que se tratan como
pertenecientes a la misma categoría (por supuesto, con
1Esto resulta del tema más complejo de investigación en estas ramas.
© Springer International Publishing Suiza 2016 M. Flasi 189
´nski, Introducción a la Inteligencia Artificial, DOI
10.1007/9783319400228_13
Machine Translated by Google
190 13 Definición de nociones vagas en sistemas basados en el conocimiento
respecto al conjunto de características asumidas). La teoría de conjuntos aproximados se usa a menudo
para resolver este problema en IA. Esta teoría se presenta en la segunda sección.2
13.1 Modelo basado en la teoría de conjuntos borrosos
En primer lugar, introducimos un universo de discurso U, que es el conjunto de todos los elementos
considerados. Si queremos representar una noción A en una base de conocimiento, podemos definirla
como el conjunto:
A = {x : x tiene características que son consistentes con la noción A, x U}. (13.1)
Ahora bien, para decidir si un elemento y U cumple las condiciones de la definición de una noción A
deberíamos tener una función de pertenencia para el conjunto A, que se denota como μA. En el caso de
una noción nítida, que es una noción para la que podemos definir características que permitan al sistema
distinguir objetos/fenómenos que tienen las propiedades de esta noción de aquellos que no las tienen,
la función de pertenencia es igual a la función característica χA del conjunto A. Esta función se define de
la siguiente manera.
0, x / A, 1,
χA(x) = (13.2)
x A.
Sin embargo, en el caso de una noción vaga, que no está definida de manera precisa y sin
ambigüedades, una función característica no es un formalismo apropiado para resolver tal problema.
Esta observación permitió a Lotfi A. Zadeh formular la teoría de los conjuntos borrosos en 1965 [321].
En esta teoría la función de pertenencia para un conjunto A se define de la siguiente manera:
μA : U −→ [0, 1]. (13.3)
Esta función asigna los valores 0 y 1 a un elemento x U según la fórmula (13.2) para la función χA.
Sin embargo, en caso de pertenencia parcial de un elemento al conjunto A le asigna un valor s, que
pertenece al intervalo (0, 1). Este valor se denomina grado de pertenencia del conjunto A. Si la función
de pertenencia se define de esta manera, entonces el conjunto se denomina conjunto borroso.
Consideremos el siguiente ejemplo de cómo representar nociones vagas con la ayuda de conjuntos
borrosos. Supongamos que queremos caracterizar la edad de un ser humano con vagas nociones de
joven (Y), adulto (A) y viejo (O). Restrinjamos nuestras consideraciones al intervalo de edad [0, 101].
Entonces, estas nociones vagas pueden ser representadas por conjuntos borrosos Y , A, O,
respectivamente, y, de hecho, por las correspondientes funciones de pertenencia3 μY , μA, μO .
Por ejemplo, estas funciones se pueden definir como se muestra en
2 Las definiciones formales de las teorías de conjuntos borrosos y conjuntos aproximados se encuentran en el Apéndice J.
3Una función de pertenencia para un conjunto determina este conjunto.
Machine Translated by Google
13.1 Modelo basado en la teoría de conjuntos borrosos 191
Fig. 13.1 Funciones de
pertenencia para conjuntos borrosos
para el ejemplo de la edad de
un ser humano: μY—para la µY(x) µA(x) µO(x)
noción de joven, μA—para la noción 1.0
de adulto, μO—para la noción de
viejo
0.5
0 10 20 30 40 50 60 70 80 90 100 110
tu
Figura 13.1. (La función μY está marcada con una línea continua, la función μA, con una línea
discontinua, la función μO, con una línea punteada). Las personas de 0 a 20 años definitivamente se
consideran jóvenes (μY (x) = 1.0, x [0, 20]) y las personas mayores de 60 años definitivamente se
consideran viejas (μO (x) = 1.0, x [60, 101]). Un adulto típico tiene 40 años (μA(40) = 1,0). Si una
persona ha cumplido 20 años y avanza en edad, la consideramos cada vez menos joven. Si una
persona cumple 30 años, la consideramos adulta y no joven (μY (x)<μA(x), x [30, 40]). Si una
persona cumple 40 años definitivamente no la consideramos joven (μY (x) = 0.0, x [40, 101]), etc.
Como vemos, los conjuntos borrosos nos permiten representar nociones vagas en un manera
conveniente.
El formalismo utilizado en el ejemplo se denomina variable lingüística en la teoría de conjuntos
borrosos [40, 322]. El término edad del ser humano se denomina nombre de una variable lingüística.
Las vagas nociones de joven (Y), adulto (A) y viejo (O) se denominan valores lingüísticos. Una
aplicación que asigna un conjunto borroso a una noción vaga, es decir, a un valor lingüístico, se
denomina función semántica.
Hoy en día, la teoría de conjuntos borrosos está bien desarrollada y formalizada. Aparte de las
características completas de las operaciones con conjuntos borrosos, por ejemplo, la unión de
conjuntos borrosos, la intersección de conjuntos borrosos, etc., se han desarrollado modelos como
números borrosos y operaciones con ellos, relaciones borrosas y gramáticas y autómatas borrosos.
Dado que este libro es una introducción al campo, no discutiremos estos temas aquí. Más adelante,
presentamos dos formalismos que son muy importantes en la IA, a saber, la lógica difusa y los
sistemas basados en reglas difusas.
La posibilidad de ocurrencia de nociones vagas es una diferencia básica entre las proposiciones
consideradas en la lógica difusa [105, 192, 249, 322] y las proposiciones de una lógica clásica. En
consecuencia, en lugar de asignar dos valores lógicos 1 (Verdadero) y
4
0 (Falso) a las proposiciones, podemos asignar valores que pertenecen al intervalo [0, 1].
.
De manera similar a los conjuntos, definimos la función de grado de verdad T. Sea P una proposición:
“x es P”, donde P es una noción vaga para la cual un conjunto borroso P está determinado por una
4La lógica difusa es un ejemplo de lógica multivaluada con un número infinito de valores, que fue presentada por el lógico y
matemático polaco Jan Łukasiewicz.
Machine Translated by Google
192 13 Definición de nociones vagas en sistemas basados en el conocimiento
función semántica. La función de grado de verdad T asigna un valor a una proposición P
de acuerdo con la siguiente fórmula.
T (P) = µP (x), (13.4)
donde µP es la función de pertenencia para el conjunto P. La función T se puede extender a
proposiciones definidas con la ayuda de operadores lógicos. Por ejemplo, para la negación
de una proposición P, es decir, para la proposición ¬P, “x no es P”, la función T (¬P) =
1 T (P) = 1 μP (x). Para una conjunción de las proposiciones P y Q, es decir, para la
proposición P Q, “x es P y Q”, la función T (P Q) = min{T (P) , min{μP (x), μQ(x)}, T (Q)} =
5
donde min{x , y} selecciona el menor valor de x e y.
Continuemos nuestro ejemplo con respecto a las nociones vagas de la edad humana. Podemos
formular la proposición ¬Y, “x no es joven”, es decir, “x no es Y”. La función
T (¬Y) = 1−μY (x) se muestra en la figura 13.2a. Como podemos ver, la función T está definida
de forma intuitiva. Ahora, definamos esta función para el caso más complejo de la
conjunción Y A, “x es joven y adulto”, es decir, “x es Y y A”, lo cual se muestra en
Figura 13.2b. Como podemos ver, la función T (Y A) es igual a 0 en el intervalo [0, 20]. (En
este intervalo la función μA(x) da un valor más bajo que μY (x) y es igual a 0.) Esto
es consistente con nuestra intuición, ya que no consideramos a alguien que pertenece a
este intervalo una “persona madura/adulta”. Análogamente, la función T (Y A) es igual a
0 en el intervalo [40, 101]. (En este intervalo la función μY (x) da un valor menor
que μA(x) y es igual a 0.) Esto también es consistente con nuestra intuición, ya que no
no considerar a alguien que pertenece a este intervalo como una persona joven. para el intervalo
[20, 40] tenemos dos casos. En el subintervalo [20, 30] usamos el valor más bajo como
el valor de T (Y A), es decir, usamos el valor de la función μA(x). aumenta en
este subintervalo y alcanza su máximo a los 30 años. En este punto el
tablas de funciones de pertenencia μY (x) y μA(x) se encuentran y determinan la mejor
representante de ser joven y adulto. En el segundo subintervalo, es decir, [30, 40] el
valor de la función T (Y A), que mide el grado de verdad de ser adulto y
(al mismo tiempo) joven, decrece. Aunque, en este subintervalo, a medida que pasa el tiempo,
cada vez tenemos más experiencia, somos más y más viejos (lamentablemente).
En el cap. 9, hemos presentado el razonamiento basado en reglas.6 En la teoría de Zadeh, el
Se ha desarrollado el concepto de un sistema basado en reglas difusas [191, 322]. las reglas de
tal sistema son de la forma:
Ahora, presentamos un ejemplo de razonamiento en un sistema basado en reglas difusas. Hacemos
esto utilizando uno de los primeros modelos de razonamiento difuso. Fue presentado por Ebrahim
5En el Apéndice J se incluye una definición formal de la función T para operadores lógicos.
6Si el lector ha omitido el Cap. 9, el resto de esta sección puede ser difícil de entender.
Machine Translated by Google
13.1 Modelo basado en la teoría de conjuntos borrosos 193
(a)
µY(x) 1 µY(x)
1.0
x no es joven
0.5
0 10 20 30 40 50 60 70 80 90 100 110
tu
(b)
µY(x) µA(x)
1.0
0.5
x es joven y adulto
min{µY(x) , µA(x)}
0 10 20 30 40 50 60 70 80 90 100 110
tu
Fig. 13.2 Ejemplos de funciones de pertenencia para conjuntos borrosos definidos con operadores lógicos: a negación, b conjunción
Mamdani7 en 1975 [191]. Supongamos que queremos diseñar un sistema experto que controle
la posición de una palanca que regula la temperatura del agua en el grifo de una bañera.
Suponemos que la variable lingüística tb que denota la temperatura del agua en la bañera se
describe con la ayuda de nociones vagas (valores lingüísticos) (demasiado) baja (L), adecuada
(P), (demasiado) alta (H). Estas nociones están representadas por conjuntos borrosos L, P, H,
respectivamente. Las funciones de pertenencia de estos conjuntos se muestran en la figura 13.3a.
La temperatura del agua en el grifo t f se describe con la ayuda de vagas nociones fría (C),
tibia (W), (casi) hirviendo (B). Estas nociones están representadas por conjuntos borrosos
7Ebrahim Mamdani—profesor de ingeniería eléctrica e informática en el Imperial College de Londres. Un diseñador del primer
controlador difuso. Su trabajo se refiere principalmente a la lógica difusa.
Machine Translated by Google
194 13 Definición de nociones vagas en sistemas basados en el conocimiento
(a) (b)
(C) (d)
µL(p l) µM(pl) µR(pl)
0 180
30 150
60 120
90
FRÍO CALIENTE
0 30 60 90 120 150 180 pl
Fig. 13.3 Un ejemplo de formulación de un problema para la inferencia difusa: una función de pertenencia para
la temperatura del agua en una bañera, b funciones de pertenencia para la temperatura del agua en un
grifo, c el esquema para la posición de una palanca, d funciones de membresía para la posición de una palanca
C, W, B, respectivamente. Las funciones de pertenencia de estos conjuntos se muestran en la figura 13.3b.
Ahora, podemos definir la posición de la palanca. El esquema de esta posición se muestra
en la figura 13.3c. Como podemos ver la posición más a la izquierda corresponde a agua fría, la
la posición más a la derecha corresponde a (casi) agua hirviendo. La posición de la palanca
está definido por la variable lingüística pl , que se describe con la ayuda de vagas
nociones de una posición izquierda (L), una posición media (M), una posición derecha (R). Estas nociones
están representados por conjuntos borrosos: L, M, R, respectivamente. Funciones de membresía de estos
los conjuntos se muestran en la figura 13.3d.
Presentamos el razonamiento en el sistema con la ayuda de las siguientes dos reglas.
R1 : IFtb es correcto t f iswarm ENTONCES pl debe estar en posición media,
R2 : IFtb es alto t f está hirviendo ENTONCES pl debe estar en la posición izquierda.
Ahora, podemos empezar a razonar. Aunque un sistema basado en reglas difusas razona sobre la
base de conjuntos difusos, recibe datos y genera resultados en forma de números
valores. Por lo tanto, debe convertir estos valores numéricos en conjuntos borrosos y viceversa.
viceversa Supongamos que el sistema da el primer paso de razonamiento sobre la base
de la primera regla. Hay dos variables, tb y t f , y dos valores lingüísticos, P
y W, que están representados por las funciones de pertenencia μP y μW , respectivamente,
en la condición de la primera regla. Consideremos el primer par: tb − μP . Nos deja
Suponga que la temperatura del agua en la bañera es igual a tb = Tb = 28 ◦C. Nosotros
Machine Translated by Google
13.1 Modelo basado en la teoría de conjuntos borrosos 195
(a) (b)
µP(tb) µP'(tb)
FUZZIFICACIÓN
0.2 0.2
10 20 28 30 tuberculosis 10 20 28 30 tuberculosis
Tuberculosis Tuberculosis
0.4
0.2 0.2
10 20 28 30 tuberculosis
20 40 52 60 t.f. 0 30 60 90 120 150 180 pl
Tuberculosis T.f.
0.8
0.6 0.6
10 20 28 30 20 40 52 60 0 30 60 90 120 150 180 pl
Tuberculosis
T.f.
Fig. 13.4 Ejemplo de razonamiento borroso: a–b fuzzificación, c–e aplicación de la primera regla,
f–h aplicación de la segunda regla
tiene que convertir el número Tb en un conjunto borroso sobre la base de la pertenencia
función µP . Hacemos esto con la ayuda de la operación de fuzzificación más simple, que es
llamada fuzzificación singleton. Convierte el número Tb en un conjunto borroso P definido
por la función de pertenencia que es igual a μP(Tb) para Tb e igual a 0 para otros
argumentos Esta operación se muestra en la figura 13.4a, en la que un valor μP (28) = 0.2 es
determinada, y en la figura 13.4b, en la que se define la nueva función de pertenencia μP .
Esta función determina el nuevo conjunto borroso P , que es el resultado de la fuzzificación
del número Tb = 28. Entonces, supongamos que la temperatura del agua en el grifo
Machine Translated by Google
196 13 Definición de nociones vagas en sistemas basados en el conocimiento
(a) (b)
0.6 0.6
0.2 0.2
0 30 60 90 120 150 180 pl 0 30 60 90 120 150 180 pl
P = 48
Fig. 13.5 Un ejemplo de razonamiento borroso—cont.: a construcción del conjunto borroso resultante, b desborrosificación
= Tf = 52 ◦C se ha transformado de manera similar en un conjunto borroso W definido por una
función de pertenencia t f μW que se muestra en la figura 13.4d.
Ahora, podemos aplicar la regla difusa R1, que se muestra en la figura 13.4ce.
Las figuras 13.4c, d corresponden a componentes en una conjunción de la condición de regla COND1.
La figura 13.4e corresponde a la acción de la regla ACT 1. La aplicación de la regla se realiza en dos
pasos. En el primer paso, el grado de cumplimiento de una regla μCOND1 se calcula como el mínimo
del conjunto que contiene las funciones de pertenencia de los componentes de la conjunción COND1
(según la evaluación de una condición en lógica difusa presentada anteriormente). Por tanto, como
se muestra en la figura 13.4c, d, este grado es igual a μCOND1 = 0,2.
En el segundo paso usamos la regla mínima de Mamdani de razonamiento borroso. De acuerdo
con esta regla, la función de pertenencia de un conjunto borroso que corresponde al razonamiento
COND → ACT está determinada por el número menor de μCOND y μACT . Como en nuestro ejemplo
μCOND1 = 0.2, la función de pertenencia resultante se obtiene truncando la función de pertenencia de
la acción de la regla μACT = μM al nivel de 0.2, como se muestra en la figura 13.4e.
Realizando pasos análogos para la regla difusa R2, cf. Fig. 13.4f–h, obtenemos el
resultado que se muestra en la figura 13.4h.
Después de disparar las reglas aplicables8 debemos agregar las conclusiones que
Se han obtenido. Notemos que la conclusión tiene la forma de funciones de pertenencia truncadas. En
nuestro ejemplo, las funciones de pertenencia para las conclusiones están marcadas con líneas
sólidas en la figura 13.4e, h. La operación de agregar estas funciones se muestra en la figura 13.5a.
Como vemos, esta vez utilizamos la operación máxima sobre el conjunto de conclusiones, es decir,
definimos la función de pertenencia final tomando el mayor valor de las funciones agregadas.
Esta última función de pertenencia determina un conjunto borroso, que es el resultado de un
razonamiento borroso. Sin embargo, necesitamos un valor numérico que represente el ángulo de la posición
8 Una regla difusa no es aplicable en un ciclo de razonamiento si su grado de cumplimiento es 0.
Machine Translated by Google
13.1 Modelo basado en la teoría de conjuntos borrosos 197
de la palanca, cf. Fig. 13.3c (no es un conjunto borroso). Por lo tanto, al final debemos realizar una
operación de defuzzificación, que determina un valor numérico en base a un conjunto borroso.
Por ejemplo, una operación de defuzzificación con un centroide implica calcular el centro de
gravedad del área bajo una curva determinada por la función de pertenencia final, que se muestra
en la figura 13.5b. La coordenada de este centro en el eje de la variable lingüística (la variable pl
en el caso de nuestro ejemplo) determina el valor numérico resultante. En la figura 13.5b, el centro
de gravedad está marcado por un círculo con una cruz adentro. Como podemos ver el valor
numérico resultante, que representa el ángulo correcto de la palanca es pl = Pl = 48 ◦C. Por lo
tanto, nuestro sistema experto coloca la palanca en esta posición después de un razonamiento
borroso.
13.2 Modelo basado en la teoría de conjuntos aproximados
En 1982, Zdzisław Pawlak propuso un enfoque alternativo, o más bien complementario, [216] para
representar nociones vagas. Este enfoque, llamado teoría de conjuntos aproximados, se ha
desarrollado considerablemente desde entonces [218, 219, 220]. Como hemos mencionado al
comienzo de este capítulo, la teoría de conjuntos borrosos se usa para resolver el problema de la
ambigüedad de las nociones, mientras que en la teoría de conjuntos aproximados la vaguedad de
las nociones se considera en el aspecto de su grado de precisión (detalle, exactitud).9 El grado de
precisión de caracterización de una noción debe ser adecuado al problema considerado. En la
teoría de conjuntos aproximados, esta adecuación se describe como una característica de un
sistema que le permite distinguir entre fenómenos/objetos que se considera que pertenecen a
diferentes categorías y no distinguir entre fenómenos/objetos que pertenecen a la misma categoría.
Consideremos esta característica con la ayuda del siguiente ejemplo.
Supongamos que el dominio que contiene los objetos a considerar, llamado el universo del
discurso U, consiste en automóviles de pasajeros. Supongamos que analizamos el problema de
colocar nuevas estaciones de servicio de automóviles para varias marcas de automóviles en varias
regiones de Polonia, como la región de Varsovia, la región de Cracovia, etc. Para tal análisis,
podemos definir un conjunto de atributos que describen objetos10 A = {marca_de_coche, región_de_registro}.
Para cada atributo debemos definir un conjunto de valores posibles, es decir, el dominio del atributo.
Entonces, para un objeto x perteneciente al universo U, una expresión marque_of_car (x) =BMW
denota el hecho de que x es un modelo BMW. En la figura 13.6a se muestra una partición del
universo U en subáreas determinadas por el conjunto dado de atributos11 . Decimos que los
objetos que pertenecen a la misma subárea (por ejemplo, dos automóviles BMW registrados en la
región de Varsovia y marcados con puntos blancos en la figura 13.6a) son objetos imperceptibles
9La teoría de conjuntos aproximados se analiza en este libro solo desde el punto de vista de la IA. Sin embargo, esta teoría se
aplica mucho más ampliamente y se interpreta de una manera más general en informática.
10Los automóviles de pasajeros son objetos.
11Un conjunto de atributos significa un conjunto de atributos junto con sus dominios.
Machine Translated by Google
198 13 Definición de nociones vagas en sistemas basados en el conocimiento
(a)
BMW
Vado
tu
Varsovia región de …
la región de Cracovia
(b)
sedán
pasajero
carros
hatchback
levantar
camiones
tu
Polonia Alemania …
(C)
pasajero
carros
camionetas
autobuses
tu UE Estados Unidos …
Fig. 13.6 Un ejemplo de control del nivel de generalidad de las consideraciones con la ayuda de un conjunto de atributos
con respecto al conjunto dado de atributos.12 Una subárea del universo determinada de esta
manera se llama conjunto elemental. Los conjuntos elementales se llaman también conocimiento.
12 De hecho, en la teoría de conjuntos aproximados, estos dos autos no son distinguibles. Para distinguirlos, se debe
introducir un atributo adicional, por ejemplo, el número de registro. Sin embargo, en el contexto de nuestro problema esto
no es necesario.
Machine Translated by Google
13.2 Modelo basado en la teoría de conjuntos aproximados 199
gránulos Corresponden a nociones elementales, que pueden utilizarse para definir nociones
más complejas, incluso nociones vagas.
El conjunto de atributos se utiliza para controlar el grado de precisión de la definición de
las nociones elementales. En otras palabras, se utiliza para determinar el grado de granularidad
del universo de discurso. Por ejemplo, consideremos un universo de automóviles y un gerente
responsable de ventas. Quiere conocer las preferencias de los clientes de los países de la UE
para diferentes tipos de coches (sedán, hatchback, etc.). Luego, se debe definir un conjunto
adecuado de atributos como A = {tipo_de_automóvil, país_de_matriculación}. En este caso,
una partición del universo en conjuntos elementales se define como se muestra en la figura
13.6b. Como vemos, el grado de granularidad del universo es menor que en el caso anterior,
es decir, los gránulos de conocimiento son más grandes. Esto resulta del uso de atributos más
generales. Ahora, dos sedanes BMW de la región de Varsovia son imperceptibles de dos
sedanes Ford de la región de Cracovia. Por supuesto, podemos ir a un nivel más alto de
abstracción y considerar tipos de automóviles con respecto a mercados más grandes, como el
mercado de la UE o el mercado de EE. UU., como se muestra en la figura 13.6c . Ahora, los
gránulos son aún más grandes. Esto significa que algunos autos que antes eran distinguibles
ahora son indistinguibles.
En nuestro ejemplo, hemos controlado el grado de precisión de las definiciones de las
nociones elementales determinando atributos más o menos generales. De hecho, a menudo lo
controlamos aumentando/disminuyendo el número de atributos. Cuantos menos atributos
usemos, menor será la granularidad. Por ejemplo, si eliminamos el atributo marque_of_car en
la figura 13.6a, la granularidad del universo se reduce. (Luego, se divide solo en gránulos
verticales, que contienen todos los automóviles de pasajeros en una región de Polonia).
Ahora, podemos considerar el tema de definir nociones vagas en la teoría de conjuntos
aproximados. Una noción vaga X se define por dos nociones nítidas: una aproximación inferior
. BX Una aproximación inferior BX se define como un conjunto
BX y una aproximación superior
BX que contiene gránulos de conocimiento que necesariamente están dentro del alcance de
. noción vaga X Una aproximación superior BX es definido como un conjunto BX que
una
contiene gránulos de conocimiento que posiblemente estén dentro del .
alcance de una noción vaga X Consideremos esta forma de representar una noción vaga
con el siguiente ejemplo. Supongamos que construimos un sistema que selecciona ciruelas
maduras en base a dos atributos: dureza y color. La vaga noción de ciruela madura (R) está
representada por el conjunto R que se muestra en la figura 13.7a, que se determina con la
ayuda de ciruelas maduras indicadas con puntos negros. Las ciruelas verdes se indican con
puntos blancos. El borde del conjunto R también está marcado en esta figura. El área de todo
el rectángulo representa el universo del discurso U. Después de definir los atributos junto con
sus dominios, el universo U se divide en los gránulos de conocimiento que se muestran en la
figura 13.7b. El BR de aproximación inferior se define como el conjunto BR, que contiene
gránulos de conocimiento marcados con un color gris en la figura 13.7b. Estos gránulos
contienen solo ciruelas maduras. En la figura 13.7c , el conjunto BR , que corresponde a una
aproximación superior BR, está marcado con un color gris. El conjunto BR contiene todas las
ciruelas maduras y también algunas ciruelas verdes. Sin embargo, utilizando tal grado de
granularidad del universo, no podemos distinguir entre ciruelas maduras e inmaduras para tres
gránulos. Estos tres gránulos determinan una región límite, que está marcada con un color gris
en la figura 13.7d. Contiene objetos que no se pueden asignar a R de forma inequívoca.
Machine Translated by Google
200 13 Definición de nociones vagas en sistemas basados en el conocimiento
suave
D
dureza medio
duro
tu
(C) (d)
violeta amarillo verde violeta amarillo verde
suave suave
medio medio
duro duro
Fig. 13.7 Un ejemplo de nociones básicas de teoría de conjuntos aproximados: a un universo de discurso con un conjunto
R marcado, b una aproximación inferior del conjunto R, c una aproximación superior del conjunto R, d la región límite del
conjunto R
Finalmente podemos definir un conjunto aproximado. Para un conjunto aproximado, una
aproximación inferior es diferente de una aproximación superior suponiendo una granularidad fija
del universo. En otras palabras, la región límite no está vacía para un conjunto aproximado. Por otro
lado, para un conjunto nítido (exacto), la aproximación inferior es igual a la aproximación superior,
es decir, su región límite es el conjunto vacío.
Por lo general, después de definir una noción vaga con la ayuda de una aproximación inferior y
una superior, nos gustaría saber qué tan buena es nuestra aproximación. Hay varias medidas de
calidad de aproximación en la teoría de conjuntos aproximados. El coeficiente de precisión de
aproximación es uno de ellos. Se calcula dividiendo el número de objetos pertenecientes a la
aproximación inferior por el número de objetos pertenecientes a la aproximación superior. En nuestro
ejemplo es igual a 4/10 = 0,4. Notemos que este coeficiente pertenece al intervalo [0, 1]. Para un
conjunto crujiente es igual a 1.
La elección correcta de los atributos es un tema muy importante en la aplicación de la teoría de
conjuntos aproximados en IA. El número de atributos debe ser lo más pequeño posible (por razones
de eficiencia de cálculo), pero suficiente para una granulación adecuada del universo.
Los métodos para determinar un número óptimo de atributos se han desarrollado en la teoría de
conjuntos aproximados.
Machine Translated by Google
13.2 Modelo basado en la teoría de conjuntos aproximados 201
Los conjuntos aproximados se pueden utilizar, como conjuntos difusos, para implementar sistemas basados en reglas.
También se han definido métodos para la generación automática de reglas sobre la base de aproximaciones
superior e inferior [277].
Nota bibliográfica
Los fundamentos de la teoría de conjuntos borrosos se presentan en [63, 75, 257, 323]. La lógica difusa y los
sistemas basados en reglas difusas se analizan en [249].
Una buena introducción a la teoría de conjuntos aproximados se puede encontrar en [71, 128, 217, 229,
257, 278].
Machine Translated by Google
capitulo 14
Arquitecturas Cognitivas
En esta parte de la monografía presentamos varios métodos utilizados para la resolución de
problemas por parte de los sistemas de inteligencia artificial. Este capítulo, sin embargo, no incluye
una descripción de ningún método, pero contiene una discusión sobre la posible estructura de un
sistema de inteligencia artificial. En informática, una estructura de este tipo, denominada
arquitectura de sistema, resulta de un modelo definido de acuerdo con los principios de la ingeniería de software.
En IA, sin embargo, se ha utilizado un enfoque diferente para diseñar una arquitectura de sistema
desde la década de 1980. En este enfoque tratamos de definir una arquitectura de sistema de IA
sobre la base del modelo de habilidades cognitivas asumido. Así, las denominadas arquitecturas
cognitivas se han introducido en la metodología del diseño de sistemas. Dado que son muy
importantes para el desarrollo futuro del campo de la IA, los presentamos en este capítulo.
La arquitectura cognitiva de un sistema de IA se define de tal manera que su estructura se
basa en un modelo cognitivo dado y sus procesos computacionales corresponden a procesos
mentales/cognitivos definidos en este modelo. En otras palabras, una arquitectura cognitiva es un
modelo informático que corresponde a un modelo cognitivo. Desempeña dos funciones básicas.
En primer lugar, es un patrón genérico para la práctica de construir sistemas de IA. En segundo
lugar, puede utilizarse para verificar hipótesis de algunos modelos de ciencia cognitiva.1 En la
primera sección
presentamos una arquitectura genérica que se basa en el concepto de agente, mientras que
en la segunda sección presentamos sistemas multiagente, que son construido con la ayuda de
este concepto.
1Esta verificación se realiza a través de experimentos de simulación realizados con la ayuda de un sistema de IA
correspondiente.
© Springer International Publishing Suiza 2016 M. Flasi ́nski, 203
Introducción a la Inteligencia Artificial, DOI
10.1007/9783319400228_14
Machine Translated by Google
204 14 arquitecturas cognitivas
14.1 Concepto de Agente
Es difícil señalar la teoría psicológica o teoría de la mente que más ha influido en el desarrollo
del concepto de agente en Inteligencia Artificial.
Seguramente, podemos ver en este concepto la idea conductual de explicar el comportamiento
de los organismos en términos de estímulorespuesta. También podemos encontrar la influencia
de la teoría constructivista del desarrollo cognitivo de Piaget2, especialmente los mecanismos
de asimilación y acomodación3 de conceptos. Algunas autoridades en IA afirman que el
funcionalismo y el enfoque de Dennett sobre la intencionalidad4 también han tenido un impacto
en este modelo [256].
Dejando de lado algunas diferencias entre las nociones de agente en la literatura, lo definimos
como un sistema que influye en su entorno de manera autónoma sobre la base de la información
percibida para lograr los objetivos requeridos. La expresión autónomo juega un papel clave aquí
y significa que una influencia intencional en el entorno debe basarse en la experiencia que un
agente obtuvo por sí mismo. En otras palabras, un agente debe tener la capacidad de
autoaprendizaje y debe hacer uso de esta capacidad para conocer un entorno desconocido.
Expliquemos este concepto con la ayuda del siguiente ejemplo.
Volvamos a nuestro ejemplo de búsqueda de una ruta a la salida en un laberinto, que se
presentó en el Cap. 4. Consideremos cierto mundo de caminos laberínticos, que se muestra en
la Fig. 14.1a. Como se puede ver, este mundo consta de caminos que van de norte (N) a sur (S)
y, a veces, giran hacia el este (E). Luego, llegamos a un corredor que corre hacia el oeste (O)
hasta la salida. (En el lado este del mapa hay muchos caminos similares y no hay salida en este
lado). En este mundo, al comienzo de cada camino colocamos un agente. Esperamos que
encuentre una ruta hacia la salida. Por supuesto, dado que el agente es autónomo, no le
entregamos ningún conocimiento específico sobre este mundo. En cambio, asumimos que tiene
la capacidad de percibir, el metaconocimiento básico y la capacidad de moverse.
Empecemos por definir la capacidad de percibir. Supongamos que el agente percibe el
mundo un paso por delante y puede reconocer un espacio vacío o una pared.
Además, el agente conoce la dirección (NESW) en la que se está moviendo (ver Fig. 14.1b), es
decir, tiene una brújula interna. La capacidad de moverse se define con las siguientes
operaciones: avanzar un paso, retroceder un paso, girar a la derecha, girar a la izquierda.
El metaconocimiento del agente se modela con la ayuda de reglas de la forma presentada
en el Cap. 9. Las reglas definen principios básicos que permiten al agente salir del laberinto. Por
ejemplo, podemos definir las siguientes reglas: SI veo un espacio vacío
ENTONCES voy un paso adelante, SI veo una pared
ENTONCES giro a la derecha.
2Jean Piaget—profesor de psicología en el Instituto Rousseau de Ginebra. Es conocido principalmente
por su teoría del desarrollo cognitivo y la investigación epistemológica con niños.
3La información percibida por los humanos se asimila de acuerdo con esquemas cognitivos preexistentes.
Sin embargo, si esto no es posible, porque la información percibida no se ajusta a estos esquemas, se
modifican para tener en cuenta la nueva experiencia, lo que se denomina acomodación.
4Estas teorías se presentan en la siguiente parte del libro.
Machine Translated by Google
14.1 Concepto de Agente 205
S
S
norte
S
S
W mi mi S
S
S
S
S
WW
T4 ES5 W2
Fig. 14.1 a Un mundo ejemplar de laberintos, b posibles pasos de un agente, c un ejemplo de una ruta a la salida
Hemos supuesto anteriormente que el agente es autónomo. Por lo tanto, deberíamos dotarlo de
capacidades cognitivas que puedan ser utilizadas para la construcción de esquemas de
conocimiento. (Sin embargo, no deberíamos darle estos esquemas.) Por ejemplo, podemos exigir
que el agente adquiera conocimientos definidos con las reglas presentadas anteriormente por sí
mismo, es decir, a través de experimentos realizados en su entorno. En tal caso, podríamos definir
al agente como un niño en edad de desarrollar habilidades sensoriomotoras.5 Además, deberíamos
darle un cuerpo al agente, para que experimente sensaciones. Luego, deberíamos definir meta
reglas, como, por ejemplo, las siguientes:
SI doy un paso adelante me duele el cuerpo ENTONCES vuelvo,
SI como consecuencia de la actividad A me duele el cuerpo ENTONCES no repito A.
También deberíamos definir mecanismos que permitan al agente generar reglas especializadas
sobre la base de metareglas. Tales mecanismos están modelados en el área de las arquitecturas
cognitivas.6 Si
el agente genera las reglas, como las definidas al comienzo de nuestras consideraciones,
entonces serán demasiado generales desde un punto de vista práctico. No incluyen ninguna
información que sea específica del mundo del laberinto en el que vive el agente. Por ejemplo, el
agente puede caminar hacia el norte (aunque nunca debería hacerlo), puede intentar ir hacia el
este más de un paso ( no debe hacerlo, porque en los caminos que van de norte a sur, después de
girar al este debe ir al sur), etc.
Por lo tanto, demos nuevas habilidades cognitivas al agente que le permitan crear esquemas de
un mundo específico. En primer lugar, permitimos que el agente acumule experiencia, es decir, que
5Discutiremos la inteligencia cinestésica en el próximo capítulo.
6Por ejemplo, dichos mecanismos se implementan en sistemas de arquitectura cognitiva, como Soar y ACTR
mencionados en el primer capítulo.
Machine Translated by Google
206 14 arquitecturas cognitivas
almacenar caminos mientras busca la salida. En segundo lugar, para recordar solo aquellas partes de los
caminos que acercan al agente a la solución, agregamos reglas de la forma: si fui por un camino que
terminó en un callejón sin salida y tuve que regresar (por ejemplo, , el agente se fue al norte), entonces
esta parte de mi caminata debería borrarse, etc.
Si definimos tales metarreglas de manera adecuada, entonces el agente puede memorizar el camino
más corto a la salida, es decir, uno sin partes correspondientes a la deambulación.
Por ejemplo, en caso de que el agente comience en el punto que se muestra en la figura 14.1a, esta es
la ruta que se muestra en la figura 14.1c. Este camino puede ser representado por la expresión S4E S5W2.
De manera similar, el segundo camino puede ser representado por S2E S3E S4W5 y el tercero por
SES2E S2E S4W9. Estas expresiones se pueden tratar como oraciones de un lenguaje formal y se
pueden usar para inferir una gramática formal para este lenguaje con la ayuda del algoritmo de inducción
gramatical presentado en el Cap. 8. Entonces, dada la gramática podemos construir un autómata formal7
que puede ser utilizado por el agente para navegar en el mundo de los laberintos.
Al comienzo de nuestras consideraciones hemos supuesto que el agente debe ser autónomo. En
nuestro ejemplo, esto significa que no le hemos dado al agente un esquema que represente el mundo
con la ayuda del autómata formal, sino que le hemos dado al agente la capacidad de construir tal
autómata. Gracias a este enfoque, si el agente va a otro mundo de laberintos, como, por ejemplo, el
mundo rotado de laberintos que se muestra en la Fig. 14.2a,8 , también debería poder resolver el
problema.
Al tener metareglas cognitivas, el agente puede construir un autómata formal correspondiente después
de algún tiempo. Como resultado, dicho autómata ayudaría al agente a encontrar el camino más corto
hacia la salida, como el que se muestra en la figura 14.2b.
Podemos otorgar habilidades cognitivas al agente que se basan en varios métodos de Inteligencia
Artificial. El agente ejemplar9 que se muestra en la Fig. 14.2c se implementa con la ayuda de tres modelos
diferentes. Después de percibir información sobre su entorno (en este caso, un entorno formado por
varios dispositivos y equipos), el agente actualiza su representación de este entorno, que se define como
una red semántica. Luego, razona sobre su situación en este entorno con la ayuda de un autómata gráfico
(parser) para detectar eventos que requieran su respuesta. Después de reconocer el tipo de evento, el
agente infiere una acción adecuada con la ayuda de una base de reglas. Las acciones propuestas se
envían a un generador de comandos de dirección, que se utiliza para influir en el entorno. El agente tiene
la capacidad de aprender infiriendo una gramática formal,10 que es la base de conocimiento para un
gráfico autómata (parser).
7 Como se analiza en el cap. 8, también.
8Nuestro agente debería poder ir a cualquier mundo de laberintos, asumiendo que los caminos en tal mundo se
caracterizan por algunas regularidades (es decir, pueden ser descritos por algunos principios).
9El ejemplo se analiza en el artículo Flasi ́nski M.: Modelo multiagente basado en autómatas como herramienta
para construir sistemas de control inteligente en tiempo real. Apuntes de conferencias sobre inteligencia artificial
2296 (2002), 103–110.
10Esta es una gramática de grafos ETPL(k) presentada en el Cap. 8 y definido formalmente en el Apéndice E.
Machine Translated by Google
14.2 Sistemas multiagente 207
(a)
(b)
mi mi mi mi mi
norte
S
AEE mi
S
E4 NE5 S2
(C)
Análisis
gramática
de gráficos
gráfica
AMBIENTE
Inferencia
Regla
basada en reglas
base
Comando
de dirección,
Direccion
mensaje
AGENTE generador de
comandos
Fig. 14.2 a Un mundo rotado de laberintos, b la ruta a la salida en el mundo rotado, c un ejemplo
de una estructura de agente
14.2 Sistemas multiagente
Para resolver problemas muy difíciles, podemos implementar equipos de agentes que interactúan.
Estos equipos se denominan sistemas multiagente (MAS). Hay cuatro características básicas de un
sistema multiagente [295]:
Machine Translated by Google
208 14 arquitecturas cognitivas
PIZARRA Controlador de pizarra
Agente de gestión de
subsistemas
AMBIENTE
Agente de reconocimiento de
comportamiento de componentes
Agente de supervisión de
componentes
Fig. 14.3 Un sistema multiagente ejemplar basado en la arquitectura de pizarra
• ningún agente puede resolver el problema por sí mismo,
• el sistema no está controlado de forma centralizada,
• los datos se distribuyen en el sistema,
• la computación en el sistema se realiza de forma asíncrona.11
La forma de comunicación entre agentes es un tema clave en la teoría de los sistemas
multiagente. Hay dos escenarios básicos. El primer escenario se basa en la
arquitectura de pizarra [132]. En la figura 14.3 se muestra un ejemplo12 . Los agentes se
comunican escribiendo y leyendo mensajes hacia y desde un repositorio jerárquico global
llamado pizarra. Desempeña un papel similar al de la memoria de trabajo en los sistemas basados en reglas.
sistemas y puede contener hipótesis a verificar, resultados parciales de una inferencia
proceso, etc. Los agentes en los sistemas de pizarra se denominan fuentes de conocimiento.
Un distinguido agente desempeña el papel de controlador de pizarra. Es responsable de enfocar
atención de los agentes a los subproblemas a resolver, gestionar el acceso a la pizarra,
etc.
Los agentes en los sistemas de pizarra suelen crear una estructura jerárquica correspondiente
a los niveles de abstracción de la estructura de información de la pizarra. como se puede ver
En la figura 14.3, los agentes ubicados en el nivel más bajo realizan un monitoreo simple de los
componentes de un equipo complejo, que es el entorno del sistema multiagente.
11Un sistema multiagente es un sistema distribuido, es decir, es un sistema formado por componentes informáticos
independientes. Una forma asincrónica de computación significa aquí que no asumimos ninguna
restricciones de tiempo para realizar cálculos por estos componentes. Por supuesto, si pudiéramos
imponer restricciones de tiempo (el modelo síncrono), entonces seríamos capaces de controlar todo
proceso de cómputo. Desafortunadamente, en los sistemas multiagente no podemos asumir cuánto tiempo
requiere un agente para resolver su subproblema.
12El ejemplo se analiza en el artículo: Behrens U., Flasi ́nski M., et al.: Recent developments of
el sistema experto ZEUS. Trans. IEEE. Ciencia nuclear 43 (1996), 65–68.
Machine Translated by Google
14.2 Sistemas multiagente 209
Cada uno de estos agentes lee información que describe la situación actual en el componente
supervisado. Luego, identifica el estado actual de este componente y realiza la acción de
enviar un mensaje sobre este estado a un agente de nivel superior. Así, el agente de nivel
más bajo actúa según el principio: percepciónacción. Un agente de este tipo se denomina
agente reflejo.
En un nivel superior se ubican los agentes que reconocen el comportamiento de los
componentes en series temporales. Dichos agentes no solo pueden percibir un solo evento,
sino que también pueden monitorear procesos, es decir, pueden recordar secuencias de
eventos. Como resultado de monitorear un proceso, el estado interno de tal agente puede
cambiar.13 En algunos estados, el agente puede realizar ciertas acciones. Un agente de este
tipo se denomina agente reflejo con estados
internos (o agente basado en modelos).14 Dado que los componentes del equipo se
agrupan en subsistemas que deben ser supervisados por el sistema multiagente, los agentes
administradores se ubican en el nivel más alto. de la jerarquía. Estos agentes hacen uso de
información entregada por agentes de niveles inferiores para tomar decisiones óptimas. Un
agente de este nivel toma decisiones después de comunicarse (a través de la pizarra) con
otros agentes de este nivel, ya que el subsistema que supervisa no funciona
independientemente de otros subsistemas del equipo. Un agente de gestión debe ser capaz
de determinar un objetivo que debe lograrse en cualquier situación específica en el medio
ambiente. Por lo tanto, un agente de este tipo se denomina agente basado en objetivos.
En el ejemplo anterior, no se ha definido un agente basado en utilidades . Un agente de
este tipo determina objetivos para alcanzar la máxima satisfacción (tratada como una emoción
positiva) tras su consecución. La idea principal de este agente se basa en la teoría valorativa
de las emociones introducida en el siglo XX por Magda Arnold.15 Según esta teoría, una
evaluación (valoración) de una situación percibida da como resultado una respuesta
emocional, que se basa en esta evaluación. Sin embargo, en el caso de un agente basado
en la utilidad, el problema principal se relaciona con la asignación de valores numéricos a sus
estados internos (emocionales) .
En el segundo escenario de comunicación entre agentes se utiliza el modelo de paso de
mensajes . Este modelo se basa en la teoría de los actos de habla, inspirado en el concepto
Sprachspielen de Wittgenstein.16 El modelo fue introducido por John L. Austin17 en la
segunda mitad del siglo XX [13]. De acuerdo con esta teoría, al pronunciar ciertas oraciones,
13 Los cambios de estados internos de un agente se pueden simular con la ayuda de un autómata finito
presentado en el Cap. 8.
14La diferencia entre un agente reflejo y un agente reflejo con estados internos es análoga a la diferencia
entre un ser humano que reacciona inmediatamente, de manera no reflexiva, después de percibir un
estímulo y un ser humano que no reacciona inmediatamente, sino que observa una situación y luego
realiza una acción si su estado interno cambia (p. ej., de estar tranquilo a estar molesto).
15Magda B. Arnold—profesora de la Universidad de Loyola en Chicago y de la Universidad de Harvard.
Su trabajo se refiere principalmente a la psicología de las emociones. Fue conocida como una mujer
infatigable. En sus noventa estaba escalando colinas. Murió cuando tenía casi 99 años.
16El concepto de Sprachspielen se introduce en el cap. 15.
17John Langshaw Austin—profesor de filosofía en la Universidad de Oxford, uno de los científicos más
conocidos de la escuela analítica británica. Su trabajo se refiere a la filosofía del lenguaje, la filosofía de
la mente y la filosofía de la percepción.
Machine Translated by Google
210 14 arquitecturas cognitivas
Reconocimiento de
Supervisión de
comportamiento
componentes
de componentes
agente
Agente de agente
gestión de
subsistemas
Reconocimiento de
Supervisión de
comportamiento
componentes
de componentes
agente
agente AMBIENTE
Reconocimiento de
Agente de Supervisión de
comportamiento
gestión de componentes
de componentes
subsistemas agente
agente
Fig. 14.4 Un sistema multiagente ejemplar basado en el paso de mensajes
llamados por Austin performatives, en ciertas circunstancias no es solo decir algo,
pero realizando una acción de cierto tipo. Por ejemplo, pronunciar una fórmula de matrimonio
por un sacerdote resulta en un acto de matrimonio. En el caso de los sistemas multiagente, los performativos
corresponden a actos de comunicación, que son realizados por un agente en relación con
otros agentes Por ejemplo, pueden tener la forma de una consulta sobre algo,
una demanda para realizar alguna acción, una promesa de realizar alguna acción, etc. En este
Los agentes modelo se comunican de acuerdo con reglas predefinidas, lo que debe garantizar la
resultado performativo de los mensajes enviados.
Un ejemplo del esquema de un sistema multiagente basado en el paso de mensajes
El modelo se muestra en la Fig. 14.4. 18 Como se puede ver, los agentes interactúan directamente entre sí.
otro. Estas interacciones se realizan mediante el envío de mensajes performativos, que
resultar en influir en el medio ambiente de la manera requerida.
Nota bibliográfica
Una buena introducción a los sistemas multiagente se puede encontrar en [80, 88, 274, 312, 319].
Las perspectivas para el desarrollo futuro de las arquitecturas cognitivas se analizan en [77].
18El ejemplo se analiza en el artículo Flasi ́nski M.: Automatabased multiagent model as a tool
para la construcción de sistemas de control inteligente en tiempo real. Apuntes de clase en inteligencia artificial 2296
(2002), 103–110.
Machine Translated by Google
Parte III
Problemas seleccionados en inteligencia artificial
Machine Translated by Google
Capítulo 15
Teorías de la Inteligencia en Filosofía
y Psicología
Los enfoques básicos para la simulación de habilidades cognitivas sensoriales/intelectuales,
como la resolución de problemas, el reconocimiento de patrones, la construcción de
representaciones de conocimiento, el aprendizaje, etc., se han presentado en partes anteriores
del libro. Los sistemas de TI construidos sobre la base de estos enfoques se denominan sistemas
de Inteligencia Artificial. Si a uno se le pregunta "¿Qué es la inteligencia artificial?", Podríamos,
por lo tanto, responder que, desde el punto de vista de las ciencias de la computación, la
inteligencia artificial es una característica de los sistemas de TI construidos sobre la base de tales
enfoques. Por supuesto, nadie estaría satisfecho con tal respuesta, porque tal definición no
explica el meollo del asunto. Discutimos este tema de la Inteligencia Artificial en esta parte de la monografía.
Como veremos, la noción de inteligencia se define de diversas maneras en las
teorías filosóficas y psicológicas, al igual que conceptos relacionados como mente,
cognición, conocimiento, etc. Parece que esta es una razón para las disputas sobre el
término inteligencia artificial. Por lo tanto, presentamos interpretaciones filosóficas y
psicológicas de estas nociones básicas en este capítulo.
En la primera sección presentamos los principales enfoques filosóficos sobre cuestiones
de cognición y mente. Esta presentación es necesaria para discutir varias ideas sobre
inteligencia artificial en el Cap. 17 En la segunda sección se presentan varias definiciones
y modelos de inteligencia en psicología. Se utilizarán principalmente para determinar una
lista de habilidades cognitivas/mentales. Esta lista se utilizará para presentar las áreas de
aplicación de los sistemas de IA en el Cap. dieciséis.
15.1 Mente y cognición en epistemología
Los problemas de la mente, la cognición y la inteligencia se estudian en un área de la filosofía llamada
epistemología. En esta sección limitamos nuestra presentación de los puntos de vista de los filósofos
solo a aquellos que pueden formar una base para una discusión sobre la Inteligencia Artificial.
Parménides de Elea introdujo la distinción entre la percepción sensorial y la percepción
mental en el siglo V a.
© Springer International Publishing Suiza 2016 M. Flasi 213
´nski, Introducción a la Inteligencia Artificial, DOI
10.1007/9783319400228_15
Machine Translated by Google
214 15 Teorías de la Inteligencia en Filosofía y Psicología
forma. Tal cognición intuitiva directa a través de una percepción del meollo del asunto es
llamado noesis (νo´ησ ις [nóesis]). El alma encarnada puede recordar este conocimiento (durante
´
una percepción del mundo), que se llama anamnesis (αν´ αμνησ ις [ánámnesis]).1
El conocimiento matemático (διαν´ oια [diánoia]) se ubica en la jerarquía del conocimiento en
un nivel más bajo que la noesis. Estos dos tipos de conocimiento se consideran justificados
´ ´
ημη
creencia verdadera, que en conjunto se llama episteme (επ ισ τ [épistéme]). Contrariamente a
episteme, el mundo físico se conoce a través de los sentidos de una manera incierta, tipo doxa
(δo´ξα [doksa]) [228], como una sombra de la realidad (la alegoría de la caverna).
A diferencia de Platón, Aristóteles (384 a. C.322 a. C.) negó que los humanos tuvieran
ideas.2 El intelecto (mente) (νoυς˜ [noús], intellectus) es “la parte del alma por
que conoce y comprende”. Durante el proceso de comprensión, el intelecto
opera de la siguiente manera. Las cosas se perciben a través de los sentidos. Sobre la base
de la experiencia sensorial, el intelecto forma imágenes mentales llamadas fantasmas. El intelecto
transforma los fantasmas en conceptos (nociones) por abstracción. La abstracción es la
acto de aislar los conceptos universales (especies inteligibles, inteligibles), que son
˜
extractos intelectuales, de los fantasmas. El intelecto activo (νoυς π [noús poietikós], oιητ ικo´ς
intellectus agens) ilumina el fantasma, y así el
concepto universal creado a partir del fantasma es captado por el intelecto potencial
˜
(νoυς πα ητ ικ o´ς [noús pathetikós], intellectus in potentia) [9].
Los conceptos crean una jerarquía. Un concepto de especie se define dando su género más
cercano (genus proximus) y su diferencia específica ( differentia specifica), que
distingue a los miembros de esta especie de otros miembros de este género más cercano. En
de esta manera los conceptos crean una jerarquía, que puede ser representada por un árbol de conceptos.3
Representaciones lingüísticas de conceptos, es decir, los términos pueden unirse para formar proposiciones.
Una proposición es un enunciado que es verdadero o falso. Las proposiciones también pueden crear
una especie de jerarquía, que se basa en la relación premisaconclusión. una inferencia
de una premisa más general a una premisa menos general es de naturaleza deductiva y
es consistente con el orden lógico. Aristóteles desarrolló la teoría del silogismo que
implica un razonamiento deductivo en el que la conclusión se infiere a partir de dos premisas.
Sin embargo, en el orden psicológico de conocer la realidad, una proposición general es
derivados de observaciones específicas. Tal razonamiento se llama inducción [10].
Santo Tomás de Aquino (12251274) reinterpretó y desarrolló la epistemología aristotélica [285].
Hay dos grandes potencias de la mente (mens): el intelecto (intel lectus), que es una potencia
cognoscitiva, y la voluntad (voluntas), que es una apetitiva4
fuerza. Hay tres operaciones genéricas (actos) del intelecto (tres operationes
rationis). La simple aprehensión de lo que algo es (indivisibilium intelligen tia), que consiste en
comprender un concepto por abstracción, es el primer acto. Pronunciar un juicio (componere et
dividere), que consiste en enunciar una proposición
que se afirma o se niega, es la segunda operación. El tercer acto, llamado razonamiento.
1Recordemos que la idea de que ciertas habilidades son innatas se llama nativismo.
2Recordemos que tal punto de vista se llama empirismo genético.
3Hemos introducido dichos árboles conceptuales en forma de redes semánticas que representan ontologías
insecto. 7.1.
4 Tomás de Aquino define el apetito como “todas las formas de inclinación interna”.
Machine Translated by Google
15.1 Mente y cognición en epistemología 215
(ratiocinare), consiste en pasar de una proposición a otra según reglas lógicas (principios). Así, la
razón (ratio), en el sentido del sustantivo abstracto, puede definirse como la función razonadora de
un intelecto o cognoscitiva por razonamiento discursivo.
Santo Tomás de Aquino distinguió, siguiendo a Aristóteles, la mente práctica (intellectus
practicus), que es utilizada por el ser humano para planificar, definir estrategias de actividades, tomar
decisiones, etc. de la mente teórica (intellectus speculativus), que permite al ser humano ser
comprender y contemplar. También se puede hacer una distinción entre el intelecto disposicional
(intellectus in habitu), que tiene conceptos universales básicos y está preparado para la intelección
y el intelecto actualizado (logrado) (intellectus adeptus), que ya ha alcanzado el conocimiento.5
Santo Tomás de Aquino definió la inteligencia ( intelectualia) como “el acto mismo del intelecto, que
es entender”6 [285]. En otras palabras, inteligencia significa un acto cognitivo, que es realizado por
el intelecto logrado.
La percepción mental caracterizada de esta manera está precedida por la percepción sensorial.
Santo Tomás de Aquino distinguió los sentidos externos de los sentidos internos. El sensorio externo
incluye la vista, el oído, el gusto, el olfato y el tacto. Hay cuatro sentidos internos. El sentido común
(sensus communis) percibe los objetos de los sentidos externos y los sintetiza en una representación
coherente. La imaginación (imaginatio, phantasia) produce una imagen mental de algo en su
ausencia. La memoria (vis memorativa) almacena percepciones que han sido conocidas y evaluadas
con respecto a los intereses del perceptor. Tales percepciones son llamadas intenciones por Santo
Tomás de Aquino. Se pueden recordar a voluntad. La evaluación de una percepción con respecto a
los intereses del perceptor, es decir, si es beneficiosa (útil) o dañina, la realiza la facultad cogitativa,
llamada también razón particular (vis cogitativa, ratio particularis).
El poder cogitativo capacita así al ser humano para reaccionar ante los estímulos de manera
adecuada, lo cual es una condición necesaria para el correcto comportamiento en el medio.7
Guillermo de Ockham, Occam (12881348) es conocido por el principio de parsimonia (lex
parsimoniae), también llamado Navaja de Ockham. Establece que “las entidades no deben
multiplicarse más allá de la necesidad” (Entia non sunt multiplicanda sine necessitate), lo que
significa que si se pueden usar dos teorías para sacar las mismas conclusiones, entonces la teoría
más simple es mejor. Según Ockham, el razonamiento incorrecto a menudo resulta de un uso
incorrecto, desde un punto de vista lógico, del lenguaje. Así, el análisis lógico es más importante que
el discurso especulativo [213]. Por lo tanto, a veces se le considera un precursor de la filosofía
analítica.
René Descartes (15961650) abordó el problema de la relación entre mente y materia,
denominado problema mentecuerpo, que es uno de los temas clave discutidos en el área de la
Inteligencia Artificial. Afirmó que hay una distinción rígida
5Esta distinción fue adoptada por la filosofía escolástica europea a partir de la filosofía islámica. Ibn Sina,
Avicena (9801037) ya utilizaba ambos conceptos: intellectus in habitu (al'aql bilmalakah) e intellectus
adeptus (al'aql almustafâd). Luego, estos conceptos fueron adoptados y reinterpretados por los escolásticos
(San Alberto Magno, Santo Tomás de Aquino).
6Añadiendo también que a veces “las sustancias separadas que llamamos ángeles se llaman inteligencias”.
7La evaluación de una percepción respecto de los intereses de un perceptor la realizan los animales por
instinto natural. En el caso de los animales hablamos de poder estimativo (natural) (vis aestimativa).
Machine Translated by Google
216 15 Teorías de la Inteligencia en Filosofía y Psicología
entre la mente (res cogitans), que es una sustancia inmaterial, y la materia (res
extensa). El conocimiento es cierto, si es claro y distinto (claro y distinto) [69].
El conocimiento matemático es claro y distinto. Por lo tanto, los sistemas de conocimiento deben
construirse de la misma manera que en matemáticas. El conocimiento genuino se adquiere
por la razón con la ayuda de ideas innatas (ideae innatae) y es independiente de los sentidos
experiencia.8
Thomas Hobbes (15881679) negó la existencia de cualquier sustancia no material (monismo
materialista) [138]. Según él, el ser humano es una máquina compleja. Hobbes resolvió el problema
mentecuerpo cartesiano al afirmar que
la conciencia puede reducirse a una actividad corporal. Las operaciones cognitivas son de
naturaleza mecánica, es decir, la experiencia sensorial consiste en un efecto mecánico sobre un
cuerpo. El razonamiento es una forma de cálculo, es decir, es una manipulación de símbolos.
Baruch Spinoza (16321677) propuso otra solución al problema mentecuerpo [284]. Definió el cuerpo
y la mente como dos aspectos, atributos (attributa) de una sustancia universal (monismo neutral).
Aunque no existe una interacción causal entre
fenómenos mentales y materiales, ocurren en paralelo, es decir, están programados
de tal manera que si ocurre algún evento mental, entonces un evento material paralelo
ocurre (paralelismo psicofísico).
Como consecuencia de su teoría de las mónadas, Gottfried Wilhelm Leibniz (1646–
1716) afirmó que todo conocimiento se adquiere independientemente de cualquier experiencia (apriorismo
radical) [176]. Según él, toda proposición válida es un análisis
proposición. Por lo tanto, toda proposición válida puede probarse. Por lo tanto, Leibniz llevó
investigamos para definir un lenguaje simbólico universal (ars charactera, scien tia generalis), en el que
todas las oraciones válidas serían decidibles mecánicamente.9
Contrariamente a las opiniones de Descartes y Leibniz, John Locke (16321704) sostuvo que el
conocimiento se obtiene únicamente mediante la experiencia sensorial10 [185]. Una experiencia
puede referirse al mundo externo que influye en nuestros sentidos (externos), y luego habla
acerca de la sensación. También puede concernir a nuestra mente, es decir, puede relacionarse con la conciencia de nuestro
propia actividad intelectual, lo que Locke llama reflexión (sentido interior). Sensación
es menos cierto que la reflexión, sin embargo el primero precede al segundo. De hecho, Locke
señaló una importante fuente de conocimiento, que es la introspección.
David Hume (17111776) definió dos tipos de conocimiento: relaciones entre ideas
y cuestiones de hecho. El primer tipo, que incluye matemáticas y otros conceptos abstractos
modelos, es cierto, aunque poco informativo. El segundo tipo, que se refiere a las proposiciones sobre la
naturaleza de los objetos existentes, tan interesantes para nosotros, no es seguro, por desgracia [144].
Hume se mostró escéptico acerca de nuestra capacidad para adquirir conocimiento por medio de la razón.
Afirmó que el conocimiento interesante sobre el mundo exterior se adquiere por inferencia inductiva, que
se basa en nuestro instinto natural.
8Recordemos que tal visión se llama racionalismo metodológico (apriorismo).
9Si Leibniz hubiera tenido éxito, entonces los filósofos, en lugar de disputar, formularían sus opiniones
con la ayuda de ars charactera y luego calcular una solución. Al autor le parece que es
mejor que Leibniz nunca completó su investigación.
10Recordemos que tal visión se llama empirismo metodológico.
Machine Translated by Google
15.1 Mente y cognición en epistemología 217
Immanuel Kant (17241804) trató de reunir tanto a empiristas como a racionalistas.
puntos de vista sobre la cognición. Afirmó que la cognición se basa tanto en la experiencia
y las ideas a priori, ya que “los pensamientos sin contenido son vacíos, las intuiciones sin conceptos
son ciegas”. [154]. Distinguió los siguientes tres tipos de proposiciones.
Una proposición analítica expresa a priori sólo lo que está contenido en el concepto de
su tema Por lo tanto, tales proposiciones se utilizan para explicar el conocimiento ya existente.
en nuestra mente, ya que o está contenido en la definición del sujeto o puede ser
derivado de esta definición. Tales proposiciones son independientes de la experiencia y
están presentes en nuestra mente (a priori).
Los dos tipos restantes de proposiciones, llamadas proposiciones sintéticas, se expanden
nuestro conocimiento, porque añaden nuevos atributos a sus sujetos. Una proposición sintética a
posteriori se formula sobre la base de la experiencia adquirida.11 Una proposición sintética
proposición a priori amplía nuestro conocimiento y es cierta. Los empiristas negaron que
hay tales proposiciones. Sin embargo, Kant afirmó que tales proposiciones existen.12
Para explicar cómo se crean en nuestra mente las proposiciones sintéticas a priori,
13
desarrolló la filosofía trascendental. Según esta filosofía, las sensaciones
(Empfindung) percibidos por los sentidos se combinan con la ayuda de a priori puro
formas de intuición sensorial (Anschauung), es decir, espacio y tiempo, en sus representaciones
mentales (Vorstellung). Luego, el intelecto (facultad de comprensión) (Verstand), usando
categorías a priori del entendimiento,14 combina estas representaciones en conceptos. Finalmente,
la facultad de juicio formula proposiciones con la ayuda de a priori.
normas.
John Stuart Mill (1806–1873) consideró que el razonamiento inductivo era más importante para la
adquisición de conocimientos que el razonamiento deductivo. Los principios generales deben
ser conocido para poder utilizar la deducción. Como empirista, Mill afirmó que la experiencia es una
fuente de conocimiento. Sin embargo, la experiencia se refiere a un solo evento. De este modo,
uno debe usar el razonamiento inductivo para formular principios generales. Molino
desarrolló esquemas de razonamiento inductivo que son útiles para definir relaciones causales,
llamados cánones de inducción de Mill [202].
Franz Brentano (18381917) afirmó que la experiencia es la única fuente de conocimiento, sin
embargo, la experiencia en forma de percepción interna (introspección). Él
reintrodujo, después de la filosofía escolástica, el concepto de intencionalidad, que es un
propiedad de un acto mental que significa dirigir a cierto objeto (intencional) (de
Latín intentere— dirigir hacia algo) [38]. Por la intencionalidad, que es
una propiedad de la mente humana, podemos distinguir los fenómenos mentales de los físicos
fenómenos.
Para Edmund Husserl (18591938), uno de los fundadores de la fenomenología, la intuición era
la fuente básica del conocimiento [145]. La intuición es una condición tanto de la deducción como de la
11 Las proposiciones empíricas en física, química, biología, etc. son proposiciones sintéticas a posteriori.
Sin embargo, desde el punto de vista de la lógica estas proposiciones son inciertas.
12Kant consideraba que las proposiciones matemáticas (por ejemplo, los teoremas) eran proposiciones sintéticas a priori.
13Trascendental significa aquí trascender la experiencia.
14Kant definió doce de estas categorías.
Machine Translated by Google
218 15 Teorías de la Inteligencia en Filosofía y Psicología
inducción, ya que proporciona premisas a estos dos tipos de razonamiento. La deducción y la
inducción solo pueden usarse para derivar indirectamente la verdad.
Dentro de la filosofía analítica, Ludwig Wittgenstein (18891951) y sus colegas que formaban
el Círculo de Viena15 intentaron definir un lenguaje formalizado que pudiera ser lo
suficientemente preciso y sin ambigüedades como para convertirse en un lenguaje para una
ciencia unificada (Ein heitswissenschaft).16 La posibilidad de determinar empíricamente el El
verdadero significado de las expresiones lingüísticas fue el supuesto básico de esta investigación.
En sus obras posteriores, Wittgenstein afirmó que la separación del significado de las
expresiones de su uso en el lenguaje vivo es imposible y que las nociones pueden tener
significado, incluso si no están definidas con precisión [316]. Esto resulta del hecho de que el
lenguaje (natural) que usamos es un conjunto de juegos de lenguaje (Sprachspielen),17 que
proceden de acuerdo con reglas y lógicas específicas.
Aunque Kurt Gödel (19061978) fue más un lógico y matemático que un filósofo, su trabajo
influyó considerablemente en la epistemología. En 1931 publicó su primer teorema de limitación
(incompletitud) [110]. Dice que si un sistema formal que incluye la aritmética de los números
naturales es consistente,18 entonces es incompleto.19 Hablando intuitivamente, Gödel mostró
que en las teorías formales no triviales existen oraciones verdaderas que no pueden probarse
en estas teorías.
15.2 Modelos de Inteligencia en Psicología
Como hemos visto en una sección anterior, existen varios puntos de vista sobre la naturaleza
de la cognición y la mente en la filosofía. En lo que se refiere al concepto de inteligencia, nos
encontramos con una situación similar en psicología.20 A los efectos de nuestras consideraciones
sobre la inteligencia artificial, proponemos una definición que es una síntesis de los alcances
de las definiciones conocidas de la literatura. Así, la inteligencia (humana) puede definirse como
un conjunto de habilidades que permiten:
15El Círculo de Viena fue un influyente grupo de filósofos, matemáticos y físicos fundado en la década de
1920. Sus miembros más conocidos fueron, entre otros, Kurt Gödel, Rudolph Carnap, Moritz Schlick y Otto
Neurath.
16El tema de tal lenguaje ya había sido de gran importancia para Guillermo de Ockham y Gottfried Wilhelm
Leibniz mencionados anteriormente.
17Un juego de lenguaje consiste en una secuencia de expresiones y acciones en un contexto determinado.
Por ejemplo, el diálogo de un hombre y una mujer por si quiere recogerla o la conversación de un profesor y
una alumna durante un examen en la universidad. Así, nuestra vida puede ser tratada como una secuencia de
juegos de lenguaje. Cada juego de lenguaje se caracteriza por su gramática específica, así como cada juego
se caracteriza por sus reglas específicas.
18Un sistema formal es consistente si no contiene una contradicción.
19 Un sistema formal es completo si para cualquier oración perteneciente al sistema, la oración o su negación
son demostrables en este sistema.
20En esta sección describimos modelos psicológicos seleccionados de inteligencia. Se hace una selección con
respecto a la discusión adicional del concepto de inteligencia artificial. Los estudios de inteligencia en psicología
se pueden encontrar, por ejemplo, en [108, 290, 291].
Machine Translated by Google
15.2 Modelos de Inteligencia en Psicología 219
• adaptarse a un entorno cambiante, y • realizar una actividad
cognitiva, que consiste en crear y operar abstractos
estructuras
En la definición no hemos enumerado deliberadamente tales habilidades, porque, como veremos
más adelante, existen diferencias entre varios modelos psicológicos con respecto a este aspecto.
Intentaremos identificar tales habilidades dentro de cada modelo sucesivo discutido a continuación.
El segundo constituyente de nuestra definición ha sido formulado, ya que aquí no queremos
atribuir inteligencia a todos los organismos biológicos que poseen mecanismos de adaptación. La
expresión estructura abstracta corresponde, en principio, a los términos psicológicos concepto
abstracto, representación mental y estructura cognitiva (en psicología cognitiva). Sin embargo,
asumimos que no es necesario crear estructuras abstractas para representar el conocimiento
sobre un entorno, ya que no queremos excluir de nuestras consideraciones las construcciones
abstractas definidas, por ejemplo, en lógica y matemáticas.
Hay dos tipos básicos de modelos de inteligencia en psicología. En los modelos jerárquicos, las
habilidades mentales se superponen y crean una estructura jerárquica. Por el contrario, en los
modelos de aptitudes múltiples, las habilidades mentales se tratan como un conjunto de factores
equivalentes e independientes. En primer lugar, discutimos los modelos que pertenecen al primer enfoque.
La teoría bifactorial de la inteligencia introducida por Charles E. Spearman21 en 1923 [282] es
una teoría genérica para modelos jerárquicos. En la teoría se distingue un factor general g, que
corresponde a la inteligencia general, y varios factores específicos s1,s2,...,sn, que representan
habilidades mentales que se utilizan para resolver varios tipos de problemas.
La inteligencia general ( factor g) fue caracterizada por Spearman con la ayuda de tres principios
noegenéticos22 [142]. El principio de aprehensión de la experiencia dice que la aprehensión del
significado de una percepción recibida es la primera operación de la inteligencia general. Debido a
esta operación se crean elementos básicos que describen un problema, llamados fundamentos .
Durante la segunda operación, según el principio de educción de relaciones, se descubren
23
relaciones entre fundamentos.
De acuerdo con el principio de deducción de correlatos, la tercera operación consiste en descubrir,
a través del razonamiento, más relaciones sobre la base de las relaciones identificadas durante la
segunda operación. Estas relaciones adicionales no se disciernen directamente a través de la
deducción de correlatos [142].
Notemos que las operaciones definidas por los principios noegenéticos pueden interpretarse
como comprender conceptos, emitir juicios24 y razonar (en el sentido de pasar de una proposición
a otra). Por lo tanto, son análogos a
21Charles Edward Spearman—profesor de psicología en el University College London. También es conocido
por su contribución a las estadísticas (correlación de rango de Spearman).
22 Spearman usó el término noegenética con referencia a la noesis platónica , que se presentó en la
sección anterior. Recordemos que noesis significa cognición intuitiva directa a través de una intuición en el
meollo de la cuestión [142].
23Aquí, educción significa descubrir algo, del latín: educere.
24En este caso, pronunciar juicios definiendo relaciones.
Machine Translated by Google
220 15 Teorías de la Inteligencia en Filosofía y Psicología
los tres actos genéricos del intelecto (tres operationes rationis) definidos por Tomás de Aquino,
que se han presentado en un apartado anterior. Según Alfred Binet25 pronunciar juicios es la operación
fundamental [26]. volveremos a esto
opinión en el último capítulo, en el que se trata el tema de la inteligencia artificial .
En principio, los diseñadores de sistemas de IA no intentan simular inteligencia general.26
En cambio, se desarrollan métodos que simulan habilidades mentales específicas de un ser humano. Más
adelante, hacemos un breve estudio de los modelos psicológicos de inteligencia que
identificar habilidades mentales específicas. Una discusión de una simulación de estas habilidades en IA
sistemas está contenida en el siguiente capítulo.
En 1997 Linda S. Gottfredson27 realizó un análisis de las habilidades mentales que
se prueban durante un proceso de selección de personal [114]. Estas habilidades corresponden a
subáreas de investigación en Inteligencia Artificial. Las siguientes habilidades mentales se identificaron como
importantes: resolución de problemas, razonamiento, toma de decisiones, planificación, (verbal)
habilidades lingüísticas y capacidad de aprendizaje.
Medio siglo antes de las investigaciones de Gottfredson, Louis L. Thurstone28 identificó
un modelo de habilidades mentales primarias[303]. Este modelo pertenece a la aptitud múltiple
acercarse. Para nuestras consideraciones posteriores elegimos la percepción (tratada como efectiva
reconocimiento de patrones) del conjunto de estas habilidades. Factores tales como facilidad numérica,
la visualización espacial y la memorización (memoria asociativa) se implementan en sistemas de TI
estándar . El razonamiento y las habilidades lingüísticas ya se han identificado en
la base del modelo de Gottfredson. Vale la pena señalar que Thurstone influyó
notablemente el área de reconocimiento de patrones, principalmente debido a su modelo estadístico en la
teoría de detección de señales [302]. En la década de 1930 identificó cuestiones tan cruciales de la modernidad
reconocimiento de patrones como reconocimiento de patrones animados y reconocimiento de patrones 3D
realizado sobre la base de varios puntos de vista percibidos por un observador en movimiento.
En 1947 Jean Piaget29 identificó la inteligencia cinestésica durante la investigación de las etapas
del desarrollo mental de un niño [226]. Está relacionado tanto con las habilidades de locomoción como con
las de manipulación y su desarrollo tiene lugar desde el nacimiento hasta los dos años (etapa sensori
motora). Piaget distinguió dos tipos de manipulación: manipulación inespecífica
ción, que no es adecuada a la especificidad de un objeto, y la manipulación específica, 30
que implica ajustar los movimientos a la especificidad de un objeto.
25Alfred Binet: profesor de psicología en la Sorbona, director del Laboratorio de Psicología Experimental de la Sorbona
(18911894). Es conocido como el inventor de la primera inteligencia.
prueba (la prueba de coeficiente intelectual).
26 Aparte de los diseñadores de arquitecturas cognitivas genéricas .
27Linda Susanne Gottfredson—profesora de psicología educativa en la Universidad de Delaware
y un sociólogo. Es conocida por la declaración pública que Mainstream Science of Intelligence firmó
por 51 investigadores, en el que afirma que las habilidades mentales son diferentes para varias razas (estadísticamente).
28Louis Leon Thurstone—profesor de psicología en la Universidad de Chicago y mecánico
ingeniero (maestría en ingeniería mecánica de la Universidad de Cornell). Uno de los padres de la psicometría y la
psicofísica. Fue presidente de la Asociación Americana de Psicología.
29En el capítulo anterior se ha incluido una nota sobre Jean Piaget, en la que hemos discutido
nociones de asimilación y acomodación y su influencia en el concepto de agente.
30La manipulación específica se desarrolla a partir de los 8 meses.
Machine Translated by Google
15.2 Modelos de Inteligencia en Psicología 221
En psicología también se consideran tipos específicos de inteligencia. En 1920 Edward L.
Thorndike31 distinguió la inteligencia social [300]. Este tipo de inteligencia se puede definir como un
conjunto de habilidades que permiten establecer relaciones interpersonales, lograr ajuste social e influir
en las personas. Estas habilidades se pueden dividir en conciencia social (p. ej., la capacidad de
interpretar el comportamiento de las personas) y facilidad social (p. ej., la capacidad de generar
comportamiento, que informa a otros sobre nuestro estado interno) [112].
La inteligencia emocional está relacionada con la inteligencia social. Se define como un conjunto de
habilidades que permiten percibir las emociones de los demás, controlar las propias emociones y utilizar
las emociones en los procesos mentales y durante la resolución de problemas.
Recientemente también se han llevado a cabo investigaciones sobre la implementación de sistemas
de IA que simulan la creatividad humana, como, por ejemplo, la creatividad musical o la creatividad
visual. Dichos sistemas intentan simular habilidades creativas para desarrollar ideas originales, arte
visual o soluciones (por ejemplo, en arquitectura). La teoría de la estructura del intelecto presentada por Joy P.
Guilford32 en 1967 [116] es uno de los modelos psicológicos más importantes relacionados con la
creatividad. En este modelo se definen los siguientes procesos intelectuales33: cognición, operaciones
de memoria, producción convergente, producción divergente y evaluación de la información. Mientras
que una producción convergente consiste en derivar una única solución válida para un problema
estándar dado (es decir, resolución de problemas en el sentido utilizado en IA), durante una producción
divergente se extraen ideas originales a través de la generación creativa de múltiples soluciones
posibles. La calidad de una producción divergente se puede evaluar sobre la base de criterios tales
como el número de ideas generadas, la variedad de enfoques utilizados para resolver un problema y la
originalidad de las ideas.
En la psicología cognitiva se estudian los procesos mentales (cognitivos) para modelar la
inteligencia. Este enfoque es interesante con respecto a la investigación en sistemas de IA, ya que un
proceso, interpretado como una transformación de ciertas estructuras de información en otras, es un
concepto fundamental de la informática. La interpretación de un proceso mental en psicología es
análoga a la utilizada en informática. Un proceso mental se utiliza para crear y transformar una estructura
cognitiva, que es una representación mental de un cierto aspecto de una realidad externa. En particular,
las estructuras cognitivas pueden representar nuestro conocimiento. a los modelos de representación
del conocimiento, que se discutirán en el 34 Así, en Inteligencia Artificial se corresponden
próximo capítulo.
Los procesos mentales se pueden dividir en varias categorías básicas, por ejemplo, procesos de
percepción, procesos de atención, procesos de memoria y procesos de pensamiento. Aparte
31 En la sec. 3.1.
32Joy Paul Guilford—profesor de psicología en la Universidad del Sur de California. Su trabajo se refiere
principalmente al estudio psicométrico de la inteligencia. Ha realizado investigaciones para el desarrollo
de pruebas de clasificación para la Fuerza Aérea de EE.UU. Fue presidente de la Sociedad Psicométrica.
33El modelo de Guilford es tridimensional. Además de la dimensión de proceso, contiene una
dimensión de contenido (tipos de información que utilizan los procesos) y una dimensión de producto
(resultados de aplicar procesos a contenidos específicos). Posteriormente, Guilford amplió su modelo,
cf. Guilford JP: Algunos cambios en la estructura del modelo intelectual. Medición Educativa y
Psicológica 48 (1988), 1–4.
34En psicología cognitiva, el concepto de conocimiento está relacionado con el contenido de la memoria a largo plazo.
Machine Translated by Google
222 15 Teorías de la Inteligencia en Filosofía y Psicología
de estas categorías se distinguen35 en la psicología cognitiva los denominados factores metacognitivos ,
que son los encargados de planificar, supervisar y controlar los procesos mentales . La teoría triárquica
de la inteligencia introducida por Robert J. Sternberg36 en 1980 [289] es uno de los modelos más
conocidos basados en procesos mentales (cognitivos).
En resumen, sobre la base de una encuesta de importantes teorías psicológicas, hemos identificado
habilidades mentales/cognitivas específicas que se pueden simular en los sistemas de IA.
Incluyen la percepción y el reconocimiento de patrones, la representación del conocimiento, la resolución
de problemas, el razonamiento, la toma de decisiones, la planificación, el procesamiento del lenguaje
natural, el aprendizaje, la manipulación y la locomoción, la inteligencia social/emocional y la creatividad.
El tema de la simulación de estas habilidades se discute en el siguiente capítulo.
Nota bibliográfica
Una buena introducción a la filosofía ya la historia de la filosofía se puede encontrar en [59, 155, 255].
Las cuestiones epistemológicas se discuten en [33, 143, 178].
Las teorías de la inteligencia en psicología se presentan en [31, 108, 290, 291].
35Si el control se realiza con retroalimentación, entonces nos ocupamos del aprendizaje.
36Robert Jeffrey Sternberg—profesor de psicología en la Universidad de Yale, la Universidad Tufts y la Universidad
Estatal de Oklahoma, Ph.D. estudiante de Gordon H. Bower en la Universidad de Stanford. Fue presidente de la
Asociación Americana de Psicología. Sternberg también es conocido por la teoría triangular del amor.
Machine Translated by Google
capitulo 16
Áreas de aplicación de los sistemas de IA
Antes de discutir el tema de la posibilidad de construir un sistema artificial inteligente en el último
capítulo, ahora resumimos los resultados prácticos relacionados con las áreas de aplicación de los
sistemas de IA.1 Como hemos mencionado en un capítulo anterior, los diseñadores de tales
sistemas no modelan un modelo general . inteligencia, más bien se enfocan en métodos que
simulan habilidades cognitivas/mentales humanas particulares y construcciones correspondientes
tales como modelos de representación del conocimiento. Las áreas de aplicación de los sistemas
de IA se discutirán sobre la base de las habilidades cognitivas humanas identificadas después del
análisis de los modelos psicológicos de inteligencia discutidos en el capítulo anterior.
16.1 Percepción y reconocimiento de patrones
El comportamiento inteligente depende en cierta medida de la percepción del mundo exterior.
Aunque un ser humano percibe con la ayuda de los cinco sentidos, es decir, la vista, el oído, el
gusto, el olfato y el tacto, en la mayoría de los sistemas de IA solo se simulan los dos primeros sentidos.
Desde un punto de vista técnico, tanto el sonido como la imagen son señales unidimensionales o
bidimensionales. (A veces, señales 3D, si se define un modelo espacial del mundo en el sistema).
En los sistemas de IA, la tarea de percibir el sonido o la imagen se divide en dos fases
principales. La primera fase se refiere a la recepción de una señal correspondiente con la ayuda de
un dispositivo sensorial (por ejemplo, una cámara o un micrófono), su preprocesamiento y su
codificación en un formato determinado. Los métodos utilizados en esta fase pertenecen a áreas
convencionales2 de la informática (también automática y electrónica) como la teoría del
procesamiento de señales y la teoría del procesamiento de imágenes. Ambas teorías se desarrollaron notablemente
1En la monografía no presentamos sistemas de IA específicos, porque se están introduciendo continuamente
en el mercado del software. Por lo tanto, este capítulo tuvo que ser actualizado cada año.
2Convencional significa aquí que no necesitan el apoyo de técnicas de IA.
© Springer International Publishing Suiza 2016 M. Flasi ́nski, 223
Introducción a la Inteligencia Artificial, DOI
10.1007/9783319400228_16
Machine Translated by Google
224 16 áreas de aplicación de los sistemas de IA
la segunda mitad del siglo XX. Nos permiten implementar sistemas que superan a los seres humanos
en algunos aspectos de la percepción sensorial.3 En la segunda fase de la
percepción, en la que se ingiere la información sensorial de forma exhaustiva, los sistemas de IA
pueden utilizar métodos pertenecientes a tres grupos de modelos que se han introducido en la
monografía, a saber, reconocimiento de patrones, redes neuronales y reconocimiento de patrones
sintácticos. Notemos que también en estas áreas se han desarrollado muchas técnicas eficientes.
Los sistemas de reconocimiento óptico de caracteres (OCR), los sistemas de visión de robots
industriales, los sistemas de control de calidad óptica en la industria, el análisis de imágenes
satelitales, los sistemas de identificación de objetos militares y los sistemas de imágenes médicas son
algunos ejemplos de aplicaciones prácticas de tales sistemas. Recientemente se han llevado a cabo
investigaciones para construir sistemas que sean capaces no solo de identificar objetos, sino también
de comprenderlos (interpretarlos) [297]. La comprensión de imágenes es especialmente útil en el área
de diagnósticos médicos avanzados [214, 296].
Sin embargo, aún existen desafíos en esta área. El aprendizaje automático es una funcionalidad
crucial de los sistemas de reconocimiento de patrones. En el caso del reconocimiento de patrones
clásicos y las redes neuronales, los modelos contienen técnicas adaptativas de aprendizaje. Por otro
lado, en el reconocimiento de patrones sintácticos el tema del autoaprendizaje de un sistema es más
difícil, ya que se relaciona con el problema de la inducción de la gramática formal. En esta área, la
investigación aún se encuentra en una fase preliminar.
El segundo problema se refiere a la integración inteligente de la información enviada por varios
dispositivos sensoriales al mismo tiempo (por ejemplo, una cámara y un micrófono) para obtener una
sensación sintética.4 Volveremos sobre este problema en el próximo capítulo.
16.2 Representación del conocimiento
El problema de la representación adecuada del conocimiento ha sido crucial desde el comienzo de
los desarrollos en el área de la IA. Un sistema inteligente debe ser capaz de adaptarse a su entorno,
según nuestra definición formulada en la Secc. 15.2. Por lo tanto, debe poder adquirir conocimiento
que describa este entorno (conocimiento declarativo), luego almacenar este conocimiento en una
forma que permita una respuesta rápida y adecuada (inteligente) a cualquier estímulo generado por
el entorno. Los patrones de tales respuestas, representados como conocimiento procedimental,
también deben almacenarse en el sistema.
Se puede definir una taxonomía de modelos de representación del conocimiento según dos
criterios básicos: la forma de representación del conocimiento y la forma de adquirir el conocimiento.
De acuerdo con el primer criterio, los modelos de representación del conocimiento se pueden
dividir en los siguientes tres grupos.
3Ciertamente, el lector ha visto películas policiales en las que una fotografía borrosa tomada mientras se mueve ha
sido procesada por un sistema informático para restaurar una imagen nítida de un asesino.
4Tal funcionalidad en el sistema corresponde al sensus communis de Santo Tomás de Aquino presentado en el
capítulo anterior.
Machine Translated by Google
16.2 Representación del conocimiento 225
• Modelos de representación del conocimiento simbólico formulados de forma explícita. Notemos que los
modelos básicos de este grupo, es decir, los gráficos de dependencia conceptual, las redes semánticas
y los guiones , han sido introducidos por los psicólogos Roger Schank, Allan M. Collins y Robert P.
Abelson, respectivamente. En lo que respecta al conocimiento procedimental, los sistemas basados
en reglas son el modelo de representación más popular. En este libro también hemos introducido otras
representaciones específicas para tal conocimiento, por ejemplo, gramáticas formales, representaciones
basadas en lógica matemática, modelos en sistemas de razonamiento y esquemas en sistemas de
Razonamiento Basado en Casos. • Modelos de representación del conocimiento simbólico
numérico formulados de forma explícita. Estos modelos se utilizan si las nociones que son la base del
modelo de representación son borrosas, es decir, son ambiguas o imprecisas. Redes bayesianas,
modelos basados en conjuntos borrosos y modelos basados en conjuntos aproximados presentados
en los Caps. 12 y 13 son buenos ejemplos de tales modelos. • Modelos de representación del
conocimiento formulados de forma implícita.
Esta forma se aplica si el conocimiento se representa de forma numérica. Es típico para métodos de
reconocimiento de patrones y redes neuronales. Tales representaciones tienen la forma de grupos
que consisten en vectores, conjuntos de parámetros (en reconocimiento de patrones) y vectores de
peso (en NN). Aquí, la representación de manera implícita significa no solo que carecemos de acceso
a estos vectores o parámetros. Incluso si leemos estas cadenas de números, no podríamos
relacionarlos con el significado del conocimiento codificado de esa manera. En otras palabras, no
somos capaces de interpretarlos en términos de la descripción del problema.
En lo que se refiere al segundo criterio, es decir, la forma de adquirir el conocimiento,
Los modelos de representación se pueden dividir en los dos grupos siguientes.
• Modelos en los que el conocimiento puede ser adquirido por el sistema de forma automática. En primer
lugar, pertenecen a este grupo los modelos de representación del conocimiento formulados de forma
implícita. Tanto los métodos de reconocimiento de patrones como las redes neuronales pueden ser
de autoaprendizaje en el caso de técnicas de aprendizaje no supervisado. Para el reconocimiento de
patrones utilizamos el análisis de conglomerados. En el caso de las representaciones simbólicas,
dicho aprendizaje se realiza por inducción, por ejemplo, la inducción gramatical en el reconocimiento
de patrones sintácticos.
• Modelos en los que la representación del conocimiento es definida e ingresada en el sistema por un
ingeniero del conocimiento. La mayoría de los modelos de representación del conocimiento formulados
de forma explícita pertenecen a este grupo.
En resumen, la adquisición automática de conocimiento en modelos basados en conocimiento
simbólico es el tema crucial en esta área. Una conceptualización automática es el principal problema
aquí y no ha sido resuelto de manera satisfactoria hasta ahora. Los métodos de aprendizaje se discutirán
de manera más detallada en la Secc. 16.8.
Machine Translated by Google
226 16 áreas de aplicación de los sistemas de IA
16.3 Resolución de problemas
Definimos el área de resolución de problemas como la investigación en la construcción de métodos
genéricos que pueden usarse para resolver problemas generales. General Problem Solver, GPS,
construido por Allen Newell y Herbert A. Simon descrito en el Cap. 1 es un buen ejemplo de esta
área de la Inteligencia Artificial. El sueño de los investigadores de IA de construir un sistema de
este tipo aún no se ha hecho realidad. Por lo tanto, este problema se ha dividido en una variedad de
subproblemas como el razonamiento, la toma de decisiones, la planificación, etc., que se analizan
en las siguientes secciones.
Volviendo al problema de construir un solucionador general de problemas, notemos que los
métodos de búsqueda heurística y su extensión en forma de computación evolutiva5 son buenos
candidatos para tal propósito.
Sin embargo, los sistemas basados en una estrategia de búsqueda no resuelven problemas de
forma autónoma, sino en cooperación con un diseñador humano. Notemos que hay dos fases de
resolución de problemas con la ayuda de una estrategia de búsqueda, a saber:
• una fase de construcción de un modelo abstracto del problema, que es la base para
definir estados en el espacio de estados (cf. Secc. 4.1) y •
una fase de búsqueda en el espacio de estados.
Los métodos de búsqueda de un espacio de estado conciernen sólo a la segunda fase. La
primera fase es realizada por un diseñador humano. El desarrollo de métodos que permitan a un
sistema de IA construir de manera autónoma un modelo abstracto de un problema sobre la base de
la percepción (observación) del problema parece ser uno de los mayores desafíos en el área de
simulación de habilidades cognitivas/mentales.
16.4 Razonamiento
Los sistemas de Inteligencia Artificial funcionan perfectamente, en lo que se refiere al razonamiento
deductivo.6 El razonamiento deductivo es un tipo de razonamiento en el que a partir de una
determinada regla general (reglas) y una premisa, inferimos una conclusión (cf. Apéndice F.2) . Los
sistemas basados en la lógica matemática son los mejores ejemplos de tal razonamiento. En el cap.
6 hemos introducido dos modelos básicos para construir dichos sistemas, a saber, la lógica de primer
orden y el cálculo lambda.
Los sistemas basados en reglas presentados en el Cap. 9 son uno de los tipos más populares de
sistemas de razonamiento. Se aplican en los negocios, la medicina, la industria, las comunicaciones,
el transporte, etc. En caso de que se trate de conocimientos imperfectos o nociones confusas, los
sistemas de IA basados en lógica no monótona presentados en el Cap. 12 se construyen o aplicamos
la lógica difusa presentada en el Cap. 13
5De hecho, la computación evolutiva puede tratarse como una versión eficiente de una estrategia de búsqueda.
6En esta sección, por razonamiento nos referimos al razonamiento deductivo, mientras que más adelante, cuando analicemos el
área del aprendizaje automático, analizaremos tanto la inferencia deductiva como la inductiva.
Machine Translated by Google
16.4 Razonamiento 227
Así, en Inteligencia Artificial en el área del razonamiento deductivo somos capaces de simular
mejor las capacidades humanas que en el caso del resto de capacidades cognitivas/mentales. Esto
resulta del desarrollo dinámico de los modelos matemáticos y lógicos en el período anterior al
nacimiento de la Inteligencia Artificial. Esto se refiere especialmente al excelente desarrollo de la
lógica matemática en la primera mitad del siglo XX. Sus modelos se han utilizado con éxito para definir
algoritmos efectivos de razonamiento.
16.5 Toma de decisiones
Apoyar un proceso de toma de decisiones fue una de las primeras aplicaciones de los sistemas de IA.
El enfoque natural basado en una simulación de pasos sucesivos de un proceso de decisión realizado
por un experto humano se utiliza en sistemas expertos basados en reglas. En la Secc. 9.2.
Notemos que para aplicar tal enfoque, el conocimiento explícito en forma de reglas que representan
decisiones parciales que pueden usarse en cualquier escenario de razonamiento debe ser entregado
por un experto humano. Estas reglas son la base para construir un sistema experto.
En caso de que dicho conocimiento no esté disponible, se puede utilizar un enfoque basado en el
reconocimiento de patrones o redes neuronales . Luego construimos una especificación general de un
problema con la ayuda de características numéricas, como se ha presentado en el Cap. 10 El problema
se caracteriza por un vector de valores numéricos. La posibilidad de equiparar el conjunto de
decisiones posibles con el conjunto de clases determinado por los vectores de un conjunto de
aprendizaje es una condición para usar tal enfoque.
Si aplicamos un enfoque basado en el reconocimiento de patrones para construir un sistema que
apoye la toma de decisiones, entonces el reconocimiento estadístico de patrones utilizando el
clasificador de Bayes (cf. Secc. 10.5) puede ser especialmente conveniente. En tal caso, un sistema
no propone una decisión de manera determinista, sino que sugiere varias decisiones posibles,
asignándoles medidas de probabilidad. Como hemos mencionado en la Secc. 10.5, podemos
generalizar el clasificador de Bayes asumiendo que en caso de tomar decisiones erróneas hay varias
consecuencias con varios costos de un error. La función del coste de un error junto con la probabilidad
a posteriori se utiliza para definir la función del riesgo correspondiente a varias decisiones. Por
supuesto, el clasificador de Bayes intenta minimizar la función de riesgo.
Si un proceso de decisión se puede dividir en etapas, entonces podemos aplicar un clasificador
basado en árboles de decisión, que se presentó en la Secc. 10.6.
En caso de que tengamos que resolver un problema de decisión sobre la base de un conocimiento
incierto, impreciso o incompleto, debemos utilizar los métodos presentados en el Cap. 12, es decir, las
redes de Bayes o la teoría de DempsterShafer. Si un problema de decisión se describe con nociones
difusas, entonces los sistemas basados en reglas difusas, presentados en el Cap. 13, o sistemas
híbridos basados en la teoría de conjuntos borrosos y el razonamiento basado en modelos [152],
presentados en el Cap. 9, se puede utilizar.
Machine Translated by Google
228 16 áreas de aplicación de los sistemas de IA
A finales del siglo XX se desarrollaron métodos efectivos de toma de decisiones sobre la base
de modelos avanzados de teoría de decisiones, teoría de juegos y teoría de la utilidad. Los
sistemas de apoyo a la decisión se aplican en muchas áreas de aplicación. Las áreas de aplicación
típicas incluyen, por ejemplo, economía, gestión, medicina, defensa nacional y control de equipos
industriales.
16.6 Planificación
La planificación consiste en definir una secuencia7 de actividades que deberían resultar en el
logro de un objetivo predefinido. La simulación de esta habilidad mental parece ser muy difícil.
Contiene un elemento crucial para predecir las consecuencias (resultados) de tomar ciertas
acciones. Esta tarea es especialmente difícil si se realiza en tiempo real y en un entorno cambiante,
lo cual es típico en las aplicaciones prácticas. Luego, un sistema tiene que modificar (muy
rápidamente) un plan que ya ha sido generado, para mantenerse al día con el entorno cambiante.
Los métodos de planificación pueden basarse en un esquema de búsqueda en 8 que tiene
el espacio de estados, presentado en el Cap. 4. El estado final representa una meta que debe
lograrse como resultado de una secuencia de actividades. Las posibles actividades están definidas
por operadores de transición en el espacio de estados, y los estados representan los resultados
de realizar estas actividades. Sin embargo, definir estos resultados intermedios es un problema
crucial. Notemos que, por ejemplo, en el caso de utilizar una estrategia de búsqueda de problemas
relacionados con artefactos, como varios juegos, predecir los resultados de las actividades es
trivial. Por ejemplo, si un sistema que juega al ajedrez toma la decisión de hacer el movimiento
Ta5h5, entonces el resultado de esta actividad es obvio, es decir, la torre se m9ueve
En edste
e ac5
aso la
a h5.
previsibilidad del resultado de la actividad surge de las reglas precisas en el “mundo del ajedrez”.
Sin embargo, si un sistema funciona en el mundo real, a veces no se pueden determinar las
consecuencias de realizar una actividad. Por ejemplo, si alguien me ha dicho algo desagradable,
puedo planificar la actividad de hacer una broma al respecto. Tal actividad puede resultar en aliviar
la tensión, que es el objetivo de mi actividad. Sin embargo, también puede resultar en una mayor
agresión verbal, si mi broma se trata como una falta de respeto a mi oponente. Por lo tanto,
predecir las consecuencias de las actividades planificadas es un tema muy difícil.
La planificación en el mundo real a veces está relacionada con algunas circunstancias, hechos
o situaciones que limitan la posibilidad de nuestra actividad en el sentido de tiempo, espacio, otras
condiciones relacionadas con la fisicalidad del mundo, preferencias sobre la forma de lograr una
meta, etc. Entonces, un problema de planificación se puede expresar como un
7Utilizamos el término secuencia en la definición de una tarea de planificación. Sin embargo, puede ser un complejo
de actividades, que consta de muchas secuencias de actividades que se realizan de forma paralela.
8Este esquema se puede extender a la computación evolutiva presentada en el Cap. 5.
9 A menos que el oponente se haya irritado y haya derribado el tablero de ajedrez de la mesa.
Sin embargo, si asumimos que nuestro oponente es bien educado, podemos eliminar tal “resultado” de nuestras
consideraciones.
Machine Translated by Google
16.6 Planificación 229
Problema de satisfacción de restricciones, CSP, que se introdujo en la sección. 4.5. En tal caso,
una estrategia de planificación puede basarse en uno de los métodos de búsqueda de CSP.
En el área de la Inteligencia Artificial los problemas de planificación son muy importantes,
por sus diversas aplicaciones prácticas [311]. Por lo tanto, recientemente se han definido en
esta área muchos métodos avanzados que se basan en modelos tales como la lógica temporal,
la lógica dinámica, el cálculo de situación y el álgebra de intervalos .
16.7 Procesamiento del lenguaje natural (NLP)
El área de investigación de Procesamiento del Lenguaje Natural, 10 debe dividirse en
PNL, dos subáreas. La primera subárea incluye problemas que pueden resolverse mediante el
análisis de una lengua a nivel sintáctico (y léxico). A este grupo pertenecen, por ejemplo, la
corrección de textos, la extracción de información de un texto, el resumen automático, el
reconocimiento óptico de caracteres (OCR), la síntesis de voz (a partir de un texto), los sistemas
de diálogo simple de preguntas y respuestas , etc. La segunda subárea contiene problemas que
pueden resolverse mediante el análisis de un lenguaje en el nivel semántico. Por ejemplo, la
traducción automática de un lenguaje natural a otro lenguaje natural, la comprensión de voz/
texto, los sistemas de comunicación verbal humanocomputadora, etc. pertenecen a este grupo.
Esta división se ha introducido porque hoy en día solo los problemas pertenecientes al segundo
grupo son desafiantes en Inteligencia Artificial.
La teoría chomskyiana de la gramática generativa presentada en el cap. 8 es un modelo
referencial en este ámbito. Aunque en ocasiones se critica el modelo de Chomsky en el área de
la PNL, ya que no ha cumplido con todas las expectativas de los investigadores de la PNL, suele
ser el punto de partida para definir modelos de PNL como, por ejemplo, gramáticas de
metamorfosis [58] , Cláusula Definitiva Gramáticas, DCGs [225], y Redes de Transición
Aumentadas, ATNs [318].
A finales del siglo XX se desarrolló un enfoque estadístico para el análisis del lenguaje. Hace
uso de corpus de texto, que son grandes conjuntos referenciales de textos en un idioma
determinado. Un sistema se refiere a un corpus de texto durante un análisis de texto con la
ayuda de modelos estocásticos para determinar las características estadísticas del texto, que
se relacionan, por ejemplo, con los posibles contextos en los que aparece una palabra, los
posibles usos de una frase dada en el texto cuerpo, etc
Otro enfoque consiste en el uso del modelo de gramática generativa junto con la teoría de la
probabilidad, lo que resulta en la definición de gramáticas estocásticas y autómatas estocásticos
presentados en el Cap. 8. Tal modelo es equivalente al modelo de cadena de Markov (cf.
Apéndice B.2), que también se utiliza en métodos avanzados de PNL.
En los modelos mencionados anteriormente se asume una sintaxis como punto de partida
para el análisis del lenguaje. Tal enfoque a veces no es suficiente en caso de problemas
10La noción de lenguaje natural se utiliza en informática en relación con idiomas como el inglés, el alemán, el
chino, etc. para distinguir el problema del procesamiento informático de dichos idiomas del problema del
procesamiento informático de lenguajes artificiales, que es mucho más fácil .
Los lenguajes artificiales incluyen, por ejemplo, lenguajes de programación y lenguajes formales, que se han
presentado en el Cap. 8.
Machine Translated by Google
230 16 áreas de aplicación de los sistemas de IA
en los que es necesaria la comprensión de conceptos. Luego, para interpretar la semántica de las
oraciones de manera adecuada, un sistema de IA debe tener conocimiento adicional en forma de
modelo mundial. Este problema se puede resolver definiendo una ontología, que se introdujo en el Cap.
7. Recordemos que las redes semánticas son uno de los formalismos más populares para definir
ontologías.
En el análisis semántico computarizado del lenguaje hablado nos enfrentamos a un problema mucho
más difícil. La comunicación es la función principal del lenguaje hablado. Desde el punto de vista de
esta función, los aspectos no verbales de una lengua11 como la entonación, el acento, etc. son
esenciales. Por ejemplo, la oración: “No testifiqué bajo juramento que había visto a Caín matar a Abel”.
se puede interpretar de varias maneras, dependiendo de la frase que se acentúe. Las posibles
interpretaciones incluyen (la frase acentuada está marcada):
• “No testifiqué bajo juramento que había visto a Caín matar a Abel”.
pretación,
• “No testifiqué bajo juramento que había visto a Caín matar a Abel”.
no bajo juramento,
• “No testifiqué bajo juramento que había visto a Caín matar a Abel”.
evento,
• “No testifiqué bajo juramento que había visto a Caín matar a Abel.”—Vi a alguien
matando a Abel, pero no fue Caín,
• “No testifiqué bajo juramento que había visto a Caín matar a Abel.”— Vi a Caín matar
alguien, pero no era Abel.
Pasar un mensaje en un sentido específico revela la intención de su remitente. Pasa este sentido
acentuando la frase adecuada. Sin embargo, la capacidad de comprender el sentido correcto del
mensaje sobre la base del acento, la entonación, etc. se relaciona con la inteligencia social. Aunque en
este caso nos referimos a la inteligencia social elemental, es muy difícil integrar este tipo de inteligencia
en un sistema de IA.
En resumen, el Procesamiento del Lenguaje Natural puede considerarse un área bien desarrollada
de AI.Chatbots, mencionada en el Cap. 1, donde hemos presentado ELIZA diseñada por Joseph
Weizenbaum, simulando hablantes humanos son buenos ejemplos de éxitos en PNL. Por un lado,
algunos chatbots simulan bastante bien una conversación inteligente.
Por otro lado, todavía no pueden pasar la prueba de Turing.
16.8 Aprendizaje
Los modelos de aprendizaje en Inteligencia Artificial se pueden dividir en dos grupos básicos:
1. modelos de generalización de experiencias,
2. modelos que transforman una representación del dominio de un problema.
11Aquí distinguimos los aspectos no verbales de un lenguaje de la comunicación no verbal, que incluye, por
ejemplo, el lenguaje corporal y la expresión facial.
Machine Translated by Google
16.8 Aprendizaje 231
En los modelos de generalización de la experiencia asumimos la disponibilidad de un conjunto de
, (XM , uM )), donde un par (Xj , uj ), j = 1,..., M, que representa
aprendizaje U = ((X1, u1), (X2, u2), . . .
consta de un estimulo Xj del , un cierto hecho que ocurre en un sistema y que debe ser generado
entorno, y una respuesta uj de recibir , por el sistema como resultado
dicho estimulo. En otras palabras, un conjunto de aprendizaje representa la experiencia adquirida.
Un sistema de IA se enfrenta a esta experiencia, que se formaliza de esa manera.
Como resultado se debe definir, vía inducción (generalización), una función de respuesta f tal que para
cada Xj , j = 1,..., M, se cumpla la siguiente regla: f(Xj ) = uj . Decimos que la función de respuesta f es
generadora de una reacción propia del sistema para la observación (estímulo).
El aprendizaje generalizado en IA está conectado con el enfoque conductual en psicología. Dicho
aprendizaje se trata como una adquisición de experiencia, que se realiza para modificar el
comportamiento del sistema. Siguiendo este enfoque, hemos entrenado redes neuronales en el Cap. 11
y clasificadores para el reconocimiento de patrones en el Cap. 10 En ambos casos, un estímulo Xj tiene
la forma de un vector de números, que se utiliza para codificar un problema. El esquema para construir
un clasificador basado en un árbol de decisión presentado en la Secc. 10.6 pertenece también a este
enfoque.
En el caso de las redes neuronales y clasificadores también hemos discutido modelos de
aprendizaje sin supervisión. Entonces, un conjunto de aprendizaje es de la forma U = (X1, X2,..., XM ).
Esto significa que la reacción requerida no está determinada. El sistema debería dividir un conjunto de
estímulos en grupos (subconjuntos) por sí mismo. El análisis de conglomerados introducido en la Secc.
10.7 y el aprendizaje hebbiano presentado en la Secc. 11.1 son buenos ejemplos de tal aprendizaje.
En el aprendizaje de la generalización de la experiencia, un estímulo Xj suele consistir en un
complejo de parámetros. Sin embargo, tal aprendizaje también se puede aplicar a las representaciones
simbólicas. El esquema de inducción gramaticalsíntesis de autómatas es un buen ejemplo aquí.
Entonces la función de respuesta f toma la forma de un autómata formal.
Los modelos que transforman una representación de un dominio de problema corresponden en
cambio a modelos de psicología cognitiva. En este caso, un sistema de IA debería construir una
representación del mundo, es decir, una ontología presentada en el Cap. 7. Luego el sistema debe
transformarlo sobre la base de los nuevos conocimientos adquiridos. Así, un proceso de aprendizaje se
puede dividir en dos fases, construcción de ontologías y transformación de ontologías.
Para construir una ontología, el sistema debe, en primer lugar, definir conceptos sobre la base de
observaciones del mundo. Luego, debe definir estructuras que describan las relaciones semánticas
entre estas nociones. Desafortunadamente, los sistemas de IA no pueden realizar tal tarea hoy en
día.12 Sin embargo, los sistemas de IA
pueden aprender transformando ontologías predefinidas por diseñadores humanos. En este caso el
sistema extrae conocimiento de la ontología mediante operaciones de transformación. Por ejemplo, si
hay las siguientes dos reglas en nuestra base de conocimiento13:
12Parece que para realizar tal tarea, un sistema debería ser capaz de aprender a través de la comprensión
del meollo del asunto. Tal forma de aprender, sin embargo, resulta de comprender el corazón de la
asunto.
13En el ejemplo asumimos que la ontología se construye con la ayuda de la lógica de primer orden.
Machine Translated by Google
232 16 áreas de aplicación de los sistemas de IA
y
B = padre(A) [ B = madre(A) B = padre(A) ] ,
entonces el sistema puede inferir una nueva regla:
De hecho, los sistemas basados en modelos que transforman una representación del
dominio de un problema simulan una actividad cognitiva. Sin embargo, refiriéndose a la
definición de Santo Tomás de Aquino de las tres operaciones genéricas del intelecto (cf. Secc.
15.1), esta actividad cognitiva se limita a la tercera, es decir, sólo al razonamiento.14 En otras
palabras, el sistema extrae nuevo conocimiento del conocimiento que ya está almacenado en
su base de conocimiento. Sin embargo, un diseñador humano tiene que construir una ontología
con la ayuda de las dos operaciones cognitivas restantes, es decir, definir conceptos
(aprehensión simple) y pronunciar juicios. Notemos que el aprendizaje del sistema a través de
una transformación de ontología solo es posible si el diseñador humano es capaz de codificar
el conocimiento semántico en su sintaxis de una manera precisa y sin ambigüedades.15
Desafortunadamente, en la actualidad esto es imposible para muchas áreas de aplicación.
Los sistemas de análisis de patrones sintácticos presentados en el Cap. 8 son sistemas
de IA que son capaces de generar una representación estructural de algunos aspectos del
mundo de forma automática. Sin embargo, tal representación se limita a los objetos físicos
que se extraen de una imagen ya las relaciones topológicas espaciales entre ellos. Estos
sistemas no realizan ni procesos de abstracción ni conceptualización. Por lo tanto, tampoco
hay construcción de ontología en este caso.
Los modelos de aprendizaje que transforman el dominio de un problema se han desarrollado
dinámicamente en IA desde la década de 1980. Los métodos más populares incluyen el aprendizaje
basado en explicaciones, EBL [205], el aprendizaje basado en relevancia, RBL [3] y la programación
lógica inductiva, ILP [207].
16.9 Manipulación y Locomoción
Como hemos discutido en el capítulo anterior, Jean Piaget identificó la inteligencia
cinestésica relacionada con las habilidades de manipulación y locomoción en la etapa
sensitiva del desarrollo cognitivo de un bebé (desde el nacimiento hasta aproximadamente
los dos años). Como no recordamos bien esta etapa de nuestra vida, no nos damos
cuenta de la dificultad de adquirir estas habilidades. La simulación de estas habilidades
es uno de los problemas más difíciles de la Inteligencia Artificial, estrictamente hablando en robótica, que
14 En el sentido de proceder de una proposición a otra según reglas lógicas.
15Como se ha hecho en nuestro ejemplo de genealogía anterior.
Machine Translated by Google
16.9 Manipulación y Locomoción 233
es un área de investigación interdisciplinaria que utiliza modelos de control automático, mecatrónica,
mecánica, electrónica, cibernética e informática.
En primer lugar, las capacidades de manipulación y locomoción de los robots (o dispositivos similares)
dependen en gran medida de las funcionalidades de otros sistemas, como los sistemas de percepción/
reconocimiento de patrones, los sistemas de resolución de problemas o los sistemas de planificación.
Los éxitos y desafíos en estas áreas de investigación se han discutido en secciones anteriores.
En segundo lugar, las habilidades de manipulación y locomoción de los robots también dependen de
las posibilidades tecnológicas de los dispositivos de ejecución, como efectores, actuadores, etc. Notemos
que en este caso a veces no queremos simular habilidades humanas. Por ejemplo, en lo que respecta a
la locomoción, algunos animales tienen una clara ventaja sobre los humanos. Por lo tanto, los robots
móviles para aplicaciones militares o de búsqueda y rescate a menudo se construyen sobre la base de las
habilidades de locomoción de insectos (robots hexápodos), serpientes (robots serpiente) o animales de
cuatro extremidades (por ejemplo, el robot cuadrúpedo BigDog), no por mencionar los robots móviles
aéreos inteligentes (drones) y los drones submarinos. En general, en el área de la locomoción, los
constructores de robots y dispositivos móviles han logrado logros sorprendentes recientemente.
Las habilidades de manipulación de los robots superan a las de los humanos en ciertas aplicaciones,
especialmente si se requiere alta precisión, destreza manual o alta resistencia al cansancio. Los robots
microquirúrgicos de manipulación y los robots que ayudan en los experimentos de microbiología son
buenos ejemplos aquí. Por supuesto, estos robots son telemanipuladores (o telemanipuladores remotos)
que están controlados por operadores (por ejemplo, cirujanos). En resumen, ha habido resultados
notables en el área de los manipuladores inteligentes y se pueden esperar más éxitos en este campo.
A pesar de que hay algunos resultados interesantes y generalmente espectaculares en el área de la
robótica humanoide/androide, todavía estamos esperando robots que puedan simular un virtuoso del
violín o una primera bailarina.
16.10 Inteligencia Social, Inteligencia Emocional
y Creatividad
A finales del siglo XX se inició la investigación para simular tanto la inteligencia social como la inteligencia
emocional en los sistemas de IA. Esto se ha relacionado con aspectos sintéticos del problema, por
ejemplo, la expresión de emociones por la cara de un robot, así como aspectos analíticos, por ejemplo,
reconocer el estado de ánimo humano sobre la base de la entonación del habla. Simular las habilidades
humanas en el aspecto analítico es, por supuesto, más difícil. Para analizar la expresión facial y las
características del habla (entonación, acentuación, etc.) se aplican métodos avanzados de reconocimiento
de patrones. Los sistemas basados en reglas se utilizan con el fin de integrar la visión y el sonido.
Seguramente, la investigación en esta área es muy importante, ya que sus resultados, junto con los logros
en robótica, se pueden aplicar en medicina, seguridad social, etc. Los distintos mensajes emocionales
enviados por humanos a través de, por ejemplo, expresiones faciales son reconocidos bastante bien hoy
en día por la IA. sistemas ¿Serán capaces de reconocerlos los robots en caso de que estos mensajes no
sean claros? Debemos esperar la respuesta.
Machine Translated by Google
234 16 áreas de aplicación de los sistemas de IA
En 2010 se organizó la primera Conferencia Internacional sobre Creatividad Informática
en la prestigiosa Universidad de Coimbra, establecida en 1290. El problema
de la posibilidad de simular la creatividad humana discutida durante la conferencia es
realmente controvertido. Parece que una visión de Margaret Boden,16 que distingue
dos tipos de creatividad, puede ser útil en esta discusión [32]. La creatividad exploratoria consiste en
buscar un espacio conceptual predefinido.17 Sin embargo, si transformamos o trascendemos
deliberadamente un espacio conceptual, entonces nos enfrentamos a un espacio conceptual transformacional.
creatividad. La simulación de la creatividad transformacional en sistemas artificiales es un
tarea desafiante en el área de IA.
Se implementan sistemas creativos de IA para resolver problemas generales, generando
música y artes visuales, etc. Varios métodos de IA como búsqueda de espacio de estado, neural
Se utilizan redes, algoritmos genéticos, redes semánticas y razonamiento por analogía.
para estos fines.
Nota bibliográfica
El tema de la simulación de diversas capacidades mentales/cognitivas humanas suele tratarse en
libros fundamentales sobre inteligencia artificial. las siguientes monografias
se recomiendan [18, 19, 55, 147, 189, 211, 241, 256, 261, 262, 273, 315].
16Margaret Boden—profesora de ciencias cognitivas en la Universidad de Sussex. Su trabajo se preocupa
los campos superpuestos de: psicología, filosofía, ciencia cognitiva e IA. Fue vicepresidenta de la Academia
Británica.
17 Notemos que este tipo de creatividad se puede simular a través de la simulación cognitiva, es decir, buscando
un espacio de estado.
Machine Translated by Google
capitulo 17
Perspectivas de la Inteligencia Artificial
En el cap. 15 Se han presentado enfoques filosóficos (epistemológicos) de cuestiones de la mente, la
cognición, el conocimiento y la inteligencia humana. En la primera sección de este capítulo se discuten
los puntos de vista contemporáneos sobre la esencia de la inteligencia artificial. Como se puede notar
fácilmente, estos puntos de vista son el resultado de supuestos epistemológicos.1 Los supuestos
filosóficos también influyen en los puntos de vista de las autoridades en el campo de la IA con respecto
a la posibilidad de construir sistemas inteligentes. Dado que esta monografía es una introducción al
campo, su autor intenta no participar en la discusión sobre la IA, sino que solo presenta varias ideas en
la teoría de la mente.
Las barreras potenciales que también son desafíos en el campo de la IA se analizan en la segunda
sección. Las áreas de investigación que son cruciales para un mayor desarrollo de la Inteligencia Artificial
se presentan en la tercera sección.
17.1 Problemas de Inteligencia Artificial
Comencemos nuestras consideraciones con un análisis del término inteligencia artificial.
De hecho, tiene dos significados básicos. En primer lugar, significa un campo de investigación común de
las ciencias de la computación y la robótica,2 en el que el desarrollo de sistemas que realizan tareas
que requieren inteligencia cuando son realizadas por humanos es un objetivo de investigación.
En segundo lugar, significa una característica de los sistemas artificiales que les permite realizar
tareas que requieren inteligencia, cuando son realizadas por humanos. Así, en este significado artificial
1 Por lo tanto, se recomienda al lector recordar las consideraciones contenidas en la Secc. 15.1.
2Por lo general, se supone que la inteligencia artificial es un subcampo de la informática. Sin embargo, en este
caso excluimos de los estudios de IA cuestiones tan importantes como, por ejemplo, la manipulación y la
locomoción realizadas por ciertos sistemas de IA.
© Springer International Publishing Suiza 2016 M. Flasi ́nski, 235
Introducción a la Inteligencia Artificial, DOI
10.1007/9783319400228_17
Machine Translated by Google
236 17 perspectivas de la inteligencia artificial
la inteligencia no es una cosa, sino una propiedad de ciertos sistemas, así como la movilidad es una
propiedad de los robots móviles3 que les permite moverse.
Notemos que la inteligencia artificial en el segundo sentido es objeto de investigación en una
disciplina llamada ciencia cognitiva en lugar de informática o robótica.
La ciencia cognitiva es un nuevo campo de investigación interdisciplinario sobre la mente y los
procesos cognitivos relacionados no solo con los humanos, sino también con los sistemas artificiales.
Su investigación se centra en cuestiones propias de la filosofía, la psicología, la lingüística, la
neurociencia, la informática, la lógica, etc.
En el primer capítulo hemos discutido el experimento mental de la habitación china , que fue
presentado por Searle [269]. Sobre la base de este experimento, las opiniones sobre la inteligencia
artificial se pueden dividir en los dos grupos siguientes:
• Inteligencia Artificial Fuerte, que afirma que una computadora debidamente programada es equivalente
a un cerebro humano y su actividad mental, • Inteligencia Artificial
Débil, en la que una computadora es tratada como un dispositivo que puede simular el funcionamiento
de un cerebro. En este enfoque, una computadora también se trata como una herramienta
conveniente para probar hipótesis relacionadas con el cerebro y los procesos mentales.
Según Searle, la sala china muestra que la simulación de la actividad mental humana con la ayuda de
una computadora (IA débil) no significa que estas actividades se realicen en una computadora de la
misma manera que lo hacen en un cerebro humano. En otras palabras, el cerebro no es una
computadora, y los procesos informáticos realizados de acuerdo con los programas de computadora no
deben tratarse como equivalentes a los procesos mentales en un cerebro humano.
El término computacionalismo está relacionado con IA fuerte. Significa la opinión de que un cerebro
humano es una computadora y cualquier proceso mental es una forma de computación.4 Por lo tanto,
una mente puede tratarse como un sistema de procesamiento de información. Los computacionalistas
asumen que la información procesada en ambos tipos de sistemas tiene una forma simbólica.5
Comencemos nuestra presentación de puntos de vista en la moderna teoría de la mente con
aquellos que están cerca de la IA fuerte. Se relacionan con el problema mentecuerpo cartesiano, que
se presentó en el cap. 15. Este problema puede describirse como la cuestión del lugar de los procesos
mentales en la palabra física (material).
Los seguidores del conductismo analítico (lógico) tratan el problema mentecuerpo con reserva,
tratándolo como un pseudoproblema no científico [258]. Si hablamos de estados mentales, utilizamos
una especie de metáfora. De hecho, solo queremos describir el comportamiento humano.
3De hecho, podríamos decir movilidad artificial, ya que un robot es un artefacto, es decir, un objeto artificial, que no
existe en la naturaleza, por lo que sus propiedades también son “artificiales”. Si bien nosotros, como Homo sapiens,
no objetamos un término movilidad de robot, en el caso de un término inteligencia informática preferimos agregar artificial.
Por supuesto, alguien podría decir que en este caso un término artificial significa imperfecto. En opinión del autor, no
es una buena interpretación. ¿Piensa el lector que algún día construimos un robot móvil, que pueda bailar a Odette
en el lago de los cisnes como Sylvie Guillem?.
4 Notemos que este punto de vista es consistente con los puntos de vista filosóficos de T. Hobbes y GW
Leibniz, que se han presentado en el cap. 15.
5 Una suposición de los computacionalistas sobre la forma simbólica de la información procesada por los sistemas
inteligentes desencadenó una discusión con los seguidores del conexionismo en las décadas de 1980 y 1990 (cf.
Secta. 3.1).
Machine Translated by Google
17.1 Problemas de Inteligencia Artificial 237
Por lo tanto, en lugar de usar conceptos relacionados con la mente, es decir, usar un lenguaje
inadecuado, deberíamos usar términos que describan patrones de comportamiento.6 Gilbert Ryle,
quien ha sido mencionado en la Secc. 2.4 (modelos estructurales de representación del conocimiento)
es uno de los conductistas lógicos más conocidos.
El fisicalismo también es una teoría que puede usarse para defender la IA fuerte, ya que los
fenómenos mentales se tratan aquí como idénticos a los fenómenos fisiológicos que ocurren en el
cerebro. Hay dos enfoques básicos en el fisicalismo, y asumir uno de ellos tiene varias consecuencias
en una discusión sobre Inteligencia Artificial.
La teoría de la identidad de tipos (fisicalismo de tipos) fue presentada por John JC Smart7 [279]
y Ullin Place8 en la década de 1950 [227]. Afirma que los estados mentales de un tipo dado son
idénticos a los estados cerebrales (es decir, físicos) de cierto tipo. Si se asume este punto de vista,
entonces se cumple lo siguiente. Supongamos que en el futuro definiremos un mapeo entre tipos de
estado cerebral y tipos de estado mental. Luego, nuestra discusión de los conceptos y la naturaleza
de la inteligencia en la filosofía y la psicología (en el Capítulo 15) podría ser reemplazada por una
discusión en los campos de la neurociencia y la neurofisiología (fisicalismo reduccionista). Así, la
construcción de sistemas artificiales dependerá únicamente del estado del conocimiento en estos
campos y del progreso tecnológico en el futuro. Esta teoría ha sido desarrollada por David M.
Armstrong9 [11], entre otros.
La suposición más débil es la base de la teoría de la identidad simbólica (fisicalismo simbólico).
Aunque cualquier estado mental es idéntico a cierto estado cerebral, los estados mentales de un
tipo dado no necesariamente tienen que ser idénticos a los estados cerebrales de cierto tipo. El
monismo anómalo fue introducido por Donald Davidson10 en 1970 [64]. Es una teoría muy
interesante desde el punto de vista de una discusión sobre la Inteligencia Artificial. De acuerdo con
esta teoría, aunque los eventos mentales son idénticos a los eventos cerebrales (físicos), no existen
principios deterministas que permitan predecir eventos mentales. Davidson también supuso que los
fenómenos mentales supervienen a los fenómenos cerebrales (físicos).
Por ejemplo, si los cerebros de dos humanos están en estados indistinguibles, entonces su
6 Hemos introducido el tema del lenguaje inadecuado en el Cap. 15, presentando las opiniones de Guillermo
de Ockham y Ludwig Wittgenstein. El conductismo analítico se ha introducido sobre la base de las opiniones
del Círculo de Viena.
7John Jamieson Carswell Smart—profesor de filosofía en la Universidad de Adelaide y la Universidad de
Monash (Australia). Su trabajo se refiere a la metafísica, la teoría de la mente, la filosofía de la ciencia y la
filosofía política.
8Ullin T. Place—profesor de la Universidad de Adelaide y la Universidad de Leeds. Su obra se refiere a la
filosofía de la mente y la psicología. Según su testamento, su cerebro se encuentra en una vitrina en la
Universidad de Adelaida con el mensaje: ¿ Este cerebro contenía la conciencia de UT Place?
9David Malet Armstrong—profesor de filosofía en la Universidad de Sydney, la Universidad de Stanford y la
Universidad de Yale. Su trabajo se refiere a la teoría de la mente y la metafísica.
10Donald Herbert Davidson—profesor de filosofía en la Universidad de California, Berkeley y también en otras
prestigiosas universidades (Stanford, Harvard, Princeton, Oxford). Influyó significativamente en la filosofía de la
mente, la epistemología y la filosofía del lenguaje. Era conocido como un hombre incansable que tenía una
variedad de intereses, como tocar el piano, volar aviones y escalar montañas.
11 Decimos que un conjunto de propiedades M sobreviene a un conjunto de propiedades B si y sólo si dos
seres cualesquiera que son indistinguibles del conjunto B son también indistinguibles del conjunto M.
Machine Translated by Google
238 17 perspectivas de la inteligencia artificial
los estados mentales también son indistinguibles. La teoría de la superveniencia ha sido
desarrollada por Jaegwon Kim12 [157]. En consecuencia, se puede concluir que los fenómenos
mentales no pueden reducirse a fenómenos físicos, y las leyes de la psicología no pueden
reducirse a principios de neurociencia (fisicalismo no reduccionista).
Para preservar una cronología (al menos parcialmente), consideremos ahora ciertos puntos
de vista que se relacionan con la IA débil. En 1961 John R. Lucas13 formuló el siguiente
argumento contra la posibilidad de construir una máquina cibernética equivalente a un
matemático sobre la base del teorema de limitación (incompletitud) de Gödel [188]. Una mente
humana puede reconocer la verdad de la oración de Gödel, mientras que una máquina (como
resultado del teorema de incompletitud de Gödel) no puede, a menos que sea inconsistente.
Sin embargo, si una máquina es inconsistente, no es equivalente a una mente humana.
Notemos que el argumento de Lucas se refiere a la inteligencia de un ser humano sobresaliente,
que es capaz de desarrollar teorías avanzadas en lógica. En 1941, Emil Post14 tenía objeciones
similares a la inteligencia artificial, cuando escribió en [230]:
“Vemos que una máquina nunca daría una lógica completa; pues una vez hecha la máquina, podríamos
probar un teorema que no prueba.
Aunque algunos lógicos no están de acuerdo con este punto de vista de JR Lucas, de vez en
cuando aparecen versiones modificadas en la literatura, como, por ejemplo, una idea de Roger
Penrose15 presentada en “The Emperor's New Mind” [224].
En 1972, Hubert Dreyfus16 expresó su crítica a la IA fuerte en una monografía titulada “Lo
que las computadoras no pueden hacer: los límites de la inteligencia artificial” [74]. Ha presentado
cuatro, en su opinión, suposiciones injustificadas definidas por los adherentes de Strong AI. El
supuesto biológico consiste en tratar al cerebro como una especie de máquina digital que
procesa información mediante operaciones discretas.17 Ver la mente como un sistema que
procesa información de acuerdo con reglas formales es el supuesto psicológico. La convicción
de que el conocimiento de cualquier tipo puede definirse con una representación formal es el
supuesto epistemológico. Finalmente, los seguidores de Strong AI están convencidos de que el
mundo consiste en seres independientes, sus propiedades, relaciones entre seres y categorías
de seres. En consecuencia, todos ellos pueden ser descritos
12Jaegwon Kim—profesor de filosofía en la Universidad de Brown, la Universidad de Cornell y la Universidad de
Notre Dame. Su trabajo se refiere a la filosofía de la mente, la epistemología y la metafísica.
13John Randolph Lucas—profesor de filosofía de Merton College, Universidad de Oxford, elegido miembro de la
Academia Británica. Es conocido por una variedad de intereses de investigación, que incluyen filosofía de la
ciencia, filosofía de la mente, ética empresarial, física y filosofía política.
14Emil Leon Post—profesor de lógica y matemáticas en la Universidad de la Ciudad de Nueva York (CUNY). Su
trabajo pionero se refiere a áreas fundamentales de las ciencias de la computación, como la teoría de la
computabilidad y la teoría del lenguaje formal.
15Roger Penrose—profesor de la Universidad de Oxford, matemático, físico y filósofo. En 1988 recibió el Premio
Wolf (junto con Stephen Hawking) por una contribución a la cosmología.
16Hubert Lederer Dreyfus—profesor de filosofía en la Universidad de California, Berkeley. Su trabajo se refiere a
la filosofía fenomenológica y existencialista, y los fundamentos filosóficos de la IA.
17 Notemos que H. Dreyfus formuló este argumento cuando el estudio de las redes neuronales estaba más allá
de la corriente principal de investigación en IA.
Machine Translated by Google
17.1 Problemas de Inteligencia Artificial 239
adecuadamente con modelos formales, por ejemplo, representándolos mediante símbolos constantes, símbolos
de predicado (relación), símbolos de función, etc. en FOL. Dreyfus llama a este punto de vista el supuesto
ontológico y afirma que también hay un aspecto informalizable de nuestro conocimiento que resulta de nuestro
cuerpo, nuestra cultura, etc. Por lo tanto, este tipo de conocimiento (inconsciente) no puede representarse con la
ayuda de formal (simbólico). )
18
modelos, porque se almacena en nuestro cerebro de forma intuitiva.
La primera versión del funcionalismo, que es una de las teorías más influyentes en la Inteligencia Artificial,
fue formulada por Hilary Putnam19 en 1960 [232]. De acuerdo con esta teoría, los estados mentales están
conectados por relaciones causales de manera análoga a los estados de autómatas formales, que se han
discutido en el Cap. 8. Del mismo modo que los estados del autómata se utilizan para definir su comportamiento
a través de la función de transición, los estados mentales juegan un papel funcional en la mente. Además, los
estados mentales están en relaciones causales con las entradas (sensores) y salidas (efectores) del sistema
mental.20 En el funcionalismo de las máquinas tempranas21 se formuló la siguiente analogía informática: cerebro
= hardware y mente = software. En consecuencia, los estados mentales pueden ser representados por varios
medios físicos (p. ej., un cerebro, una computadora, etc.) de manera similar a como el software puede ser
implementado por varias computadoras.22 La máquina de Turing es especialmente atractiva como modelo mental
en el funcionalismo.23
John R. Searle ha criticado el funcionalismo a partir de su habitación china
experimento mental [269], que se ha presentado en el cap. 1. En este experimento intenta demostrar que un
sistema puede comportarse como si tuviera estados intencionales24 si le entregamos un conjunto de
instrucciones25 que le permitan realizar tal simulación. J. Searle llama a tal intencionalidad “intencionalidad como
si” [270]. Sin embargo, esto no significa que el Así, en el funcionalismo, que equipara un
sistema realmente tiene una intencionalidad intrínseca.26
18Dreyfus representa aquí el punto de vista fenomenológico , que ha sido introducido en la Secc. 15.1. Especialmente
esto se relaciona con el trabajo de Martin Heidegger.
19Hilary Whitehall Putnam—profesora de filosofía en la Universidad de Harvard. Es conocido por una variedad de intereses
de investigación, que incluyen la filosofía de la mente, la filosofía del lenguaje, la filosofía de la ciencia y las matemáticas
y la informática (el algoritmo de DavisPutnam). Alumno de H. Reichenbach, R. Carnap y WVO Quine. Debido a sus logros
científicos, ha sido elegido miembro de la Academia Estadounidense de las Artes y las Ciencias y de la Academia Británica,
y fue presidente de la Asociación Filosófica Estadounidense.
20 Análogamente a la forma en que hemos definido los transductores en el Cap. 8.
21A finales del siglo XX, H. Putnam debilitó su versión ortodoxa del funcionalismo y en 1994 publicó un artículo titulado
“Por qué el funcionalismo no funcionó”. No obstante, se desarrollaron nuevas teorías (p. ej., el psicofuncionalismo
representado por Jerry Fodor y Zenon Pylyshyn) sobre la base de su modelo inicial.
22Esta tesis fue formulada por H. Putnam a fines de la década de 1960 como un argumento contra la teoría de la identidad
tipo. Se llama realizabilidad múltiple.
23Puesto que la máquina de Turing es un autómata de la mayor potencia computacional (cf. Apéndice E).
24El concepto de intencionalidad ha sido introducido en la Secc. 15.1, cuando se han presentado las opiniones de Franz
Brentano.
25Por ejemplo, un programa de computadora es un conjunto de instrucciones.
26En otras palabras, una computadora no quiere traducir una historia, no duda si ha traducido una historia correctamente,
no tiene curiosidad por saber cómo termina una historia, etc.
Machine Translated by Google
240 17 perspectivas de la inteligencia artificial
sistema de información con un ser humano, no hay diferencia entre algo que es realmente
intencional y algo que aparentemente es intencional.
Daniel Dennett27 propuso otro enfoque del tema de la intencionalidad en 1987 [68]. El
comportamiento de los sistemas se puede explicar en tres niveles de abstracción. En el nivel
más bajo, llamado postura física y que concierne tanto a los dominios de la física como de la
química, explicamos el comportamiento de un sistema de manera causal con la ayuda de los
principios de la ciencia. El nivel intermedio, llamado postura de diseño, incluye sistemas
biológicos y sistemas construidos en ingeniería. Describimos su comportamiento de manera
funcional.28 Las mentes y el software pertenecen al nivel más alto, llamado actitud intencional.
Su comportamiento puede explicarse utilizando conceptos de intencionalidad, creencias,
etc.29
El argumento de la habitación china puede cuestionarse si se asume la visión más
extrema que apoya la IA fuerte, es decir, el materialismo eliminativo (eliminativismo)
introducido por Patricia Smith Churchland30 y Paul M. Churchland31 [49].
Según este punto de vista, los fenómenos psíquicos no existen. Conceptos como
intencionalidad, creencia y mente no explican nada. Por lo tanto, deberían eliminarse de la
ciencia y reemplazarse con términos de biología y neurociencia.
Los investigadores que desarrollan sistemas de IA también participan en la discusión
sobre Strong AI. Al igual que en el caso de los filósofos y los cognitivistas, las opiniones al
respecto están divididas. Para algunos de ellos, los éxitos en la construcción de sistemas de
IA muestran que en el futuro será posible el diseño de un “cerebro artificial”. Hans Moravec32
y Ray mond Kurzweil33 son los investigadores más notables que expresan tal opinión.
17.2 Barreras y desafíos potenciales en la IA
Insecto. 15.2 hemos introducido una definición psicológica de inteligencia como un conjunto
de habilidades que permiten, en primer lugar, adaptarse a un entorno cambiante y, en
segundo lugar, una actividad cognitiva consistente en crear y operar estructuras abstractas. Después
27Daniel Clement Dennett III—profesor de filosofía en la Universidad de Tufts. Su trabajo se refiere a la
filosofía de la mente y la filosofía de la ciencia. Fue alumno de G. Ryle y WVO Quine.
28Por ejemplo, si un pez mueve sus aletas, entonces nada; si un termómetro detecta que hace demasiado
frío, entonces un termostato sube el calor.
29 Por supuesto, según Searle, Dennett no hace una distinción entre intencionalidad como si e intencionalidad
intrínseca.
30Patricia Smith Churchland—profesora de filosofía en la Universidad de California, San Diego y la Universidad
de Manitoba. Su trabajo se refiere a la filosofía de la mente, la neurofilosofía y la ética médica.
31Paul M. Churchland—profesor de filosofía en la Universidad de California, San Diego y la Universidad de
Manitoba. Su trabajo se refiere a la filosofía de la mente, la neurofilosofía y la epistemología.
32Hans Moravec—investigador de la Universidad Carnegie Mellon. En 1980 construyó un robot equipado con
TV en la Universidad de Stanford. Fue cofundador de Seegrid Corporation, que es una empresa que desarrolla
robots autónomos.
33Raymond “Ray” Kurzweil: inventor y futurista. Especialista en reconocimiento informático de caracteres y
habla.
Machine Translated by Google
240 17 perspectivas de la inteligencia artificial
sistema de información con un ser humano, no hay diferencia entre algo que es realmente
intencional y algo que aparentemente es intencional.
Daniel Dennett27 propuso otro enfoque del tema de la intencionalidad en 1987 [68]. El
comportamiento de los sistemas se puede explicar en tres niveles de abstracción. En el nivel
más bajo, llamado postura física y que concierne tanto a los dominios de la física como de la
química, explicamos el comportamiento de un sistema de manera causal con la ayuda de los
principios de la ciencia. El nivel intermedio, llamado postura de diseño, incluye sistemas
biológicos y sistemas construidos en ingeniería. Describimos su comportamiento de manera
funcional.28 Las mentes y el software pertenecen al nivel más alto, llamado actitud intencional.
Su comportamiento puede explicarse utilizando conceptos de intencionalidad, creencias,
etc.29
El argumento de la habitación china puede cuestionarse si se asume la visión más
extrema que apoya la IA fuerte, es decir, el materialismo eliminativo (eliminativismo)
introducido por Patricia Smith Churchland30 y Paul M. Churchland31 [49].
Según este punto de vista, los fenómenos psíquicos no existen. Conceptos como
intencionalidad, creencia y mente no explican nada. Por lo tanto, deberían eliminarse de la
ciencia y reemplazarse con términos de biología y neurociencia.
Los investigadores que desarrollan sistemas de IA también participan en la discusión
sobre Strong AI. Al igual que en el caso de los filósofos y los cognitivistas, las opiniones al
respecto están divididas. Para algunos de ellos, los éxitos en la construcción de sistemas de
IA muestran que en el futuro será posible el diseño de un “cerebro artificial”. Hans Moravec32
y Ray mond Kurzweil33 son los investigadores más notables que expresan tal opinión.
17.2 Barreras y desafíos potenciales en la IA
Insecto. 15.2 hemos introducido una definición psicológica de inteligencia como un conjunto
de habilidades que permiten, en primer lugar, adaptarse a un entorno cambiante y, en
segundo lugar, una actividad cognitiva consistente en crear y operar estructuras abstractas. Después
27Daniel Clement Dennett III—profesor de filosofía en la Universidad de Tufts. Su trabajo se refiere a la
filosofía de la mente y la filosofía de la ciencia. Fue alumno de G. Ryle y WVO Quine.
28Por ejemplo, si un pez mueve sus aletas, entonces nada; si un termómetro detecta que hace demasiado
frío, entonces un termostato sube el calor.
29 Por supuesto, según Searle, Dennett no hace una distinción entre intencionalidad como si e intencionalidad
intrínseca.
30Patricia Smith Churchland—profesora de filosofía en la Universidad de California, San Diego y la Universidad
de Manitoba. Su trabajo se refiere a la filosofía de la mente, la neurofilosofía y la ética médica.
31Paul M. Churchland—profesor de filosofía en la Universidad de California, San Diego y la Universidad de
Manitoba. Su trabajo se refiere a la filosofía de la mente, la neurofilosofía y la epistemología.
32Hans Moravec—investigador de la Universidad Carnegie Mellon. En 1980 construyó un robot equipado con
TV en la Universidad de Stanford. Fue cofundador de Seegrid Corporation, que es una empresa que desarrolla
robots autónomos.
33Raymond “Ray” Kurzweil: inventor y futurista. Especialista en reconocimiento informático de caracteres y
habla.
Machine Translated by Google
17.2 Barreras y desafíos potenciales en la IA 241
el análisis de los logros de la IA realizado en el Cap. dieciséis podemos concluir que las posibles
barreras al desarrollo de la IA se refieren al segundo componente de esta definición. Trataremos
de identificar estas barreras a partir de la clasificación de las operaciones cognitivas introducida
por Santo Tomás de Aquino, porque en nuestra opinión especifica adecuadamente la esencia de
los procesos cognitivos genéricos. Recordemos que distinguió tres actos del intelecto, a saber, la
comprensión de conceptos, la emisión de un juicio y el razonamiento.
Empecemos por la tercera operación cognitiva, porque en este ámbito se han obtenido los
mayores logros en IA. Como hemos discutido en el Cap. dieciséis, el razonamiento se define
como proceder de una proposición a otra de acuerdo con reglas confiables de deducción. En la
primera mitad del siglo XX se desarrollaron sólidos fundamentos teóricos y métodos efectivos de
razonamiento deductivo en lógica matemática.
Estos métodos se utilizan en Inteligencia Artificial con éxito. Dado que una simulación del
razonamiento humano debe realizarse de acuerdo con principios lógicos, los usamos para diseñar
sistemas de IA.
En el caso de una simulación de comprensión de conceptos, los resultados de la investigación
no son tan impresionantes. El enfoque aristotélico estándar para la definición de conceptos, que
consiste en dar su género más cercano y su diferencia específica, se usa con éxito en las ciencias
formales (por ejemplo, en las matemáticas), pero no es tan eficaz en otras ciencias y suele ser
inadecuado en las ciencias cotidianas. vida. Hay dos razones para la dificultad de aplicar este
enfoque en IA. En primer lugar, la regla aristotélica es un principio muy general.
Por lo tanto, definir un método eficaz (algoritmo) sobre la base de un principio general de este tipo
es problemático. En segundo lugar, la creación aristotélica de conceptos mediante la abstracción
se basa en el supuesto de la existencia de categorías nítidas. Sin embargo, la psicolingüística
moderna afirma que las categorías son de naturaleza difusa y radial, como hemos discutido al
presentar la lingüística cognitiva de Lakoff en el Cap. 1. En consecuencia, un proceso de
abstracción se trata como un proceso intelectual intrínseco de comprensión del meollo de la
cuestión. Sin embargo, la ciencia moderna no responde a la pregunta: ¿Cómo procede un proceso
de comprensión de conceptos, interpretado de tal manera?
A veces, la comprensión de conceptos se considera equivalente al análisis de conglomerados.
Esta es una notable simplificación del problema. Notemos que en el caso de un concepto se
distinguen dos aspectos suyos, a saber, su intensión, que es el contenido interno, es decir, el
conjunto de propiedades que caracterizan a los objetos que caen dentro de ese concepto, y su
extensión, que define su rango de acción. aplicabilidad mediante la designación de objetos que
caen dentro del concepto. En el análisis de conglomerados hay un diseñador del sistema, que
tiene que definir el espacio de características (el aspecto intensional). El sistema solo agrupa
objetos en clusters (el aspecto extensional). Podríamos hablar de un sistema que comprende
conceptos si genera un espacio de características a partir de la observación de objetos de ejemplo.
El proceso de pronunciar un juicio es un proceso cognitivo genérico, poco comprendido en
psicología y filosofía. Para discutir la posibilidad de una simulación de este proceso en IA usamos
la taxonomía kantiana de proposiciones, que se ha discutido en el Cap. 15. La simulación de una
generación de proposiciones analíticas a priori se realiza en sistemas de IA. Recordemos que
tales proposiciones se refieren a conocimientos ya existentes en nuestra mente. En los sistemas
de IA en el caso de tales proposiciones
Machine Translated by Google
242 17 perspectivas de la inteligencia artificial
nos referimos a una base de conocimiento directamente, por ejemplo, encontramos la parte correcta
de una red semántica, o derivamos una proposición requerida con el método de resolución.
Las proposiciones sintéticas, que amplían nuestro conocimiento, se dividen en dos grupos.
Las proposiciones sintéticas a posteriori se derivan sobre la base de la experiencia adquirida. En AI
tales proposiciones se obtienen por aprendizaje generalizado, que se ha discutido en la Secc. 16.8. El
aprendizaje no supervisado de redes neuronales y el análisis de conglomerados son los mejores
ejemplos de dicho aprendizaje. Aunque, como hemos mencionado en la Secc. 16.8, hay muchos
problemas abiertos en esta área, usamos aquí el paradigma del razonamiento inductivo utilizado con
éxito en las ciencias empíricas.
Desafortunadamente, todavía no podemos simular el proceso de generación de teoremas
matemáticos, que es un proceso fundamental del desarrollo matemático.
Según I. Kant, tales teoremas corresponden a proposiciones sintéticas a priori.
Analicemos este problema de una manera más detallada.
Las teorías matemáticas son sistemas axiomáticodeductivos. En primer lugar, nociones básicas y
se definen los axiomas34 . Luego, se desarrolla una teoría por razonamiento deductivo, 35 que es
basada en la regla modus ponendo ponens. Esta regla se interpreta de la siguiente manera:
Si la expresión: Si A, entonces B es verdadera
y la expresión: A es verdadera,
entonces la expresión: B también es verdadera.
Cuando desarrollamos sistemas axiomáticodeductivos, podemos aplicar esta regla en dos
maneras, a saber, como una deducción progresiva o una deducción regresiva [30].
En una deducción progresiva partimos de una premisa verdadera y tratamos de inferir una
conclusión. Por lo tanto, tal proceso es una especie de computación simbólica. Esta computación
consiste en manipular expresiones simbólicas para generar nuevas expresiones.
El teórico de la lógica de sistemas, que se ha presentado en el cap. 1, se basa en este método de
razonamiento deductivo.
Por otro lado, en el caso de una deducción regresiva, primero formulamos una conclusión y luego
tratamos de justificarla señalando expresiones del sistema que pueden usarse para derivar esta
conclusión.
Una notable expansión de los sistemas axiomáticodeductivos se obtiene con la ayuda de la
deducción regresiva. De esta manera se han logrado importantes resultados de investigación en
matemáticas [30, 224]. Notemos que formular una conclusión, cuya verdad no ha sido probada en el
momento de la formulación, es un momento crucial en este método. Y nuevamente, la ciencia moderna
no responde a la pregunta: ¿Cómo procede el proceso de formulación de tales conclusiones? Este
fenómeno suele describirse con términos como perspicacia, inspiración o intuición [224]. Por supuesto,
tal descripción no nos permite definir algoritmos que simulen esta función cognitiva.
proceso.
34Los axiomas son proposiciones que se supone que son verdaderas.
35Los conceptos relacionados con el razonamiento deductivo se encuentran en el Apéndice F.2.
Machine Translated by Google
17.2 Barreras y desafíos potenciales en la IA 243
Dos problemas identificados anteriormente, que son barreras fundamentales para el desarrollo
de la IA, dan como resultado problemas clave más específicos que se han discutido en el Cap. dieciséis.
El hecho de que no conozcamos los mecanismos de comprensión de conceptos dificulta el desarrollo de
métodos satisfactorios de generación automática de ontologías en el área de representación y aprendizaje del
conocimiento, construcción automática de modelos abstractos de problemas en el área de resolución de
problemas y análisis semántico. análisis en Procesamiento del Lenguaje Natural.
La falta de modelos que describan el proceso de pronunciar un juicio es la principal barrera en las áreas de
planificación, aprendizaje automático (el problema de la formulación de hipótesis), inteligencia social y
creatividad.
Estas barreras no deben utilizarse como argumento en contra de la posibilidad del desarrollo de sistemas
inteligentes en el futuro. Constituyen, a juicio del autor, el principal reto de la investigación en Inteligencia
Artificial.
17.3 Determinantes del desarrollo de la IA
Notemos que la mayoría de los modelos de IA presentados en la segunda parte del libro se han definido sobre
la base de ideas que están fuera de las ciencias de la computación. La simulación cognitiva, las redes
semánticas, los marcos, los guiones y las arquitecturas cognitivas se han desarrollado sobre la base de teorías
psicológicas. Los modelos de razonamiento estándar y razonamiento no monótono son teorías lógicas. Los
algoritmos genéticos, las estrategias de evolución, la programación evolutiva, la programación genética, la
inteligencia de enjambre y los sistemas inmunológicos artificiales están inspirados en modelos biológicos. Las
matemáticas han contribuido a las redes de Bayes, los conjuntos borrosos, los conjuntos aproximados y el
reconocimiento de patrones estándar. Las teorías de la lingüística han influido en el desarrollo del
reconocimiento de patrones sintácticos. Las redes neuronales artificiales simulan modelos de neurociencia. La
física ofrece métodos basados en la mecánica estadística, que hacen que los algoritmos de resolución de
problemas y los algoritmos de aprendizaje sean más eficientes. Parece que en informática sólo se han definido
sistemas basados en reglas.
Así, el desarrollo de la Inteligencia Artificial tratada como un área de investigación ha estado fuertemente
influenciada por las teorías de las disciplinas científicas antes mencionadas. Parece que la IA se desarrollará
de manera similar en el futuro.
Ahora, intentemos identificar las perspectivas de IA más importantes de las disciplinas.
mencionado anteriormente. El esquema principal de los determinantes de AI se muestra en la Fig. 17.1.
Como hemos concluido en la sección anterior, las barreras cruciales en las áreas de resolución de
problemas generales, aprendizaje automático, procesamiento del lenguaje natural, planificación y creatividad
resultan de nuestra falta de modelos psicológicos de dos procesos cognitivos genéricos, a saber, la comprensión
de conceptos y la pronunciación. un juicio
Cualquier resultado de investigación relacionado con estos procesos sería muy útil como punto de partida para
estudios de simulación por ordenador de estos procesos.
La comunicación entre humanos y sistemas de IA y entre sistemas de IA (sistemas multiagente) requiere
métodos de PNL mucho más efectivos. modelos avanzados de
Machine Translated by Google
244 17 perspectivas de la inteligencia artificial
Ciencias de la
Computación
Modelos de
Lingüística Artificial Modelos
neurociencia
semántica
de cerebro
del lenguaje Inteligencia
Modelos de teoría de Modelos basados en
la mente y estadísticas mecánicas y
epistemología mecánica cuántica
Cálculos lógicos Matemático
Filosofía para la formalización de Física
descripción del mundo. modelos
Lógicas Matemáticas
Fig. 17.1 Determinantes del desarrollo de la IA
El análisis de sintaxis desarrollado en lingüística se utiliza con éxito en IA. Esperemos que
modelos adecuados de análisis semántico se definirán en lingüística en un futuro próximo.
futuro.
Si las técnicas avanzadas de neuroimagen y electrofisiología en neurociencia
nos permitirá desentrañar los misterios del cerebro humano, entonces esto nos ayudará a construir
modelos conexionistas más efectivos.
Los modelos de organismos y sus procesos fisiológicos y mecanismos evolutivos serán una fuente
inagotable de inspiración para el desarrollo de métodos generales.
de resolución de problemas.
Mayor desarrollo de nuevos cálculos lógicos de poder descriptivo que nos permitan
representar muchos aspectos del mundo físico permitiría una aplicación más amplia
de métodos de razonamiento en sistemas expertos. Las matemáticas deberían ayudarnos a formalizar
modelos de biología, psicología, lingüística, etc. que podrían usarse en IA.
Como hemos discutido en la segunda parte de la monografía, los métodos de IA son
muy a menudo computacionalmente ineficiente. Para desarrollar métodos eficientes de IA,
debe utilizar modelos computacionales que se basan en estadísticas mecánicas o cuánticas
mecánica entregada por la física moderna.
Deben desarrollarse nuevas técnicas efectivas de software e ingeniería de sistemas.
en informática. Esto nos permitiría construir sistemas híbridos de IA y sistemas multiagente. La algoritmización
de métodos basados en modelos desarrollados
en varias disciplinas científicas es el segundo objetivo de la investigación de IA en ciencias de la computación.
Machine Translated by Google
17.3 Determinantes del desarrollo de la IA 245
Con suerte, la filosofía entregará modelos modernos de teoría de la mente y epistemología.
Como hemos visto en la Secc. 17.1 juegan un papel importante e inspirador en el progreso de la
Inteligencia Artificial.
Finalmente, notemos que los investigadores de IA deberían cooperar más fuertemente, debido a
la naturaleza interdisciplinaria de esta área de investigación. Además, cualquier investigador de IA
debe ampliar sus intereses más allá de su disciplina principal. El desarrollo de una nueva disciplina,
la ciencia cognitiva, debería ayudarnos a integrar diversas disciplinas científicas que contribuyan al
progreso de la Inteligencia Artificial.
Nota bibliográfica
Las cuestiones fundamentales de la teoría de la mente se presentan en [45, 120, 134, 158, 186,
224, 292].
Machine Translated by Google
Apéndice A
Modelos formales para inteligencia artificial
Métodos: nociones formales para la búsqueda
Métodos
Como mencionamos en el Cap. 2, los métodos de búsqueda se basan en un concepto de simulación
cognitiva desarrollado en psicología y teoría de la mente. En este apéndice, en primer lugar,
introducimos las nociones fundamentales de espacio de estado y árbol de búsqueda de manera
formal. Luego, presentamos las propiedades de la función heurística [256]. Un problema de satisfacción
de restricciones (CSP) se formaliza al final [305].
A.1 Espacio de estado, árbol de búsqueda y función heurística
Definición A.1 Sea P un problema, un conjunto de representaciones de todas las configuraciones del
problema P, S un conjunto de representaciones de configuraciones iniciales (de inicio) de P, F
un conjunto de representaciones de configuraciones finales (objetivo) configuraciones de P, un
conjunto finito de operadores que se pueden usar para resolver P. Un espacio de estado del problema
P es un gráfico dirigido con nodos y bordes etiquetados
G = (V, E, , , φ), donde
V es un conjunto de nodos del gráfico correspondientes a los estados del
problema P, E es un conjunto de aristas del gráfico de la forma (v, λ, w), v, w V, λ ; una arista
(v, λ, w) E representa una transición de un estado v a un estado w como resultado de la
aplicación de un operador λ, φ : V →
es la función de etiquetado de nodos.
1De hecho, resolver un problema significa la aplicación de una secuencia de operadores que asignan
etiquetas a los
bordes de la ruta. © Springer International Publishing 247
Suiza 2016 M. Flasi ́nski, Introducción a la Inteligencia
Artificial, DOI 10.1007/9783319400228
Machine Translated by Google
248 Apéndice A: Modelos formales para métodos de inteligencia artificial …
Los espacios de estado suelen ser demasiado grandes para buscarlos directamente. Por lo tanto,
en busca de una solución, los tratamos como un dominio del problema. Luego, extendemos
sucesivamente una estructura de árbol en dicho dominio. Introduzcamos la siguiente definición.
Definición A.2 Sea G un espacio de estado de un problema P. Un árbol de búsqueda2 T es un árbol
dirigido generado en G (en una parte de G) tal que la raíz v de T es un nodo inicial de G.
Como discutimos en el Cap. 4, si construimos métodos heurísticos de una búsqueda en el espacio
de estados, debemos definir una función heurística que determine (para cada estado) una distancia a
un estado objetivo. Ahora, introducimos nociones formales relacionadas con esta función [256].
Definición A.3 Sea G = (V, E, , la función , φ) sea un espacio de estado de un problema P. Una heurística
es una función
h : V → R+ ,
donde R+ es un conjunto de números reales no negativos, tal que asigna un costo de alcanzar un
nodo objetivo de G para cualquier nodo v V.
Supondremos una interpretación basada en costos de una función heurística en las definiciones
a continuación. Significa que intentaremos pasar de un nodo dado a un nodo con un valor mínimo de
una función heurística. Si asumiéramos una interpretación basada en la calidad de una función
heurística, intentaríamos ir a un nodo con un valor máximo (calidad) de una función heurística. Si se
utiliza la segunda interpretación, el símbolo ≤ debe reemplazarse por el símbolo ≥.
Definición A.4 Una función heurística h es admisible si para cada nodo v de un espacio de estado G
(o: de un árbol de búsqueda) se cumple la siguiente condición:
h(v) ≤ C(v),
donde C(v) es el costo real de un camino desde el nodo v hasta el nodo objetivo.
Definición A.5 Una función heurística h es consistente (monótona) (cf. Fig. A.1) si para cada nodo v de
un espacio de estado G (o: de un árbol de búsqueda) y para cada nodo hijo S(v) de el nodo v se
cumplen las siguientes condiciones.
Si C(v, S(v)) es el costo de moverse del nodo v al nodo S(v), entonces
h(v) ≤ C(v, S(v)) + h(S(v)) .
Por supuesto,3 cualquier función heurística consistente es admisible.
2Un árbol de búsqueda definido de esta forma se denomina árbol de búsqueda parcial.
3A veces, reclamamos que se cumpla una condición adicional. Si k es el nodo objetivo de un espacio de estado G, entonces
h(k) = 0.
Machine Translated by Google
Apéndice A: Modelos formales para métodos de inteligencia artificial … 249
Fig. A.1 Consistencia de un v
función heurística
C(v,S(v))
S(v)
h(v)
h(S(v))
nodo objetivo
Definición A.6 Sean h1, h2 funciones heurísticas admisibles. La función heurística h2 domina a la
función heurística h1 si para cada nodo v de un espacio de estado G se cumple la siguiente
condición:
h2(v) ≥ h1(v).
Como discutimos en el Cap. 4, teniendo dos funciones admisibles, se debe utilizar una función
dominante.
A.2 Problema de satisfacción de restricciones
Definición A.7 Problema de satisfacción de restricciones, CSP es un triple
P = (Z, D, C),
donde Z = {x1, x2,..., xn} es un conjunto finito de variables, D =
(Dx1 , Dx2 ,..., Dxn ), donde Dxi es un conjunto de posibles valores que se pueden atribuir a xi,
llamado dominio de xi, C es un
conjunto finito de restricciones (restricciones, condiciones) impuestas sobre un subconjunto de Z.
Definición A.8 Sea P = (Z, D,C) un problema de satisfacción de restricciones. P es satisfacible si
existe (x1, α1,x2, α2,...,xn, αn) tal que:
c C : (x1, α1,x2, α2,...,xn, αn) satisface c.
(x1, α1,x2, α2,...,xn, αn) se llama solución del problema P.
Machine Translated by Google
apéndice B
Modelos formales para inteligencia artificial
Métodos: Fundamentos matemáticos de
Computación evolutiva
Cuando discutimos los métodos de cálculo evolutivo en el Cap. 5, hacemos uso de algunas nociones de la
teoría de la probabilidad, como desviación estándar, distribución normal, etc.
Insecto. B.1 los presentamos [118, 119] sobre la base de un espacio probabilístico presentado en el
Apéndice I. 4
Los trabajos pioneros sobre algoritmos genéticos se publicaron en la década de 1960. Desde entonces,
los investigadores han tratado de formalizar este enfoque, que se basa en una metáfora biológica, con
varios modelos matemáticos. A finales del siglo XX, resultó que la cadena de Markov, en la que las
poblaciones se representan con un espacio de estado, es un modelo conveniente para este propósito
[310]. Las nociones relativas a la cadena de Markov [115, 118, 119, 293] se presentan en la Secc. B.2.
B.1 Nociones seleccionadas de la teoría de la probabilidad
En el Apéndice I se incluye una noción de σálgebra generada por una familia de conjuntos. Con el fin de
introducir las nociones de teoría de la probabilidad utilizadas en nuestras consideraciones, en primer lugar
presentamos una definición de σálgebra especial generada por una familia de conjuntos abiertos. 5
Definición B.1 Sea X un espacio topológico. Una σálgebra generada por una familia de conjuntos abiertos
del espacio X se llama σálgebra de Borel . Cualquier elemento de un σálgebra de Borel se denomina
conjunto de Borel. Una familia de todos los conjuntos de Borel en X se denota con B(X).
Después de definir un conjunto de Borel, podemos introducir las siguientes nociones: distribución de
probabilidad, vector aleatorio (variable aleatoria) y distribución de vector aleatorio (distribución de variable
aleatoria).
En el Apéndice I se introduce un espacio de probabilidad (, F, P). De hecho, a menudo nos interesa un
espacio equivalente a Rn (R denota un conjunto de números reales), y
4El Apéndice I contiene nociones básicas de la teoría de la probabilidad que se utilizan para el razonamiento probabilístico
en sistemas inteligentes.
5El conjunto abierto y el espacio topológico se definen en el Apéndice G.1.
© Springer International Publishing Suiza 2016 M. Flasi ́nski, 251
Introducción a la Inteligencia Artificial, DOI
10.1007/9783319400228
Machine Translated by Google
252 Apéndice B: Modelos formales para métodos de inteligencia artificial …
en consecuencia, en una σálgebra F es una familia de conjuntos de Borel B(Rn). Introduzcamos
una definición de distribución de probabilidad.
Definición B.2 Una medida de probabilidad P tal que el triple (Rn, B(Rn), P) es un espacio de
probabilidad se denomina distribución de probabilidad ndimensional.
Definición B.3 Una distribución de probabilidad P ndimensional se denomina distribución
discreta si y solo si existe un conjunto de Borel S Rn tal que:
Si S = {si : i = 1,..., m}, donde m N (es decir, m es un número natural) o m = ∞ y P({si}) = pi,
entonces para cada conjunto Borel A Rn se cumple la siguiente fórmula:
y además:
• pi > 0, para cada i = 1,..., m, i=1 pi
• metro
= 1.
Definición B.4 Una distribución de probabilidad P ndimensional se denomina distribución
continua si y solo si existe una función integrable f : Rn −→ R tal que para cada conjunto de
Borel A Rn se cumple la siguiente fórmula:
PA(A) = f(x) dx ,
A
dónde f(x) dx denota una integral múltiple de una función f sobre A. Una función f es
A
llamada función de densidad de probabilidad, y además:
• f(x) ≥ 0, para cada x Rn,
• f(x) dx = 1.
Rn
Definición B.5 Sea (, F, P) un espacio de probabilidad. Una función X : −→ Rn se llama vector
aleatorio si y sólo si:
para cada conjunto de Borel B B(Rn).
Un vector aleatorio unidimensional se llama variable aleatoria.
Machine Translated by Google
Apéndice B: Modelos formales para métodos de inteligencia artificial … 253
Definición B.6 Sea (, F, P) un espacio de probabilidad, X : −→ Rn un vector aleatorio. Una
distribución PX definida por una fórmula:
PX(B) = P(X−1 (B)),
para B B(Rn), se llama distribución de un vector X.
Una distribución de una variable aleatoria se define de manera análoga (tenemos R, en
lugar de Rn).
Ahora, introducimos definiciones de parámetros básicos de distribución de variables aleatorias.
ciones: valor esperado, varianza y desviación estándar.
Definición B.7 Sea (, F, P) un espacio de probabilidad, X : −→ R una variable aleatoria. Un
valor esperado de X se calcula como:
metro
m = E(X) = xipi ,
yo=1
si X es una variable aleatoria de distribución discreta: P(X = xi) = pi, i = 1,..., m, m N o m
= ∞, o se calcula como:
+∞
m = E(X) = xf(x) dx ,
−∞
si X es una variable aleatoria de distribución continua con una función de densidad de
probabilidad f .
Definición B.8 Sea (, F, P) un espacio de probabilidad, X : −→ R una variable aleatoria con
un valor esperado finito m = E(X). Una varianza de X se calcula como:
metro
2
σ2 = D2 (X) = E((X − m) ) = (xi − m) 2pi ,
yo=1
si X es una variable aleatoria de distribución discreta: P(X = xi) = pi, i = 1,..., m, m N o m
= ∞, o se calcula como:
+∞
2
σ2 = D2 (X) = E((X − m) ) = (x m) 2f(x) dx,
−∞
si X es una variable aleatoria de distribución continua con una función de densidad de
probabilidad La
f . desviación estándar de una variable aleatoria X se calcula como:
σ = D2(X).
Al final de esta sección introducimos una noción de distribución normal, también llamada
distribución gaussiana.
Machine Translated by Google
254 Apéndice B: Modelos formales para métodos de inteligencia artificial …
Definición B.9 Una distribución P se denomina distribución normal (gaussiana) si y solo si existen
números: m, σ R, σ > 0 tales que una función f : R −→ R, dada por una fórmula:
1 x−m
f(x) = σ e− 1 2 ( σ )2 , x R,
√2π
es una función de densidad de probabilidad de una distribución P. La distribución normal con
parámetros: m (un valor esperado) y σ (una desviación estándar) se denota con N(m, σ).
B.2 Modelo de cadena de Markov para algoritmo genético
Discutiendo una idea de un algoritmo genético en la Secc. 5.1, notamos que un espacio de estado
(en el sentido usado en los métodos de búsqueda) es creado por poblaciones consecutivas
(estrictamente hablando: por sus representaciones únicas) generadas con el algoritmo. Así, el
procesamiento en un algoritmo genético puede tratarse como un proceso de generación de
poblaciones consecutivas correspondientes a estados de este espacio en épocas genéticas
sucesivas t T = {0, 1,...}. Estas poblaciones: P0, P1,... definen una secuencia {Pt : t T}.
Tal secuencia puede tratarse formalmente como un proceso estocástico.
Definición B.10 Sea (, F, P) un espacio de probabilidad. Una familia de variables aleatorias {Xt : t
T} se llama proceso estocástico. Un conjunto T se denomina conjunto índice.
Denotemos un conjunto de números reales con R y un conjunto de números naturales con N. Si T =
R, entonces decimos que {Xt : t T} es un proceso de tiempo continuo. Si T = N, entonces decimos
que {Xt : t T} es un proceso de tiempo discreto.
Los operadores del algoritmo genético (cruce, mutación, etc.) aplicados para una población dada
no dependen de poblaciones anteriores. Significa que una secuencia de variables aleatorias {Xt : t
T}, al ser un proceso estocástico en tiempo discreto, cumple la condición de Markov, es decir, es
una cadena de Markov.
Definición B.11 Un proceso de tiempo discreto {Xt : t N} que tiene valores en el conjunto contable
como máximo {x0, x1,...}, que cumple la condición de Markov, es decir: para cada n N, j N , m
N, m < n, para cada j1 < j2 < ∙∙∙ < jm < n, para cada i1,..., im N se cumple la siguiente condición:
P(Xn = xj|Xjm = xim ,..., Xj1 = xi1 ) = P(Xn = xj|Xjm = xim )
se llama cadena de Markov.
El conjunto {x0, x1,...} se llama espacio de estado. 6
Una probabilidad P Xn = xj|Xn−1 = xi de pasar de un estado xi a un estado xj en un paso de tiempo
de n − 1 a n se denota con pn ij.
6Cada estado xi, i = 0, 1,... representa una población Pi.
Machine Translated by Google
Apéndice B: Modelos formales para métodos de inteligencia artificial … 255
Las probabilidades de transiciones en un número contable de estados como máximo forman una matriz de
transición definida como:
Mn = pn
ij.
Si una probabilidad pn
ij de transición de un estado xi a un estado xj es independiente del tiempo n,
entonces una cadena de Markov se llama homogénea. Definimos esta propiedad de la siguiente manera.
Definición B.12 Una cadena de Markov {Xt : t N} se denomina cadena de Markov homogénea si y solo si
cumple la siguiente condición:
P(Xn = xj|Xn−1 = xi) = P(Xm = xj|Xm−1 = xi),
para cualquier n y m.
Los parámetros de los operadores genéticos utilizados en un algoritmo genético son constantes.7 Esto
significa que una transición de una población xi a una población xj en un paso de tiempo es la misma para
cualquier paso de tiempo. Por lo tanto, un algoritmo genético puede modelarse como una cadena de Markov
homogénea que nos permite definir una matriz de transición para un espacio de estado y analizar muchas
propiedades de este algoritmo.
7Esta condición no se cumple, por ejemplo, para las estrategias de evolución, cf. Secta. 5.2.
Machine Translated by Google
Apéndice C
Modelos formales para artificiales
Métodos de inteligencia: cuestiones
seleccionadas de lógica matemática
Nociones formales utilizadas en el Cap. 6 para discutir métodos basados en una lógica matemática
se introducen en este apéndice. Las definiciones básicas de la lógica de primer orden, un método
de resolución de demostración automatizada de teoremas, los sistemas de reescritura abstracta y
el cálculo lambda se presentan en secciones sucesivas [16, 17, 20, 24, 46, 81 , 177 , 181 , 244 ,
317 ] .
C.1 Lógica de primer orden
Como mencionamos en el Cap. 6, la lógica de primer orden (FOL) es el principal modelo formal
utilizado para construir sistemas inteligentes basados en lógica matemática. En esta sección se
presentan nociones sobre la sintaxis de FOL que son necesarias para introducir un método de
resolución y nociones básicas sobre la semántica de FOL.
Un conjunto de símbolos de un lenguaje FOL consta de los siguientes elementos:
• símbolos constantes,
• símbolos variables, •
símbolos de predicado (relación), •
símbolos de función, •
símbolos lógicos: ¬, , , , , •
cuantificadores: ,
, • el símbolo de igualdad:
=, • símbolos auxiliares (por ejemplo, paréntesis).
Los ejemplos del uso de estos símbolos para describir el mundo real se presentaron en la
Secc. 6.1.
En primer lugar, introduzcamos la sintaxis de FOL, comenzando con las nociones de
firma y un conjunto de términos.
familia de símbolos de predicados narios. Un par = (F se llama firma .
PAG
n , norte
© Springer International Publishing Suiza 2016 M. 257
Flasi ́nski, Introducción a la Inteligencia Artificial,
DOI 10.1007/9783319400228
Machine Translated by Google
258 Apéndice C: Modelos formales para métodos de inteligencia artificial …
A veces diferenciamos símbolos constantes en una definición de firma, debido a su interpretación
específica. Entonces una firma se define como un triple =
S F
(C, F n ,
PAG
norte
), donde se define
es p arafamilia de conjuntos de símbolos constantes, y
una norte
n ≥ 1.
Definición C.2 Sea X un conjunto contable infinito de símbolos variables. un conjunto de términos
T(X) sobre la firma y el conjunto X se define inductivamente de la siguiente manera.
Ahora, introducimos nociones de: fórmula atómica y fórmula (fórmula bien formada).
Definición C.3 Una fórmula atómica sobre y X se define de la siguiente manera.
• Un símbolo falso es una fórmula atómica.
• Si t1, t2 T(X), entonces una expresión t1 = t2 es una fórmula atómica.
• Para cada n ≥ 1 y para cada p si t1,..., tn Tn ,
(X), entonces una expresión
PAG
p(t1,..., tn) es una fórmula atómica.
Definición C.4 Una fórmula (fórmula bien formada, wff) sobre y X se define inductivamente de la siguiente
manera.
• Cualquier fórmula atómica es una fórmula.
• Si , ψ son fórmulas, entonces ¬ , ψ, ψ, ψ, ψ son fórmulas.
• Si es una fórmula y x X, entonces ( x)( ), ( x)( ) son fórmulas. Una fórmula en
una fórmula de la forma ( x)( ) o en la fórmula de la forma ( x)( ) se llama
alcance del cuantificador.
Ejemplos del uso de fórmulas para representar leyes relativas al mundo real
fueron presentados en la Secc. 6.1.
Introduzcamos nociones que nos permitan definir oraciones y funciones proposicionales de FOL.
Definición C.5 Una variable x está ligada en su ocurrencia en una fórmula iff x ocurre
directamente después de un cuantificador o x está dentro del alcance de algún cuantificador que x ocurre
directamente después.
Por ejemplo, las variables que están vinculadas en sus ocurrencias están subrayadas en el
siguientes fórmulas:
( x z(r(x,z) s(x,z)))
( x(r(x,z) z s(x,z)))
Definición C.6 Si una variable x no está ligada en su aparición en una fórmula , entonces x
es libre en esta ocurrencia en .
En el ejemplo anterior, una variable que no está subrayada es una variable libre en su
aparición en la fórmula.
Machine Translated by Google
Apéndice C: Modelos formales para métodos de inteligencia artificial … 259
Definición C.8 Una fórmula sin variables libres se llama oración. Las fórmulas que no son oraciones
se llaman funciones proposicionales.
Al final de esta sección, presentamos nociones relativas a la semántica de FOL.
Definición C.9 Una estructuraA sobre la firma = (F un par (U, I), donde
n ,
PAG
norte
), o estructura, es
U es un conjunto no vacío llamado universo, I es una función, llamada función de interpretación que
A
asigna una función f : Un −→ U a cada símbolo de función f
F
n , y asigna una relación pA Un a cada símbolo de predicado p
PAG
.
norte
Definición C.10 Una asignación (valoración) en una estructura A es una función : X −→ U. Además,
para una asignación , una variable x X y un elemento a U definamos una asignación a : X −→
U en A que asigna x a a de tal manera
X
que a es igual a para todas las variables que son diferentes X
de x:
a
(y), si y = x,
X
(y) =
a, de lo contrario.
Definición C.11 Una interpretación (valor) de un término t T(X) en una estructura A denotada
[[t]]A , bajo
asignación , se define inductivamente una
de la siguiente manera:
• [[x]]A = (x), x X. •
F
[[f(t1,..., tn)]]A = f A([[t1]]A ,...,[[tn ]]A ), f norte , t1,...,tn T(X), norte ≥ 1.
Definición C.12 Sean dadas una fórmula y una estructura A sobre la misma firma, y una
asignación . Definimos lo que significa que una fórmula se satisfaga en la estructura A bajo la
asignación, denotada
(A, ) |= ,
de la siguiente manera.
• (A, ) |= nunca se cumple. •
Para cualquier n ≥ 1, p y para cualquier t1,..., tn T(X), suponemos que: (A, ) |=
PAG
norte
p(t1,..., tn) si y si ([[t1]]A ,...,[[tn]]A ) pA.
• (A, ) |= t1 = t2 si y solo si [[t1]]A = [[t2]]A . •
(A, ) |= ψ si y solo si (A, ) |= y (A, ) |= ψ. • (A, ) |=
ψ si y solo si (A, ) |= o (A, ) |= ψ o ambos. • (A, ) |= ψ si y
solo si no (A, ) |= o bien (A, ) |= ψ. • (A, ) |= ψ si y si (A, ) |= y (A, ) |
= ψ si y solo si (A, ) |= y
(A, ) |= ψ.
Machine Translated by Google
260 Apéndice C: Modelos formales para métodos de inteligencia artificial …
Definición C.13 Decimos que una fórmula es satisfactoria en una estructura A si y sólo si existe
existe una asignación en A tal que (A, ) |= .
Definición C.14 Decimos que una fórmula es satisfactoria si y sólo si existe una estructura
A, en la que es satisfacible.
Definición C.15 Una fórmula es válida en una estructura A, si para cada asignación en A (A, ) |
= . Decimos que A es un modelo para la fórmula , denotada
A |= .
Definición C.16 Sea un conjunto de fórmulas. A estructura A es un modelo para denotado A |= ,
iff para cada fórmula , A |= .
C.2 Método de resolución
Insecto. 6.2 introdujimos un método de resolución como un método de inferencia básico por teorema
prueba. Para ello utilizamos las nociones de literal, cláusula y cláusula Horn. Nos deja
introducir definiciones formales de estas nociones.
Definición C.18 Un literal es una fórmula atómica (un literal positivo) o la negación de una fórmula
atómica (un literal negativo).
Definición C.19 Una cláusula es una disyunción finita de literales, es decir,
donde li, 1 en es un literal.
Definición C.20 Una cláusula Horn es una cláusula que contiene como máximo un literal positivo.
Ahora, presentamos una regla de resolución de manera formal.
Apéndice C: Modelos formales para métodos de inteligencia artificial … 261
Insecto. 6.2, después de presentar una regla de resolución, discutimos un tema de emparejamiento
reglas en un sistema de inferencia con operaciones de sustitución y unificación. Nos deja
introducir estas operaciones de manera formal.
Definición C.22 Una sustitución σ es un conjunto de sustituciones de variables por términos
σ = {t1/x1,..., tn/xn},
donde x1, ∙∙∙ , xn son variables diferentes entre sí, t1,..., tn son términos.
Si W es una expresión,8 y σ = {t1/x1,...,tn/xn}es una sustitución, entonces W[σ] denota una expresión
resultante de W sustituyendo todas las ocurrencias libres de variables
x1,..., xn con términos t1,..., tn, respectivamente.9
Definición C.23 Sean expresiones W1, W2,..., Wn . Una sustitución σ se llama
unificador de estas expresiones iff
W1[σ] = W2[σ]=∙∙∙= Wn[σ] .
Un procedimiento de solicitud de expresiones siendo una sustitución su unificador se denomina
una unificación de estas expresiones.
El segundo problema relacionado con una inferencia por resolución está relacionado con la
representación de fórmulas en algunas formas estándar (normales) con fines de eficiencia.
Ahora, presentamos estos formularios.
Definición C.24 Una fórmula está en forma normal de negación si aparecen símbolos de negación
sólo inmediatamente antes de las fórmulas atómicas.
Q1x1Q2x2 ... Qnxnψ,
C1 C2 ∙∙∙ Ck = (L1 ∙∙∙ Ln1 ) (L1 2 ∙∙∙ Ln2 ) ∙∙∙ (L1 ∙∙∙ enlace ),
1 1 2 k k
Definición C.27 Sea una fórmula en forma normal conjuntiva
C1 C2 ∙∙∙ Ck = (L1 ∙∙∙ Ln1 ) (L1 2 ∙∙∙ Ln2 ) ∙∙∙ (L1 ∙∙∙ enlace ).
1 1 2 k k
8Una expresión significa aquí una fórmula o un término.
9De hecho, estamos interesados en sustituciones permitidas, es decir, tales que cualquier variable contenida en términos
ti no se convierte en una variable ligada. En otras palabras, se permite una sustitución si cualquier ocurrencia
de una variable xi en W no está dentro del alcance de ningún cuantificador que limite la variable incluida en ti.
Machine Translated by Google
262 Apéndice C: Modelos formales para métodos de inteligencia artificial …
Una forma clausal normal de es un conjunto
C.3 Sistemas de Reescritura Abstracta y el Cálculo Lambda
Como mencionamos en la Secc. 6.5, Los Sistemas de Reescritura Abstracta (ARS) son uno de los
mejores ejemplos formales de un concepto de un sistema de símbolos físicos, introducido
por A. Newell y HA Simon. Dichos sistemas se pueden dividir en Reescritura de términos
Sistemas (TRS) presentados en esta sección, Sistemas de reescritura de cadenas (SRS) y Graph
Sistemas de reescritura (GRS).10 El cálculo lambda, al ser un tipo especial de TRS, juega
un papel importante en la Inteligencia Artificial (cf. Secc. 6.5).
Definición C.28 Un Sistema de Reescritura Abstracta, ARS es un par
ARS = (A,{→α: α I}) ,
donde A es un conjunto, →α es un conjunto de relaciones binarias, llamadas relaciones de reescritura, en A que
están indexados por un conjunto I.
Definición C.29 Sea ARS = (A,{→α: α I}) un sistema de reescritura abstracta y
α I.
El cierre transitivo y reflexivo de una relación →α se denota con Así, a a1 →α ∙∙∙→α α.
an ≡ b α b, si existe una secuencia de reescritura finita (también: vacía) a ≡ a0 →α
conjunto A. , donde ≡ denota una identidad de elementos que pertenecen al
Una relación inversa a una relación →α (α) se denota con α ← (a ).
Definición C.30 Una relación→α en un conjunto A es débilmente confluente, en otras palabras, tiene la
propiedad débil de ChurchRosser (cf. Fig. C.1a) si se cumple la siguiente condición
Definición C.31 Una relación →α en un conjunto A es confluente, es decir, tiene la
Propiedad de ChurchRosser (cf. Fig. C.1b) si se cumple la siguiente condición
10 Las nociones relativas a SRS y GRS se presentan en el Apéndice E.
Machine Translated by Google
Apéndice C: Modelos formales para métodos de inteligencia artificial … 263
Fig. C.1 IglesiaRosser a
(a)
propiedad
b C
(b) a
b C
Definición C.32 Sea ARS = (A,→α) un sistema de reescritura abstracta.
Ahora, introducimos nociones básicas para los sistemas de reescritura de términos.
Definición C.33 Un alfabeto contiene:
• un conjunto infinito contable de variables V = {a0, b0, c0,...,z0, a1, b1, c1,...,z1, a2,
b2,...}
• un conjunto no vacío de símbolos de función: f , g,...
Un contexto, denotado C[ ], es un término11 que incluye una única aparición de un símbolo
, lo que significa un lugar vacío. Una sustitución de un término t (t T(V)) en los resultados
en C[t] T(V). Decimos que un término t es un subtérmino de C[t], denotado t C[t].
Definición C.34 Correspondencia de T(V) a T(V) cumpliendo la siguiente condición:
σ(f(t1,..., tn)) = f(σ(t1), . . . , σ(tn)), donde f es un símbolo de función,
se llama sustitución. Una sustitución σ(t) a menudo se denota con t σ.
11 En la primera sección de este apéndice se introduce una noción de término.
Machine Translated by Google
264 Apéndice C: Modelos formales para métodos de inteligencia artificial …
Definición C.35 Una regla de reescritura de términos es un par (t,s), t,s T(V) tal que t no es una
variable, y las variables que ocurren en s están incluidas en t.
Un término regla de reescritura (t,s) a menudo se denota con r : t → s, donde r es un índice que
identifica la regla, t se llama el lado izquierdo de la regla y s se llama el lado derecho de la regla. la
regla.
σ
Una regla de reescritura de términos r : t → s define un conjunto de →r sσ para todos los
reescrituras t sustituciones σ. Entonces, t σ se denomina rredex y sσ se denomina rcontractum.
Definición C.36 Un paso de reescritura de términos de acuerdo con una regla de reescritura r es un
reemplazo de un rredex
t σ con un rcontractum sσ dentro de un contexto C[ ], denotado
C[t σ] →r C[s σ].
Una secuencia de reescritura de términos es una secuencia finita o infinita t0 → t1 → t2 → ∙∙∙ Una
secuencia t0 →∙∙∙→ tn se denota con t0 Tennesse.
Definición C.37 Un sistema de reescritura de términos, TRS es un par
ARS = (, R) ,
donde es un alfabeto, R es un conjunto de reglas de reescritura de términos.
Al final de esta sección, presentamos definiciones básicas del cálculo lambda para
nociones introducidas informalmente en el cap. 6.
Definición C.38 Sea V un conjunto infinito contable de variables, = V {(, ), λ}, un alfabeto. Un
conjunto de expresiones over se define inductivamente de la siguiente manera.
La siguiente notación simplificada se utiliza en el cálculo lambda.
• Se pueden omitir los paréntesis exteriores. •
Se supone que una aplicación es asociativa por la izquierda, es decir, en lugar de (MN)P uno puede
escribir MNP.
• En lugar de λx1(λx2(. . . (λxnM) . . .)) se puede escribir λx1x2 ... xnM.
Un operador de una abstracción lambda λ vincula variables de tal manera que todas las
ocurrencias de una variable x en una expresión λx.M están vinculadas. Introduzcamos una definición
de variables libres en el cálculo lambda.
Definición C.39 Un conjunto de variables libres de una expresión lambda M, denotada FV(M), se
define inductivamente de la siguiente manera.
FV(x) = {x},
FV(MN) = FV(M) FV(N), FV(λx.M)
= FV(M)\{x}.
Machine Translated by Google
Apéndice C: Modelos formales para métodos de inteligencia artificial … 265
Una variable es una variable libre de una expresión M si pertenece a un conjunto FV(M),
de lo contrario, es una variable ligada.
Sea M ≡ N una identidad de M y N hasta cambiar el nombre de las variables ligadas. Una
sustitución de una variable libre se define de la siguiente manera.
Definición C.40 Una sustitución de una expresión N por una ocurrencia libre de una variable x
en una expresión M, denotada M[x := N], se define de la siguiente manera.
x[x := N] ≡ N,
y[x := N] ≡ y, si y ≡ x, (M1M2)
[x := N] ≡ (M1[x := N])(M2[x := N]), (λy.M)[x := N] ≡ λy.
(M[x := N]), si y ≡ x y y / FV(N).
Al final, introduzcamos definiciones formales de reducción beta (reducción β) y
conversión alfa (conversión α) que se discutieron en el Cap. 6.
Definición C.41 Una reducción beta, denotada como →β, es la relación más pequeña en un
conjunto que cumple las siguientes condiciones.
• (λx.M)N →β M[x := N]. • Si M
→β M , entonces: MZ →β M Z, ZM →β ZM , y λx.M → β λx.M.
α
Definición C.42 Una conversión alfa, denotada ≡, es la relación de equivalencia más pequeña
en un conjunto que cumple la siguiente condición.
α
λx.M ≡ λy.(M[x := y])para cualquier y / FV(M).
Las expresiones lambda hasta una conversión alfa se denominan términos lambda.
Machine Translated by Google
Apéndice D
Modelos formales para inteligencia artificial
Métodos: Fundamentos de la Lógica de Descripción
La lógica de descripción es la familia de sistemas formales que se basan en la lógica matemática y se utilizan para
inferir en ontologías. Como mencionamos en el Cap. 7, la ontología es un modelo de un conocimiento conceptual
relativo a un dominio de aplicación específico.
En 1979, Patrick J. Hayes discutió en [130] un posible uso de la semántica de lógica de primer orden (FOL) para los
sistemas de tramas de Minsky. Desde principios de la década de 1980 se han desarrollado muchas lógicas de
descripción (AL, FL−, FL0, ALC, etc.). En general, cada una de estas lógicas puede tratarse como un cierto
subconjunto de FOL.12 Entonces, uno puede preguntarse: "¿Por qué no usamos solo FOL para representar
ontologías?". Hay dos razones señaladas como respuesta a esta pregunta en la literatura. En primer lugar, el uso de
FOL sin algunas restricciones no nos permite tener en cuenta la naturaleza estructural de las ontologías. (Y un
aspecto estructural de las ontologías es vital en un procedimiento de inferencia).
En segundo lugar, exigimos un procedimiento de inferencia eficaz . Por lo tanto, las lógicas de descripción se definen
sobre la base de subconjuntos decidibles de FOL.13
En 1991, Manfred SchmidtSchauß y Gert Smolka definieron en [266] una de las lógicas de descripción más
populares, la lógica ALC. Su sintaxis y semántica se introducen en la primera sección, mientras que una noción
formal de base de conocimiento definida con esta lógica se presenta en la segunda sección [15, 266].
D.1 Sintaxis y Semántica de Lógica ALC
En el cap. 7 introdujimos elementos básicos útiles para definir modelos estructurales de representación del
conocimiento, es decir: objetos, conceptos y roles que representan relaciones entre objetos. Discriminamos además
conceptos atómicos relacionados con nociones básicas (elementales) de un dominio dado. Introduzcamos estos
elementos de manera formal.
forma.
12También existen lógicas de descripción basadas en la lógica de segundo orden.
13FOL no es decidible en general.
© Springer International Publishing Suiza 2016 M. Flasi ́nski, 267
Introducción a la Inteligencia Artificial, DOI 10.1007/9783319400228
Machine Translated by Google
268 Apéndice D: Modelos formales para métodos de inteligencia artificial …
Definición D.1 Sea NC un conjunto de nombres de conceptos atómicos, NR un conjunto de nombres de roles,
NO ser un conjunto de nombres de objetos. Un triple (NC, NR, NO) se llama firma.
En lugar de nombre de concepto atómico, nombre de rol, nombre de objeto, diremos atómico
concepto, rol, objeto.
Definición D.2 Sea (NC,NR,NO) una firma. Un conjunto de (descripciones de) conceptos ALC es el
conjunto más pequeño definido inductivamente de la siguiente manera.
1. Las siguientes construcciones son conceptos ALC:
,
(a) el concepto
universal,
(b) , el concepto vacío,
(c) todo concepto atómico A NC.
2. Si C y D son conceptos ALC, R NR, entonces las siguientes construcciones son ALC
conceptos:
(a) CD ,
(b) CD ,
(c) ¬C,
(d) R ∙ C,
(e) R ∙ C.
Antes de introducir una caracterización formal de la semántica de la lógica ALC, interpretamos
los elementos definidos anteriormente de manera intuitiva. La noción universal corresponde
a todo el dominio para el que se construye una ontología, mientras que el concepto vacío
representa un concepto que no tiene instancias. Elementos definidos en los puntos 2(a), 2(b), y
2(c) corresponden a la intersección de dos conceptos, la unión de dos conceptos, y
el complemento de un concepto, respectivamente. Una cuantificación universal, 2(d), determina un
conjunto de objetos a los que se refieren todas las relaciones con la ayuda de un rol R
objetos que caen dentro de un concepto C. Una cuantificación existencial, 2(e), determina un
conjunto de objetos que están al menos una vez en una relación representada por un rol R con un objeto
que cae dentro de un concepto C.
Definición D.3 Sea (NC,NR,NO) una firma. Una interpretación es un par.
yo = (yo, yo), donde
I
es un conjunto no vacío llamado dominio de I,
I
es una función de interpretación, que mapea cada concepto ALC en un subconjunto I,
I × yo,
y cada rol en un subconjunto
tal que para cada C y D siendo ALCconceptos, R NR, las siguientes condiciones
sostener:
1(a) ()I = Yo,
1(b) ( )I = ,
2(a) (C D)I = CI ∩ DI,
Machine Translated by Google
Apéndice D: Modelos formales para métodos de inteligencia artificial … 269
2(b) (C D)I = CI DI,
2(c) (¬C)I = I\CI,
2(d) ( R ∙ C)I = {x 2(e) I : y I(x, y) RI y CI},
( R ∙ C)I = {x I : y I(x, y) RI y CI}.
CI (rI) se llama la extensión del concepto C (el papel r) en la interpretación I.
Si x CI, entonces x se llama instancia (objeto) de la noción C en la interpretación I.
Además, se supone que un concepto C está incluido en un concepto D, denotado
CD si y si para cualquier I, I se cumple la siguiente condición: CI DI.
D.2 Definición de Base de Conocimiento en Lógica ALC
En el cap. 7 definimos una base de conocimiento como un sistema (estructura) de marcos que consisten
de marcos de clase y marcos de objeto. Un conjunto de marcos de clase constituye un conjunto terminológico
conocimiento, y un conjunto de marcos de objetos corresponde al conocimiento sobre
objetos pertenecientes a un dominio. Estos conjuntos se definen en lógica ALC con la ayuda
de nociones de TBox (parte terminológica de la base de conocimiento) y ABox (afirmación
parte de la base de conocimiento), respectivamente. Tanto TBox como ABox contienen conocimiento en
la forma de axiomas. Los axiomas de TBox se definen con una inclusión de concepto general.
Definición D.4 Una inclusión de concepto general es de la forma C D, donde C, D son
Conceptos ALC.
Un TBox es un conjunto finito de inclusiones de conceptos generales.
Una interpretación I es un modelo de inclusión de un concepto general C D, si CI DI.
, odelo de cada general
Una interpretación I es un modelo de un TBox T si es un m
concepto inclusión T .
CD y DC se denota como C ≡ D. Un axioma de un TBox puede ser de la forma
de una definición, es decir, A ≡ D, donde A es un nombre de concepto único.
Ahora, caracterizamos un ABox. Puede contener axiomas de dos tipos. el primer tipo
se relaciona con afirmaciones que describen un hecho de que un objeto es una instancia de un concepto dado,
es decir, un objeto pertenece a una clase dada, denotada C(a), por ejemplo: Polaco(John Kowalski). El
segundo tipo incluye declaraciones que representan un hecho de que un par de
objetos constituye una instancia de un rol, denotado R(a, b), por ejemplo: Pareja casada(JohnKowalski,
MaryKowalski). Formalicemos nuestras consideraciones.
Definición D.5 Un axioma asertivo tiene la forma C(a) o R(a, b), donde C es un
Concepto ALC, R NR, a, b NO.
Un ABox es un conjunto finito de axiomas afirmativos.
Una interpretación I se denomina modelo de un axioma asertivo C(a)iff aI CI. Un
interpretación I se llama modelo de un axioma asertivo R(a, b) iff (aI, bI) RI.
Una interpretación I se llama modelo de una ABox A si y solo si I es un modelo de cada
axioma asertivo de A.
Machine Translated by Google
270 Apéndice D: Modelos formales para métodos de inteligencia artificial …
Al final de este apéndice, introduzcamos una definición formal de conocimiento.
base construida con la ayuda de la lógica ALC.
Definición D.6 Un par K = (T , A), donde T es un TBox, A es un ABox se llama un
base de conocimientos.
Una interpretación I es un modelo de una base de conocimiento K iff I es un modelo de T, y
I es un modelo de A.
Machine Translated by Google
Apéndice E
Modelos formales para inteligencia artificial
Métodos: nociones seleccionadas de formal
Teoría del Lenguaje
Nociones seleccionadas que se usaron para discutir el reconocimiento de patrones sintácticos en el
Cap. 8 se introducen en este apéndice. Las definiciones de las gramáticas generativas (de cadenas)
de Chomsky y la subclase LL(k) de gramáticas libres de contexto se presentan en la primera sección.
Las nociones de autómata de estado finito, autómata pushdown y máquina de Turing se presentan
en la segunda sección. La última sección incluye definiciones de gramáticas gráficas edNLC y ETPL(k).
E.1 Gramáticas de cuerdas de Chomsky
Un alfabeto es un conjunto finito no vacío de símbolos.
Una cadena (palabra) sobre un alfabeto es cualquier cadena que consta de símbolos de un
alfabeto de longitud finita.
Una cadena que no incluye ningún símbolo se denomina palabra vacía y se denota con λ.
Un conjunto de todas las cadenas sobre un alfabeto que tienen una longitud finita distinta de cero
se denota con +.
Un conjunto que incluye todas las cadenas sobre un alfabeto que tienen una longitud finita y la
palabra vacía se llama cierre de Kleene y se denota con . Se puede definir + {λ}.
como: =
Sean S1, S2 conjuntos de cadenas. S1S2 denota un conjunto de cadenas: S1S2 = {αβ : α S1,
β S2}, es decir, el conjunto formado por cadenas que son concatenaciones de cadenas
pertenecientes a S1 con cadenas pertenecientes a S2.
Ahora, presentamos cuatro clases de gramáticas del modelo de Noam Chomsky [141, 250].
Definición E.1 Una gramática de estructura sintagmática (gramática no restringida, gramática de tipo 0 )
es una gramática cuádruple
G = (N, T , P, S), donde
© Springer International Publishing Suiza 2016 M. 271
Flasi ́nski, Introducción a la Inteligencia Artificial,
DOI 10.1007/9783319400228
Machine Translated by Google
272 Apéndice E: Modelos formales para métodos de inteligencia artificial …
norte es un conjunto de símbolos no terminales,
T es un conjunto de símbolos terminales, = N T ,
P un conjunto de producciones (reglas de reescritura) de la forma: α → γ, en el que α N
se llama el lado izquierdo de la producción, y γ se llama el lado derecho
lado de la producción,
S es el símbolo de inicio (axioma), S N.
Asumimos que norte ∩ T = .
Definición E.2 Sean β, δ . denotamos
si y si β = η1αη2, δ = η1γη2 y α → γ P, donde P es un conjunto de producciones del
gramática g
Decimos que β deriva directamente δ en la gramática G, y llamamos a tal derivación directa
un paso derivacional en la gramática G.
La clausura reflexiva y transitiva de la relación = , denotada con = , es
llamado derivación en la gramática G.
Definición E.3 El lenguaje generado por la gramática G es un conjunto
L(G) = {φ T
: S = φ}.
Definición E.4 Una gramática sensible al contexto (gramática de tipo 1 ) es una gramática cuádruple
G = (N, T , P, S), donde
N, T , S se definen como en la Definición E.1,
P es un conjunto de producciones de la forma: η1Aη2 → η1γη2,
donde η1, η2 , A N, γ +. Además suponemos que una producción
de la forma A → λ es permisible, si A no ocurre en ninguna producción de P en su
lado derecho.
Definición E.5 Una gramática libre de contexto (gramática de tipo 2 ) es una gramática cuádruple
G = (N, T , P, S), donde
N, T , S se definen como en la Definición E.1,
P es un conjunto de producciones de la forma: A → γ, en el que A N, γ .
Definición E.6 Una gramática regular (o regular derecha) (gramática de tipo 3 ) es una gramática
cuádruple
G = (N, T , P, S), donde
Machine Translated by Google
Apéndice E: Modelos formales para métodos de inteligencia artificial … 273
N, T , S se definen como en la Definición E.1,
P es un conjunto de producciones de la forma: A → γ, en el que A N, γ T TN
{λ}.
Como discutimos en el Cap. 8, una gramática libre de contexto es suficientemente descriptiva
potencia para la mayoría de las aplicaciones de los sistemas de reconocimiento de patrones sintácticos. Desafortunadamente,
un autómata pushdown que analiza lenguajes libres de contexto es ineficiente en el sentido
de la complejidad computacional. Por lo tanto, se han definido ciertas subclases de
gramáticas libres de contexto tales que los autómatas correspondientes sean eficientes. La
gramática LL(k) , presentada de manera intuitiva en el Cap. 8, son uno de los más populares tales
subclases. Caractericémoslos de manera formal [180].
Definición E.7 Sea G = (N, T , P, S) una gramática libre de contexto definida como en
Definición E.4, η , y |x| denota la longitud (un número de símbolos) de una cadena
x . FIRSTk (η) denota un conjunto de todos los prefijos terminales de cadenas de la longitud
k (o de longitud menor que k, si una cadena terminal más corta que k se deriva de α)
que se puede derivar de η en la gramática G, es decir
Sea G = (N, T , P, S) una gramática libre de contexto. = L denota una derivación más
a la izquierda en la gramática G, es decir, una derivación tal que siempre se aplica una producción a
el no terminal más a la izquierda.
Definición E.8 Sea G = (N, T , P, S) una gramática libre de contexto definida como en
Definición E.4. Una gramática G se llama gramática LL(k) si y solo por cada dos a la izquierda
derivaciones
S = αAδ = αβδ = αx
L L L
Si PRIMEROk (x) = PRIMEROk (y), entonces β = γ.
La condición formulada anteriormente para una gramática G significa que para cualquier derivacional
paso de una derivación de una cadena w que es derivable en G, podemos elegir una producción
de manera inequívoca sobre la base de un análisis de alguna parte de w que es de
longitud k. Decimos que la gramática G tiene la propiedad de una elección inequívoca de
una producción con respecto al prefijo de longitud k en una derivación más a la izquierda.
Machine Translated by Google
274 Apéndice E: Modelos formales para métodos de inteligencia artificial …
E.2 Autómatas formales
En esta sección presentamos definiciones de dos tipos de autómatas que son útiles en el reconocimiento
de patrones sintácticos y una máquina de Turing (debido a su significado en las discusiones sobre IA,
cf. Cap. 17 ) [141, 250].
Definición E.9 Un autómata de estado finito (determinista) es un quíntuple
A = (Q, T , δ, q0, F), donde
Q es un conjunto finito no vacío de estados,
T es un conjunto finito de símbolos de
entrada, δ : Q × T −→ Q es la función de transición de estado,
q0 Q es el estado inicial, F
Q es un conjunto de estados finales.
Ahora, introducimos nociones que nos permiten describir un cálculo realizado por
un autómata de estado finito.
Sea una situación actual en un autómata representada con un par(q, α) Q× T ,
llamada configuración instantánea de autómata. El primer elemento representa un estado del autómata,
el segundo una parte de una cadena de entrada que no se ha leído hasta ahora.
Vamos a denotar un paso directo de una ejecución de un autómata.
Un autómata de estado finito analiza una cadena de entrada β según el siguiente esquema. Al
principio el autómata está en un estado q0, y una cadena de entrada β está en su entrada, por lo que
(q0, β) es la configuración inicial del autómata. El autómata lee los símbolos de la cadena de entrada
uno por uno y realiza los pasos sucesivos de acuerdo con la siguiente regla.
(qi, aγ) (qk , γ) δ(qi, a) = qk ,
El autómata se detiene si alcanza una configuración (qm, λ) tal que qm F (qm es
un estado final) y hay una palabra vacía λ en su entrada.
Definición E.10 Un autómata pushdown (determinista) es una tupla de siete
A = (Q, T , , δ, q0, Z0, F), donde
Q es un conjunto finito no vacío de estados, es
T un conjunto finito de símbolos de entrada,
es un conjunto finito de símbolos de
pila, δ : Q × (T {λ}) × −→ Q × q0 Q es la función de transición,
es el estado inicial, Z0 es el
símbolo de pila inicial, F Q es un
conjunto de estados finales.
Machine Translated by Google
Apéndice E: Modelos formales para métodos de inteligencia artificial … 275
Un autómata pushdown analiza una cadena de entrada β de acuerdo con el siguiente esquema. (q0, β,
Z0) es la configuración inicial. El autómata lee los símbolos de la cadena de entrada uno por uno y realiza los
pasos sucesivos de acuerdo con la siguiente regla.
(qi, aγ, Zφ) (qk , γ, ηφ) δ(qi, a, Z) = (qk , η),
Definición E.11 Una máquina de Turing (de una cinta) es una tupla de siete
A = (Q, , B, T , δ, q0, F), donde
Q es un conjunto finito no vacío de estados,
es un conjunto finito no vacío de símbolos de cinta,
B es el símbolo en blanco,
T \{B} es un conjunto de símbolos de entrada,
δ : (Q\F) × −→ Q × × {L, R} es la función de transición, q0 Q es el estado inicial,
F Q es un conjunto de estados
finales.
Una máquina de Turing consta de un control finito (definido por la función de transición) y una cinta infinita
dividida en celdas. Se coloca una palabra de entrada en la cinta, cada símbolo en una celda, y todas las
celdas a la izquierda y a la derecha de la palabra se marcan con el símbolo en blanco B. Al principio se
configura un cabezal de lectura/escritura del control sobre una celda que contiene el primer símbolo de la
palabra a analizar. Se representa con la configuración inicial: q0X1X2 ... Xn, donde q0 es el estado inicial,
X1X2 ... Xn denota el contenido de las celdas (la palabra de entrada). En general, una configuración
instantánea de una máquina de Turing es de la forma X1X2 ... Xi−1qXiXi+1 ... Xn, lo que significa colocar la
cabeza sobre la iésima celda, y la máquina está en el estado q.
Una máquina de Turing analiza una palabra de entrada de acuerdo con el siguiente esquema.
X1 ... Xi−1qkXiXi+1 ... Xn X1 ... Xi−1YqmXi+1 ... Xn ,
si δ(qk , Xi) = (qm, Y, R) (un cambio de estado de qk a qm un cambio de un símbolo en la cinta de Xi a Y, y
moviendo la cabeza hacia la derecha), y
X1 ... Xi−1qkXiXi+1 ... Xn X1 ... Xi−2qmXi−1YXi+1 ... Xn ,
Machine Translated by Google
276 Apéndice E: Modelos formales para métodos de inteligencia artificial …
si δ(qk , Xi) = (qm, Y, L).
Una máquina de Turing se describe de forma más detallada en [141].
E.3 Gramáticas de grafos
Las gramáticas de grafos, que pueden tratarse como sistemas de reescritura de grafos (Graph
Rewriting System, GRS), son el tercer tipo, además de los sistemas de reescritura de términos (cf.
Apéndice C.3) y los sistemas de reescritura de cadenas,14 de los sistemas de reescritura abstracta
( ARS). Se han definido una variedad de clases en la teoría de las gramáticas de grafos. Para
discutir un tema de análisis de sintaxis de patrones multidimensionales en el Cap. 8, presentamos
una de las clases más populares, a saber, las gramáticas gráficas edNLC. Ahora, los definimos de
manera formal [149].
Definición E.12 Un grafo dirigido con nodos y bordes etiquetados, grafo EDG sobre y
es un quintuple
H = (V, E, , , φ), donde
V es un conjunto finito no vacío de nodos,
es un conjunto finito no vacío de etiquetas de
nodos, es un conjunto finito no vacío de
etiquetas de aristas, E es un conjunto de aristas de la forma (v, γ, w), en el que ,
v, w V, γ φ : V −→ es la función de etiquetado de nodos.
Un conjunto de todos los gráficos de EDG sobre y se denota con EDG,. Los gráficos EDG se
pueden generar con gramáticas de gráficos edNLC.
Definición E.13 Una gramática gráfica controlada por etiqueta de nodo dirigida con etiqueta de borde, la
gramática gráfica edNLC es una gramática quíntuple
G = (, , , P, Z), donde
es un conjunto finito no vacío de etiquetas de nodo,
es un conjunto de etiquetas de nodo terminal,
es un conjunto finito no vacío de etiquetas de borde,
P es un conjunto finito de producciones de la forma (l, D,C), donde
yo ,
D EDG,,
C : × {in, out} −→ 2×××{in, out} es la transformación de incrustación,
Z EDG, es el gráfico inicial, llamado axioma.
14La gramática de cadenas de Chomsky presentada en la sección E.1 es un caso específico de un sistema de reescritura de cadenas.
Machine Translated by Google
Apéndice E: Modelos formales para métodos de inteligencia artificial … 277
Un paso de derivación para las gramáticas de cadenas es simple (cf. Definición E.2).
Desafortunadamente, como hemos visto en un ejemplo de genealogía en la Secc. 8.5, en el caso
de las gramáticas de grafos, el paso de la derivación es complejo, principalmente debido a la
forma de la transformación de incrustación. Vamos a formalizarlo con la siguiente definición.
Definición E.14 Sea G = (, , , P, Z) sea una gramática de grafos edNLC.
Sea H, H EDG,. Entonces H deriva directamente H en G, denotada H = H, si existe un
GRAMO
(1) l = φH (v).
(2) Existe un isomorfismo de H en un gráfico X EDG, construido de la siguiente manera. Sea D
un grafo isomorfo a D tal que VH ∩ VD = , y sea h un isomorfismo de D en D. Entonces
X = (VX, EX, , , φX), donde
VX = (VH \{v}) VD, φH
(y), si y VH \{v}, φ D(y),
φX(y) =
si y VD, EX = (EH \
{(n, γ, m) : n = v o m = v}) {(n, γ, m) : n VD, m VX\D y existe una arista (m, λ, v) EH
tal que (φX(n) , φX(m), γ, out) C(λ, in)} {(m, γ, n) : n VD, m VX\D y existe una arista
(m, λ, v) EH tal que (φX(n), φX(m), γ, in) C(λ, in)} {(n, γ, m) : n VD, m VX\D y existe
una arista (v, λ, m) EH tal que (φX(n), φX(m), γ, fuera) C(λ, fuera)} {(m, γ, n) : n VD,
m VX\D y existe una arista (v, λ, m) EH tal que (φX(n), φX(m), γ, in) C(λ, out)}.
Una gramática de grafos de la clase edNLC tiene un poder descriptivo muy grande [149].
Desafortunadamente, un problema de membresía para esta gramática es no polinomial. Por lo
tanto, de manera similar a las gramáticas libres de contexto de cadenas, se ha definido su subclase,
a saber, la gramática gráfica ETPL(k), con un problema de membresía polinomial. Para las
gramáticas ETPL(k) se ha construido un autómata gráfico eficiente. Ahora, presentamos definiciones
relativas a las gramáticas ETPL(k) [93, 94].
Definición E.15 Sea H un gráfico EDG. H se llama un gráfico IE si y solo si se cumplen las siguientes
condiciones.
(1) Un gráfico H contiene un árbol dirigido T tal que los nodos de T han sido indexados
según BreadthFirst Search (BFS).
(2) Los nodos de un grafo H se indexan de la misma manera que los nodos de T.
(3) Cada borde en un gráfico H se dirige desde un nodo que tiene un índice más bajo a un nodo
que tiene un índice mayor.
Machine Translated by Google
278 Apéndice E: Modelos formales para métodos de inteligencia artificial …
Definición E.16 Sea G una gramática de grafos edNLC definida como en la Definición E.13.
G se denomina gramática de grafos TLPO si cumple las siguientes condiciones.
(1) El gráfico de inicio Z y los gráficos D de los lados derechos de todas las producciones son IE
gráficos
(2) Para cada gráfico del lado derecho D, un árbol de expansión dirigido T tiene como máximo dos
niveles, y un nodo indexado con 1 está etiquetado con un símbolo de terminal.
(3) Cada gráfico perteneciente a una derivación en G es un gráfico IE.
(4) Para cada paso de derivación, se aplica una producción a un nodo con el índice mínimo.
(5) Los índices de los nodos no cambian durante una derivación.
Una derivación que cumple las condiciones (4) y (5) se denomina derivación regular por la izquierda.
La siguiente definición recuerda la idea que se aplicó para las gramáticas LL(k) en la Definición
E.8. Exigimos la falta de ambigüedad de una elección de producción durante una derivación regular
del lado izquierdo. Hace eficiente el cálculo de un autómata. Para una gramática de cadena LL (k), tal
falta de ambigüedad se refiere al prefijo de longitud k de una palabra.
En el caso de los gráficos IE se trata de un subgrafo. Dicho subgrafo contiene un nodo v que tiene un
índice que determina la posición de una aplicación de producción y sus k sucesores. Tal subgrafo se
llama identificador de ksucesores. Si para cada paso de derivación en una gramática G podemos
elegir una producción de manera inequívoca sobre la base de un análisis de un identificador de k
sucesores, entonces decimos que G tiene la propiedad de una elección inequívoca de una producción
con respecto a la ksucesores manejan en una derivación regular más a la izquierda.
Definición E.17 Sea G una gramática de grafos TLPO. G se denomina gramática gráfica PL(k) si G
tiene la propiedad de una elección inequívoca de una producción con respecto a los ksucesores
manejados en una derivación regular por la izquierda.
Definición E.18 Sea G una gramática de grafos PL(k). G se denomina gramática de grafos ETPL(k) si
se cumple la siguiente condición. Si (v, λ, w), donde φ(v) es una arista de un grafo IE H que ,
pertenece a una cierta derivación regular más a la izquierda, entonces esta arista se conserva mediante
todas las transformaciones de incorporación aplicadas en los pasos sucesivos de la derivación.
Para las gramáticas de grafos de ETPL(k) se han definido tanto un grafo polinomial
autómata y un algoritmo polinomial de inferencia gramatical [93, 94, 96].
Machine Translated by Google
Apéndice F
Modelos formales para inteligencia artificial
Métodos: Fundamentos Teóricos de los
Sistemas Basados en Reglas
Las definiciones que permiten describir un sistema basado en reglas de manera formal [52] se
presentan en la primera sección. En la segunda sección se presenta una cuestión de razonamiento
en lógica. Hay muchos enfoques de este tema en la lógica moderna, por ejemplo, presentado por
Kazimierz Ajdukiewicz, Jan Łukasiewicz, Charles Sanders Peirce, Willard Van Orman Quine. En esta
monografía presentamos una taxonomía del razonamiento según Józef Maria Boche´nski15 [30].
F.1 Definición de Sistemas Genéricos Basados en Reglas
Hay varias definiciones de sistemas genéricos basados en reglas en la literatura. Sin embargo, la
mayoría de ellos se relacionan con sistemas basados en reglas de la forma específica. En nuestra
opinión, uno de los ensayos más exitosos de construcción de un modelo formal de este tipo es el
desarrollado por un equipo de Claude Kirchner (INRIA). Presentamos una formalización de un
sistema basado en reglas de acuerdo con este enfoque [52].
Supongamos definiciones de una firma = (C, F ), un conjunto dn ,
e términos
Pn T(X), una sustitución
σ y la semántica de FOL, como en el Apéndice C. Además, dejemos que F(X) denote un conjunto
de fórmulas, V ar(t) un conjunto de variables que ocurren en un término (un conjunto de términos) t,
FV(φ) un conjunto de variables libres que ocurren en una fórmula φ, Dom(σ) el dominio de una
sustitución σ, R un conjunto de etiquetas Una teoría es un conjunto de fórmulas T que se cierra bajo
una consecuencia lógica, es decir, para cada fórmula se cumple lo siguiente: si T |= , entonces
T .
15Józef Maria Boche ́nski, OP, profesor y rector de la Université de Fribourg, profesor de Pontificia
Studiorum Universitas a Sancto Thoma Aquinate (Angelicum) en Roma, lógico y filósofo, dominicano.
Era conocido como un hombre incansable que tenía un buen sentido del humor, por ejemplo, obtuvo
una licencia de piloto cuando tenía sesenta y tantos años.
© Springer International Publishing Suiza 2016 M. Flasi 279
´nski, Introducción a la Inteligencia Artificial, DOI
10.1007/9783319400228
Machine Translated by Google
280 Apéndice F: Modelos formales para métodos de inteligencia artificial …
Definición F.1 Un término t se llama término fundamental si V ar(t) = .
Definición F.2 El universo de Herbrand para cualquier F(X) es un conjunto H que se define
inductivamente de la siguiente manera.
• Si aparece uC
n en una fórmula que pertenece a F(X), entonces a H. (Si no hay una constante
en las fórmulas de F(X), entonces sumamos cualquier constante a H.) • Para
cada n ≥ 0 y para todo f si t1,..., tn son términos
Fn , pertenecientes a H, entonces
f(t1,..., tn) H.
Por lo tanto, el universo de Herbrand para un conjunto dado de fórmulas F(X) es un conjunto de
todos los términos fundamentales que se han definido con la ayuda de símbolos de función a partir
de constantes que aparecen en las fórmulas de F(X).
Definición F.3 Un hecho es un término básico.
Definición F.4 Una memoria de trabajo WM es un conjunto de hechos. En otras palabras, una
memoria de trabajo WM es un subconjunto del universo Herbrand H.
Definición F.5 Un patrón (positivo) es un término p T(X), y un patrón negativo es un término de la
forma ¬p. Un conjunto de patrones positivos y negativos se denota como P = P+ P− y se denomina
conjunto de patrones.
Definición F.6 Sea S un conjunto de hechos. Un patrón de actualización PU de un conjunto de
hechos S es un par PU = (rem, add), donde rem = {r : r T(X)} es un conjunto que contiene patrones
de los términos que deben eliminarse del conjunto de hechos, add = {a : a T(X)} es un conjunto
que contiene patrones de los términos que deben agregarse al conjunto de hechos.
Definición F.7 Una regla es un triple
(R, COND, ACT), donde
R R es la etiqueta de la
regla, COND tiene la forma (P, φ), donde P es el conjunto de patrones, φ es una fórmula tal que
FV(φ) V ar(P), ACT =
(rem, suma ) es un patrón de actualización de una memoria de trabajo WM tal que: V ar(rem)
V ar(P+) y V ar(add) V ar(P+).
COND se llama condición (antecedente) de la regla, y ACT una acción (consecuente) de la regla.
Una regla se puede escribir también en la forma:
R : SI COND ENTONCES ACT.
Definición F.8 Sea S un conjunto de hechos, P = P+ P− un conjunto de patrones. P+ coincide con
S según una teoría T y una sustitución σ, denotada por P+σ S si y solo si se
Tcumple la siguiente
condición.
p P+ t Sσ(p) =T t.
Machine Translated by Google
Apéndice F: Modelos formales para métodos de inteligencia artificial … 281
P− no coincide con S según una teoría T se , denotado P− T S iff lo siguiente
cumple la condición.
¬p P− t S σ σ(p) =T t.
Definición F.9 Sea σ una sustitución, WM una memoria de trabajo, WM WM.
Una regla (R,COND, ACT), donde COND = (P, φ), ACT = (rem, add), (σ, WM ) coincide con la
memoria de trabajo WM si se cumplen las siguientes condiciones.
• P+σ WM ,
T
• P− T WM, • T |=
σ(φ), donde WM es el subconjunto mínimo de WM.
Definición F.10 Sea una regla (R,COND, ACT), COND = (P, φ), ACT = (rem, add), (σ, WM )
coincide con la memoria de trabajo WM. Una aplicación de esta regla es una modificación de la
memoria de trabajo WM definida de la siguiente manera.
WM = (WM\σ(rem)) σ(sumar).
La aplicación de una regla se denota por WM WM. Una secuencia de aplicaciones de reglas
se denota por WM0 WM1 ∙∙∙ WMn.
Definición F.11 Sea WM una memoria de trabajo, R un conjunto de reglas, WM WM.
Un conjunto
tal que (σ, WM ) coincide con WM}
se llama un conjunto de reglas en conflicto de R para la memoria de trabajo WM.
Definición F.12 Un método de resolución de conflictos CRM es un algoritmo que, para un
conjunto de reglas R y una secuencia de aplicaciones de reglas,
calcula un elemento único de un conjunto de reglas en conflicto de R para la memoria de trabajo
WMn.
Definición F.13 Un sistema GRBS genérico basado en reglas es cuádruple:
GRBS = (WM, R, CRM, T ), donde
WM es una memoria de trabajo, R
es un conjunto de reglas, llamado base de reglas,
CRM es un método de resolución de conflictos, T
es una teoría de coincidencia de patrones.
Machine Translated by Google
282 Apéndice F: Modelos formales para métodos de inteligencia artificial …
Uno puede notar fácilmente que el modelo presentado arriba [52] es muy formal. En la práctica, los
sistemas basados en reglas se construyen de acuerdo con un modelo tan formalizado en muy raras
ocasiones. En primer lugar, los métodos de resolución de conflictos normalmente se refieren a la
aplicación única de una regla. En segundo lugar, los hechos pertenecientes a una memoria de trabajo
WM y los patrones pertenecientes a un conjunto P son de la forma f(t1,... tn), donde ti, i = 1,..., n son
símbolos de variables o constantes (por hechos, solo constantes), f es un símbolo de función. Además,
un conjunto de patrones P generalmente no se define explícitamente en un antecedente de regla COND = (P, φ).
En cambio, los patrones ocurren en una fórmula φ y un módulo de coincidencia de reglas los extrae de
φ. Una fórmula φ es una conjunción de literales.16 Un proceso de emparejamiento suele tener la forma
de emparejamiento de patrones sintácticos, lo que significa que una teoría T está vacía.
Con frecuencia, la aplicación de una acción de regla ACT se define como el reemplazo de una constante
ck por una constante ck en un término fundamental fm(c1,..., ck ,..., cn), lo que da como resultado la
17
obtención de un término fundamental fm(c1,..., ck ,..., cn). Por lo tanto, podemos simplemente
k
definir una acción ACT como una asignación f := ck . Por supuesto, una acción puede ser una secuencia
metro
de tales asignaciones.
Teniendo en cuenta tales simplificaciones,18 un sistema basado en reglas puede definirse como un
triple:
RBS = (WM, R, CRM),
donde WM, R, CRM tienen la forma simplificada discutida anteriormente.
Nuestras consideraciones anteriores se referían a reglas de tipo declarativo. Tales reglas solo
modifican la memoria de trabajo. Si construimos un sistema basado en reglas de control (dirección),
también definimos reglas reactivas que influyen en el entorno externo del sistema.19 Modelando tal
sistema con el formalismo presentado anteriormente, podemos asumir que la ejecución de una regla
reactiva consiste en cambiar un “término de control (dirección)” en la memoria de trabajo. Luego, un
módulo especializado del sistema interpreta dicho término y llama a un procedimiento propio contenido
en una biblioteca de procedimientos de control.
F.2 Razonamiento lógico—Nociones seleccionadas
Una inferencia es un razonamiento que consiste en reconocer que un enunciado es verdadero asumiendo
que algunos enunciados son verdaderos. En lógica, una inferencia se hace con la ayuda de reglas de
inferencia.
16 Las nociones relativas a FOL se presentan en el Apéndice C.
17De acuerdo con el formalismo presentado, podríamos simular una operación como quitar el primer término
fundamental de la memoria de trabajo y agregar el segundo.
18 Por supuesto, algunos sistemas basados en reglas no pueden simplificarse de esa manera. Por ejemplo, un sistema
experto mencionado en el Cap. 9 y desarrollado por el autor opera sobre grafos. Por lo tanto, en este caso es imposible
asumir la forma "superficial" (de un nivel) de los términos.
19Una acción de una regla reactiva puede tener la forma de un comando, por ejemplo, open_valve(V34).
Machine Translated by Google
Apéndice F: Modelos formales para métodos de inteligencia artificial … 283
Una regla de inferencia generalmente se define de la siguiente forma:
A1
A2
... ,
Un
B
donde A1, A2,..., An son afirmaciones que se suponen verdaderas, mientras que B es una afirmación
que reconocemos como verdadera, o en la forma:
A1, A2,..., Un .
B
Una notación introducida anteriormente se puede interpretar de la siguiente manera: "Si asumimos
que las declaraciones representadas con las expresiones A1, A2,..., An son verdaderas, entonces
podemos reconocer que una declaración representada con la expresión B es verdadera".
Los siguientes tres tipos básicos de razonamiento se pueden distinguir en lógica.
La deducción se basa en la regla modus ponendo ponens , que tiene la forma:
si A, entonces B
A .
B
Así, la deducción es un tipo de razonamiento, en el cual sobre la base de cierta regla general y una
premisa inferimos una conclusión.
La abducción se basa en la regla de la forma:
si A, entonces B
B .
A
En el razonamiento abductivo usamos cierta regla y una conclusión (usualmente una cierta
observación (empírica)) para derivar una premisa (usualmente interpretada como la mejor explicación
de esta conclusión).
Desde el punto de vista de la lógica, sólo la deducción es un razonamiento fiable.
La inducción (incompleta)20 (en cierto sentido, la inducción por enumeración incompleta) puede
tratarse como un caso especial de abducción. Consiste en inferir cierta generalización sobre una
clase de objetos a partir de premisas relativas a algunos objetos pertenecientes a esta clase. En el
caso más simple, la inducción se puede definir de la siguiente manera [2]:
20 En este apéndice no presentamos todos los tipos de inducción (p. ej., inducción por enumeración
completa, inducción eliminativa), sino sólo el tipo que se relaciona con los métodos descritos en este libro.
Machine Translated by Google
284 Apéndice F: Modelos formales para métodos de inteligencia artificial …
(a)
A
si un , entonces B
(b)
A A A
PROGRESIVO
si un , entonces B si un , entonces B
DEDUCCIÓN
A
(C)
si un , entonces B si un , entonces B REGRESIVO
DEDUCCIÓN
B (?) B segundo (t)
Fig. F.1 Dos tipos de deducción: a la regla de inferencia para la deducción, b una deducción progresiva,
c una deducción regresiva
S1 es P
S2 es P
... .
Sn es P
cada S es P
Ahora, notemos que se pueden distinguir dos tipos de razonamiento deductivo.
• En el razonamiento deductivo progresivo partimos de premisas verdaderas e inferimos sobre
su base En otras palabras, se da una razón y se deriva un consecuente (cf.
Figura F.1b). Cada cálculo (incluyendo un cálculo simbólico) es de la forma
de deducción progresiva. (Siendo la conclusión final el resultado del cálculo
se formula al final).
• En el razonamiento deductivo regresivo partimos de un consecuente a inferir y
buscamos premisas verdaderas, que puedan usarse para probar el consecuente. Como es
como se muestra en la Fig. F.1c, se da un consecuente y se busca una razón.
Machine Translated by Google
Apéndice G
Modelos formales para inteligencia artificial
Métodos: Medidas de similitud matemática para el
reconocimiento de patrones
Como discutimos en el Cap. 10, la idea de similitud de dos objetos (fenómenos) es fundamental en el área
de reconocimiento de patrones y análisis de conglomerados. En primer lugar, presentamos los fundamentos
matemáticos para definir las medidas de similitud, luego examinamos las medidas más populares.
G.1 Espacios métricos y topológicos
Introduzcamos nociones básicas sobre espacios métricos y topológicos [294].
Definición G.1 Sea X un conjunto no vacío. Una métrica sobre un conjunto X es cualquier función21 ρ : X ×
X −→ R+ que cumpla las siguientes condiciones.
Definición G.2 Si ρ es una métrica sobre un conjunto X, entonces un par (X, ρ) se denomina espacio métrico.
Los elementos de un espacio métrico (X, ρ) se llaman puntos. Para cualquier x, y X, un valor ρ(x, y) se
llama distancia entre los puntos x e y.
Definición G.3 Sea (X, ρ) un espacio métrico. Una bola (bola abierta) de radio r > 0 y centrada en un punto a
X es un conjunto:
K(a,r) = {x X : ρ(a, x) < r}.
Definición G.4 Sea (X, ρ) un espacio métrico. Un conjunto U X se llama conjunto abierto si y solo si todos
los puntos de un conjunto U están incluidos en un conjunto U junto con alguna bola centrada en este punto,
es decir
x U r > 0 : K(x,r) U.
21R+ = [0, +∞).
© Springer International Publishing Suiza 2016 M. Flasi 285
´nski, Introducción a la Inteligencia Artificial, DOI
10.1007/9783319400228
Machine Translated by Google
286 Apéndice G: Modelos formales para métodos de inteligencia artificial …
Definición G.5 Sea X un conjunto no vacío, T una familia de subconjuntos de X. La familia T se
denomina topología para X, si cumple las siguientes condiciones.
Definición G.6 Si T es una topología para un conjunto X, entonces un par (X, T ) se llama espacio
topológico. Los miembros de T se llaman conjuntos abiertos en (X, T).
G.2 Métricas utilizadas en el reconocimiento de patrones
En reconocimiento de patrones y análisis de conglomerados, la selección de una métrica
adecuada es esencial para la efectividad del método construido. Ahora presentamos las métricas
más populares en esta área.
Definición G.7 La métrica de Minkowski ρp viene dada por la fórmula:
1/p
norte
Para los casos p = 2 y p = 1 de la métrica de Minkowski, se definen las siguientes métricas.
Definición G.8 La métrica euclidiana ρ2 viene dada por la fórmula:
norte
ρ2(x, y) = |xi yi| 2 .
yo=1
Definición G.9 La métrica de Manhattan ρ1 viene dada por la fórmula:
norte
ρ1(x, y) = |xi yi| .
yo=1
Si p → ∞, entonces se recibe la siguiente métrica.
Definición G.10 La métrica de Chebyshev ρ∞ viene dada por la fórmula:
ρ∞(x, y) = máx {|xi − yi|}. 1≤j≤n
Para ilustrar las diferencias entre métricas (Euclidiana, Manhattan, Cheby shev), en la Fig.
G.1 se muestran bolas de radio 1 centradas en un punto que tiene coordenadas (0, 0) (bolas
unitarias) .
Machine Translated by Google
Apéndice G: Modelos formales para métodos de inteligencia artificial … 287
1 1 1
1 0 1 1 0 1 1 0 1
X1 X1 X1
1 1 1
Fig. G.1 Bolas unitarias construidas con varias métricas: a euclidiana, b Manhattan, c Chebyshev
Las métricas presentadas anteriormente se utilizan principalmente para el reconocimiento de patrones,
que están representados por vectores de características continuas . Si los patrones están representados
con vectores de características binarias o con descripciones estructurales/sintácticas, luego métricas de
se aplican de distinta naturaleza. Presentemos tales métricas.
En informática e inteligencia artificial la métrica de Hamming [124] juega un
papel importante. Por ejemplo, presentamos esta métrica discutiendo Hamming neural
redes en el Cap. 11 Dejar T ser un conjunto de símbolos terminales (alfabeto).22
Definición G.11 Sean dadas dos cadenas de caracteres (símbolos): x =
x1x2 ... xn, y = y1y2 ... yn entre t _ Sea H = {xi, i = 1,..., n : xi = yi}. Una distancia ρH
cadenas x e y en el sentido de la métrica de Hamming es igual a ρH (x, y) = |H|,
donde |H| es el número de elementos de un conjunto H.
En otras palabras, la métrica de Hamming define en cuántas posiciones difieren dos cadenas
uno de otro.
Las métricas de Levenshtein [104, 179] son generalizaciones de la métrica de Hamming.
Vamos a presentarlos.
1. Una transformación de error de sustitución FS: η1aη2 −→FS η1bη2a, b T , a = b,
η1, η2 t _
cadenas x e y en el sentido de la métrica (simple) de Levenshtein
se define como el menor número de transformaciones de cadenas FS, FD, FI requeridas para
obtener la cadena y de la cadena x.
Antes de introducir generalizaciones de la métrica simple de Levenshtein, notemos
que en informática a veces no queremos conservar todas las propiedades de
22 Las nociones de la teoría del lenguaje formal se presentan en el Apéndice E.
Machine Translated by Google
288 Apéndice G: Modelos formales para métodos de inteligencia artificial …
una métrica formulada en la Definición G.1. Por lo tanto, usamos algunas versiones modificadas de la
noción de métrica.
• Una pseudométrica no cumple la primera condición de la Definición G.1. En cambio, se cumple la
siguiente condición: x X : ρ(x, x) = 0, pero es posible que ρ(x, y) = 0 para alguna x = y.
• Un cuasimétrico no cumple la segunda condición (simetría) de la Definición G.1. • Una semimétrica no
cumple la tercera condición (la desigualdad del triángulo) de Defi
nición G.1.
En las siguientes definiciones llamamos a todas estas versiones modificadas, brevemente, una
métrica [104].
las transformaciones de cadena: FS, FD, FI, respectivamente. Sea M una secuencia de transformaciones
de cadenas aplicadas para obtener la cadena y de la cadena x tal que hemos usado transformaciones de
error de sustitución sM , transformaciones de error de eliminación dM y transformaciones de error de
inserción iM .
Entonces, una distancia ρLW TE entre cadenas x e y en el sentido de la métrica de Levenshtein
ponderada según un tipo de error viene dada por la siguiente fórmula:
ρLW TE(x, y) = min {α ∙ sM + β ∙ dM + γ ∙ iM }.
METRO
Notemos que si el peso de una transformación de error de eliminación β difiere del peso de una
transformación de error de inserción γ, entonces la métrica de Levenshtein ponderada según el tipo de
error es cuasimétrica.
Definición G.15 Sea S(a, b) el costo de una transformación de error de sustitución descrita como en el
punto 1 de la Definición G.12, S(a, a) = 0, D(a) denote el costo de un error de eliminación transformación
descrita como en el punto 2 de la Definición G.12.
Sea I(a, b) el costo de la inserción de un símbolo b antes de un símbolo a, es decir
FI
−→η1baη2a, b T , η1, η2 η1aη2 T ,
y, además, sea I (b) el costo de la inserción de un símbolo b al final de una palabra.
Sea M una secuencia de transformaciones de cadenas aplicadas para obtener la cadena y de la
cadena x, donde x, y y c(M) denota
T , la suma de los costos S, D,I,I de todas las transformaciones de
una secuencia M.
Entonces, una distancia ρLWE entre las cadenas x e y en el sentido de la métrica de Levenshtein
ponderada con errores viene dada por la siguiente fórmula:
ρLWE(x, y) = min {c(M)}.
METRO
Machine Translated by Google
Apéndice H
Modelos formales para inteligencia artificial
Métodos: Modelo Matemático de Neural
Aprendizaje en Red
Cuando discutimos las redes neuronales en el Cap. 11, presentamos el modelo básico de su aprendizaje, a
saber, el método de retropropagación. En la segunda sección de este apéndice presentamos una
justificación formal de los principios del método. En el primer apartado introducimos nociones básicas de
análisis matemático [121, 122, 237] que se utilizan para esta justificación.
H.1 Nociones seleccionadas del análisis matemático
En primer lugar, introduzcamos las nociones de espacio vectorial y espacio vectorial normado.
Definición H.1 Sea V un conjunto no vacío cerrado bajo una operación de suma +, y K un cuerpo. Sea ∙ una
operación externa de la multiplicación del lado izquierdo, es decir, es una aplicación de K × V a V, donde
su resultado para un par (a, w) K × V se denota a ∙ w, brevemente aw.
Un espacio vectorial es una estructura que consta del conjunto V, el campo K y operaciones que cumple
las siguientes condiciones. +, ∙,
Definición H.2 Sea X un espacio vectorial sobre un campo K. Una norma sobre X es una aplicación
∙: X −→ R+ cumpliendo las siguientes condiciones.
© Springer International Publishing Suiza 2016 M. 289
Flasi ́nski, Introducción a la Inteligencia Artificial,
DOI 10.1007/9783319400228
Machine Translated by Google
290 Apéndice H: Modelos formales para métodos de inteligencia artificial …
Definición H.3 Sea ∙ una norma en un espacio vectorial X. Un par (X, ∙) se denomina espacio
vectorial normado.
Más adelante, suponemos que X es un espacio vectorial normado.
Ahora, podemos definir derivada direccional, derivada parcial y gradiente. Sea U X un
subconjunto abierto de X.
Definición H.4 Sea dada una función f : U −→ R y v = 0 el vector en X. Si existe un límite de
un cociente de diferencias
f(a + hv) − f(a) lím
h ,
h→0
entonces este límite se denomina derivada direccional de la función f a lo largo del vector v
en el punto a, denotado ∂vf(a).
Sea X = Rn , y vectores e1 = (1, 0, 0,..., 0), e2 = (0, 1, 0,..., 0), . . . , es =
(0, 0, 0,..., 1) constituyen una base canónica para un espacio X. Sea U X un subconjunto
abierto de X.
Definición H.5 Si existen derivadas direccionales ∂e1 f(a), ∂e2 f(a), . . . , ∂en f(a) de una
función f : U −→ R a lo largo de vectores de base canónica e1, e2,..., en, entonces se
denominan derivadas parciales de la función f en el punto a, denotadas ∂f ∂f (a), (a), . . . ∂x1
∂x2 ∂f
, (a).
∂xn
Sea f : U −→ R una función, donde el conjunto U Rn es un conjunto abierto.
Supongamos ∂f
∂f ∂f que existen derivadas parciales: (a), (a), . . . ∂x1 ∂x2 , (a) en el punto ∂xn
a U.
Definición H.6 Un vector
∂f ∂f (a), ∂f
f(a) = (a), . . . ∂x1 ∂x2 , (a) Rn ∂xn .
se llama gradiente de la función f en el punto a.
Teorema H.1 En un punto dado, una derivada direccional tiene el máximo valor absoluto en
la dirección del vector gradiente.
Así, una función crece (o decrece) más rápidamente en la dirección del gradiente.
Haremos uso de esta propiedad en la siguiente sección.
H.2 Aprendizaje de retropropagación de redes neuronales
En esta sección presentamos una formalización del método de retropropagación del
aprendizaje de redes neuronales [252], que se presentó de manera intuitiva en el Cap. 11 En
primer lugar, analicemos su idea general.
Machine Translated by Google
Apéndice H: Modelos formales para métodos de inteligencia artificial … 291
Aprendemos una red neuronal, es decir, modificamos sus pesos, para minimizar una
función de error de una clasificación de vectores pertenecientes al conjunto de entrenamiento.
Todos los pesos de una red neuronal son variables de esta función. Denotemos esta función
con E(W), donde W = (W1, W2,..., WN) es un vector de pesos de todas las neuronas.
En el jésimo paso de un proceso de aprendizaje tenemos un error E(W(j)), brevemente E(j).
Este error se minimizará con el método de descenso más pronunciado, que se puede definir
de la siguiente manera.
Ahora, introduzcamos denotaciones de acuerdo a las usadas en el Cap. 11 N(r)(k) denota
la késima neurona de la résima capa. Supongamos que una red consta de L capas y la capa
résima consta de neuronas Mr. La señal de salida de la késima neurona de la résima capa
en el jésimo paso de aprendizaje se denota con y(r)(k) (j). La señal de entrada en la iésima
entrada de la késima neurona de la résima capa en el jésimo paso de aprendizaje se denota
con X(r)(k) (j), y el peso correspondiente se denota con W(r)(k) (j).
i i
Definamos una función E como una función de error cuadrático medio a la salida de la red,
es decir
1 ML
E(j) = (u(m) (j) − y(L)(m) (j))2 , (H.2)
2m
=1
donde u(m) (j) es una señal de salida requerida para la mésima neurona de la Lésima capa en el j
ésimo paso.
En primer lugar, definamos una fórmula para el valor del iésimo peso de la késima neurona
de la résima capa en el (j + 1)ésimo paso de aprendizaje. De las fórmulas (H.1) y (H.2)
obtenemos
∂E(j)
W(r)(k) (j + 1) = W(r)(k) (j) − α ∂W(r)
i i
(k) (j)
i
∂E(j) ∙ ∂v(r)(k) (j)
= W(r)(k) (j) − α (H.3)
i
∂v(r)(k)(j) ∂E(j) ∂W(r)(k) (j)
i
Ahora, introduzcamos la siguiente denotación en la fórmula (H.3)
∂E(j)
δ(r)(k) (j) = − . (H.4)
∂v(r)(k)(j)
Entonces, obtenemos la siguiente fórmula.
W(r)(k) (j + 1) = W(r)(k) (j) + αδ(r)(k) (j)X(r)(k) (j) . (H.5)
i i i
Machine Translated by Google
292 Apéndice H: Modelos formales para métodos de inteligencia artificial …
La fórmula (H.5) es análoga a la fórmula (11.16) insecto. 11.2 incluyendo una descripción
del método de retropropagación.23 Al final de
nuestras consideraciones, debemos derivar una fórmula para δ(r)(k) (j). Nos deja
determinarlo, en primer lugar, para las neuronas de la capa de entrada y las capas ocultas.
Sr +1
∂E(j) ∂E(j) ∙ ∂v(r+1)(m) (j)
δ(r)(k) (j) = − = − . (H.6)
∂v(r)(k)(j) metro=1
∂v(r+1)(m)(j) ∂v(r)(k)(j)
Aplicando la fórmula (H.4) y haciendo uso de la fórmula (11.1) introducido en la Secc.
11.2, Nosotros recibimos
Sr +1
∂ W(r+1)(m) (j)X(r+1)(m)
señor+1 i=1 i i (j)
δ(r)(k) (j) = − (−δ(r+1)(m) (j)) ∙ . (H.7)
metro=1
∂v(r)(k)(j)
De la fórmula (11.12) introducido en la Secc. 11.2 encontramos eso
Sr +1
∂ W(r+1)(m) (j)y(r)(i) (j)
señor+1 i=1 i
δ(r)(k) (j) = δ(r+1)(m) (j) ∙
metro=1
∂v(r)(k)(j)
(H.8)
Sr +1
∂f(v(r)(k) (j))
= (δ(r+1)(m) ( j)W(r+1)(m)
(j)) ∙ ∂v(r)(k) .
k
metro=1
( j)
Notemos que la fórmula derivada (H.8) es análoga a la fórmula (11.15) presentado en
la Secc. 11.2.
Derivando la fórmula (H.8) para la capa résima, hemos hecho uso de parámetros de la
capa (r + 1)ésima. Para la última capa (Lésima) no podemos usar tal técnica.
Por lo tanto, δ(L)(k) (j) se deriva directamente sobre la base de la fórmula (H.2).
1 ML
∂E(j) = −∂ 2 m=1(u(m) (j) − y(L)(m) (j))2
δ(L)(k) (j) = −
∂v(L)(k)(j) ∂v(L)(k)(j)
∂y(L)(k) (j)
= (u( k) (j) − y(L)(k) (j)) ∙ (H.9)
∂v(L)(k)(j)
∂f(v(L)(k) (j))
= (u(k) ( j) − y(L)(k) (j)) ∙ .
∂v(L)(k)(j)
Nuevamente, notemos que la fórmula (H.9) es análoga a la fórmula (11.14)
introducido en la Secc. 11.2.
23 En la secc. 11.2 hemos analizado (sólo) dos pasos de aprendizaje. El primer paso corresponde al (j)ésimo
paso de nuestras consideraciones en esta sección. El segundo paso (el “preparado”) corresponde al (j+1)ésimo
paso de nuestras consideraciones aquí. Un parámetro α corresponde a un coeficiente de tasa de aprendizaje η.
Machine Translated by Google
Apéndice I
Modelos formales para inteligencia artificial
Métodos: modelos matemáticos para el razonamiento
bajo incertidumbre
En la primera sección se introducen las nociones fundamentales de la teoría de la medida [251] en
para definir el espacio de probabilidad [118, 119], que es una definición básica de probabilidad
teoría. El modelo bayesiano [119], que es una base para la construcción de
24
sistemas de razonamiento descritos en el Cap. 12, se introduce en la segunda sección. El
la tercera sección contiene nociones básicas [67, 271] de la teoría DempsterShafer.
I.1 Fundamentos de la Teoría de la Medida y la Probabilidad
Teoría
Comencemos con las definiciones fundamentales de la teoría de la medida, es decir, σálgebra,
espacio medible, medida y espacio de medida.
Definición I.1 Sea un conjunto no vacío (llamado espacio muestral), M una familia de
subconjuntos de . Una familia M se llama σálgebra en el conjunto si y solo si cumple lo siguiente
condiciones.
• M.
• Si A M, entonces A M.
∞
• Si A1, A2, A3,... M, entonces yo=1 Ai M.
Definición I.2 Sea M un σálgebra sobre . El par (,M) se llama medible
espacio.
Si un conjunto A pertenece a una σálgebra M, entonces decimos que A es Mmedible, o simplemente
medible, si está claro cuál es el σálgebra subyacente.
Definición I.3 Sea M una familia de subconjuntos de un conjunto S.ea σ(M) la intersección
de todas las σálgebras al contener M. Entonces σ(M) es una σálgebra al contener
24Este modelo también se usa para definir algoritmos estadísticos de reconocimiento de patrones, discutidos en
Cap. 10
© Springer International Publishing Suiza 2016 293
M. Flasi ́nski, Introducción a la Inteligencia Artificial,
DOI 10.1007/9783319400228
Machine Translated by Google
294 Apéndice I: Modelos formales para métodos de inteligencia artificial …
M. σ(M) tiene la siguiente propiedad: si N es un σálgebra que contiene M, entonces
25
σ(M) N. σ(M) se denomina σálgebra generada por la familia M.
Definición I.4 Sea M un σálgebra en un conjunto . Una función
μ : METRO −→ R {∞}
se llama medida si y solo si cumple las siguientes condiciones.
• Para cada conjunto A M: μ(A) ≥ 0.
• μ( ) = 0.
∞ ∞
• Si A1, A2, A3,... M son pares disjuntos, entonces μ( yo=1 ai) = yo=1 µ(Ai).
Definición I.5 Sea(,M) un espacio medible, μ una medida. El triple (,M, μ)
se llama espacio de medida.
Definición I.6 Un espacio de medida (, F, P) se denomina espacio de probabilidad si y sólo si una medida
P cumple la siguiente condición P() = 1.
El conjunto se llama el espacio de los eventos elementales. La familia de conjuntos F contiene conjuntos
de eventos que queremos analizar. Cada uno de estos conjuntos consta de eventos elementales. El
función (medida) P se llama una medida de probabilidad, y un número P(A), A F es
llamada probabilidad de un evento A.
I.2 Teoría de la probabilidad bayesiana
Después de definir las nociones de espacio de probabilidad, espacio de eventos elementales y
probabilidad de un evento, podemos introducir los fundamentos de la teoría bayesiana de probabilidad.
Definición I.7 Sea (, F, P) un espacio de probabilidad, B F un evento, P(B) > 0. A
probabilidad condicional de un evento A F, asumiendo que ha ocurrido el evento B , es
dado por una fórmula
PAG(A ∩ B)
P(A|B) = .
P(B)
Ahora introducimos el teorema de la probabilidad total.
Teorema I.1 Sea (, F, P) un espacio de probabilidad. Sean eventos B1, B2,..., Bn F
cumplir las siguientes condiciones.
• P(Bi) > 0, para cada i = 1, 2,..., n.
• Bi ∩ Bj = , para cada i y j tal que i = j.
• B1 B2 ∙∙∙ Bn = .
25 Decimos que σ(M) es la σálgebra más pequeña que contiene a la familia M.
Machine Translated by Google
Apéndice I: Modelos formales para métodos de inteligencia artificial … 295
Entonces para cada evento A F se cumple la siguiente fórmula
norte
PA(A) = P(A|Bi) ∙ P(Bi).
yo=1
El siguiente teorema, llamado regla de Bayes, resulta del teorema de probabilidad total y una
definición de probabilidad condicional.
Teorema I.2 Que se cumplan los supuestos del Teorema I.1 . Entonces se cumple la siguiente formula
P(A|Bk ) ∙ P(Bk )
P(Bk |A) = norte
,
yo=1
P(A|Bi) ∙ P(Bi)
para cada k = 1, 2,..., n.
Al final de esta sección definimos independencia de eventos e independencia condicional de
eventos.
Definición I.8 Sea (, F, P) un espacio de probabilidad. Los eventos A, B F son independientes si
y solo si se cumple la siguiente condición
P(A ∩ B) = P(A) ∙ P(B).
Si P(B) > 0, entonces esta condición es equivalente a
P(A|B) = P(A).
Una noción de independencia puede extenderse a cualquier colección finita de eventos.
Definición I.9 Sea (, F, P) un espacio de probabilidad. Los eventos A1,..., An F son (mutuamente)
independientes si y sólo si para cualquier subcolección de k eventos Ai1 ,..., Aik se cumple la
siguiente condición
P(Ai1 ∩∙∙∙∩ Aik ) = P(Ai1 ) ∙∙∙∙∙ P(Aik ).
Definición I.10 Sea (, F, P) un espacio de probabilidad, A, B,C F, P(C) > 0.
Eventos A, condicionalmente independientes desnudos dado un evento C si y solo si se cumple la siguiente
condición
P(A ∩ B|C) = P(A|C) ∙ P(B|C).
Esta condición es equivalente a
P(A|B ∩ C) = P(A|C).
De manera similar a una noción de independencia, una independencia condicional puede extenderse
a cualquier colección finita de eventos.
Machine Translated by Google
296 Apéndice I: Modelos formales para métodos de inteligencia artificial …
I.3 Nociones básicas de la teoría de DempsterShafer
En este apartado introducimos las nociones básicas de la teoría de las funciones de creencias utilizadas
insecto. 12.2.
Definición I.11 Sea un conjunto de eventos mutuamente excluyentes, llamado universo de
discurso ( marco de discernimiento). Una función m : 2 −→ [0, 1] se llama función básica
asignación de creencias (una función de asignación masiva) si cumple las siguientes condiciones.
• m( ) = 0.
• m(A) = 1.
A
Definición I.12 Una función Bel : 2 −→ [0, 1] se llama una función de creencia iff
Bel(A) = megabyte)
B:B A
para cada A .
Definición I.13 Una función Pl : 2 −→ [0, 1] se llama función de verosimilitud iff
Pl(A) = megabyte)
B:B∩A=
para cada A . Una función de plausibilidad se puede definir sobre la base de una creencia
funcionar de la siguiente manera:
Pl(A) = 1 − Bel(A¯),
donde A¯ es un complemento del conjunto A.
Machine Translated by Google
Apéndice J
Modelos formales para inteligencia artificial
Métodos: Fundamentos de Fuzzy Set y Rough
Teorías de conjuntos
Las definiciones básicas de la teoría de conjuntos borrosos [321] y la teoría de conjuntos aproximados
[216], presentadas en el Cap. 13 para definir nociones imprecisas (vagas), están contenidas aquí.
J.1 Nociones seleccionadas de la teoría de conjuntos borrosos
Se introducen nociones básicas de la teoría de conjuntos borrosos como conjunto borroso, variable
lingüística, valoración en lógica borrosa. Luego se presentan definiciones seleccionadas del razonamiento
difuso de Mamdani [191] (regla difusa, operador de fuzzificación, fórmula mínima de razonamiento de
Mamdani, centro de gravedad de la función de pertenencia).
Definición J.1 Sea U un espacio no vacío, llamado universo de discurso. Un conjunto A en el espacio U, A
U, se llama conjunto borroso si y solo si
A = {(x, μA(x)) : x U},
dónde
µA : U −→ [0, 1]
es una función de pertenencia, que se define de la siguiente manera
s,s (0, 1), x pertenece a A con un grado de pertenencia s.
© Springer International Publishing Suiza 2016 M. 297
Flasi ́nski, Introducción a la Inteligencia Artificial,
DOI 10.1007/9783319400228
Machine Translated by Google
298 Apéndice J: Modelos formales para métodos de inteligencia artificial …
Definición J.2 Una variable lingüística26 es cuádruple
L = (N, T, U, M), donde
N es un nombre de la variable, T
es un conjunto de valores lingüísticos posibles para esta variable,
U es un universo de discurso, M
es una función semántica que atribuye un significado M(t) a todo valor lingüístico t T; un
significado se representa con un conjunto borroso A X.
Definición J.3 Sean dadas las proposiciones P: “x es P” y Q: “x es Q”, donde P y Q son nociones
vagas con conjuntos borrosos P y Q atribuidos por una función semántica.
Sean μP y μQ sus funciones de pertenencia, respectivamente. Una valoración en lógica proposicional
difusa se define con la ayuda de la función de grado de verdad T de la siguiente manera.
• T(P) = µP(x). •
T(¬P) = 1 − T(P). • T(P
Q) = min{T(P) , T(Q)}. • T(P Q) =
máx{T(P) , T(Q)}. • T(P Q) = máx{T(¬P) ,
T(Q)}.
Ahora, presentamos nociones seleccionadas del modelo de razonamiento de Mamdani27
Definición J.4 Una regla (Rk ,CONDk , ACTk ) se llama regla difusa si y sólo si:
CONDk es de la forma: xk
1es Ak 1 ∙∙∙ xk es Ak norte
norte,
ACTk es de la forma: yk es bk ,
donde yk es una variable lingüística, Bk es un valor lingüístico.28
Definición J.5 Sea X R un dominio de una variable x. Una operación de fuzzificación singleton de
un valor x de una variable x es un mapeo de un valor x a un conjunto borroso A X con una función
de pertenencia dada por la siguiente fórmula:
26Existen varias definiciones de variable lingüística. En su versión original [322] la variable lingüística se definía
sobre la base de la gramática independiente del contexto. Sin embargo, debido a la forma compleja de tal definición,
hoy en día una variable lingüística se define explícitamente con un conjunto de valores lingüísticos. Asumimos tal
convención en la definición.
27 Suponemos una definición de regla como en el Apéndice F.
28La definición se refiere a reglas para las cuales una condición tiene la forma de una conjunción y un consecuente
es un solo elemento (es decir, de la forma de un MISO canónico). En la práctica, las reglas difusas se pueden definir
de esa forma (con ciertas suposiciones).
Machine Translated by Google
Apéndice J: Modelos formales para métodos de inteligencia artificial … 299
1, x = x, 0,
µA(x) =
de lo contrario.
Para definir el razonamiento difuso, primero introducimos un concepto de relación difusa.
Definición J.6 Sean X, Y conjuntos no vacíos (no difusos). Una relación difusa R es un conjunto
difuso definido sobre el producto cartesiano X × Y tal que
μA→B(x, y) = min{μA(x), μB(y)}.
X
xμA(x) dx
x = ,
X
μA(x) dx
suponiendo la existencia de ambas integrales.
J.2 Nociones seleccionadas de la teoría de conjuntos aproximados
Sea U un espacio no vacío que contiene objetos considerados, llamado universo de discurso,
A un conjunto finito no vacío de atributos que describen objetos que pertenecen a U. Para
cada atributo a A definamos un conjunto de sus valores posibles Va, llamado el dominio de
a. Sea a(x) un valor de un atributo a para un objeto x U.
para todo x, y U. Decimos que los objetos x, y son Bindiscernibles.
29Esta formulación un tanto complicada es utilizada por el autor para evitar nombrar la fórmula: una
implicación difusa A → B. La fórmula mínima de Mamdani, aunque muy útil en la práctica, no cumple una
definición de implicación difusa.
Machine Translated by Google
300 Apéndice J: Modelos formales para métodos de inteligencia artificial …
Dado que una relación IB es una relación de equivalencia, define una partición de un universo U
en clases de equivalencia. Introduzcamos la siguiente definición.
Definición J.10 Sea IB una relación de Bindiscernibilidad en un universo U, x U. Un conjunto Belemental
[x]IB es la clase de equivalencia de un objeto x, es decir
Sea X U.
Definición J.11 Una aproximación Binferior del conjunto X es un conjunto
Definición J.12 Una aproximación Bsuperior del conjunto X es un conjunto
BX = {x U : [x]IB ∩ X = }.
Definición J.13 Una región límite B del conjunto X es un conjunto
BBENCUENTROX = BX\BX.
Definición J.14 El conjunto X se denomina conjunto Baproximado si y solo si se cumple la siguiente condición
BX = BX.
Definición J.15 El conjunto X se denomina conjunto Bexacto (Bcrisp) si y solo si se cumple la siguiente
condición
BX = BX.
Definición J.16 Sea card(Z) la cardinalidad de un conjunto no vacío Z. Un coeficiente de precisión de
aproximación del conjunto X con respecto a una relación de indiscernibilidad B viene dado por la siguiente
fórmula
tarjeta(BX)
αB(X) = .
tarjeta(BX)
Machine Translated by Google
Bibliografía
1. Aho, AV: gramáticas indexadas una extensión de las gramáticas libres de contexto. J. ACM 15, 647–671
(1968)
2. Ajdukiewicz, K.: Lógica pragmática. Reidel, Dordrecht (1974)
3. Almuallim, H., Dietterich, TG: Aprendizaje con muchas características irrelevantes. En: Actas de la 9.ª
Conferencia Nacional sobre Inteligencia Artificial AAAI91, Anaheim, CA, págs. 547–552 (1991)
4. Anderberg, MR: Análisis de clúster para aplicaciones. Prensa académica, Nueva York (1973)
5. Anderson, JR: La arquitectura de la cognición. Prensa de la Universidad de Harvard, Cambridge (1983)
6. Anderson, JR: Reglas de la Mente. Lawrence Erlbaum, Hillsdale (1993)
7. Apt, KR: De la programación lógica a Prolog. Prentice Hall (1997)
8. Apt, KR: Principios de programación de restricciones. Prensa de la Universidad de Cambridge, Cambridge
(2003)
9. Aristóteles: De anima, Hicks, RD (ed.). Prensa de la Universidad de Cambridge, Cambridge (1907)
10. Aristóteles: Las obras de Aristóteles traducidas al inglés bajo la dirección editorial de WD Ross,
12 vols. Clarendon Press, Oxford (19081952)
11. Armstrong, D.: Una teoría materialista de la mente. Routledge y K. Paul, Londres (1968)
12. Arnold, MB:. Emoción y Personalidad. Prensa de la Universidad de Columbia, Nueva York (1960)
13. Austin, JL: Cómo hacer cosas con palabras. Clarendon Press, Oxford (1962)
14. Baader, F., Nipkow, T.: Reescritura de términos y todo eso. Prensa de la Universidad de Cambridge, Cambridge
(1999)
15. Baader, F., Horrocks, I., Sattler, U.: Lógicas de descripción. En: Van Harmelen, F., Lifschitz, V., Porter, B. (eds.)
Manual de representación del conocimiento. Elsevier Science, Ámsterdam (2007)
16. Barendregt, HP: El cálculo Lambda: su sintaxis y semántica. Holanda Septentrional, Ámster
presa (1984)
17. Barendregt, H., Barendsen, E.: Introducción al cálculo Lambda (2000)
18. Barr, A., Feigenbaum, E.: El manual de inteligencia artificial, vols. 1–2. HeurisTech
Press y Kaufmann, StanfordLos Altos (1981, 1982)
19. Barr, A., Cohen, PR, Feigenbaum, E.: Manual de inteligencia artificial, vol. 4.
AddisonWesley, Lectura (1989)
20. Barwise, J.: Lógica matemática. Elsevier Science, Ámsterdam (1993)
21. Bechtel, W., Abrahamsen, A.: El conexionismo y la mente: procesamiento paralelo, dinámica,
y Evolución en Redes. Blackwell, Oxford (2002)
22. Beni, G., Wang, J.: Inteligencia de enjambre en sistemas robóticos celulares. En: Actas del Taller Avanzado de
la OTAN sobre Robots y Sistemas Biológicos, Toscana, Italia (1989)
© Springer International Publishing Suiza 2016 M. Flasi ́nski, 301
Introducción a la Inteligencia Artificial, DOI
10.1007/9783319400228
Machine Translated by Google
302 Bibliografía
23. Beyer, HG, Schwefel, HP: Estrategias de evolución: una introducción completa. Nat. computar
1, 3–52 (2002)
24. Bezem, M., Klop, JW, de Vrijer, R.: Sistemas de reescritura de términos. Prensa de la Universidad de Cambridge,
Cambridge (2003)
25. Bielecki, A., Ombach, J.: Propiedades dinámicas de un proceso de aprendizaje de perceptrón: estabilidad estructural
bajo números y sombreado. J. Ciencia no lineal. 21, 579–593 (2011)
26. Binet, A., Simon, T.: El desarrollo de la inteligencia en los niños. williams y wilkins,
baltimore (1916)
27. Bishop, CM: Redes neuronales para el reconocimiento de patrones. Prensa de la Universidad de Oxford, Oxford
(1995)
28. Bishop, C.: Reconocimiento de patrones y aprendizaje automático. saltador (2006)
29. Bobrowski, L., Niemiro, W.: Un método de síntesis de la función discriminante lineal en el caso
de no separabilidad. Reconocimiento de patrones. 17, 205–210 (1984)
30. Boche ́nski, JM: Die zeitgenossischen Denkmethoden. A. Francke AG Verlag, Berna (1954).
(Traducción al inglés: Los métodos del pensamiento contemporáneo. Reidel, Dordrecht (1965))
31. Bock, GR, Goode, JA, Webb, K. (eds.): La naturaleza de la inteligencia. Wiley, Chichester
(2000)
32. Boden, M.: Modelos informáticos de creatividad. En: Sternberg, RJ (ed.) Manual de Creatividad,
págs. 351–373. Prensa de la Universidad de Cambridge, Cambridge (1999)
33. BonJour, L.: Epistemología: Problemas clásicos y respuestas contemporáneas. Rowman y Littlefield, Lanham (2002)
34. Booth, TL: Representación probabilística de lenguajes formales. En: Actas del 10º Simposio Anual de la Fundación sobre
Ciencias de la Computación, Waterloo, Canadá, págs. 74–81 (1969)
35. Boser, BE, Guyon, IM, Vapnik, VN: Un algoritmo de entrenamiento para un clasificador de margen óptimo.
En: Actas del 5.º taller anual de ACM COLT, Pittsburgh, EE. UU., págs. 144–152 (1992)
36. Brachman, RJ, Levesque, HJ: Representación del conocimiento y razonamiento. Morgan Kaufmann, San Francisco
(2004)
37. Bratko, I.: Programación en Prolog para Inteligencia Artificial. AddisonWesley, Lectura (2000)
38. Brentano, F.: La psicología desde una perspectiva empírica. Routledge, Londres y Nueva York
(1995)
39. Brewka, G., Niemelä, I., Truszczy ́nski, M.: Razonamiento no monotónico. En: van Harmelen, F., et al. (eds.) Manual de
representación del conocimiento, págs. 239–284. Elsevier Science, Ámsterdam (2008)
40. Brown, M., Harris, C.: Control y modelado adaptativo neurodifuso. PrenticeHall, Inglaterra
Acantilados de madera, Nueva Jersey (1994)
41. Bunke, HO, Sanfeliu, A. (eds.): Reconocimiento de patrones sintácticos y estructuralesTeoría y
Aplicaciones. World Scientific, Singapur (1990)
42. Carpenter, GA, Grossberg, S.: Una arquitectura masivamente paralela para una máquina de reconocimiento de patrones
neuronales autoorganizada. computar Vis. Grafico. Proceso de imagen. 37, 54–115 (1987)
43. DeCastro, LN, Timmis, J.: Sistemas Inmunitarios Artificiales: Un Nuevo Enfoque de Inteligencia Computacional. saltador
(2002)
44. Cattell, RB: Habilidades: su estructura, crecimiento y acción. Houghton Mifflin, Boston, MA
(1971)
45. Chalmers, D.: Filosofía de la mente: lecturas clásicas y contemporáneas. Universidad de Oxford
Prensa, Nueva York (2002)
46. Chang, C.L., Lee, RCT.: Lógica simbólica y demostración de teoremas mecánicos. Académico
Prensa, Nueva York (1997)
47. Chomsky, N.: Aspectos de la teoría de la sintaxis. Prensa del MIT, Cambridge, MA (1965)
48. Church, A.: Una nota sobre el problema de Entscheidungs. J. Lógica simbólica 1, 40–41 (1936)
49. Churchland, PM: El materialismo eliminativo y las actitudes proposicionales. J. Philos. 78, 67–90
(1981)
50. Cichocki, A., Unbehauen, R.: Neural Networks for Optimization and Signal Processing.Wiley,
Nueva York (1993)
Machine Translated by Google
Bibliografía 303
51. Cios, K., Pedrycz, W., Swinarski, R.: Técnicas de minería de datos. Editores académicos de Kluwer,
Dordrecht/Londres/Boston (1998)
52. Cirstea, H., Kirchner, C., Moossen, M., Moreau, P.E.: Sistemas de producción y formalización de algoritmos de red,
INRIA Rapport Intermédiaire A04R546, Rocquencourt, (2004). http://www. loria.fr/publications/2004/A04R546/
A04R546.ps 53. Clocksin, WF, Mellish, CS: Programación en
Prolog. saltador (1994)
54. Cohen, MA, Grossberg, S.: Estabilidad absoluta de la formación de patrones globales y almacenamiento de memoria
paralelo por redes neuronales competitivas. Trans. IEEE. sist. Hombre cibernético. SMC13, 815– 826 (1983)
55. Cohen, PR, Feigenbaum, E.: El manual de inteligencia artificial, vol. 3. Tecnología Heuris
Press y Kaufmann, StanfordLos Altos (1982)
56. Collins, AM, Quillian, MR: Tiempo de recuperación de la memoria semántica. J. Aprendizaje Verbal
Comportamiento Verbal. 8, 240–248 (1969)
57. Colmerauer, A., Kanoui, P., Pasero, P., Roussel, Ph.: Un système de communication homme machine en Français.
Informe interno. Groupe d'Intelligence Artificielle. Universidad Aix Marsella II (1973)
58. Colmerauer, A.: Les grammaires de métamorphose. Informe interno. Groupe d'Intelligence Artificelle. Université Aix
Marseille II (1975). (Traducción al inglés: gramáticas de la metamorfosis.
En: Bolc, L. (ed.) Comunicación en lenguaje natural con computadoras, págs. 133–189. saltador (1978))
59. Copleston, F.: Una historia de la filosofía, vols 1–11. Continuum, Londres (2003)
60. Cover, TM, Hart, PE: Clasificación del patrón del vecino más cercano. Trans. IEEE. información teoría 13,
2127 (1967)
61. Cramer, NL: Una representación para la generación adaptativa de programas secuenciales simples. En: Actas de la
Conferencia Internacional sobre la Aplicación de Algoritmos Genéticos, Pittsburgh, PA, EE. UU., págs. 183–187
(1985)
62. Crevier, D.: AI: La búsqueda tumultuosa de inteligencia artificial. BasicBooks, Nueva York
(1993)
63. Czogała, E., Ł¸eski, J.: Sistemas inteligentes borrosos y neuroborrosos. saltador (2000)
64. Davidson, D.: Eventos mentales. En: Foster, L., Swanson, JW (eds.) Experiencia y teoría.
Duckworth Publishers, Londres (1970)
65. De Jong, KA: Computación evolutiva: un enfoque unificado. Prensa del MIT, Cambridge, MA
(2006)
66. De Kleer, J.: Un sistema de mantenimiento de la verdad basado en suposiciones. Artefacto Intel. 28, 127–162 (1986)
67. Dempster, AP: Una generalización de la inferencia bayesiana. Estado JR. Soc. Ser. B 30, 205–247
(1968)
68. Dennett, D.: La postura intencional. Prensa del MIT, Cambridge, MA (1987)
69. Descartes, R.: Principios de Filosofía. D. Reidel, Dordrecht (1983)
70. Dijkstra, EW: Una nota sobre dos problemas en relación con los gráficos. Numerische Mathematik 1, 269–271 (1959)
71. Doherty, P., Łukaszewicz, W., Skowron, A., Szałas, A.: tecnología de representación del conocimiento
niques Springer, Un enfoque preliminar (2006)
72. Dorigo, M.: Optimización, aprendizaje y algoritmos naturales, tesis doctoral, Politecnico di Milano,
Italia (1992)
73. Doyle, J.: Un sistema de mantenimiento de la verdad. Artefacto Intel. 12, 231272 (1979)
74. Dreyfus, HL: Lo que las computadoras no pueden hacer. MIT Press, Nueva York (1972)
75. Dubois, D., Prade, H.: Conjuntos y sistemas borrosos. Prensa académica, Nueva York (1988)
76. Duch, W.: ¿Qué es la inteligencia computacional y hacia dónde va? Semental. computar Intel.
63, 1–13 (2007)
77. Duch, W., Oentaryo, RJ, Pasquier M.: Arquitecturas cognitivas. ¿A dónde vamos desde aquí?
En: Actas de la 1.ª Conferencia sobre Inteligencia General Artificial, Universidad de Memphis, TN, págs. 122–136
(2008)
78. Duda, R., Hart, P.: Clasificación de patrones y análisis de escenas. WileyInterscience, Nueva York
(1973)
Machine Translated by Google
304 Bibliografía
79. Duda, RO, Hart, PE, Stork, DG: Clasificación de patrones. Wiley, Nueva York (2001)
80. DuninK¸eplicz, B., Verbrugge, R.: Teamwork in MultiAgent Systems: A Formal Approach.
Wiley, Nueva York (2010)
81. Ebbinghaus, H.D., Flum, J., Thomas, W.: Lógica matemática. saltador (1994)
82. Eberhart, R., Kennedy, J.: Un nuevo optimizador que utiliza la teoría del enjambre de partículas. En: Actas del 6º Simposio
Internacional sobre Micromáquinas y Ciencias Humanas, Nagoya, Japón, págs. 39–43 (1995)
83. Eiben, AE, Smith, JE: Introducción a la Computación Evolutiva. saltador (2003)
84. Elman, JL: Encontrar estructura en el tiempo. Cog. ciencia 14, 179–211 85. Everitt,
B.: Análisis de conglomerados. Libros educativos Heinemann, Londres (1977)
86. Farmer, JD, Packard, N., Perelson, A.: El sistema inmunológico, la adaptación y el aprendizaje automático.
física D 2, 187–204 (1986)
87. Fausett, L.: Fundamentos de Redes Neuronales. PrenticeHall, acantilados de Englewood, Nueva Jersey
(1994)
88. Ferber, J.: Sistemas multiagente: una introducción a la inteligencia artificial. AddisonWesley, Lectura, MA (1999)
89. Firebaugh, MW: Inteligencia artificial. Un enfoque basado en el conocimiento. Publicación PWSKent.
Comp, Boston, MA (1988)
90. Fisher, RA: El uso de medidas múltiples en problemas taxonómicos. Ana. eugenesia 7,
179188 (1936)
91. Fix, E., Hodges, JL: Análisis discriminatorio, discriminación no paramétrica: propiedades de consistencia. Informe técnico
4, Escuela de medicina aeronáutica de la USAF, Randolph Field, TX (1951)
92. Flasi ́nski, M., Lewicki, G.: El método convergente de construcción de funciones polinómicas discriminantes para el
reconocimiento de patrones. Reconocimiento de patrones. 24, 1009–1015 (1991)
93. Flasi ́nski, M.: Sobre el análisis sintáctico de lenguajes gráficos deterministas para el reconocimiento de patrones
sintácticos. Reconocimiento de patrones. 26, 1–16 (1993)
94. Flasi ́nski, M.: Power properties of NLC graph gramáticas con una membresía polinomial
problema. teor. computar ciencia 201, 189–231 (1998)
95. Flasi ́nski, M., Jurek, J.: Autómatas programados dinámicamente para lenguajes cuasi sensibles al contexto como
herramienta de apoyo a la inferencia en sistemas expertos de control en tiempo real basados en el reconocimiento de
patrones. Reconocimiento de patrones. 32, 671–690 (1999)
96. Flasi ́nski, M.: Inferencia de gramáticas gráficas analizables para el reconocimiento de patrones sintácticos. Fun damenta
Informaticae 80, 379–413 (2007)
97. Flasi ́nski, M.: Reconocimiento de patrones sintácticos: cuestiones de paradigma y problemas abiertos. En: Chen, CH (ed.)
Manual de reconocimiento de patrones y visión artificial, págs. 3–25. World Scientific, Nueva JerseyLondresSingapur
(2016)
98. Floyd, RW: Análisis sintáctico y precedencia de operadores. J. ACM 10, 316–333 (1963)
99. Fogel, LJ, Owens, AJ, Walsh, MJ: Inteligencia artificial a través de la evolución simulada.
Wiley, Nueva York (1966)
100. Fogel, LJ: Inteligencia a través de la evolución simulada: cuarenta años de programa evolutivo
ming Wiley, Nueva York (1999)
101. Forgy, C.: Rete: un algoritmo rápido para el problema de coincidencia de patrones de muchos patrones/muchos objetos.
Artefacto Intel. 19, 17–37 (1982)
102. Fraser, A.: Simulación de sistemas genéticos por computadoras digitales automáticas. I. Introducción agosto.
J. Biol. ciencia 10, 484–491 (1957)
103. Fu, KS, Swain, PH: Gramáticas programadas estocásticas para el reconocimiento de patrones sintácticos.
Reconocimiento de patrones. 4, 83100 (1971)
104. Fu, KS: Reconocimiento y aplicaciones de patrones sintácticos. PrenticeHall, acantilados de Englewood,
Nueva Jersey (1982)
105. Fukami, S., Mizumoto, M., Tanaka, K.: Algunas consideraciones sobre la inferencia condicional difusa.
Sistema de conjuntos borrosos. 4, 243–273 (1980)
106. Fukunaga, K.: Introducción al reconocimiento de patrones estadísticos. Prensa académica, Boston, MA
(1990)
Machine Translated by Google
Bibliografía 305
107. Fukushima, K.: Cognitron: una red neuronal multicapa autoorganizada. Biol. cibernético 20,
121136 (1975)
108. Gardner, H., Kornhaber, ML, Wake, WK: Inteligencia: múltiples perspectivas. Harcourt Brace, Nueva York (1996)
109. Glover, F.: Futuros caminos para la programación entera y enlaces a la inteligencia artificial. computar
oper. Res. 13, 533–549 (1986)
110. Gödel, K.: Über formal unentscheidbare Sätze der Principia Mathematica und verwandter Systeme. I. Monatshefte
für Mathematik und Physik 38, 173–198 (1931)
111. Goldberg, DE: Algoritmos genéticos en búsqueda. Optimización y Machine Learning. Addison Wesley, Lectura
(1989)
112. Goleman, D.: Inteligencia social: la nueva ciencia de las relaciones humanas. Bantam Books, Nueva York (2006)
113. Gonzales, RC, Thomason, MG: Reconocimiento de patrones sintácticos: una introducción. Addison Wesley, Lectura
(1978)
114. Gottfredson, LS: Por qué importa g: la complejidad de la vida cotidiana. Inteligencia 24, 79–132
(1997)
115. Gubner, JA: Probabilidad y procesos aleatorios para ingenieros eléctricos e informáticos.
Prensa de la Universidad de Cambridge, Cambridge (2006)
116. Guilford, JP: La naturaleza de la inteligencia humana. McGrawHill, Nueva York (1967)
117. Gupta, MM, Jin, L., Homma, N.: Redes neuronales estáticas y dinámicas. Wiley, Hoboken,
Nueva Jersey (2003)
118. Gut, A.: Un curso intermedio de probabilidad. saltador (1995)
119. Gut, A .: Probabilidad: un curso de posgrado. Springer, Nueva York, Nueva York (2005)
120. Guttenplan, S.: Un compañero de la filosofía de la mente. Blackwell, Oxford (1996)
121. Guzmán, A.: Funciones continuas de variables vectoriales. Birkhäuser, Boston, MA (2002)
122. Guzman, A.: Derivadas e Integrales de Funciones Multivariantes. Birkhäuser, Boston, MA
(2003)
123. Hall, RP: Enfoques computacionales del razonamiento analógico: un análisis comparativo. Artefacto
Intel. 39, 39–120 (1989)
124. Hamming, RW: Códigos de detección y corrección de errores. Sistema de campana tecnología J. 29, 147–160
(1950)
125. Hamscher, W., Console, L., de Kleer, J.: Lecturas en el diagnóstico basado en modelos. morgan kauf
mann, San Francisco, CA (1992)
126. Hart, PE, Nilsson, NJ, Raphael, B.: Una base formal para la determinación heurística de rutas de costo mínimo.
Trans. IEEE. sist. ciencia cibernético SSC4 100–107 (1968)
127. Hartigan, JA: algoritmos de agrupamiento.
´ Wiley, Nueva York (1975)
128. Hassanien, AE, Suraj, Z., Sl¸ ezak, D.,
Lingras, P.: Informática aproximada: teorías, tecnologías,
y Aplicaciones. Referencia de Ciencias de la Información, Nueva York (2008)
129. Hassoun, MH: Fundamentos de las redes neuronales artificiales. Prensa del MIT, Cambridge, MA
(1995)
130. Hayes, P.: La lógica de los marcos. En: Metzing, D. (ed.) Frame. Concepciones y texto bajo
de pie, págs. 46–61. Walter de Gruyter and Co., Berlín (1979)
131. HayesRoth, F.: Construcción de sistemas expertos. AddisonWesley, Lectura, MA (1983)
132. HayesRoth, B.: Una arquitectura de pizarra para el control. Artefacto Intel. 26, 251–321 (1985)
133. Hebb, DO: La Organización del Comportamiento. Wiley, Nueva York (1949)
134. Heil, J.: Filosofía de la mente. Una introducción contemporánea. Routledge, Nueva York (2004)
135. Hindley, JR, Seldin, JP: Introducción a los Combinadores y λCalculus. Prensa de la Universidad de Cambridge,
Cambridge (1986)
136. Hinton, GE, Anderson, JA (eds.): Modelos paralelos de memoria asociativa. Lawrence Erl Baum, Hillsdale, Nueva
Jersey (1981)
137. Hinton, GE, Sejnowski, TJ: Aprendizaje y reaprendizaje en máquinas de Boltzmann. En: Rumel hart, DE, et al.
(eds.) Procesamiento distribuido en paralelo: exploraciones en la microestructura de la cognición, vol. 1, págs. 282–
317. Cimientos. Prensa del MIT, Cambridge, MA (1986)
Machine Translated by Google
306 Bibliografía
138. Hobbes, T.: El sistema metafísico de Hobbes. La editorial Open Court, La
Salle, Illinois (1963)
139. Holanda, JH: Adaptación en Sistemas Naturales y Artificiales. Prensa de la Universidad de Michigan,
Ann Arbor, MI (1975)
140. Hopfield, JJ: Redes neuronales y sistemas físicos con sistemas computacionales colectivos emergentes
propiedades. proc. Nat. Academia ciencia EE. UU. 79, 2554–2588 (1982)
141. Hopcroft, JE, Motwani, R., Ullman, JD: Introducción a la teoría de los autómatas, lenguajes y
Cálculo. AddisonWesley, Lectura, MA (2006)
142. Horn, J.: Comprender la inteligencia humana: ¿dónde hemos llegado desde Spearman? En: Cud eck, R.,
MacCallum, RC (eds.) Factor Analysis at 100: Historical Developments and Future Directions, págs. 230–255.
Lawrence Erlbaum, Mahwah, Nueva Jersey (2007)
143. Horrigan, PG: Epistemología: una introducción a la filosofía del conocimiento. iUniverso, Lincoln, NE (2007)
144. Hume, D.: Una investigación sobre el entendimiento humano. Prensa de la Universidad de Oxford, Oxford
(1999)
145. Husserl, E.: Ideas pertenecientes a una fenomenología pura ya una filosofía fenomenológica.
Editorial académica Kluwer, Dordrecht (1998)
146. Jackson, F.: Epiphenomenal qualia. Filosofía P. 32, 127–136 (1982)
147. Jackson, P.: Introducción a los Sistemas Expertos. AddisonWesley, HarlowLondresNueva York
(1999)
148. Jain, AK, Duin, RPW, Mao, J.: Reconocimiento de patrones estadísticos: una revisión. Trans. IEEE. Pat.
Anal. Mach. Intel. PAMI22 4–37 (2000)
149. Janssens, D., Rozenberg, G., Verraedt, R.: Sobre el gráfico de reescritura de nodos secuencial y paralelo
gramáticas. computar Grafico. Proceso de imagen. 18, 279–304 (1982)
150. Johnson, SC: esquemas de agrupamiento jerárquico. Psicometría 2, 241–254 (1967)
151. Jordan, MI: Dinámica de atracción y paralelismo en una máquina secuencial conexionista. Actas de la 8.ª
Conferencia Anual sobre Sociedad de Ciencias Cognitivas, Erlbaum, Hillsdale NJ, págs. 531–546 (1986)
152. Kacprzyk, J.: Control difuso de múltiples etapas: un enfoque basado en modelos para el control y la toma de
decisiones. Wiley, Chichester (1997)
153. Kanal, LN: Sobre patrón, categorías y realidades alternativas. Reconocimiento de patrones. Letón. 14, 241–255
(1993)
154. Kant, I.: Crítica de la razón pura. Palgrave Macmillan, Basingstoke (2003)
155. Kenny, A. (ed.): La historia ilustrada de Oxford de la filosofía occidental. Universidad de Oxford
Prensa, Oxford (1994)
156. Kilian, J., Siegelmann, HT: Sobre el poder de las redes neuronales sigmoideas. En: Actas de la 6ª Conferencia Anual
sobre Teoría del Aprendizaje Computacional, Santa Cruz, CA, EE. UU., págs. 137–143 (1993)
157. Kim, J.: Supervenience and Mind: ensayos filosóficos seleccionados. Prensa de la Universidad de Cambridge,
Cambridge (1993)
158. Kim, J.: Filosofía de la mente. Prensa de Westview, roca (2006)
159. Kirkpatrick, S., Gelatt, CD, Vecchi, MP: Optimización por recocido simulado. Ciencia
220, 671–680 (1983)
160. Kleene, SC: Representación de eventos en redes nerviosas y autómatas finitos. En: Shannon, CE, McCarthy, J.
(eds.) Automata Studies, p. 342. Prensa de la Universidad de Princeton (1956)
161. Kłopotek, MA, Wierzcho ́n, ST: Un nuevo enfoque cualitativo en bruto para modelar funciones de creencias. En:
Polkowski, L., Skowron, A. (eds.) Rough Sets And Current Trends In Computing, págs. 346–353. saltador (1998)
162. Klu´zniak, F., Szpakowicz, S.: Prólogo para programadores. Prensa académica, Nueva York (1985)
163. Knuth, DE: Sobre la traducción de idiomas de izquierda a derecha. información Control 8, 607–639 (1965)
164. Kohonen, T.: Memorias de matriz de correlación. Trans. IEEE. computar C21 353–359 (1972)
165. Kohonen, T .: Formación autoorganizada de mapas de características topológicamente correctos. Biol. cibernético
43, 59–69 (1982)
166. Kolodner, JL: Razonamiento basado en casos. Morgan Kaufmann, San Mateo, CA (1993)
Machine Translated by Google
Bibliografía 307
167. Korf, RE: Profundización iterativa primero en profundidad: una búsqueda de árbol admisible óptima. Artefacto Intel.
27, 97–109 (1985)
168. Koronacki, J., Ra´s, ZW, Wierzcho ́n, S., Kacprzyk, J. (eds.): Advances in Machine Learning, vol. 1–2. saltador (2010)
169. Kosi ́nski, W. (ed.): Avances en algoritmos evolutivos. InTech Publishing, Viena (2008)
170. Kosko, B.: Memorias asociativas bidireccionales adaptativas. aplicación Optar. 26, 4947–4960 (1987)
171. Koutroumbas, K., Theodoridis, S.: Reconocimiento de patrones. Prensa académica, Boston (2008)
172. Koza, JR: Programación genética: sobre la programación de computadoras por medio de
Selección. Prensa del MIT, Cambridge, MA (1992)
173. Koza, JR et al .: Programación genética IV: Inteligencia humanacompetitiva rutinaria.
saltador (2005)
174. Laird, JE: Ampliación de la arquitectura cognitiva Soar. En: Actas de la 1ra Conferencia sobre Inteligencia General
Artificial, Universidad de Memphis, TN, págs. 224–235 (2008)
175. Lakoff, G.: Mujeres, fuego y cosas peligrosas: qué revelan las categorías sobre la mente.
Prensa de la Universidad de Chicago, Chicago, IL (1987)
176. Leibniz, GW: Textos filosóficos. Prensa de la Universidad de Oxford, Oxford (1999)
177. Leitsch, A.: El cálculo de resolución. saltador (1997)
178. Lemos, N.: Introducción a la Teoría del Conocimiento. Prensa de la Universidad de Cambridge, Cam
puente (2007)
179. Levenshtein, VI: Códigos binarios capaces de corregir eliminaciones, inserciones y reversiones. Sov.
física Dokl. 10, 707–710 (1966)
180. Lewis II, PM, Stearns, RE: transducciones dirigidas por la sintaxis. J. ACM 15, 465–488 (1968)
181. Li, W.: Lógica matemática. Fundamentos de las Ciencias de la Información. Birkhäuser, Berlín (2010)
182. Ligüeza, A.: Fundamentos lógicos para sistemas basados en reglas. saltador (2006)
183. Lippmann, RP: Introducción a la informática con redes neuronales. Acústica IEEE. Proceso de señal de voz. 4, 4–22
(1987)
184. Lloyd, JW: Fundamentos de la programación lógica. saltador (1987)
185. Locke, J.: Ensayo sobre el entendimiento humano. Hackett Publishing Company, Indianápolis, IN (1996)
186. Lowe, EJ: Introducción a la Filosofía de la Mente. Prensa de la Universidad de Cambridge, Cam
puente (2000)
187. Lowerre, BT, Reddy, R.: El sistema de comprensión del habla HARPY. En: Lea, WA (ed.)
Tendencias en el reconocimiento de voz, págs. 340–360. PrenticeHall, Englewood Cliffs, Nueva Jersey (1980)
188. Lucas, J.: Mentes, máquinas y Gödel. Filosofía 36, 112–127 (1961)
189. Luger, G., Stubblefield, W.: Inteligencia artificial: estructuras y estrategias para la resolución de problemas complejos.
Benjamín/Cummings, Redwood City, CA (2004)
190. MacQueen, J.: Algunos métodos para la clasificación y análisis de observaciones multivariadas. En: Actas del 5º
Simposio de Berkeley sobre Estadística Matemática y Probabilidad, vol. 1.
Prensa de la Universidad de California, Berkeley, CA, págs. 281–297 (1967)
191. Mamdani, EH, Assilian, S.: Un experimento de síntesis lingüística con una lógica difusa con
trollador En t. J. Hombre Mach. Semental. 7, 1–13 (1975)
192. Mamdami, EH: Aplicación de la lógica difusa al razonamiento aproximado utilizando sistemas lingüísticos.
Trans. IEEE. compensación C26 1182–1191 (1997)
193. McCarthy, J.: Programas con sentido común. En: Actas de la Conferencia de Teddington sobre Mecanización de
Procesos de Pensamiento. Her Majesty's Stationery Office, Londres, págs. 756–791 (1959)
194. McCarthy, J.: Funciones recursivas de expresiones simbólicas y su cálculo por máquina.
común ACM 3, 184195 (1960)
195. McCarthy, J., Hayes, PJ: Algunos problemas filosóficos desde el punto de vista de la inteligencia artificial. Mach. Intel.
4, 463–502 (1969)
196. McCarthy, J.: Circunscripción? Una forma de razonamiento no monótono. J. Artif. Intel. 13, 27–39
(1980)
197. McCorduck, P.: Máquinas que piensan. AK Peters Ltd., Natick, MA (2004)
Machine Translated by Google
308 Bibliografía
198. McCulloch, W., Pitts, W.: Un cálculo lógico de las ideas inmanentes en la actividad nerviosa. Toro.
Matemáticas. Biografía. 7, 115133 (1943)
199. McDermott, D., Doyle, J.: Lógica no monótona I. Artif. Intel. 13, 41–72 (1980)
200. Michaelson, G.: Introducción a la programación funcional a través del cálculo Lambda.
AddisonWesley, Lectura, MA (1989)
201. Michalewicz, Z.: Algoritmos genéticos + Estructuras de datos = Programas de evolución. Saltador
(1993)
202. Mill, JS: Un sistema de lógica. Prensa de la Universidad del Pacífico, Honolulu (2002)
203. Minsky, M.: Un marco para representar el conocimiento. En: Winston, PH (ed.) Psicología de
Visión por computador. Prensa del MIT, Cambridge, MA (1975)
204. Minsky, M., Papert, S.: Perceptrones: una introducción a la geometría computacional. Prensa del MIT, Cambridge, MA
(1969)
205. Mitchell, TM, Keller, RM, KedarCabelli, ST: Generalización basada en explicaciones: una visión unificadora. Mach.
Aprendizaje 1, 47–80 (1986)
206. Moore, RC: Consideraciones semánticas sobre lógica no monotónica. Artefacto Intel. 25, 75–94 (1985)
207. Muggleton, SH: Programación lógica inductiva. Nuevo Gen. computar 8, 295–318 (1991)
208. Newell, A., Simon, HA: Resolución de problemas humanos. Prentice Hall, Englewood Cliffs, Nueva Jersey
(1972)
209. Newell, A., Simon, HA: La informática como investigación empírica: símbolos y búsqueda. Com
mun. ACM 19, 113–126 (1976)
210. Newell, A.: Teorías unificadas de la cognición. Prensa de la Universidad de Harvard, Cambridge, MA (1990)
211. Nilsson, N.: Inteligencia artificial: una nueva síntesis. Morgan Kaufmann, San Francisco, California
(1998)
212. Nilsson, U., Małuszy ́nski, J.: Lógica. Programación y Prólogo. Wiley, Nueva York (1990)
213. Ockham, W.: Summa logicae. Prensa de la Universidad de Notre Dame, Notre Dame (1980)
214. Ogiela, MR, Tadeusiewicz, R.: Modern Computational Intelligence Methods for the Inter
pretación de Imágenes Médicas. saltador (2008)
215. Pavlidis, T.: Reconocimiento de patrones estructurales. Springer, Nueva York (1977)
216. Pawlak, Z.: Conjuntos ásperos. En t. J. Cómputo. información ciencia 11, 341–356 (1982)
217. Pawlak, Z .: Conjuntos aproximados: aspectos teóricos del razonamiento sobre los datos. Editores académicos de Kluwer,
Boston (1991)
218. Pawlak, Z., Skowron, A.: Rudimentos de conjuntos aproximados. información ciencia 177, 3–27 (2007)
219. Pawlak, Z., Skowron, A.: Conjuntos en bruto: algunas extensiones. información ciencia 177, 28–40 (2007)
220. Pawlak, Z., Polkowski, L., Skowron, A.: Teoría de conjuntos aproximados. Enciclopedia de Ciencias de la Computación
encia e Ingeniería. Wiley, Nueva York (2008)
221. Pearl, J.: Heurística: Estrategias de búsqueda inteligente para la resolución de problemas informáticos. Addison
Wesley, Lectura, MA (1984)
222. Pearl, J .: Redes bayesianas: un modelo de memoria autoactivada para el razonamiento evidencial. En: Actas de la 7ª
Conferencia sobre Sociedad de Ciencias Cognitivas, Universidad de California, Irvine, CA, agosto, págs. 329–334
(1985)
223. Pearl, J.: Razonamiento probabilístico en sistemas inteligentes: redes de inferencia plausible.
Morgan Kaufmann, San Francisco, CA (1988)
224. Penrose, R.: La nueva mente del emperador. Prensa de la Universidad de Oxford, Oxford (1989)
225. Pereira, FCN, Warren, DHD: Gramáticas de cláusulas definidas para el análisis del lenguaje: un estudio del formalismo y
una comparación con redes de transición aumentadas. Artefacto Intel. 13, 231–278 (1980)
226. Piaget, J.: La Psychologie de l'intelligence. Armand Colin, París (1947). (Traducción en inglés:
La psicología de la inteligencia. Routledge, Londres (2001))
227. Place, UT: ¿Es la conciencia un proceso cerebral? Hermano J. Psychol. 47, 4450 (1956)
228. Platón: República, Waterfield, R. (ed.). Prensa de la Universidad de Oxford, Nueva York (2008)
229. Polkowski, L.: Conjuntos aproximados: fundamentos matemáticos. saltador (2002)
230. Post, EL: Problemas absolutamente insolubles y proposiciones relativamente indecidibles: relato de una anticipación
(1941). En: Davis, M. (ed.) The Undecidable, págs. 375–441. Raven Press, Nueva York (1965)
Machine Translated by Google
Bibliografía 309
231. Puppe, F.: Introducción Sistemática a los Sistemas Expertos. saltador (1993)
232. Putnam, H.: Mentes y máquinas. En: Hook, S. (ed.) Dimensiones de la mente, págs. 148–180. Prensa de la
Universidad de Nueva York, Nueva York (1960)
233. Quinlan, JR: Descubrimiento de reglas por inducción a partir de grandes colecciones de ejemplos. En: Michie, D.
(ed.) Expert Systems in MicroElectronic Age, págs. 168–201. Prensa de la Universidad de Edimburgo,
Edimburgo (1979)
234. Rabin, MO, Scott, D.: Autómatas finitos y sus problemas de decisión. IBM J.Res. desarrollo 3,
114125 (1959)
235. Raudys, SJ, Pikelis, V.: Sobre la dimensionalidad, el tamaño de la muestra, el error de clasificación y la
complejidad de los algoritmos de clasificación en el reconocimiento de patrones. Trans. IEEE. Pat. Anal. Mach. Intel.
PAMI2 243–251 (1980)
236. Rechenberg, I.: Evolutionsstrategie: Optimierung technischer Systeme nach Prinzipien der
Evolución biológica. Frommann Holzboog, Stuttgart (1973)
237. Reddy, BD: Análisis funcional introductorio. Spinger (1998)
238. Reynolds, C.: Bandadas, rebaños y escuelas: un modelo de comportamiento distribuido. SIGGRAMA ACM
computar Grafico. 21, 25–34 (1987)
239. Reiter, R.: Una lógica para el razonamiento por defecto. Artefacto Intel. 13, 81–132 (1980)
240. Reiter, R.: Sobre bases de datos del mundo cerrado. En: Gaillaire, H., Minker, J. (eds.) Lógica y datos
Bases, págs. 55–76. Plenum Press, Nueva York (1978)
241. Rich, E., Knight, K., Nair, SB: Artif. Intel. Tata McGrawHill, Nueva DelhiNueva York (1991)
242. Riesbeck, C., Schank, R.: Razonamiento basado en casos internos. Erlbaum, Northvale, Nueva Jersey (1989)
243. Robinson, JA: Una lógica orientada a la máquina basada en el principio de resolución. J. ACM 12, 23–41
(1965)
244. Robinson, A., Voronkov, A.: Manual de razonamiento automatizado. Elsevier Science, Ámsterdam
presa (2006)
245. Rosch, E.: Principios de categorización. En: Rosch, E., Lloyd, B. (eds.) Cognición y categoría
rización, págs. 27–48. Lawrence Erlbaum, Hillsdale, Nueva Jersey (1978)
246. Rosenblatt, F.: El perceptrón: un modelo probabilístico para el almacenamiento y la organización de la información
en el cerebro. psicol. Rev. 65, 386–408 (1958)
247. Rosenblatt, F.: Principios de neurodinámica. Libros espartanos, Nueva York (1962)
248. Rosenkrantz, DJ: Gramáticas programadas y clases de lenguajes formales. J. ACM 16, 107–
131 (1969)
249. Ross, TJ: Lógica difusa con aplicaciones de ingeniería. Wiley, Chichester (2004)
250. Rozenberg, G., Salomaa, A. (eds.): Manual de lenguajes formales—I. saltador (1997)
251. Rudin, W.: Análisis real y complejo. McGrawHill, Nueva York (1987)
252. Rumelhart, DE, Hinton, GE, Williams, RJ: Representaciones de aprendizaje por errores de retropropagación.
Naturaleza 323, 533–536 (1986)
253. Rumelhart, DE, McClelland, JL (eds.): Procesamiento distribuido en paralelo: exploraciones en la microestructura
de la cognición, vol. 1: Fundaciones, vol. 2: Modelos Psicológicos y Biológicos. La prensa del MIT, Cambridge,
MA (1986)
254. Rumelhart, DE: La arquitectura de la mente: un enfoque conexionista. En: Posner, M. (ed.)
Fundamentos de la Ciencia Cognitiva. La prensa del MIT, Cambridge, MA (1989)
255. Russell, B.: Historia de la Filosofía Occidental. Routledge, Londres (1995)
256. Russell, SJ, Norvig, P.: Artif. Intel. Un enfoque moderno. Prentice Hall, acantilados de Englewood,
Nueva Jersey (2009)
257. Rutkowski, L.: Inteligencia computacional. Springer, Métodos y Técnicas (2008)
258. Ryle, G.: El concepto de la mente. Prensa de la Universidad de Chicago, Chicago (1949)
259. Sakai, M., Yoneda, M., Hase, H.: Una nueva función discriminante cuadrática robusta. En: Actas de la 14ª
Conferencia Internacional sobre Reconocimiento de Patrones, Brisbane, Australia, vol. 1, págs. 99–102 (1998)
260. Schaefer, R.: Fundación de la Optimización Global Genética. saltador (2007)
261. Schalkoff, RJ: Inteligencia artificial: un enfoque de ingeniería. McGrawHill, Nueva York
(1990)
Machine Translated by Google
310 Bibliografía
262. Schalkoff, RJ: Sistemas Inteligentes: Principios, Paradigmas y Pragmática. Jones y Barlet,
Sudbury, MA (2009)
263. Schank, RC: Dependencia conceptual: teoría de la comprensión del lenguaje natural. Cog. Psic. 3, 532–631 (1972)
264. Schank, RC, Abelson, RP: Guiones, Planes, Metas y Comprensión. Lawrence Erlbaum,
Hillsdale, Nueva Jersey (1977)
265. Schmidhuber, J.: Principios evolutivos en el aprendizaje autorreferencial. Tesis de diploma. Tech nische Universität
München (1987)
266. SchmidtSchauß, M., Smolka, G.: Descripciones de conceptos atributivos con complementos. Artefacto
Intel. 48, 1–26 (1991)
267. Schwefel, HP: Numerische Optimierung von ComputerModellen. Birkhäuser, Basilea (1977)
268. Schwefel, HP: Optimización numérica de modelos informáticos. Wiley, Nueva York (1995)
269. Searle, JR: Mentes, cerebros y programas. Comportamiento Ciencia del cerebro. 3, 417–457 (1980)
270. Searle, JR: El redescubrimiento de la mente. La prensa del MIT, Cambridge, MA (1994)
271. Shafer, G.: Una teoría matemática de la evidencia. Prensa de la Universidad de Princeton, Princeton, Nueva Jersey
(1976)
272. Shannon, CE: Una teoría matemática de la comunicación. Sistema de campana tecnología J. 27, 379–423
(1948)
273. Shapiro, SC: Enciclopedia de Inteligencia Artificial. Wiley, Nueva York (1992)
274. Shoham, Y., LeytonBrown, K.: Sistemas multiagente: algorítmico, teórico de juegos y registro
Fundamentos icos. Prensa de la Universidad de Cambridge, Cambridge (2008)
275. Simon, HA: ¿Por qué deberían aprender las máquinas? En: Michalski, RS, Carbonell, JG, Mitchell, TM (eds.) Machine
Learning: Artificial Intelligence Approach, págs. 25–37. saltador (1984)
276. Skolem, T.: Logischkombinatorische Untersuchungen über die Erfüllbarkeit oder Beweis barkeit mathematischer
Sätze nebst einem Theorem über dichte Mengen. Videnskapssel skapets Skrifter. I. Mat.Naturaleza. Clase 4 1–
36 (1920)
277. Skowron, A.: Razonamiento booleano para la generación de reglas de decisión. lect. Notas Artif. Intel. 689,
295–305 (1993)
278. Słowi ́nski, R. (ed.): Intelligent Decision SupportHandbook of Applications and Advances of the Rough Sets Theory.
Editores académicos de Kluwer, Boston/Londres/Dordrecht (1992)
279. Smart, JJC: Sensaciones y procesos cerebrales. Filosofía Rev. 68, 141–156 (1959)
280. Sowa, JF (ed.): Principios de redes semánticas: exploraciones en la representación del conocimiento. Morgan
Kaufmann, San Mateo, CA (1991)
281. Sowa, JF: Representación del conocimiento: fundamentos lógicos, filosóficos y computacionales. Brooks/Cole,
Nueva York (2000)
282. Spearman, C.: La naturaleza de la "inteligencia" y los principios de la cognición. Macmillan,
Londres (1923)
283. Specht, DF: Redes neuronales probabilísticas. Red neuronal 3, 109–118 (1990)
284. Spinoza, B.: Ética. Prensa de la Universidad de Oxford, Oxford (2000)
285. Santo Tomás de Aquino: Textos filosóficos, Gilby, T. (ed.). Prensa de la Universidad de Oxford, Nueva York
(1951)
286. Steele Jr., GL: Common Lisp. El idioma. Prensa digital, Bedford, MA (1990)
287. Steinhaus, H.: Sur la division des corps matériels en parties. Toro. Academia Polon. ciencia 4, 801–804
(1956)
288. Sterling, L., Shapiro, E.: El arte del prólogo. La prensa del MIT, Cambridge, MA (1994)
289. Sternberg, RJ: Esbozo de una subteoría componencial de la inteligencia humana. Comportamiento Ciencia del
cerebro. 3, 573–614 (1980)
290. Sternberg, RJ, Detterman, DK (eds.): ¿Qué es la inteligencia?. Puntos de vista contemporáneos sobre su naturaleza
y definición. Corporación editorial Ablex, Norwood (1986)
291. Sternberg, RJ (ed.): Manual internacional de inteligencia. Prensa de la Universidad de Cambridge, Cambridge (2004)
292. Stich, SP, Warfield, TA (eds.): The Blackwell Guide to Philosophy of Mind. pozo negro,
Oxford (2003)
293. Stirzaker, D.: Probabilidad elemental. Prensa de la Universidad de Cambridge, Cambridge (2003)
Machine Translated by Google
Bibliografía 311
294. Sutherland, WA: Introducción a los espacios métricos y topológicos. Prensa de la Universidad de Oxford,
Oxford (2004)
295. Sycara, KP: Sistemas multiagente. IA Mag. 19, 79–92 (1998)
296. Tadeusiewicz, R., Ogiela, MR: Tecnología de comprensión de imágenes médicas. saltador (2004)
297. Tadeusiewicz, R., Ogiela,MR: El nuevo concepto en visión artificial: comprensión automática
de las imagenes lect. Notas Artif. Intel. 3070, 133–144 (2004)
298. Tadeusiewicz, R., Lewicki, A.: El algoritmo de optimización de colonias de hormigas para la selección de personal
de problemas del modelo de optimización multiobjetivo sin compensación. lect. Cómputo de notas. ciencia 6382,
44–53 (2010)
299. Tadeusiewicz, R.: Introducción a los sistemas inteligentes. En: Wilamowski, BM, Irvin, JD (eds.)
Manual de electrónica industrial Sistemas inteligentes, págs. 1–12. CRC Press, Boca Ratón (2011)
300. Thorndike, EL: Inteligencia y sus usos. Revista de Harper. 140, 227–235 (1920)
301. Thorndike, EL: Los fundamentos del aprendizaje. Teachers College Press, Nueva York (1932)
302. Thurstone, LL: Una ley de juicio comparativo. psicol. Rev. 34, 273–286 (1927)
303. Thurstone, LL: Habilidades mentales primarias. Prensa de la Universidad de Chicago, Chicago, IL (1938)
304. Touretzky, DS: Common LISP. Una suave introducción a la computación simbólica. ben
Jamin/Cummings, Redwood City, CA (1990)
305. Tsang, E.: Fundamentos de la satisfacción de restricciones. Prensa académica, Londres (1993)
306. Turing, AM: Sobre números computables, con una aplicación al Entscheidungsproblem.
proc. largo Matemáticas. Soc. Ser. 2(42), 230–265 (1937)
307. Turing, AM: Maquinaria informática e inteligencia. Mente 59 (236), 433–460 (1950)
308. Vapnik, V.: Estimación de dependencias basada en datos empíricos (en ruso). Nauka, Moscú
(1979). (traducción al inglés: Springer (1982))
309. Vapnik, V.: Teoría del aprendizaje estadístico. Wiley, Nueva York (1998)
310. Vose, MD: El algoritmo genético simple: fundamento y teoría. MIT Press, Cambridge,
MA (1999)
311. W¸eglarz, J. (ed.): Programación de proyectos: modelos recientes. Algoritmos y Aplicaciones. Kluwer,
boston (1999)
312. Weiss, G. (ed.): Sistemas multiagente. Un enfoque moderno para la inteligencia artificial distribuida. Prensa del
MIT, Cambridge (1999)
313. Widrow, B., Hoff, ME: Circuitos de conmutación adaptativos: registro de la convención IRE WESCON. IRA,
Nueva York 1960, 96–104 (1960)
314. Winograd, T.: Máquinas pensantes: ¿pueden existir? ¿Estamos? En: Winograd, T., Flores, CF (eds.)
Comprender las computadoras y la cognición: una nueva base para el diseño. AddisonWesley, Lectura, MA
(1987)
315. Winston, PH: Inteligencia artificial. AddisonWesley, Lectura, MA (1993)
316. Wittgenstein, L.: Investigaciones filosóficas. WileyBlackwell, Oxford (2009)
317. Wolf, RS: Un recorrido por la lógica matemática. La Asociación Matemática de América, Washington, DC (2005)
318. Woods, WA: gramáticas de redes de transición para el análisis del lenguaje natural. común ACM 13, 591–606
(1970)
319. Wooldridge, M.: Introducción a los sistemas multiagente. Wiley, Nueva York (2002)
320. Yovits, MC (ed.): Advances in Computers 37. Academic Press, San Diego, CA (1993)
321. Zadeh, LA: Conjuntos borrosos. información Control 8, 338–353 (1965)
322. Zadeh, LA: El concepto de variable lingüística y sus aplicaciones al razonamiento aproximado: I, II, III. información
ciencia 8 199–249 (1975), 8 301–357 (1975), 9 43–80, (1975)
323. Zadeh, LA (ed.): Conjuntos borrosos. Lógica difusa. Sistemas difusos. World Scientific, Singapur
(1996)
˙
324. Zurada, J.: Introducción a los Sistemas Neuronales Artificiales. West Publishing Company, San Pablo, MN
(1994)
Machine Translated by Google
Índice
A intencionalidad comosi, 239
Algoritmo A , 40 Estructura de asignación, 70, 259 Asimilación,
Concepto ALC, 268 204 Asociación (en
Lógica ALC , 267 psicología), 23 Enfoque asociacionista (en
Conversión α, 87, 265 psicología), 23 Red asociativa, 10 Sistema de
Abducción, 283 mantenimiento de la verdad
Abelson, RP, 8, 21, 98, 225 ABox, basado en suposiciones (ATMS), 188 Concepto atómico ,
269 Modelo 92, 267 Fórmula
abstracto de problema, 31, 226 Sistema de atómica, 258 Gramática atribuida,
reescritura abstracto ( ARS), 80, 103, 262 Abstracción 22, 117 Red de transición
(por aumentada (ATN), 229 Austin, JL,
Aristóteles), 214 Alojamiento, 204 ACT , 209 Red neuronal de memoria autoasociativa, 171
13, 137 ACTR, 13, 137
Acción (de regla),
126 Función de
activación (transferencia), Lógica autoepistémica, 186;
160 Intelecto activo, 214 Adaline , 165 Teoría Configuración instantánea de autómatas, 274
de la resonancia adaptativa Axioma
(ART), 11, 173 en sistema basado en ALC, 269 en
Función heurística admisible, 40, 248 Búsqueda adversaria, sistema basado en FOL, 71 en
41 Agente, 66, 204 Aho, AV, 114 Método de poda gramática generativa, 105, 272
alfabeta, 43 Alfabeto, 271 Axón, 158
Filosofía analítica,
218 Proposición
analítica a a priori, 217, 241 Conductismo B
analítico, 236 βreducción, 85, 265
Monismo anómalo, 237 Aprendizaje de retropropagación, 11
Optimización de colonias de hormigas (ACO), 66 Aprendizaje de retropropagación, 169, 290
Antecedente (en sistema basado en Búsqueda retrospectiva, 44
reglas), 280 Teoría de la Encadenamiento hacia atrás (BC), 130
evaluación de las emociones, 209 Aristóteles, Bola (en espacio métrico), 285
214 Arnold, MB, 209 Sistema inmunológico artificial red neuronal BAM, 172
(AIS ), 27, 66 Inteligencia artificial, 235 Asignación de creencias básicas, 296.
clasificador bayesiano, 150
red bayesiana, 12, 26, 180, 227
teorema de Bayes, 295
Inferencia bayesiana, 12, 175
© Springer International Publishing Suiza 2016 M. Flasi ́nski, 313
Introducción a la Inteligencia Artificial, DOI 10.1007/9783319400228
Machine Translated by Google
314 Índice
Teoría de la probabilidad bayesiana, Cluster, 143
294 Beam Search, Análisis de cluster, 12, 25, 153, 231
40 Behaviorismo (en psicología), 231 Arquitectura cognitiva, 4, 13, 203
Función de creencias, 184, Lingüística cognitiva, 9
296 Beni, G., Proceso cognitivo, 221
66 BestFirst Search, 40 Psicología cognitiva, 221, 231 Ciencia
Codificación binaria, cognitiva, 236 Simulación
54 Modelos basados en cognitiva, 4, 16, 31, 137 Cognitron , 10
biología, 27 Función de escalón Cohen, MA, 172
bipolar, 162 Blackboard Collins, AM, 8, 20,
arquitectura, 208 92, 225 Colmerauer, A., 5, 79
Búsqueda ciega, 35 Lógica combinatoria, 83
Boche ́nski, JM, Acto de comunicación, 210
279 Aprendizaje competitivo, 173
Boden, M., 234 Boid, 66 Completitud del sistema, 218
Máquina de Inteligencia computacional (CI), 23
Boltzmann, 173 Booth, Computacionalismo, 236 Concepto de
TL, 117 σálgebra de Aristóteles, 214 en lógica
Borel, 251 Variable ligada, 69 Región ALC , 267
límite del conjunto, Gráfico de
199, 300 Brachman, RJ, 8 dependencia
Búsqueda primero en amplitud, 36 Brentano, F., 217 conceptual, 7, 99, 225 Teoría de dependencia
conceptual, 7, 20 Primitivo conceptual, 99
Condición (de regla), 126
C Independencia condicional,
Cajal, SR, 158 295 Probabilidad condicional, 176,
Carpenter, G., 11, 173 294 Resolución de conflictos, 127, 136,
Razonamiento basado en casos (CBR), 281 Conjunto de conflictos, 127, 136
137 Concatenación, Reglas en conflicto, 281
271 Centroide, Forma normal conjuntiva
153 Función característica, 190 (CNF), 261 Conexionismo, 9, 157
Chatbot, 8, 230 Conexionismo (en
Métrica Chebyshev, 286 psicología), 24 Modelo conexionista, 24
Sala china, 6, 236, 239 Chinook, Red conexionista, 24
43 Gramática Consecuente (en regla based
generativa de Chomsky, 7, 21, 103, 104, 229, 271 system), 280 Consistencia del sistema, 218
Chomsky, N., Función heurística consistente,
7, 21, 271 Cromosoma, 54 41, 248 Programación lógica de restricciones
Número de iglesia, (CLP), 5 Propagación de restricciones, 47
87 Iglesia, A., 5, 18, 83 Problema de satisfacción de
Propiedad de Church restricciones (CSP), 44, 229, 249 Contexto (en
Rosser, 262 Tesis de Church TRS), 263
Turing, 88 Churchland, PM, Contexto Gramática libre,
240 Churchland, PS, 240 108, 272 Lenguaje libre de contexto,
Circunscripción, 186 111 Gramática sensible al
Fórmula de choque, 73, contexto, 113, 272 Distribución de
260 Marco de clase, 95, 269 probabilidad continua, 252 Contractum (en
Clasificador, 25 Forma TRS), 264 Producción
normal de convergente, 221 Cover, TM,
cláusula, 262 Cláusula, 73, 145 Cramer, ML, 63
260 Forma de Crisp notion, 190
fórmula de cláusula, 80 Supuesto cruzado, 27
de Mundo Cerrado (CWA), 186
Machine Translated by Google
Índice 315
Operador de cruce en E
estrategia de evolución, 59 Eberhart, R., 66
en algoritmo genético, 56 en Gráfico EDG, 276
programación genética, 64 Punto Gramática de gráfico EdNLC, 121, 276
de cruce, 56 Curry, HB, Conjunto elemental, 198, 300
83, 89 Isomorfismo de Materialismo eliminativo, 240
CurryHoward, 89 Currying, 85 Cyc, ELIZA, 8, 230
65, 91 Red neuronal Elman, 171 Elman,
JL, 171
Transformación incrustada, 121, 276
Incorporado tesis de la mente,
D 9 Inteligencia emocional, 221, 233
Davidson, DH, 237 De Cláusula vacía, 73
Kleer, J., 188 Toma Concepto vacío, 268
Palabra vacía, 106, 271
de decisiones, 220, 227 Teoría
Entscheidungsproblem, 83
de decisiones, 228 Árbol
de decisiones, 151, 227, 231 Epistemología, 213
ETPL(k) gramática gráfica, 123, 206, 278
Clasificador basado en límites de decisión, 146
Métrica euclidiana, 286
Conocimiento declarativo, 19, 224
Eurisko, 65
Paradigma declarativo, 18
Evolución estrategia, 11, 27, 58 (μ/
Declarativo regla, 126, 282
ρ + λ), 59 (μ/ρ,
Deducción, 214, 242, 283
λ), 59
Razonamiento deductivo, 127, 226
Computación evolutiva, 11, 27, 53, 226
Deep Blue, 41
Programación evolutiva, 11, 27, 61 Valor
Lógica predeterminada,
esperado, 61, 253 Experto
186 Gramática de cláusula definida (DCG),
sistema, 5, 137, 227 Módulo de
229 Operación de defuzzificación, 197,
explicación, 138 Aprendizaje
299 Transformación de error de
basado en la explicación (EBL), 232 Creatividad
eliminación, 287 Demon (en
exploratoria, 234 Extensión (del
sistema de marco ), 96
concepto), 241 Sentidos externos,
Dempster, AP, 183 Teoría de Dempster
215
Shafer, 26, 183,
227 Dendrita, 158
Dennett, D., 240 Búsqueda F
en profundidad primero, 37 Facet, 96
Búsqueda en profundidad Fact (en sistema basado en reglas),
limitada, 38 Derivación, 105, 280 Farmer, D.,
272 Paso derivacional, 66 Extracción de
105, 272 Descartes, R., 215 características, 143
Descripción lógica, 21, 91, 267 Selección de características ,
Derivada direccional, 290 Distribución de 143 Espacio de
probabilidad características, 143, 163 Vector de
discreta, 252 Distancia, 285 Red conexionista características, 142 Red
distribuida, 24 Distribución de variable aleatoria, neuronal de avance, 168 Feigenbaum,
177, 253 Distribución de vector aleatorio, 178, EA, 5 Finite autómata de estado, 108, 274 Lógica
253 Producción divergente, de primer orden (FOL),
221 Función heurística dominante, 41, 249 5, 18, 68, 226, 257 Fisher,
Dorigo, M., 66 RA, 12, 146
Doyle, J., 187 Función de fitness,
Dreyfus, H., 238 27, 54 Fix, E., 145
Duda, RO, 148 Floyd, RW, 113
Lógica dinámica, 229 Fogel, LJ , 11, 61 Forgy, C., 137
Gramática dinámicamente programada, 114 Autómata formal, 108, 271, 274 Derivada formal, 118
Machine Translated by Google
316 Índice
Lenguaje formal, 272 Red neuronal de Hamming, 172
Fórmula, 258 Hamming, RW, 172, 287 Hart,
Encadenamiento directo (FC), PE, 40, 145, 148 Hayes,
127 Marco de discernimiento, PJ, 188 Función
296 Problema de escalonada de Heaviside, 160
marco, 188 Marcos, 8, Regla de Hebb, 166, 231
20, 95, 269 Fraser, Hebb, DO, 166
A., 11, 53 Universo de Herbrand, 280
Variable libre en Algoritmo heurístico, 16
FOL, 69, 259 en lambda cálculo, Función heurística, 17, 38, 248
86, 265 Fu, KS, Búsqueda heurística, 16, 35, 38, 226, 228
117 Fukushima, K., Capa oculta, 168
10 Programación funcional, 18 Análisis de conglomerados jerárquicos,
Funcionalismo, 239 155 Hilbert, D.,
Fuzzificación, 195 Lógica difusa, 83 Escalada de
191, 226, 298 Razonamiento colinas, 40 Red neuronal de
difuso, 192, 196, 297, 299 Relación difusa, Hinton, 172 Hinton, GE, 10, 169,
299 Fuzzy regla, 298 172, 173 Hobbes,
Sistema basado T., 216 Hodges, JL,
en reglas difusas, 192, 227 Conjunto 145 Hodgkin, AL, 159
difuso, 190, 297 Teoría Hoff, T., 165
de conjuntos difusos, 12, 26, 190 Holland, J., 11, 53
Cadena de Markov homogénea, 255
Red neuronal de Hopfield, 10, 170
G
Hopfield, JJ , 10, 170
Gödel, K., 218
Cláusula de Horn, 73,
Teoría de juegos,
260 Horn, A.,
228 Árbol de
73 Howard, WA, 89
juegos,
Hsu, F.h., 41
41 Gen, 54 Inclusión de conceptos
Simulación de la creatividad humana, 221,
generales, 92, 269 Solucionador general de
234 Hume, D.,
problemas (GPS),
216 Husserl, E.,
4, 16, 226 Generación, 54 Poder generativo
217 Huxley , AF, 159
(de la gramática), 106 Algoritmo
genético , 11, 27, 53
Empirismo genético, 214 Programación
I
genética, 11,
27, 63 Genotipo, 54 gráfico IE, 277
Teoría del procesamiento de imágenes, 223
Estado objetivo, 16, 32,
247 Agente basado en juego de imitación, 3
objetivos, 209 Gottfredson, LS, Paradigma imperativo, 17
220 Grado de Teorema de incompletitud (limitación), 218, 238
pertenencia, 190 Gradiente, 290
Inducción gramatical , 22, 118 Eventos independientes, 295
Inferencia gramatical, 22, Gramática indexada, 114
118 Autómata gráfico, 277 Relación de indiscernibilidad, 198, 299.
Gramática gráfica, 22, 120, 276 Sistema de individual, 53
reescritura de gráficos (GRS), Inducción, 214, 283
120, 276 Grossberg, S., 11, Programación lógica inductiva (ILP), 232
172, 173 Término básico (en FOL), 280 Guilford, JP, 221 Motor de inferencia, 127
Herencia, 96
Estado inicial, 16, 32, 247
H Fórmula de entrada, 71
Métrica de Hamming, 172, 287 Capa de entrada, 168
Machine Translated by Google
Índice 317
Vector de entrada, Cálculo lambda, 5, 18, 68, 83, 226, 264 Expresión
159 Transformación de error de inserción, lambda, 85, 264 Juego de
287 Intelecto (por Aristóteles), lenguaje, 218 Aprendizaje,
214 Inteligencia, 220, 230 Conjunto de
218 Inteligencia (por Santo Tomás de Aquino), 215 aprendizaje, 25, 142, 231
Intensión (de concepto), 241 Lederberg, J., 5
Postura intencional, 240 Derivación por la izquierda,
Intencionalidad, 217 273 Leibniz, GW, 216
Sentidos internos, 215 Lenat, D., 91
Interpretación Métrica de Levenshtein, 117, 287
en ALC , 268 Levenshtein, VI, 117, 287 Lewis,
en FOL, 69, 259 PM, 113 Autómata
Álgebra de intervalos, lineal acotado, 113 Clasificador lineal,
229 Búsqueda de profundización iterativa, 38 146 Variable lingüística,
191, 298 Lippmann, RP, 172 Lisp,
5 , 88, 89 Literal, 260
J
Gramática LL(k),
Jain, AK, 157 113, 273 Red
Johnson, SC, 155
conexionista localista, 24
Distribución de probabilidad conjunta (JPD), Locke, J., 216 Variable lógica (booleana),
178 Red neuronal de Jordan, 177 Programación
171 Jordan, MI, 171
lógica, 18 Teórico lógico, 4, 16, 242
Sistema de mantenimiento de la verdad basado en
IA basada en lógica , 5, 17,
la justificación (JTMS), 187
67 Conductismo lógico, 236
Aproximación inferior del
conjunto, 199, 300 Lowerre,
K
BT, 40 Lucas, JR, 238
kmeans clustering, 153 k
Nearest Neighbor method (kNN), 146 Kant, I.,
217, 241 Kennedy,
J., 66 Kim, J., 238
Kinesthetic
METRO
intelligence, 220, 232 Kirkpatrick, S., 49
MacQueen, JB, 153
KLONE, 8 Cierre de
Kleene, 271 Mamdani, E., 193
Kleene, SC, 5, 18, 83 Métrica de Manhattan, 286
Módulo de adquisición de MARGIE, 8
conocimientos, 138 Base de conocimientos, Distribución marginal, 179
71 Representación de Cadena de Markov, 57, 117, 229, 254
conocimientos, 221, 224 Enfoque basado Función de asignación de masa, 296
en conocimientos, 5 Sistema basado Fórmulas de entrada coincidentes,
en conocimientos, 137 Knuth, DE, 75 Regla de implicación material,
113 Kohonen, T., 71 Monismo materialista, 216
10, 172 Kosko, B., 11 Lingüística matemática, 7
Kowalski, R., Enfoque de lingüística matemática en IA, 21
79 Koza, J., 12, 63 McCarthy, J., 4, 17, 186
KRL, 8 Kurzweil, McClelland, JL, 25
R., 240 McCorduck, P., 4
McCulloch, WS, 9
McCullochPitts neuron, 10, 159
Análisis de medios y fines (MEA), 17, 32
L Conjunto medible, 293
Lakoff, G., 9 Espacio medible, 293
Lambda abstracción, 264 Medida, 294
Machine Translated by Google
318 Índice
Espacio de medida, 294 Nilsson, NJ, 40
Teoría de medida, 293 Principios noegenéticos, 219
Función de pertenencia, 190, 297 Proceso Clasificador no lineal, 148 Lógica
mental, 221 Paso de no monótona, 26, 185, 226 Fisicalismo no
mensajes, 209 Programación reductivo, 238 Símbolo no terminal, 104,
metagenética, 65 Gramática de la 272 Norma, 289 Distribución normal, 254
metamorfosis, 229 Empirismo Forma normal,
metodológico, 216 Racionalismo metodológico 82, 263 Espacio vectorial normado,
(apriorismo), 216 Métrica, 285 Espacio métrico, 285 Mill, JS, 290
217 Minconflicts
search, 49 Mind (por
Santo Tomás de
O
Aquino), 214 Problema mente
cuerpo, 215, 236 Método Minimax, 41 Clasificador Objeto (en lógica ALC ), 93, 267 Marco de
de distancia mínima, 144 Métrica de objeto, 95, 269 Navaja de
Ockham, 215 Ockham, W.,
Minkowski, 286 Minsky, M.,
215 Población de
8, 20 , 95 Model, 260 ModelBased Reasoning
(MBR), 138 modus ponendo descendientes, 56 Red neuronal
de una capa, 167 Ontología (representación
ponens, 71, 127, 242, 283
Monotonic logic, del conocimiento), 91, 230
185 Moore, RC, 186 Moravec, H., 240 Morgenstern,
Conjunto abierto en espacio métrico, 285
O., 41 Multiagent system (MAS), 13, 207 Red neuronal
Conjunto abierto en el espacio topológico, 286
multicapa, 167 Herencia
OPS5, 137
múltiple, 96 Realizabilidad
Capa de salida, 168
múltiple, 239 Cruce de
puntos múltiples, 56
Mutación, 27 Operador de mutación en estrategia
P
de evolución, 60 en algoritmo genético, 57
Packard, N., 66 PAM,
en programación genética, 64
8 Papert,
S., 10 Población
de padres, 54 Parménides de
Elea, 213 Derivada parcial, 290
Optimización de enjambre de
partículas (PSO), 66 Reconocimiento de patrones, 12,
25, 142, 224, 227 Pawlak , Z., 12, 197 Peano, G., 81
Pearl, J., 40, 180 Penrose,
R., 238 Perception,
220, 223 Perceptron,
N 10, 162 Perelson, A.,
Clasificador Naive Bayes, 151 66 Perikaryon, 158
Nativismo, 214 Fenomenología, 217
Procesamiento del lenguaje natural (NLP), 8, 20, 21, 98, 115, Fenotipo , 54
220, 229 Método del vecino Gramática de
más cercano (NN), 145 Forma normal de negación, estructura de frases, 113,
76, 261 Literal negativo, 73, 260 Neumann 271 Sistema de
von, J., 41 Red neuronal, 10, 24, símbolos físicos, 6, 21 Hipótesis del sistema de
159, 224, 227, 231 Neurona, símbolos físicos, 6, 80 Fisicalismo, 237
158 Neurona (artificial), 9, 159 Neurotransmisor, 158 Piaget, J., 204, 220 Función de activación lineal por
Monismo neutral, partes, 166 Pitts, W.,
216 Newell, A., 4, 16, 19, 226 10 Place, UT, 237
Machine Translated by Google
Índice 319
Planificación, 220, 228 Raphael, B., 40
Platón, 213 Regla reactiva, 127, 282
Función de plausibilidad, 184, 296 Razonamiento,
Punto (en espacio métrico), 285 220 por computación simbólica, 80
Población, 11, 27, 53 en FOL, 68
Literal positivo, 73, 260 Sistema de razonamiento,
Post, EL, 238 71 Rechenberg, I., 11, 58
Función potencial postsináptica, 159, 167 Intelecto Red neuronal recurrente, 170 Reddy,
potencial, 214 Mente R., 40 Redex,
práctica, 215 Predicado, 264 reductio
68, 257 Prenex forma ad absurdum, 72 Fisicalismo
normal, 77, 261 Preprocesamiento, reductivo, 237 Agente reflejo, 209
142 Habilidades Agente reflejo con
mentales primarias, 220 Primitivo, estados internos, 209 Deducción regresiva,
115 Principia 242, 284 Gramática regular, 108, 272
Mathematica, 4 Red neuronal Lenguaje regular, 109 Reiter, R.,
probabilística, 173 probabilidad a 186 Aprendizaje basado
posteriori, 176 probabilidad a en la relevancia
priori, 176 Función de (RBL), 232 Método de resolución, 72, 260
densidad de probabilidad , 252 Regla de resolución, 260 Árbol
Distribución de probabilidad, 252 de resolución, 74
Medida de probabilidad, 294 Resolvente, 73, 260
Probabilidad de evento, 294 Fórmula resultante, 71
Espacio de probabilidad, 293, Algoritmo Rete, 137
294 Teoría de probabilidad, Secuencia de reescritura,
293 Reducción de
262 Paso de reescritura, 262
problemas, 17 Resolución de
Reynolds, C., 66
problemas, 220, 226 Conocimiento
Robinson, JA, 72
procedimental, 19, 224 Producción (en gramática Robótica, 232 Rol (en
generativa),
lógica ALC ), 94,
103, 104, 272 Sistema de
267 Rosenblatt, F., 10, 162
producción, 137 Gramática Rosenkrantz, DJ, 114
programada, 114 Deducción progresiva,
Rosser, JB, 83 Juego
242, 284
aproximado, 200,
Prólogo, 5, 79 Proposición (de
300 Teoría del juego
Aristóteles), 214
aproximado, 12, 26, 197 Selección
Pseudometría, 288 Paralelismo
de rueda de ruleta, 55 Roussel,
psicofísico , 216 Autómata pushdown,
Ph., 5, 79 Rozenberg,
111, 274 Putnam, H., 239
G., 121 Regla (en
sistema basado en reglas), 19, 126, 225, 280
Q
Base de reglas, 127,
Cuasimétrico, 288
281 Coincidencia de
Quillian, R., 8, 92
reglas, 281 Regla de inferencia,
Quinlan, JR, 151
71, 282 Sistema basado en reglas, 6, 19, 125, 226,
227, 281 Rumelhart, DE, 10, 25,
R 169 Ryle, G., 237
Rabin, MO, 109 Red
neuronal de función de base radial
(RBF), 167, 173 S
Variable aleatoria, 177, 252 estructura, 259
Vector aleatorio, 178, 252 σálgebra, 293 σ
Clasificación selección, 55 álgebra generada por familia de conjuntos, 294
Machine Translated by Google
320 Índice
SAM, 8 Specht, DF, 173
Samuel Programa de juego de damas, 43 Spinoza, B., 216
Samuel, AL, 43 Santo Tomás de Aquino, 214, 232, 241
Satisfacción (relación en FOL), 70, 259 Pila de hipótesis, 131
Satisfiability, 260 Desviación estándar, 61, 253
Schönfinkel, M., 83 Símbolo de inicio, 105, 272
Schönfinkelisation, 85 Espacio de estado, 16, 32, 54,
Schaeffer, J., 43 247 Estado función de transición, 110,
Schank, R., 7, 225 274 Reconocimiento de patrones
Schmidhuber, J., 65 estadísticos, 148
SchmidtSchauß, M., 267 Stearns, RE, 113 Método de
Schmolze, JG, 8 descenso más
Schwefel, H.P., 11, 58 pronunciado, 291
Scott, DS, 109 Steinhaus, H., 153 Sternberg, RJ, 222
Script, 8, 21, 98, 225 Autómata estocástico, 117, 229
Árbol de búsqueda, 32, Gramática estocástica, 117,
248 Searle, JR, 6, 236, 239 229 Proceso
Sejnowski, TJ, 173 estocástico, 254 Cadena
Selección ( palabra), 271 Gramática de
(μ + λ), 59 cadenas, 271 Regla de reescritura de
(μ, λ), 59 cadenas, 103 Sistema de
en algoritmo genético, 54 reescritura de cadenas (SRS), 103
Mapa autoorganizado (SOM), 10, 172 Función Transformación de cadenas, 287 Inteligencia artificial
semántica, 191 , 298 Red fuerte, 6, 236
semántica, 8, 20, 92, 225, 230 Semimétrica, Modelo estructural de
288 Shafer, G., 183 representación del conocimiento, 8, 19,
Shannon, CE, 109 91 Patrón
Shaw, JC, 4 SHRDLU, estructural, 103
8 Función de Estructura de Teoría del
activación intelecto, 221
sigmoidal, 167 Neurona sigmoidal, 167 Sustitución en FOL, 75, 261 en cálculo
Teoría del procesamiento lambda, 265 en TRS,
de señales, 223 Firma en ALC, 268 263 Transformación de error
en FOL, de sustitución, 287
257, 279 Superveniencia, 237 Aprendizaje supervisado,
Simon, HA, 4, 16, 161 Vector de soporte, 148
19, 226 Recocido simulado, 49 Máquina de
Fuzzificación Singleton, 195, vectores de soporte (SVM), 148 Inteligencia
298 Cálculo de situación, 229 Constante de enjambre,
de Skolem, 78 Función de 27, 66 Silogismo, 214
Skolem, 78 Skolem, TA, Inteligencia artificial simbólica, 15 Sinapsis, 158
77 Skolemización , 77 Peso sináptico, 159
Slot, 96 Smart, JJC, Reconocimiento de patrones sintácticos, 103, 224
237 Smolka, G., 267 Análisis de sintaxis, 21 Proposición sintética a
Soar, 13, posteriori, 217, 242 Proposición sintética a priori, 217, 242 Razonamiento
137 Social intelligence,
221, 233 Solution
space, 49, 53 T
Soma, 158 Espacio de eventos Búsqueda tabú, 51
elementales, 294 Tautología, 70, 260
Spearman, TBox, 269
CE, 219 Lógica temporal, 229;
Término, 68, 258
Machine Translated by Google
Índice 321
Interpretación de términos, 70, 259 Regla de instanciación universal, 71
Regla de reescritura de términos, 81, Universo, 69, 259
264 Secuencia de reescritura de Universo del discurso, 190, 197, 296, 297, 299
términos, 264 Paso de reescritura
de términos, 264 Sistema de reescritura de términos Aprendizaje no supervisado, 162, 231
(TRS), 80, 264 Símbolo terminal, Aproximación superior del conjunto, 199, 300
104, 272 Cuerpo de Teoría de la utilidad, 228
texto, 229 Mente teórica, 215 agente de servicios públicos, 209
Thorndike, EL , 24, 221
Thurstone, LL, 220
Fisicalismo de fichas, 237 V
Teoría de identidad de fichas, 237
Noción vaga, 190
Espacio topológico, 286
Validez, 260
Topología, 286
Vapnik, V., 148
Probabilidad total, 294 Varianza, 253
Selección de torneos, 62 Conjunto
Espacio vectorial, 289
de entrenamiento, 142 Círculo de Viena, 218
Filosofía trascendental, 217 Transductor,
22, 115 Creatividad
transformacional, 234 Tres Operationes
W
rationis, 214, 220, 232, 241 Teoría triárquica de la
Wang, J., 66
inteligencia, 222 Función de grado de verdad,
Inteligencia artificial débil, 6, 236 Vector de
192, 298 Sistema de mantenimiento de la
peso, 159 Weizenbaum,
verdad (TMS), 187 Máquina de Turing, 84, 113, 239,
J., 8, 230 Fórmula bien formada
275 Test de Turing, 3, 230 Turing , AM, 3
(wff), 258 Widrow, B., 165 Wilensky, R., 8
Teoría de la inteligencia
El ganador se lo lleva
de dos factores, 219
todo (WTA), 173
Fisicalismo tipo, 237 Teoría de la identidad tipo, 237
Winner Takes Most (WTM), 173
Winograd, T., 8 Wittgenstein, L., 218
Memoria de trabajo,
19, 125, 280
tu
Unificación, 75, 261.
Unificador, 76, 261
Búsqueda de costos uniformes, 38 Z
Concepto universal, 268. Zadeh, LA, 12, 190