monografia laboratorio de ia

40
Contenido INTELIGENCIA ARTIFICIAL........................................2 1. INTRODUCCIÓN..............................................2 2. DEFINICIÓN................................................2 3. HISTORIA DE LA INTELIGENCIA ARTIFICIAL....................4 4. MARCO TEORICO.............................................6 4.1. INTELIGENCIA DE LAS MÁQUINAS...........................6 4.2. DEFINICIÓN DE SISTEMAS INTELIGENTES....................6 4.3. ELEMENTOS DE LA INTELIGENCIA ARTIFICIAL................7 4.4. APLICACIONES DE LA INTELIGENGIA ARTIFICIAL.............8 4.4.1. ROBÓTICA........................................... 8 4.4.2. PROCESAMIENTO DE LENGUAJES NATURALES..............12 4.4.3. RECONOCIMIENTO DE PATRONES........................14 4.4.4. SISTEMAS EXPERTOS.................................18 4.4.4.1............................APRENDIZAJE AUTOMATICO 20 4.4.4.2............................MODELOS DE APRENDIZAJE 20 4.4.4.3..............................TIPOS DE APRENDIZAJE 21 4.4.5. DISTINCIÓN ENTRE APRENDIZAJE SUPERVISADO Y NO SUPERVISADO..............................................23 4.4.6. BUSQUEDAS EN INTELIGENCIA ARTIFICIAL..............24 4.4.6.1............................................. ARBOL 24 4.4.6.2..............................RECORRIDO DE ARBOLES 24 4.4.6.3...........................BUSQUEDA EN PROFUNDIDAD 25 4.4.6.4...............................BÚSQUEDA EN ANCHURA 26 4.4.6.5.........................ALGORITMOS DE BUSQUEDA A* 26 1

Upload: erika-helen

Post on 05-Feb-2016

10 views

Category:

Documents


0 download

DESCRIPTION

recopilación de los conceptos de laboratorio de inteligencia artificial

TRANSCRIPT

Page 1: Monografia Laboratorio de Ia

ContenidoINTELIGENCIA ARTIFICIAL.............................................................................................................2

1. INTRODUCCIÓN................................................................................................................2

2. DEFINICIÓN.......................................................................................................................2

3. HISTORIA DE LA INTELIGENCIA ARTIFICIAL.......................................................................4

4. MARCO TEORICO..............................................................................................................6

4.1. INTELIGENCIA DE LAS MÁQUINAS............................................................................6

4.2. DEFINICIÓN DE SISTEMAS INTELIGENTES.................................................................6

4.3. ELEMENTOS DE LA INTELIGENCIA ARTIFICIAL...........................................................7

4.4. APLICACIONES DE LA INTELIGENGIA ARTIFICIAL.......................................................8

4.4.1. ROBÓTICA.........................................................................................................8

4.4.2. PROCESAMIENTO DE LENGUAJES NATURALES...............................................12

4.4.3. RECONOCIMIENTO DE PATRONES..................................................................14

4.4.4. SISTEMAS EXPERTOS.......................................................................................18

4.4.4.1. APRENDIZAJE AUTOMATICO.......................................................................20

4.4.4.2. MODELOS DE APRENDIZAJE........................................................................20

4.4.4.3. TIPOS DE APRENDIZAJE...............................................................................21

4.4.5. DISTINCIÓN ENTRE APRENDIZAJE SUPERVISADO Y NO SUPERVISADO...........23

4.4.6. BUSQUEDAS EN INTELIGENCIA ARTIFICIAL.....................................................24

4.4.6.1. ARBOL.........................................................................................................24

4.4.6.2. RECORRIDO DE ARBOLES............................................................................24

4.4.6.3. BUSQUEDA EN PROFUNDIDAD...................................................................25

4.4.6.4. BÚSQUEDA EN ANCHURA...........................................................................26

4.4.6.5. ALGORITMOS DE BUSQUEDA A*................................................................26

5. BIBLIOGRAFIA.................................................................................................................28

1

Page 2: Monografia Laboratorio de Ia

INTELIGENCIA ARTIFICIAL

1. INTRODUCCIÓN

Desde la aparición de las computadoras, se han ido

efectuando investigaciones científicas y tecnológicas con el fin de que éstas puedan

resolver y realizar algunas actividades propias de los seres humanos, y se ha logrado

automatizar muchos procesos consiguiendo eficiencia en el tiempo y recursos invertidos

para realizar cualquier tipo de actividad.[6]

Las primeras investigaciones sobre la IA fueron realizadas en el siglo XX, dada por una

sucesión de etapas o períodos alternativos de éxito y otros de abandono, donde ha

creado expectativas que no siempre son descubiertas o no tienen su fundamento

tecnológico. En la actualidad, vemos a esto como un enfoque que toma fuerza con el

pasar del tiempo debido a sus logros y avances en las últimas décadas.

2. DEFINICIÓNLa Inteligencia Artificial es una rama de la ciencia de la computación que comprende el estudio y creación de sistemas computarizados que manifiestan cierta forma de inteligencia: sistemas que aprenden nuevos conceptos y tareas, sistemas que pueden razonar y derivar conclusiones útiles acerca del mundo que nos rodea, sistemas que pueden comprender un lenguaje natural o percibir y comprender una escena visual, y sistemas que realizan otro tipo de actividades que requieren de inteligencia humana.Como toda disciplina de reciente creación, la IA no se encuentra unificada en términos de objetivos y métodos de investigación. Recientemente, parte de los esfuerzos de los investigadores en esta área se han dedicado a la definición de dichos objetivos y al recuento de las herramientas metodológicas utilizadas hasta ahora. Como resultado de este esfuerzo, que dista mucho de su conclusión, se han definido algunos acuerdos básicos sobre el área y sus estrategias. Por ahora, es suficientemente claro que el objetivo de la IA es el de entender la

naturaleza de la inteligencia a través del diseño de sistemas computacionales que la

exhiban. En forma más concreta, puede afirmarse que, en lo que ha transcurrido de su

corta historia, la

IA ha estado dirigida por tres objetivos generales:

El análisis teórico de las posibles explicaciones del comportamiento inteligente.

2

Page 3: Monografia Laboratorio de Ia

La explicación de habilidades mentales humanas.

La construcción de artefactos (computadoras) inteligentes.

Con estos propósitos en su agenda de investigación, los estudiosos de la IA han

recurrido al uso de cuatro diferentes estrategias metodológicas: el desarrollo de

tecnologías útiles en esta área, la simulación, el modelamiento, y la construcción de

teoría sobre la inteligencia artificial. El desarrollo de tecnologías de computación ha

sido una empresa titánica que los ingenieros en electrónica han tomado en sus manos,

sin embargo, sólo una pequeña parte de lo que se conoce como ciencia de la

computación puede incluirse dentro de la IA. No existe todavía un criterio preciso con

el cual distinguir cuándo un sistema computacional es un sistema de IA, pero el acuerdo

general es que cualquier máquina que desempeñe una función mental que tendría que

ser realizada por una inteligencia humana es un ejemplo de IA.

La simulación que se hace en IA ha intentado reproducir algunas de las características

inteligentes de los seres humanos. Estas reproducciones han buscado abiertamente la

similitud entre una computadora y los seres humanos. La elaboración de simulaciones

ha sugerido la posibilidad de explorar los procesos cognoscitivos humanos, sin embargo

los esfuerzos en esta línea, a diferencia del modelamiento, han estado dedicados a

producir comportamiento humano inteligente en las computadoras más que a entenderlo

o explicarlo.

El modelamiento, por otra parte, tiene como objeto la utilización de los sistemas de IA

para entender a la inteligencia humana. Ha sido tradicionalmente utilizado por

psicólogos y no tiene como requisito necesario el uso de computadoras, De hecho,

muchas de las teorías sobre cognición han utilizado modelos en computadoras sin hacer

referencia a ellas, por ejemplo, la teoría sobre memoria semántica o sobre

representación mental.

Finalmente, el trabajo teórico en IA ha abierto por primera vez la posibilidad de teorizar

sobre la inteligencia sin hacer necesariamente referencia a la inteligencia humana. Es

decir, se ha propuesto la formulación de una teoría de la inteligencia "pura".

3. HISTORIA DE LA INTELIGENCIA ARTIFICIALEl nacimiento real de la IA se produce para el año 1950, cuando Norbet Wiener

desarrolló el principio de la retroalimentación. Esta técnica consiste, por ejemplo, en la

tecnología del termostato, comparar la temperatura actual del entorno con la deseada y,

según los resultados, aumentarla o disminuirla. En 1955 Newell y Simon desarrollan la

Teoría de la lógica la cual permitió desarrollar un programa que exploraba la solución a

3

Page 4: Monografia Laboratorio de Ia

un problema utilizando ramas y nudos, seleccionando únicamente las ramas que más

parecían acercarse a la solución correcta de los problemas siendo éste el primer

programa inteligente basado en su modelo de procesamiento de información

Basándose en los estudios sobre memoria asociativa, el equipo Newell-Shaw-Simon

construyó los primeros lenguajes de procesamiento de información (IPL-I, IPL-II)

utilizados en el diseño de su "Logic Theorist Machine" que se convirtió en la primera

máquina "inteligente". Esta máquina fue capaz no sólo de memorizar y aprender, sitio

que consiguió demostrar de una manera original y "creativa", es decir no prevista por

sus creadores, algunos de los teoremas propuestos por Bertrand Russell en los

Principios (Russell and Whitehead, 1925).

En el año 1957 aparece la primera versión de “The General Problem Solver” (GPS), un

programa capaz de solucionar problemas de sentido común. El GPS utilizaba la teoría

de la retroalimentación de Wiener.Desde sus orígenes la IA se relacionó con juegos

como el ajedrez y las damas, probablemente debido a que los juegos de mesa

constituyen modelos de situaciones reales en las que hay que calcular, solucionar

problemas, tomar decisiones, corregir errores, recordar, etc. A pesar de que esta línea de

investigación ha sido casi totalmente abandonada en la actualidad, muchos de los

avances teóricos y metodológicos de la IA se deben a ella. Por ejemplo, Samuel diseñó

en 1961 un programa que jugaba damas y que era capaz de aprender de sus errores, es

decir, era capaz de adaptar su comportamiento en relación con eventos pasados. Lo más

controversial de este programa fue que, aunado a su capacidad de aprendizaje la de

memoria, con el tiempo consiguió derrotar invariablemente a su creador.

Hacia mediados de los sesenta la IA se convierte en un área en la que se interesan e

interactúan especialistas de diversas disciplinas: lógicos, psicólogos, matemáticos,

lingüistas, filósofos, etc. Uno de los grandes temas de IA en esta década fue el estudio

del lenguaje. En la mayoría de los estudios iniciales sobre el lenguaje, se atacó el

problema de diseñar una máquina que fuera capaz de traducir de un idioma a otro. El

énfasis se hizo en el análisis de la sintaxis, en lugar del significado, estrategia que se

abandonó relativamente pronto. Los investigadores interesados en esta área de la IA

pronto descubrieron que traducción no es lo mismo que transformación, y que, como

consecuencia de ello, de alguna manera la máquina tendría que "entender" un texto

4

Page 5: Monografia Laboratorio de Ia

antes de poder traducirlo. Los esfuerzos se orientaron hacia una definición de la

comprensión que pudiera simularse en una computadora.

Ya en el año 1970 se produce el advenimiento de los Sistemas Expertos. Los

Sistemas Expertos se han utilizado para ayudar a los médicos a diagnosticar

enfermedades e informar a los mineros a encontrar vetas de mineral. Al mismo tiempo,

en 1970. David Marr propone nuevas teorías sobre la capacidad de reconocimiento

visual de las diferentes máquinas

Para el 1986 las ventas de hardware y software relacionados con la IA se

contabilizan por 425,000.00 millones de dólares. Compañías como DuPont, General

Motors, y Boeing utilizan sistemas expertos a principios de la década de los 80 y éstos

sistemas expertos se convertirán en un standard a finales de la misma.

En los 90 la IA fue utiliza de forma efectiva en la Guerra del Golfo sobre sistemas de

misiles visores, los soldados y otros.

4. MARCO TEORICO

4.1. INTELIGENCIA DE LAS MÁQUINAS

La inteligencia es la capacidad que tienen los seres humanos, a diferencia de

otras especies, de aprender, procesar información y a partir de ello resolver problemas.

La inteligencia artificial tiene como modelo natural las funcionalidades inteligentes

del hombre, cuya motivación es intentar construir máquinas que pudieran pensar

como el hombre o por lo menos emular alguna de las capacidades que manifieste cierta

inteligencia.

A grandes rasgos se puede decir que la inteligencia artificial es una ciencia que intenta

crear programas para máquinas con el fin de imitar el comportamiento y la comprensión

humana para que sea capaz de aprender, reconocer y pensar.

5

Page 6: Monografia Laboratorio de Ia

4.2. DEFINICIÓN DE SISTEMAS INTELIGENTES

La definición de inteligencia en el diccionario de la lengua española: la

capacidad de adquirir y aplicar conocimiento. Ahora, un concepto algo más técnico y

claro de lo que es la inteligencia, se puede decir que es una propiedad del sistema que se

usa cuando los procedimientos de focalizar la atención, búsqueda combinatoria y

generalización son aplicados a la información de entrada en orden a producir la salida.

El sistema inteligente tiene la habilidad de actuar apropiadamente en su entorno con

incertidumbre, donde una acción adecuada es la que aumenta la probabilidad del éxito,

y el éxito es la consecución de los sub objetivos de comportamiento que respaldan el

último objetivo del sistema.

El estudio y desarrollo de sistemas inteligentes requiere significativos esfuerzos de

investigación multidisciplinario para integrar conceptos y métodos de distintas áreas.

Para considerar a una máquina o sistema inteligente, debe aprobar el test de Turing

(hombre y máquina realizan la misma tarea con el mismo resultado).

Por lo tanto, una máquina o sistema inteligente es el que realiza el proceso de analizar,

organizar y convertir 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 específica.

4.3. ELEMENTOS DE LA INTELIGENCIA ARTIFICIALEn verdad, la inteligencia artificial consiste en la asimilación de los procesos

inductivos y deductivos del cerebro humano. Este intento de imitación se enfrenta a

duras restricciones del hardware. Una computadora no es un cerebro; su complejidad

electrónica se encuentra a una distancia abismal de la superior complejidad neurológica

cerebral. La inteligencia artificial acepta el reto de la imitación de los procesos del

cerebro aplicando mucho ingenio para aprovechar los medios de que se dispone y que se

elaboran.

Sea cual sea la aplicación de que se trate, la lA se sustenta sobre los dos

elementos siguientes:

Estrategias de comportamiento inteligente.

Saber.

6

Page 7: Monografia Laboratorio de Ia

Estos elementos forman una construcción coherente: son forma y contenido, estructura

y materia. El primer elemento es el de las estrategias de comportamiento inteligente; se

conjuga en la disposición de reglas para formular buenas inferencias o conjeturas y,

también, en su utilidad para la búsqueda de una solución a la cuestión o tarea planteada.

De esta forma, las estrategias son la parte estructural o formal.

Por oposición, el segundo elemento significa lo material o el contenido, y, por

tanto, varía en cada caso de un modo más profundo; se trata del saber. En realidad, no se

puede pretender reunir el saber, sino los saberes. Por ejemplo, cada sistema experto

posee en memoria todos los conocimientos distintivos que tendría un especialista en la

materia, sea un médico, un abogado o un químico. El saber que se recoge tiene un

carácter especializado y alcanza un volumen conceptual considerable.

4.4. APLICACIONES DE LA INTELIGENGIA ARTIFICIAL Robótica.

Procesamiento de Lenguaje Natural.

Reconocimiento de Patrones.

Sistemas Expertos

Tutores Inteligentes.

Manipulación Inteligente de Base de Datos.

Programación Automática.

Visión Computarizada.

4.4.1. ROBÓTICAEl RIA (Robot Institute of America) define al robot como "un manipulador

multifuncional reprogramable, diseñado para mover materiales, partes, herramientas o

dispositivos especializados a través de movimientos variables programados para la

performance de una variedad de labores".

Esta definición indudablemente no abarca todas las posibilidades de aplicación

presente y futuras de los robots y a nuestro parecer, el robot es a la producción, lo que el

computador es para el procesamiento de datos, es decir una nueva y revolucionaria

concepción del sistema productivo cuyos alcances recién comienzan a percibirse en los

países altamente industrializados. Realmente los robots, no incorporan nada nuevo a la

tecnología en general, la novedad radica en la particularidad de su arquitectura y en los

objetivos que se procura con los mismos.

El trabajo del robot se limita generalmente a pocos movimientos repetitivos de

sus ejes, estos son casi siempre 3 para el cuerpo y 3 para la mano o puño, su radio de

7

Page 8: Monografia Laboratorio de Ia

acción queda determinado por un sector circular en el espacio donde éste alcanza a

actuar. Cuando las partes o piezas a manipular son idénticas entre ellas y se presentan en

la misma posición, los movimientos destinados a reubicar o montar partes se efectúan

mediante dispositivos articulados que a menudo finalizan con pinzas.

CRONOGRAMA SOBRE LA HISTORIA DE LA ROBÓTICA

FECHA DESARROLLO

SigloXVIII. A mediados del siglo XVIII J. de Vaucanson construyó varias muñecas

mecánicas de tamaño humano que ejecutaban piezas de música

1801 J. Jaquard invento su telar, que era una máquina programable para la

urdimbre

1805 H. Maillardet construyó una muñeca mecánica capaz de hacer dibujos.

1946 El inventor americano G.C. Devol desarrolló un dispositivo controlador

que podía registrar señales eléctricas por medio magnéticos y

reproducirlas para accionar una máquina mecánica. La patente

estadounidense se emitió en 1952.

1951 Trabajo de desarrollo con teleoperadores (manipuladores de control

remoto) para manejar materiales radiactivos. Patente de Estados Unidos

emitidas para Goertz (1954) y Bergsland (1958).

1952 Una máquina prototipo de control numérico fue objetivo de

demostración en el Instituto Tecnológico de Massachusetts después de

varios años de desarrollo. Un lenguaje de programación de piezas

denominado APT (Automatically Programmed Tooling) se desarrolló

posteriormente y se publicó en 1961.

1954 El inventor británico C. W. Kenward solicitó su patente para diseño de

8

Page 9: Monografia Laboratorio de Ia

robot. Patente británica emitida en 1957.

1954 G.C. Devol desarrolla diseños para Transferencia de artículos

programada. Patente emitida en Estados Unidos para el diseño en 1961.

1959 Se introdujo el primer robot comercial por Planet Corporation. Estaba

controlado por interruptores de fin de carrera.

1960 Se introdujo el primer robot ‘Unimate’’, basada en la transferencia de

articulaciones programada de Devol. Utilizan los principios de control

numérico para el control de manipulador y era un robot de transmisión

hidráulica.

1961 Un robot Unimate se instaló en la Ford Motors Company para atender

una máquina de fundición de troquel.

1966 Trallfa, una firma noruega, construyó e instaló un robot de pintura por

pulverización.

1968 Un robot móvil llamado ‘Shakey’’ se desarrollo en SRI (standford

Research Institute), estaba provisto de una diversidad de sensores así

como una cámara de visión y sensores táctiles y podía desplazarse por el

suelo.

1971 El ‘Standford Arm’’, un pequeño brazo de robot de accionamiento

eléctrico, se desarrolló en la Standford University.

1973 Se desarrolló en SRI el primer lenguaje de programación de robots del

tipo de computadora para la investigación con la denominación WAVE.

Fue seguido por el lenguaje AL en 1974. Los dos lenguajes se

desarrollaron posteriormente en el lenguaje VAL comercial para

Unimation por Víctor Scheinman y Bruce Simano.

1974 ASEA introdujo el robot Irb6 de accionamiento completamente

eléctrico.

1974 Kawasaki, bajo licencia de Unimation, instaló un robot para soldadura

por arco para estructuras de motocicletas.

1974 Cincinnati Milacron introdujo el robot T3 con control por computadora.

1975 El robot ‘Sigma’’ de Olivetti se utilizó en operaciones de montaje, una

de las primitivas aplicaciones de la robótica al montaje.

1976 Un dispositivo de Remote Center Compliance (RCC) para la inserción

9

Page 10: Monografia Laboratorio de Ia

de piezas en la línea de montaje se desarrolló en los laboratorios Charles

Stark Draper Labs en Estados Unidos.

1978 El robot T3 de Cincinnati Milacron se adaptó y programó para realizar

operaciones de taladro y circulación de materiales en componentes de

aviones, bajo el patrocinio de Air Force ICAM (Integrated Computer

Aided Manufacturing).

1978 Se introdujo el robot PUMA (Programmable Universal Machine for

Assambly) para tareas de montaje por Unimation, basándose en diseños

obtenidos en un estudio de la General Motors.

1979 Desarrollo del robot tipo SCARA (Selective Compliance Arm for

Robotic Assambly) en la Universidad de Yamanashi en Japón para

montaje. Varios robots SCARA comerciales se introdujeron hacia 1981.

1980 Un sistema robótico de captación de recipientes fue objeto de

demostración en la Universidad de Rhode Island. Con el empleo de

visión de máquina el sistema era capaz de captar piezas en orientaciones

aleatorias y posiciones fuera de un recipiente.

1981 Se desarrolló en la Universidad de Carnegie-Mellon un robot de

impulsión directa. Utilizaba motores eléctricos situados en las

articulaciones del manipulador sin las transmisiones mecánicas

habituales empleadas en la mayoría de los robots.

1982 IBM introdujo el robot RS-1 para montaje, basado en varios años de

desarrollo interno. Se trata de un robot de estructura de caja que utiliza

un brazo constituido por tres dispositivos de deslizamiento ortogonales.

El lenguaje del robot AML, desarrollado por IBM, se introdujo también

para programar el robot SR-1.

1983 Informe emitido por la investigación en Westinghouse Corp. Bajo el

patrocinio de National Science Foundation sobre un sistema de montaje

programable adaptable (APAS), un proyecto piloto para una línea de

montaje automatizada flexible con el empleo de robots.

1984 Robots 8. La operación típica de estos sistemas permitía que se

desarrollaran programas de robots utilizando gráficos interactivos en una

computadora personal y luego se cargaban en el robot.

10

Page 11: Monografia Laboratorio de Ia

CARACTERÍSTICAS DE LOS ROBOTS

Versatilidad: Potencialidad estructural de ejecutar tareas diversas y/o ejecutar una

misma tarea de forma diversa. Esto impone al robot una estructura mecánica de

geometría variable.

Autoadaptibilidad al entorno: Significa que un robot debe, por sí solo, alcanzar su

objetivo (ejecutar su tarea) a pesar de las perturbaciones imprevistas del entorno a lo

largo de la ejecución de su tarea. Esto supone que el robot sea consciente de su entorno

y que por lo tanto posea sentidos artificiales.

4.4.2. PROCESAMIENTO DE LENGUAJES NATURALESDEFINICIÓN

Es un campo de las computación, inteligencia y lingüística que estudia las interacciones

entre las computadoras y el lenguaje humano. El PLN se ocupa de la formulación e

investigación de mecanismos eficaces computacionalmente para la comunicación entre

personas y máquinas por medio de lenguajes naturales. El PLN no trata de la

comunicación por medio de lenguajes naturales de una forma abstracta, sino de diseñar

mecanismos para comunicarse que sean eficaces computacionalmente que se puedan

realizar por medio de programas que ejecuten o simulen la comunicación. Los modelos

aplicados se enfocan no sólo a la comprensión del lenguaje de por sí, sino a aspectos

generales cognitivos humanos y a la organización de la memoria. El lenguaje natural

sirve sólo de medio para estudiar estos fenómenos. Hasta la década de 1980, la mayoría

de los sistemas de PNL se basaban en un complejo conjunto de reglas diseñadas a mano.

A partir de finales de 1980, sin embargo, hubo una revolución en PNL con la

introducción de algoritmos de aprendizaje para el procesamiento del lenguaje.

COMPONENTES

Análisis morfológico. El análisis de las palabras para extraer raíces, rasgos

flexivos, unidades léxicas compuestas y otros fenómenos.

Análisis sintáctico. El análisis de la estructura sintáctica de la frase mediante

una gramática de la lengua en cuestión.

Análisis semántico. La extracción del significado de la frase, y la resolución de

ambigüedades léxicas y estructurales.

11

Page 12: Monografia Laboratorio de Ia

Análisis pragmático. El análisis del texto más allá de los límites de la frase, por

ejemplo, para determinar los antecedentes referenciales de los pronombres.

Planificación de la frase. Estructurar cada frase del texto con el fin de expresar

el significado adecuado.

Generación de la frase. La generación de la cadena lineal de palabras a partir

de la estructura general de la frase, con sus correspondientes flexiones,

concordancias y restantes fenómenos sintácticos y morfológicos.

APLICACIONES

Síntesis del discurso

Análisis del lenguaje

Comprensión del lenguaje

Reconocimiento del habla

Síntesis de voz

Generación de lenguajes naturales

Traducción automática

Respuesta a preguntas

Recuperación de la información

Extracción de la información

4.4.3. RECONOCIMIENTO DE PATRONESDEFINICIÓN

El reconocimiento de patrones es la ciencia que se encarga de la descripción y

clasificación (reconocimiento) de objetos, personas, señales, representaciones, etc. Esta

ciencia trabaja con base en un conjunto previamente establecido de todos los posibles

objetos (patrones) individuales a reconocer. El margen de aplicaciones del

reconocimiento de patrones es muy amplio, sin embargo las más importantes están

relacionadas con la visión y audición por parte de una máquina, de forma análoga a los

seres humanos. El esquema de un sistema de reconocimiento de patrones consta de

varias etapas relacionadas entre sí (los resultados de una etapa pueden modificar los

12

Page 13: Monografia Laboratorio de Ia

parámetros de etapas anteriores). La figura 2.1 muestra un esquema general de un

sistema de reconocimiento de patrones, en el cual el sensor tiene como propósito

proporcionar una representación factible de los elementos del universo a ser

clasificados. Es un sub-sistema crucial ya que determina los límites en el rendimiento de

todo el sistema. La Extracción de Características es la etapa que se encarga, a partir del

patrón de representación, de extraer la información discriminatoria eliminando la

información redundante e irrelevante. El Clasificador es la etapa de toma de decisiones

en el sistema. Su rol es asignar los patrones de clase desconocida a la categoría

apropiada.

SISTEMA BASICO DE RECONOCIMIENTO DE PATRONES

Un sistema completo de reconocimiento de patrones incluye un sensor que recoja

fielmente los elementos del universo a ser clasificado, un mecanismo de extracción de

características cuyo propósito es extraer la información útil, eliminando la información

redundante e irrelevante, y finalmente una etapa de toma de decisiones en la cual se

asigna a la categoría apropiada los patrones de clase desconocida a priori.

Sensor

El sensor es el dispositivo encargado de la adquisición de datos. Ha de ser capaz de

transformar magnitudes físicas o químicas, llamadas variables de instrumentación, en

magnitudes eléctricas. Las variables de instrumentación dependen del tipo de sensor y

pueden ser por ejemplo: temperatura, intensidad lumínica, distancia, aceleración,

inclinación, desplazamiento, presión, fuerza, torsión, humedad, etc.

13

Page 14: Monografia Laboratorio de Ia

Extracción de características

Es el proceso de generar características que puedan ser usadas en el proceso de

clasificación de los datos. En ocasiones viene precedido por un preprocesador de la

señal, necesario para corregir posibles deficiencias en los datos debido a errores del

sensor, o bien para preparar los datos de cara a posteriores procesos en las etapas de

extracción de características o clasificación.

Las características elementales están explícitamente presentes en los datos adquiridos y

pueden ser pasados directamente a la etapa de clasificación. Las características de alto

orden son derivadas de las elementales y son generadas por manipulaciones o

transformaciones en los datos.

Selección de variables

Consiste en seleccionar cuál es el tipo de características o rasgos más adecuados para

describir los objetos. Para ello, se deben localizar los rasgos que inciden en el problema

de manera determinante.

Esta etapa también puede ser diseñada dentro de la clasificación.

La selección de variables puede diferenciarse según los objetivos buscados:

Para la clasificación: la selección de características relevantes, a partir del

conjunto total de características que describen a los objetos, se hace con dos

motivos fundamentales: mejorar la clasificación o aumentar la velocidad

de procesamiento.

Para la representación: decidir qué características representan mejor a cierto

tipo de objetos.

Estrategias de selección de variables:

wrapper: la selección de características se hace usando información del

mecanismo de clasificación.

filter: la selección se hace con un criterio independiente del clasificador.

Incluye algunos métodos como:

14

Page 15: Monografia Laboratorio de Ia

Tablas de decisión: le busca un subconjunto mínimo de variables que no

introduzca confusión entre clases.

ID3: le crea un árbol de decisión y se selecciona un conjunto de variables

que permita discriminar entre clases.

Teoría de testores: le buscan todos los subconjuntos de variables

discriminantes minimales, con estos se evalúa la relevancia de cada variable

y se seleccionan aquellas con mayor relevancia.

APLICACIONES

Los sistemas de reconocimiento de patrones tienen diversas aplicaciones. Algunas de las

más relevantes y utilizadas actualmente son:

Previsión meteorológica: poder clasificar todos los datos meteorológicos según

diversos patrones, y con el conocimiento a priori que tenemos de las diferentes

situaciones que pueden aparecer nos permite crear mapas de predicción automática.

Reconocimiento de caracteres escritos a mano o a máquina: es una de las

utilidades más populares de los sistemas de reconocimiento de patrones ya que los

símbolos de escritura son fácilmente identificables.

Reconocimiento de voz: el análisis de la señal de voz se utiliza actualmente en

muchas aplicaciones, un ejemplo claro son los teleoperadores informáticos.

Aplicaciones en medicina: análisis de biorritmos, detección de irregularidades en

imágenes de rayos-x, detección de células infectadas, marcas en la piel...

15

Page 16: Monografia Laboratorio de Ia

Reconocimiento de huellas dactilares: utilizado y conocido por la gran mayoría,

mediante las huellas dactilares todos somos identificables y con programas que

detectan y clasifican las coincidencias, resulta sencillo encontrar correspondencias.

Reconocimiento de caras: utilizado para contar asistentes en una manifestación o

simplemente para detectar una sonrisa, ya hay diferentes cámaras en el mercado con

esta opción disponible.

Interpretación de fotografías aéreas y de satélite: gran utilidad para propuestas

militares o civiles, como la agricultura, geología, geografía, planificación urbana...

Predicción de magnitudes máximas de terremotos.

Reconocimiento de objetos: con importantes aplicaciones para personas con

discapacidad visual.

Reconocimiento de música: identificar el tipo de música o la canción concreta que

suena.

4.4.4. SISTEMAS EXPERTOSDEFINICIÓN

En teoría, los sistemas expertos son capaces de razonar siguiendo pasos comparables a

los que sigue un especialista (médico, biólogo, geólogo, matemático, etc.), cuando

resuelve un problema propio de su disciplina. Por ello el creador de un sistema experto

debe comenzar por identificar y recoger, del experto humano, los conocimientos que

éste utiliza: conocimientos teóricos, pero sobre todo los conocimientos empíricos

adquiridos en la práctica.

El estudio y desarrollo de los sistemas expertos (SES) comenzó a mediados de la década

del 60. Entre 1965 y 1972 fueron desarrollados varios de estos sistemas, muchos de

ellos tuvieron un alcance muy limitado, otros como mycin, dendral y prospector,

constituyeron la base histórica del SES y aún en la actualidad son de gran interés para

los investigadores que se dedican al estudio y construcción de los mismos.

Los sistemas expertos o especializados constituyen una instrumentalización de la IA

muy útil. Son sistemas que acumulan saber perfectamente estructurado, de tal manera

que sea posible obtenerlo gradualmente según las situaciones. Aquí desaparece el

16

Page 17: Monografia Laboratorio de Ia

concepto de información en favor del de saber. Un sistema experto no es una biblioteca

que aporta información, sino un consejero o especialista en una materia, de ahí que

aporte saber, consejo experimentado.

Un sistema experto es un sofisticado programa de computadora. Posee en su memoria y

en su estructura una amplia cantidad de saber y, sobre todo, de estrategias para

depurarlo y ofrecerlo según los requerimientos. Ello convierte al sistema (software-

hardware) en un especialista en la materia para lo que está programado; se utiliza como

apoyo o elemento de consulta para investigadores, médicos, abogados, geólogos, y otros

profesionales. En la actualidad existe un gran número de sistemas expertos repartidos

entre los campos más activos de la investigación y de la profesionalidad.

Un ejemplo sería INTERNIST, un sistema experto en medicina. La medicina atrae, por

el momento, buena parte de la atención de los diseñadores de sistemas y cuenta con el

mayor número de programas. El sistema INTERNIST contempla el diagnóstico de las

enfermedades de medicina interna u hospitalaria. Fue desarrollado en la universidad

norteamericana de Pittsburg en 1 977.

En los centros médicos que disponen de dicho sistema, el médico acude a la consola de

la computadora después de haber reconocido al paciente y haber realizado los análisis

que cree pertinentes. Entonces la máquina solicita al médico información sobre el

paciente, y se establece una conversación a través de la pantalla y el teclado, similar a la

que se establecería entre un médico y un reputado especialista al que se acude para

contrastar un diagnóstico.

La computadora recibe el historial médico del enfermo, los síntomas y los resultados de

pruebas y análisis. Con esta información, el sistema experto relaciona los datos de

forma muy elaborada y comienza por desechar posibles diagnósticos hasta que llega a

los que parecen más probables. Finalmente, elige uno y lo da a conocer con todo el

detalle del proceso. Luego justifica su elección y el porqué de la posible enfermedad:

cuadro clínico, historial, tratamiento, posibilidades de error, etc.

La elaboración de los sistemas expertos exige el despliegue de un amplio equipo de

ingenieros de lA y una larga tarea de organización del saber. El equipo trabaja con algún

especialista en la materia de la aplicación; en el caso del INTERNIST, con brillantes y

especializados médicos. Estos especialistas son denominados «informantes». La meta

consiste en plasmar computacionalmente los «pasos» que el informante sigue para

descartar unos diagnósticos y escoger el más acertado. Ello requiere pacientes sesiones

17

Page 18: Monografia Laboratorio de Ia

para trasvasar el conocimiento del médico especialista a una programación que ha de

incluir procedimientos de diagnóstico y conocimientos de enfermedades.

Por ser los SES programas basados en conocimiento, la programación de SES incluye

como aspecto fundamental la programación del conocimiento, la cual hace uso de la

representación explícita del conocimiento a utilizar por el sistema y de su interpretación

y manipulación lógica por medio de mecanismos de inferencia, que permitan deducir

nuevo conocimiento a partir del que ya se conoce.

4.4.4.1. APRENDIZAJE AUTOMATICO

En ciencias de la computación el aprendizaje automático o aprendizaje de

máquinas es una rama de la inteligencia artificial cuyo objetivo es desarrollar

técnicas que permitan a las computadoras aprender. De forma más concreta, se

trata de crear programas capaces de generalizar comportamientos a partir de una

información no estructurada suministrada en forma de ejemplos. Es, por lo

tanto, un proceso de inducción del conocimiento. En muchas ocasiones el

campo de actuación del aprendizaje automático se solapa con el de la

estadística, ya que las dos disciplinas se basan en el análisis de datos. Sin

embargo, el aprendizaje automático se centra más en el estudio de la

complejidad computacional de los problemas. Muchos problemas son de clase

NP-hard, por lo que gran parte de la investigación realizada en aprendizaje

automático está enfocada al diseño de soluciones factibles a esos problemas. El

aprendizaje automático puede ser visto como un intento de automatizar algunas

partes del método científicomediante métodos matemáticos.

El aprendizaje automático tiene una amplia gama de aplicaciones, incluyendo

motores de búsqueda, diagnósticos médicos, detección de fraude en el uso de

18

Page 19: Monografia Laboratorio de Ia

tarjetas de crédito, análisis del mercado de valores, clasificación de secuencias

de ADN, reconocimiento del habla y del lenguaje escrito, juegos y robótica.

4.4.4.2. MODELOS DE APRENDIZAJE

El aprendizaje automático tiene como resultado un modelo para resolver una

tarea dada. Entre los modelos se distinguen:

• Los modelos geométricos, construidos en el espacio de instancias y que

pueden tener una, dos o múltiples dimensiones. Si hay un borde de decisión

linear entre las clases, se dice que los datos son linealmente separables. Un

límite de decisión linear se define como w * x = t, donde w es un vector

perpendicular al límite de decisión, x es un punto arbitrario en el límite de

decisión y t es el umbral de la decisión

• Los modelos probabilísticos, que intentan determinar la distribución de

probabilidades descriptora de la función que enlaza a los valores de las

características con valores determinados. Uno de los conceptos claves para

desarrollar modelos probabilísticos es la estadística bayesiana.

• Los modelos lógicos, que transforman expresan las probabilidades en

reglas organizadas en forma de árboles de decisión.

Los modelos pueden también clasificarse como modelos de agrupamiento y modelos de

gradiente. Los primeros tratan de dividir el espacio de instancias en grupos. Los

segundos, como su nombre lo indican, representan un gradiente en el que se puede

diferenciar entre cada instancia. Clasificadores geométricos como las máquinas de

vectores de apoyo son modelos de gradientes

4.4.4.3. TIPOS DE APRENDIZAJE

Los diferentes algoritmos de Aprendizaje Automático se agrupan en una taxonomía en

función de la salida de los mismos. Algunos tipos de algoritmos son:

Aprendizaje supervisado

El algoritmo produce una función que establece una correspondencia entre las entradas

y las salidas deseadas del sistema. Un ejemplo de este tipo de algoritmo es el problema

de clasificación, donde el sistema de aprendizaje trata de etiquetar (clasificar) una serie

19

Page 20: Monografia Laboratorio de Ia

de vectores utilizando una entre varias categorías (clases). La base de conocimiento del

sistema está formada por ejemplos de etiquetados anteriores. Este tipo de aprendizaje

puede llegar a ser muy útil en problemas de investigación biológica, biología

computacional y bioinformática.

Aprendizaje no supervisado

Todo el proceso de modelado se lleva a cabo sobre un conjunto de ejemplos formado

tan sólo por entradas al sistema. No se tiene información sobre las categorías de esos

ejemplos. Por lo tanto, en este caso, el sistema tiene que ser capaz de reconocer patrones

para poder etiquetar las nuevas entradas.

Aprendizaje semi supervisado

Este tipo de algoritmos combinan los dos algoritmos anteriores para poder clasificar de

manera adecuada. Se tiene en cuenta los datos marcados y los no marcados.

Aprendizaje por refuerzo

El algoritmo aprende observando el mundo que le rodea. Su información de entrada es

el feedback o retroalimentación que obtiene del mundo exterior como respuesta a sus

acciones. Por lo tanto, el sistema aprende a base de ensayo-error.

Transducción

Similar al aprendizaje supervisado, pero no construye de forma explícita una función.

Trata de predecir las categorías de los futuros ejemplos basándose en los ejemplos de

entrada, sus respectivas categorías y los ejemplos nuevos al sistema.

Aprendizaje multi-tarea

Métodos de aprendizaje que usan conocimiento previamente aprendido por el sistema

de cara a enfrentarse a problemas parecidos a los ya vistos. El análisis computacional y

de rendimiento de los algoritmos de aprendizaje automático es una rama de la

estadística conocida como teoría computacional del aprendizaje.

20

Page 21: Monografia Laboratorio de Ia

El aprendizaje automático las personas lo llevamos a cabo de manera automática ya que

es un proceso tan sencillo para nosotros que ni nos damos cuenta de cómo se realiza y

todo lo que implica. Desde que nacemos hasta que morimos los seres humanos llevamos

a cabo diferentes procesos, entre ellos encontramos el de aprendizaje por medio del cual

adquirimos conocimientos, desarrollamos habilidades para analizar y evaluar a través de

métodos y técnicas así como también por medio de la experiencia propia. Sin embargo,

a las máquinas hay que indicarles cómo aprender, ya que si no se logra que una máquina

sea capaz de desarrollar sus habilidades, el proceso de aprendizaje no se estará llevando

a cabo, sino que solo será una secuencia repetitiva. También debemos tener en cuenta

que el tener conocimiento o el hecho de realizar bien el proceso de aprendizaje

automático no implica que se sepa utilizar, es preciso saber aplicarlo en las actividades

cotidianas, y un buen aprendizaje también implica saber cómo y cuándo utilizar

nuestros conocimientos.

Para llevar a cabo un buen aprendizaje es necesario considerar todos los factores que a

este le rodean, como la sociedad, la economía, la ciudad, el ambiente, el lugar, etc. Por

lo tanto, es necesario empezar a tomar diversas medidas para lograr un aprendizaje

adecuado, y obtener una automatización adecuada del aprendizaje.

4.4.5. DISTINCIÓN ENTRE APRENDIZAJE SUPERVISADO Y NO SUPERVISADO

El aprendizaje supervisado se caracteriza por contar con información que especifica

qué conjuntos de datos son satisfactorios para el objetivo del aprendizaje. Un ejemplo

podría ser un software que reconoce si una imagen dada es o no la imagen de un rostro:

para el aprendizaje del programa tendríamos que proporcionarle diferentes imágenes,

especificando en el proceso si se trata o no de rostros.

En el aprendizaje no supervisado, en cambio, el programa no cuenta con datos que

definan que información es satisfactoria o no. El objetivo principal de estos programas

suele ser encontrar patrones que permitan separar y clasificar los datos en diferentes

grupos, en función de sus atributos. Siguiendo el ejemplo anterior un software de

aprendizaje no supervisado no sería capaz de decirnos si una imagen dada es un rostro o

no pero sí podría, por ejemplo, clasificar las imágenes entre aquellas que contienen

rostros humanos, de animales, o las que no contienen. La información obtenida por un

algoritmo de aprendizaje no supervisado debe ser posteriormente interpretada por una

persona para darle utilidad.

21

Page 22: Monografia Laboratorio de Ia

APLICACIONES

Motores de búsqueda

Diagnóstico médico

Detección de fraudes con el uso de tarjetas de crédito

Análisis del mercado de valores

Clasificación de secuencias de ADN

Reconocimiento del habla

Robótica

Minería de datos

Big Data4.4.6. BUSQUEDAS EN INTELIGENCIA ARTIFICIAL

4.4.6.1. ARBOL

En ciencias de la computación y en informática, un árbol es una estructura de

datos ampliamente usada que imita la forma de un árbol (un conjunto de nodos

conectados). Un nodo es la unidad sobre la que se construye el árbol y puede

tener cero o más nodos hijos conectados a él. Se dice que un nodo a es padre de

un nodo b si existe un enlace desde a hasta b (en ese caso, también decimos que

b es hijo de a). Sólo puede haber un único nodo sin padres, que llamaremos raíz.

Un nodo que no tiene hijos se conoce como hoja. Los demás nodos (tienen padre

y uno o varios hijos) se les conoce como rama.

TIPOS DE ARBOLES

Árboles Binarios

Árbol de búsqueda binario auto-balanceable

Árboles AVL

Árboles Rojo-Negro

Árbol AA

Árbol de segmento

Árboles Multicamino

Árboles B (Árboles de búsqueda multicamino

autobalanceados)

Árbol-B+

Árbol-B*

22

Page 23: Monografia Laboratorio de Ia

4.4.6.2. RECORRIDO DE ARBOLES

En ciencias de la computación, el recorrido de árboles refiere al proceso de visitar de

una manera sistemática, exactamente una vez, cada nodo en una estructura de datos de

árbol (examinando y/o actualizando los datos en los nodos). Tales recorridos están

clasificados por el orden en el cual son visitados los nodos. Los siguientes algoritmos

son descritos para un árbol binario, pero también pueden ser generalizados a otros

árboles.

RECORRIDO

Comparado a las estructuras de datos lineales como las listas enlazadas y arreglos

unidimensionales, que tienen un método canónico de recorrido, las estructuras

arborescentes pueden ser recorridas de muchas maneras diferentes. Comenzando en la

raíz de un árbol binario, hay tres pasos principales que pueden ser realizados y el orden

en la cual son realizados define el tipo de recorrido. Estos pasos (en ningún orden

particular) son: ejecución de una acción en el nodo actual (referido como “visitando” el

nodo), recorriendo al nodo hijo de la izquierda, y recorriendo al nodo hijo de la derecha.

Así el proceso más fácilmente descrito a través de la recursión.

Los nombres dados para un estilo particular de recorrido vienen de la posición del

elemento de raíz con respecto a los nodos izquierdo y derecho. Imagine que los nodos

izquierdo y derecho son constantes en espacio, entonces el nodo raíz pudiera colocarse a

la izquierda del nodo izquierdo (pre-orden), entre el nodo izquierdo y derecho (in-

orden), o a la derecha del nodo derecho (post-orden).

Con el fin de ilustrar, se asume que los nodos izquierdos tienen siempre prioridad sobre

los nodos derechos. Este ordenamiento puede ser invertido mientras el mismo orden sea

asumido para todos los métodos de recorrido.

4.4.6.3. BUSQUEDA EN PROFUNDIDAD

Una Búsqueda en profundidad (en inglés DFS o Depth First Search) es un algoritmo

que permite recorrer todos los nodos de un grafo o árbol (teoría de grafos) de manera

ordenada, pero no uniforme. Su funcionamiento consiste en ir expandiendo todos y cada

uno de los nodos que va localizando, de forma recurrente, en un camino concreto.

Cuando ya no quedan más nodos que visitar en dicho camino, regresa (Backtracking),

de modo que repite el mismo proceso con cada uno de los hermanos del nodo ya

23

Page 24: Monografia Laboratorio de Ia

procesado.Análogamente existe el algoritmo de búsqueda en anchura (BFS o Breadth

First Search).

4.4.6.4. BÚSQUEDA EN ANCHURA

En Ciencias de la Computación, Búsqueda en anchura (en inglés BFS - Breadth First

Search) es un algoritmo para recorrer o buscar elementos en un grafo (usado

frecuentemente sobre árboles). Intuitivamente, se comienza en la raíz (eligiendo algún

nodo como elemento raíz en el caso de un grafo) y se exploran todos los vecinos de este

nodo. A continuación para cada uno de los vecinos se exploran sus respectivos vecinos

adyacentes, y así hasta que se recorra todo el árbol.

Formalmente, BFS es un algoritmo de búsqueda sin información, que expande y

examina todos los nodos de un árbol sistemáticamente para buscar una solución. El

algoritmo no usa ninguna estrategia heurística.

Si las aristas tienen pesos negativos aplicaremos el algoritmo de Bellman-Ford en

alguna de sus dos versiones.

4.4.6.5. ALGORITMOS DE BUSQUEDA A*

El algoritmo de búsqueda A* (pronunciado "A asterisco" o "A estrella") se clasifica

dentro de los algoritmos de búsqueda en grafos. Presentado por primera vez en 1968 por

Peter E. Hart, Nils J. Nilsson y Bertram Raphael, el algoritmo A* encuentra, siempre y

cuando se cumplan unas determinadas condiciones, el camino de menor coste entre un

nodo origen y uno objetivo.

PROPIEDADES

Como todo algoritmo de búsqueda en amplitud, A* es un algoritmo completo: en caso

de existir una solución, siempre dará con ella.

Si para todo nodo n del grafo se cumple g(n) = 0, nos encontramos ante una búsqueda

voraz. Si para todo nodo n del grafo se cumple h(n) = 0, A* pasa a ser una búsqueda de

coste uniforme no informada.

Para garantizar la optimización del algoritmo, la función h(n) debe ser heurística

admisible, esto es, que no sobrestime el coste real de alcanzar el nodo objetivo.

De no cumplirse dicha condición, el algoritmo pasa a denominarse simplemente A, y a

pesar de seguir siendo completo, no se asegura que el resultado obtenido sea el camino

24

Page 25: Monografia Laboratorio de Ia

de coste mínimo. Asimismo, si garantizamos que h(n) es consistente (o monótona), es

decir, que para cualquier nodo n y cualquiera de sus sucesores, el coste estimado de

alcanzar el objetivo desde n no es mayor que el de alcanzar el sucesor más el coste de

alcanzar el objetivo desde el sucesor.

COMPLEJIDAD COMPUTACIONAL

La complejidad computacional del algoritmo está íntimamente relacionada con la

calidad de la heurística que se utilice en el problema. En el caso peor, con una heurística

de pésima calidad, la complejidad será exponencial, mientras que en el caso mejor, con

una buena h'(n), el algoritmo se ejecutará en tiempo lineal. Para que esto último suceda,

se debe cumplir que h'(x) \le g(y) - g(x) + h'(y) donde h' es una heurística óptima para el

problema, como por ejemplo, el coste real de alcanzar el objetivo.

COPLEJIDAD EN MEMORIA

El espacio requerido por A* para ser ejecutado es su mayor problema. Dado que tiene

que almacenar todos los posibles siguientes nodos de cada estado, la cantidad de

memoria que requerirá será exponencial con respecto al tamaño del problema.

5. BIBLIOGRAFIA

Luis Mª Gonzalo, Inteligencia Humana e Inteligencia Artificial, Madrid, 1987. ISBN 84-

7118-490-7

25

Page 26: Monografia Laboratorio de Ia

Víctor Gómez Pin, Entre lobos y autómatas. La causa del hombre, Espasa, Madrid,

2006. ISBN 978-84-670-2303-9

Adaraga Morales P., Zaccagnini Sancho J. L., Psicología e inteligencia artificial,

Editorial Trotta, Madrid, 1994. ISBN 84-87699-77-4

Alberto García Serrano, Inteligencia Artificial. Fundamentos, práctica y aplicaciones.,

Editorial RC Libros, 2012. ISBN 978-84-939450-2-2

Inteligencia artificial en Internet Movie Database 

26