SlideShare a Scribd company logo
1 of 284
Download to read offline
DEDICATORIA
AGRADECIMIENTO
CONTENIDO
PRÓLOGO
CAPÍTULO 1
Introducción a la Inteligencia Artificial
CAPÍTULO 2
Los Sistemas basados en Conocimiento
CAPÍTULO 3
La Adquisición y representación del Conocimiento
CAPÍTULO 4
La simulación basada en Conocimiento
CAPÍTULO 5
El Procesamiento del Lenguaje Natural
CAPÍTULO 6
Las Redes Neurales Artificiales
CAPÍTULO 7
Los Algoritmos Genéticos
CAPÍTULO 8
Lenguaje de Programación para la Inteligencia Artificial
BIBLIOGRAFÍA
Inteligencia Artificial
Básica
Mauricio Paletta
Universidad Nacional Experiemental de Guayana
Inteligencia Artificial
Básica
Mauricio Paletta
Universidad Nacional Experiemental de Guayana
UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICERRECTORADO ACADÉMICO
DEPARTAMENTO DE Ciencia y Tecnología
_______________________________________________
©Inteligencia Artificial Básica
_______________________________________________
©Editor
Fondo Editorial UNEG
http://fondoeditorial.uneg.edu.ve
Cuidado de la edición
Ing. Ana María Contreras
Diseño, diagramación y montaje
TSU. Emerson Guerrero Ibáñez
Diseño de portada
TSU. Emerson Guerrero Ibáñez
Coordinación editorial
Ing. Ana María Contreras
Reproducción Digital
Copiados Unidos, c.a.
Tiraje
100 ejemplares
Primera edición
Año 2010
Hecho el Depósito de Ley
Depósito Legal
LF93320100011996
ISBN
978-980-6864-24-5
Todos los títulos publicados bajo el sello Fondo Editorial UNEG
son arbitrados entre pares bajo el sistema doble ciego. Reservados
todos los derechos.
El contenido de esta obra está protegido por la ley que
establece penasdeprisióny/omultaademásdelascorrespondientes
indemnizaciones por daños y perjuicios para quienes reproduzcan,
plagien, distribuyan o comuniquen públicamente en todo una obra
literaria, artística o científica, o su transformación, interpretación o
ejecución artística fijada en cualquier tipo de soporte o comunicado
a través de cualquier medio sin la respectiva autorización.
Índice
Dedicatoria
A la princesa de mi hogar, mi hija Andrea Fabianna que aún le falta
mucho por recorrer en la vida; a mi esposa por su comprensión y
afecto; a mi madre por todo lo que me ha dado; a mi padre que ya
no está con nosotros y a mis estudiantes que fueron mi principal
motivación e inspiración para realizar este libro.
Índice
Agradecimientos
Mi primera experiencia en el campo de la Inteligencia A rtificial
la viví durante mi estadía laboral en la División de Proyectos
Especiales de la empresa Venezolana de Aluminio, C.A. (Venalum).
Quiero agradecer a todos mis compañeros de trabajo que en
esa oportunidad me brindaron apoyo y me ayudaron con sus
sugerencias, especialmente a los ingenieros Carlos Abaffy, Alberto
Alarcón, Irene Torres y José Ramírez.
Deseo agradecer a todos aquellos estudiantes y colegas de la
Universidad Nacional Experimental de Guayana que me ayudaron a
recopilar y resumir todo el material que utilicé para realizar este libro,
producto principalmente de las cátedras de Inteligencia Artificial que
dicto en esta magna casa de estudios.
Deseo agradecer también a todas aquellas personas por sus
valiosas observaciones que resultaron de la revisión de este material,
principalmente al Dr. Daniel Bermúdez y al Dr. José Tarazona.
Un agradecimiento muy especial al Dr. Daniel Bermúdez por ser mi
maestro en la laboriosa carrera académica de docente y motivarme
continuamente a realizar obras y proyectos como éste.
Índice
Dedictoria ................................................................................................................................
Agradecimientos .....................................................................................................................
Contenido ...............................................................................................................................
Índice de Figuras ...................................................................................................................
Índice de Tablas .....................................................................................................................
Prólogo ....................................................................................................................................
CAPÍTULO 1.	
Introducción a la Inteligencia Artificial
1.1.	 Conceptos básicos ……………………..................................................……………..
1.2.	 Algo de historia ..........………………………….......................................…………….
1.3.	 Técnicas de resolución de problemas …...........................................………………	
1.4.	 Agentes …………………………………….................................................………….	
1.5.	 Búsqueda y teoría de juegos ……..…………........…...................................……….	
1.6.	 Resumen del Capítulo ………...…………….........…..................................…………	
CAPÍTULO 2.	
Los Sistemas Basados en Conocimiento
2.1.	 Conceptos básicos ……………........………………......................................……….
2.2.	 La arquitectura interna ………………...……............................................…………..
2.3.	 Una metodología de desarrollo …….....................................................…………….
2.4.	 El manejo de incertidumbre ……………….………............................................…...
2.5.	 Integración con sistemas de control …….........…………...................................…...	
2.6.	 Ejemplos y aplicaciones ………………….............................................…………….	
2.7.	 Resumen del Capítulo …………………...........…….....................................……….	
CAPÍTULO 3.	
La Adquisición y Representación del Conocimiento
3.1.	 El proceso de adquisición ………………….…............................................………..	
3.2.	 Técnicas de adquisición del conocimiento ……...........................................……….
3.3.	 Técnicas para la documentación del conocimiento ..........................................……	
3.4.	 Esquemas de representación del conocimiento y sus mecanismos
de inferencia ………....………………....……….........................................…………
3.5.	 Resumen del Capítulo ……..…………………….........….....................................….	
3.6.	 Ejercicios …………………....……….……...............................................…………...
5
6
7
9
11
12
14
16
21
26
29
38
41
43
46
55
62
66
74
77
80
89
95
105
105
Contenido
Índice
CAPÍTULO 4.	
La Simulación Basada en Conocimiento
4.1.	 La simulación tradicional ……………....….........….....................................…………
4.2.	 Integrar IA y simulación …….........……….....……..….......................................……
4.3.	 La Simulación Basada en Conocimiento ……..................................……..........……
4.4.	 Resumen del Capítulo ……………………….................................................……….	
CAPÍTULO 5.	
El Procesamiento de Lenguaje Natural
5.1.	 Lenguaje natural y lenguaje formal …………............................................………….
5.2.	 Procesamiento del lenguaje ………………….............................................…………
5.3.	 La arquitectura básica del procesador ………............................................…………
5.4.	 Aplicaciones …………………...………………................................................………
5.5.	 Resumen del Capítulo ………………….................................................…………….
CAPÍTULO 6.	
Las Redes Neurales Artificiales
6.1.	 El sistema neural humano ………………..............................................……………..
6.2.	 Algo de historia ………………...…………..............................................…...………..
6.3.	 El modelo neural artificial …………………..............................................…………...
6.4.	 Clasificación ………………………………...............................................……………
6.5.	 Los modelos conexionistas ……………….............................................…………….
6.6.	 Ejemplos y aplicaciones ………………….............................................……………..
6.7.	 Resumen del Capítulo …………………….................................................………….
CAPÍTULO 7.
Los Algoritmos Genéticos
7.1.	 Introducción ………….....…….…………….................................................…………
7.2.	 Implementación ………………..……….…...............................................…………...
7.3.	 Aplicaciones ………………………………...............................................……………
7.4.	 Resumen del capítulo ……………………..............................................…………….
CAPÍTULO 8.	
Lenguajes de programación para la Inteligencia Artificial
8.1.	 Prolog ………………...……..…………...............................................……………….
8.2.	 Lisp …………………………………….................................................……………….
8.3.	 OPS-5 …………………………………................................................……………….
8.4.	 Resumen del capítulo …………………..............................................……………….
8.5.	 Ejercicios ………………………………................................................………………
Bibliografía ………………..……………...…….................….............................………………
Indice ……...………………..…………..………...............................................…………....….
108
109
110
116
118
120
128
129
131
133
144
146
153
160
178
187
190
191
198
206
209
223
248
270
270
277
280
Índice
Figura 1.1	 Evolución de los Sistemas Basados en Conocimiento …...............………..	
Figura 1.2	 Evolución de los Sistemas Inteligentes de Tutoría …….............….....……..	
Figura 1.3	 Evolución de la Robótica …….............…………………………………..........
Figura 1.4	 Evolución del Procesamiento de Lenguaje Natural …….........…………......
Figura 1.5	 Un agente en interacción con el ambiente ………………….….................…
Figura 1.6	 Estado inicial y final del problema de rompecabezas de 8 piezas ..............	
Figura 1.7	 Estado inicial y final del problema de las 8 reinas ……………...............…..	
Figura 1.8	 Arbol de búsqueda para un caso del problema de los cubos …..............…	
Figura 1.9	 Parte del árbol que representa el juego tres en línea ...................................
Figura 2.1	 Características de un área de aplicación …………...........……….........……	
Figura 2.2	 Automatización del conocimiento ………….………..............…........……….	
Figura 2.3	 Arquitectura interna de un SBC ………….………..............…....................…	
Figura 2.4	 Esquema metodológico en espiral ………....…...............………..............….	
Figura 2.5	 Esquema metodológico ………….………....……..........……….........………
Figura 2.6	 Actividades de la identificación del problema ………….................………....	
Figura 2.7	 Actividades de la conceptualización …………...........……….........…………	
Figura 2.8	 Actividades de la formalización ………….………..……........…..........……...	
Figura 2.9	 Actividades de la construcción del prototipo …………..................……….…	
Figura 2.10	 Actividades de la prueba y redefinición ………….…..........…….......……….	
Figura 2.11	 Arquitectura general de un SBC-TR …………..........…….….….......……….	
Figura 2.12	 Arquitectura de un sistema Blackboard ………….…..........…….......……….	
Figura 2.13	 Areas y tipos de aplicación en función de la cantidad de sistemas ..............
Figura 3.1	 Secuencias de preguntas para una entrevista ……………..…..........……...	
Figura 3.2	 Formas de trabajo con múltiples expertos …………………...............….…..	
Figura 3.3	 Ejemplo de conocimiento representado en redes semánticas …...........…..	
Figura 3.4	 Ejemplo de conocimiento representado en lógica de predicados de
		 primer orden ……………………………………………..........……..........……	
Figura 3.5	 Ejemplo de conocimiento representado en reglas de producción ...........…	
Figura 3.6	 Ejemplo de errores en la representación del conocimiento usando
		 reglas de producción ……………………………..........………………........…	
Figura 3.7	 Ejemplo de conocimiento representado en encuadres ……............……….	
igura 4.1	 Ejemplo de Modelado Cualitativo ………………………..........….........…….
Figura 4.2	 Sistema secuencial integrado ………………...........…………….......……….
Figura 4.3	 Sistema paralelo integrado …………..........…………………….........………
Figura 4.4	 Interfaz inteligente para simulación ……..................................…………......
Figura 4.5	 Arquitectura generalizada de un SSBC …....................................................
Figura 5.1	 Pasos que se dan cuando un orador comunica a un oyente la 		
oración “el animal está muerto” ………………......………….........................
Índice de Figuras
21
22
25
25
26
30
31
31
37
41
43
44
46
46
49
48
51
53
54
63
64
72
84
87
97
98
99
100
102
111
112
113
113
114
119
Índice
Figura 5.2	 Organización del proceso de interpretación semántica ……............………	
Figura 5.3	 Proceso de interpretación del discurso ………………………...............……	
Figura 5.4	 Arquitectura básica de un procesador de lenguaje natural …..…..........…..	
Figura 6.1	 La neurona y sus partes ………………………………………................…...	
Figura 6.2	 Sinapsis química ……………………………………........…….…..........…….	
Figura 6.3	 Tipos de sinapsis ……………………………………........……...........………	
Figura 6.4	 Primer modelo de neurona artificial …………………...............…..…………	
Figura 6.5	 Modelo genérico de neurona artificial ………………......……..........……….	
Figura 6.6	 Funciones de activación discretas ………………………...............…………	
Figura 6.7	 Funciones sigmoide y sigmoide desplazada ……………...…..........……….	
Figura 6.8	 Función gaussiana ……………………………………………..........….......…	
Figura 6.9	 Modelo genérico de RNA (propagación hacia adelante) …..........…...…….	
Figura 6.10	 Modelo genérico de RNA (propagación hacia atrás) ………..............……..	
Figura 6.11	 Esquemas de funcionamiento de las RNAs …………………............…..….	
Figura 6.12	 Ejemplo de la separación lineal de un problema y un problema que
		 no es linealmente separable …………………………………................…….	
Figura 6.13	 Ejemplo de la curva del error en función de los pesos de las
		 conexiones ……………………………………………………....................…..	
Figura 6.14	 Ejemplo de una red hiperesférica de dos entradas ………...…..........……..	
Figura 6.15	 Ejemplo de una red simple de aprendizaje competitivo ……..............……..	
Figura 6.16	 Un caso particular del problema del agente viajero ……………...............…	
Figura 6.17	 Estado estable de la red Hopfield en el problema del agente
		 viajero para 5 ciudades …………………………………..………...............…	
Figura 6.18	 Ejemplo de simulación de control de nivel en un tanque …….............…….	
Figura 6.19	 Topología de la red Backpropagation para representar el problema
		 del tanque ………………………………………………………..................….	
Figura 6.20	 Forma general de onda de una señal de electrocardiograma .....................
Figura 7.1	 Ejemplo de una rueda de la ruleta ……………………………...............……	
Figura 7.2	 Juego de los seis peones …………………………………..........…….....…..	
Figura 7.3	 Ejemplo de un grafo para mostrar el problema de coloración ..…..........….	
Figura 8.1	 Problema de las torres de hanoi ……………………..........………….....…...	
Figura 8.2	 Representación del tablero para el juego tres en línea ………............…….	
Figura 8.3	 Una solución al problema de las ocho reinas en el tablero de
		 Ajedrez ………………………………………………………..........…..........… 	
Figura 8.4	 Tipos de dato en Lisp …………………………………..........…….........…….	
Figura 8.5	 CONS es el inverso de CAR + CDR …………………..........…….......……..	
Figura 8.6	 Diagrama de bloques de la lista (A B C) ……………..........……......……….	
Figura 8.7	 Diagrama de bloques de la lista (A B.C) ……………..........……......……….	
Figura 8.8	 Diagrama de bloques de la definición de la función factorial ….............…..	
Figura 8.9	 El valor del símbolo X se cambia de (A B C) a (D E F) ….......................….
Figura 8.10	 Ejemplo de un árbol binario …………………………………..................……	
Figura 8.11	 Ciclo de reconocimiento-acción ……………………......................................
124
127
129
135
137
138
144
148
150
150
151
152
153
158
161
168
175
177
180
181
182
183
186
195
202
226
220
221
222
226
231
242
242
243
244
247
253
Índice
Índice de Tablas
14
19-20
33
47-48
48-49
54
60
68-72
81
85
118
159-160
180
198-201
217-218
228
231-232
234
261
264-265
266
Tabla 1.1	 Definición de IA dada por varios autores ………........……........………..	
Tabla 1.2	 Historia de los acontecimientos en IA ….………………............………..	
Tabla 1.3	 Comparación de las estrategias de búsqueda a ciegas .….…..….........	
Tabla 2.1	 Cuestionario para la evaluación de proyectos ….……….......…...……..	
Tabla 2.2	 Análisis de resultados ….………………………………..........…....……..
Tabla 2.3	 Participantes y productos de los segmentos metodológicos ….........….	
Tabla 2.4	 Escala de certeza usada por ADS ….………………………....….......….	
Tabla 2.5	 Ejemplos de SBCs ….……………………………………....……..........…	
Tabla 3.1	 Comparación de las técnicas de adquisición ….………….............…….	
Tabla 3.2	 Ejemplo de una entrevista entre un ingeniero de conocimiento y
		 un experto ………………………………………………....……...........…..	
Tabla 5.1	 Diferencias entre lenguaje formal y lenguaje natural ….…............…….	
Tabla 6.1	 Modelos de RNA y su clasificación ….…………………..…..............…..	
Tabla 6.2	 Aplicaciones de algunos modelos de RNA ….………….............………	
Tabla 7.1	 Ejemplos de aplicaciones y trabajos de investigación en
		 algoritmos genéticos ….………………………………..……..............…..	
Tabla 8.1	 Cláusulas predefinidas de Prolog estándar ….……….…....….......…….	
Tabla 8.2	 Los predicados más importantes de Lisp ….……….……...…........……	
Tabla 8.3	 Algunas primitivas de Lisp para el manejo de listas …………............…	
Tabla 8.4	 Algunas primitivas de Lisp para controlar el flujo de ejecución .............	
Tabla 8.5	 Predicados de OPS-5 …………………………………………............…..	
Tabla 8.6	 Acciones de OPS-5 ………………………………………...…….........….	
Tabla 8.7	 Funciones de OPS-5 ……………………………………...……........……
Mauricio Paletta
12
Índice
Desde que me inicié, varios años, en el campo de la investigación y enseñanza de la Inteli-
gencia Artificial, no he podido salir de allí. No se si es por lo tanto que me ha llamado la atención
o por lo realista de sus aplicaciones y la forma como resuelve problemas. Lo que sí está claro es
que durante este tiempo he tenido la oportunidad de acumular gran cantidad de conocimientos
producto de la experiencia que he ganado gracias a la realización de proyectos, a la instrucción
de cursos y a la enseñanza de cátedras universitarias.
Pero lo que para mi ha sido más placentero es haber iniciado la enseñanza de la Inteligencia
Artificial en la Universidad Nacional Experimental de Guayana y poner al alcance de los estudi-
antes de Ingeniería en Informática estos conocimientos.
Este libro representa el compendio de una gran cantidad de material bibliográfico que se fue
gestando gracias a las cátedras dictadas. Está orientado hacia todos aquellos estudiantes y pro-
fesionales que desean incursionar en el mundo de la Inteligencia Artificial. Es un texto de ense-
ñanza básica que facilita la apertura de las puertas hacia este mundo y no se requiere ningún
conocimiento previo para su lectura.
El libro está estructurado de forma tal que cada capítulo se concentra en alguna de las partes
fundamentales de la Inteligencia Artificial. Se empieza con una introducción en el capítulo 1 donde
se abarcan los conceptos más importantes y una breve reseña histórica. Posteriormente se van
desarrollando las técnicas de resolución de problemas más importantes: los Sistemas Basados
en Conocimiento en los capítulos 2 y 3; la Simulación Basada en Conocimiento en el capítulo 4; el
Procesamiento de Lenguaje Natural en el capítulo 5; las Redes Neurales Artificiales en el capítulo
6 y los Algoritmos Genéticos en el capítulo 7.
También he querido incorporar el material básico necesario para la comprensión y uso de tres
lenguajes de programación muy importantes dentro del contexto de la Inteligencia Artificial, como
lo son Prolog, Lisp y OPS-5. Esto se encuentra en el capítulo 8, último de este libro.
Mauricio Paletta
Prológo
Capítulo
Introducción a la Inteligencia Artificial
En este capítulo se presenta la Inteligencia
Artificial (IA) bajo un entorno introductorio,
mostrando principalmente los conceptos básicos,
un poco de su historia y las técnicas de resolución
de problemas más importantes.
1
Mauricio Paletta
14Índice
1.1. Conceptos básicos
Cada vez que me ha tocado definir la Inteligencia Artificial (IA) hago uso de los dos términos
que se utilizan en el concepto y digo que IA es hacer artificial la inteligencia. Si bien esta defini-
ción no llega al nivel de detalle adecuado, no está del todo errada ya que el objetivo de la IA es
precisamente ese. Lo que sí debe quedar claro es que para entender lo que IA es, hay que saber
qué es inteligencia y qué es hacer algo artificial.
Muchos autores han escrito varias definiciones sobre IA y todas ellas conllevan a la realización
de elementos no naturales que tengan que ver con la inteligencia humana. La diferencia en estas
definiciones está en la parte de la inteligencia humana que se quiere hacer artificial. Los autores
Russell y Norving1
dividen las definiciones dadas a la IA (ver tabla 1.1) en cuatro categorías:
Actuar como los humanos. En este esquema se dice que algo tiene comportamiento in-1.	
teligente cuando es capaz de desarrollar tareas cognitivas que están al mismo nivel que los
humanos2
.
Pensar como los humanos. Para saber si algo piensa como un humano, es importante2.	
primero saber cómo los humanos pueden pensar. Este es el principio de los modelos cogni-
tivos y su ciencia implícita.
Actuar racionalmente. Comprende el estudio de los agentes racionales, es decir, entes3.	
capaces de percibir su ambiente y actuar sobre él en respuesta de lo percibido.
Pensar racionalmente. Basado en las leyes del pensamiento a la que se incluye el razo-4.	
namiento lógico y que datan desde la Grecia antigua3
.
Tabla 1.1
Definición de AI dad por varios autores
1
Artificial Intelligence: A modern approach; Stuart Russell and Peter Norving; Prentice Hall, 1995 (ISBN: 0-13-103805-2)
2
El primero que propuso esta idea fue Alan Turing en 1950 el cual desarrolló un proceso para proveer una definición operativa de inteligen-
cia. Este proceso se conoce con el nombre de Prueba de Turing y consiste en que un humano interrogue a una computadora (o cualquier otro
elemento artificial) a través de una vía oculta (el humano ni sabe ni puede ver a quién está interrogando) y se pasa la prueba si el interrogador
humano no es capaz de saber si el que está del otro lado es una máquina u otro humano.
3
El filósofo griego Aristóteles fue uno de los primeros que intentó entender y explicar el proceso de razonamiento.
Pensar como los humanos
“El nuevo esfuerzo excitante de hacer computadoras
pensantes (máquinas con mentes) en todo sentido”
Haugeland, 1985.
“La automatización de actividades que asociamos
con el pensamiento humano tales como la toma de
decisión, la resolución de problemas, el apren-
dizaje…”
Bellman, 1978.
Actuar como los humanos
“El arte de crear máquinas que ejecutan funciones
que requieren inteligencia…”
Kurzweil, 1990
“El estudio de cómo hacer computación que hagan
cosas en la forma y momento mejores que las
personas”
Rich & Knight, 1991.
Pensar racionalmente
“El estudio de las facultades mentales a través del uso de
modelos computacionales”
Charniak & McDermott, 1985.
“El estudio de la computación que hace posible la percep-
ción, el razonamiento y la actuación”
Winston, 1992.
Actuar racionalmente
Un campo de estudio que busca explicar y emular el
comportamiento inteligente en términos de procesos
computacionales”
Schalkoff, 1990
“La rama de la ciencia de la computación que se encarga
de la automatización del comportamiento inteligente”
Luger & Stubblefield, 1993.
Inteligencia Artificial Básica
15Índice
Pensando en una generalización de las cuatro categorías anteriores y tomando un poco de
cada una de estas definiciones, he formulado mi definición de IA como sigue:
Es la ciencia de emular procesos propios de la inteligencia humana tales como la per-
cepción, el razonamiento y el aprendizaje, haciendo uso de modelos no naturales.
Lo primero que resalta en esta definición es ver a la IA como una ciencia, ya que ha demos-
trado ser y es una doctrina de trabajo e investigación. Una de las palabras que mejor se asocian
al concepto de IA es “emular”, que quiere decir copiar o imitar de forma tal de llegar a ser igual
o mejor que la fuente. De hecho, la IA es posible gracias a que existe la inteligencia natural. Es
importante estar claro que la IA no busca innovar o descubrir nuevos comportamientos sino hacer
que los comportamientos propios naturales o humanos se puedan imitar de forma aceptable4
.
En lo que va del capítulo ha aparecido varias veces el concepto de inteligencia, humana por
supuesto y no se ha presentado una definición. La mayoría de las veces la inteligencia se con-
funde con otro concepto importante que es el de conocimiento. En realidad tienen mucho que ver
el uno con el otro, pero ambos deben ser claramente diferenciados.
Se puede definir la inteligencia como la habilidad para manejar el conocimiento que se
dispone para la toma de una decisión para la rápida solución de un problema.
Como se puede ver en esta definición, la inteligencia no es el conocimiento que se tiene, sino
la habilidad para manejarlo. Cuando se comparan dos personas por su inteligencia, es decir, se
dice que una persona es más inteligente que otra, no se quiere aludir a que una persona tiene
más conocimiento que la otra sino que ha usado su conocimiento de una forma más hábil. Este
comportamiento lo podemos ver por ejemplo, cuando dos alumnos que han sido alimentados con
el mismo conocimiento y durante una prueba, uno de ellos termina exitosamente mucho antes
que el otro que pudiera hasta incluso no terminar en el tiempo previsto. De hecho, es muy común
en el ámbito académico la frase ¡…si es inteligente!.
Esto quiere decir que el principal objetivo de la IA no es buscar emular el conocimiento natural
de alguien sino los procesos que permiten que el manejo de este conocimiento sea efectivo y efi-
ciente. De hecho, los tres procesos más importantes de la inteligencia humana son la percepción,
el razonamiento y el aprendizaje.
La percepción le permite al ser humano interactuar con el medio ambiente que lo rodea; el
razonamiento es la búsqueda de una respuesta hacia las necesidades percibidas y el aprendi-
zaje es la forma en la cual se puede reforzar o aumentar lo que se sabe (conocimiento) sobre el
4
Cuando me ha tocado dictar una cátedra de IA en la universidad, le digo a mis alumnos en son de broma, que los que trabajamos en IA somos
unos “copiones” o “emuladores”.
Mauricio Paletta
16Índice
ambiente o la forma en la cual se puede actuar sobre él. Estas son las tres funciones básicas de
un autómata racional.
El conocimiento es uno de los cuatro tipos de información5
que almacena todo lo que
un ente sabe sobre su ambiente.
Para concluir con la definición de IA, un modelo no natural o artificial es aquél que es realizado
por la mano del hombre mediante elementos mecánicos, electrónicos, eléctricos, etc., siendo el
más importantes los medios computacionales.
Dado la gran cantidad de tópicos involucrados en la IA se pueden identificar otras ciencias
en la cual ésta se fundamenta: la filosofía (desde el 428 a.C.), la matemática (desde el 800), la
psicología (desde el 1879), la ingeniería de la computación (desde el 1940) y la lingüística (desde
el 1957).
1.2. Algo de historia
Para hablar de historia de la IA hay que hablar de una etapa de prehistoria en la cual el hombre
hacía IA sin que ésta existiera formalmente y una etapa que va desde su nacimiento formal hasta
el desarrollo actual.
La prehistoria de la IA abarca desde los primeros tiempos de nuestra civilización hasta me-
diados del siglo veinte. Los hechos más importantes a considerar en este período son aquellos
que están relacionados con la construcción de autómatas6
. Ya en la Grecia antigua encontramos
obras donde se hace mención a autómatas . Por otro lado, la tradición judía creó el mito del
“golem”, una figura hecha de arcilla a la que un rabino podía dar vida propia, convirtiéndola en
criado.
Durante el siglo XVIII empezaron a aparecer mecanismos como los de Jacques de Vaucan-
son, como por ejemplo el flautista que movía los dedos (1737) y el pato que era capaz de nadar,
batir alas, comer y hasta expulsar excrementos simulados (1738).
En 1912 Torres Quevedo construyó un autómata para jugar el final de ajedrez de rey y torre
contra rey. El escritor Capek, en su obra RUR (1920) presenta unos seres creados para realizar
las tareas que el hombre no quiere hacer, que acaban siendo más poderosos que éste poniendo
en peligro su existencia.
5
Los otros tres tipos de información son los datos, el texto y las imágenes. La informática o manejo artificial de la información ofrece herramien-
tas automatizadas para el procesamiento de cada uno de ellos.
6
Iliada, canto XVIII, V. 368-384 y 410-423; “…veinte trípodes que tenían ruedas de oro para que de propio impulso pudieran entrar donde los
dioses se reunían y volver a casa…”; “…dos estatuas de oro semejantes a vivientes jóvenes, pues tenían inteligencia, voz y fuerza…”.
Inteligencia Artificial Básica
17Índice
Con la aparición de la computación y junto a la idea que se tenía de los autómatas, se dieron
los primeros pasos para la formalización del razonamiento y las máquinas que estaban a punto
de surgir tras la segunda guerra mundial7
.
El último concepto importante a mencionar en esta etapa de prehistoria es el de cibernética
y con él todos aquellos procesos propios que le son característicos, entre los cuales destacan la
realimentación, el control y la autoorganización.
La gestación de la IA se da entre 1943 y 1956. El trabajo de Warren McCulloch y Walter Pitts8
en 1943 es el que generalmente se reconoce como el primero de IA realizado. En este trabajo se
define el primer modelo de neurona artificial, que luego sirvió de base para la realización de otros
trabajos como el de Donald Hebb9
en 1949 y los de Marvin Minsky y Dean Edmonds en 1951.
Fue en el año de 1956 cuando aparece por primera vez el nombre de Inteligencia Artificial,
ya que ese fue el nombre que se le dió al grupo de investigación que para la fecha contaba con
actividades en teoría de autómatas, redes neurales artificiales y el estudio de la inteligencia. Este
pequeño grupo de personas10
se reunió gracias a la realización de la conferencia de Darmouth
con el patrocinio de la Fundación Rockefeller. Uno de los temas que más se discutió en esta
conferencia fue el trabajo sobre la lógica teórica, considerado como el primer programa de IA y
usado para resolver problemas de búsqueda heurística.
Entre los años de 1952 y 1969 es cuando se puede apreciar el primer entusiasmo sobre IA y
hay grandes expectativas por sus resultados. Hacia 1961 Allen Newell y Herbert Simon terminan
(su comienzo se remonta desde 1957) su trabajo referido a la resolución de problemas genera-
les (GPS). En este trabajo se imitan los protocolos humanos para resolver problemas aplicando
técnicas de resolución codificada. En 1956 Arthur Samuel desarrolló un programa que estaba
capacitado para aprender el juego de damas. Este programa fue mostrado en televisión causan-
do gran impresión para la fecha. El investigador John MacCarthy del MIT diseñó en 1958 uno de
los lenguajes de programación más importantes de IA. El objetivo de este lenguaje, llamado Lisp,
es usar conocimiento para buscar solución a los problemas haciendo uso de la representación
simbólica. Herbert Gelernter desarrolló en 1959 un programa para probar teoremas de geome-
tría elemental y Slage comenzó la automatización de la integración simbólica con su programa
“Saint” (llamado más tarde “Macsyma”).
Durante los años que pasaron entre 1966 y 1974 se desarrollaron varios trabajos que le dieron
a la IA una dosis de realidad. Entre los más importantes destaca ELIZA 11
, desarrollado en 1965
7
No es extraño que la aparición de las primeras máquinas electrónicas de cómputo fuera seguida inmediatamente por los intentos de aplicarlas a
lo que hoy llamamos IA.
8
A logical calculus of the ideas imminent in nervious activity. Trabajo de mucha importancia histórica en el área de las redes neurales artificiales.
9
The organization of behavior. Con este trabajo se inician los procesos de investigación en el campo del aprendizaje automático. Como producto
de este trabajo se tiene la muy conocida regla de aprendizaje de Hebb.
10
Los nombre que más destacan por su importancia en la investigación de IA para la fecha son: John McCarthy, Marvin Minsky, Claude Shan-
non, Nathaniel Rochester, Trenchard More, Arthur Samuel, Ray Solomonoff y Oliver Selfridge.
11
Fue creado como un programa de psicología que simula las respuestas de un terapista en diálogo interactivo con un paciente. ELIZA causó
Mauricio Paletta
18Índice
por Weizenbaum. Se trata de un programa para el estudio de la comunicación hombre-máquina
mediante el lenguaje natural interactivo. Otro de los trabajos importantes durante este período
fue la definición del modelo neural conocido como “propagación hacia atrás” (backpropagation)
desarrollado por Bryson y Ho en 1969.
A partir de 1969 se produjo la institucionalización de la comunidad científica que trabajaba en
IA; tuvo lugar el primer congreso internacional de IA. En 1970 apareció el primer número de la
revista Inteligencia Artificial, una importante fuente de publicación de los trabajos de investigación
más destacados del área.
Los sistemas basados en conocimiento ganaron mucha fuerza entre los años 1969 y 1979. A
este respecto se tienen los proyectos “Dendral”12
, “Mycin”13
y “Prospector”14
como los más im-
portantes. Otro desarrollo importante en este período fue la concepción de los marcos (“frames”)
como esquema de representación del conocimiento (M. Minsky - 1975). Entre 1971 y 1976 la
Agencia de Investigación de Proyectos Avanzados para la Defensa de los Estados Unidos (DAR-
PA) financió las investigaciones relacionadas con la capacidad de comprensión del lenguaje y el
desarrollo de la teoría de la visión y del hardware para el procesamiento de imágenes.
Alain Colmerauer define, en 1975, el lenguaje de programación Prolog que representa uno
de los lenguajes más importantes dentro de la investigación de IA ya que libera al programador
de la necesidad de especificar los procedimientos de resolución de problemas. La aparición de
lenguajes declarativos como éste fue un paso importante para la IA.
Para los años que van desde el 1980 hasta el 1988 se reconoce el ingreso definitivo de la IA en
la industria. La prueba más significativa de esto es la puesta en operación comercial del XCON,
un sistema capaz de almacenar y manejar el conocimiento necesario para la configuración de
equipos DEC a gusto del cliente, desarrollado por J. McDermott en 1981. En ese mismo año se
publica el primer volumen del Handbook de IA elaborado por A. Barr. Otro aspecto relevante en
este período fue el llamado Proyecto de la Quinta Generación de Computadoras anunciado por
los japoneses15
.
gran impresión ya que las personas que mantenían un diálogo con el programa creían que hablaban con un psicólogo humano.
12
Para la predicción de fórmulas estructurales en complejos orgánicos a partir de mediciones con espectrógrafos de masas, espectros de resonan-
cia nuclear y análisis químico. Desarrollado en 1969 por Ed Feigenbaum, Bruce Buchanan y Joshua Lederberg.
13
Para el diagnóstico y determinación de terapia en enfermedades infecciosas. Desarrollado en 1971 por Ed Feigenbaum, Bruce Buchanan y el
Dr. Edward Shortliffe.
14
Para la búsqueda de yacimientos de minerales y petróleo. Desarrollado por R. O. Duda y su grupo en 1979.
15
Mediante la unión de la industria y gobierno japoneses se concibió el Instituto para la Nueva Generación de Tecnología de Computadoras
(ICOT) dedicado a la investigación en las áreas de hardware, software y aplicaciones, con el fin de formular una teoría unificada para todo
el campo de representación y procesamiento de la información. El grupo de hardware se concentra en una arquitectura caracterizada por la
inferencia secuencial, inferencia en paralelo y el desarrollo de máquinas para base de datos afines. La investigación en el área de software está
en la búsqueda de un lenguaje que sea el núcleo del proyecto (incluyendo sistema operativo, procesamiento de lenguaje natural y representación
del conocimiento). El último grupo combina los resultados de los dos primeros en la labor sobre sistemas de gestión de bases de datos afines y
sistemas basados en conocimiento. El mayor logro obtenido en los primeros cuatro años del proyecto fue una máquina basada en conocimiento
llamada Delta (comprende un sistema de inferencia, un sistema de conocimiento, un sistema de software y un sistema para el desarrollo de
prototipos de software).
Inteligencia Artificial Básica
19Índice
En la actualidad se aprecia un auge importante en el área de las redes neurales artificiales
gracias a la gran cantidad de aplicaciones y trabajos de investigación realizados16
. Entre los tra-
bajos más importantes que destacan en estos últimos años está “SOAR”, el mejor ejemplo de IA
conocido de arquitectura completa para un agente17
. Las actividades recientes de investigación
en IA se están integrando con otros temas de interés en la automatización computarizada, como
lo son la orientación a objetos, la realidad virtual, el avance en la interfaz gráfica y los multime-
dios. Algunos autores identifican esta fusión de conceptos como Computación Emergente.
En la tabla 1.2 se presenta de forma cronológica los acontecimientos que resaltan dentro de
la historia de la investigación en IA, varios de ellos mencionados anteriormente.
Tabla 1.2
Historia de los acontecimientos en IA
16
El trabajo Parallel Distributed Processing desarrollado por Rumelhart y McClelland en 1986 es uno de los que más evidencia este hecho.
17
Desarrollado por Allen Newell, John Laird y Paul Rosenbloom en 1990.
Fecha Autores Acontecimiento
1958 John McCarthy Programs with Common Sense; definición del lenguaje Lisp.
1959 Herbert Gelernter Geometry Theorem Prover.
Slage SAINT. Automatización de la integración simbólica.
Arthur Samuel Estudios en máquinas de aprendizaje usando el juego del ajedrez. Publicado en
una revista de investigación de IBM.
1961 Allen Newell
Herbert Simon
General Problem Solver (GPS).
1962 Frank Rosenblatt Perceptron. Primer modelo neural completo.
1963 E. A. Feigenbaum
J. Feldman
Computadoras y Razonamiento.
1964 D. G. Bobrow STUDENT; programa de lenguaje natural que comprende y resuelve problemas
elevados de álgebra.
1965 Weizenbaum ELIZA; programa que simula las respuestas de un terapista en diálogo interactivo
con un paciente.
1966 R. D. Greenblat Programa de ajedrez capaz de competir con éxito en torneos.
1968 Marvin Minsky Procesamiento de información semántica.
1969 Primer Congreso Internacional de Inteligencia Artificial.
M. Minsky
S. Papert
Perceptrons. Libro que presenta una crítica sobre el modelo dado por Rosenblatt.
Bryson & Ho Backpropagation.
Ed Feigenbaum
Bruce Buchanan
Joshua Lederberg
DENDRAL; sistema experto para la predicción de fórmulas estructurales en
complejos orgánicos.
1970 Primer número de la revista Inteligencia Artificial.
Fecha Autores Acontecimiento
1943 Warren McCulloch
Walter Pitts
A logical calculus of the ideas imminent in nervious activity.
Primer modelo de neurona artificial.
1949 Donald Hebb The organization of behavior. Aprendizaje automático.
1950 Alan Turing Inteligencia y Funcionamiento de Máquinas; la prueba de Turing.
1955 Allen Newell
J. C. Shaw
Herbert Simon
Information Proccessing Languahe II (IPL-II). Primer lenguaje de IA.
1956 John McCarthy
Marvin Minsky
Claude Shannon
Nathaniel Rochester
Trenchard More
Arthur Samuel
Ray Solomonoff
Oliver Selfridge
Arthur Samuel
Conferencia de verano de Darmouth; surge el nombre de IA.
Programa para aprender a jugar damas.
Mauricio Paletta
20Índice
Fecha Autores Acontecimiento
R. O. Duda
P. E. Hart
Clasificación de modelos y análisis de escenas.
1975 Marvin Minsky Frames; esquema de representación del conocimiento.
DARPA Programa de Comprensión de Imagen.
La Psicología de la visión con computadoras.
R. C. Schank
R. Abelson
SAM; uso de la escritura en las representaciones de dependencia conceptual.
D. G. Bobrow
A. Collins
Representación e Inteligencia.
Alain Colmerauer Definición del lenguaje Prolog.
1976 D. B. Lenat AM; programa de aprendizaje que define y evalúa conceptos matemáticos con
teoría de conjuntos y números.
R. Davis TEIRESIAS; usa metaniveles de conocimiento para entrar y actualizar bases de
conocimiento usadas en sistemas expertos.
1979 R. O. Duda y grupo PROSPECTOR; sistema experto para la búsqueda de yacimientos de minerales
y petróleo
1980 J. McDermott XCON; sistema experto para la configuración de equipos DEC.
1981 Proyecto de la Quinta Generación de Computadoras; anunciado por los japone-
ses.
A. Barr Publicación del primer volumen del Handbook de IA.
1984 Conferencia Internacional sobre la Quinta Generación.
1986 Rumelhart & McClelland Parallel Distributed Proccessing.
1987 David Chapman Planificación usando estructuras simples.
Berliner HITECH; primer programa computarizado en derrotar a un maestro en ajedrez
(Arnold Denker).
1988 Judea Pearl Razonamiento probabilístico en sistemas inteligentes.
1990 Allen Newell
John Laird
Paul Rosenbloom
SOAR; arquitectura completa para agente.
1992 Schwuttke MARVEL; sistema experto tiempo-real que monitorea los datos transmitidos por
una nave espacial.
1993 Pomerleau Sistema robótico para conducir un vehículo con capacidad de aprendizaje.
1994 Zue PEGASUS; sistema de reservaciones de vuelos aéreos con interacción telefónica
con los clientes.
Tabla 1.2 (Continuación)
Historia de los acontecimientos en IA
Terry Winograd SHRDLU; parte de un proyecto de comprensión del lenguaje natural capaz de
comprender y ejecutar correctamente órdenes dadas en inglés sobre un dominio
específico.
P. H. Winston Descripciones de ejemplos de aprendizaje estructural; se describe el programa
ARCHES que aprende de ejemplos.
1971 Ed Feigenbaum
Bruce Buchanan
Edward Shortliffe
MYCIN; sistema experto para el diagnóstico y determinación de terapia en enfer-
medades infecciosas.
N. Nilsson
R. Fikes
STRIPS; planifica proyectos mediante la secuencia de operadores.
1972 SRI Internacional SHAKEY; robot móvil capaz de recibir instrucciones y planear acciones inteligen-
tes para realizar tareas.
1973 William Woods LUNAR; sistema de recuperación de la información para un sistema gramatical
de lenguaje natural. Usado por el Apolo 11 para evaluar los materiales traídos de
la Luna.
J. D. Myers
H. E. Pople
INTERNIST; sistema para el diagnóstico de las enfermedades humanas.
SUMEXAIM (Proyecto Experimental de IA en Medicina con Computadoras de la
Universidad Médica de Stanford).
R. C. Schank Dependencia conceptual: una teoría para la comprensión del lenguaje conceptual.
R. C. Schank
K. M. Colby
Modelos de razonamiento y lenguaje con computadoras.
Fecha Autores Acontecimiento
Inteligencia Artificial Básica
21Índice
1.3. Técnicas de resolución de problemas
La IA brinda un amplio conjunto de técnicas para la resolución de una gran variedad de pro-
blemas. Desde el punto de vista de lo que se pretende emular, hay dos corrientes claramente
identificadas:
Emulación estructural. Busca el logro de un resultado copiando la estructura del cerebro•	
humano.
Emulación funcional. Busca el logro de un resultado emulando las características funcionales•	
del cerebro humano.
En los siguientes párrafos se presenta una breve definición de las técnicas más importantes
de la IA, muchas de ellas desarrolladas en capítulos posteriores de este libro.
Sistemas Basados en Conocimiento. Son sistemas capaces de resolver o asistir en la re-
solución de problemas que requieren de experiencia o inteligencia humana. Pertenecen al grupo
de trabajo de la emulación funcional. En la figura 1.1 se muestra la evolución de estos sistemas
los cuales seran desarrollados en detalle en el capítulo 2.
Figura 1.1
Evolución de los Sistemas Basados en Conocimiento
Sistemas Inteligentes de Tutoría. Son sistemas que modelan el comportamiento de instruc-
tores y participantes en un proceso de aprendizaje. Representan casos particulares de Sistemas
Basados en Conocimiento, donde el conocimiento es suministrado por los instructores en función
de lo que se enseña y a quien se enseña. Por supuesto, al igual que en el caso de los Sistemas
Basados en Conocimiento, se orientan hacia la emulación estructural. La figura 1.2 muestra la
evolución de estos sistemas.
Sistemas de procesamiento por lotes
Sistemas en línea
Sistemas de información gerencial
Sistemas de soporte de decisiones
Sistemas basados en conocimiento
Mauricio Paletta
22Índice
Figura 1.2
Evolución de los Sistemas Inteligentes de Tutoría
En este tipo de sistemas se desarrollan ambientes interactivos con un énfasis en el aprendiza-
je y el uso de elementos de multimedia (manejo de sonido, procesamiento de imágenes, etc.).
Los Sistemas de Tutoría se basan en el principio de “aprender haciendo” y le permiten al
alumno no sólo nuevas formas de abordar el proceso de aprendizaje sino también explorar nuevo
conocimiento de carácter más general que el ligado a un dominio específico. Hay cuatro esque-
mas para realizar la enseñanza:
La pizarra electrónica. El papel del sistema es llevar registro de una forma estructurada, de1.	
todas las actividades que el alumno va realizando para atacar un problema. Permite realzar
el proceso de resolución con el objetivo de reflexionar sobre el conocimiento estratégico
agregando una nueva perspectiva al aprendizaje.
En este esquema de trabajo, el alumno selecciona las reglas a aplicar de un menú de opcio-
nes que se le ofrece y en pasos sucesivos. Un área de la pizarra llamada espacio de búsqueda
refleja todo el proceso de exploración hasta llegar a la solución (se representa mediante una
estructura de árbol). Otra zona de la pizarra llamada traza muestra el camino junto con las reglas
aplicadas para llegar al resultado.
La idea fundamental de la pizarra electrónica es destacar la importancia del proceso para
encontrar la solución. En todo momento el alumno puede reflexionar sobre su actividad, observar
el camino que sigue, intentar compararlo con otras actividades, etc. Se trata, por lo tanto, de fo-
mentar no sólo el aprender a resolver problemas en un dominio concreto sino mejorar al mismo
tiempo la forma de aprender a partir del estudio crítico del espacio de búsqueda desarrollado,
razonar el por qué se ha aplicado una cierta regla siguiendo un camino determinado, etc.
Las bases de conocimiento. El alumno describe en forma de reglas cómo resolver pro-2.	
blemas; el sistema permite comprobar mediante simulación si estas reglas expresan o no
Entrenamiento basado
en computadores
Instrucción basada en
computadores
Sistemas Inteligentes
de Tutoría
Inteligencia Artificial Básica
23Índice
el comportamiento deseado. El objetivo principal es estimular la capacidad de plantear
hipótesis, analizar datos, experimentar y aprender de los errores haciendo énfasis en el
conocimiento estratégico.
La máquina diagnosticadora. Es una variante de la pizarra electrónica en la cual se le3.	
agrega al sistema la capacidad de detección de errores concluyendo sobre las causas
conceptuales que los originan. Este razonamiento es fundamental para realizar luego una
corrección eficaz.
Se basa en la hipótesis del error estructural, que establece que una vez que se diagnostica
el error, el sistema es capaz de predecir el comportamiento del alumno frente a un nuevo pro-
blema. Este entorno ha sido utilizado para desarrollar la capacidad de análisis y las técnicas de
diagnóstico de los estudiantes. Se trata en definitiva de dar un papel positivo al error, como punto
principal de reflexión para mejorar el proceso de aprendizaje.
La asistencia inteligente4.	 18
. Los sistemas se estructuran en torno a un tutor automático que
realizan las actividades de seguimiento, diagnóstico de errores, reparación y exposición
de conceptos, que conforman el papel del profesor en una sesión de enseñanza perso-
nalizada. El conocimiento y las diversas funciones del sistema se distribuyen en cuatro
módulos:
Un experto capaz de resolver problemas en el dominio que se desea enseñar. Comprende la•	
representación del conocimiento sobre el dominio ya que para enseñar es necesario conocer
a fondo el tema objeto de aprendizaje.
Un modelo del alumno que refleja su estado de aprendizaje. La tarea de enseñar requiere un•	
análisis continuo de la actividad del estudiante, en particular de la evaluación de sus respues-
tas. El tutor no sólo debe detectar los errores, sino también establecer un diagnóstico que
le permita tomar una iniciativa adecuada para corregirlos. La base de un buen diagnóstico
es conocer lo que el estudiante sabe, por eso es que el tutor debe construir a lo largo de su
interacción con el alumno un modelo del conocimiento que éste va adquiriendo en el proceso
de aprendizaje19
.
Un tutor conocedor de estrategias de enseñanza, diagnóstico y explicación. El experto es la•	
herramienta que el tutor usa para enseñar pero además hay un conocimiento pedagógico
que es necesario incorporar para organizar el proceso de aprendizaje. Este conocimiento de-
termina la forma en la cual se debe enseñar una determinada materia. El modelo pedagógico
18
Sistemas Inteligentes de Enseñanza Asistida (ICAI).
19
Se presentan tres modelos: el modelo overlay ve al estudiante como un miniexperto en el sentido que su conocimiento es un subconjunto del
conocimiento del tutor, que va creciendo a lo largo del aprendizaje; el modelo diferencial pone el énfasis en el análisis comparativo entre los
resultados del experto y los obtenidos por el alumno; el modelo de grafo genético considera que es importante no sólo representar la situación
final de cada sesión, sino que es también fundamental conocer cómo se han adquirido.
Mauricio Paletta
24Índice
se formaliza mediante los procedimientos de discurso para determinar la forma de explica-
ción y por medio de las reglas de enseñanza para estimar el interés de un tema, seleccionar
un procedimiento de discurso y mantener el modelo del alumno.
Una interfaz tutor-alumno que gestione el diálogo, preferiblemente en lenguaje natural.•	
Robótica. Rama que se ocupa de la creación de máquinas que automatizan tareas principal-
mente mecánicas que requieren de capacidad humana. Se orienta hacia la emulación estructu-
ral. El término robot designa una importante variedad de ingenios provistos de capacidades muy
diferentes y dirigidos a campos diversos de aplicación20
.
Es importante mencionar que todos los sentidos corporales (gusto, olfato, tacto, vista y audi-
ción) se pueden automatizar hoy en día. Es decir, actualmente es posible tener un ente artificial
capaz de reconocer olores, sabores y texturas, que puede entender lo que oye y que puede
reconocer lo que ve. El problema está en el dominio de elementos que puede reconocer en un
momento dado, es decir, hacer que el comportamiento de los robots sea más inteligente.
Uno de los objetivos de investigación en esta área es el de poder modificar los planes de ac-
ción en tiempo real o durante el trabajo e incorporar una reacción apropiada según el resultado.
Esta estrategia de crear un plan con sentido a partir de capacidades elementales se puede usar
también para crear planes nuevos. Por otro lado, se requiere atender también otras capacidades
para lograr que un robot no sea monótono en su actividad. Para poder convertir éstas y otras
capacidades más avanzadas en realidad, se están usando técnicas como las siguientes:
Solución de problemas en espacios tridimensionales y de geometría de objetos.•	
Optimización de procesos de movimiento y coordinación.•	
Tratamiento de señales sensoriales (datos visuales, electrónicas, etc.).•	
Sistemas de planificación que coordinan informaciones espaciales, temporales y sensoria	•	
les, para realizar la tarea de forma óptima o para coordinar varios robots en una producción
en serie.
Son muchas las áreas de aplicación de la robótica pero las más importantes son en la indus-
tria, en los procesos de manufactura y en la investigación y exploración espacial21
. La figura 1.3
muestra como ha evolucionado esta ciencia en el tiempo.
Desde el punto de vista industrial, los robots se pueden dividir en dos grandes familias: los
móviles y los poliarticulados. Los robots móviles pueden ser rodantes y multípodos (locomoción
basada en dispositivos que se asemejan a patas o piernas de animales). Los robots poliarticu-
20
La palabra robot procede del eslavo antiguo “robota”, que en checo significa esclavitud o servidumbre.
21
Hoy en día hay proyectos de biología, genética, etc. orientados hacia la robótica. En una conferencia nacional americana de IA (AAAI) en la
que tuve la oportunidad de asistir, se presentó un proyecto que trataba sobre un micro-robot-biológico que al inyectarse en las venas, era capaz
de reconocer componentes de grasa adheridos en las mismas y devorarlos con el objetivo de reducir el riesgo de infarto.
Inteligencia Artificial Básica
25Índice
lados o también llamados robots industriales son aquellos que se reconocen por tener un brazo
mecánico poliarticulado.
Figura 1.3
Evolución de la Robótica
Según el nivel de complejidad de su sistema de control, el robot puede ser manipulador se-
cuencial (sus movimientos están definidos en forma discreta), reproductor (mediante una técnica
de guiado, se les enseña unos movimientos que se repiten invariablemente tantas veces como
se les solicite), de control numérico (permiten la realización de trayectorias continuas, definidas
por guiado o mediante un programa en lenguaje simbólico) e inteligente (tienen capacidades de
percepción evolucionada de su entorno y la generación automática de planes de acción, apren-
dizaje a partir de la propia experiencia, toma de decisiones, etc.).
Procesamiento de Lenguaje Natural. Son interfaces que permiten al usuario comunicarse
con una máquina haciendo uso de su lenguaje habitual. Se orientan a la emulación funcional y su
evolución se muestra en la figura 1.4. En sistemas de este tipo parte de la información a procesar
está codificada en lenguaje natural y se aplican algoritmos para el análisis sintáctico, semántico y
pragmático de la información y para la generación en lenguaje natural. Dentro de los campos de
investigación más importantes de esta área están la comprensión de textos, la traducción auto-
mática y la generación de resúmenes. El capítulo 5 desarrolla este tema en detalle.
Figura 1.4
Evolución del Procesamiento de Lenguaje Natural
Robots mecánicos
Robots con componentes electrónicos
Robots programables
Robots de propósito múltiple
Robots inteligentes
Procesamiento por
análisis sintáctico
Procesamiento por
análisis semántico
comprensión del
lenguaje
Mauricio Paletta
26Índice
Sistemas Neurales o Conexionistas. Esquemas de procesamiento paralelo distribuido que
tratan de emular la forma en la cual las neuronas cerebrales se organizan para realizar su proce-
samiento. Es evidente su influencia en el grupo de trabajo de la emulación estructural. Se estudia
en el capítulo 6.
Algoritmos Genéticos. Sistemas inspirados en la evolución natural derivada de la genética,
que simula la evolución de una población de cromosomas hasta llegar a un óptimo global me-
diante operaciones locales de reproducción, modificación y selección. Se orientan en la emula-
ción estructural y se estudian en detalle en el capítulo 7.
1.4. Agentes
Cualquier cosa que puede percibir su ambiente a través de sensores y actuar sobre el am-
biente mediante elementos ejecutores se denomina un agente (figura 1.5). Cuando un agente
tiene autonomía y es capaz de tomar decisiones sobre su forma de actuar para realizar las cosas
bien, se dice que es un agente racional. Para reconocer que un ente es racional, hay que tomar
en cuenta cuatro factores:
• Una medida que defina el grado en el cual el ente es exitoso en su forma de actuar,
• Mantener registro de todo lo que el ente percibe,
• Todo lo que el ente conoce sobre el ambiente y
• El conjunto de acciones que el ente es capaz de ejecutar.
Figura 1.5
Un agente en interacción con el ambiente
Esto nos lleva a la definición de un agente racional ideal:
“Para cada posible secuencia que se percibe, un agente racional ideal debe de ejecutar
la acción que maximiza su medida de éxito, basado en la evidencia que se da con lo per-
cibido y en el conocimiento que el agente tiene”.
Inteligencia Artificial Básica
27Índice
El ambiente lo constituyen todos los elementos externos al agente. Presenta las siguientes
propiedades:
Si es o no accesible. Se dice que un ambiente es accesible si los sensores del agente son•	
capaces de percibir todos los aspectos que son relevantes para tomar una acción. El aje-
drez, por ejemplo, representa un ambiente accesible ya que el jugador tiene toda la informa-
ción necesaria a la vista para decidir el juego; el póker por el contrario, es un ambiente no
accesible.
Si es o no determinístico. Un ambiente es determinístico si el estado siguiente es determina-•	
do completamente por las acciones seleccionadas y ejecutadas por el agente sobre el estado
actual. Por ejemplo, un sistema de diagnóstico médico es no determinístico mientras que un
sistema de análisis de imágenes si lo es.
Si es o no episódico. Un episodio consiste en la percepción-actuación de un agente. Si la•	
experiencia del agente se divide en episodios, se dice que el ambiente en el cual él actúa es
episódico. Las acciones que se toman sobre un episodio no dependen de aquellas que se
tomaron en los episodios anteriores. Como ejemplo se pueden citar un robot manipulador
secuencial para un ambiente episódico y el control de una refinería como no episódico.
Si es estático o dinámico. Si el ambiente puede cambiar mientras el agente está deliberando,•	
se dice que el ambiente es dinámico. Un taxista, por ejemplo, se desenvuelve sobre un am-
biente dinámico mientras que un jugador de ajedrez en un ambiente estático.
Si es discreto o continuo. Si hay un número limitado de percepciones distintas claramente•	
definidas, el ambiente es discreto. Un profesor interactivo de idiomas es discreto mientras
que el control de una refinería es contínuo.
Dado que el comportamiento de un agente depende de la forma en la cual éste actúa en fun-
ción de lo que percibe, se tiene la posibilidad de mantener una tabla que contenga las relaciones
entre todas las acciones que se pueden hacer con respecto a todo lo que se puede percibir. A
esta tabla se le llama un mapa de las secuencias de percepción a las acciones. Hay que conside-
rar que para algunos agentes, esta información puede ser muy extensa y hasta infinita. Si sólo se
requiere un mapa para definir a un agente, un mapa ideal define un agente ideal: “Al especificar
las acciones que un agente debe ejecutar en respuesta de alguna percepción particular, se tiene
un diseño para un agente ideal”.
Un ejemplo de mapas son las tablas de comportamiento de cualquier función. Todas las po-
sibles combinaciones de valores de los parámetros de entrada de la función, determinan las
Mauricio Paletta
28Índice
secuencias que el agente percibe. Lo que retorna la función para cada secuencia de valores de
entrada, es la respuesta del agente asociada a esa percepción.
Una forma de reducir el tamaño de los mapas es limitando el ambiente de percepción del
agente. Los agentes deben resolver una variedad limitada de tareas en una variedad limitada de
ambientes.
Uno de los aspectos importantes que hay que tomar en cuenta en la definición del agente ra-
cional ideal es la parte que maneja el conocimiento. Si el agente es capaz de tomar las acciones
en función de su conocimiento, en lugar de poner atención a lo que percibe, se dice que el agente
tiene autonomía. Para que un agente sea autónomo, su comportamiento debe ser determinado
por su propia experiencia.
Uno de los principales objetivos que busca la IA es diseñar el programa para los agentes, es
decir, una función que implemente la transición del agente entre la percepción y la acción. Una
consideración especial se debe tomar en cuenta con respecto a la arquitectura computacional en
la cual se va a ejecutar el programa del agente, sobre todo en lo concerniente a los elementos de
percepción y actuación. Una relación entre los agentes, sus programas y la arquitectura donde
estos corren, se puede ver como:
		 agente = programa + arquitectura
Desde un punto de vista muy general, el algoritmo de la función que permite a un agente reci-
bir lo que percibe y retornar una acción adecuada correspondiente, se ve como sigue (la memoria
es la información que el agente tiene sobre el estado actual del ambiente):
	 - Cambiar la memoria en función de lo que se percibe.
	 - Escoger la mejor acción en función del estado actual de la memoria.
	 - Cambiar la memoria en función de la acción seleccionada.
	 - Retornar la acción seleccionada.
Nótese que en este algoritmo, la parte más importante es la selección de la acción en función
de lo que se conoce. Esto se traduce en un proceso de búsqueda sobre un espacio de posibles
soluciones.
Algunas veces, conocer el estado actual del ambiente no es suficiente para decidir lo que hay
que hacer, sobre todo en aquellos casos en los cuales el ambiente es continuo y no determinís-
tico. Para estos casos, el agente requiere de información referida al objetivo que se persigue y
Inteligencia Artificial Básica
29Índice
en el cual se describen las situaciones deseables (por ejemplo, para que un taxista pueda tomar
una decisión correcta, depende del lugar al cual el taxi tenga que ir y esto depende del destino
del pasajero). Agentes de este tipo se pueden llamar “agentes basados en objetivos” y aunque
parecen ser menos eficientes, son más flexibles.
Por otro lado, el objetivo por sí solo no es suficiente para demostrar un comportamiento de alta
calidad (aunque el taxista sabe cual es su destino, hay muchas acciones que se pueden tomar
para satisfacer este objetivo, algunas más rápidas, económicas, seguras que otras). Se debe
hacer una comparación de los diferentes estados para medir el comportamiento más adecuado.
Esto es lo que se conoce como la utilidad del agente. La utilidad es una función que relacio-
na cada estado con un número real que describe su grado de adecuación. Una especificación
completa de la función de utilidad permite llegar a decisiones racionales en aquellos casos en
los cuales el objetivo no es suficiente, ya sea porque éste no sea único o porque haya conflictos
entre ellos.
1.5. Búsqueda y teoría de juegos
El principio básico de resolución de problemas de IA se refiere al logro de un objetivo, en fun-
ción de la información que se tiene disponible. Para satisfacer este objetivo, es necesario evaluar
varias opciones y tomar la decisión de cuál realizar primero. Este proceso de evaluación y deci-
sión sobre el espacio finito de posibles soluciones se conoce como búsqueda. Esta es la razón
por la cual es importante para la IA, el estudio de algoritmos eficientes y efectivos de búsqueda.
Un algoritmo de búsqueda recibe las especificaciones de un problema como entrada y retorna
una secuencia de acciones como solución. El algoritmo no solo debe garantizar una solución,
sino debe poder dar la mejor respuesta en el menor tiempo posible. Se desea que un algoritmo
o estrategia de búsqueda sea:
• Completo: cuando el algoritmo garantiza encontrar una solución.
• Optimo en tiempo: cuánto se tarda en llegar a una solución.
• Optimo en espacio: cuánta memoria se requiere para realizar la búsqueda.
• Optimo en respuesta: si es capaz de obtener la mejor solución entre varias.
Para garantizar éxito en los procesos de búsqueda, es importante plantear correctamente
el objetivo. El planteamiento del objetivo depende de la adecuada definición del problema. Un
problema se puede definir como el conjunto de información que un agente usa para tomar la
decisión de lo que tiene que hacer. La definición de un problema depende de la identificación de
los siguientes componentes:
Mauricio Paletta
30Índice
el estado inicial del problema desde el punto de vista del agente;•	
el conjunto de operadores o acciones disponibles por el agente para actuar sobre el•	
problema;
la prueba que permite al agente determinar que ha alcanzado una solución del objetivo; y•	
la función de costo que el agente puede aplicar para evaluar las opciones.•	
Un estado del problema viene dado por la situación actual en la que se encuentra el elemento
que representa al problema. Generar estados nuevos aplicando los operadores sobre el estado
actual es lo que se conoce como “expandir el estado”. La selección de cuál estado expandir pri-
mero es determinado por la estrategia de búsqueda.
Por ejemplo, en el problema del rompecabezas de 8 piezas que se muestra en la figura 1.6, el
estado inicial es la localización inicial de las 8 piezas y del blanco (parte “a” de la figura); los ope-
radores se refieren a movimientos de izquierda, derecha, hacia arriba o hacia abajo en dirección
a la ubicación del blanco; y la prueba del objetivo se da cuando el estado del juego coincide con
el objetivo final (parte “b” de la figura). Por ahora se asume que la función de costo establece que
todos los movimientos cuestan lo mismo (1 por ejemplo).
Figura 1.6
Estado inicial (a) y final (b) del problema de rompecabezas de 8 piezas
En el problema clásico de colocación de 8 reinas en un tablero de ajedrez, el estado inicial
viene dado por el tablero vacío y las ocho reinas esperando ser colocadas (figura 1.7 a); el único
operador posible es ubicar una reina en el tablero de forma tal que no esté al alcance de las ya
colocadas; la prueba del objetivo viene dada cuando las 8 reinas están en el tablero ubicadas
correctamente (figura 1.7 b) y la función de costo es nula ya que todas las soluciones son igual-
mente válidas.
La estructura más adecuada para representar este tipo de problemas es el árbol22
. El estado
inicial del problema es la raíz del árbol; los estados terminales son las hojas o terminaciones del
árbol. Cada nodo na del árbol representa el estado del problema en un momento dado; puede
22
Un árbol es un grafo conexo y sin ciclos. Un grafo es un conjunto de nodos o vértices, alguno de los cuales están conectados por aristas.
Inteligencia Artificial Básica
31Índice
tener un nodo np (nodo padre) en el nivel superior que está conectado con na y que representa el
nodo que fue expandido para llegar a na y, puede tener varios nodos nhi (nodos hijos) en el nivel
inferior que representan los nodos que resultan después de expandir na.
Figura 1.7
Estado inicial (a) y final (b) del problema de las 8 reinas
La figura 1.8 muestra el árbol que representa el problema de llevar unos cubos organizados de
la forma como se indica en la raíz, a la nueva organización expresada en el terminal indicado.
Figura 1.8
Arbol de búsqueda para un caso del problema de los cubos
Siendo un árbol la estructura para representar el problema, los algoritmos de búsqueda se
convierten entonces en estrategias de búsqueda en árboles. El algoritmo general de este tipo de
estrategia es como sigue:
Mauricio Paletta
32Índice
Inicializar el árbol usando el estado inicial del problema.•	
Repetir•	
Si no hay más nodos para expandir, entonces•	
retornar que la búsqueda no tuvo éxito.•	
Según la estrategia, seleccionar un nodo para su expansión.•	
Si el nodo seleccionado es un estado terminal o cumple con el objetivo, entonces•	
retornar la solución correspondiente.•	
sino
expandir el nodo y agregar los nodos resultantes al árbol de búsqueda.•	
Como se puede ver, el objetivo de la estrategia de búsqueda en árboles es ir seleccionando
los nodos adecuados para su expansión. Expandir un nodo significa bajar de nivel en el árbol. Si
se comienza desde el nodo raíz que está en la cima del árbol y se quiere llagar a un nodo terminal
se está haciendo un recorrido del árbol. La idea en definitiva es entonces, encontrar en el árbol
el camino más adecuado desde la raíz hasta un terminal (desde el inicio del problema hasta el
objetivo).
Las técnicas de búsqueda en árboles se dividen en dos grupos. La búsqueda sin información
o búsqueda a ciegas se refiere a aquellas estrategias que no tienen información sobre el número
de pasos o el costo del camino entre el estado actual y el objetivo. La búsqueda con información
o búsqueda heurística son estrategias que sí usan estas consideraciones.
Las estrategias de búsqueda a ciegas se diferencian por el orden en el cual son expandidos
los nodos. Las más importantes son las siguientes:
Primero en amplitud (breadth-first). Primero se expande el nodo raíz, luego se expanden•	
todos los nodos generados por el raíz y así sucesivamente. La idea es expandir primero los
nodos padres antes de sus hijos. Siempre se garantiza una solución, si existe al menos una,
pero ésta puede no ser la mejor ya que se da siempre la primera que se consigue. Dadas las
características de la estrategia, hay que preocuparse más por los requerimientos de memoria
que por el tiempo de ejecución.
Costo uniforme (uniform cost). Es una variante del caso anterior en la cual se expande pri-•	
mero el nodo que sea menos costoso de expandir antes que los demás. La idea viene ya
que primero en amplitud garantiza llegar al objetivo cuyo camino es el más corto, pero no
necesariamente el menos costoso. El costo viene dado por la aplicación de las acciones para
ejecutar la expansión. Esta estrategia garantiza la expansión más económica.
Inteligencia Artificial Básica
33Índice
Primero en profundidad (depth-first): Se expande siempre uno de los nodos del nivel más•	
profundo del árbol, siguiendo un orden definido (izquierda, derecha, etc.). Esta estrategia
presenta un costo modesto de memoria ya que sólo requiere almacenar un camino simple
desde la raíz del árbol. En aquellos problemas que tienen muchas soluciones, esta estrategia
puede ser más rápida que primero en amplitud. Uno de los problemas de primero en profun-
didad es tratar con árboles muy profundos que hacen que el algoritmo se pierda o caiga en
lazos infinitos.
Profundidad limitada (depth-limited). Es una variante del caso anterior en el cual se define•	
un límite de que tan profundo puede llegar el algoritmo en el árbol. El objetivo es adaptar la
estrategia de primero en profundidad para árboles muy profundos. Si el límite es igual a la
profundidad del estado final más bajo entonces se minimiza el costo en tiempo y espacio.
Uno de los problemas de esta estrategia es seleccionar adecuadamente el límite.
Profundidad iterativa (iterative deepening). Trata de escoger el mejor límite de profundidad•	
de entre todos los límites posibles. Combina los beneficios de primero en amplitud y primero
en profundidad, es decir, es óptimo y completo al igual que primero en amplitud y modesto en
el uso de espacio al igual que primero en profundidad. El orden en el cual se expanden los
estados es similar a la forma en la cual lo hace primero en profundidad con la diferencia de
que algunos estados se expanden muchas veces.
Bidireccional (bidirectional). La idea es realizar una búsqueda simultánea hacia adelante•	
partiendo del estado inicial y hacia atrás partiendo del objetivo y detenerse cuando los dos
procesos se interceptan en la mitad. Es ideal para aquellos problemas cuyo árbol sea bien
distribuido entre todas sus ramas.
La tabla 1.3 muestra una comparación de las estrategias en función del tiempo de ejecución,
el espacio de memoria que ocupan y si son o no óptimos y completos. b es el factor de ramifica-
ción del árbol, d es la profundidad de la solución, m es la profundidad máxima y l es el límite de
la profundidad23
.
Tabla 1.3
Comparación de las estrategias de búsqueda a ciegas
23
Artificial Intelligence: A Modern Approach; Stuart Russel & Peter Norving; Prentice-Nall, Inc., 1995; sección 3.5; pág. 81.
Criterio Primero en
amplitud
Costo uniforme Primero en pro-
fundidad
Profundidad
limitada
Profundidad
iterativa
Bidireccio-nal
Tiempo bd bd bm bl bd b(d / 2)
Espacio bd bd b * m b * l b * d b(d / 2)
¿Optimo? Si Si No No Si Si
¿Completo? Si Si No Si l Si Si
Mauricio Paletta
34Índice
En muchos problemas es importante llegar a la solución a través del camino que resulte me-
nos costoso o también llamado camino óptimo. Una forma de reducir el costo de la búsqueda es
usar información que ayuda a decidir la transición más adecuada para cada paso. Información
de este tipo recibe el nombre de información heurística y la búsqueda que hace uso de esta in-
formación se llama pues, búsqueda heurística24
.
La búsqueda heurística es también llamada una búsqueda con conocimiento. El costo de
expandir un nodo puede ser estimado pero no puede ser determinado con exactitud. La función
que permite calcular este costo se denomina función heurística y se denota h(n) para el nodo n.
Por ejemplo, para el problema del rompecabezas de 8 piezas (figura1.6), dos posibles funciones
heurísticas son:
	 h1:	 número de piezas colocadas en mala posición,
		 (h1(0) = 7).
	 h2:	 suma de las distancias de las piezas a sus posiciones finales,
		 (h2(0) = 2 + 2 + 2 + 2 + 1 + 0 + 2 + 1 = 12).
Alguna de las estrategias de búsqueda heurísticas son las siguientes:
El mejor primero (best-first). El nodo que mejor se acerca al objetivo (que sea menos costoso)•	
es el que se expande primero. Por supuesto, el costo estimado para alcanzar el objetivo se
minimiza.
Control irrevocable. Se basa en el criterio de que se tiene la suficiente información o conoci-•	
miento local del problema para poder elegir la mejor acción aplicable al estado actual. Esta
estrategia también es aplicable cuando se sabe el hecho de que al decidir sobre una acción
equivocada no impedirá la subsiguiente aplicación de una acción correcta. El único efecto
negativo de las equivocaciones es el de alargar los tiempos de búsqueda.
Retroceso en camino único. Es la estrategia más sencilla de implementar y la que requiere•	
menos memoria ya que sólo se guarda el camino de búsqueda en proceso de expansión. En
cada ciclo se considera la posibilidad de volver atrás y escoger un estado de dicho camino
distinto del actual. Esta estrategia es parecida a la de primero en profundidad con la diferen-
cia que se le han agregado restricciones al algoritmo25
.
24
Heurística viene de la palabra griega “heuriskein” que significa encontrar o descubrir. De esta palabra nace la expresión “heureka” que da a
entender “lo encontré”.
25
Una de las implementaciones conocidas de estrategia de retroceso en camino único es “backtracking”, usado por el lenguaje de programación
Prolog como máquina de búsqueda.
Inteligencia Artificial Básica
35Índice
Las estrategias de búsqueda heurística son la base para la implementación de los motores de
inferencia propios de los Sistemas de Producción y Sistemas Basados en Conocimiento. Estos
temas se tratarán en capítulos posteriores de este libro.
Teoría de Juegos. Los juegos ocupan un role importante en las facultades intelectuales de
los hombres y representan una de las áreas más antiguas de la IA. Lo que hace que los juegos
sean realmente diferentes es que usualmente son muy duros de resolver y utilizan un lenguaje
que involucra la lógica de las relaciones estratégicas. La finalidad de la teoría de juegos es inves-
tigar de qué modo los individuos se deben relacionar cuando sus intereses entran en conflicto.
Fue creada por Von Neumann y Morgenstern en su libro “The Theory of Games and Economic
Behavior”, publicado en 1944.
Un juego se desarrolla cada vez que dos o más individuos se relacionan entre sí. Por ejemplo,
conducir un vehículo en una calle urbana y transitada, pujar en una subasta, negociar un contrato
colectivo, etc. Desde un punto de vista matemático, la definición formal de un juego es bastante
simple, pero no es tan simple entender lo que la definición formal significa.
Desde el punto de vista en la cual se maneja la información disponible, los juegos pueden ser
de información perfecta e imperfecta. Tres en línea y el ajedrez son dos ejemplos de juegos de
información perfecta porque cada vez que le toca el turno a un jugador, éste sabe todo lo que
tiene que saber sobre lo que ha ocurrido hasta ahora en el juego. El póquer, por el contrario, es
un juego de información imperfecta ya que cuando hay que decidirse por una apuesta no se sabe
las manos del resto de los jugadores, aunque a cualquiera le gustaría saberlo.
Por otro lado, un juego puede depender o no del azar para realizar las jugadas. El parchís es
un juego con jugadas de azar ya que lo que un jugador puede hacer cuando le toca jugar depen-
de del lanzamiento de un dado.
Un juego se puede definir como un tipo de problema de búsqueda con los siguientes
componentes:
El estado inicial que incluye las posiciones de comienzo sobre el entorno donde se va a de-•	
sarrollar el juego y una indicación de los movimientos posibles.
Un conjunto de operadores que definen los movimientos legales.•	
Una prueba final que determina cuando el juego finalizó, es decir, que se ha llegado a alguno•	
de sus estados terminales.
Una función de utilidad que retorna un valor numérico e indica el resultado del juego.•	
El objetivo de un juego es llegar a un estado terminal y la estrategia es llegar a este estado
antes que cualquier otro. Las reglas deben decirnos quién puede hacer qué, cuándo lo puede
hacer y cuánto gana cada uno cuando el juega ha terminado. La estructura más adecuada que
se usa para representar esta información es el árbol.
Mauricio Paletta
36Índice
La primera jugada o estado inicial del juego se identifica en el nodo raíz del árbol. Una partida
consiste de una cadena conexa de aristas que empiezan en la raíz del árbol y terminan, si el
juego es finito, en un nodo terminal. Los nodos terminales del árbol corresponden a los posibles
resultados del juego.
Los nodos del árbol deben representar cada una de las posibles jugadas durante el juego. Los
segmentos o arcos que salen de un nodo representan las posibles acciones a realizar sobre la
jugada indicada en ese nodo que permiten llegar hasta el otro nodo del árbol conectado con tal
arista. A cada nodo no terminal se le debe asignar el nombre o identificación del jugador de forma
tal de saber quién eligió la jugada. En los juegos que contienen jugadas de azar, estas situacio-
nes se tratan asignando jugadas a un jugador mítico llamado “azar”. Cada acción en una jugada
de “azar” se marca con la probabilidad con la que será elegida.
La función de evaluación retorna un estimado de la utilidad del juego esperado sobre una
posición o nodo dado. El desempeño de un programa de juego es extremadamente dependiente
de la calidad de su función de evaluación.
A todos los nodos terminales se le debe colocar una marca que indique las consecuencias
que tiene para cada jugador, que el juego termine con el resultado correspondiente a ese nodo
terminal.
La figura 1.9 muestra una parte del árbol que representa el juego de tres en línea. A pesar
de lo simple que es el juego, su árbol es muy grande para mostrarlo completo. Nótese que sólo
se muestran tres nodos terminales. Las letras G, P y E en los nodos terminales indican que el
jugador I gana, pierde o empata respectivamente (por razones obvias no se indica lo que ocurre
con el jugador II).
Una posible función de evaluación f sobre un nodo p es la expresión que determina el número
de filas, columnas y diagonales libres dejadas por el jugador I menos el número de filas, colum-
nas y diagonales libres dejadas por el jugador II. A medida que f(p) sea mayor será una “buena
jugada” para I y “mala jugada” para II. Por ejemplo, si p es el nodo más a la izquierda del tercer
nivel del árbol de la figura 1.9, f(p) = 5 - 4 = 1.
Uno de los aspectos más importantes que trata la teoría de juegos es el estudio de las estra-
tegias. Una estrategia pura es un plan que especifica las acciones a tomar para cada uno de los
nodos en los que el jugador debe tomar una decisión, si el nodo es alcanzado. Cuando se tienen
varias estrategias puras y el jugador debe seleccionar aleatoriamente alguna de ellas, se dice
que la estrategia es mixta. Si todos los jugadores de un juego seleccionan una estrategia pura y
se mantienen fieles a ella, entonces el desarrollo del juego sin jugadas de azar queda totalmente
determinado. La definición de una estrategia en juegos con información incompleta tiene que ser
Inteligencia Artificial Básica
37Índice
modificada y sólo se requiere especificar las acciones a tomar para cada conjunto de información
sobre el que correspondería a un jugador optar por una opción en el supuesto de que alcanzara
este conjunto de información.
Figura 1.9
Parte del árbol que representa el juego tres en línea
Uno de los métodos que plantea la teoría de juegos como estrategia para llegar al resultado
deseado, es el que se conoce con el nombre de “inducción hacia atrás” y que fue dado por Zer-
melo en 1912 (también se le llama algoritmo de Zermelo) el cual lo utilizó para analizar el ajedrez.
Este método plantea empezar por el final del juego (desde un nodo terminal del árbol) y marchar
hacia atrás hasta su principio (raíz del árbol). Esta misma idea es lo que esencialmente se hace
en la investigación operativa con el nombre de “programación dinámica”.
Muchas de las cosas que se han planteado hasta aquí se refiere a juegos estrictamente com-
petitivos, es decir en aquellos en los cuales lo que es bueno para un jugador es malo para los
demás. Pero la teoría de juegos también estudia los juegos en equipo en donde los intereses
de los jugadores coinciden y por ende, lo que es bueno para un jugador también es bueno para
los demás. Los juegos en equipo de información perfecta se pueden analizar como juegos de un
Mauricio Paletta
38Índice
solo jugador y por ende no son muy interesantes, pero cuando la información es imperfecta, los
juegos en equipo pueden ser realmente muy interesantes. Por ejemplo, su estudio nos puede
enseñar cosas acerca de las maneras óptimas de comunicar la información dentro de organiza-
ciones cuyos miembros comparten un mismo objetivo.
1.6. Resumen del capítulo
Inteligencia Artificial (IA) es la ciencia que busca emular procesos que son propios de la inte-
ligencia humana haciendo uso de modelos no naturales o artificiales. Los principales procesos
a emular son la percepción, el razonamiento y el aprendizaje. La inteligencia es la habilidad de
manejar el conocimiento que se tiene para la toma de decisiones en la rápida solución de pro-
blemas. El conocimiento es uno de los cuatro tipos de información que almacena todo lo que un
ente sabe sobre su ambiente.
La historia de la IA se resume en dos etapas: una prehistoria en la cual se hacía IA sin que
ésta existiera formalmente y una etapa que va desde su nacimiento formal hasta el desarrollo
actual.
Las técnicas de resolución de problemas de la IA se agrupan en dos corrientes: la emulación
estructural que busca el logro de un resultado copiando la estructura del cerebro humano y, la
emulación funcional que busca el logro de un resultado emulando las características funcionales
del cerebro. Los Sistemas Basados en Conocimiento son sistemas capaces de resolver o asistir
en la resolución de problemas que requieren de experiencia o inteligencia humana. Los Sistemas
Inteligentes de Tutoría son sistemas que modelan el comportamiento de instructores y partici-
pantes en un proceso de aprendizaje. La Robótica se ocupa de la creación de máquinas que
automatizan tareas principalmente mecánicas que requieren de capacidad humana. El Procesa-
miento de Lenguaje Natural representa interfaces que permiten al usuario comunicarse con una
máquina haciendo uso de su lenguaje habitual. Los Sistemas Neuronales son esquemas de pro-
cesamiento paralelo distribuido que tratan de emular la forma en la cual las neuronas cerebrales
se organizan para realizar su procesamiento. Los Algoritmos Genéticos son sistemas inspirados
en la evolución natural derivada de la genética.
Un agente es cualquier cosa que puede percibir su ambiente a través sensores y actuar sobre
él mediante elementos ejecutores. Un agente racional tiene autonomía y es capaz de tomar deci-
siones sobre su forma de actuar. Un agente racional ideal debe ejecutar la acción que maximiza
su medida de éxito, basado en la evidencia y el conocimiento que se tiene.
El principio básico de resolución de problemas de IA se refiere a un proceso de evaluación y
decisión sobre un espacio finito de posibles soluciones o búsqueda. Las técnicas de búsqueda
Inteligencia Artificial Básica
39Índice
sobre árboles se dividen en dos grupos: la búsqueda sin información o a ciegas y la búsqueda
con información o heurística. Algunas de las estrategias de búsqueda a ciegas son: primero en
amplitud, costo uniforme, primero en profundidad, profundidad limitada, profundidad iterativa y
bidireccional. Algunas de las estrategias de búsqueda heurística son: el mejor primero, control
irrevocable y retroceso en camino único.
Los juegos ocupan un role importante en las facultades intelectuales de los hombres y repre-
sentan una de las áreas más antiguas de la IA. Usualmente son muy duros de resolver y utilizan
un lenguaje que involucra la lógica de las relaciones estratégicas. La finalidad de la teoría de
juegos es investigar de qué modo los individuos se deben relacionar cuando sus intereses entran
en conflicto.
Capítulo
Los Sistemas Basados en Conocimiento
Este capítulo se dedica al estudio de los
Sistemas Basados en Conocimiento (SBC) desde
sus conceptos hasta el uso de técnicas avanzadas
como el manejo de incertidumbre y la integración
con control.
2
Inteligencia Artificial Básica
41Índice
2.1. Conceptos básicos
Un Sistema Basado en Conocimiento (SBC) se puede definir como una técnica de resolución
de problemas de la IA que:
Incorpora conocimiento estructurado sobre un dominio específico (conocimiento).•	
Busca resolver efectiva y eficientemente un conjunto de problemas específicos en ese domi-•	
nio (funcionalidad).
Provee un conjunto de interfaces para diversos tipos de usuarios (presentación).•	
La base de este concepto se dio como resultado de la convergencia de líneas clásicas en el
desarrollo de IA, la heurística y la deducción automática. Las heurísticas son reglas no determi-
nísticas para hacer conjeturas acertadas que normalmente proporcionan resultados acertados1
y
la deducción automática se basa en la mecanización de las teorías de interpretación de fórmulas
lógicas. Durante los primeros años de la década de los setenta se plantean los sistemas de re-
glas de producción como paradigma general para la resolución de problemas2
. Los elementos de
este tipo de sistemas se plasman posteriormente en el lenguaje OPS3
.
La figura 2.1 muestra la situación básica que se debe presentar en un área de aplicación para
incorporar un SBC. En primer lugar debe existir una fuente de conocimiento, que no sólo sabe
operar sobre el área, sino que además enriquece su conocimiento aprendiendo sobre el compor-
tamiento de la misma. La fuente de conocimiento es utilizada por un conjunto de usuarios que
trabajan sobre el área de aplicación. Estos usuarios acuden a la fuente de conocimiento para re-
solver ciertos problemas que ellos no están capacitados para solucionar. Problemas como estos
son los que precisamente comprueban la existencia de alguien o algo que posee conocimiento
para buscar una solución.
Figura 2.1
Características de un área de aplicación
1
Estos resultados pueden no ser garantizados. Anteriormente a un sistema basado en heurísticas se le daba la concepción de un “sistema inteli-
gente”.
2
En el trabajo Human problem solving realizado por Newell y Simon.
3
Operating Production Systems fue la base para los lenguajes OPS-83 y OPS-5, este último se detalla en el capítulo 5 de este libro.
Mauricio Paletta
42Índice
La necesidad de usar la fuente de conocimiento para resolver problemas se da por la falta de
algoritmos o de teorías completas o lo complicado de las mismas para llegar a la solución. La
fuente de conocimiento encuentra con frecuencia una solución al problema, gracias a la infor-
mación que tiene sobre el dominio de la aplicación y, la mayoría de las veces, a su experiencia.
Cuando se ha observado durante largo tiempo que este conocimiento que se usa para resolver
problemas es válido y haya una cantidad potencial de usuarios entonces se puede pensar en la
factibilidad de hacer un SBC.
En definitiva, el objetivo que se persigue es emular la fuente de conocimiento. Esto se puede
ver en la figura 2.1 si se reemplaza la fuente de conocimiento por una herramienta automatiza-
da o SBC. Aunque se habla de reemplazo, lo que se quiere al final no es substituir la fuente de
conocimiento, sino descargar su trabajo rutinario y por ende, solucionar los problemas de una
forma más rápida4
.
A medida que el número de fuentes de conocimiento sea pequeño y que el número de usua-
rios sea grande, tenemos una situación de embudo para buscar respuestas a problemas, que
puede demorar su atención o apresurar la deducción y que conlleva a graves problemas en el
área de aplicación. Cuando la labor de la fuente de conocimiento no está tan sobrecargada se
pueden reducir las decisiones erróneas y se aceleran los procesos de toma de decisión. Hay que
recordar que existe la posibilidad de tener copias del SBC.
Nótese la importancia que tienen los usuarios dentro de este contexto. No tiene sentido pen-
sar en realizar un SBC si no existen usuarios. En un área de aplicación donde no hay usuarios
y por ende el trabajo es realizado por la misma fuente de conocimiento no se justifica realizar un
SBC a menos que las actividades concernientes para la realización del trabajo sean automatiza-
das también.
Todo lo que posee conocimiento puede ser una fuente de conocimiento, un humano, un ma-
terial bibliográfico, una base de datos, etc. Una de las fuentes de conocimiento más comunes y
de más fácil adquisición son los expertos:
Una persona X es un experto en el área Y, si X ha acumulado, consciente o incons-
cientemente a través de su experiencia, un conjunto de heurísticas que permiten que se
observen comportamientos exitosos en la solución de problemas en el área Y.
Cuando la fuente de conocimiento en un SBC está constituida principalmente por la experien-
cia de un experto, se dice que el SBC es un Sistema Experto.
4
Es muy importante tener claro este punto. La mayoría de las veces, cuando el conocimiento viene de un humano, éste tiene la concepción de
que el SBC va a sustituirlo de sus actividades cotidianas. La idea no es quitar uno y poner otro sino agregar más para agilizar el tráfico de la
actividad “resolver problemas” .
Inteligencia Artificial Básica
43Índice
La automatización del conocimiento, es decir, el proceso mediante el cual se lleva el conoci-
miento de una fuente de conocimiento a la computadora, se logra mediante la ejecución de dos
actividades (figura 2.2):
La adquisición del conocimiento. El conocimiento de la fuente de conocimiento es extraído y•	
documentado (se lleva a un formato predeterminado).
La representación del conocimiento. El conocimiento documentado se expresa mediante•	
un esquema establecido por la herramienta de software usada, para formar una base de
conocimiento.
Figura 2.2
Automatización del conocimiento
El desarrollo de un SBC es guiado principalmente por un equipo formado por tres componen-
tes básicos:
La fuente de conocimiento que suministra el conocimiento.•	
El•	 ingeniero de conocimiento que automatiza el manejo del conocimiento5
.
El usuario que determina las necesidades de operación del sistema.•	
2.2. La arquitectura interna
Un SBC tiene dos componentes básicos que siempre deben existir: la base de conocimiento
y el motor de inferencia. La base de conocimiento son los hechos, hipótesis, creencias y heurís-
ticas que bajo una representación específica contiene el dominio del conocimiento; soporta la
función de almacenamiento de la información de un SBC. Dado que el conocimiento se almacena
haciendo uso de un esquema de representación formal y específico y dada su importancia en el
sistema, el acceso a este conocimiento tiene que ser controlado. Este es el trabajo del motor o
máquina de inferencia.
5
Las funciones que realiza el ingeniero de conocimiento se presentan en el capítulo 3 donde se estudia en detalle los procesos de adquisición y
representación del conocimiento.
Mauricio Paletta
44Índice
Según la definición de SBC dada anteriormente, la base de conocimiento y el motor de infe-
rencia satisfacen los dos primeros criterios referidos por esta definición: conocimiento y funciona-
lidad respectivamente. Si bien la presentación no se requiere para que el SBC sea operativo, es
recomendable la incorporación de elementos de interfaz para que junto al motor de inferencia y
a la base de conocimiento conformen la arquitectura básica del SBC.
La inferencia es una línea de razonamiento. Corresponde a un proceso de búsqueda de la
solución según un conjunto de evidencias dadas. Esa búsqueda se realiza por supuesto, en la
base de conocimiento. La máquina de inferencia es entonces, el proceso que permite emular el
razonamiento humano, haciendo uso del conocimiento representado en la base de conocimiento
que emula las características de almacenamiento del conocimiento en el cerebro.
Todo motor de inferencia presenta dos componentes:
Un•	 mecanismo de control para buscar y encontrar una solución a un problema dado.
La•	 estrategia de control o conjunto de condiciones impuestas al mecanismo de control para
optimizar la búsqueda.
La figura 2.3 contiene la arquitectura completa de un SBC. Nótese que en la parte central
están los componentes básicos formando la línea vertebral del sistema. Nótese también que el
único que puede acceder a la base de conocimiento es el motor de inferencia.
Figura 2.3
Arquitectura interna de un SBC
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.

More Related Content

Viewers also liked

2. sistema fuzzy
2. sistema fuzzy2. sistema fuzzy
2. sistema fuzzyHélio Jovo
 
Inteligencia artificial conceptos e historia
Inteligencia artificial conceptos e historiaInteligencia artificial conceptos e historia
Inteligencia artificial conceptos e historiaCarrochi Hi
 
Inteligencia artificial
Inteligencia artificialInteligencia artificial
Inteligencia artificialAriam Valdez
 
Inteligencia artificial-y-sistemas-expertos
Inteligencia artificial-y-sistemas-expertosInteligencia artificial-y-sistemas-expertos
Inteligencia artificial-y-sistemas-expertosAlejandro Tapia
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheLeslie Samuel
 

Viewers also liked (7)

2. sistema fuzzy
2. sistema fuzzy2. sistema fuzzy
2. sistema fuzzy
 
Inteligencia artificial conceptos e historia
Inteligencia artificial conceptos e historiaInteligencia artificial conceptos e historia
Inteligencia artificial conceptos e historia
 
Inteligencia artificial
Inteligencia artificialInteligencia artificial
Inteligencia artificial
 
Una pequeña Historia de la Inteligencia Artificial parte I
Una pequeña Historia de la Inteligencia Artificial   parte IUna pequeña Historia de la Inteligencia Artificial   parte I
Una pequeña Historia de la Inteligencia Artificial parte I
 
Inteligencia artificial-y-sistemas-expertos
Inteligencia artificial-y-sistemas-expertosInteligencia artificial-y-sistemas-expertos
Inteligencia artificial-y-sistemas-expertos
 
PNL la comunicacion de la excelencia
PNL la comunicacion de la excelenciaPNL la comunicacion de la excelencia
PNL la comunicacion de la excelencia
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your Niche
 

Similar to Inteligencia Artificial Básica. Mauricio Paletta.

Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y EstadísticaRedes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y EstadísticaBanco Santander Chile
 
Relación entre perfilde los egresados de la Escuela Técnica Industrial Ciudad...
Relación entre perfilde los egresados de la Escuela Técnica Industrial Ciudad...Relación entre perfilde los egresados de la Escuela Técnica Industrial Ciudad...
Relación entre perfilde los egresados de la Escuela Técnica Industrial Ciudad...Guarenas/Guatire
 
Heuristic Evaluations
Heuristic EvaluationsHeuristic Evaluations
Heuristic Evaluationslorena_moreno
 
Heuristic evaluations
Heuristic evaluationsHeuristic evaluations
Heuristic evaluationslorena_moreno
 
Neuropsicología.pdf
Neuropsicología.pdfNeuropsicología.pdf
Neuropsicología.pdfJessiJD
 
Sistema de soporte de decisiones para la gestión académica de la ULADECH
Sistema de soporte de decisiones para la gestión académica de la ULADECHSistema de soporte de decisiones para la gestión académica de la ULADECH
Sistema de soporte de decisiones para la gestión académica de la ULADECHJulio César Álvarez Reyes
 
Julca lindley metodología_aup_framework
Julca lindley metodología_aup_frameworkJulca lindley metodología_aup_framework
Julca lindley metodología_aup_frameworkEdgardo Rivera
 
Medios y procecimientos sin imagen 22 ver6
Medios y procecimientos sin imagen 22 ver6Medios y procecimientos sin imagen 22 ver6
Medios y procecimientos sin imagen 22 ver6Usebeq
 
Sistema nacional y regional de innovación en Chile.
Sistema nacional y regional de innovación en Chile.Sistema nacional y regional de innovación en Chile.
Sistema nacional y regional de innovación en Chile.gastoncito24
 
Informe final practica pre_ii_francisco_flores_v6
Informe final practica pre_ii_francisco_flores_v6Informe final practica pre_ii_francisco_flores_v6
Informe final practica pre_ii_francisco_flores_v6Francisco Flores Murrieta
 
Machaca_RJA-Quispe_SMA-SD (1) (1).pdf
Machaca_RJA-Quispe_SMA-SD (1) (1).pdfMachaca_RJA-Quispe_SMA-SD (1) (1).pdf
Machaca_RJA-Quispe_SMA-SD (1) (1).pdfWilsonMoriSantana2
 
302 2004 esca-st_maestria_chavez
302 2004 esca-st_maestria_chavez302 2004 esca-st_maestria_chavez
302 2004 esca-st_maestria_chavezViianey Amador
 
Dotación de equipos de cómputo portátiles para niños de quinto y sexto grados...
Dotación de equipos de cómputo portátiles para niños de quinto y sexto grados...Dotación de equipos de cómputo portátiles para niños de quinto y sexto grados...
Dotación de equipos de cómputo portátiles para niños de quinto y sexto grados...Jesús Alfonso Beltrán Sánchez
 

Similar to Inteligencia Artificial Básica. Mauricio Paletta. (20)

Aspecto caracteristicas
Aspecto caracteristicasAspecto caracteristicas
Aspecto caracteristicas
 
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y EstadísticaRedes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
 
EEG Mindroid
EEG MindroidEEG Mindroid
EEG Mindroid
 
Relación entre perfilde los egresados de la Escuela Técnica Industrial Ciudad...
Relación entre perfilde los egresados de la Escuela Técnica Industrial Ciudad...Relación entre perfilde los egresados de la Escuela Técnica Industrial Ciudad...
Relación entre perfilde los egresados de la Escuela Técnica Industrial Ciudad...
 
Propuestaprograma
PropuestaprogramaPropuestaprograma
Propuestaprograma
 
Heuristic Evaluations
Heuristic EvaluationsHeuristic Evaluations
Heuristic Evaluations
 
Heuristic evaluations
Heuristic evaluationsHeuristic evaluations
Heuristic evaluations
 
Neuropsicología.pdf
Neuropsicología.pdfNeuropsicología.pdf
Neuropsicología.pdf
 
Sistema de soporte de decisiones para la gestión académica de la ULADECH
Sistema de soporte de decisiones para la gestión académica de la ULADECHSistema de soporte de decisiones para la gestión académica de la ULADECH
Sistema de soporte de decisiones para la gestión académica de la ULADECH
 
Julca lindley metodología_aup_framework
Julca lindley metodología_aup_frameworkJulca lindley metodología_aup_framework
Julca lindley metodología_aup_framework
 
Medios y procecimientos sin imagen 22 ver6
Medios y procecimientos sin imagen 22 ver6Medios y procecimientos sin imagen 22 ver6
Medios y procecimientos sin imagen 22 ver6
 
Podcast
PodcastPodcast
Podcast
 
Sistema nacional y regional de innovación en Chile.
Sistema nacional y regional de innovación en Chile.Sistema nacional y regional de innovación en Chile.
Sistema nacional y regional de innovación en Chile.
 
Informe final practica pre_ii_francisco_flores_v6
Informe final practica pre_ii_francisco_flores_v6Informe final practica pre_ii_francisco_flores_v6
Informe final practica pre_ii_francisco_flores_v6
 
21222
2122221222
21222
 
Tesis de grado
Tesis de gradoTesis de grado
Tesis de grado
 
Tesis maestriafinal
Tesis maestriafinalTesis maestriafinal
Tesis maestriafinal
 
Machaca_RJA-Quispe_SMA-SD (1) (1).pdf
Machaca_RJA-Quispe_SMA-SD (1) (1).pdfMachaca_RJA-Quispe_SMA-SD (1) (1).pdf
Machaca_RJA-Quispe_SMA-SD (1) (1).pdf
 
302 2004 esca-st_maestria_chavez
302 2004 esca-st_maestria_chavez302 2004 esca-st_maestria_chavez
302 2004 esca-st_maestria_chavez
 
Dotación de equipos de cómputo portátiles para niños de quinto y sexto grados...
Dotación de equipos de cómputo portátiles para niños de quinto y sexto grados...Dotación de equipos de cómputo portátiles para niños de quinto y sexto grados...
Dotación de equipos de cómputo portátiles para niños de quinto y sexto grados...
 

More from edwinlemmon

Informe de Michelle Bachelet sobre Venezuela 2019
Informe de Michelle Bachelet sobre Venezuela 2019Informe de Michelle Bachelet sobre Venezuela 2019
Informe de Michelle Bachelet sobre Venezuela 2019edwinlemmon
 
Carta Abierta de Bernard Mommer a Tarek William Saab, Fiscal General de facto
Carta Abierta de Bernard Mommer a Tarek William Saab, Fiscal General de factoCarta Abierta de Bernard Mommer a Tarek William Saab, Fiscal General de facto
Carta Abierta de Bernard Mommer a Tarek William Saab, Fiscal General de factoedwinlemmon
 
Fundamentos de la Tecnologia Orientada a Objetos
Fundamentos de la Tecnologia Orientada a ObjetosFundamentos de la Tecnologia Orientada a Objetos
Fundamentos de la Tecnologia Orientada a Objetosedwinlemmon
 
Introducción a la Tecnología Orientada a Objetos
Introducción a la Tecnología Orientada a ObjetosIntroducción a la Tecnología Orientada a Objetos
Introducción a la Tecnología Orientada a Objetosedwinlemmon
 
Tecnología Orientada a Objetos - Presentación de la Materia
Tecnología Orientada a Objetos - Presentación de la MateriaTecnología Orientada a Objetos - Presentación de la Materia
Tecnología Orientada a Objetos - Presentación de la Materiaedwinlemmon
 
Conceptos Básicos de Ingeniería del Software y Control de Proyectos
Conceptos Básicos de Ingeniería del Software y Control de ProyectosConceptos Básicos de Ingeniería del Software y Control de Proyectos
Conceptos Básicos de Ingeniería del Software y Control de Proyectosedwinlemmon
 
The Triumph of Evil: The Reality of the USA's Cold War Victory
The Triumph of Evil: The Reality of the USA's Cold War VictoryThe Triumph of Evil: The Reality of the USA's Cold War Victory
The Triumph of Evil: The Reality of the USA's Cold War Victoryedwinlemmon
 
¿Así funciona la estafa de Open English?
¿Así funciona la estafa de Open English?¿Así funciona la estafa de Open English?
¿Así funciona la estafa de Open English?edwinlemmon
 
RDA: Compendio Histórico (1980)
RDA: Compendio Histórico (1980)RDA: Compendio Histórico (1980)
RDA: Compendio Histórico (1980)edwinlemmon
 

More from edwinlemmon (9)

Informe de Michelle Bachelet sobre Venezuela 2019
Informe de Michelle Bachelet sobre Venezuela 2019Informe de Michelle Bachelet sobre Venezuela 2019
Informe de Michelle Bachelet sobre Venezuela 2019
 
Carta Abierta de Bernard Mommer a Tarek William Saab, Fiscal General de facto
Carta Abierta de Bernard Mommer a Tarek William Saab, Fiscal General de factoCarta Abierta de Bernard Mommer a Tarek William Saab, Fiscal General de facto
Carta Abierta de Bernard Mommer a Tarek William Saab, Fiscal General de facto
 
Fundamentos de la Tecnologia Orientada a Objetos
Fundamentos de la Tecnologia Orientada a ObjetosFundamentos de la Tecnologia Orientada a Objetos
Fundamentos de la Tecnologia Orientada a Objetos
 
Introducción a la Tecnología Orientada a Objetos
Introducción a la Tecnología Orientada a ObjetosIntroducción a la Tecnología Orientada a Objetos
Introducción a la Tecnología Orientada a Objetos
 
Tecnología Orientada a Objetos - Presentación de la Materia
Tecnología Orientada a Objetos - Presentación de la MateriaTecnología Orientada a Objetos - Presentación de la Materia
Tecnología Orientada a Objetos - Presentación de la Materia
 
Conceptos Básicos de Ingeniería del Software y Control de Proyectos
Conceptos Básicos de Ingeniería del Software y Control de ProyectosConceptos Básicos de Ingeniería del Software y Control de Proyectos
Conceptos Básicos de Ingeniería del Software y Control de Proyectos
 
The Triumph of Evil: The Reality of the USA's Cold War Victory
The Triumph of Evil: The Reality of the USA's Cold War VictoryThe Triumph of Evil: The Reality of the USA's Cold War Victory
The Triumph of Evil: The Reality of the USA's Cold War Victory
 
¿Así funciona la estafa de Open English?
¿Así funciona la estafa de Open English?¿Así funciona la estafa de Open English?
¿Así funciona la estafa de Open English?
 
RDA: Compendio Histórico (1980)
RDA: Compendio Histórico (1980)RDA: Compendio Histórico (1980)
RDA: Compendio Histórico (1980)
 

Recently uploaded

Simbología de Soldadura, interpretacion y aplicacion en dibujo tecnico indus...
Simbología de Soldadura,  interpretacion y aplicacion en dibujo tecnico indus...Simbología de Soldadura,  interpretacion y aplicacion en dibujo tecnico indus...
Simbología de Soldadura, interpretacion y aplicacion en dibujo tecnico indus...esandoval7
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Francisco Javier Mora Serrano
 
Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinación
Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinaciónEstacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinación
Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinaciónAlexisHernandez885688
 
Tarea de UTP matematices y soluciones ingenieria
Tarea de UTP matematices y soluciones ingenieriaTarea de UTP matematices y soluciones ingenieria
Tarea de UTP matematices y soluciones ingenieriaSebastianQP1
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023ANDECE
 
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)ssuser6958b11
 
produccion de cerdos. 2024 abril 20..pptx
produccion de cerdos. 2024 abril 20..pptxproduccion de cerdos. 2024 abril 20..pptx
produccion de cerdos. 2024 abril 20..pptxEtse9
 
Espontaneidad de las reacciones y procesos espontáneos
Espontaneidad de las reacciones y procesos espontáneosEspontaneidad de las reacciones y procesos espontáneos
Espontaneidad de las reacciones y procesos espontáneosOscarGonzalez231938
 
POBLACIONES CICLICAS Y NO CICLICAS ......
POBLACIONES CICLICAS Y NO CICLICAS ......POBLACIONES CICLICAS Y NO CICLICAS ......
POBLACIONES CICLICAS Y NO CICLICAS ......dianamontserratmayor
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasSegundo Silva Maguiña
 
MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...
MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...
MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...Arquitecto Alejandro Gomez cornejo muñoz
 
Fijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEFijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEANDECE
 
Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCANDECE
 
01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptx
01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptx01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptx
01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptxluiscisnerosayala23
 
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidas
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidasSOLIDOS DE REVOLUCION, aplicaciones de integrales definidas
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidasLeonardoMendozaDvila
 
Descubrimiento de la penicilina en la segunda guerra mundial
Descubrimiento de la penicilina en la segunda guerra mundialDescubrimiento de la penicilina en la segunda guerra mundial
Descubrimiento de la penicilina en la segunda guerra mundialyajhairatapia
 
3.3 Tipos de conexiones en los transformadores trifasicos.pdf
3.3 Tipos de conexiones en los transformadores trifasicos.pdf3.3 Tipos de conexiones en los transformadores trifasicos.pdf
3.3 Tipos de conexiones en los transformadores trifasicos.pdfRicardoRomeroUrbano
 

Recently uploaded (20)

MATPEL COMPLETO DESDE NIVEL I AL III.pdf
MATPEL COMPLETO DESDE NIVEL I AL III.pdfMATPEL COMPLETO DESDE NIVEL I AL III.pdf
MATPEL COMPLETO DESDE NIVEL I AL III.pdf
 
Simbología de Soldadura, interpretacion y aplicacion en dibujo tecnico indus...
Simbología de Soldadura,  interpretacion y aplicacion en dibujo tecnico indus...Simbología de Soldadura,  interpretacion y aplicacion en dibujo tecnico indus...
Simbología de Soldadura, interpretacion y aplicacion en dibujo tecnico indus...
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
 
Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinación
Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinaciónEstacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinación
Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinación
 
Tarea de UTP matematices y soluciones ingenieria
Tarea de UTP matematices y soluciones ingenieriaTarea de UTP matematices y soluciones ingenieria
Tarea de UTP matematices y soluciones ingenieria
 
presentación manipulación manual de cargas sunafil
presentación manipulación manual de cargas sunafilpresentación manipulación manual de cargas sunafil
presentación manipulación manual de cargas sunafil
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
 
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
 
produccion de cerdos. 2024 abril 20..pptx
produccion de cerdos. 2024 abril 20..pptxproduccion de cerdos. 2024 abril 20..pptx
produccion de cerdos. 2024 abril 20..pptx
 
Linea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptxLinea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptx
 
Espontaneidad de las reacciones y procesos espontáneos
Espontaneidad de las reacciones y procesos espontáneosEspontaneidad de las reacciones y procesos espontáneos
Espontaneidad de las reacciones y procesos espontáneos
 
POBLACIONES CICLICAS Y NO CICLICAS ......
POBLACIONES CICLICAS Y NO CICLICAS ......POBLACIONES CICLICAS Y NO CICLICAS ......
POBLACIONES CICLICAS Y NO CICLICAS ......
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la Ingenierías
 
MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...
MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...
MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...
 
Fijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEFijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSE
 
Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRC
 
01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptx
01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptx01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptx
01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptx
 
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidas
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidasSOLIDOS DE REVOLUCION, aplicaciones de integrales definidas
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidas
 
Descubrimiento de la penicilina en la segunda guerra mundial
Descubrimiento de la penicilina en la segunda guerra mundialDescubrimiento de la penicilina en la segunda guerra mundial
Descubrimiento de la penicilina en la segunda guerra mundial
 
3.3 Tipos de conexiones en los transformadores trifasicos.pdf
3.3 Tipos de conexiones en los transformadores trifasicos.pdf3.3 Tipos de conexiones en los transformadores trifasicos.pdf
3.3 Tipos de conexiones en los transformadores trifasicos.pdf
 

Inteligencia Artificial Básica. Mauricio Paletta.

  • 1. DEDICATORIA AGRADECIMIENTO CONTENIDO PRÓLOGO CAPÍTULO 1 Introducción a la Inteligencia Artificial CAPÍTULO 2 Los Sistemas basados en Conocimiento CAPÍTULO 3 La Adquisición y representación del Conocimiento CAPÍTULO 4 La simulación basada en Conocimiento CAPÍTULO 5 El Procesamiento del Lenguaje Natural CAPÍTULO 6 Las Redes Neurales Artificiales CAPÍTULO 7 Los Algoritmos Genéticos CAPÍTULO 8 Lenguaje de Programación para la Inteligencia Artificial BIBLIOGRAFÍA
  • 4. UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA VICERRECTORADO ACADÉMICO DEPARTAMENTO DE Ciencia y Tecnología _______________________________________________ ©Inteligencia Artificial Básica _______________________________________________ ©Editor Fondo Editorial UNEG http://fondoeditorial.uneg.edu.ve Cuidado de la edición Ing. Ana María Contreras Diseño, diagramación y montaje TSU. Emerson Guerrero Ibáñez Diseño de portada TSU. Emerson Guerrero Ibáñez Coordinación editorial Ing. Ana María Contreras Reproducción Digital Copiados Unidos, c.a. Tiraje 100 ejemplares Primera edición Año 2010 Hecho el Depósito de Ley Depósito Legal LF93320100011996 ISBN 978-980-6864-24-5 Todos los títulos publicados bajo el sello Fondo Editorial UNEG son arbitrados entre pares bajo el sistema doble ciego. Reservados todos los derechos. El contenido de esta obra está protegido por la ley que establece penasdeprisióny/omultaademásdelascorrespondientes indemnizaciones por daños y perjuicios para quienes reproduzcan, plagien, distribuyan o comuniquen públicamente en todo una obra literaria, artística o científica, o su transformación, interpretación o ejecución artística fijada en cualquier tipo de soporte o comunicado a través de cualquier medio sin la respectiva autorización.
  • 5. Índice Dedicatoria A la princesa de mi hogar, mi hija Andrea Fabianna que aún le falta mucho por recorrer en la vida; a mi esposa por su comprensión y afecto; a mi madre por todo lo que me ha dado; a mi padre que ya no está con nosotros y a mis estudiantes que fueron mi principal motivación e inspiración para realizar este libro.
  • 6. Índice Agradecimientos Mi primera experiencia en el campo de la Inteligencia A rtificial la viví durante mi estadía laboral en la División de Proyectos Especiales de la empresa Venezolana de Aluminio, C.A. (Venalum). Quiero agradecer a todos mis compañeros de trabajo que en esa oportunidad me brindaron apoyo y me ayudaron con sus sugerencias, especialmente a los ingenieros Carlos Abaffy, Alberto Alarcón, Irene Torres y José Ramírez. Deseo agradecer a todos aquellos estudiantes y colegas de la Universidad Nacional Experimental de Guayana que me ayudaron a recopilar y resumir todo el material que utilicé para realizar este libro, producto principalmente de las cátedras de Inteligencia Artificial que dicto en esta magna casa de estudios. Deseo agradecer también a todas aquellas personas por sus valiosas observaciones que resultaron de la revisión de este material, principalmente al Dr. Daniel Bermúdez y al Dr. José Tarazona. Un agradecimiento muy especial al Dr. Daniel Bermúdez por ser mi maestro en la laboriosa carrera académica de docente y motivarme continuamente a realizar obras y proyectos como éste.
  • 7. Índice Dedictoria ................................................................................................................................ Agradecimientos ..................................................................................................................... Contenido ............................................................................................................................... Índice de Figuras ................................................................................................................... Índice de Tablas ..................................................................................................................... Prólogo .................................................................................................................................... CAPÍTULO 1. Introducción a la Inteligencia Artificial 1.1. Conceptos básicos ……………………..................................................…………….. 1.2. Algo de historia ..........………………………….......................................……………. 1.3. Técnicas de resolución de problemas …...........................................……………… 1.4. Agentes …………………………………….................................................…………. 1.5. Búsqueda y teoría de juegos ……..…………........…...................................………. 1.6. Resumen del Capítulo ………...…………….........…..................................………… CAPÍTULO 2. Los Sistemas Basados en Conocimiento 2.1. Conceptos básicos ……………........………………......................................………. 2.2. La arquitectura interna ………………...……............................................………….. 2.3. Una metodología de desarrollo …….....................................................……………. 2.4. El manejo de incertidumbre ……………….………............................................…... 2.5. Integración con sistemas de control …….........…………...................................…... 2.6. Ejemplos y aplicaciones ………………….............................................……………. 2.7. Resumen del Capítulo …………………...........…….....................................………. CAPÍTULO 3. La Adquisición y Representación del Conocimiento 3.1. El proceso de adquisición ………………….…............................................……….. 3.2. Técnicas de adquisición del conocimiento ……...........................................………. 3.3. Técnicas para la documentación del conocimiento ..........................................…… 3.4. Esquemas de representación del conocimiento y sus mecanismos de inferencia ………....………………....……….........................................………… 3.5. Resumen del Capítulo ……..…………………….........….....................................…. 3.6. Ejercicios …………………....……….……...............................................…………... 5 6 7 9 11 12 14 16 21 26 29 38 41 43 46 55 62 66 74 77 80 89 95 105 105 Contenido
  • 8. Índice CAPÍTULO 4. La Simulación Basada en Conocimiento 4.1. La simulación tradicional ……………....….........….....................................………… 4.2. Integrar IA y simulación …….........……….....……..….......................................…… 4.3. La Simulación Basada en Conocimiento ……..................................……..........…… 4.4. Resumen del Capítulo ……………………….................................................………. CAPÍTULO 5. El Procesamiento de Lenguaje Natural 5.1. Lenguaje natural y lenguaje formal …………............................................…………. 5.2. Procesamiento del lenguaje ………………….............................................………… 5.3. La arquitectura básica del procesador ………............................................………… 5.4. Aplicaciones …………………...………………................................................……… 5.5. Resumen del Capítulo ………………….................................................……………. CAPÍTULO 6. Las Redes Neurales Artificiales 6.1. El sistema neural humano ………………..............................................…………….. 6.2. Algo de historia ………………...…………..............................................…...……….. 6.3. El modelo neural artificial …………………..............................................…………... 6.4. Clasificación ………………………………...............................................…………… 6.5. Los modelos conexionistas ……………….............................................……………. 6.6. Ejemplos y aplicaciones ………………….............................................…………….. 6.7. Resumen del Capítulo …………………….................................................…………. CAPÍTULO 7. Los Algoritmos Genéticos 7.1. Introducción ………….....…….…………….................................................………… 7.2. Implementación ………………..……….…...............................................…………... 7.3. Aplicaciones ………………………………...............................................…………… 7.4. Resumen del capítulo ……………………..............................................……………. CAPÍTULO 8. Lenguajes de programación para la Inteligencia Artificial 8.1. Prolog ………………...……..…………...............................................………………. 8.2. Lisp …………………………………….................................................………………. 8.3. OPS-5 …………………………………................................................………………. 8.4. Resumen del capítulo …………………..............................................………………. 8.5. Ejercicios ………………………………................................................……………… Bibliografía ………………..……………...…….................….............................……………… Indice ……...………………..…………..………...............................................…………....…. 108 109 110 116 118 120 128 129 131 133 144 146 153 160 178 187 190 191 198 206 209 223 248 270 270 277 280
  • 9. Índice Figura 1.1 Evolución de los Sistemas Basados en Conocimiento …...............……….. Figura 1.2 Evolución de los Sistemas Inteligentes de Tutoría …….............….....…….. Figura 1.3 Evolución de la Robótica …….............………………………………….......... Figura 1.4 Evolución del Procesamiento de Lenguaje Natural …….........…………...... Figura 1.5 Un agente en interacción con el ambiente ………………….….................… Figura 1.6 Estado inicial y final del problema de rompecabezas de 8 piezas .............. Figura 1.7 Estado inicial y final del problema de las 8 reinas ……………...............….. Figura 1.8 Arbol de búsqueda para un caso del problema de los cubos …..............… Figura 1.9 Parte del árbol que representa el juego tres en línea ................................... Figura 2.1 Características de un área de aplicación …………...........……….........…… Figura 2.2 Automatización del conocimiento ………….………..............…........………. Figura 2.3 Arquitectura interna de un SBC ………….………..............…....................… Figura 2.4 Esquema metodológico en espiral ………....…...............………..............…. Figura 2.5 Esquema metodológico ………….………....……..........……….........……… Figura 2.6 Actividades de la identificación del problema ………….................……….... Figura 2.7 Actividades de la conceptualización …………...........……….........………… Figura 2.8 Actividades de la formalización ………….………..……........…..........……... Figura 2.9 Actividades de la construcción del prototipo …………..................……….… Figura 2.10 Actividades de la prueba y redefinición ………….…..........…….......………. Figura 2.11 Arquitectura general de un SBC-TR …………..........…….….….......………. Figura 2.12 Arquitectura de un sistema Blackboard ………….…..........…….......………. Figura 2.13 Areas y tipos de aplicación en función de la cantidad de sistemas .............. Figura 3.1 Secuencias de preguntas para una entrevista ……………..…..........……... Figura 3.2 Formas de trabajo con múltiples expertos …………………...............….….. Figura 3.3 Ejemplo de conocimiento representado en redes semánticas …...........….. Figura 3.4 Ejemplo de conocimiento representado en lógica de predicados de primer orden ……………………………………………..........……..........…… Figura 3.5 Ejemplo de conocimiento representado en reglas de producción ...........… Figura 3.6 Ejemplo de errores en la representación del conocimiento usando reglas de producción ……………………………..........………………........… Figura 3.7 Ejemplo de conocimiento representado en encuadres ……............………. igura 4.1 Ejemplo de Modelado Cualitativo ………………………..........….........……. Figura 4.2 Sistema secuencial integrado ………………...........…………….......………. Figura 4.3 Sistema paralelo integrado …………..........…………………….........……… Figura 4.4 Interfaz inteligente para simulación ……..................................…………...... Figura 4.5 Arquitectura generalizada de un SSBC ….................................................... Figura 5.1 Pasos que se dan cuando un orador comunica a un oyente la oración “el animal está muerto” ………………......…………......................... Índice de Figuras 21 22 25 25 26 30 31 31 37 41 43 44 46 46 49 48 51 53 54 63 64 72 84 87 97 98 99 100 102 111 112 113 113 114 119
  • 10. Índice Figura 5.2 Organización del proceso de interpretación semántica ……............……… Figura 5.3 Proceso de interpretación del discurso ………………………...............…… Figura 5.4 Arquitectura básica de un procesador de lenguaje natural …..…..........….. Figura 6.1 La neurona y sus partes ………………………………………................…... Figura 6.2 Sinapsis química ……………………………………........…….…..........……. Figura 6.3 Tipos de sinapsis ……………………………………........……...........……… Figura 6.4 Primer modelo de neurona artificial …………………...............…..………… Figura 6.5 Modelo genérico de neurona artificial ………………......……..........………. Figura 6.6 Funciones de activación discretas ………………………...............………… Figura 6.7 Funciones sigmoide y sigmoide desplazada ……………...…..........………. Figura 6.8 Función gaussiana ……………………………………………..........….......… Figura 6.9 Modelo genérico de RNA (propagación hacia adelante) …..........…...……. Figura 6.10 Modelo genérico de RNA (propagación hacia atrás) ………..............…….. Figura 6.11 Esquemas de funcionamiento de las RNAs …………………............…..…. Figura 6.12 Ejemplo de la separación lineal de un problema y un problema que no es linealmente separable …………………………………................……. Figura 6.13 Ejemplo de la curva del error en función de los pesos de las conexiones ……………………………………………………....................….. Figura 6.14 Ejemplo de una red hiperesférica de dos entradas ………...…..........…….. Figura 6.15 Ejemplo de una red simple de aprendizaje competitivo ……..............…….. Figura 6.16 Un caso particular del problema del agente viajero ……………...............… Figura 6.17 Estado estable de la red Hopfield en el problema del agente viajero para 5 ciudades …………………………………..………...............… Figura 6.18 Ejemplo de simulación de control de nivel en un tanque …….............……. Figura 6.19 Topología de la red Backpropagation para representar el problema del tanque ………………………………………………………..................…. Figura 6.20 Forma general de onda de una señal de electrocardiograma ..................... Figura 7.1 Ejemplo de una rueda de la ruleta ……………………………...............…… Figura 7.2 Juego de los seis peones …………………………………..........…….....….. Figura 7.3 Ejemplo de un grafo para mostrar el problema de coloración ..…..........…. Figura 8.1 Problema de las torres de hanoi ……………………..........………….....…... Figura 8.2 Representación del tablero para el juego tres en línea ………............……. Figura 8.3 Una solución al problema de las ocho reinas en el tablero de Ajedrez ………………………………………………………..........…..........… Figura 8.4 Tipos de dato en Lisp …………………………………..........…….........……. Figura 8.5 CONS es el inverso de CAR + CDR …………………..........…….......…….. Figura 8.6 Diagrama de bloques de la lista (A B C) ……………..........……......………. Figura 8.7 Diagrama de bloques de la lista (A B.C) ……………..........……......………. Figura 8.8 Diagrama de bloques de la definición de la función factorial ….............….. Figura 8.9 El valor del símbolo X se cambia de (A B C) a (D E F) ….......................…. Figura 8.10 Ejemplo de un árbol binario …………………………………..................…… Figura 8.11 Ciclo de reconocimiento-acción ……………………...................................... 124 127 129 135 137 138 144 148 150 150 151 152 153 158 161 168 175 177 180 181 182 183 186 195 202 226 220 221 222 226 231 242 242 243 244 247 253
  • 11. Índice Índice de Tablas 14 19-20 33 47-48 48-49 54 60 68-72 81 85 118 159-160 180 198-201 217-218 228 231-232 234 261 264-265 266 Tabla 1.1 Definición de IA dada por varios autores ………........……........……….. Tabla 1.2 Historia de los acontecimientos en IA ….………………............……….. Tabla 1.3 Comparación de las estrategias de búsqueda a ciegas .….…..…......... Tabla 2.1 Cuestionario para la evaluación de proyectos ….……….......…...…….. Tabla 2.2 Análisis de resultados ….………………………………..........…....…….. Tabla 2.3 Participantes y productos de los segmentos metodológicos ….........…. Tabla 2.4 Escala de certeza usada por ADS ….………………………....….......…. Tabla 2.5 Ejemplos de SBCs ….……………………………………....……..........… Tabla 3.1 Comparación de las técnicas de adquisición ….………….............……. Tabla 3.2 Ejemplo de una entrevista entre un ingeniero de conocimiento y un experto ………………………………………………....……...........….. Tabla 5.1 Diferencias entre lenguaje formal y lenguaje natural ….…............……. Tabla 6.1 Modelos de RNA y su clasificación ….…………………..…..............….. Tabla 6.2 Aplicaciones de algunos modelos de RNA ….………….............……… Tabla 7.1 Ejemplos de aplicaciones y trabajos de investigación en algoritmos genéticos ….………………………………..……..............….. Tabla 8.1 Cláusulas predefinidas de Prolog estándar ….……….…....….......……. Tabla 8.2 Los predicados más importantes de Lisp ….……….……...…........…… Tabla 8.3 Algunas primitivas de Lisp para el manejo de listas …………............… Tabla 8.4 Algunas primitivas de Lisp para controlar el flujo de ejecución ............. Tabla 8.5 Predicados de OPS-5 …………………………………………............….. Tabla 8.6 Acciones de OPS-5 ………………………………………...…….........…. Tabla 8.7 Funciones de OPS-5 ……………………………………...……........……
  • 12. Mauricio Paletta 12 Índice Desde que me inicié, varios años, en el campo de la investigación y enseñanza de la Inteli- gencia Artificial, no he podido salir de allí. No se si es por lo tanto que me ha llamado la atención o por lo realista de sus aplicaciones y la forma como resuelve problemas. Lo que sí está claro es que durante este tiempo he tenido la oportunidad de acumular gran cantidad de conocimientos producto de la experiencia que he ganado gracias a la realización de proyectos, a la instrucción de cursos y a la enseñanza de cátedras universitarias. Pero lo que para mi ha sido más placentero es haber iniciado la enseñanza de la Inteligencia Artificial en la Universidad Nacional Experimental de Guayana y poner al alcance de los estudi- antes de Ingeniería en Informática estos conocimientos. Este libro representa el compendio de una gran cantidad de material bibliográfico que se fue gestando gracias a las cátedras dictadas. Está orientado hacia todos aquellos estudiantes y pro- fesionales que desean incursionar en el mundo de la Inteligencia Artificial. Es un texto de ense- ñanza básica que facilita la apertura de las puertas hacia este mundo y no se requiere ningún conocimiento previo para su lectura. El libro está estructurado de forma tal que cada capítulo se concentra en alguna de las partes fundamentales de la Inteligencia Artificial. Se empieza con una introducción en el capítulo 1 donde se abarcan los conceptos más importantes y una breve reseña histórica. Posteriormente se van desarrollando las técnicas de resolución de problemas más importantes: los Sistemas Basados en Conocimiento en los capítulos 2 y 3; la Simulación Basada en Conocimiento en el capítulo 4; el Procesamiento de Lenguaje Natural en el capítulo 5; las Redes Neurales Artificiales en el capítulo 6 y los Algoritmos Genéticos en el capítulo 7. También he querido incorporar el material básico necesario para la comprensión y uso de tres lenguajes de programación muy importantes dentro del contexto de la Inteligencia Artificial, como lo son Prolog, Lisp y OPS-5. Esto se encuentra en el capítulo 8, último de este libro. Mauricio Paletta Prológo
  • 13. Capítulo Introducción a la Inteligencia Artificial En este capítulo se presenta la Inteligencia Artificial (IA) bajo un entorno introductorio, mostrando principalmente los conceptos básicos, un poco de su historia y las técnicas de resolución de problemas más importantes. 1
  • 14. Mauricio Paletta 14Índice 1.1. Conceptos básicos Cada vez que me ha tocado definir la Inteligencia Artificial (IA) hago uso de los dos términos que se utilizan en el concepto y digo que IA es hacer artificial la inteligencia. Si bien esta defini- ción no llega al nivel de detalle adecuado, no está del todo errada ya que el objetivo de la IA es precisamente ese. Lo que sí debe quedar claro es que para entender lo que IA es, hay que saber qué es inteligencia y qué es hacer algo artificial. Muchos autores han escrito varias definiciones sobre IA y todas ellas conllevan a la realización de elementos no naturales que tengan que ver con la inteligencia humana. La diferencia en estas definiciones está en la parte de la inteligencia humana que se quiere hacer artificial. Los autores Russell y Norving1 dividen las definiciones dadas a la IA (ver tabla 1.1) en cuatro categorías: Actuar como los humanos. En este esquema se dice que algo tiene comportamiento in-1. teligente cuando es capaz de desarrollar tareas cognitivas que están al mismo nivel que los humanos2 . Pensar como los humanos. Para saber si algo piensa como un humano, es importante2. primero saber cómo los humanos pueden pensar. Este es el principio de los modelos cogni- tivos y su ciencia implícita. Actuar racionalmente. Comprende el estudio de los agentes racionales, es decir, entes3. capaces de percibir su ambiente y actuar sobre él en respuesta de lo percibido. Pensar racionalmente. Basado en las leyes del pensamiento a la que se incluye el razo-4. namiento lógico y que datan desde la Grecia antigua3 . Tabla 1.1 Definición de AI dad por varios autores 1 Artificial Intelligence: A modern approach; Stuart Russell and Peter Norving; Prentice Hall, 1995 (ISBN: 0-13-103805-2) 2 El primero que propuso esta idea fue Alan Turing en 1950 el cual desarrolló un proceso para proveer una definición operativa de inteligen- cia. Este proceso se conoce con el nombre de Prueba de Turing y consiste en que un humano interrogue a una computadora (o cualquier otro elemento artificial) a través de una vía oculta (el humano ni sabe ni puede ver a quién está interrogando) y se pasa la prueba si el interrogador humano no es capaz de saber si el que está del otro lado es una máquina u otro humano. 3 El filósofo griego Aristóteles fue uno de los primeros que intentó entender y explicar el proceso de razonamiento. Pensar como los humanos “El nuevo esfuerzo excitante de hacer computadoras pensantes (máquinas con mentes) en todo sentido” Haugeland, 1985. “La automatización de actividades que asociamos con el pensamiento humano tales como la toma de decisión, la resolución de problemas, el apren- dizaje…” Bellman, 1978. Actuar como los humanos “El arte de crear máquinas que ejecutan funciones que requieren inteligencia…” Kurzweil, 1990 “El estudio de cómo hacer computación que hagan cosas en la forma y momento mejores que las personas” Rich & Knight, 1991. Pensar racionalmente “El estudio de las facultades mentales a través del uso de modelos computacionales” Charniak & McDermott, 1985. “El estudio de la computación que hace posible la percep- ción, el razonamiento y la actuación” Winston, 1992. Actuar racionalmente Un campo de estudio que busca explicar y emular el comportamiento inteligente en términos de procesos computacionales” Schalkoff, 1990 “La rama de la ciencia de la computación que se encarga de la automatización del comportamiento inteligente” Luger & Stubblefield, 1993.
  • 15. Inteligencia Artificial Básica 15Índice Pensando en una generalización de las cuatro categorías anteriores y tomando un poco de cada una de estas definiciones, he formulado mi definición de IA como sigue: Es la ciencia de emular procesos propios de la inteligencia humana tales como la per- cepción, el razonamiento y el aprendizaje, haciendo uso de modelos no naturales. Lo primero que resalta en esta definición es ver a la IA como una ciencia, ya que ha demos- trado ser y es una doctrina de trabajo e investigación. Una de las palabras que mejor se asocian al concepto de IA es “emular”, que quiere decir copiar o imitar de forma tal de llegar a ser igual o mejor que la fuente. De hecho, la IA es posible gracias a que existe la inteligencia natural. Es importante estar claro que la IA no busca innovar o descubrir nuevos comportamientos sino hacer que los comportamientos propios naturales o humanos se puedan imitar de forma aceptable4 . En lo que va del capítulo ha aparecido varias veces el concepto de inteligencia, humana por supuesto y no se ha presentado una definición. La mayoría de las veces la inteligencia se con- funde con otro concepto importante que es el de conocimiento. En realidad tienen mucho que ver el uno con el otro, pero ambos deben ser claramente diferenciados. Se puede definir la inteligencia como la habilidad para manejar el conocimiento que se dispone para la toma de una decisión para la rápida solución de un problema. Como se puede ver en esta definición, la inteligencia no es el conocimiento que se tiene, sino la habilidad para manejarlo. Cuando se comparan dos personas por su inteligencia, es decir, se dice que una persona es más inteligente que otra, no se quiere aludir a que una persona tiene más conocimiento que la otra sino que ha usado su conocimiento de una forma más hábil. Este comportamiento lo podemos ver por ejemplo, cuando dos alumnos que han sido alimentados con el mismo conocimiento y durante una prueba, uno de ellos termina exitosamente mucho antes que el otro que pudiera hasta incluso no terminar en el tiempo previsto. De hecho, es muy común en el ámbito académico la frase ¡…si es inteligente!. Esto quiere decir que el principal objetivo de la IA no es buscar emular el conocimiento natural de alguien sino los procesos que permiten que el manejo de este conocimiento sea efectivo y efi- ciente. De hecho, los tres procesos más importantes de la inteligencia humana son la percepción, el razonamiento y el aprendizaje. La percepción le permite al ser humano interactuar con el medio ambiente que lo rodea; el razonamiento es la búsqueda de una respuesta hacia las necesidades percibidas y el aprendi- zaje es la forma en la cual se puede reforzar o aumentar lo que se sabe (conocimiento) sobre el 4 Cuando me ha tocado dictar una cátedra de IA en la universidad, le digo a mis alumnos en son de broma, que los que trabajamos en IA somos unos “copiones” o “emuladores”.
  • 16. Mauricio Paletta 16Índice ambiente o la forma en la cual se puede actuar sobre él. Estas son las tres funciones básicas de un autómata racional. El conocimiento es uno de los cuatro tipos de información5 que almacena todo lo que un ente sabe sobre su ambiente. Para concluir con la definición de IA, un modelo no natural o artificial es aquél que es realizado por la mano del hombre mediante elementos mecánicos, electrónicos, eléctricos, etc., siendo el más importantes los medios computacionales. Dado la gran cantidad de tópicos involucrados en la IA se pueden identificar otras ciencias en la cual ésta se fundamenta: la filosofía (desde el 428 a.C.), la matemática (desde el 800), la psicología (desde el 1879), la ingeniería de la computación (desde el 1940) y la lingüística (desde el 1957). 1.2. Algo de historia Para hablar de historia de la IA hay que hablar de una etapa de prehistoria en la cual el hombre hacía IA sin que ésta existiera formalmente y una etapa que va desde su nacimiento formal hasta el desarrollo actual. La prehistoria de la IA abarca desde los primeros tiempos de nuestra civilización hasta me- diados del siglo veinte. Los hechos más importantes a considerar en este período son aquellos que están relacionados con la construcción de autómatas6 . Ya en la Grecia antigua encontramos obras donde se hace mención a autómatas . Por otro lado, la tradición judía creó el mito del “golem”, una figura hecha de arcilla a la que un rabino podía dar vida propia, convirtiéndola en criado. Durante el siglo XVIII empezaron a aparecer mecanismos como los de Jacques de Vaucan- son, como por ejemplo el flautista que movía los dedos (1737) y el pato que era capaz de nadar, batir alas, comer y hasta expulsar excrementos simulados (1738). En 1912 Torres Quevedo construyó un autómata para jugar el final de ajedrez de rey y torre contra rey. El escritor Capek, en su obra RUR (1920) presenta unos seres creados para realizar las tareas que el hombre no quiere hacer, que acaban siendo más poderosos que éste poniendo en peligro su existencia. 5 Los otros tres tipos de información son los datos, el texto y las imágenes. La informática o manejo artificial de la información ofrece herramien- tas automatizadas para el procesamiento de cada uno de ellos. 6 Iliada, canto XVIII, V. 368-384 y 410-423; “…veinte trípodes que tenían ruedas de oro para que de propio impulso pudieran entrar donde los dioses se reunían y volver a casa…”; “…dos estatuas de oro semejantes a vivientes jóvenes, pues tenían inteligencia, voz y fuerza…”.
  • 17. Inteligencia Artificial Básica 17Índice Con la aparición de la computación y junto a la idea que se tenía de los autómatas, se dieron los primeros pasos para la formalización del razonamiento y las máquinas que estaban a punto de surgir tras la segunda guerra mundial7 . El último concepto importante a mencionar en esta etapa de prehistoria es el de cibernética y con él todos aquellos procesos propios que le son característicos, entre los cuales destacan la realimentación, el control y la autoorganización. La gestación de la IA se da entre 1943 y 1956. El trabajo de Warren McCulloch y Walter Pitts8 en 1943 es el que generalmente se reconoce como el primero de IA realizado. En este trabajo se define el primer modelo de neurona artificial, que luego sirvió de base para la realización de otros trabajos como el de Donald Hebb9 en 1949 y los de Marvin Minsky y Dean Edmonds en 1951. Fue en el año de 1956 cuando aparece por primera vez el nombre de Inteligencia Artificial, ya que ese fue el nombre que se le dió al grupo de investigación que para la fecha contaba con actividades en teoría de autómatas, redes neurales artificiales y el estudio de la inteligencia. Este pequeño grupo de personas10 se reunió gracias a la realización de la conferencia de Darmouth con el patrocinio de la Fundación Rockefeller. Uno de los temas que más se discutió en esta conferencia fue el trabajo sobre la lógica teórica, considerado como el primer programa de IA y usado para resolver problemas de búsqueda heurística. Entre los años de 1952 y 1969 es cuando se puede apreciar el primer entusiasmo sobre IA y hay grandes expectativas por sus resultados. Hacia 1961 Allen Newell y Herbert Simon terminan (su comienzo se remonta desde 1957) su trabajo referido a la resolución de problemas genera- les (GPS). En este trabajo se imitan los protocolos humanos para resolver problemas aplicando técnicas de resolución codificada. En 1956 Arthur Samuel desarrolló un programa que estaba capacitado para aprender el juego de damas. Este programa fue mostrado en televisión causan- do gran impresión para la fecha. El investigador John MacCarthy del MIT diseñó en 1958 uno de los lenguajes de programación más importantes de IA. El objetivo de este lenguaje, llamado Lisp, es usar conocimiento para buscar solución a los problemas haciendo uso de la representación simbólica. Herbert Gelernter desarrolló en 1959 un programa para probar teoremas de geome- tría elemental y Slage comenzó la automatización de la integración simbólica con su programa “Saint” (llamado más tarde “Macsyma”). Durante los años que pasaron entre 1966 y 1974 se desarrollaron varios trabajos que le dieron a la IA una dosis de realidad. Entre los más importantes destaca ELIZA 11 , desarrollado en 1965 7 No es extraño que la aparición de las primeras máquinas electrónicas de cómputo fuera seguida inmediatamente por los intentos de aplicarlas a lo que hoy llamamos IA. 8 A logical calculus of the ideas imminent in nervious activity. Trabajo de mucha importancia histórica en el área de las redes neurales artificiales. 9 The organization of behavior. Con este trabajo se inician los procesos de investigación en el campo del aprendizaje automático. Como producto de este trabajo se tiene la muy conocida regla de aprendizaje de Hebb. 10 Los nombre que más destacan por su importancia en la investigación de IA para la fecha son: John McCarthy, Marvin Minsky, Claude Shan- non, Nathaniel Rochester, Trenchard More, Arthur Samuel, Ray Solomonoff y Oliver Selfridge. 11 Fue creado como un programa de psicología que simula las respuestas de un terapista en diálogo interactivo con un paciente. ELIZA causó
  • 18. Mauricio Paletta 18Índice por Weizenbaum. Se trata de un programa para el estudio de la comunicación hombre-máquina mediante el lenguaje natural interactivo. Otro de los trabajos importantes durante este período fue la definición del modelo neural conocido como “propagación hacia atrás” (backpropagation) desarrollado por Bryson y Ho en 1969. A partir de 1969 se produjo la institucionalización de la comunidad científica que trabajaba en IA; tuvo lugar el primer congreso internacional de IA. En 1970 apareció el primer número de la revista Inteligencia Artificial, una importante fuente de publicación de los trabajos de investigación más destacados del área. Los sistemas basados en conocimiento ganaron mucha fuerza entre los años 1969 y 1979. A este respecto se tienen los proyectos “Dendral”12 , “Mycin”13 y “Prospector”14 como los más im- portantes. Otro desarrollo importante en este período fue la concepción de los marcos (“frames”) como esquema de representación del conocimiento (M. Minsky - 1975). Entre 1971 y 1976 la Agencia de Investigación de Proyectos Avanzados para la Defensa de los Estados Unidos (DAR- PA) financió las investigaciones relacionadas con la capacidad de comprensión del lenguaje y el desarrollo de la teoría de la visión y del hardware para el procesamiento de imágenes. Alain Colmerauer define, en 1975, el lenguaje de programación Prolog que representa uno de los lenguajes más importantes dentro de la investigación de IA ya que libera al programador de la necesidad de especificar los procedimientos de resolución de problemas. La aparición de lenguajes declarativos como éste fue un paso importante para la IA. Para los años que van desde el 1980 hasta el 1988 se reconoce el ingreso definitivo de la IA en la industria. La prueba más significativa de esto es la puesta en operación comercial del XCON, un sistema capaz de almacenar y manejar el conocimiento necesario para la configuración de equipos DEC a gusto del cliente, desarrollado por J. McDermott en 1981. En ese mismo año se publica el primer volumen del Handbook de IA elaborado por A. Barr. Otro aspecto relevante en este período fue el llamado Proyecto de la Quinta Generación de Computadoras anunciado por los japoneses15 . gran impresión ya que las personas que mantenían un diálogo con el programa creían que hablaban con un psicólogo humano. 12 Para la predicción de fórmulas estructurales en complejos orgánicos a partir de mediciones con espectrógrafos de masas, espectros de resonan- cia nuclear y análisis químico. Desarrollado en 1969 por Ed Feigenbaum, Bruce Buchanan y Joshua Lederberg. 13 Para el diagnóstico y determinación de terapia en enfermedades infecciosas. Desarrollado en 1971 por Ed Feigenbaum, Bruce Buchanan y el Dr. Edward Shortliffe. 14 Para la búsqueda de yacimientos de minerales y petróleo. Desarrollado por R. O. Duda y su grupo en 1979. 15 Mediante la unión de la industria y gobierno japoneses se concibió el Instituto para la Nueva Generación de Tecnología de Computadoras (ICOT) dedicado a la investigación en las áreas de hardware, software y aplicaciones, con el fin de formular una teoría unificada para todo el campo de representación y procesamiento de la información. El grupo de hardware se concentra en una arquitectura caracterizada por la inferencia secuencial, inferencia en paralelo y el desarrollo de máquinas para base de datos afines. La investigación en el área de software está en la búsqueda de un lenguaje que sea el núcleo del proyecto (incluyendo sistema operativo, procesamiento de lenguaje natural y representación del conocimiento). El último grupo combina los resultados de los dos primeros en la labor sobre sistemas de gestión de bases de datos afines y sistemas basados en conocimiento. El mayor logro obtenido en los primeros cuatro años del proyecto fue una máquina basada en conocimiento llamada Delta (comprende un sistema de inferencia, un sistema de conocimiento, un sistema de software y un sistema para el desarrollo de prototipos de software).
  • 19. Inteligencia Artificial Básica 19Índice En la actualidad se aprecia un auge importante en el área de las redes neurales artificiales gracias a la gran cantidad de aplicaciones y trabajos de investigación realizados16 . Entre los tra- bajos más importantes que destacan en estos últimos años está “SOAR”, el mejor ejemplo de IA conocido de arquitectura completa para un agente17 . Las actividades recientes de investigación en IA se están integrando con otros temas de interés en la automatización computarizada, como lo son la orientación a objetos, la realidad virtual, el avance en la interfaz gráfica y los multime- dios. Algunos autores identifican esta fusión de conceptos como Computación Emergente. En la tabla 1.2 se presenta de forma cronológica los acontecimientos que resaltan dentro de la historia de la investigación en IA, varios de ellos mencionados anteriormente. Tabla 1.2 Historia de los acontecimientos en IA 16 El trabajo Parallel Distributed Processing desarrollado por Rumelhart y McClelland en 1986 es uno de los que más evidencia este hecho. 17 Desarrollado por Allen Newell, John Laird y Paul Rosenbloom en 1990. Fecha Autores Acontecimiento 1958 John McCarthy Programs with Common Sense; definición del lenguaje Lisp. 1959 Herbert Gelernter Geometry Theorem Prover. Slage SAINT. Automatización de la integración simbólica. Arthur Samuel Estudios en máquinas de aprendizaje usando el juego del ajedrez. Publicado en una revista de investigación de IBM. 1961 Allen Newell Herbert Simon General Problem Solver (GPS). 1962 Frank Rosenblatt Perceptron. Primer modelo neural completo. 1963 E. A. Feigenbaum J. Feldman Computadoras y Razonamiento. 1964 D. G. Bobrow STUDENT; programa de lenguaje natural que comprende y resuelve problemas elevados de álgebra. 1965 Weizenbaum ELIZA; programa que simula las respuestas de un terapista en diálogo interactivo con un paciente. 1966 R. D. Greenblat Programa de ajedrez capaz de competir con éxito en torneos. 1968 Marvin Minsky Procesamiento de información semántica. 1969 Primer Congreso Internacional de Inteligencia Artificial. M. Minsky S. Papert Perceptrons. Libro que presenta una crítica sobre el modelo dado por Rosenblatt. Bryson & Ho Backpropagation. Ed Feigenbaum Bruce Buchanan Joshua Lederberg DENDRAL; sistema experto para la predicción de fórmulas estructurales en complejos orgánicos. 1970 Primer número de la revista Inteligencia Artificial. Fecha Autores Acontecimiento 1943 Warren McCulloch Walter Pitts A logical calculus of the ideas imminent in nervious activity. Primer modelo de neurona artificial. 1949 Donald Hebb The organization of behavior. Aprendizaje automático. 1950 Alan Turing Inteligencia y Funcionamiento de Máquinas; la prueba de Turing. 1955 Allen Newell J. C. Shaw Herbert Simon Information Proccessing Languahe II (IPL-II). Primer lenguaje de IA. 1956 John McCarthy Marvin Minsky Claude Shannon Nathaniel Rochester Trenchard More Arthur Samuel Ray Solomonoff Oliver Selfridge Arthur Samuel Conferencia de verano de Darmouth; surge el nombre de IA. Programa para aprender a jugar damas.
  • 20. Mauricio Paletta 20Índice Fecha Autores Acontecimiento R. O. Duda P. E. Hart Clasificación de modelos y análisis de escenas. 1975 Marvin Minsky Frames; esquema de representación del conocimiento. DARPA Programa de Comprensión de Imagen. La Psicología de la visión con computadoras. R. C. Schank R. Abelson SAM; uso de la escritura en las representaciones de dependencia conceptual. D. G. Bobrow A. Collins Representación e Inteligencia. Alain Colmerauer Definición del lenguaje Prolog. 1976 D. B. Lenat AM; programa de aprendizaje que define y evalúa conceptos matemáticos con teoría de conjuntos y números. R. Davis TEIRESIAS; usa metaniveles de conocimiento para entrar y actualizar bases de conocimiento usadas en sistemas expertos. 1979 R. O. Duda y grupo PROSPECTOR; sistema experto para la búsqueda de yacimientos de minerales y petróleo 1980 J. McDermott XCON; sistema experto para la configuración de equipos DEC. 1981 Proyecto de la Quinta Generación de Computadoras; anunciado por los japone- ses. A. Barr Publicación del primer volumen del Handbook de IA. 1984 Conferencia Internacional sobre la Quinta Generación. 1986 Rumelhart & McClelland Parallel Distributed Proccessing. 1987 David Chapman Planificación usando estructuras simples. Berliner HITECH; primer programa computarizado en derrotar a un maestro en ajedrez (Arnold Denker). 1988 Judea Pearl Razonamiento probabilístico en sistemas inteligentes. 1990 Allen Newell John Laird Paul Rosenbloom SOAR; arquitectura completa para agente. 1992 Schwuttke MARVEL; sistema experto tiempo-real que monitorea los datos transmitidos por una nave espacial. 1993 Pomerleau Sistema robótico para conducir un vehículo con capacidad de aprendizaje. 1994 Zue PEGASUS; sistema de reservaciones de vuelos aéreos con interacción telefónica con los clientes. Tabla 1.2 (Continuación) Historia de los acontecimientos en IA Terry Winograd SHRDLU; parte de un proyecto de comprensión del lenguaje natural capaz de comprender y ejecutar correctamente órdenes dadas en inglés sobre un dominio específico. P. H. Winston Descripciones de ejemplos de aprendizaje estructural; se describe el programa ARCHES que aprende de ejemplos. 1971 Ed Feigenbaum Bruce Buchanan Edward Shortliffe MYCIN; sistema experto para el diagnóstico y determinación de terapia en enfer- medades infecciosas. N. Nilsson R. Fikes STRIPS; planifica proyectos mediante la secuencia de operadores. 1972 SRI Internacional SHAKEY; robot móvil capaz de recibir instrucciones y planear acciones inteligen- tes para realizar tareas. 1973 William Woods LUNAR; sistema de recuperación de la información para un sistema gramatical de lenguaje natural. Usado por el Apolo 11 para evaluar los materiales traídos de la Luna. J. D. Myers H. E. Pople INTERNIST; sistema para el diagnóstico de las enfermedades humanas. SUMEXAIM (Proyecto Experimental de IA en Medicina con Computadoras de la Universidad Médica de Stanford). R. C. Schank Dependencia conceptual: una teoría para la comprensión del lenguaje conceptual. R. C. Schank K. M. Colby Modelos de razonamiento y lenguaje con computadoras. Fecha Autores Acontecimiento
  • 21. Inteligencia Artificial Básica 21Índice 1.3. Técnicas de resolución de problemas La IA brinda un amplio conjunto de técnicas para la resolución de una gran variedad de pro- blemas. Desde el punto de vista de lo que se pretende emular, hay dos corrientes claramente identificadas: Emulación estructural. Busca el logro de un resultado copiando la estructura del cerebro• humano. Emulación funcional. Busca el logro de un resultado emulando las características funcionales• del cerebro humano. En los siguientes párrafos se presenta una breve definición de las técnicas más importantes de la IA, muchas de ellas desarrolladas en capítulos posteriores de este libro. Sistemas Basados en Conocimiento. Son sistemas capaces de resolver o asistir en la re- solución de problemas que requieren de experiencia o inteligencia humana. Pertenecen al grupo de trabajo de la emulación funcional. En la figura 1.1 se muestra la evolución de estos sistemas los cuales seran desarrollados en detalle en el capítulo 2. Figura 1.1 Evolución de los Sistemas Basados en Conocimiento Sistemas Inteligentes de Tutoría. Son sistemas que modelan el comportamiento de instruc- tores y participantes en un proceso de aprendizaje. Representan casos particulares de Sistemas Basados en Conocimiento, donde el conocimiento es suministrado por los instructores en función de lo que se enseña y a quien se enseña. Por supuesto, al igual que en el caso de los Sistemas Basados en Conocimiento, se orientan hacia la emulación estructural. La figura 1.2 muestra la evolución de estos sistemas. Sistemas de procesamiento por lotes Sistemas en línea Sistemas de información gerencial Sistemas de soporte de decisiones Sistemas basados en conocimiento
  • 22. Mauricio Paletta 22Índice Figura 1.2 Evolución de los Sistemas Inteligentes de Tutoría En este tipo de sistemas se desarrollan ambientes interactivos con un énfasis en el aprendiza- je y el uso de elementos de multimedia (manejo de sonido, procesamiento de imágenes, etc.). Los Sistemas de Tutoría se basan en el principio de “aprender haciendo” y le permiten al alumno no sólo nuevas formas de abordar el proceso de aprendizaje sino también explorar nuevo conocimiento de carácter más general que el ligado a un dominio específico. Hay cuatro esque- mas para realizar la enseñanza: La pizarra electrónica. El papel del sistema es llevar registro de una forma estructurada, de1. todas las actividades que el alumno va realizando para atacar un problema. Permite realzar el proceso de resolución con el objetivo de reflexionar sobre el conocimiento estratégico agregando una nueva perspectiva al aprendizaje. En este esquema de trabajo, el alumno selecciona las reglas a aplicar de un menú de opcio- nes que se le ofrece y en pasos sucesivos. Un área de la pizarra llamada espacio de búsqueda refleja todo el proceso de exploración hasta llegar a la solución (se representa mediante una estructura de árbol). Otra zona de la pizarra llamada traza muestra el camino junto con las reglas aplicadas para llegar al resultado. La idea fundamental de la pizarra electrónica es destacar la importancia del proceso para encontrar la solución. En todo momento el alumno puede reflexionar sobre su actividad, observar el camino que sigue, intentar compararlo con otras actividades, etc. Se trata, por lo tanto, de fo- mentar no sólo el aprender a resolver problemas en un dominio concreto sino mejorar al mismo tiempo la forma de aprender a partir del estudio crítico del espacio de búsqueda desarrollado, razonar el por qué se ha aplicado una cierta regla siguiendo un camino determinado, etc. Las bases de conocimiento. El alumno describe en forma de reglas cómo resolver pro-2. blemas; el sistema permite comprobar mediante simulación si estas reglas expresan o no Entrenamiento basado en computadores Instrucción basada en computadores Sistemas Inteligentes de Tutoría
  • 23. Inteligencia Artificial Básica 23Índice el comportamiento deseado. El objetivo principal es estimular la capacidad de plantear hipótesis, analizar datos, experimentar y aprender de los errores haciendo énfasis en el conocimiento estratégico. La máquina diagnosticadora. Es una variante de la pizarra electrónica en la cual se le3. agrega al sistema la capacidad de detección de errores concluyendo sobre las causas conceptuales que los originan. Este razonamiento es fundamental para realizar luego una corrección eficaz. Se basa en la hipótesis del error estructural, que establece que una vez que se diagnostica el error, el sistema es capaz de predecir el comportamiento del alumno frente a un nuevo pro- blema. Este entorno ha sido utilizado para desarrollar la capacidad de análisis y las técnicas de diagnóstico de los estudiantes. Se trata en definitiva de dar un papel positivo al error, como punto principal de reflexión para mejorar el proceso de aprendizaje. La asistencia inteligente4. 18 . Los sistemas se estructuran en torno a un tutor automático que realizan las actividades de seguimiento, diagnóstico de errores, reparación y exposición de conceptos, que conforman el papel del profesor en una sesión de enseñanza perso- nalizada. El conocimiento y las diversas funciones del sistema se distribuyen en cuatro módulos: Un experto capaz de resolver problemas en el dominio que se desea enseñar. Comprende la• representación del conocimiento sobre el dominio ya que para enseñar es necesario conocer a fondo el tema objeto de aprendizaje. Un modelo del alumno que refleja su estado de aprendizaje. La tarea de enseñar requiere un• análisis continuo de la actividad del estudiante, en particular de la evaluación de sus respues- tas. El tutor no sólo debe detectar los errores, sino también establecer un diagnóstico que le permita tomar una iniciativa adecuada para corregirlos. La base de un buen diagnóstico es conocer lo que el estudiante sabe, por eso es que el tutor debe construir a lo largo de su interacción con el alumno un modelo del conocimiento que éste va adquiriendo en el proceso de aprendizaje19 . Un tutor conocedor de estrategias de enseñanza, diagnóstico y explicación. El experto es la• herramienta que el tutor usa para enseñar pero además hay un conocimiento pedagógico que es necesario incorporar para organizar el proceso de aprendizaje. Este conocimiento de- termina la forma en la cual se debe enseñar una determinada materia. El modelo pedagógico 18 Sistemas Inteligentes de Enseñanza Asistida (ICAI). 19 Se presentan tres modelos: el modelo overlay ve al estudiante como un miniexperto en el sentido que su conocimiento es un subconjunto del conocimiento del tutor, que va creciendo a lo largo del aprendizaje; el modelo diferencial pone el énfasis en el análisis comparativo entre los resultados del experto y los obtenidos por el alumno; el modelo de grafo genético considera que es importante no sólo representar la situación final de cada sesión, sino que es también fundamental conocer cómo se han adquirido.
  • 24. Mauricio Paletta 24Índice se formaliza mediante los procedimientos de discurso para determinar la forma de explica- ción y por medio de las reglas de enseñanza para estimar el interés de un tema, seleccionar un procedimiento de discurso y mantener el modelo del alumno. Una interfaz tutor-alumno que gestione el diálogo, preferiblemente en lenguaje natural.• Robótica. Rama que se ocupa de la creación de máquinas que automatizan tareas principal- mente mecánicas que requieren de capacidad humana. Se orienta hacia la emulación estructu- ral. El término robot designa una importante variedad de ingenios provistos de capacidades muy diferentes y dirigidos a campos diversos de aplicación20 . Es importante mencionar que todos los sentidos corporales (gusto, olfato, tacto, vista y audi- ción) se pueden automatizar hoy en día. Es decir, actualmente es posible tener un ente artificial capaz de reconocer olores, sabores y texturas, que puede entender lo que oye y que puede reconocer lo que ve. El problema está en el dominio de elementos que puede reconocer en un momento dado, es decir, hacer que el comportamiento de los robots sea más inteligente. Uno de los objetivos de investigación en esta área es el de poder modificar los planes de ac- ción en tiempo real o durante el trabajo e incorporar una reacción apropiada según el resultado. Esta estrategia de crear un plan con sentido a partir de capacidades elementales se puede usar también para crear planes nuevos. Por otro lado, se requiere atender también otras capacidades para lograr que un robot no sea monótono en su actividad. Para poder convertir éstas y otras capacidades más avanzadas en realidad, se están usando técnicas como las siguientes: Solución de problemas en espacios tridimensionales y de geometría de objetos.• Optimización de procesos de movimiento y coordinación.• Tratamiento de señales sensoriales (datos visuales, electrónicas, etc.).• Sistemas de planificación que coordinan informaciones espaciales, temporales y sensoria • les, para realizar la tarea de forma óptima o para coordinar varios robots en una producción en serie. Son muchas las áreas de aplicación de la robótica pero las más importantes son en la indus- tria, en los procesos de manufactura y en la investigación y exploración espacial21 . La figura 1.3 muestra como ha evolucionado esta ciencia en el tiempo. Desde el punto de vista industrial, los robots se pueden dividir en dos grandes familias: los móviles y los poliarticulados. Los robots móviles pueden ser rodantes y multípodos (locomoción basada en dispositivos que se asemejan a patas o piernas de animales). Los robots poliarticu- 20 La palabra robot procede del eslavo antiguo “robota”, que en checo significa esclavitud o servidumbre. 21 Hoy en día hay proyectos de biología, genética, etc. orientados hacia la robótica. En una conferencia nacional americana de IA (AAAI) en la que tuve la oportunidad de asistir, se presentó un proyecto que trataba sobre un micro-robot-biológico que al inyectarse en las venas, era capaz de reconocer componentes de grasa adheridos en las mismas y devorarlos con el objetivo de reducir el riesgo de infarto.
  • 25. Inteligencia Artificial Básica 25Índice lados o también llamados robots industriales son aquellos que se reconocen por tener un brazo mecánico poliarticulado. Figura 1.3 Evolución de la Robótica Según el nivel de complejidad de su sistema de control, el robot puede ser manipulador se- cuencial (sus movimientos están definidos en forma discreta), reproductor (mediante una técnica de guiado, se les enseña unos movimientos que se repiten invariablemente tantas veces como se les solicite), de control numérico (permiten la realización de trayectorias continuas, definidas por guiado o mediante un programa en lenguaje simbólico) e inteligente (tienen capacidades de percepción evolucionada de su entorno y la generación automática de planes de acción, apren- dizaje a partir de la propia experiencia, toma de decisiones, etc.). Procesamiento de Lenguaje Natural. Son interfaces que permiten al usuario comunicarse con una máquina haciendo uso de su lenguaje habitual. Se orientan a la emulación funcional y su evolución se muestra en la figura 1.4. En sistemas de este tipo parte de la información a procesar está codificada en lenguaje natural y se aplican algoritmos para el análisis sintáctico, semántico y pragmático de la información y para la generación en lenguaje natural. Dentro de los campos de investigación más importantes de esta área están la comprensión de textos, la traducción auto- mática y la generación de resúmenes. El capítulo 5 desarrolla este tema en detalle. Figura 1.4 Evolución del Procesamiento de Lenguaje Natural Robots mecánicos Robots con componentes electrónicos Robots programables Robots de propósito múltiple Robots inteligentes Procesamiento por análisis sintáctico Procesamiento por análisis semántico comprensión del lenguaje
  • 26. Mauricio Paletta 26Índice Sistemas Neurales o Conexionistas. Esquemas de procesamiento paralelo distribuido que tratan de emular la forma en la cual las neuronas cerebrales se organizan para realizar su proce- samiento. Es evidente su influencia en el grupo de trabajo de la emulación estructural. Se estudia en el capítulo 6. Algoritmos Genéticos. Sistemas inspirados en la evolución natural derivada de la genética, que simula la evolución de una población de cromosomas hasta llegar a un óptimo global me- diante operaciones locales de reproducción, modificación y selección. Se orientan en la emula- ción estructural y se estudian en detalle en el capítulo 7. 1.4. Agentes Cualquier cosa que puede percibir su ambiente a través de sensores y actuar sobre el am- biente mediante elementos ejecutores se denomina un agente (figura 1.5). Cuando un agente tiene autonomía y es capaz de tomar decisiones sobre su forma de actuar para realizar las cosas bien, se dice que es un agente racional. Para reconocer que un ente es racional, hay que tomar en cuenta cuatro factores: • Una medida que defina el grado en el cual el ente es exitoso en su forma de actuar, • Mantener registro de todo lo que el ente percibe, • Todo lo que el ente conoce sobre el ambiente y • El conjunto de acciones que el ente es capaz de ejecutar. Figura 1.5 Un agente en interacción con el ambiente Esto nos lleva a la definición de un agente racional ideal: “Para cada posible secuencia que se percibe, un agente racional ideal debe de ejecutar la acción que maximiza su medida de éxito, basado en la evidencia que se da con lo per- cibido y en el conocimiento que el agente tiene”.
  • 27. Inteligencia Artificial Básica 27Índice El ambiente lo constituyen todos los elementos externos al agente. Presenta las siguientes propiedades: Si es o no accesible. Se dice que un ambiente es accesible si los sensores del agente son• capaces de percibir todos los aspectos que son relevantes para tomar una acción. El aje- drez, por ejemplo, representa un ambiente accesible ya que el jugador tiene toda la informa- ción necesaria a la vista para decidir el juego; el póker por el contrario, es un ambiente no accesible. Si es o no determinístico. Un ambiente es determinístico si el estado siguiente es determina-• do completamente por las acciones seleccionadas y ejecutadas por el agente sobre el estado actual. Por ejemplo, un sistema de diagnóstico médico es no determinístico mientras que un sistema de análisis de imágenes si lo es. Si es o no episódico. Un episodio consiste en la percepción-actuación de un agente. Si la• experiencia del agente se divide en episodios, se dice que el ambiente en el cual él actúa es episódico. Las acciones que se toman sobre un episodio no dependen de aquellas que se tomaron en los episodios anteriores. Como ejemplo se pueden citar un robot manipulador secuencial para un ambiente episódico y el control de una refinería como no episódico. Si es estático o dinámico. Si el ambiente puede cambiar mientras el agente está deliberando,• se dice que el ambiente es dinámico. Un taxista, por ejemplo, se desenvuelve sobre un am- biente dinámico mientras que un jugador de ajedrez en un ambiente estático. Si es discreto o continuo. Si hay un número limitado de percepciones distintas claramente• definidas, el ambiente es discreto. Un profesor interactivo de idiomas es discreto mientras que el control de una refinería es contínuo. Dado que el comportamiento de un agente depende de la forma en la cual éste actúa en fun- ción de lo que percibe, se tiene la posibilidad de mantener una tabla que contenga las relaciones entre todas las acciones que se pueden hacer con respecto a todo lo que se puede percibir. A esta tabla se le llama un mapa de las secuencias de percepción a las acciones. Hay que conside- rar que para algunos agentes, esta información puede ser muy extensa y hasta infinita. Si sólo se requiere un mapa para definir a un agente, un mapa ideal define un agente ideal: “Al especificar las acciones que un agente debe ejecutar en respuesta de alguna percepción particular, se tiene un diseño para un agente ideal”. Un ejemplo de mapas son las tablas de comportamiento de cualquier función. Todas las po- sibles combinaciones de valores de los parámetros de entrada de la función, determinan las
  • 28. Mauricio Paletta 28Índice secuencias que el agente percibe. Lo que retorna la función para cada secuencia de valores de entrada, es la respuesta del agente asociada a esa percepción. Una forma de reducir el tamaño de los mapas es limitando el ambiente de percepción del agente. Los agentes deben resolver una variedad limitada de tareas en una variedad limitada de ambientes. Uno de los aspectos importantes que hay que tomar en cuenta en la definición del agente ra- cional ideal es la parte que maneja el conocimiento. Si el agente es capaz de tomar las acciones en función de su conocimiento, en lugar de poner atención a lo que percibe, se dice que el agente tiene autonomía. Para que un agente sea autónomo, su comportamiento debe ser determinado por su propia experiencia. Uno de los principales objetivos que busca la IA es diseñar el programa para los agentes, es decir, una función que implemente la transición del agente entre la percepción y la acción. Una consideración especial se debe tomar en cuenta con respecto a la arquitectura computacional en la cual se va a ejecutar el programa del agente, sobre todo en lo concerniente a los elementos de percepción y actuación. Una relación entre los agentes, sus programas y la arquitectura donde estos corren, se puede ver como: agente = programa + arquitectura Desde un punto de vista muy general, el algoritmo de la función que permite a un agente reci- bir lo que percibe y retornar una acción adecuada correspondiente, se ve como sigue (la memoria es la información que el agente tiene sobre el estado actual del ambiente): - Cambiar la memoria en función de lo que se percibe. - Escoger la mejor acción en función del estado actual de la memoria. - Cambiar la memoria en función de la acción seleccionada. - Retornar la acción seleccionada. Nótese que en este algoritmo, la parte más importante es la selección de la acción en función de lo que se conoce. Esto se traduce en un proceso de búsqueda sobre un espacio de posibles soluciones. Algunas veces, conocer el estado actual del ambiente no es suficiente para decidir lo que hay que hacer, sobre todo en aquellos casos en los cuales el ambiente es continuo y no determinís- tico. Para estos casos, el agente requiere de información referida al objetivo que se persigue y
  • 29. Inteligencia Artificial Básica 29Índice en el cual se describen las situaciones deseables (por ejemplo, para que un taxista pueda tomar una decisión correcta, depende del lugar al cual el taxi tenga que ir y esto depende del destino del pasajero). Agentes de este tipo se pueden llamar “agentes basados en objetivos” y aunque parecen ser menos eficientes, son más flexibles. Por otro lado, el objetivo por sí solo no es suficiente para demostrar un comportamiento de alta calidad (aunque el taxista sabe cual es su destino, hay muchas acciones que se pueden tomar para satisfacer este objetivo, algunas más rápidas, económicas, seguras que otras). Se debe hacer una comparación de los diferentes estados para medir el comportamiento más adecuado. Esto es lo que se conoce como la utilidad del agente. La utilidad es una función que relacio- na cada estado con un número real que describe su grado de adecuación. Una especificación completa de la función de utilidad permite llegar a decisiones racionales en aquellos casos en los cuales el objetivo no es suficiente, ya sea porque éste no sea único o porque haya conflictos entre ellos. 1.5. Búsqueda y teoría de juegos El principio básico de resolución de problemas de IA se refiere al logro de un objetivo, en fun- ción de la información que se tiene disponible. Para satisfacer este objetivo, es necesario evaluar varias opciones y tomar la decisión de cuál realizar primero. Este proceso de evaluación y deci- sión sobre el espacio finito de posibles soluciones se conoce como búsqueda. Esta es la razón por la cual es importante para la IA, el estudio de algoritmos eficientes y efectivos de búsqueda. Un algoritmo de búsqueda recibe las especificaciones de un problema como entrada y retorna una secuencia de acciones como solución. El algoritmo no solo debe garantizar una solución, sino debe poder dar la mejor respuesta en el menor tiempo posible. Se desea que un algoritmo o estrategia de búsqueda sea: • Completo: cuando el algoritmo garantiza encontrar una solución. • Optimo en tiempo: cuánto se tarda en llegar a una solución. • Optimo en espacio: cuánta memoria se requiere para realizar la búsqueda. • Optimo en respuesta: si es capaz de obtener la mejor solución entre varias. Para garantizar éxito en los procesos de búsqueda, es importante plantear correctamente el objetivo. El planteamiento del objetivo depende de la adecuada definición del problema. Un problema se puede definir como el conjunto de información que un agente usa para tomar la decisión de lo que tiene que hacer. La definición de un problema depende de la identificación de los siguientes componentes:
  • 30. Mauricio Paletta 30Índice el estado inicial del problema desde el punto de vista del agente;• el conjunto de operadores o acciones disponibles por el agente para actuar sobre el• problema; la prueba que permite al agente determinar que ha alcanzado una solución del objetivo; y• la función de costo que el agente puede aplicar para evaluar las opciones.• Un estado del problema viene dado por la situación actual en la que se encuentra el elemento que representa al problema. Generar estados nuevos aplicando los operadores sobre el estado actual es lo que se conoce como “expandir el estado”. La selección de cuál estado expandir pri- mero es determinado por la estrategia de búsqueda. Por ejemplo, en el problema del rompecabezas de 8 piezas que se muestra en la figura 1.6, el estado inicial es la localización inicial de las 8 piezas y del blanco (parte “a” de la figura); los ope- radores se refieren a movimientos de izquierda, derecha, hacia arriba o hacia abajo en dirección a la ubicación del blanco; y la prueba del objetivo se da cuando el estado del juego coincide con el objetivo final (parte “b” de la figura). Por ahora se asume que la función de costo establece que todos los movimientos cuestan lo mismo (1 por ejemplo). Figura 1.6 Estado inicial (a) y final (b) del problema de rompecabezas de 8 piezas En el problema clásico de colocación de 8 reinas en un tablero de ajedrez, el estado inicial viene dado por el tablero vacío y las ocho reinas esperando ser colocadas (figura 1.7 a); el único operador posible es ubicar una reina en el tablero de forma tal que no esté al alcance de las ya colocadas; la prueba del objetivo viene dada cuando las 8 reinas están en el tablero ubicadas correctamente (figura 1.7 b) y la función de costo es nula ya que todas las soluciones son igual- mente válidas. La estructura más adecuada para representar este tipo de problemas es el árbol22 . El estado inicial del problema es la raíz del árbol; los estados terminales son las hojas o terminaciones del árbol. Cada nodo na del árbol representa el estado del problema en un momento dado; puede 22 Un árbol es un grafo conexo y sin ciclos. Un grafo es un conjunto de nodos o vértices, alguno de los cuales están conectados por aristas.
  • 31. Inteligencia Artificial Básica 31Índice tener un nodo np (nodo padre) en el nivel superior que está conectado con na y que representa el nodo que fue expandido para llegar a na y, puede tener varios nodos nhi (nodos hijos) en el nivel inferior que representan los nodos que resultan después de expandir na. Figura 1.7 Estado inicial (a) y final (b) del problema de las 8 reinas La figura 1.8 muestra el árbol que representa el problema de llevar unos cubos organizados de la forma como se indica en la raíz, a la nueva organización expresada en el terminal indicado. Figura 1.8 Arbol de búsqueda para un caso del problema de los cubos Siendo un árbol la estructura para representar el problema, los algoritmos de búsqueda se convierten entonces en estrategias de búsqueda en árboles. El algoritmo general de este tipo de estrategia es como sigue:
  • 32. Mauricio Paletta 32Índice Inicializar el árbol usando el estado inicial del problema.• Repetir• Si no hay más nodos para expandir, entonces• retornar que la búsqueda no tuvo éxito.• Según la estrategia, seleccionar un nodo para su expansión.• Si el nodo seleccionado es un estado terminal o cumple con el objetivo, entonces• retornar la solución correspondiente.• sino expandir el nodo y agregar los nodos resultantes al árbol de búsqueda.• Como se puede ver, el objetivo de la estrategia de búsqueda en árboles es ir seleccionando los nodos adecuados para su expansión. Expandir un nodo significa bajar de nivel en el árbol. Si se comienza desde el nodo raíz que está en la cima del árbol y se quiere llagar a un nodo terminal se está haciendo un recorrido del árbol. La idea en definitiva es entonces, encontrar en el árbol el camino más adecuado desde la raíz hasta un terminal (desde el inicio del problema hasta el objetivo). Las técnicas de búsqueda en árboles se dividen en dos grupos. La búsqueda sin información o búsqueda a ciegas se refiere a aquellas estrategias que no tienen información sobre el número de pasos o el costo del camino entre el estado actual y el objetivo. La búsqueda con información o búsqueda heurística son estrategias que sí usan estas consideraciones. Las estrategias de búsqueda a ciegas se diferencian por el orden en el cual son expandidos los nodos. Las más importantes son las siguientes: Primero en amplitud (breadth-first). Primero se expande el nodo raíz, luego se expanden• todos los nodos generados por el raíz y así sucesivamente. La idea es expandir primero los nodos padres antes de sus hijos. Siempre se garantiza una solución, si existe al menos una, pero ésta puede no ser la mejor ya que se da siempre la primera que se consigue. Dadas las características de la estrategia, hay que preocuparse más por los requerimientos de memoria que por el tiempo de ejecución. Costo uniforme (uniform cost). Es una variante del caso anterior en la cual se expande pri-• mero el nodo que sea menos costoso de expandir antes que los demás. La idea viene ya que primero en amplitud garantiza llegar al objetivo cuyo camino es el más corto, pero no necesariamente el menos costoso. El costo viene dado por la aplicación de las acciones para ejecutar la expansión. Esta estrategia garantiza la expansión más económica.
  • 33. Inteligencia Artificial Básica 33Índice Primero en profundidad (depth-first): Se expande siempre uno de los nodos del nivel más• profundo del árbol, siguiendo un orden definido (izquierda, derecha, etc.). Esta estrategia presenta un costo modesto de memoria ya que sólo requiere almacenar un camino simple desde la raíz del árbol. En aquellos problemas que tienen muchas soluciones, esta estrategia puede ser más rápida que primero en amplitud. Uno de los problemas de primero en profun- didad es tratar con árboles muy profundos que hacen que el algoritmo se pierda o caiga en lazos infinitos. Profundidad limitada (depth-limited). Es una variante del caso anterior en el cual se define• un límite de que tan profundo puede llegar el algoritmo en el árbol. El objetivo es adaptar la estrategia de primero en profundidad para árboles muy profundos. Si el límite es igual a la profundidad del estado final más bajo entonces se minimiza el costo en tiempo y espacio. Uno de los problemas de esta estrategia es seleccionar adecuadamente el límite. Profundidad iterativa (iterative deepening). Trata de escoger el mejor límite de profundidad• de entre todos los límites posibles. Combina los beneficios de primero en amplitud y primero en profundidad, es decir, es óptimo y completo al igual que primero en amplitud y modesto en el uso de espacio al igual que primero en profundidad. El orden en el cual se expanden los estados es similar a la forma en la cual lo hace primero en profundidad con la diferencia de que algunos estados se expanden muchas veces. Bidireccional (bidirectional). La idea es realizar una búsqueda simultánea hacia adelante• partiendo del estado inicial y hacia atrás partiendo del objetivo y detenerse cuando los dos procesos se interceptan en la mitad. Es ideal para aquellos problemas cuyo árbol sea bien distribuido entre todas sus ramas. La tabla 1.3 muestra una comparación de las estrategias en función del tiempo de ejecución, el espacio de memoria que ocupan y si son o no óptimos y completos. b es el factor de ramifica- ción del árbol, d es la profundidad de la solución, m es la profundidad máxima y l es el límite de la profundidad23 . Tabla 1.3 Comparación de las estrategias de búsqueda a ciegas 23 Artificial Intelligence: A Modern Approach; Stuart Russel & Peter Norving; Prentice-Nall, Inc., 1995; sección 3.5; pág. 81. Criterio Primero en amplitud Costo uniforme Primero en pro- fundidad Profundidad limitada Profundidad iterativa Bidireccio-nal Tiempo bd bd bm bl bd b(d / 2) Espacio bd bd b * m b * l b * d b(d / 2) ¿Optimo? Si Si No No Si Si ¿Completo? Si Si No Si l Si Si
  • 34. Mauricio Paletta 34Índice En muchos problemas es importante llegar a la solución a través del camino que resulte me- nos costoso o también llamado camino óptimo. Una forma de reducir el costo de la búsqueda es usar información que ayuda a decidir la transición más adecuada para cada paso. Información de este tipo recibe el nombre de información heurística y la búsqueda que hace uso de esta in- formación se llama pues, búsqueda heurística24 . La búsqueda heurística es también llamada una búsqueda con conocimiento. El costo de expandir un nodo puede ser estimado pero no puede ser determinado con exactitud. La función que permite calcular este costo se denomina función heurística y se denota h(n) para el nodo n. Por ejemplo, para el problema del rompecabezas de 8 piezas (figura1.6), dos posibles funciones heurísticas son: h1: número de piezas colocadas en mala posición, (h1(0) = 7). h2: suma de las distancias de las piezas a sus posiciones finales, (h2(0) = 2 + 2 + 2 + 2 + 1 + 0 + 2 + 1 = 12). Alguna de las estrategias de búsqueda heurísticas son las siguientes: El mejor primero (best-first). El nodo que mejor se acerca al objetivo (que sea menos costoso)• es el que se expande primero. Por supuesto, el costo estimado para alcanzar el objetivo se minimiza. Control irrevocable. Se basa en el criterio de que se tiene la suficiente información o conoci-• miento local del problema para poder elegir la mejor acción aplicable al estado actual. Esta estrategia también es aplicable cuando se sabe el hecho de que al decidir sobre una acción equivocada no impedirá la subsiguiente aplicación de una acción correcta. El único efecto negativo de las equivocaciones es el de alargar los tiempos de búsqueda. Retroceso en camino único. Es la estrategia más sencilla de implementar y la que requiere• menos memoria ya que sólo se guarda el camino de búsqueda en proceso de expansión. En cada ciclo se considera la posibilidad de volver atrás y escoger un estado de dicho camino distinto del actual. Esta estrategia es parecida a la de primero en profundidad con la diferen- cia que se le han agregado restricciones al algoritmo25 . 24 Heurística viene de la palabra griega “heuriskein” que significa encontrar o descubrir. De esta palabra nace la expresión “heureka” que da a entender “lo encontré”. 25 Una de las implementaciones conocidas de estrategia de retroceso en camino único es “backtracking”, usado por el lenguaje de programación Prolog como máquina de búsqueda.
  • 35. Inteligencia Artificial Básica 35Índice Las estrategias de búsqueda heurística son la base para la implementación de los motores de inferencia propios de los Sistemas de Producción y Sistemas Basados en Conocimiento. Estos temas se tratarán en capítulos posteriores de este libro. Teoría de Juegos. Los juegos ocupan un role importante en las facultades intelectuales de los hombres y representan una de las áreas más antiguas de la IA. Lo que hace que los juegos sean realmente diferentes es que usualmente son muy duros de resolver y utilizan un lenguaje que involucra la lógica de las relaciones estratégicas. La finalidad de la teoría de juegos es inves- tigar de qué modo los individuos se deben relacionar cuando sus intereses entran en conflicto. Fue creada por Von Neumann y Morgenstern en su libro “The Theory of Games and Economic Behavior”, publicado en 1944. Un juego se desarrolla cada vez que dos o más individuos se relacionan entre sí. Por ejemplo, conducir un vehículo en una calle urbana y transitada, pujar en una subasta, negociar un contrato colectivo, etc. Desde un punto de vista matemático, la definición formal de un juego es bastante simple, pero no es tan simple entender lo que la definición formal significa. Desde el punto de vista en la cual se maneja la información disponible, los juegos pueden ser de información perfecta e imperfecta. Tres en línea y el ajedrez son dos ejemplos de juegos de información perfecta porque cada vez que le toca el turno a un jugador, éste sabe todo lo que tiene que saber sobre lo que ha ocurrido hasta ahora en el juego. El póquer, por el contrario, es un juego de información imperfecta ya que cuando hay que decidirse por una apuesta no se sabe las manos del resto de los jugadores, aunque a cualquiera le gustaría saberlo. Por otro lado, un juego puede depender o no del azar para realizar las jugadas. El parchís es un juego con jugadas de azar ya que lo que un jugador puede hacer cuando le toca jugar depen- de del lanzamiento de un dado. Un juego se puede definir como un tipo de problema de búsqueda con los siguientes componentes: El estado inicial que incluye las posiciones de comienzo sobre el entorno donde se va a de-• sarrollar el juego y una indicación de los movimientos posibles. Un conjunto de operadores que definen los movimientos legales.• Una prueba final que determina cuando el juego finalizó, es decir, que se ha llegado a alguno• de sus estados terminales. Una función de utilidad que retorna un valor numérico e indica el resultado del juego.• El objetivo de un juego es llegar a un estado terminal y la estrategia es llegar a este estado antes que cualquier otro. Las reglas deben decirnos quién puede hacer qué, cuándo lo puede hacer y cuánto gana cada uno cuando el juega ha terminado. La estructura más adecuada que se usa para representar esta información es el árbol.
  • 36. Mauricio Paletta 36Índice La primera jugada o estado inicial del juego se identifica en el nodo raíz del árbol. Una partida consiste de una cadena conexa de aristas que empiezan en la raíz del árbol y terminan, si el juego es finito, en un nodo terminal. Los nodos terminales del árbol corresponden a los posibles resultados del juego. Los nodos del árbol deben representar cada una de las posibles jugadas durante el juego. Los segmentos o arcos que salen de un nodo representan las posibles acciones a realizar sobre la jugada indicada en ese nodo que permiten llegar hasta el otro nodo del árbol conectado con tal arista. A cada nodo no terminal se le debe asignar el nombre o identificación del jugador de forma tal de saber quién eligió la jugada. En los juegos que contienen jugadas de azar, estas situacio- nes se tratan asignando jugadas a un jugador mítico llamado “azar”. Cada acción en una jugada de “azar” se marca con la probabilidad con la que será elegida. La función de evaluación retorna un estimado de la utilidad del juego esperado sobre una posición o nodo dado. El desempeño de un programa de juego es extremadamente dependiente de la calidad de su función de evaluación. A todos los nodos terminales se le debe colocar una marca que indique las consecuencias que tiene para cada jugador, que el juego termine con el resultado correspondiente a ese nodo terminal. La figura 1.9 muestra una parte del árbol que representa el juego de tres en línea. A pesar de lo simple que es el juego, su árbol es muy grande para mostrarlo completo. Nótese que sólo se muestran tres nodos terminales. Las letras G, P y E en los nodos terminales indican que el jugador I gana, pierde o empata respectivamente (por razones obvias no se indica lo que ocurre con el jugador II). Una posible función de evaluación f sobre un nodo p es la expresión que determina el número de filas, columnas y diagonales libres dejadas por el jugador I menos el número de filas, colum- nas y diagonales libres dejadas por el jugador II. A medida que f(p) sea mayor será una “buena jugada” para I y “mala jugada” para II. Por ejemplo, si p es el nodo más a la izquierda del tercer nivel del árbol de la figura 1.9, f(p) = 5 - 4 = 1. Uno de los aspectos más importantes que trata la teoría de juegos es el estudio de las estra- tegias. Una estrategia pura es un plan que especifica las acciones a tomar para cada uno de los nodos en los que el jugador debe tomar una decisión, si el nodo es alcanzado. Cuando se tienen varias estrategias puras y el jugador debe seleccionar aleatoriamente alguna de ellas, se dice que la estrategia es mixta. Si todos los jugadores de un juego seleccionan una estrategia pura y se mantienen fieles a ella, entonces el desarrollo del juego sin jugadas de azar queda totalmente determinado. La definición de una estrategia en juegos con información incompleta tiene que ser
  • 37. Inteligencia Artificial Básica 37Índice modificada y sólo se requiere especificar las acciones a tomar para cada conjunto de información sobre el que correspondería a un jugador optar por una opción en el supuesto de que alcanzara este conjunto de información. Figura 1.9 Parte del árbol que representa el juego tres en línea Uno de los métodos que plantea la teoría de juegos como estrategia para llegar al resultado deseado, es el que se conoce con el nombre de “inducción hacia atrás” y que fue dado por Zer- melo en 1912 (también se le llama algoritmo de Zermelo) el cual lo utilizó para analizar el ajedrez. Este método plantea empezar por el final del juego (desde un nodo terminal del árbol) y marchar hacia atrás hasta su principio (raíz del árbol). Esta misma idea es lo que esencialmente se hace en la investigación operativa con el nombre de “programación dinámica”. Muchas de las cosas que se han planteado hasta aquí se refiere a juegos estrictamente com- petitivos, es decir en aquellos en los cuales lo que es bueno para un jugador es malo para los demás. Pero la teoría de juegos también estudia los juegos en equipo en donde los intereses de los jugadores coinciden y por ende, lo que es bueno para un jugador también es bueno para los demás. Los juegos en equipo de información perfecta se pueden analizar como juegos de un
  • 38. Mauricio Paletta 38Índice solo jugador y por ende no son muy interesantes, pero cuando la información es imperfecta, los juegos en equipo pueden ser realmente muy interesantes. Por ejemplo, su estudio nos puede enseñar cosas acerca de las maneras óptimas de comunicar la información dentro de organiza- ciones cuyos miembros comparten un mismo objetivo. 1.6. Resumen del capítulo Inteligencia Artificial (IA) es la ciencia que busca emular procesos que son propios de la inte- ligencia humana haciendo uso de modelos no naturales o artificiales. Los principales procesos a emular son la percepción, el razonamiento y el aprendizaje. La inteligencia es la habilidad de manejar el conocimiento que se tiene para la toma de decisiones en la rápida solución de pro- blemas. El conocimiento es uno de los cuatro tipos de información que almacena todo lo que un ente sabe sobre su ambiente. La historia de la IA se resume en dos etapas: una prehistoria en la cual se hacía IA sin que ésta existiera formalmente y una etapa que va desde su nacimiento formal hasta el desarrollo actual. Las técnicas de resolución de problemas de la IA se agrupan en dos corrientes: la emulación estructural que busca el logro de un resultado copiando la estructura del cerebro humano y, la emulación funcional que busca el logro de un resultado emulando las características funcionales del cerebro. Los Sistemas Basados en Conocimiento son sistemas capaces de resolver o asistir en la resolución de problemas que requieren de experiencia o inteligencia humana. Los Sistemas Inteligentes de Tutoría son sistemas que modelan el comportamiento de instructores y partici- pantes en un proceso de aprendizaje. La Robótica se ocupa de la creación de máquinas que automatizan tareas principalmente mecánicas que requieren de capacidad humana. El Procesa- miento de Lenguaje Natural representa interfaces que permiten al usuario comunicarse con una máquina haciendo uso de su lenguaje habitual. Los Sistemas Neuronales son esquemas de pro- cesamiento paralelo distribuido que tratan de emular la forma en la cual las neuronas cerebrales se organizan para realizar su procesamiento. Los Algoritmos Genéticos son sistemas inspirados en la evolución natural derivada de la genética. Un agente es cualquier cosa que puede percibir su ambiente a través sensores y actuar sobre él mediante elementos ejecutores. Un agente racional tiene autonomía y es capaz de tomar deci- siones sobre su forma de actuar. Un agente racional ideal debe ejecutar la acción que maximiza su medida de éxito, basado en la evidencia y el conocimiento que se tiene. El principio básico de resolución de problemas de IA se refiere a un proceso de evaluación y decisión sobre un espacio finito de posibles soluciones o búsqueda. Las técnicas de búsqueda
  • 39. Inteligencia Artificial Básica 39Índice sobre árboles se dividen en dos grupos: la búsqueda sin información o a ciegas y la búsqueda con información o heurística. Algunas de las estrategias de búsqueda a ciegas son: primero en amplitud, costo uniforme, primero en profundidad, profundidad limitada, profundidad iterativa y bidireccional. Algunas de las estrategias de búsqueda heurística son: el mejor primero, control irrevocable y retroceso en camino único. Los juegos ocupan un role importante en las facultades intelectuales de los hombres y repre- sentan una de las áreas más antiguas de la IA. Usualmente son muy duros de resolver y utilizan un lenguaje que involucra la lógica de las relaciones estratégicas. La finalidad de la teoría de juegos es investigar de qué modo los individuos se deben relacionar cuando sus intereses entran en conflicto.
  • 40. Capítulo Los Sistemas Basados en Conocimiento Este capítulo se dedica al estudio de los Sistemas Basados en Conocimiento (SBC) desde sus conceptos hasta el uso de técnicas avanzadas como el manejo de incertidumbre y la integración con control. 2
  • 41. Inteligencia Artificial Básica 41Índice 2.1. Conceptos básicos Un Sistema Basado en Conocimiento (SBC) se puede definir como una técnica de resolución de problemas de la IA que: Incorpora conocimiento estructurado sobre un dominio específico (conocimiento).• Busca resolver efectiva y eficientemente un conjunto de problemas específicos en ese domi-• nio (funcionalidad). Provee un conjunto de interfaces para diversos tipos de usuarios (presentación).• La base de este concepto se dio como resultado de la convergencia de líneas clásicas en el desarrollo de IA, la heurística y la deducción automática. Las heurísticas son reglas no determi- nísticas para hacer conjeturas acertadas que normalmente proporcionan resultados acertados1 y la deducción automática se basa en la mecanización de las teorías de interpretación de fórmulas lógicas. Durante los primeros años de la década de los setenta se plantean los sistemas de re- glas de producción como paradigma general para la resolución de problemas2 . Los elementos de este tipo de sistemas se plasman posteriormente en el lenguaje OPS3 . La figura 2.1 muestra la situación básica que se debe presentar en un área de aplicación para incorporar un SBC. En primer lugar debe existir una fuente de conocimiento, que no sólo sabe operar sobre el área, sino que además enriquece su conocimiento aprendiendo sobre el compor- tamiento de la misma. La fuente de conocimiento es utilizada por un conjunto de usuarios que trabajan sobre el área de aplicación. Estos usuarios acuden a la fuente de conocimiento para re- solver ciertos problemas que ellos no están capacitados para solucionar. Problemas como estos son los que precisamente comprueban la existencia de alguien o algo que posee conocimiento para buscar una solución. Figura 2.1 Características de un área de aplicación 1 Estos resultados pueden no ser garantizados. Anteriormente a un sistema basado en heurísticas se le daba la concepción de un “sistema inteli- gente”. 2 En el trabajo Human problem solving realizado por Newell y Simon. 3 Operating Production Systems fue la base para los lenguajes OPS-83 y OPS-5, este último se detalla en el capítulo 5 de este libro.
  • 42. Mauricio Paletta 42Índice La necesidad de usar la fuente de conocimiento para resolver problemas se da por la falta de algoritmos o de teorías completas o lo complicado de las mismas para llegar a la solución. La fuente de conocimiento encuentra con frecuencia una solución al problema, gracias a la infor- mación que tiene sobre el dominio de la aplicación y, la mayoría de las veces, a su experiencia. Cuando se ha observado durante largo tiempo que este conocimiento que se usa para resolver problemas es válido y haya una cantidad potencial de usuarios entonces se puede pensar en la factibilidad de hacer un SBC. En definitiva, el objetivo que se persigue es emular la fuente de conocimiento. Esto se puede ver en la figura 2.1 si se reemplaza la fuente de conocimiento por una herramienta automatiza- da o SBC. Aunque se habla de reemplazo, lo que se quiere al final no es substituir la fuente de conocimiento, sino descargar su trabajo rutinario y por ende, solucionar los problemas de una forma más rápida4 . A medida que el número de fuentes de conocimiento sea pequeño y que el número de usua- rios sea grande, tenemos una situación de embudo para buscar respuestas a problemas, que puede demorar su atención o apresurar la deducción y que conlleva a graves problemas en el área de aplicación. Cuando la labor de la fuente de conocimiento no está tan sobrecargada se pueden reducir las decisiones erróneas y se aceleran los procesos de toma de decisión. Hay que recordar que existe la posibilidad de tener copias del SBC. Nótese la importancia que tienen los usuarios dentro de este contexto. No tiene sentido pen- sar en realizar un SBC si no existen usuarios. En un área de aplicación donde no hay usuarios y por ende el trabajo es realizado por la misma fuente de conocimiento no se justifica realizar un SBC a menos que las actividades concernientes para la realización del trabajo sean automatiza- das también. Todo lo que posee conocimiento puede ser una fuente de conocimiento, un humano, un ma- terial bibliográfico, una base de datos, etc. Una de las fuentes de conocimiento más comunes y de más fácil adquisición son los expertos: Una persona X es un experto en el área Y, si X ha acumulado, consciente o incons- cientemente a través de su experiencia, un conjunto de heurísticas que permiten que se observen comportamientos exitosos en la solución de problemas en el área Y. Cuando la fuente de conocimiento en un SBC está constituida principalmente por la experien- cia de un experto, se dice que el SBC es un Sistema Experto. 4 Es muy importante tener claro este punto. La mayoría de las veces, cuando el conocimiento viene de un humano, éste tiene la concepción de que el SBC va a sustituirlo de sus actividades cotidianas. La idea no es quitar uno y poner otro sino agregar más para agilizar el tráfico de la actividad “resolver problemas” .
  • 43. Inteligencia Artificial Básica 43Índice La automatización del conocimiento, es decir, el proceso mediante el cual se lleva el conoci- miento de una fuente de conocimiento a la computadora, se logra mediante la ejecución de dos actividades (figura 2.2): La adquisición del conocimiento. El conocimiento de la fuente de conocimiento es extraído y• documentado (se lleva a un formato predeterminado). La representación del conocimiento. El conocimiento documentado se expresa mediante• un esquema establecido por la herramienta de software usada, para formar una base de conocimiento. Figura 2.2 Automatización del conocimiento El desarrollo de un SBC es guiado principalmente por un equipo formado por tres componen- tes básicos: La fuente de conocimiento que suministra el conocimiento.• El• ingeniero de conocimiento que automatiza el manejo del conocimiento5 . El usuario que determina las necesidades de operación del sistema.• 2.2. La arquitectura interna Un SBC tiene dos componentes básicos que siempre deben existir: la base de conocimiento y el motor de inferencia. La base de conocimiento son los hechos, hipótesis, creencias y heurís- ticas que bajo una representación específica contiene el dominio del conocimiento; soporta la función de almacenamiento de la información de un SBC. Dado que el conocimiento se almacena haciendo uso de un esquema de representación formal y específico y dada su importancia en el sistema, el acceso a este conocimiento tiene que ser controlado. Este es el trabajo del motor o máquina de inferencia. 5 Las funciones que realiza el ingeniero de conocimiento se presentan en el capítulo 3 donde se estudia en detalle los procesos de adquisición y representación del conocimiento.
  • 44. Mauricio Paletta 44Índice Según la definición de SBC dada anteriormente, la base de conocimiento y el motor de infe- rencia satisfacen los dos primeros criterios referidos por esta definición: conocimiento y funciona- lidad respectivamente. Si bien la presentación no se requiere para que el SBC sea operativo, es recomendable la incorporación de elementos de interfaz para que junto al motor de inferencia y a la base de conocimiento conformen la arquitectura básica del SBC. La inferencia es una línea de razonamiento. Corresponde a un proceso de búsqueda de la solución según un conjunto de evidencias dadas. Esa búsqueda se realiza por supuesto, en la base de conocimiento. La máquina de inferencia es entonces, el proceso que permite emular el razonamiento humano, haciendo uso del conocimiento representado en la base de conocimiento que emula las características de almacenamiento del conocimiento en el cerebro. Todo motor de inferencia presenta dos componentes: Un• mecanismo de control para buscar y encontrar una solución a un problema dado. La• estrategia de control o conjunto de condiciones impuestas al mecanismo de control para optimizar la búsqueda. La figura 2.3 contiene la arquitectura completa de un SBC. Nótese que en la parte central están los componentes básicos formando la línea vertebral del sistema. Nótese también que el único que puede acceder a la base de conocimiento es el motor de inferencia. Figura 2.3 Arquitectura interna de un SBC