Está en la página 1de 317

Machine Translated by Google

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  978­3­319­40020­4  DOI   ISBN  978­3­319­40022­8  (libro  electrónico)
10.1007/978­3­319­40022­8

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

2  Inteligencia  Artificial  Simbólica . . . . . . . . . . . . . . . . . . . . . . . . . .  15


2.1   . . . . . . . . . . . . . . . . . . . . . . . . . . .
Simulación  Cognitiva . .  dieciséis
2.2  
Enfoque  basado  en  la  lógica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.3  
Representación  del  conocimiento  basada  en  reglas . . . . . . . . . . . . . . . .  19
2.4  
Representación  estructural  del  conocimiento . . . . . . . . . . . . . . . . . .  19
2.5
Enfoque  de  Lingüística  Matemática . . . . . . . . . . . . . . . . . . . 21

3  Inteligencia  Computacional . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  23


3.1 Modelos  conexionistas   . . . . . . . . . . . . . . . . . . . . . . . . . . . .  23
3.2 Modelos  basados  en  las  matemáticas  . . . . . . . . . . . . . . . . . . . . . . . .  25
3.3 Modelos  basados  en  la  biología. . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

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

5  Computación  evolutiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  53


5.1  
Algoritmos  genéticos . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .  53
5.2  
Estrategias  de  evolución . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  58
5.3   . . . . . . . . . . . . . . . . . . . . . . .  61
Programación  Evolutiva . .
5.4 . . . . . . . . . . . . . . . . . . . . . . . . . . .  63
Programación  genética .
5.5 Otros  modelos  inspirados  en  la  biología . . . . . . . . . . . . . . . . . . . . . .  66

viii
Machine Translated by Google

viii Contenido

6  Razonamiento  basado  en  la   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  67


lógica .  6.1  Descripción  del  mundo  con  lógica  de  primer   . . . . . . . . . . . .  68
orden . .  6.2  Razonamiento  con  el  Método  de   . . . . . . . . . . . . . . . . 72
Resolución  6.3  Métodos  de  Transformación  de  Fórmulas  en  Formas   . . . . .  76
Normales  6.4  Formas  Especiales  de  Fórmulas  FOL  en  Sistemas  de   . . . .  78
Razonamiento .  6.5  Razonamiento  como  cálculo  simbólico . . . . . . . . . . . . . . . . . .  80

7  Modelos  Estructurales  de  Representación  del  Conocimiento . . . . . . . . . . . . .  91


7.1   Redes  Semánticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  92
7.2 Marcos  de   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  95
7.3 . . . . . . . . . . . . . . . . . . . . . . . . . .
secuencias  de  comandos .
. . . . . . . . . . . .  98

8  Análisis  de  patrones  sintácticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  103


8.1 Generación  de  Patrones  Estructurales  . . . . . . . . . . . . . . . . . . . . .  104
8,2   Análisis  de  Patrones  Estructurales   . . . . . . . . . . . . . . . . . . . . . .  108
8,3   Interpretación  de  Patrones  Estructurales   . . . . . . . . . . . . . . . . . . . 114
8,4   Inducción  de  Gramáticas  Generativas . . . . . . . . . . . . . . . . . . .  118
8,5 gramáticas  gráficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  120

9  Sistemas  basados  en  reglas .  9.1   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  125


Modelo  de  Sistemas  Basados  en  Reglas .  9.2   . . . . . . . . . . . . . . . . . . . . .  125
Estrategias  de  razonamiento  en  sistemas  basados  en  reglas .  9.3   . . . . . . . . . . . 127
Resolución  de  conflictos  y  coincidencia  de  reglas .  9.4   . . . . . . . . . . . . . . .  136
Sistemas  expertos  versus  sistemas  basados  en  reglas . .. . . . . . . . . . .  137

10  Reconocimiento  de  patrones  y  análisis  de  conglomerados . . . . . . . . . . . . . . . . . . 141


10.1  Problema  de  reconocimiento  de  patrones . . . . . . . . . . . . . . . . . . . . . . 142
10.2  Clasificador  de  Distancia  Mínima . . . . . . . . . . . . . . . . . . . . . . . 144
10.3  Método  del  vecino  más  cercano   . . . . . . . . . . . . . . . . . . . . . . . . .  145
10.4  Clasificadores  basados  en  límites  de  decisión . . . . . . . . . . . . . . . . . .  146
10.5  Reconocimiento  de  patrones  estadísticos . . . . . . . . . . . . . . . . . . . . . . .  148
10.6  Clasificador  de  árboles  de  decisión . . . . . . . . . . . . . . . . . . . . . . . . . . .  151
10.7  Análisis  de  conglomerados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  153

11  Redes  Neuronales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  157


11.1 Neurona  Artificial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  158
11.2  Estructuras  básicas  de  las  redes  neuronales . . . . . . . . . . . . . . . . . .  167
11.3  Estudio  conciso  de  modelos  de  redes  neuronales . . . . . . . . . . . . . 171

12  Razonamiento  con  conocimiento  imperfecto . . . . . . . . . . . . . . . . . . . . .  175


12.1  Inferencia  Bayesiana  y  Redes  Bayesianas . . . . . . . . . . . . . . .  175
12.2  Teoría  de  Dempster­Shafer . . . . . . . . . . . . . . . . . . . . . . . . . .  183
12.3  Razonamiento  no  monótono . . . . . . . . . . . . . . . . . . . . . . . . .  185

13  Definición  de  nociones  vagas  en  sistemas  basados  en  el  conocimiento . . . . . . . . . .  189


13.1  Modelo  basado  en  la  teoría  de  conjuntos  borrosos . . . . . . . . . . . . . . . . . . .  190
13.2  Modelo  basado  en  la  teoría  de  conjuntos  aproximados . . . . . . . . . . . . . . . . . . .  197
Machine Translated by Google

Contenido ix

14  Arquitecturas  Cognitivas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  203


14.1  Concepto  de  Agente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  204
14.2  Sistemas  multiagente . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  207

Parte  III  Cuestiones  seleccionadas  en  inteligencia  artificial

15  Teorías  de  la  Inteligencia  en  Filosofía  y  Psicología . . . . . . . . .  213


15.1  Mente  y  cognición  en  epistemología . . . . . . . . . . . . . . . . .  213
15.2  Modelos  de  Inteligencia  en  Psicología . . . . . . . . . . . . . . . . .  218

16  Áreas  de  aplicación  de  los  sistemas  de  IA . .. . . . . . . . . . . . . . . . . . . . . . .  223


16.1  Percepción  y  reconocimiento  de  patrones . . . . . . . . . . . . . . . . . . .  223
16.2  Representación  del  conocimiento . . . . . . . . . . . . . . . . . . . . . . . . . 224
16.3  Resolución  de  problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  226
16.4  Razonamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  226
16.5  Toma  de  decisiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
16.6  Planificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  228
16.7  Procesamiento  del  lenguaje  natural  (NLP) . . . . . . . . . . . . . . . . . .  229
16.8  Aprendizaje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  230
16.9  Manipulación  y  Locomoción  16.10   . . . . . . . . . . . . . . . . . . . . . .  232
Inteligencia  Social,  Inteligencia  Emocional  y  Creatividad . . . .  233

17  Perspectivas  de  la  Inteligencia  Artificial . . . . . . . . . . . . . . . . . . . . . . . .  235


17.1  Cuestiones  de  Inteligencia  Artificial . . . . . . . . . . . . . . . . . . . . . .  235
17.2  Barreras  y  desafíos  potenciales  en  la  IA  17.3   . . . . . . . . . . . . . . . .  240
Determinantes  del  desarrollo  de  la  IA . . . .. . . . . . . . . . . . . . . .  243

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

Bibliografía. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  301

í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/978­3­319­40022­8_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  mente­cuerpo.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  Bar­Hillel8  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  co­diseñ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  Bar­Hillel:  eminente  filósofo  (discípulo  de  Rudolf  Carnap),  matemático  e  informático  (el  lema  de  bombeo  
de  Bar­Hillel  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'Aix­Marseille  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  KL­ONE  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  Hans­Paul  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  Hodgkin­Huxley  (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.

49Hans­Paul  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  ACT­R  (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/978­3­319­40022­8_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/978­3­319­40022­8_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ímulo­respuesta ,  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  ACT­R  [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,  ACT­R  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  Dempster­Shafer  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  Dempster­Shafer  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/978­3­319­40022­8_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  Medios­Fines,  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.
Breadth­First  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  Best­First  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  Feng­hsiung  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  mini­max .
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  alfa­beta  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  alfa­beta  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

K7  = B CAROLINA  DEL  SUR B CAROLINA  DEL  SUR B CAROLINA  DEL  SUR B CAROLINA  DEL  SUR B

!  K4 !  K2!  K5 !  K4!  K2!  K5!  K4!  K2!  K5 !  K6!  K4!  K5

(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

!  K1 !  K2 K7  =  Ø !  K1 !  K2

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  AC­3,  AC­4,  PC­2  y  PC­4,  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  (Last­In­First­Out).
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/978­3­319­40022­8_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

0111 4  8  6  7  8  7  6  8  4 X1  X2


0110 5  6  7  8  9  8  7  6  5
0101 6  7  8  9  10  9  8  7  6
0100 7  8  9  10  11  10  9  8  7
máximo  local
0011 6  7  8  9  10  9  8  7  6
0010 5  6  7  8  9  8  7  6  5
4  5  6  7  8  7  6  5  4 máximo  global
0001

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

1000 3  4  5  6  7  6  5  4  3 máximo  local

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  n­dimensional  (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  flip­flops,  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  sistemas­individuos  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

(d) a  +  b (mi) −b  +  


−b− 2a
/ /

+ − +
.
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  Carnegie­Mellon
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  n­dimensional.  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  axiomas­principios,  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/978­3­319­40022­8_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:

((x),  (y))     izquierda_de. (6.3)

Finalmente,  después  de  aplicar  la  asignación  definida  anteriormente  obtenemos:

(coche,  árbol)     left_of. (6.4)

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:

( x     X)   (x)


, (6.6)
(a),  a     X

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:

x[ladra(x)     es_perro(x)]. (6.8)

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:

ladra(Norcia)     es_perro(Norcia). (6.12)

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:

¬α     β,  α     γ  β  


, (6.15)
  γ

donde  la  fórmula  resultante  β   γ  se  llama  el  resolvente  de  las  fórmulas  de  entrada  ¬α β  y  α     


γ;  las  fórmulas  de  entrada  se  denominan  fórmulas  en  conflicto.
Cada  fórmula  que  aparece  en  la  regla  (6.15)  tiene  la  forma  de  una  disyunción,  que  consiste  en  
una  fórmula  atómica  o  una  fórmula  atómica  negada.  El  primer  tipo  de  fórmula  atómica  se  llama  
literal  positivo,  el  segundo  tipo  se  llama  literal  negativo.  Una  fórmula  que  es  una  disyunción  de  
literales  finitos  (positivos  o  negativos)  se  llama  cláusula .  Un  solo  literal  es  un  caso  específico  de  
una  cláusula.
Los  usuarios  de  sistemas  de  razonamiento  de  IA  a  menudo  escriben  fórmulas  en  una  base  de  
conocimiento  en  forma  de  implicación,  debido  a  su  carácter  intuitivo.  También  hemos  definido  una  
fórmula  (6.8)  como  una  implicación:  “Si  x  ladra,  entonces  x  es  un  perro”.  Por  otro  lado,  para  usar  
la  regla  de  resolución,  uno  tiene  que  formular  una  fórmula  como  una  disyunción  (cláusula).  
Podemos  transformar  una  implicación  en  una  disyunción  con  la  ayuda  de  la  regla  de  implicación  
material  (6.7).  Entonces  obtenemos  una  cláusula  que  contiene  como  máximo  un  literal  positivo,10  
es  decir,  una  cláusula  Horn.11
Volviendo  a  la  forma  de  la  regla  de  resolución,  notemos  que  sus  casos  especiales
incluir  una  regla  de  la  forma:
¬α,  α     γ
, (6.16)
γ

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ón­1  y  Condición­2  y…  y  Condición­n,  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:

¬ladra(Norcia)     es_perro(Norcia). (6.19)

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áusula­hipó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:

¬P(a,  w)     R(c,  d)     Q(v,  y). (6.25)

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:

¬P(a,  f(u))     R(c,  d)     Q(g(b),  y), (6.27)

y  una  aplicación  de  la  sustitución  σ  a  la  fórmula  β  da  la  fórmula  denotada  β[σ],  que  es  de  
la  forma:

¬P(a,  f(u))     R(c,  d)     Q(g(b),  y). (6.28)

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:

x[¬estudiante(x)     [¬de_licencia(x)     ¬ y(atiende(x,  y)     curso(y))]],  (6.29)

después  de  eliminar  el  operador  de  implicación  se  transforma  en  la  siguiente  forma:

x[¬¬estudiante(x)     [¬de_licencia(x)     ¬ y(atiende(x,  y)     curso(y))]],  (6.30)

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:

x[estudiante(x)     [¬en_licencia(x)      y(¬atiende(¬atiende(x,  y)     ¬curso(y))]].  (6.31)

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:

x y[estudiante(x)     [¬de_licencia(x)     (¬atiende(x,  y)     ¬curso(y))]].  (6.32)

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:

estudiante(x)     [¬de_licencia(x)     (¬atiende(x,  y)     ¬curso(y))]. (6.33)

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:

x[ y[P(x,  y)     Q(x,  y)]    y[R(y)     S(y,  x)]]. (6.34)

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:

x[ y[P(x,  y)     Q(x,  y)]    z[R(z)     S(z,  x)]]. (6.35)

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)   

y( le  gusta_la_música_de(x,  y)     compositor_barroco(y))]. (6.36)

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öwenheim­Skolem)  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)

( likes_music_of(x,  F(x))     barroque_composer(F(x)))]. (6.37)

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))   

(estudiante(x)     ¬asiste(x,  y)     ¬curso(y)). (6.38)

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.

19Hacemos  uso  de  una  regla  FOL  de  distribución  de  disyunción  sobre  conjunción:  [ α     (β     γ)] [ (α  


  β)     (α     γ)].
Machine Translated by Google

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),

estudiante(x)     ¬atiende(x,  y)     ¬curso(y). (6.39)

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:

¬p1     ¬p2   ∙∙∙ ¬pn     h (6.40)

corresponde  a  la  siguiente  fórmula  en  forma  de  implicación:

p1     p2   ∙∙∙   pn     h. (6.41)

Podemos  expresarlo  de  la  siguiente  manera:

h     p1     p2   ∙∙∙     pn, (6.42)

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),

estudiante(x)     asiste(x,  y)     curso(y), (6.44)

y  en  el  programa  Prolog  se  pueden  escribir  como  los  axiomas­principios:

estudiante(X) :­  de_licencia(X).   /*  Axiomas­principios  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).   /*  Axiomas­hechos  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:

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:

metro  +  0  =  metro, m  +  S(n)  =  S(m  +  n), (6.46)

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):

r1 :  A(m,  0)  →  m, r2 :  A(m,  S(n))  →  S(A(m,  n)), (6.48)

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  Church­Rosser.
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  Church­Rosser,  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

(x,  y)  →  x  +  2     y, (6.59)

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):

λx.(λy.[x  +  2     y]). (6.60)

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):

λx.(λy.[x  +  2     y])  3  7 (6.62)

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.[3  +  2     y]  7, (6.64)

y  obtenemos  el  siguiente  resultado  final:

3  +  2     7. (6.65)

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  Church­Turing,  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  Curry­Howard.
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/978­3­319­40022­8_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  (Rojo­Verde­Azul).
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 es  subclase


… … Parábola
Elipse Polígono

es  subclase es  subclase

Triángulo Cuadrilátero …
es  subclase es  subclase es  subclase

… trapezoide Romboidal Rectángulo …

(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

(a) Oficial Médico

es  subclase es  subclase es  subclase es  subclase

… Oficial  subalterno Oficial  Mayor Neurólogo Urólogo …


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.  •  if­updated:  se  
activa  si  se  ha  actualizado  un  valor  en  una  faceta.  •  if­removed:  se  activa  si  se  
ha  eliminado  un  valor  de  una  faceta.  •  if­read:  se  activa  si  se  ha  leído  un  valor  de  
una  faceta.  •  if­new:  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  94­048,  Hamburgo,  marzo  de  1994,  ISSN  0418­9833).
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  Schank­Abelson,  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/978­3­319­40022­8_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:

Héctor  acepta  B  =   Héctor  acepta  el  globalismo. (8.3)

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:

S  =   Pacificus  rechaza  el  globalismo, (8.5)

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:

L3  =  {anbm ,  norte  ≥  1 , metro  ≥  2} . (8.9)


Machine Translated by Google

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  (tipo­0).  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  Miller­Rabin)  y  el  reconocimiento  de  patrones  
(algoritmo  de  Rabin­Karp).  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) (b) (C) (d)

a
a

S  aaabbb S  b  aaabbb Sb  aabbb S  bb  aabbb

(Automóvil  club  británico)

(S,  aaa) (Automóvil  club  británico) (S,  aaa)

(mi) (F) (gramo) (h)

S  bb  abb bbb  abbb bbb  bbb

(Automóvil  club  británico)

(S,  ab) (Automóvil  club  británico) 3  veces  (b,b)

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  best­seller  "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

(C) (d) (mi)

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  King­Sun  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

29King­Sun  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,  Prentice­Hall  1982.  Después  de  su  prematura  muerte  en  1985,  IAPR  estableció  el  premio  
bienal  King­Sun  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

Femenino niño padre

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  padre­hijo.  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/978­3­319­40022­8_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:

condición_elemental_1     condición_elemental_2     ∙∙∙     condición_elemental_k.

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

(a) Dispositivo_64:  D (b) (C)

enfriamiento no  funciona ? no  funciona   no  funciona


sensor  de  temperatura 170 170
trabajar inestable inestable inestable
estado ???
temperatura
? ? alto
peligro ???
fuente  de  alimentación ???

R2 R1

memoria  de  trabajo

(d) Dispositivo_64:  D (mi) (F)

enfriamiento no  funciona  no  funciona no  funciona


sensor  de  temperatura 170 170 170
trabajar inestable inestable inestable
estado falla falla falla
temperatura alto alto alto
peligro ? Sí Sí
fuente  de  alimentación ? ? APAGADO

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) ,

R3 :  SI  F  =  abuelo_agnático(K)     H  =  padre(K)     F  =  padre(G)  


género(G)  =  hombre     G  =  H  

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

Fig.  9.4  Un  ejemplo  de   PILA  DE  HIPÓTESIS ENCUADERNACIONES

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

Fig.  9.5  Un  ejemplo  de PILA  DE  HIPÓTESIS ENCUADERNACIONES


hacia  atrás (a)
encadenamiento—continuación F1 ?  T  
Raul  =  hijo(Ian)  
genero(Ian)  =   F2 ?   P6 :  B=H=Ian
TR1 ?  _  T
masculino  Ian  =  padre(Raul) SUSTITUCIÓN

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

(a) (b) (C)

Hechos : A,C,K,M A,C,K,M A,C,K,M

¿La  condición  de  la  regla  
es  un  hecho?  NO

Normas :
SI  D  ENTONCES  H SI  D  ENTONCES  H SI  K  ENTONCES  D

¿ H  coincide  con  la  acción ? Por  lo  tanto,   ¿ D  coincide  con  la  acción  de  alguna  


de  alguna  regla?  SÍ D  es  una  hipótesis regla?  SÍ

Hipótesis H H , D H , D

(d) (mi) (F)


A,C,K,  MD A,  C,  K,  M,  D A,C,K,M,  DH

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

SI  K  ENTONCES  D SI  D  ENTONCES  H SI  D  ENTONCES  H

¿ 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.6d­f).
•  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  ACT­R  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  Dempster­Shafer  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/978­3­319­40022­8_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):

ω1, ω2 ,...,ωC, (10.1)

en  que  se  pueden  clasificar  los  patrones.  Supongamos  también  que  cada  patrón  es
representado  por  un  vector  de  características  n­dimensional  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  k­NN

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:

R1 , R2 ,..., RC. (10.3)

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  polaco­estadounidense  Jerzy  Spława­Neyman,  quien  introdujo  la  
noción  de  intervalo  de  confianza  (también,  el  lema  de  Neyman­Pearson).

13Joseph  Lawson  Hodges,  Jr—un  eminente  estadístico  (estimador  de  Hodges­Lahmann,  estimador  de  Hodges)  en  
la  Universidad  de  California,  Berkeley,  un  Ph.D.  alumno  de  Jerzy  Spława­Neyman.
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  k­Nearest  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  5­NN,  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  n­dimensional,  una  función  
discriminante  lineal  tiene  la  siguiente  forma:

norte

d(X)  = Wi  Xi  +  W0, (10.11)


yo=1

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

P(ωL  |X1)  >  P(ωj  |X1)  para  cada  j     {1,  2,...,C} ,  j  =  L. (10.14)

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  n­dimensional  se  define  de  la  siguiente  manera:

norte

p(X|ωj )  = p(Xi|ωi ). (10.15)


yo=1

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  K­means  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  Banach­Steinhaus),  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  k­means

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  k­medias,  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áctico­estructurales).  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/978­3­319­40022­8_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  Carew­Eccles3  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

v  =  g(W,  X)  = Wi  Xi . (11.1)


yo=0

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  McCulloch­Pitts,  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:

U  =  ( (X(1),  u(1)),  (X(2),  u(2)), . . . ,  (X(M),  u(M)) ), (11.4)

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:

U  =  ( X(1),  X(2), . . . ,  X(M) ). (11.5)

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

(X0 ,  1 , 1 , 1 , 1 , 1 , 0 ,  1) (X0 ,  1 , 1 , 0 , 0 , 0 , 1 ,  1)

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  n­dimensionales  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  McCulloch­Pitts  (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)

uno capa   oculto capa  de  


capa   de   capa   salida  
(1) entrada  (1) (2) (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):

W (r)  (k) =  W(r)(k) +  ηδ(r)(i)  X(r)(k) i =  W(r)(k) +  ηδ(r)(i)  y(r−1)(i) , (11.16)


i i i

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  recurrere­running  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  Dempster­Shafer,  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/978­3­319­40022­8_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

P(e)  = P(e|hi)  ∙  P(hi). (12.2)


yo=1

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

P(e1,  e2,...,  em)  = P(e1|hi)  ∙  P(e2|hi)  ∙∙∙∙∙  P(em|hi)  ∙  P(hi). (12.4)


yo=1

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  causa­efecto  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,  1­1  (es  decir,  Verdadero­Verdadero),  1­0,  0­1,  0­0.
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  Dempster­Shafer

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  Dempster­Shafer,  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  
Cooley­Tukey  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  Dempster­Shafer  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  Dempster­Shafer25:

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  Dempster­Shafer,  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  Dempster­Shafer  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  Dempster­Shafer 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  Dempster­Shafer  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:

x[es_mamífero(x)     ¬es_mamífero_peculiar(x)     no_vuela(x)].

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ón­premisa  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  proposiciones­premisas
P,  sólo  se  eliminan  las  conclusiones  que  se  han  inferido  después  de  almacenar  el
proposición­premisa  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  Carnegie­Mellon.  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  Dempster­Shafer  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/978­3­319­40022­8_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:

Rk :  IFxk es  ak1 ...   xk es  ak ENTONCES  yk  es  Bk ,


1 norte norte

donde  xk 1 ,..., xk n ,  yk  son  variables  lingüísticas  y  Ak 1,..., Alaska


norte, Bk  son  valores  lingüísticos
correspondiente  a  conjuntos  borrosos  Ak1,..., Alaska negro .
norte,

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)

µL(tb) µP(tb) µH(tb) µC(tf) µW(tf) µB(tf )

0  5  10  15  20  25  30  35 tuberculosis 0  10  20  30  40  50  60  70 t.f.

(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

(C) (d) (mi)

µP'(tb) µW'(tf) min µM(pl)

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.

(F) (gramo) (h)


min
µH'(tb) µB'(tf) µl  (pl)

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.4c­e.
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

(a) color (b) violeta  amarillo  verde

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/978­3­319­40022­8_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ímulo­respuesta.  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

(a) (b) (C)

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  meta­reglas.  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  ACT­R  
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  meta­reglas  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)

Aprendizaje   Percepción   Información  de  entrada


(inducción   de  la  situación
gramatical)

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ón­acció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.:  Automata­based  multi­agent  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/978­3­319­40022­8_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  premisa­conclusió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  (1225­1274)  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  (1288­1348)  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  (1596­1650)  abordó  el  problema  de  la  relación  entre  mente  y  materia,  
denominado  problema  mente­cuerpo,  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  (980­1037)  ya  utilizaba  ambos  conceptos:  intellectus  in  habitu  (al­'aql  bi­l­malakah)  e  intellectus  
adeptus  (al­'aql  al­mustafâ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  (1588­1679)  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  
mente­cuerpo  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  (1632­1677)  propuso  otra  solución  al  problema  mente­cuerpo  [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  (1632­1704)  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  (1711­1776)  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  (1724­1804)  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  (1838­1917)  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  (1859­1938),  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  (1889­1951)  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  (1906­1978)  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  
(1891­1894).  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/978­3­319­40022­8_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  Dempster­Shafer.  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  
Ta5­h5,  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  humano­computadora,  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  gramatical­sí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

C  =  tía(A)     [ B  B  =  madre(A)     C  =  hermana(B) ]


  [ B  B  =  padre(A)     C  =  hermana(B)] ,

y
B  =  padre(A)     [ B  =  madre(A)     B  =  padre(A) ] ,

entonces  el  sistema  puede  inferir  una  nueva  regla:

C  =  tía(A)     [ B  B  =  padre(A)     C  =  hermana(B) ] .

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/978­3­319­40022­8_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  mente­cuerpo  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  mente­cuerpo  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  Davis­Putnam).  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ático­deductivos.  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ático­deductivos,  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ático­deductivos  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

Psicología ingeniería   Biología


de  sistemas  y
algoritmización
Modelos  de   de  métodos Modelos  de
procesos   organismos  y  su  
cognitivos comportamiento

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.

Un  nodo  v     V  tal  que  φ(v)     S  se  denomina  


nodo  inicial  del  espacio  de  estados  y  representa  un  
estado  inicial  del  problema  P,  y  un  nodo  v     V  tal  que  φ(v)     F  se  denomina  nodo  nodo  objetivo  del  
espacio  de  estado  y  representa  un  estado  objetivo  del  problema  P.  Una  solución  del  problema  P  es  
cualquier  camino  en  el  gráfico  G  que  comienza  en  un  nodo  inicial  y  termina  en  un  nodo  objetivo.1

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/978­3­319­40022­8
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.

Sean  x1,  x2,...,  xn     Z,  α1     Dx1 ,  α2     Dx2 ,...,  αn     Dxn .


Con  (x1,  α1,x2,  α2,...,xn,  αn)  denotamos  atribuyéndole  un  valor  αi  a  cada
variable  xi,  i  =  1,  2,...,  n.

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/978­3­319­40022­8
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  n­dimensional.

Definición  B.3  Una  distribución  de  probabilidad  P  n­dimensional  se  denomina  distribución  
discreta  si  y  solo  si  existe  un  conjunto  de  Borel  S     Rn  tal  que:

P(S)  =  1  y  s     S     P({s})  >  0 .

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:

PA(A)  = P({si})  =   pi ,


yo :  si     A yo :  si     A

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  n­dimensional  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:

X−1  (B)  =  {ω    :  X(ω)     B}     F

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.

Definición  C.1  Sea  una   Fn , n  ≥  0  sea  una  familia  de  conjuntos  de  símbolos  de  funciones  n­arias, Pn , n  ≥  1  a )  

familia  de  símbolos  de  predicados  n­arios.  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/978­3­319­40022­8
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.

•  Si  x     X,  entonces  x     T(X).


F
•  Para  cada  n  ≥  1  y  para  cada  f     T(X). n , si  t1,...,  tn     T(X),  entonces  f(t1,...,  tn)  

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.7  Una  variable  x  en  una  fórmula     está  libre  en     si  y  solo  si  x  está  libre  en     en  al  


menos  una  aparición.  Una  variable  x  en  una  fórmula     está  ligada  en     si  y  solo  si  x  está  ligada  en  
cada  aparición  en   .

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 …

•  (A, )  |=  ( x)( )  si  y  si  para  cada  a     U,  (A,  a X


)  |=   .
•  (A, )  |=  ( x)( )  si  y  solo  si  existe  un  a     U  tal  que  (A,  a X
)  |=   .

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  |=   .

Definición  C.17  Una  fórmula     es  válida,  o  es  una  tautología,  denotada  |=   ,  si  y  solo  si     es


válido  en  toda  estructura.

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,

L1     L2   ∙∙∙   Ln,

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.

Definición  C.21  Sean  cláusulas  A     B1   ∙∙∙   Bn  y  ¬A     C1   ∙∙∙   Ck ,  donde


A  es  una  fórmula  atómica,  B1,...,  Bn  y  C1,...,Ck  son  literales.  Una  regla  de  resolución  es
una  regla  de  inferencia  de  la  forma

A     B1   ∙∙∙   Bn,  ¬A     C1   ∙∙∙   Ck


.
B1   ∙∙∙   Bn     C1   ∙∙∙   Ck

Una  fórmula  B1 ∙∙∙ Bn C1 ∙∙∙ Ck  se  llama  un  solvente,  fórmulas  A B1 ∙∙∙ Bn


y  ¬A     C1   ∙∙∙   Ck  se  denominan  fórmulas  de  choque.
Machine Translated by Google

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.

Definición  C.25  Una  fórmula     está  en  prenex  forma  normal  si  y  solo  si     es  de  la  forma

Q1x1Q2x2 ...  Qnxnψ,

donde  Qi  es     o   ,  y  ψ  es  una  fórmula  abierta  (es  decir,  no  contiene  cuantificadores).

Definición  C.26  Una  fórmula     está  en  forma  normal  conjuntiva  (CNF)  si  y  solo  si     es  finito


conjunción  de  cláusulas,  es  decir,     es  de  la  forma

C1     C2   ∙∙∙   Ck  =  (L1 ∙∙∙   Ln1 )     (L1 2 ∙∙∙   Ln2 )     ∙∙∙   (L1 ∙∙∙   enlace ),
1 1 2 k k

donde  Ci  =  L1 ∙∙∙   Lni yo ,


1   ik  es  una  cláusula  que  consta  de  literales  L1 yo ,..., Lnii .
i

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

{C1,C2,...,Ck }  =  {{L1 1,..., Ln1


1
},{L1 2,..., Ln2
2
},...,{L1 k ,..., enlace
k
}}.

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.

(a)  Si  (a,  b)   →α,  para  a,  b     A,  entonces  hablamos  de  un  paso  directo  de  reescribir  a  en


b,  denotado  a  →α  b  (b  también  se  denomina  reducción  (directa)  de  a).
(b)  Una  secuencia  de  reescritura  (o  una  reescritura)  con  →α  es  una  secuencia  finita  o  infinita
a0  →α  a1  →α  a2  →α ....

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  Church­Rosser  (cf.  Fig.  C.1a)  si  se  cumple  la  siguiente  condición

a,  b,  c     A d     A(bα  ←  a  →α  c     b α  dα  c).

Definición  C.31  Una  relación  →α  en  un  conjunto  A  es  confluente,  es  decir,  tiene  la
Propiedad  de  Church­Rosser  (cf.  Fig.  C.1b)  si  se  cumple  la  siguiente  condición

a,  b,  c     A     re     A  (bα  a α


do     segundo
α  dα  c).

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  Iglesia­Rosser a
(a)
propiedad

b C

(b) a

b C

Definición  C.32  Sea  ARS  =  (A,→α)  un  sistema  de  reescritura  abstracta.

(a)  a     A  es  una  forma  normal  si  y  solo  si  no  existe  b     A  tal  que  a  →α  b.


(b)  Si  ab  y  b   α   A  es  una  forma  normal,  entonces  decimos  que  a     A  tiene  una  forma  normal
forma  y  b  es  una  forma  normal  (para)  a.

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  r­redex  y  sσ  se  denomina  r­contractum.

Definición  C.36  Un  paso  de  reescritura  de  términos  de  acuerdo  con  una  regla  de  reescritura  r  es  un  
reemplazo  de  un  r­redex  
t  σ  con  un  r­contractum  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.

•  Si  x     V,  entonces  x    .  •  


, (MN)     (aplicación).  •  Si  M     y  x  
Si  M,N     entonces  
  V,  entonces  (λx.M)     (λ­abstracción).

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  Schmidt­Schauß  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/978­3­319­40022­8
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  ALC­conceptos,  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(John­Kowalski,  
Mary­Kowalski).  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/978­3­319­40022­8
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

β  = δ(o  β  =   δ,  si  se  asume  G )


GRAMO

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

PRIMEROk  (η)  =  {x   T :  (η  = xβ     |x|  =  k)     (η = x     |x|  <  k),  β      }.

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

S  αAδ  = = αγδ  = ay,


L L L

donde  α,  x,  y   T ,  β,  γ,  δ      ,  A     N,  se  cumple  la  siguiente  condición

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 ,

donde  δ  es  la  función  de  transición  de  estado  qi,  qk     Q,  a     T ,  γ   t  _

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

Una  configuración  instantánea  de  un  autómata  pushdown  se  representa  con  un  triple  (q,  α,  φ)     Q  ×  ×   ,  


donde  los  primeros  dos  elementos  
T
son  los  mismos  que  para  un  autómata  de  estado  finito,  y  el  tercer  elemento  
representa  el  contenido  de  la  pila  (el  primer  símbolo  corresponde  al  símbolo  superior  de  la  pila).

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 ,  η),

donde  δ  es  la  función  de  transición,  qi,  qk     Q,  a     T     {λ},  γ     Hay  dos  (varias)   T ,  η,  φ      .


definiciones  para  finalizar  un  cálculo  en  el  caso  de  autómatas  pushdown.  En  el  primero  (una  aceptación  
por  un  estado  final)  (qm,  λ,  ξ),  donde  qm     F,  λ  la  palabra  vacía,  es  la  configuración  final.  En  la  segunda  
definición  (una  aceptación  por  una  pila  vacía)  (qm,  λ,  λ),  donde  qm     Q,  es  la  configuración  final.

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

nodo  v     VH  y  una  producción  (l,  D,C)     P  tal  que  se  cumple  lo  siguiente.

(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  Breadth­First  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  k­sucesores.  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  k­sucesores  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  k­sucesores  
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/978­3­319­40022­8
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

CS  ={(R,  WM ) :   (R,COND,  ACT)     R

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,

WM0     WM1   ∙∙∙   WMn,

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.

1.   x     X :  ρ(x,  y)  =  0  si  y  solo  si  x  =  y.  2.  


x,  y     X :  ρ(x,  y)  =  ρ(y,  x).  3.   x,  y,z     
X :  ρ(x,z)  ≤  ρ(x,  y)  +  ρ(y,z).

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/978­3­319­40022­8
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.

•   ,  X     T  •  .


Una  intersección  finita  de  elementos  de  T  es  el  elemento  de  T  •  Una  .
unión  arbitraria  de  elementos  de  T  es  el  elemento  de  T .

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

ρp(x,  y)  = |xi  ­  yi| pag .


yo=1

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

(a) (b) (C)


X2 X2 X2

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.

Definición  G.12  Sean  dadas  dos  cadenas  de  caracteres  (símbolos):  x,  y     A t  


_  transformación  F :  tal  que  y  −→
  F(x)  se  llama  una  transformación  de  cadena.
T T
Introduzcamos  las  siguientes  transformaciones  de  cadenas.

1.  Una  transformación  de  error  de  sustitución  FS:  η1aη2  −→FS  η1bη2a,  b     T ,  a  =  b,
η1,  η2   t  _

2.  Una  transformación  de  error  de  eliminación  FD:  η1aη2  −→FD  η1η2a     T ,  η1,  η2     3.  Una   t  _

transformación  de  error  de  inserción  FI:  η1η2  −→FI  η1aη2a     T ,  η1,  η2   t  _

Definición  G.13  Dadas  dos  cadenas  de  caracteres  (símbolos):  x,  y     Una  distancia  ρL  entre  las   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].

Definición  G.14  Dadas  dos  cadenas  de  caracteres  (símbolos):  x,  y     Atribuyamos  pesos  α,  β,  γ  a     T.  _

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.  +,  ∙,

•  El  conjunto  V  con  la  operación  +  es  el  grupo  abeliano.  •   a,  b     K,  


w     V:  a(bw)  =  (ab)w.  •   a,  b     K,  w     V:  (a  +  
b)w  =  aw  +  bw.  •   a     K,  w,  u     V:  a(w  +  u)  =  aw  +  au.  
•   w     V:  1  ∙  w  =  w,  donde  1  es  el  elemento  identidad  
de  la  multiplicación  en  K.

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.

•   x     X:  x  =  0     x  =  0,  donde  0  es  el  vector  cero  en  X.  •   x     X,  λ     K:  λx=|


λ|∙x.  •   x,  y     X:  x  +  y≤x+y.

©  Springer  International  Publishing  Suiza  2016  M.   289
Flasi  ́nski,  Introducción  a  la  Inteligencia  Artificial,  
DOI  10.1007/978­3­319­40022­8
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.

W(j  +  1)  =  W(j)  −  α E(W(j)), (H.1)

∂E(j)   ∂E(j)   ∂E(j)  


donde   E(W(j))  = , ,..., es  un  gradiente  de  la  función
∂W1(j) ∂W2(j) ∂WN(j)
MI.

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

=  W(r)(k) (j)  −  α  (j) .  ∂v(r)(k)(j) ∙  X(r)(k)  


i 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  Dempster­Shafer.

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  M­medible,  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/978­3­319­40022­8
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  Dempster­Shafer

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

  0, x   /  A,  

µA(x)  = 1, x     A,  

  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/978­3­319­40022­8
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,

donde  xk yo , i  =  1,...,  n  es  una  variable  lingüística,  Ak yo , i  =  1,...,  n  es  un  valor  lingüístico,

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

R  =  {((x,  y) ,  μR(x,  y)) :  x     X,  y     Y,  μR :  X  ×  Y  −→  [0,  1]}.

Definición  J.7  Sean  X,  Y  conjuntos,  A     X,  B     Y  conjuntos  borrosos  con  funciones  de  


pertenencia  μA  y  μB.  Un  resultado  del  razonamiento  borroso  de  A  a  B  en  el  modelo  de  
Mamdani  según  una  regla  mínima29  es  una  relación  borrosa  en  X  ×  Y,  denotada  A  →  B,  en  la  
que  una  función  de  pertenencia  se  define  con  la  siguiente  fórmula

μA→B(x,  y)  =  min{μA(x),  μB(y)}.

Definición  J.8  Sea  A     X     R  un  conjunto  borroso  con  función  de  pertenencia  μA.  Una  


operación  de  defuzzificación  con  la  ayuda  de  un  centro  de  gravedad  consiste  en  asignar  un  
valor  x  a  un  conjunto  A  según  la  siguiente  fórmula

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.

Definición  J.9  Sea  B     A.  Una  relación  IB     U  ×  U  se  denomina  relación  de  B­indiscernibilidad  


si  y  solo  si  cumple  la  siguiente  condición.

(x,  y)     IB      a     B :  a(x)  =  a(y),

para  todo  x,  y     U.  Decimos  que  los  objetos  x,  y  son  B­indiscernibles.

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  B­indiscernibilidad  en  un  universo  U,  x     U.  Un  conjunto  B­elemental  
[x]IB  es  la  clase  de  equivalencia  de  un  objeto  x,  es  decir

[x]IB  =  {y     U :  (x,  y)     IB}.

Sea  X     U.

Definición  J.11  Una  aproximación  B­inferior  del  conjunto  X  es  un  conjunto

BX  =  {x     U :  [x]IB     X}.

Definición  J.12  Una  aproximación  B­superior  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  B­aproximado  si  y  solo  si  se  cumple  la  siguiente  condición

BX  =  BX.

Definición  J.15  El  conjunto  X  se  denomina  conjunto  B­exacto  (B­crisp)  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  AAAI­91,  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  (1908­1952)
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,  Stanford­Los  Altos  (1981,  1982)
19.  Barr,  A.,  Cohen,  PR,  Feigenbaum,  E.:  Manual  de  inteligencia  artificial,  vol.  4.
Addison­Wesley,  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/978­3­319­40022­8
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.  Addison­Wesley,  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.  Prentice­Hall,  Inglaterra
Acantilados  de  madera,  Nueva  Jersey  (1994)

41.  Bunke,  HO,  Sanfeliu,  A.  (eds.):  Reconocimiento  de  patrones  sintácticos  y  estructurales­Teorí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,  RC­T.:  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  A04­R­546,  Rocquencourt,  (2004).  http://www.  loria.fr/publications/2004/A04­R­546/
A04­R­546.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.  SMC­13,  815–  826  (1983)

55.  Cohen,  PR,  Feigenbaum,  E.:  El  manual  de  inteligencia  artificial,  vol.  3.  Tecnología  Heuris
Press  y  Kaufmann,  Stanford­Los  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,
21­27  (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  neuro­borrosos.  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,  231­272  (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.  Wiley­Interscience,  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.  Dunin­K¸eplicz,  B.,  Verbrugge,  R.:  Teamwork  in  Multi­Agent  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.  Prentice­Hall,  acantilados  de  Englewood,  Nueva  Jersey
(1994)
88.  Ferber,  J.:  Sistemas  multiagente:  una  introducción  a  la  inteligencia  artificial.  Addison­Wesley,  Lectura,  MA  (1999)

89.  Firebaugh,  MW:  Inteligencia  artificial.  Un  enfoque  basado  en  el  conocimiento.  Publicación  PWS­Kent.
Comp,  Boston,  MA  (1988)
90.  Fisher,  RA:  El  uso  de  medidas  múltiples  en  problemas  taxonómicos.  Ana.  eugenesia  7,
179­188  (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  Jersey­Londres­Singapur  
(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,  83­100  (1971)
104.  Fu,  KS:  Reconocimiento  y  aplicaciones  de  patrones  sintácticos.  Prentice­Hall,  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,
121­136  (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.  McGraw­Hill,  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  SSC­4  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.  Hayes­Roth,  F.:  Construcción  de  sistemas  expertos.  Addison­Wesley,  Lectura,  MA  (1983)
132.  Hayes­Roth,  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.  Addison­Wesley,  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.  Addison­Wesley,  Harlow­Londres­Nueva  York
(1999)
148.  Jain,  AK,  Duin,  RPW,  Mao,  J.:  Reconocimiento  de  patrones  estadísticos:  una  revisión.  Trans.  IEEE.  Pat.
Anal.  Mach.  Intel.  PAMI­22  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  C­21  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  humana­competitiva  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.  Prentice­Hall,  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  C­26  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,  184­195  (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,  115­133  (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.
Addison­Wesley,  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,  Kedar­Cabelli,  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  Micro­Electronic  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.
PAMI­2  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  McGraw­Hill,  Nueva  Delhi­Nueva  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.  McGraw­Hill,  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.  McGraw­Hill,  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.  Schmidt­Schauß,  M.,  Smolka,  G.:  Descripciones  de  conceptos  atributivos  con  complementos.  Artefacto
Intel.  48,  1–26  (1991)
267.  Schwefel,  HP:  Numerische  Optimierung  von  Computer­Modellen.  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.,  Leyton­Brown,  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.:  Logisch­kombinatorische  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  Support­Handbook  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.  Addison­Wesley,  Lectura,  MA  
(1987)
315.  Winston,  PH:  Inteligencia  artificial.  Addison­Wesley,  Lectura,  MA  (1993)
316.  Wittgenstein,  L.:  Investigaciones  filosóficas.  Wiley­Blackwell,  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  como­si,  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  ACT­R,  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
alfa­beta,  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/978­3­319­40022­8
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  Best­First  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  
Curry­Howard,  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
k­means  clustering,  153  k­
Nearest  Neighbor  method  (k­NN),  146  Kant,  I.,  
217,  241  Kennedy,  
J.,  66  Kim,  J.,  238  
Kinesthetic  
METRO

intelligence,  220,  232  Kirkpatrick,  S.,  49  
MacQueen,  JB,  153  
KL­ONE,  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  
McCulloch­Pitts  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  Min­conflicts  
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  Model­Based  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  Multi­agent  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  
Schmidt­Schauß,  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

También podría gustarte