Content uploaded by Yvan Tupac
Author content
All content in this area was uploaded by Yvan Tupac on Dec 14, 2014
Content may be subject to copyright.
AUTORES
Julio Cesar Ponce Gallegos
Aurora Torres Soto
Fátima Sayuri Quezada Aguilera
Antonio Silva Sprock
Ember Ubeimar Martínez Flor
Ana Casali
Eliana Scheihing
Yván Jesús Túpac Valdivia
Ma. Dolores Torres Soto
Francisco Javier Ornelas Zapata
José Alberto Hernández A.
Crizpín Zavala D.
Nodari Vakhnia
Oswaldo Pedreño
Inteligencia Artificial
1a ed. - Iniciativa Latinoamericana de Libros de Texto Abiertos (LATIn), 2014. 225
pag.
Primera Edición: Marzo 2014
Iniciativa Latinoamericana de Libros de Texto Abiertos (LATIn)
http://www.proyectolatin.org/
Los textos de este libro se distribuyen bajo una licencia Reconocimiento-CompartirIgual
3.0 Unported (CC BY-SA 3.0) http://creativecommons.org/licenses/by-sa/3.0/
deed.es_ES
Esta licencia permite:
Compartir: copiar y redistribuir el material en cualquier medio o formato.
Adaptar: remezclar, transformar y crear a partir del material para cualquier finalidad.
Siempre que se cumplan las siguientes condiciones:
Reconocimiento. Debe reconocer adecuadamente la autoría, proporcionar un
enlace a la licencia e indicar si se han realizado cambios. Puede hacerlo de
cualquier manera razonable, pero no de una manera que sugiera que tiene el
apoyo del licenciador o lo recibe por el uso que hace.
CompartirIgual — Si remezcla, transforma o crea a partir del material, de-
berá difundir sus contribuciones bajo la misma licencia que el original.
Las figuras e ilustraciones que aparecen en el libro son de autoría de los respectivos
autores. De aquellas figuras o ilustraciones que no son realizadas por los autores, se
coloca la referencia respectiva.
Este texto forma parte de la Iniciativa Latinoamericana de Libros de Texto abiertos
(LATIn), proyecto financiado por la Unión Europea en el marco de su Programa ALFA
III EuropeAid.
El Proyecto LATIn está conformado por: Escuela Superior Politécnica del Litoral,
Ecuador (ESPOL); Universidad Autónoma de Aguascalientes, México (UAA), Universi-
dad Católica de San Pablo, Perú (UCSP); Universidade Presbiteriana Mackenzie, Bra-
sil(UPM); Universidad de la República, Uruguay (UdelaR); Universidad Nacional de
Rosario, Argentina(UR); Universidad Central de Venezuela, Venezuela (UCV), Univer-
sidad Austral de Chile, Chile (UACH), Universidad del Cauca, Colombia (UNICAUCA),
Katholieke Universiteit Leuven, Bélgica (KUL), Universidad de Alcalá, España (UAH),
Université Paul Sabatier, Francia (UPS).
Índice general
1Introducción y Antecedentes de la Inteligencia Artificial . . . . . . . . 15
1.1 OBJETIVO 15
1.2 RESUMEN DEL CAPÍTULO 15
1.3 CONOCIMIENTOS PREVIOS 15
1.4 INTRODUCCION 16
1.4.1 Clasificación de la Inteligencia Artificial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.4.2 Historia de la Inteligencia Artificial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.4.3 Modelos de Inteligencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.4.4 Sistemas que Piensan como Humanos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.4.5 Sistemas que Actúan como Humanos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.4.6 Sistemas que Piensan Racionalmente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.4.7 Sistemas actuantes racionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.4.8 EltestdeTuring .................................................22
1.4.9 Aplicaciones y herramientas derivadas de la Inteligencia Artificial . . . . . . . . . . . . . . . . 23
1.4.10 Lenguajes de Programación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.4.11 Aplicaciones y Sistemas Expertos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.4.12 Ambientes de desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
1.4.13 Areas de la Inteligencia Artificial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
1.5 ACTIVIDADES DE APRENDIZAJE 31
1.6 MATERIAL DE REFERENCIAS A CONSULTAR *OPCIONAL 32
1.6.1 LECTURAS ADICIONALES. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
1.6.2 REFERENCIAS ..................................................32
2Planteamiento del Problema ................................. 35
2.1 INTRODUCCION 35
2.2 Clasificación de los problemas 36
2.3 ¿Cómo plantear un problema? 37
2.4 Planteamiento del problema para ser resuelto mediante la búsqueda 38
2.5 Bibliografía 40
3Representación del Conocimiento ............................. 41
3.1 INTRODUCCION 41
3.2 CARACTERÍSTICAS DESEABLES DE LOS FORMALISMOS DE REPRE-
SENTACIÓN DE CONOCIMIENTO. 42
3.3 TIPOS DE CONOCIMIENTO 42
3.4 TÉCNICAS DE REPRESENTACIÓN DE CONOCIMIENTOS 43
3.4.1 Formalismos basados en conceptos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.5 Formalismos basados en relaciones 44
3.6 Formalismos basados en acciones 50
3.7 Referencias 50
4Agentes Inteligentes ......................................... 53
4.1 Introducción 53
4.2 Que es un agente? 55
4.3 Modelos abstractos de agentes 56
4.4 Arquitecturas de Agentes 59
4.4.1 Distintas Arquitecturas de Agentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.4.2 Agentes de Razonamiento Procedural (PRS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
4.5 Un Lenguaje para Desarrollar Agentes: Introducción a JASON 66
4.5.1 Arquitectura de un Agente en AgentSpeak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.5.2 CasodeEstudio .................................................72
4.6 Sistemas Multiagentes 76
4.6.1 Características de los Sistemas Multiagentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.6.2 Comunicación ...................................................78
4.6.3 Coordinación....................................................80
4.7 Bibliografía 84
5Introduccion al Aprendizaje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
5.1 CONCEPTO DE APRENDIZAJE 87
5.2 APRENDIZAJE SUPERVISADO 88
5.2.1 Un primer ejemplo: la regresión lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.2.2 Procedimiento de entrenamiento: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
5.2.3 El problema de la Clasificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.2.4 Comparación de los dos enfoques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
5.3 Bibliografía 92
6Optimizacion y Heurísticas ................................... 95
6.1 Definiciones en Optimización 96
6.2 Funciones de único objetivo 96
6.3 Optimización Clásica 98
6.4 Convexidad 100
6.5 Técnicas clásicas de optimización 101
6.5.1 Optimización Lineal – Método Simplex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
6.5.2 Optimización no lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
6.5.3 Método Steepest Descent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
6.5.4 Método de Fletcher-Reeves (Gradiente Conjugado) . . . . . . . . . . . . . . . . . . . . . . . . 102
6.6 Técnicas Heurísticas de Optimización 103
6.6.1 Heurísticas ....................................................103
6.6.2 BúsquedaTabú .................................................104
6.6.3 Simulated Annealing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
6.6.4 HillClimbing................................................... 105
6.7 Referencias 106
7Algoritmos Evolutivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
7.1 Optimizacion y Heurísticas 109
7.1.1 Optimización ..................................................109
7.1.2 Definiciones en Optimización . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
7.1.3 Funciones de único objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
7.1.4 Optimización Clásica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
7.1.5 Técnicas clásicas de optimización . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
7.1.6 Técnicas Heurísticas de Optimización . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
7.2 Conceptos Básicos de Algoritmo Evolutivo 118
7.2.1 Algoritmos Evolutivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
7.2.2 Conceptos usados en Computación Evolutiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
7.2.3 Paradigmas de la Computación Evolutiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
7.3 Algoritmo Genético Clásico 125
7.3.1 Introducción ................................................... 125
7.3.2 Definición de Algoritmos Genéticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
7.3.3 Componentes de un Algoritmo Genético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
7.3.4 Algoritmo Genético Canónico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
7.3.5 Función de Evaluación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
7.3.6 Estrategias de selección . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
7.3.7 Operadores Genéticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
7.3.8 Ajustes de la Aptitud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
7.3.9 Ajustes de la Selección . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
7.4 Computación Evolutiva en optimización numérica 145
7.4.1 Uso de codificación binaria o real . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
7.4.2 Algoritmos evolutivos con codificación real . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
7.4.3 Problemas con restricciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
7.4.4 Restricciones no lineales – GENOCOP III . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
7.5 Computación Evolutiva en optimización combinatoria 155
7.5.1 Algoritmos Evolutivos Discretos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
7.5.2 Algoritmos Evolutivos de Orden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
7.5.3 Problemas de Optimización Combinatoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
7.5.4 Traveling Salesman Problem –(TSP) ................................. 162
7.6 Otros algoritmos de búsqueda (EDA, scatter search) 165
7.6.1 Pseudocódigo del algoritmo UMDA: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
7.6.2 Ejemplo del uso del UMDA en el problema del máximo número de unos. . . . . . . . . . 168
7.6.3 Otros algoritmos de estimación de la distribución. . . . . . . . . . . . . . . . . . . . . . . . . . 171
7.7 ACTIVIDADES DE APRENDIZAJE 172
7.8 LECTURAS ADICIONALES. 172
7.9 REFERENCIAS 172
8Algoritmos Bioinspirados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
8.1 INTRODUCCIÓN. 177
8.2 Swarm Intelligence 178
8.2.1 Optimización de Colonias de Hormigas (Ant Colony Optimization, ACO) . . . . . . . . . 179
8.2.2 Optimización por Cumulo de Partículas (Particle Swarm Optimization, PSO). . . . . . . 187
8.3 Conclusión. 192
8.4 Cuestionario de Colonias de Hormigas 193
8.5 Bibliografía. 193
9Algoritmos en Paralelo mediante Uso de GPUs . . . . . . . . . . . . . . . . 197
9.1 OBJETIVO 197
9.2 RESUMEN DEL CAPÍTULO 197
9.3 CONOCIMIENTOS PREVIOS 198
9.4 INTRODUCCIÓN A LAS GPUs y CUDA 198
9.4.1 Antecedentes históricos de las GPU’s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
9.5 FUNDAMENTOS TEORICOS 200
9.6 CUDA (Compute Unified Device Architecture) 201
9.6.1 JerarquíadeHilos ...............................................203
9.6.2 Paralelismo basado en datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
9.7 Metodología 205
9.8 CASO PRÁCTICO 207
9.9 ANÁLISIS DE REQUERIMIENTOS 207
9.9.1 El Problema del Agente Viajero . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
9.9.2 ÁreasdeAplicación .............................................. 208
9.9.3 AntColony.................................................... 209
9.9.4 Análisis del algoritmo de colonia de hormigas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
9.9.5 Implementación del algoritmo de colonia de hormigas sobre GPU’s . . . . . . . . . . . . . 211
9.9.6 Identificación de procesos paralelizables en ACO . . . . . . . . . . . . . . . . . . . . . . . . . . 213
9.10 ESPECIFICACIÓN DE LA INTERFAZ EN TÉRMINOS DE PATRONES DE
INTERACCIÓN 215
9.11 ESPECIFICACIÓN DE LA INTERFAZ EN TÉRMINOS DE PATRONES DE
SOFTWARE 215
9.12 EJERCICIOS RESUELTOS 215
9.13 EJERCICIOS A RESOLVER 216
9.14 CONCLUSIONES 217
9.15 BIBLIOGRAFIA 217
9
Dedicatoria
Agradecemos a todas las personas involucradas en la escritura del libro asi como a
a sus instituciones por su apoyo al proyecto LATIN.
10
Prólogo
Actualmente la Inteligencia Artificial es un area de la ciencia de gran interes por ser un
area multidiciplinaria donde se realizan sistemas que tratan de hacer tareas y resolber
problemas como lo hace un humano, asi mismo se trata de simular de manera artificial
las formas del pensamiento y como trabaja el cerebro para tomar desiciones. Aunque
en la realidad aun no se a podido realizar todo lo que las personas sueñan al conocer
esta area o al ver lo que se muestra en la ciencia ficcion es un area que poco a poco
va ganando terreno al estar presente en muchas aplicaciones, aparatos, dispositivos que
utilizamos de manera cotidiana.
¿Quien utilizará el libro?
Este libro va dirigido a los estudiantes, profesores y profesionales que tienen algun
interes o relación con la inteligencia artificial. Con el objetivo de que pueda ser utilizado
como un libro de texto que apoye a conocer los fundamentos y aplicaciones que sirvan
para la generación de sistemas inteligentes.
Objetivos del libro
Introducir al lector al area de la Inteligencia Artificial y a algunas desus ramas de
conocimiento, dandole al usuario una vision general del area y de algunas de las ramas
y aplicaciones existentes.
Organización del libro
Este se encuentra dividido en 8 secciones o capitulos, donde cada uno de estos da
una introduccion al contenido del mismo menciona los antecedentes necesarios y hace
refenecia a la revision bibliografica relacionada.
11
Abstract
Este libro es una introducción al area de la Inteligencia Artificial y presenta algunas
de las aplicaciones que puede tener en la vida real en diversos campos de aplicación,
El libro esta compuesto de ocho capítulos los cuales abarcan los antededentes, algunos
conceptos importantes para la resolución de problemas como es la representación de
conocimiento, el planteamiento de los problemas. Asimismo se menciona la teoría de
agentes por un lado y por otro lo que es el aprendizaje computacional. Otra area que
se aborta es la computación evolutivo y los algoritmos bioinspirados para la resolución
de problemas, dandole enfasis a los problemas de optimizacion. Por ultimo se menciona
una nueva tendencia en el area de las ciencias computacionales como es el uso de las
GPUs para trabajar de una manera mas rapida al realizar el procesamiento en paralelo.
12
Abreviaturas
Algoritmos Evolutivos (EA)
Algoritmos Genéticos (AG)
Ingeniería de Software Orientada a Agentes (AOSE)
Inteligencia Artificial (IA)
Solucionador General de Problemas(GPS)
Optimización con Colonias de Hormigas (ACO)
Optimización con Cúmulo de Particulas (PSO)
Problema del Agente Viajero (TSP)
Sistemas Multi-Agentes (MAS)
13
Glosario
Inteligencia Artificial: Rama de las ciencias computacionales preocupada por la au-
tomatización de la conducta inteligente.
Agente Inteligente: Ente capaz de persivir su entorno a traves de sensores y actuar
sobre él.
Algoritmos Evolutivos.- Son algoritmos basados en la evolución que puede darse a nivel
de un individuo, una población de manera biológica o cultural.
1 — Introducción y Antecedentes de la Inteligencia
Artificial
Julio Cesar Ponce Gallegos y Aurora Torres Soto
Universidad Autónoma de Aguascalientes, México
1.1 OBJETIVO
Este capítulo tiene como objetivo establecer un punto de partida para el estudio de la
Inteligencia Artificial mediante el conocimiento de sus orígenes y descripción general.
El lector hará una revisión histórica de los personajes y las herramientas que sentaron
las bases de la Inteligencia Artificial tal como la conocemos el día de hoy.
El conocimiento que adquiera el estudiante podrá ser autoevaluado mediante la aplica-
ción de un cuestionario al final del capítulo.
1.2 RESUMEN DEL CAPÍTULO
A lo largo de este capítulo, se hará una descripción de los orígenes e historia de la
inteligencia artificial, así como de algunas contribuciones que esta área ha heredado de
otras disciplinas. También se discutirán algunas de las definiciones más comúnmente
aceptadas y los diferentes modelos que se emplean para describirla.
También se hará una descripción del conocido como “test de Turing”, que por mucho
tiempo se consideró como la prueba que validaría de forma definitiva la existencia de
máquinas inteligentes.
Después de haber revisado las principales aplicaciones y herramientas derivadas de la
Inteligencia Artificial, en la que se discuten a grandes rasgos los lenguajes de programa-
ción desarrollados, algunos sistemas expertos y muy brevemente lo que se entiende por
Shell; se hará una revisión de los diferentes tópicos de la Inteligencia Artificial.
1.3 CONOCIMIENTOS PREVIOS
El alumno debe contar con conocimientos de razonamiento lógico, programación, ma-
temáticas, estos conocimientos son la base para el desarrollo de modelos matemáticos
que permiten llegar a la solución de un problema, así como la modelación de sistemas
que resuelvan problemas como si lo hiciera un humano.
16 Introducción y Antecedentes de la Inteligencia Artificial
1.4 INTRODUCCION
La Inteligencia Artificial (IA) es una de las ramas de las ciencias de la computación que
más interés ha despertado en la actualidad, debido a su enorme campo de aplicación.
La búsqueda de mecanismos que nos ayuden a comprender la inteligencia y realizar
modelos y simulaciones de estos, es algo que ha motivado a muchos científicos a elegir
esta área de investigación.
El origen inmediato del concepto y de los criterios de desarrollo de la “IA” se remonta a la
intuición del genio matemático inglés Alan Turing y el apelativo “Inteligencia Artificial”
se debe a McCarthy quien organizo una conferencia en el Darmouth College (Estados
Unidos) para discutir la posibilidad de construir máquinas “inteligentes”; a esta reunión
asistieron científicos investigadores de conocida reputación en el área de las ciencias
computacionales como: Marvin Minsky, Nathaniel Rochester, Claude Shannon, Herbert
Simon y Allen Newell. Como resultado de esta reunión, se establecieron los primeros
lineamientos de la hoy conocida como Inteligencia Artificizal; aunque anteriormente ya
existian algunos trabajos relacionados.
Desde su origen, la IA tuvo que lidiar con el conflicto de que no existía una definición
clara y única de inteligencia; así es que no es de sorprender que aún en la actualidad,
no exista una definición única de ella. Así como la Psicología ha identificado diferentes
tipos de inteligencia humana (emocional, interpersonal, musical, lingüística, quinestési-
ca, espacial, etc.), las distintas definiciones de la inteligencia artificial hacen énfasis en
diferentes aspectos; aunque existen similitudes entre ellas. A continuación se presentan
algunas de las definiciones iniciales de esta área.
Estudio de la computación que observa que una maquina sea capaz de percibir,
razonar y actuar (Winston, 1992).
Ciencia de la obtención de máquinas que logren hacer cosas que requerirían inte-
ligencia si las hiciesen los humanos (Minsky, 1968).
Nuevo esfuerzo excitante que logre que la computadora piense.. . máquinas con
mentes, en el sentido completo y literal (Haugeland, 1985).
Rama de la ciencia computacional preocupada por la automatización de la con-
ducta inteligente (Luger and Stubblefield, 1993).
Maquina Inteligente es la que realiza el proceso de analizar, organizar, y conver-
tir los datos en conocimiento, donde el conocimiento del sistema es información
estructurada adquirida y aplicada para reducir la ignorancia o la incertidumbre
sobre una tarea espesifica a realizar por esta (Pajares y Santos, 2006).
Originalmente la Inteligencia Artificial se construyó en base a conocimientos y teorías
existentes en otras áreas del conocimiento. Algunas de las principales fuentes de ins-
piración y conocimientos que nutrieron a esta área son las ciencias de la computación,
la filosofía, la lingüística, las matemáticas y la psicología. Cada una de estas ciencias
contribuyó no solamente con los conocimientos desarrollados en ellas, sino con sus he-
rramientas y experiencias también; contribuyendo así a la gestación y desarrollo de esta
nueva área del conocimiento.
Los filósofos como Sócrates, Platón, Aristóteles, Leibniz desde el año 400 aC, sentaron
las bases para la inteligencia artificial al concebir a la mente como una máquina que
funciona a partir del conocimiento codificado en un lenguaje interno y al considerar
que el pensamiento servía para determinar cuál era la acción correcta que había que
emprender. Por ejemplo, Aristóteles quien es considerado como el primero (300aC) en
1.4 INTRODUCCION 17
describir de forma estructurada la forma como el ser humano produce conclusiones
racionales a partir de un grupo de premisas; contribuyó con un conjunto de reglas
conocidas como silogismos que actualmente son la base de uno de los enfoques de la
Inteligencia Artificial.
Sin embargo, la filosofía no es la única ciencia que ha heredado sus frutos a esta área;
pues otras contribuciones no menos importantes son las siguientes:
Las matemáticas proveyeron las herramientas para manipular las aseveraciones de cer-
teza lógica así como aquellas en las que existe incertidumbre de tipo probabilista; el
cálculo por su lado, bridó las herramientas que nos permiten la modelación de diferen-
tes tipos de fenómenos y fueron también las matemáticas, quienes prepararon el terreno
para el manejo del razonamiento con algoritmos.
La Psicología ha reforzado la idea de que los humanos y otros animales pueden ser
considerados como máquinas para el procesamiento de información, psicólogos como
Piaget y Craik definieron teorías como el conductismo – psicología cognitiva.
Las Ciencias de la Computación -comenzó muy poco antes que la Inteligencia Artificial
misma. Las teorías de la IA encuentran un medio para su implementación de artefactos
y modelado cognitivo a través de las computadoras. Los programas de inteligencia arti-
ficial por general son extensos y no funcionarían sin los grandes avances de velocidad y
memoria aportados por la industria de cómputo.
La Lingüística se desarrolló en paralelo con la IA y sirve de base para la representación
del conocimiento (Chomsky). La lingüística moderna nació casi a la par que la Inteli-
gencia Artificial y ambas áreas han ido madurando juntas; al grado que existe un área
híbrida conocida como lingüística computacional o procesamiento del lenguaje natural.
Los lingüistas han demostrado que el problema del entendimiento del lenguaje es mucho
más complicado de lo que se había supuesto en 1957.
La economía, como una área experta en la toma de decisiones, debido que éstas implican
la pérdida o ganancia del rendimiento; brindó a la IA una serie de teorías (Teoría de
la decisión –que combina la Teoría de la Probabilidad y la Teoría de la utilidad; Teoría
de juegos – para pequeñas economías; Procesos de decisión de Markov – para procesos
secuenciales; entre otras) que la posibilitaron para la toma de “buenas decisiones”.
Finalmente, la Neurociencia, ha contribuido a la IA con los conocimientos recabados
hasta la fecha sobre la forma como el cerebro procesa la información.
1.4.1 Clasificación de la Inteligencia Artificial
La escuela clásica dentro de la IA, utiliza representaciones simbólicas basadas en un
número finito de primitivas y de reglas para la manipulación de símbolos (por ejemplo,
redes semánticas, lógica de predicados, etc.), los cuales fueron y siguen siendo parte
central de dichos sistemas.
Otro tipo de representación es el llamado sub-simbólico, el cual utiliza representaciones
numéricas (o sub-simbólicas) del conocimiento. Aunque la mayor parte de los libros
de IA (Hebb, 1949 , Minsky and Papert 1969) sólo enfatizan el trabajo realizado por
Rosenblatt y Widrow en la década de los 50’s con redes neuronales en este tipo de
representación.
18 Introducción y Antecedentes de la Inteligencia Artificial
El enfoque sub-simbólico de la IA se caracteriza por crear sistemas con capacidad de
aprendizaje. Éste se puede obtener a nivel de individuo imitando el cerebro (Redes
Neuronales), a nivel de especie, imitando la evolución. Hasta hace poco era común
hablar de Algoritmos Genéticos (AG) en general, en vez de identificar diferentes tipos
de AE, ya que el resto de los algoritmos se pueden interpretar como variaciones o mejoras
de los AG.
Figura 1.1: Enfoques de clasificación de la Inteligencia Artificial
En la actualidad, la IA empieza a extender sus áreas de investigación en diversas di-
recciones y trata de integrar diferentes métodos en sistemas a gran escala, en su afán
por explotar al máximo las ventajas de cada una de estas en una gran cantidad de
áreas del conocimiento ya que se realizan aplicaciones en una gran cantidad de ares del
conocimiento como son la medicina, biología, ingeniera, educación, etc..
En la actualidad existen nuevas técnicas que utilizan el enfoque sub-simbólico como son
los algoritmos de optimización con colonias de hormigas, sistema inmune, cúmulo de
partículas, entre otros, los cuales están inspirados en los comportamientos emergentes
de la naturaleza.
1.4.2 Historia de la Inteligencia Artificial
Desde tiempos inmemoriales, el hombre ha buscado la materialización del deseo de crear
seres semejantes a él; pasando por la creación de artefactos con aspecto, movimientos
y hasta comportamiento similar al que presentamos los seres humanos. El ruso Isaac
Asimov (1920-1992), escritor e historiador, narraba sobre objetos y situaciones que en
su tiempo eran ciencia-ficción; sin embargo, con el paso del tiempo, muchas de ellas se
han ido volviendo realidad. Asimov, en su libro Runaround describió lo que el día de
hoy son las tres leyes de la robótica. Su obra literaria serviria como motivación para que
los científicos e ingenieros trataran de hacerla realidad.
En los años 50 cuando se logra realizar un sistema que tuvo cierto éxito, se llamó el
Perceptrón de Rossenblatt. Este era un sistema visual de reconocimiento de patrones
en el cual se aunaron esfuerzos para que se pudieran resolver una gama amplia de
problemas, pero estas energías se diluyeron enseguida.
Aproximadamente en ese tiempo, el matematico inglés Alan Turing (1912-1954) propuso
una prueba con la finalidad de demostrar la existencia de “inteligencia” en un dispositivo
no biológico. Esta prueba conocida como “test de Turing” se fundamenta en la hipótesis
1.4 INTRODUCCION 19
de que si una máquina se comporta en todos aspectos como inteligente, entonces debe
ser inteligente (Alan Turing, 1950). Como consecuencia de esta prueba, muchos de los
esfuerzos de los investigadores en ese tiempo, se enfocaron en la redacción de sistemas
de inteligencia artificial lingüísticos, lo que marcó el nacimiento de los conocidos como
“chatbots” (robots de plática). A pesar de que ya se habían realizado investigación sobre
el diseño y las capacidades de las entidades no biológicas, el trabajo de Alan Turing de
1950, concentró el interés de la comunidad científica en el desarrollo de las “máquinas
inteligentes”. Dos de las contribuciones más importantes de Alan Turing son el diseño de
la primera computadoracapaz de jugar al ajedrez y el establecimiento de la naturaleza
simbólica de la computación (ITAM, 1987).
Posteriormente, en 1957 Alan Newell y Herbert Simon, que trabajaban en la demostra-
ción de teoremas y el ajedrez por ordenador logran crear un programa llamado GPS
(General Problem Solver). Este era un sistema donde el usuario definía un entorno en
función de una serie de objetos y los operadores que se podían aplicar sobre ellos. Este
programa fue redactado mediante el uso de IPL (Information Processing Languaje) y es
considerado como el primer programa en el que se separó la información relacionada con
el problema de la estrategia empleada para darle solución. El GPS se basó en el trabajo
previamente desarrollado de sus autores sobre máquinas lógicas y aunque fue capaz de
resolver problemas como el de “Las Torres de Hanoi”; no pudo resolver problemas ni
del mundo real, ni médicos ni tomar decisiones importantes. El GPS manejaba reglas
heurísticas que la conducían hasta el destino deseado mediante el método del ensayo
y el error (Newell y Simon ,1961). Varios años más tarde; en los años 70, un equipo
de investigadores dirigido por Edward Feigenbaum comenzaría a elaborar un proyecto
para resolver problemas de la vida cotidiana (problemas más concretos); dando origen
a lo que se conocería como los sistemas expertos.
En 1958 McCarthy desarrolló un lenguaje de programación simbolica cuando estaba
trabajando en el MIT; dicho lenguaje es utlilizado aún en la actualidad y es conocido
como LISP. El nombre LISP deriva de “LISt Processing” (Procesamiento de LIStas).
Las listas encadenadas son una de las estructuras de datos importantes del Lisp.
En el año 1965 Joseph Weizenbaum construyo el primer programa interactivo el cual
consistia en que un usuario podia sostener una conversación en ingles con una compu-
tadora utilizando una comunicación por escrito, este sistema fue denominado ELIZA.
El primer sistema experto fue el denominado Dendral, un intérprete de espectrograma
de masa construido en 1967, pero el más influyente resultaría ser el Mycin de 1974. El
Mycin era capaz de diagnosticar trastornos en la sangre y recetar la correspondiente
medicación, todo un logro en aquella época que incluso fueron utilizados en hospitales
(como el Puff, variante de Mycin de uso común en el Pacific Medical Center de San
Francisco, EEUU)
Ya en los años 80, se desarrollaron lenguajes especiales para utilizar con la Inteligencia
Artificial, tales como el LISP o el PROLOG. Es en esta época cuando se desarrollan
sistemas expertos más refinados, como por ejemplo el EURISKO. Este programa per-
fecciona su propio cuerpo de reglas heurísticas automáticamente, por inducción.
También podemos destacar la importante intervención de Arthur Samuel, que desarrollo
un programa de juego de damas capaz de aprender de su propia experiencia; Selfridge,
que estudiaba el reconocimiento visual por computadora.
A partir de este grupo inicial, se formaron dos grandes “escuelas” de I.A.: Newell y Simon
20 Introducción y Antecedentes de la Inteligencia Artificial
lideraron el equipo de la Universidad de Carnegie-Mellon, proponiéndose desarrollar
modelos de comportamiento humano con aparatos cuya estructura se pareciese lo más
posible a la del cerebro (lo que derivó en la postura “conexionista” y en las “redes
neuronales” artificiales).
McCarthy y Minsky formaron otro equipo en el Instituto Tecnológico de Massachusett
(MIT), centrándose más en que los productos del procesamiento tengan el carácter de
inteligente, sin preocuparse por que el funcionamiento o la estructura de los componentes
sean parecidas a los del ser humano.
Ambos enfoques sin embargo, persiguen los mismos objetivos prioritarios de la I.A.:
“entender la inteligencia natural humana, y usar máquinas inteligentes para adquirir
conocimientos y resolver problemas considerados como intelectualmente difíciles”.
La historia de la IA ha sido testigo de ciclos de éxito, injustificado optimismo y la
consecuente desaparición de entusiasmo y apoyos financieros. También han habido ciclos
caracterizados por la introducción de nuevos y creativos enfoques y de un sistemático
perfeccionamiento de los mejores. Por sus implicaciones con áreas como la medicina,
psiclogía, biología, ética y filosofía entre otras, esta rama del conocimiento ha tenido que
lidiar con fuertes grupos oponentes y críticas desde sus orígenes; sin embargo, siempre
existió un grupo de personas interesadas en el área lo que permitio que se consolidara
como un area del conocimiento de gran interes para la investigación científica.
1.4.3 Modelos de Inteligencia
Existe una clasificación de los modelos de inteligencia Artificial que se basa en el objetivo
y la forma en que trabaja el sistema, esta clasificación de manera inicial se veía como
clases independientes, sin embargo, en la actualidad los sistemas mezclan características
de ellas.
1.4.4 Sistemas que Piensan como Humanos
El modelo es el funcionamiento de la mente humana.
Se intenta establecer una teoría sobre el funcionamiento de la mente (experimentación
psicológica).
A partir de la teoría se pueden establecer modelos computacionales.
Influencia de las Ciencias Cognitivas.GPS (General Problem Solver, 1963) - Newell &
Simon no se preocupaban sobre cómo obtener la respuesta correcta – sino sobre por qué
los sistemas llegaban a dar las respuestas que daban.
En los sistemas cognitivos, la mayoría de las investigaciones no son con computadoras
sino con humanos y animales.
1.4.5 Sistemas que Actúan como Humanos
El modelo es el hombre; el objetivo es construir un sistema que pase por humano
Prueba de Turing: si un sistema la pasa es inteligente
Capacidades necesarias: Procesamiento del Lenguaje Natural, Representación del Co-
nocimiento, Razonamiento, Aprendizaje
1.4 INTRODUCCION 21
Figura 1.2: Modelos de inteligencia
Pasar la Prueba no es el objetivo primordial de la IA
La interacción de programas con personas hace que sea importante que éstos puedan
actuar como humanos
1.4.6 Sistemas que Piensan Racionalmente
Las leyes del pensamiento racional se fundamentan en la lógica (silogismos de Aristóte-
les)
La lógica formal está en la base de los programas inteligentes (logicismo)
Se presentan dos obstáculos:
Es muy difícil formalizar el conocimiento
Hay un gran salto entre la capacidad teórica de la lógica y su realización práctica
Silogismos de Aristóteles
Lógica como base del esfuerzo
Lógica de Predicados
1.4.7 Sistemas actuantes racionales
Actuar racionalmente significa conseguir unos objetivos dadas unas creencias.
El paradigma es el agente racional, que se aplica, por ejemplo, a muchos sistemas robó-
ticos.
22 Introducción y Antecedentes de la Inteligencia Artificial
Un agente percibe