You are on page 1of 73

Universidad Nacional del Santa

Facultad de Ingeniería Manual de Inteligencia Artificial


E. P Ingeniería de Sistemas e Informática Unidad I

CAPÍTULO I: INTELIGENCIA ARTIFICIAL

1.1 CONCEPTOS.

 La IA es una ciencia que estudia el comportamiento inteligente de las máquinas lo


cual conlleva a realizar tareas como: percibir, razonar, aprender, comunicarse y
actuar en entornos complejos.

 La IA. es la parte de la informática concerniente al diseño de sistemas de


computación inteligente, es decir, de sistemas que exhiban o simulen las
características que son comúnmente asociadas con la inteligencia en la conducta
humana (Handbook81).

- Modelo computacional del intelecto humano.


- Programas de simulación de la conducta humana.

 Una de las metas a largo plazo de la IA es el desarrollo de máquinas que puedan


hacer todas estas cosas igual, o quizá incluso mejor, que los humanos.

 Otra meta de la IA es llegar a comprender este tipo de comportamiento, sea en las


máquinas, en los humanos o en otros animales.

La IA ha estado siempre rodeada de controversia. La cuestión básica de la IA ¿Pueden


pensar las máquinas? ha interesado tanto a filósofos como a científicos e ingenieros.

Algunas personas creen que las máquinas pensantes tendrían que ser tan complejas, y
disponer de una experiencia tan compleja (por ejemplo, interaccionando con el entorno
o con otras máquinas pensantes), que nunca seremos capaces de diseñarías o construirlas.

Dra. Diana Cecilia Muñoz Casanova 2


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

Otros puntos de vista sobre el tipo de máquinas que podrían ser capaces de desarrollar
habilidades pensantes como las de los humanos. Algunas de las hipótesis:
 El cerebro procesa la información en paralelo, mientras que los ordenadores
convencionales lo hacen secuencialmente. Por tanto, tenemos que construir nuevas
variedades de ordenadores paralelos para realizar progresos en la IA.

 La maquinaria computacional convencional está basada en la lógica binaria


(verdadera y falsa). Por tanto, los sistemas realmente inteligentes tendrán que usar
algún tipo de lógica borrosa.

 Las neuronas animales son mucho más complejas que simples conmutadores (los
bloques constructivos básicos de los ordenadores actuales). Por tanto,
necesitaremos neuronas artificiales verdaderamente realistas para construir
máquinas inteligentes.

Finalmente, llegamos a la palabra más difícil: “pensar”. En lugar de intentar definir esta
palabra, Turing propuso un test, el llamado Test de Turing, mediante el cual pudiera
decidirse si una máquina particular es o no inteligente.
Esta versión simplificada del Test de Turing no se considera usualmente como un test de
inteligencia muy útil, debido a que es posible, incluso para programas muy simples,
engañar al interrogador humano durante un buen rato
Por ejemplo los programas:
 ELIZA de Joseph Weizenbaum (1965)
 JULIA de Mauldin (1994).

1.2 DEFINICIÓN DE LA IA EN 4 DIMENSIONES

Entre ellas tenemos las siguientes:


 Sistemas que actúan como humanos.
 Sistemas que piensan como humanos.
 Sistemas que piensan racionalmente.
 Sistemas que actúan racionalmente.

Dra. Diana Cecilia Muñoz Casanova 3


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

Tabla Nº 1: IA en 4 dimensiones
SISTEMAS QUE PIENSAN COMO SISTEMAS QUE PIENSAN
HUMANOS RACIONALMENTE
“El nuevo y excitante esfuerzo de hacer El estudio de las facultades mentales
que los ordenadores piensen… máquinas mediante el uso de modelos
con mentes, en el más amplio sentido computacionales”.
literal”. (Charniak y McDermott, 1985).
(Haugeland, 1985).

"La automatización de actividades que "El estudio de los cálculos que hacen
vinculamos con procesos de pensamiento posible percibir, razonar y actuar”.
humano, actividades como la toma de (Winston, 1992)
decisiones, resolución de problemas,
aprendizaje …"
(Bellman, 1978)

SISTEMAS QUE ACTÚAN COMO SISTEMAS QUE ACTÚAN


HUMANOS RACIONALMENTE
“El arte de desarrollar máquinas con "La Inteligencia Computacional es el
capacidad para realizar funciones que estudio del diseño de agentes
cuando son realizadas por personas inteligentes”.
requieren de inteligencia”.
(Kurzweil, 1990). (Poole et al., 1998).

"El estudio de cómo lograr que los "IA… está relacionada con conductas
ordenadores realicen tareas, que por el inteligentes en artefactos”.
momento, los humanos hacen mejor”.
(Rich y Knight, 1991). (Nilsson, 1998).

1.2.1. Sistemas que actúan como humanos.

 El modelo es el hombre, el objetivo es construir un sistema que pase por


humano.

Dra. Diana Cecilia Muñoz Casanova 4


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

 Test de Turing: Si un sistema lo pasa es inteligente.


 Necesitamos máquinas con:
 Procesamiento de lenguaje natural.
 Representación del conocimiento.
 Razonamiento automático.
 Aprendizaje automático.

1.2.2. Sistemas que piensan como humanos.

 Su enfoque es el modelo Cognoscitivo.


 Es necesario disponer de mecanismos que permitan determinar cómo
piensan los humanos.
 Hay 2 Técnicas.
 Introspección: Intentar atrapar nuestros pensamientos conforme van
apareciendo.
 Experimentos psicológicos.
 Se intenta elaborar teorías precisas y verificables del funcionamiento de la
mente humana.

1.2.3. Sistemas que piensan racionalmente.

 El enfoque de las leyes del pensamiento racional se fundamenta en la


lógica (silogismos de Aristóteles).
 La lógica formal está en la base de los programas inteligentes (logicismo).
 Hay 2 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.

1.2.4. Sistemas que actúan racionalmente.

 El enfoque del agente racional.

Dra. Diana Cecilia Muñoz Casanova 5


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

 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.
 Un agente percibe y actúa, siempre teniendo en cuenta el entorno en el que
está situado.
 Las capacidades necesarias:
 Percepción.
 Procesamiento del lenguaje natural.
 Representación del conocimiento.
 Razonamiento.
 Aprendizaje automático.

1.3 OBJETIVOS

Desde el punto de vista de los objetivos, la IA puede considerarse en parte como


ingeniería y en parte como ciencia.

 Como ingeniería, el objetivo de la IA es resolver problemas reales, actuando como


un conjunto de ideas acerca de cómo representar y utilizar el conocimiento, y de
cómo desarrollar sistemas informáticos.
 Como ciencia, el objetivo de la IA es buscar la explicación de diversas clases de
inteligencia, a través de la representación del conocimiento y de la aplicación que se
da a éste en los sistemas informáticos desarrollados.

1.4 FUNDAMENTOS.

La IA ha tenido como fundamento las bases de varias disciplinas, entre las cuales
mencionaremos las siguientes:
 Filosofía: Sócrates, Platón, Aristóteles, Leibniz (abuelo de la IA), desde el año 428
a.c hasta el presente.
 Lógica: Searle.
 Matemática: (Frege, Tarski) desde el año 800 a.c, proveyeron las herramientas para
manipular las aseveraciones de certeza lógica así como las inciertas de tipo

Dra. Diana Cecilia Muñoz Casanova 6


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

probabilista. Así mismo prepararon el terreno para el manejo del razonamiento con
algoritmos de probabilidad, álgebra booleana.
 Psicología: (Piaget – Craik), conductismo, psicología cognitiva dándose desde el
año 1869 hasta la actualidad.
 Ciencias de la Computación: Comenzó muy poco antes. Las teorías encuentran un
medio para su implementación (artefactos y modelado cognitivo).
 Lingüística: Se desarrolló en paralelo con la IA y sirve de base para la
representación del conocimiento (Chomsky), año 1957 hasta el presente.
 Neurociencia ¿Cómo procesa la información el cerebro?

1.5 HISTORIA.

En 1950 con el trabajo de Alan Turing, el matemático británico que diseñó el primer
computador electrónico digital y funcional del mundo en los años 1940.
Cuando era estudiante de posgrado en Princeton en 1936, Turing publicó On
Computable Numbers, un artículo que estableció las bases teóricas para todas las
ciencias de computación. Ahí describió lo que denominó Máquina de Turing, un
dispositivo teórico que podía leer instrucciones de una cinta de papel perforada y
ejecutar todas las operaciones críticas de un computador. El artículo fijó los límites de
las ciencias de la computación porque demostró que no es posible resolver problemas
con ningún tipo de computador.
Después de doctorarse en 1938, Turing tuvo la oportunidad de poner en práctica la teoría
cuando, al prever una invasión por parte de las fuerzas de Adolf Hitler, el gobierno
británico reunió un equipo de matemáticos e ingenieros con la misión súper secreta de
descifrar el código militar alemán. Turing con un grupo construyó COLOSSUS, una
máquina de propósito específico considerado como el primer computador digital
electrónico.
Desde que se completó el Colossus en 1943 hasta que terminó la Segunda Guerra
Mundial, descifró con éxito los códigos nazis. Muchos expertos creen que Colussus fue
responsable de la derrota de los nazis.
Turing inauguró el campo de la inteligencia artificial con su artículo publicado en 1950,
Computing Machinery and Intelligence, en el que propuso una prueba concreta para
determinar si una máquina era inteligente o no. Años después Turing se convirtió en el

Dra. Diana Cecilia Muñoz Casanova 7


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

adalid que quienes defendían la posibilidad de emular le pensamiento humano a través


de la computación y fue coautor del primer programa para jugar ajedrez.
En su histórico artículo de 1950, Turing propuso que la pregunta “¿puede pensar una
máquina?” era demasiado filosófica para tener valor y, para hacerlo más concreto,
propuso “un juego de imitación”. En la prueba de Turing intervienen dos personas y una
computadora. Una persona, el interrogador, se sienta en una sala y teclea preguntas en la
terminal de una computadora. Cuando aparecen las respuestas en la terminal, el
interrogador intenta determinar si fueron hechas por otra persona o por una computadora.
Si actúa de manera inteligente, según Turing es inteligente. Turing, señaló que una
máquina podría fracasar y aún ser inteligente. Aun así creía que las máquinas podrían
superar la prueba a fin del siglo.

Figura Nº 1: Test de Turing

En 1951 William Shockley inventa el transistor de unión. El invento hizo posible una
nueva generación de computadoras mucho más rápidas y pequeñas.
En 1956 se acuñó el término "inteligencia artificial" en Dartmouth durante una
conferencia convocada por McCarthy, a la cual asistieron, entre otros, Minsky, Newell y
Simon. En esta conferencia se hicieron previsiones triunfalistas a diez años que jamás se
cumplieron, lo que provocó el abandono casi total de las investigaciones durante quince
años.
En 1980 la historia se repitió con el desafío japonés de la quinta generación, que dio
lugar al auge de los sistemas expertos pero que no alcanzó muchos de sus objetivos, por
lo que este campo sufrió una nueva interrupción en los años noventa.

Dra. Diana Cecilia Muñoz Casanova 8


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

En 1987 Martín Fiscales y Oscar Firschein describieron los atributos de un agente


inteligente. Al intentar describir con un mayor ámbito (no sólo la comunicación) los
atributos de un agente inteligente, la IA se ha expandido a muchas áreas que han creado
ramas de investigaciones enormes y diferenciadas.
Podemos entonces decir que la IA incluye características humanas tales como el
aprendizaje, la adaptación, el razonamiento, la autocorrección, el mejoramiento implícito,
y la percepción modular del mundo. Así, podemos hablar ya no sólo de un objetivo, sino
de muchos, dependiendo del punto de vista o utilidad que pueda encontrarse a la IA.
Muchos de los investigadores sobre IA sostienen que "la inteligencia es un programa
capaz de ser ejecutado independientemente de la máquina que lo ejecute, computador o
cerebro".

1.6 TÉCNICAS DE LA IA.

Entre ellas las siguientes:

1.6.1. Sistemas Expertos.


1.6.1.1. Concepto:
Consiste de equipos y software que almacenan conocimientos y hacen
inferencias, en forma similar a un experto humano. A finales de los
cincuenta y principios de los sesenta, los ingenieros en computación
trataron de construir computadoras capaces de realizar tareas
inteligentes. Los esfuerzos se encaminaron a crear un solucionador de
problemas generales, una máquina capaz de imitar el proceso de
razonamiento humano para resolver cualquier problema que un ser
humano pudiera solucionar.
Los esfuerzos se orientaron al diseño de programas que resolvieran
problemas en áreas precisas utilizando conocimiento y razonamiento de
expertos.

1.6.1.2. El propósito de los SE


Es duplicar el conocimiento no estructurado ni documentado de unos
pocos (los expertos) y los pone a disposición de otros. Debido a la

Dra. Diana Cecilia Muñoz Casanova 9


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

forma en que están planteados los SE (basados en la experiencia) no


puede ayudar a los usuarios que tratan con sucesos que los expertos no
consideraron durante el periodo de creación. Sin embargo muchos
programas avanzados que incluyen “redes neuronales” aprenden de
situaciones nuevas y formulan reglas adhoc en sus bases de
conocimiento para resolver eventualidades no consideradas
originalmente en su diseño.
Para construir un SE un ingeniero del conocimiento se entrevista con un
experto, traduce la información en código. Por lo general con la regla
SI-Entonces.
Otros métodos son marcos semánticos integrados por cuadros con listas
de entidades y atributos; y las redes semánticas, mapas de entidades y
sus atributos relacionados.

1.6.1.3. Características de un SE
 Pueden explicar su razonamiento o decisiones sugeridas: La
capacidad de explicar cómo se llegó a una decisión o solución.
 Puede mostrar un comportamiento “inteligente”: Al examinar
un grupo de datos, un SE puede proponer nuevas ideas o métodos
para la solución del problema, o proporcionar asesoramiento en el
trabajo para los trabajadores.
 Puede obtener conclusiones de relaciones complejas: Evaluar
relaciones complejas para llegar a conclusiones y solucionar
problemas, por ejemplo: un SE propuesto trabajará con un sistema
de fabricación flexible para determinar la mejor utilización de las
herramientas, y otro sugerirá los mejores procedimientos de
control de calidad.
 Puede proporcionar conocimientos acumulados: Se puede usar
para capturar conocimientos de humanos que de lo contrario
podrían perderse. Ejemplo es el SE denominado DELTA (Diesel
Electronic Locomotive Troble-shooting Aid), desarrollado para
conservar el conocimiento de David Smith, único ingeniero
competente para manejar muchas reparaciones extremadamente

Dra. Diana Cecilia Muñoz Casanova 10


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

técnicas de esas máquinas, cuando llegó el momento de su


jubilación.
 Puede hacer frente a la incertidumbre: Una de las
características más importantes de un SE es su capacidad para
enfrentar conocimientos incompletos o inexactos en su totalidad.
Mediante el uso de las probabilidades, las estadísticas y las
heurísticas.

1.6.1.4. Características que limitan su Utilidad


 No se han usada o probado en forma extensa: Los SE no se
emplean en un gran número de organizaciones.
 Dificultad de uso: Algunos sistemas expertos son difíciles de
controlar y usar. En algunos casos se requiere del uso de personal
de computación, o del personas capacitadas en el uso de SE, para
ayudar al usuario a obtener todo lo más posible de estos sistemas.
 Están limitados a problemas relativamente limitados: Algunos
sistemas expertos pueden realizar análisis de datos complejos,
otros están limitados a problemas sencillos.
 No pueden enfrentar con facilidad conocimientos “mixtos”: Un
SE en una aplicación quizá no pueda hacer frente a conocimientos
que combinen tanto reglas como casos.
 Posibilidad de error: Algunos sistemas expertos tienen
capacidades limitadas para aprender de la experiencia, la fuente
principal de conocimientos es un experto humano. Si este
conocimiento es incorrecto o incompleto, afectará al sistema en
forma negativa.
 Dificultad de mantenimiento: Los SE pueden ser difíciles de
actualizar. Algunos no responden o no se adaptan a condiciones
cambiantes.
 Pueden tener costo altos de desarrollo: Cuando se usan los
lenguajes y métodos de programación tradicionales. Se puede
lograr una reducción considerable en los costos de desarrollo si se
emplea software para el desarrollo de SE.

Dra. Diana Cecilia Muñoz Casanova 11


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

 Ocasionan preocupaciones legales y éticas: Las personas que


toman decisiones y llevan a cabo acciones son responsables, desde
el punto de vista legal y ético, por su comportamiento. Por ejemplo,
una persona puede ser procesado y condenada por un delito.
Cuando los SE se usan para tomar decisiones o ayudan a tomarlas,
¿quién es el responsable de esta decisión?

1.6.1.5. Capacidades de los SE


En comparación con otros tipos de sistemas de información, los SE
ofrecen varias capacidades poderosas y beneficios. Por ejemplo, con
frecuencia se usa un SE denominado XCON para diseñar
configuraciones de sistemas computación, pues realiza, en forma
consistente, un mejor trabajo que los seres humanos.
Los SE se pueden usar para solucionar problemas en todos los campos y
disciplinas y ayudar en la totalidad de las etapas del proceso de solución
de los problemas.

 Fijación de objetivos estratégicos: Un SE puede ayudar a los


administradores de alto nivel de la compañía a determinar los
costos y beneficios que existen en producir vinos de mayor calidad
y cambiar su imagen en el mercado.
 Planeación: Un SE puede ayudar a este proceso mediante la
sugerencia de factores que se deben considerar al tomar la decisión
final, sobre la base de datos proporcionados por la administración.
 Diseño: Estos SE usan principios generales de diseño,
comprensión de los procedimientos de fabricación y un grupo de
reglas de diseño.
 Toma de decisiones: Pueden sugerir posibles alternativas, formas
de contemplar los problemas y métodos lógicos al proceso de toma
de decisiones. Además, los SE pueden mejorar el proceso de
aprendizaje para aquellos que no tienen tanta experiencia en tomar
decisiones.

Dra. Diana Cecilia Muñoz Casanova 12


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

 Control y supervisión de calidad: Los SE computarizados


pueden ayudar a supervisar varios sistemas y proponer soluciones
a problemas que se presenten en ellos. Los SE también se pueden
usar para supervisar la calidad de los productos. Cuando las
máquinas funcionan en forma deficiente, el SE puede ayudar a
determinar las causas posibles.
 Diagnóstico: Puede proporcionar al médico la probable causa de
enfermedad y proponer tratamientos u operaciones. En los
negocios también diagnóstica posibles problemas y soluciones.

1.6.1.6. Cuando usar los SE


El desarrollo se SE complejos puede ser difícil, costoso y requerir de
tiempo, por lo tanto, es importante asegurarse de que los posibles
beneficios valen el esfuerzo y que las diversas características del SE se
equilibren, en términos de costo, control y complejidad.
 Proporciona un alto potencial de rendimiento o reduce el riesgo
 Puede capturar y conservar conocimientos humanos
irremplazables
 Puede desarrollar un sistema más consistente que los expertos
humanos
 Puede proporcionar los conocimientos necesarios en varias
ubicaciones al mismo tiempo o en un ambiente hostil peligroso
para la salud humana.
 Puede proporcionar conocimientos costosos y poco comunes.
 Puede proporcionar los conocimientos necesarios para la
capacitación y el desarrollo con el propósito de compartir los
conocimientos y la experiencia de expertos humanos con un gran
número de personas.

1.6.1.7. Componentes de los SE


 La Base de Conocimientos: Almacena toda la información, datos,
reglas, casos y relaciones importantes que utiliza el SE. Para cada
aplicación única se tiene que desarrollar una base conocimientos.

Dra. Diana Cecilia Muñoz Casanova 13


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

Por ejemplo, un SE médico contendrá hechos sobre enfermedades


y síntomas. La base de conocimientos puede incluir conocimientos
genéricos provenientes de teorías generales que se han establecido
con el tiempo y conocimientos específicos que provienen de
experiencias más recientes y de reglas prácticas.
 Propósito de una base de conocimientos: Contener los
hechos y la información pertinentes para el SE específico.
Una base de conocimientos es similar a la suma total de los
conocimientos y experiencias de los expertos humanos que
se obtienen a través de años de trabajo en un área o
disciplina específica.
 Reunión de expertos humanos: Una base que contiene
información proporcionada por diversos expertos puede ser
extremadamente eficiente y exacta desde el punto de vista
de sus sugerencias y pronósticos.
 Utilización de la lógica difusa: Otro reto para los
diseñadores y desarrolladores de SE es capturar
conocimientos y relaciones que no son precisos o exactos.
 El uso de reglas: Una regla es una instrucción condicionada
que enlaza determinadas condiciones con acciones o
resultados. La regla se crea por medio de construcciones de
si-entonces.
 El uso de casos: Un SE puede usar casos al desarrollar la
solución a un problema o situación actual. El proceso
incluye:
1) Encontrar casos almacenados en la base de
conocimientos, que sean similares al problema.
2) Modificar las soluciones a los casos para adaptarlas, o
acomodarlas, al problema o la situación actual.

 El Motor de Inferencias: El propósito general de un motor de


inferencias es buscar información y relaciones en la base de
conocimientos, y proporcionar respuestas, pronósticos y

Dra. Diana Cecilia Muñoz Casanova 14


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

sugerencias en la misma forma en que lo haría un experto humano.


En otras palabras, el motor de inferencias es el que proporciona el
consejo experto.
 Encadenamiento inverso: Es el proceso de comenzar con
conclusiones y trabajar hacia atrás hasta los hechos de
soporte. Si los hechos no apoyan la conclusión, se elige y
prueba otra.
 Encadenamiento hacia delante: Se inicia con los hechos y
trabajo hacia delante hasta las conclusiones.
 Comparación del encadenamiento inverso y el
encadenamiento hacia delante: El encadenamiento hacia
delante puede llegar a conclusiones y producir más
información con menos consultas para el usuario que el
encadenamiento inverso, pero este método requiere más
procesamiento y un mayor grado de sofisticación.

 Los Recursos de Explicaciones: Una parte importante del SE son


los recursos de explicaciones que le permiten al usuario, o al
responsable de tomar las decisiones comprender en que forma
llegó el SE a ciertas conclusiones o resultados.

 Los Recursos de Adquisición de Conocimientos: una tarea difícil


en el desarrollo de un sistema experto es el proceso de crear y
actualizar la base de conocimientos. En la actualidad, existe
software especializado que le permite a los usuarios y a quienes
toman las decisiones crear y modificar sus propias bases de
conocimientos.

 La Interfaz del Usuario: Sirve para diseñar, crear, actualizar y


usar los SE. El propósito general de la interfaz del usuario es
facilitar a los usuarios y a los tomadores de las decisiones el
desarrollo y el uso de un SE.

Dra. Diana Cecilia Muñoz Casanova 15


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

1.6.1.8. Desarrollo de los SE


Los SE requieren de un método de desarrollo sistemático para obtener
los mejores resultados.
 Proceso De Desarrollo: La especificación de los requisitos para
un SE se inicia con la identificación de los objetivos del sistema y
su uso potencial. Identificar a los expertos puede ser difícil. En
algunos casos, una compañía contará con expertos humanos; en
otros, se requerirá expertos ajenos a la organización. Para el
desarrollo de los elementos del SE son necesarias habilidades
especiales. La puesta en operación del SE incluye ponerlo en
acción y asegurarse de que funciona como se desea.

1.6.1.9. Participantes en el Desarrollo y Utilización de los SE


 El experto en dominio: Debido al tiempo y el esfuerzo que se
requieren para la tarea, se desarrolla un SE para atender un área de
conocimiento. A dicha área se le conoce como dominio. El experto
en dominio es la persona o grupo que tiene la experiencia o el
conocimiento al cual se intenta capturar en el SE. Por lo general
con la siguiente capacidad:
 Reconocer el problema real
 Desarrollar una estructura general para la solución de
problemas
 Formular teorías sobre la situación
 Desarrollar y usar reglas generales para solucionar un
problema
 Identificar cuándo deben quebrantarse las reglas
 Solucionar problemas con rapidez y eficiencia
 Aprender de experiencias anteriores
 Identificar lo que es importante y lo que no lo es para
solucionar un problema
 Explicar a otros la situación y las soluciones de problemas.

Dra. Diana Cecilia Muñoz Casanova 16


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

 El ingeniero del conocimiento y el usuario del conocimiento: El


primero es la persona que tiene el entrenamiento y la experiencia
en el diseño, desarrollo, puesta en operación y mantenimiento de
un SE, incluyendo entrenamiento y experiencia con shells de SE.
El segundo es quien usa el SE y se beneficia de él.

1.6.1.10. Herramientas y técnica para el desarrollo de sistemas expertos


En teoría, los sistemas expertos se deben desarrollar a partir de algún
lenguaje de programación. Desde la introducción de los sistemas de
computación, los lenguajes de fáciles de usar, más potentes y cada vez
más capaces de manejar. En los inicios del desarrollo de SE se usaban
los lenguajes Pascal, FORTRAN Y COBOL. LISP fue uno de los
primeros lenguajes especiales desarrollados y empleados para
aplicaciones de inteligencia artificial. PROLOG es otro. Sin embargo,
actualmente existen otros productos de SE (como los shells) que evitan
el trabajo de programar.
Shells y productos para SE: Un shell (interprete) de SE es un grupo de
paquetes y herramientas de software utilizados para diseñar, desarrollar,
poner en operación y mantener SE con una programación mínima.
Existen shells de SE tanto para computadoras personales como para
sistemas de macrocomputadoras. Algunos son baratos con costo inferior
a los 500 dólares. El usuario introduce los datos o parámetros
apropiados y el SE proporciona el resultado para el problema o
situación. Algunos de los shells más populares son Exsys de
MultilLogic, Inc. Level 5, de Rule Machines Corporación y XpertRule,
de Attar Software.

1.6.1.11. Ventajas de los shells y los productos de SE


 Fáciles de desarrollar y modificar: Conforme se dispone de
nuevos hechos y reglas y se hace necesario modificar los ya
existentes, es deseable hacer cambios a la base de conocimientos.
Los sistemas desarrollados por medio de PROLOG y LIPS son

Dra. Diana Cecilia Muñoz Casanova 17


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

más difíciles de modificar y más costosos que los SE desarrollados


con shells.
 El uso de la satisfacción: El método tradicional de solución de
problemas intenta encontrar la solución óptima, o la mejor; los
lenguajes avanzados y simbólicos pueden hacer frente a problemas
más complejos y producir decisiones muy buenas, aunque no
siempre óptimas.
 El uso de la heurística: Es necesario que los SE puedan manejar
relaciones imprecisas. La heurística puede hacerlo y a menudo
producirá una buena solución que deje satisfecho al tomador de las
decisiones.
 Desarrollo por los ingenieros y usuarios del conocimiento: Con
los shells de SE, los ingenieros y usuarios del conocimiento
pueden completar el proceso de desarrollo. Es frecuente que al
desarrollar SE con lenguajes de programación tradicionales se
requieran análisis de sistemas y programación de computación,
que son costosos y que por lo común requieren de más tiempo.

1.6.1.12. Alternativas de desarrollo de SE


Los SE se pueden desarrollar desde cero por medio de un shell de SE o
mediante un paquete de software de SE ya existente. El método
seleccionado depende de los beneficios del sistema comparados con el
costo, el control y la complejidad de cada alternativa. Es más fácil y
menos costoso desarrollar un SE utilizando un paqueta ya existente o un
shell de SE. Sin embargo, si la organización no cuenta ya con este tipo
de software, habrá un costo adicional para desarrollar un paquete
existente o adquirir un shell de SE
 Desarrollo en la propia empresa (desde cero): Es el método más
costoso, pero la organización tiene más control sobre las
características y los elementos del SE.
 Desarrollo en la propia empresa (desde un shell): Puede ser
menos complejo y más fácil de mantener que desarrollarlo desde

Dra. Diana Cecilia Muñoz Casanova 18


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

cero. Sin embargo, quizá sea necesario modificar el SE resultante


para que sea idóneo para aplicaciones específicas.
 Compra paquetes ya existentes (uso de paquetes existentes):
Método menos costoso y más rápido. Aquel cuyo desarrollo corrió
a cargo de una compañía de software o de asesoría para un campo
o área específicos, tales como el diseño de un nuevo
microprocesador para computación o un sistema para pronosticar y
predecir el clima. Estos sistemas pueden ser más fáciles de
mantener y actualizar al transcurso del tiempo, pero no pueden
satisfacer las necesidades especiales de la organización.

1.6.1.13. Aplicaciones de los SE y de la IA


 Otorgar crédito: Para revisar la solicitud de crédito de una
persona y el historial crediticio que mantiene con las agencias
dedicadas a este rubro, para tomar la decisión de otorgar el crédito.

 Administración y recuperación de información: Los SE pueden


ayudar a este proceso mediante el uso de agentes. Los agentes de
SE ayudan a los gerentes a encontrar los datos y la información
correctos, al mismo tiempo que eliminan hechos sin importancia
que puedan obstaculizar la toma de decisiones oportunas.

 IA y SE incorporados a los productos: El sistema de frenos


antibloqueo de los automóviles modernos es un ejemplo de un SE
rudimentario. Los investigadores de IA también están encontrando
formas para usar las redes neuronales y la robótica en dispositivos
de uso diario, tales como tostadoras de pan, relojes despertadores y
aparatos de TV.

 Disposición de plantas: FLEXPERT es un SE que usa la lógica


difusa para realizar el trazado de plantas. El software ayuda a las
compañías a determinar la mejor ubicación para los equipos y las
instalaciones de fabricación.

Dra. Diana Cecilia Muñoz Casanova 19


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

 Instalaciones de hospitales y médicas: Algunos hospitales usan


SE para determinar la posibilidad de que un paciente contraiga
cáncer u otras enfermedades. MYCIN es un SE creado en la
Universidad Stanfor para analizar infecciones en la sangre.

 Departamento de ayuda y asistencia: Los departamentos de


servicios de ayuda al cliente usan SE para proporcionar asistencia
oportuna y exacta. Kaiser Permanente, un HMO (Health
Mantenance Organization) de gran tamaño, usa un SE y repuesta
verbal para automatizar la función del su departamento de ayuda.

 Evaluación del desempeño de empleados: Un SE de Austin-


Hayne, llamado Employee Appreiser, les proporciona asesora
experta a los gerentes para que la utilicen en las revisiones del
desempeño de los empleados y el desarrollo de carreras.

 Análisis de préstamos: KPMG Peat Marwick usa un SE llamado


Loan Probe para revisar las reservas para pérdidas en préstamos,
con el propósito de determinar si se han reservado fondos
suficientes para cubrir riesgos de que algunos préstamos se
vuelvan incobrables.
 Detección de virus: IBM utiliza la tecnología de red neuronal para
ayudar a crear software más avanzado en la erradicación de los
virus de computación, un problema importante para las empresas
estadounidenses.

 Reparación y mantenimiento: AT&T usa el SE ACE para


analizar el mantenimiento de las redes telefónicas. Nynex (New
York and New England Telephone Exchange) tiene sistemas
expertos para ayudar a sus trabajadores a localizar y resolver
problemas telefónicos con referencia a sus clientes.

Dra. Diana Cecilia Muñoz Casanova 20


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

 Embarques: Lufthansa, una aerolínea alemana, usa un SE,


CARGEX-Cargo, para ayudar a determinar las mejores rutas de
embarque.

 Mercadotecnia: CoverStory es un SE que trae información de una


base de datos y elabora, en forma automática, informes de
mercadotecnia.

 Optimización de almacenes: Unite Distillers emplea un SE para


determinar las mejores combinaciones de existencias, para
producir su mezcla de whisky escocés.

 Integración de SE: Un SE se puede integrar con otros sistemas en


una organización mediante una base de datos común. Un SE que
identifique a los clientes que demoran sus pagos y que no deben
recibir crédito adicional puede tomar los datos de la misma base de
datos que un MIS de facturación que elabora informes semanales
de las cuentas vencidas. La misma base de datos podría usarse para
un sistema de apoyo a las decisiones que realice análisis de “que
sucedería sí”, para determinar la repercusión de los pagos
demorados sobre los flujos ejecutivo, ingresos y niveles generales
de utilidad.

1.6.1.14. Limitaciones de los SE


 Los SE sólo manejan áreas precisas del conocimiento:
Funcionan bien si el dominio al que se enfocan está bien definido.
Por ejemplo, es difícil que se encuentre un SE médico general.
 Los SE no tienen sentido común: El sistema sólo resolverá
aquellos problemas para los que está específicamente programado.
 Los SE Tienen una capacidad limitada de aprendizaje: Los
ingenieros del conocimiento deben dirigir los sistemas y
proporcionar retroalimentación continua para que aprenda.

Dra. Diana Cecilia Muñoz Casanova 21


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

1.6.2. Lógica Difusa.


1.6.2.1. Historia
Esta simple idea nació en un artículo de Lofti A. Zadeh publicado en
1965 y titulado "Fuzzy Sets" (Conjuntos Difusos). La lógica difusa
permite representar de forma matemática conceptos o conjuntos
imprecisos, tales como días fríos, meses calurosos, personas altas,
salarios bajos, guisos con mucho condimento, profesores poco
valorados, etc.
Pero hay que tener en cuenta que la idea en sí de que las cosas no son
blancas o negras, sino que existen infinitos matices de grises viene ya
desde la época de los primeros grandes filósofos como Platón.
Posteriormente a ellos, otros grandes pensadores como David Hume o
Kant apoyaban esta idea manteniendo que el razonamiento venía dado
por las observaciones de las que somos testigos a lo largo de nuestra
vida y la detección de algunos principios contradictorios en la lógica
clásica.
Tras la publicación de Lotfi A. Zadeh, se comenzó rápidamente a usar
la lógica difusa en distintas aplicaciones prácticas, llegando a su
máximo auge a principios de los años 90, y continuando éste hasta la
época actual.

1.6.2.2. Concepto:
La lógica difusa se funda en el concepto de que todo es cuestión de
grado, lo cual permite manejar información vaga o de difícil
especificación, importante para la resolución de un problema, por
medio de una serie de reglas de "sentido común" aprendidas con
sistemas adaptativos que se nutren de la observación de las personas o
de la formulación por parte del experto humano.
En la actualidad hay un número creciente de aplicaciones entre las
cuales podemos mencionar:
 La construcción de artefactos electrónicos de uso doméstico y de
entretenimiento.
 El diseño de dispositivos artificiales de deducción automática.

Dra. Diana Cecilia Muñoz Casanova 22


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

 El diseño de sistemas de diagnóstico y de control de complejos


procesos industriales, etc.

1.6.2.3. Funcionamiento
La lógica difusa se adapta mejor al mundo real en el que vivimos, e
incluso puede comprender y funcionar con nuestras expresiones, del
tipo "hace mucho calor", "no es muy alto", "el ritmo del corazón está un
poco acelerado", etc.
La clave de esta adaptación al lenguaje, se basa en comprender los
cuantificadores de nuestro lenguaje (en los ejemplos de arriba
"mucho", "muy" y "un poco").
En la teoría de conjuntos difusos se definen también las operaciones de
unión, intersección, diferencia, negación o complemento, y otras
operaciones sobre conjuntos (ver también subconjunto difuso), en los
que se basa esta lógica.
Para cada conjunto difuso, existe asociada una función de pertenencia
para sus elementos, que indican en qué medida el elemento forma parte
de ese conjunto difuso. Las formas de las funciones de pertenencia más
típicas son trapezoidales, lineales y curvas.
Se basa en reglas heurísticas de la forma SI (antecedente)
ENTONCES (consecuente), donde el antecedente y el consecuente son
también conjuntos difusos, ya sea puros o resultado de operar con ellos.
Sirvan como ejemplos de regla heurística para esta lógica (nótese la
importancia de las palabras "muchísimo", "drásticamente", "un poco" y
"levemente" para la lógica difusa):
 SI hace muchísimo calor ENTONCES disminuyo drásticamente la
temperatura.
 SI voy a llegar un poco tarde ENTONCES aumento levemente la
velocidad.
Los métodos de inferencia para esta base de reglas deben ser simples,
veloces y eficaces. Los resultados de dichos métodos son un área final,
fruto de un conjunto de áreas solapadas entre sí (cada área es resultado
de una regla de inferencia). Para escoger una salida concreta a partir de

Dra. Diana Cecilia Muñoz Casanova 23


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

tanta premisa difusa, el método más usado es el del centroide, en el que


la salida final será el centro de gravedad del área total resultante.
Las reglas de las que dispone el motor de inferencia de un sistema
difuso pueden ser formuladas por expertos, o bien aprendidas por el
propio sistema, haciendo uso en este caso de Redes neuronales para
fortalecer las futuras tomas de decisiones.
Los datos de entrada suelen ser recogidos por sensores, que miden las
variables de entrada de un sistema. El motor de inferencias se basa en
chips difusos, que están aumentando exponencialmente su capacidad
de procesamiento de reglas año a año.
Un esquema de funcionamiento típico para un sistema difuso podría ser
de la siguiente manera:

Figura Nº 2: Funcionamiento de un sistema de control difuso

En la figura, el sistema de control hace los cálculos en base a sus reglas


heurísticas, comentadas anteriormente. La salida final actuaría sobre el
entorno físico, y los valores de las nuevas entradas sobre el entorno
físico (modificado por la salida del sistema de control) serían tomados
por sensores del sistema.
Por ejemplo, imaginando que nuestro sistema borroso fuese el
climatizador de un coche que se autorregula según las necesidades: Los
chips borrosos del climatizador recogen los datos de entrada, que en
este caso bien podrían ser la temperatura y humedad simplemente.
Estos datos se someten a las reglas del motor de inferencia (como se ha
comentado antes, de la forma SI... ENTONCES...), resultando un área
de resultados. De esa área se escogerá el centro de gravedad,

Dra. Diana Cecilia Muñoz Casanova 24


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

proporcionándola como salida. Dependiendo del resultado, el


climatizador podría aumentar la temperatura o disminuirla
dependeiendo del grado de la salida.

1.6.2.4. Ventajas e Inconvenientes


Como principal ventaja, cabe destacar los excelentes resultados que
brinda un sistema de control basado en lógica difusa: ofrece salidas de
una forma veloz y precisa, disminuyendo así las transiciones de estados
fundamentales en el entorno físico que controle. Por ejemplo, si el aire
acondicionado se encendiese al llegar a la temperatura de 30º, y la
temperatura actual oscilase entre los 29º-30º, nuestro sistema de aire
acondicionado estaría encendiéndose y apagándose continuamente, con
el gasto energético que ello conllevaría. Si estuviese regulado por lógica
difusa, esos 30º no serían ningún umbral, y el sistema de control
aprendería a mantener una temperatura estable sin continuos apagados y
encendidos.
Del mismo ejemplo puede observarse otra de las principales ventajas de
estos sistemas, que es la capacidad de adelantarse en el tiempo a los
acontecimientos, estabilizando siempre el entorno físico que controla.
Como principal incoveniente cabe destacar la dificultad de elegir una
correcta función de pertenencia para los conjuntos difusos, ya que en
ocasiones no es sencillo especificar el efecto de los cuantificadores de
nuestro lenguaje en dicha función. El hecho de que cualquier función de
pertenencia del sistema estuviese mal especificada, haría fallar, muy
probablemente, todo el sistema completo.
También está la indecisión de decantarse por los expertos o por la
tecnología (principalmente mediante Redes neuronales) para reforzar
las reglas heurísticas iniciales de cualquier sistema de control basado en
este tipo de lógica.

1.6.2.5. Aplicaciones
La lógica difusa se utiliza cuando la complejidad del proceso en
cuestión es muy alta y no existen modelos matemáticos precisos, para

Dra. Diana Cecilia Muñoz Casanova 25


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

procesos altamente no lineales y cuando se envuelven definiciones y


conocimiento no estrictamente definido (impreciso o subjetivo).
En cambio, no es una buena idea usarla cuando algún modelo
matemático ya soluciona eficientemente el problema, cuando los
problemas son lineales o cuando no tienen solución.
Esta técnica se ha empleado con bastante éxito en la industria,
principalmente en Japón, y cada vez se está usando en gran multitud de
campos. La primera vez que se usó de forma importante fue en el metro
japonés, con excelentes resultados. A continuación se citan algunos
ejemplos de su aplicación:
 Sistemas de control de acondicionadores de aire
 Sistemas de foco automático en cámaras fotográficas
 Electrodomésticos familiares (Frigoríficos, lavadoras...)
 Optimización de sistemas de control industriales
 Sistemas de reconocimiento de escritura
 Mejora en la eficiencia del uso de combustible en motores
 Sistemas expertos del conocimiento (simular el comportamiento de
un experto humano)
 Tecnología informática
 Bases de datos difusas: Almacenar y consultar información
imprecisa. Para este punto, por ejemplo, existe el lenguaje FSQL.
 Y, en general, en la gran mayoría de los sistemas de control que no
dependen de un Sí/No.

1.6.3. Redes Neuronales.


1.6.3.1. Historia de las Redes Neuronales
Conseguir diseñar y construir máquinas capaces de realizar procesos
con cierta inteligencia ha sido uno de los principales objetivos de los
científicos a lo largo de la historia. De los intentos realizados en este
sentido se han llegado a definir las líneas fundamentales para la
obtención de máquinas inteligentes: En un principio los esfuerzos
estuvieron dirigidos a la obtención de autómatas, en el sentido de
máquinas que realizaran, con más o menos éxito, alguna función típica

Dra. Diana Cecilia Muñoz Casanova 26


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

de los seres humanos. Hoy en día se continúa estudiando en ésta misma


línea, con resultados sorprendentes, existen maneras de realizar
procesos similares a los inteligentes y que podemos encuadrar dentro de
la llamada Inteligencia Artificial (IA).
A pesar de disponer de herramientas y lenguajes de programación
diseñados expresamente para el desarrollo de máquinas inteligentes,
existe un enorme problema que limita los resultados que se pueden
obtener: estas máquinas se implementan sobre computadoras basadas en
la filosofía de Von Neumann, y que se apoyan en una descripción
secuencial del proceso de tratamiento de la información. Si bien el
desarrollo de estas computadoras es espectacular, no deja de seguir la
línea antes expuesta: una máquina que es capaz de realizar tareas
mecánicas de forma increíblemente rápida, como por ejemplo cálculo,
ordenación o control, pero incapaz de obtener resultados aceptables
cuando se trata de tareas como reconocimiento de formas, voz, etc.
La otra línea de la investigación ha tratado de aplicar principios físicos
que rigen en la naturaleza para obtener máquinas que realicen trabajos
pesados en nuestro lugar. De igual manera se puede pensar respecto a la
forma y capacidad de razonamiento humano; se puede intentar obtener
máquinas con esta capacidad basadas en el mismo principio de
funcionamiento.
No se trata de construir máquinas que compitan con los seres humanos,
sino que realicen ciertas tareas de rango intelectual con que ayudarle,
principio básico de la Inteligencia Artificial.
Las primeras explicaciones teóricas sobre el cerebro y el pensamiento
ya fueron dadas ya por Platón (427-347 a.C.) y Aristóteles (348-422
a.C.). Las mismas ideas también las mantuvo Descartes (1569-1650) y
los filósofos empiristas del siglo XVIII.
La clase de las llamadas máquinas cibernéticas, a la cual la
computación neuronal pertenece, tiene más historia de la que se cree:
Herón (100 a.C) construyó un autómata hidráulico.
1936 - Alan Turing. Fue el primero en estudiar el cerebro como una
forma de ver el mundo de la computación. Sin embargo, los primeros

Dra. Diana Cecilia Muñoz Casanova 27


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

teóricos que concibieron los fundamentos de la computación neuronal


fueron Warren McCulloch, un neurofisiólogo, y Walter Pitts, un
matemático, quienes, en 1943, lanzaron una teoría acerca de la forma de
trabajar de las neuronas (Un Cálculo Lógico de la Inminente Idea de la
Actividad Nerviosa - Boletín de Matemática Biofísica 5: 115-133).
Ellos modelaron una red neuronal simple mediante circuitos eléctricos.
1949 - Donald Hebb. Escribió un importante libro: La organización
del comportamiento, en el que se establece una conexión entre
psicología y fisiología. Fue el primero en explicar los procesos del
aprendizaje (que es el elemento básico de la inteligencia humana) desde
un punto de vista psicológico, desarrollando una regla de como el
aprendizaje ocurría. Aun hoy, este es el fundamento de la mayoría de
las funciones de aprendizaje que pueden hallarse en una red neuronal.
Su idea fue que el aprendizaje ocurría cuando ciertos cambios en una
neurona eran activados. También intentó encontrar semejanzas entre el
aprendizaje y la actividad nerviosa. Los trabajos de Hebb formaron las
bases de la Teoría de las Redes Neuronales.
1950 - Karl Lashley. En sus series de ensayos, encontró que la
información no era almacenada en forma centralizada en el cerebro
sino que era distribuida encima de él.
1956 - Congreso de Dartmouth. Este Congreso frecuentemente se
menciona para indicar el nacimiento de la inteligencia artificial.
1957 - Frank Rosenblatt. Comenzó el desarrollo del Perceptrón. Esta
es la red neuronal más antigua; utilizándose hoy en día para aplicación
como reconocedor de patrones. Este modelo era capaz de generalizar, es
decir, después de haber aprendido una serie de patrones podía reconocer
otros similares, aunque no se le hubiesen presentado anteriormente. Sin
embargo, tenía una serie de limitaciones, por ejemplo, su incapacidad
para resolver el problema de la función OR-exclusiva y, en general, era
incapaz de clasificar clases no separables linealmente. En 1959, escribió
el libro Principios de Neurodinámica, en el que confirmó que, bajo
ciertas condiciones, el aprendizaje del Perceptrón convergía hacia un
estado finito (Teorema de Convergencia del Perceptrón).

Dra. Diana Cecilia Muñoz Casanova 28


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

1960 - Bernard Widrow/Marcial Hoff. Desarrollaron el modelo


Adaline (ADAptative LINear Elements). Esta fue la primera red
neuronal aplicada a un problema real (filtros adaptativos para eliminar
ecos en las líneas telefónicas) que se ha utilizado comercialmente
durante varias décadas.
1961 - Karl Steinbeck: Die Lernmatrix. Red neuronal para simples
realizaciones técnicas (memoria asociativa).
1967 - Stephen Grossberg. A partir de sus conocimientos fisiológicos,
ha escrito numerosos libros y desarrollado modelo de redes neuronales.
Realizó una red: Avalancha, que consistía en elementos discretos con
actividad que varía en el tiempo que satisface ecuaciones diferenciales
continuas, para resolver actividades como reconocimiento continúo de
habla y aprendizaje de los brazos de un robot.
1969 - Marvin Minsky/Seymour Papert. En este año surgieron
críticas que frenaron, hasta 1982, el crecimiento que estaban
experimentando las investigaciones sobre redes neuronales. Minsky y
Papera, del Instituto Tecnológico de Massachussets (MIT), publicaron
un libro Perceptrons. Probaron (matemáticamente) que el Perceptrón no
era capaz de resolver problemas relativamente fáciles, tales como el
aprendizaje de una función no-lineal. Esto demostró que el Perceptrón
era muy débil, dado que las funciones no-lineales son extensamente
empleadas en computación y en los problemas del mundo real. A pesar
del libro, algunos investigadores continuaron su trabajo. Tal fue el caso
de James Anderson, que desarrolló un modelo lineal, llamado
Asociador Lineal, que consistía en unos elementos integradores lineales
(neuronas) que sumaban sus entradas. Este modelo se basa en el
principio de que las conexiones entre neuronas son reforzadas cada vez
que son activadas. Anderson diseñó una potente extensión del
Asociador Lineal, llamada Brain State in a Box (BSB).
1974 - Paul Werbos. Desarrolló la idea básica del algoritmo de
aprendizaje de propagación hacia atrás (backpropagation); cuyo
significado quedó definitivamente aclarado en 1985.

Dra. Diana Cecilia Muñoz Casanova 29


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

1977 - Stephen Grossberg. Teoría de Resonancia Adaptada (TRA). La


Teoría de Resonancia Adaptada es una arquitectura de red que se
diferencia de todas las demás previamente inventadas. La misma simula
otras habilidades del cerebro: memoria a largo y corto plazo.
1977 - Teuvo Kohonen. Ingeniero electrónico de la Universidad de
Helsinki, desarrolló un modelo similar al de Anderson, pero
independientemente.
1980 - Kunihiko Fukushima. Desarrolló un modelo neuronal para el
reconocimiento de patrones visuales..
1985 - John Hopfield. Provocó el renacimiento de las redes neuronales
con su libro: “Computación neuronal de decisiones en problemas de
optimización.”
1986 - David Rumelhart/G. Hinton. Redescubrieron el algoritmo de
aprendizaje de propagación hacia atrás (backpropagation). A partir de
1986, el panorama fue alentador con respecto a las investigaciones y el
desarrollo de las redes neuronales. En la actualidad, son numerosos los
trabajos que se realizan y publican cada año, las aplicaciones nuevas
que surgen (sobretodo en el área de control) y las empresas que lanzan
al mercado productos nuevos, tanto hardware como software (sobre
todo para simulación).
Actualmente, son numerosos los trabajos que se realizan y se publican,
las aplicaciones nuevas que surgen y las empresas que lanzan al
mercado productos nuevos, tanto hardware como software, sobre todo
para simulación.

1.6.3.2. Definiciones de una red neuronal


Existen numerosas formas de definir a las redes neuronales; desde las
definiciones cortas y genéricas hasta las que intentan explicar más
detalladamente qué son las redes neuronales. Por ejemplo:
1) Una nueva forma de computación, inspirada en modelos
biológicos.
2) Un modelo matemático compuesto por un gran número de
elementos procesales organizados en niveles.

Dra. Diana Cecilia Muñoz Casanova 30


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

3) Un sistema de computación compuesto por un gran número de


elementos simples, elementos de procesos muy interconectados,
los cuales procesan información por medio de su estado
dinámico como respuesta a entradas externas.
4) Redes neuronales artificiales son redes interconectadas
masivamente en paralelo de elementos simples (usualmente
adaptativos) y con organización jerárquica, las cuales intentan
interactuar con los objetos del mundo real del mismo modo que
lo hace el sistema nervioso biológico.

1.6.3.3. Ventajas que ofrecen las redes neuronales


Debido a su constitución y a sus fundamentos, las redes neuronales
artificiales presentan un gran número de características semejantes a las
del cerebro. Por ejemplo, son capaces de aprender de la experiencia, de
generalizar de casos anteriores a nuevos casos, de abstraer
características esenciales a partir de entradas que representan
información irrelevante, etc. Esto hace que ofrezcan numerosas ventajas
y que este tipo de tecnología se esté aplicando en múltiples áreas. Entre
las ventajas se incluyen:
 Aprendizaje Adaptativo: La capacidad de aprendizaje adaptativo
es una de las características más atractivas de redes neuronales.
Esto es, aprenden a llevar a cabo ciertas tareas mediante un
entrenamiento con ejemplos ilustrativos. Como las redes neuronales
pueden aprender a diferenciar patrones mediante ejemplos y
entrenamientos, no es necesario elaborar modelos a priori ni
necesidad de especificar funciones de distribución de probabilidad.
Las redes neuronales son sistemas dinámicos autoadaptativos. Son
adaptables debido a la capacidad de autoajuste de los elementos
procesales (neuronas) que componen el sistema. Son dinámicos,
pues son capaces de estar constantemente cambiando para adaptarse
a las nuevas condiciones.
En el proceso de aprendizaje, los enlaces ponderados de las
neuronas se ajustan de manera que se obtengan ciertos resultados

Dra. Diana Cecilia Muñoz Casanova 31


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

específicos. Una red neuronal no necesita un algoritmo para


resolver un problema, ya que ella puede generar su propia
distribución de pesos en los enlaces mediante el aprendizaje.
También existen redes que continúan aprendiendo a lo largo de su
vida, después de completado su período de entrenamiento.
La función del diseñador es únicamente la obtención de la
arquitectura apropiada. No es problema del diseñador el cómo la
red aprenderá a discriminar. Sin embargo, sí es necesario que
desarrolle un buen algoritmo de aprendizaje que le proporcione a la
red la capacidad de discriminar, mediante un entrenamiento con
patrones.

 Auto-organización: Las redes neuronales emplean su capacidad de


aprendizaje adaptativo para auto organizar la información que
reciben durante el aprendizaje y/o la operación. Mientras que el
aprendizaje es la modificación de cada elemento procesal, la
autoorganización consiste en la modificación de la red neuronal
completa para llevar a cabo un objetivo específico.
Cuando las redes neuronales se usan para reconocer ciertas clases
de patrones, ellas auto organizan la información usada. Por
ejemplo, la red llamada backpropagation, creará su propia
representación característica, mediante la cual puede reconocer
ciertos patrones.
Esta autoorganización provoca la generalización: facultad de las
redes neuronales de responder apropiadamente cuando se les
presentan datos o situaciones a las que no había sido expuesta
anteriormente. El sistema puede generalizar la entrada para obtener
una respuesta. Esta característica es muy importante cuando se tiene
que solucionar problemas en los cuales la información de entrada
no es muy clara; además permite que el sistema dé una solución,
incluso cuando la información de entrada está especificada de
forma incompleta.

Dra. Diana Cecilia Muñoz Casanova 32


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

 Tolerancia a fallos: Las redes neuronales fueron los primeros


métodos computacionales con la capacidad inherente de tolerancia
a fallos. Comparados con los sistemas computacionales
tradicionales, los cuales pierden su funcionalidad cuando sufren un
pequeño error de memoria, en las redes neuronales, si se produce un
fallo en un número no muy grande de neuronas y aunque el
comportamiento del sistema se ve influenciado, no sufre una caída
repentina.
Hay dos aspectos distintos respecto a la tolerancia a fallos:
a) Las redes pueden aprender a reconocer patrones con ruido,
distorsionados o incompletos. Esta es una tolerancia a fallos
respecto a los datos.
b) Las redes pueden seguir realizando su función (con cierta
degradación) aunque se destruya parte de la red.
La razón por la que las redes neuronales son tolerantes a los fallos
es que tienen su información distribuida en las conexiones entre
neuronas, existiendo cierto grado de redundancia en este tipo de
almacenamiento. La mayoría de los ordenadores algorítmicos y
sistemas de recuperación de datos almacenan cada pieza de
información en un espacio único, localizado y direccionable. En
cambio, las redes neuronales almacenan información no localizada.
Por lo tanto, la mayoría de las interconexiones entre los nodos de la
red tendrán sus valores en función de los estímulos recibidos, y se
generará un patrón de salida que represente la información
almacenada.

 Operación en tiempo real: Una de las mayores prioridades, casi


en la totalidad de las áreas de aplicación, es la necesidad de realizar
procesos con datos de forma muy rápida. Las redes neuronales se
adaptan bien a esto debido a su implementación paralela. Para que
la mayoría de las redes puedan operar en un entorno de tiempo real,
la necesidad de cambio en los pesos de las conexiones o
entrenamiento es mínima.

Dra. Diana Cecilia Muñoz Casanova 33


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

 Fácil inserción dentro de la tecnología existente: Una red


individual puede ser entrenada para desarrollar una única y bien
definida tarea (tareas complejas, que hagan múltiples selecciones de
patrones, requerirán sistemas de redes interconectadas). Con las
herramientas computacionales existentes (no del tipo PC), una red
puede ser rápidamente entrenada, comprobada, verificada y
trasladada a una implementación hardware de bajo coste. Por lo
tanto, no se presentan dificultades para la inserción de redes
neuronales en aplicaciones específicas, por ejemplo de control,
dentro de los sistemas existentes. De esta manera, las redes
neuronales se pueden utilizar para mejorar sistemas en forma
incremental y cada paso puede ser evaluado antes de acometer un
desarrollo más amplio.

1.6.3.4. Redes neuronales y computadoras digitales.


Para entender el potencial de la computación neuronal, sería necesario
hacer una breve distinción entre sistemas de computaciones neuronales
y digitales: los sistemas neurológicos no aplican principios de circuitos
lógicos o digitales.
Un sistema de computación digital debe ser síncrono o asíncrono. Si
fuera asíncrono, la duración de los impulsos neuronales debería ser
variable para mantener uno de los valores binarios por periodos de
tiempo indefinido, lo cual no es el caso. Si el principio fuera síncrono,
se necesitaría un reloj global o maestro con el cual los pulsos estén
sincronizados. Éste tampoco es el caso. Las neuronas no pueden ser
circuitos de umbral lógico, porque hay miles de entradas variables en la
mayoría de las neuronas y el umbral es variable con el tiempo, siendo
afectado por la estimulación, atenuación, etc. La precisión y estabilidad
de tales circuitos no es suficiente para definir ninguna función
booleana. Los procesos colectivos que son importantes en computación
neuronal no pueden implementarse por computación digital. Por todo
ello, el cerebro debe ser un computador analógico.

Dra. Diana Cecilia Muñoz Casanova 34


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

Ni las neuronas ni las sinapsis son elementos de memoria biestable.


Todos los hechos fisiológicos hablan a favor de las acciones de las
neuronas como integradores analógicos, y la eficiencia de la sinapsis
cambia de forma gradual, lo cual no es característico de sistemas
biestables.
Los circuitos del cerebro no implementan computación recursiva y por
lo tanto no son algorítmicos. Debido a los problemas de estabilidad, los
circuitos neuronales no son suficientemente estables para definiciones
recursivas de funciones como en computación digital. Un algoritmo,
por definición, define una función recursiva.

1.6.3.5. Fundamentos de las Redes Neuronales


 El modelo Biológico
Se estima que el cerebro humano contiene más de cien mil millones
de neuronas estudios sobre la anatomía del cerebro humano
concluyen que hay más de 1000 sinápsis a la entrada y a la salida de
cada neurona. Es importante notar que aunque el tiempo de
conmutación de la neurona (unos pocos milisegundos) es casi un
millón de veces menor que en los actuales elementos de las
computadoras, ellas tienen una conectividad miles de veces
superior que las actuales supercomputadoras.
Las neuronas y las conexiones entre ellas (sinápsis) constituyen la
clave para el procesado de la información.
Algunos elementos ha destacar de su estructura histológica son:
Las dendritas, que son la vía de entrada de las señales que se
combinan en el cuerpo de la neurona. De alguna manera la neurona
elabora una señal de salida a partir de ellas.
El axón, que es el camino de salida de la señal generada por la
neurona.
Las sinapsis, que son las unidades funcionales y estructurales
elementales que median entre las interacciones de las neuronas. En
las terminaciones de las sinapsis se encuentran unas vesículas que
contienen unas sustancias químicas llamadas neurotransmisores,

Dra. Diana Cecilia Muñoz Casanova 35


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

que ayudan a la propagación de las señales electroquímicas de una


neurona a otra.

Fígura Nº 3: Red Neuronal

Lo que básicamente ocurre en una neurona biológica es lo siguiente: la


neurona es estimulada o excitada a través de sus entradas (inputs) y
cuando se alcanza un cierto umbral, la neurona se dispara o activa,
pasando una señal hacia el axón.
Posteriores investigaciones condujeron al descubrimiento de que estos
procesos son el resultado de eventos electroquímicos. Como ya se sabe,
el pensamiento tiene lugar en el cerebro, que consta de billones de
neuronas interconectadas. Así, el secreto de la “inteligencia” -sin
importar como se defina- se sitúa dentro de estas neuronas
interconectadas y de su interacción.
La forma que dos neuronas interactúan no está totalmente conocida,
dependiendo además de cada neurona. En general, una neurona envía su
salida a otras por su axón. El axón lleva la información por medio de
diferencias de potencial, u ondas de corriente, que depende del
potencial de la neurona.
Este proceso es a menudo modelado como una regla de propagación
representada por la función de red u (.). La neurona recoge las señales

Dra. Diana Cecilia Muñoz Casanova 36


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

por su sinápsis sumando todas las influencias excitadoras e inhibidoras.


Si las influencias excitadoras positivas dominan, entonces la neurona da
una señal positiva y manda este mensaje a otras neuronas por sus
sinápsis de salida. En este sentido la neurona puede ser modelada como
una simple función escalón f (.). Como se muestra en la próxima figura,
la neurona se activa si la fuerza combinada de la señal de entrada es
superior a un cierto nivel, en el caso general el valor de activación de la
neurona viene dado por una función de activación f (.).

Fígura Nº 4: Función de Activación

1.6.3.6. Otras definiciones de Redes Neuronales


Una red neuronal es un procesador masivamente paralelo distribuido
que es propenso por naturaleza a almacenar conocimiento experimental
y hacerlo disponible para su uso. Este mecanismo se parece al cerebro
en dos aspectos [SH1]:
 El conocimiento es adquirido por la red a través de un proceso
que se denomina aprendizaje.
 El conocimiento se almacena mediante la modificación de la
fuerza o peso sináptico de las distintas uniones entre neuronas.

Una red neuronal es un modelo computacional con un conjunto de


propiedades específicas, como son la habilidad de adaptarse o aprender,
generalizar u organizar la información, todo ello basado en un
procesamiento eminentemente paralelo.

Dra. Diana Cecilia Muñoz Casanova 37


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

1.6.3.7. Elementos de una Red Neuronal Artificial


Las redes neuronales son modelos que intentan reproducir el
comportamiento del cerebro. Los mismos constan de dispositivos
elementales de proceso:
 Las neuronas. A partir de ellas, se pueden generar
representaciones específicas, de tal forma que un estado
conjunto de ellas puede significar una letra, un número u otro
objeto. Generalmente se pueden encontrar tres tipos de
neuronas:
1) Aquellas que reciben estímulos externos relacionados
con el aparato sensorial, que tomarán la información de
entrada. Dicha información se transmite a ciertos
elementos internos que se ocupan de su procesamiento.
2) Es en las sinapsis y neuronas correspondientes a este
segundo nivel donde se genera cualquier tipo de
representación interna de información. Como no tienen
relación directa con la información de entrada ni con la
salida, estos elementos se denominan unidades ocultas.
3) Una vez finalizado el período de procesado, la
información llega a las unidades de salida, cuya misión
es dar la respuesta al sistema.
A continuación se puede ver en la siguiente figura.

Fígura Nº 5: Esquema de una red neuronal

Dra. Diana Cecilia Muñoz Casanova 38


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

La misma está constituida por neuronas interconectadas y arregladas en


tres capas (esto último puede variar). Los datos ingresan por medio de
la “capa de entrada”, pasan a través de la “capa oculta” y salen por la
“capa de salida”. Cabe mencionar que la capa oculta puede estar
constituida por varias capas.
En la siguiente figura se compara una neurona biológica con una
neurona artificial. En la misma se pueden observar las similitudes entre
ambas (tienen entradas, utilizan pesos y generan salidas).

Fígura Nº 6: Comparación de una neurona biologica con una


neurona artificial

La neurona artificial pretende mimetizar las características más


importantes de las neuronas biológicas. Cada neurona i-ésima está
caracterizada en cualquier instante por un valor numérico denominado
valor o estado de activación ai (t ) ; asociado a cada unidad, existe una

función de salida, f i , que transforma el estado actual de activación en


una señal de salida. Dicha señal es enviada a través de los canales de
comunicación unidireccionales a otras unidades de la red; estos canales
la señal se modifica de acuerdo con la sinápsis (el peso, w ji ) asociada a

cada uno de ellos según determinada regla. Las señales moduladas que
han llegado a la unidad j-ésima se combinan Net j   yi w ji entre ellas,
i

Net j
generando así la entrada total .

Una función de activación, F, determina el nuevo estado de activación


a j (t  1)
de la neurona, teniendo en cuenta la entrada total calculada y el
a j (t )
anterior estado de activación .

Dra. Diana Cecilia Muñoz Casanova 39


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

Fígura Nº 7: Función de Activación F

La dinámica que rige la actualización de los estados de las unidades


puede ser de dos tipos: asíncrono y modo síncrono. En el primer caso,
las neuronas evalúan su estado continuamente según les va llegando
información, y lo hacen de forma independiente, En el segundo caso, la
información llega de forma continua, pero los cambios se realizan
simultáneamente, como si existiera un reloj interno que decidiera
cuando cambiar su estado. Los sistemas biológicos quedan
probablemente entre ambas posibilidades.

1.6.3.8. Aplicaciones.
Las características de las RNA las hacen bastante apropiadas para
aplicaciones en las que no se dispone a priori de un modelo
identificable que pueda ser programado, pero se dispone de un conjunto
básico de ejemplos de entrada (previamente clasificados o no).
Asimismo, son altamente robustas tanto al ruido como a la disfunción
de elementos concretos y son fácilmente paralelizables.
Esto incluye problemas de clasificación y reconocimiento de patrones
de voz, imágenes, señales, etc. Asimismo se han utilizado para
encontrar patrones de fraude económico, hacer predicciones en el
mercado financiero, hacer predicciones de tiempo atmosférico, etc.
También se pueden utilizar cuando no existen modelos matemáticos
precisos o algoritmos con complejidad razonable; por ejemplo la red de
Kohonen ha sido aplicada con un éxito más que razonable al clásico

Dra. Diana Cecilia Muñoz Casanova 40


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

problema del viajante (un problema para el que no se conoce solución


algorítmica de complejidad polinómica).
Otro tipo especial de redes neuronales artificiales se ha aplicado en
conjunción con los algoritmos genéticos (AG) para crear controladores
para robots. La disciplina que trata la evolución de redes neuronales
mediante algoritmos genéticos se denomina Robótica Evolutiva. En este
tipo de aplicación el genoma del AG lo constituyen los parámetros de la
red (topología, algoritmo de aprendizaje, funciones de activación, etc.)
y la adecuación de la red viene dada por la adecuación del
comportamiento exhibido por el robot controlado (normalmente una
simulación de dicho comportamiento).
Ejemplos

Quake II Neuralbot
Un bot es un programa que simula a un jugador humano. El Neuralbot
es un bot para el juego Quake II que utiliza una red neuronal para
decidir su comportamiento y un algoritmo genético para el aprendizaje.
Es muy fácil probarlo y ver su evolución.
Clasificador No Sesgado de Proteínas
Es un programa que combina diversas técnicas computacionales con el
objetivo de clasificar familias de proteínas. Un posible método consiste
en utilizar métricas adaptativas como por ejemplo: mapas
autoorganizados y algoritmos genéticos.
El problema de clasificación no sesgada basada en la expresión de las
proteínas en Aminoácidos puede reducirse, conceptualmente, a lo
siguiente:
 La identificación de grupos de proteínas que compartan
características comunes.
 La determinación de las razones estructurales por las cuales las
proteínas en cuestión se agrupan de la manera indicada.
 Evitar la idea de establecer criterios de clasificación
(“sesgados”) fundamentados en ideas preconcebidas para lograr

Dra. Diana Cecilia Muñoz Casanova 41


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

su clasificación. En este sentido, hay dos asuntos que


considerar:
1) Cómo lograr la caracterización de las proteínas de
manera no sesgada
2) Cómo lograr lo anterior sin apelar a medidas de
agrupamiento que, a su vez, impliquen algún tipo de
sesgo sobre dicho agrupamiento.

Las RNA han sido aplicadas a un número en aumento de problemas en


la vida real y de considerable complejidad, donde su mayor ventaja es
en la solución de problemas que son bastante complejos para la
tecnología actual, tratándose de problemas que no tienen una solución
algorítmica cuya solución algorítmica es demasiado compleja para ser
encontrada.
En general, debido a que son parecidas al las del cerebro humano, las
RNA son bien nombradas ya que son buenas para resolver problemas
que el humano puede resolver pero las computadoras no. Estos
problemas incluyen el reconocimiento de patrones y la predicción del
tiempo. De cualquier forma, el humano tiene capacidad para el
reconocimiento de patrones, pero la capacidad de las redes neuronales
no se ve afectada por la fatiga, condiciones de trabajo, estado emocional,
y compensaciones.
Se conocen cinco aplicaciones tecnológicas aplicadas:
 Reconocimiento de textos manuscritos
 Reconocimiento del habla
 Simulación de centrales de producción de energía
 Detección de explosivos
 Identificación de blancos de radares

1.6.4. Los Algoritmos genéticos.


1.6.4.1. Antecedentes
El algoritmo genético es una técnica de búsqueda basada en la teoría de
la evolución de Darwin, que ha cobrado tremenda popularidad en todo

Dra. Diana Cecilia Muñoz Casanova 42


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

el mundo durante los últimos años. Se presentarán aquí los conceptos


básicos que se requieren para abordarla, así como unos sencillos
ejemplos que permitan a los lectores comprender cómo aplicarla al
problema de su elección.
En los últimos años, la comunidad científica internacional ha mostrado
un creciente interés en una nueva técnica de búsqueda basada en la
teoría de la evolución y que se conoce como el algoritmo genético.
Esta técnica se basa en los mecanismos de selección que utiliza la
naturaleza, de acuerdo a los cuales los individuos más aptos de una
población son los que sobreviven, al adaptarse más fácilmente a los
cambios que se producen en su entorno. Hoy en día se sabe que estos
cambios se efectúan en los genes de un individuo (unidad básica de
codificación de cada uno de los atributos de un ser vivo), y que sus
atributos más deseables (i.e., los que le permiten adaptarse mejor a su
entorno) se transmiten a sus descendientes cuando éste se reproduce
sexualmente.
Un investigador de la Universidad de Michigan llamado John Holland
era consciente de la importancia de la selección natural, y a fines de los
60s desarrolló una técnica que permitió incorporarla a un programa. Su
objetivo era lograr que las computadoras aprendieran por sí mismas. A
la técnica que inventó Holland se le llamó originalmente "planes
reproductivos", pero se hizo popular bajo el nombre "algoritmo
genético" tras la publicación de su libro en 1975.
Una definición bastante completa de un algoritmo genético es la
propuesta por John Koza:
"Es un algoritmo matemático altamente paralelo que transforma un
conjunto de objetos matemáticos individuales con respecto al tiempo
usando operaciones modeladas de acuerdo al principio Darwiniano de
reproducción y supervivencia del más apto, y tras haberse presentado de
forma natural una serie de operaciones genéticas de entre las que
destaca la recombinación sexual. Cada uno de estos objetos
matemáticos suele ser una cadena de caracteres (letras o números) de

Dra. Diana Cecilia Muñoz Casanova 43


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

longitud fija que se ajusta al modelo de las cadenas de cromosomas, y


se les asocia con una cierta función matemática que refleja su aptitud”.

1.6.4.2. Definiciones
 Los Algoritmos Genéticos (AGs) son métodos adaptativos que
pueden usarse para resolver problemas de búsqueda y optimización.
Están basados en el proceso genético de los organismos vivos. A lo
largo de las generaciones, las poblaciones evolucionan en la
naturaleza de acorde con los principios de la selección natural y la
supervivencia de los más fuertes, postulados por Darwin. Por
imitación de este proceso, los Algoritmos Genéticos son capaces de
ir creando soluciones para problemas del mundo real. La evolución
de dichas soluciones hacia valores óptimos del problema depende en
buena medida de una adecuada codificación de las mismas.
 Un algoritmo genético consiste en una función matemática o una
rutina de software que toma como entradas a los ejemplares y
retorna como salidas cuales de ellos deben generar descendencia
para la nueva generación.
 Versiones más complejas de algoritmos genéticos generan un ciclo
iterativo que directamente toma a la especie (el total de los
ejemplares) y crea una nueva generación que reemplaza a la antigua
una cantidad de veces determinada por su propio diseño. Una de sus
características principales es la de ir perfeccionando su propia
heurística en el proceso de ejecución, por lo que no requiere largos
períodos de entrenamiento especializado por parte del ser humano,
principal defecto de otros métodos para solucionar problemas, como
los Sistemas Expertos.
 Los algoritmos genéticos son el resultado de los recientes avances
de la computación evolutiva y la genética y se constituyen en una de
las principales herramientas tecnológicas de la inteligencia artificial.
Estos algoritmos simulan la mecánica de la selección natural y de la
genética utilizando la información histórica para encontrar nuevos
puntos de búsqueda de una solución óptima, permitiendo obtener

Dra. Diana Cecilia Muñoz Casanova 44


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

soluciones a un problema que por su complejidad no tiene ningún


método de solución de forma preciso. Dicha solución exige cálculos
complejos que de manera normal tomarían demasiado tiempo.

1.6.4.3. Ventajas y Desventajas


No necesitan conocimientos específicos sobre el problema que intentan
resolver.
 Operan de forma simultánea con varias soluciones, en vez de
trabajar de forma secuencial como las técnicas tradicionales.
 Cuando se usan para problemas de optimización maximizar una
función objetivo- resultan menos afectados por los máximos
locales (falsas soluciones) que las técnicas tradicionales.
 Resulta sumamente fácil ejecutarlos en las modernas
arquitecturas masivamente paralelas.
 Usan operadores probabilísticas, en vez de los típicos
operadores determinísticos de las otras técnicas.
 Pueden tardar mucho en converger, o no converger en absoluto,
dependiendo en cierta medida de los parámetros que se utilicen
tamaño de la población, número de generaciones, etc.-.
 Pueden converger prematuramente debido a una serie de
problemas de diversa índole.

1.6.4.4. Limitaciones
El poder de los Algoritmos Genéticos proviene del hecho de que se trata
de una técnica robusta, y pueden tratar con éxito una gran variedad de
problemas provenientes de diferentes áreas, incluyendo aquellos en los
que otros métodos encuentran dificultades. Si bien no se garantiza que
el Algoritmo Genético encuentre la solución óptima, del problema,
existe evidencia empírica de que se encuentran soluciones de un nivel
aceptable, en un tiempo competitivo con el resto de algoritmos de
optimización combinatoria. En el caso de que existan técnicas
especializadas para resolver un determinado problema, lo más probable
es que superen al Algoritmo Genético, tanto en rapidez como en

Dra. Diana Cecilia Muñoz Casanova 45


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

eficacia. El gran campo de aplicación de los Algoritmos Genéticos se


relaciona con aquellos problemas para los cuales no existen técnicas
especializadas. Incluso en el caso en que dichas técnicas existan, y
funcionen bien, pueden efectuarse mejoras de las mismas hibridándolas
con los Algoritmos Genéticos.

1.6.4.5. Como saber si es posible usar un Algoritmo Genético


La aplicación más común de los algoritmos genéticos ha sido la
solución de problemas de optimización, en donde han mostrado ser muy
eficientes y confiables. Sin embargo, no todos los problemas pudieran
ser apropiados para la técnica, y se recomienda en general tomar en
cuenta las siguientes características del mismo antes de intentar usarla:
 Su espacio de búsqueda (i.e., sus posibles soluciones) debe estar
delimitado dentro de un cierto rango.
 Debe poderse definir una función de aptitud que nos indique qué
tan buena o mala es una cierta respuesta.
 Las soluciones deben codificarse de una forma que resulte
relativamente fácil de implementar en la computadora.
El primer punto es muy importante, y lo más recomendable es intentar
resolver problemas que tengan espacios de búsqueda discretos aunque
éstos sean muy grandes. Sin embargo, también podrá intentarse usar la
técnica con espacios de búsqueda continuos, pero preferentemente
cuando exista un rango de soluciones relativamente pequeño.
La función de aptitud no es más que la función objetiva de nuestro
problema de optimización. El algoritmo genético únicamente maximiza,
pero la minimización puede realizarse fácilmente utilizando el recíproco
de la función maximizante (debe cuidarse, por supuesto, que el
recíproco de la función no genere una división por cero). Una
característica que debe tener esta función es que tiene ser capaz de
"castigar" a las malas soluciones, y de "premiar" a las buenas, de forma
que sean estas últimas las que se propaguen con mayor rapidez.
La codificación más común de las soluciones es a través de cadenas
binarias, aunque se han utilizado también números reales y letras. El

Dra. Diana Cecilia Muñoz Casanova 46


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

primero de estos esquemas ha gozado de mucha popularidad debido a


que es el que propuso originalmente Holland, y además porque resulta
muy sencillo de implementar.

1.6.4.6. Marco de Desarrollo


Antes de continuar ahondando en la técnica de los Algoritmos
Genéticos sería interesante dejarla situada dentro de un marco más
amplio. Nos referimos a la rama de la Inteligencia Artificial que se ha
denominado Computación Evolutiva.
El término Computación Evolutiva se refiere al estudio de los
fundamentos y aplicaciones de ciertas técnicas heurísticas de búsqueda
basadas en los principios naturales de la evolución. Una gran variedad
de algoritmos evolutivos han sido propuestos pero principalmente
pueden clasificarse en: Algoritmos Genéticos, Programación Evolutiva,
Estrategias Evolutivas, Sistemas Clasificadores y Programación
Genética. Esta clasificación se basa sobre todo en detalles de desarrollo
histórico más que en el hecho de un funcionamiento realmente diferente,
de hecho las bases biológicas en las que se apoyan son esencialmente
las mismas. Las diferencias entre ellos se centran en los operadores que
se usan en cada caso y en general en la forma de implementar la
selección, reproducción y sustitución de individuos en una población.
Aunque los detalles de la evolución no han sido completamente
comprendidos, incluso hoy en día, existen algunos puntos en los que se
fundamentan:
 La evolución es un proceso que opera a nivel de cromosomas, y
no a nivel de individuos. Cada individuo es codificado como un
conjunto de cromosomas.
 La selección natural es el mecanismo mediante el cual los
individuos mejor adaptados son los que tienen mayores
posibilidades de reproducirse.
 El proceso evolutivo tiene lugar en la etapa de la reproducción.
Es en esta etapa donde se producen la mutación, que es la
causante de que los cromosomas de los hijos puedan ser

Dra. Diana Cecilia Muñoz Casanova 47


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

diferentes a los de los padres, y el cruce, que combina los


cromosomas de los padres para que los hijos tengan
cromosomas diferentes.
De forma breve, pasamos a comentar cada una de los algoritmos
mencionados anteriormente, para que pueda tener una idea de las
similitudes y diferencias entre ellos.
 Los Algoritmos Genéticos resuelven los problemas generando
poblaciones sucesivas a las que se aplican los operadores de
mutación y cruce. Cada individuo representa una solución al
problema, y se trata de encontrar al individuo que represente a la
mejor solución.
 La Programación Genética funciona igual que la técnica
anterior pero se centra en el estudio de problemas cuya solución
es un programa. De manera que los individuos de la población
son programas que se acercan más o menos a realizar una tarea
que es la solución.
 La Programación Evolutiva es otro enfoque de los algoritmos
genéticos, en este caso el estudio se centra en conseguir
operadores genéticos que imiten lo mejor posible a la naturaleza,
en cada caso, más que en la relación de los padres con su
descendencia. En este caso no se utiliza el operador de cruce,
tomando la máxima importancia el operador de mutación.
 Estrategias Evolutivas se centran en el estudio de problemas de
optimización e incluyen una visión del aprendizaje en dos
niveles: a nivel de genotipo, y a nivel de fenotipo. Y por último
los Sistemas Clasificadores engloban el estudio de problemas en
los que la solución buscada se corresponde con toda una
población.
Para finalizar se muestra un esquema en el que se sitúan las técnicas
mencionadas con respecto a otros procedimientos de búsqueda
conocidos.

Dra. Diana Cecilia Muñoz Casanova 48


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

1.6.4.7. Aplicaciones
Como hemos podido observar, el área de aplicación de los AG es muy
amplia, y en general sus aplicaciones se pueden implementar a muchos
de los problemas de la vida cotidiana, de igual forma, se hayan aplicado
a diversos problemas y modelos en ingeniaría, y en la ciencia en general
cabe destacar entre ellos:
Las principales aplicaciones de los algoritmos genéticos en el campo de
la gestión financiera empresarial son:
 La predicción de la bancarrota de una empresa.
 Evaluación y predicción de la capacidad financiera de una
empresa para absorber un préstamo y con el fin de decidir el
otorgamiento del mismo, la inferencia de reglas que indiquen las
mejores decisiones sobre la asignación de recursos con base en
información histórica de varios años.
Generalmente, los algoritmos genéticos se emplean con bastante éxito
en la investigación de operaciones para resolver problemas de
optimización numérica y combinatoria.

1.6.4.8. Ciclo general de un algoritmo genético estándar


El AG estándar se puede expresar en pseudocódigo con el siguiente
ciclo:
1. Generar aleatoriamente la población inicial de individuos P (0).
2. Mientras ( numero _ generaciones <= máximo _ números _
generaciones)
Hacer:
{
Evaluación;
Selección;
Reproducción;
Generación ++;
}
3. Mostrar resultados.
4. Fin de la generación.

Dra. Diana Cecilia Muñoz Casanova 49


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

1.6.4.9. Función de evaluación y selección


La función de evaluación define el criterio para ordenar las hipótesis
que potencialmente pueden pasar a formar parte de la siguiente
generación.
La selección de las hipótesis que formarán parte de la siguiente
generación o que serán usadas para aplicarles los operadores genéticos,
puede realizarse de varias formas. Las más usuales son:
 Selección proporcional. En este método la probabilidad de que una
hipótesis sea seleccionada viene determinada por:

 Selección mediante torneo. Se eligen dos hipótesis al azar.


 Selección por rango. La probabilidad de que una hipótesis sea
seleccionada será proporcional a su posición en dicha lista ordenada,
en lugar de usar el valor devuelto por la función de evaluación.

1.6.4.10. Clases de algoritmos genéticos


 Algoritmos Genéticos Generacionales.
 Algoritmos Genéticos de estado Fijo.
 Algoritmos Genéticos Paralelos.
 Modelos de Islas.
 Modelo Celular

1.6.4.11. Operadores genéticos


 Los dos operadores más comunes son la mutación y el cruce.
 Además existen varios tipos de cruce:

Dra. Diana Cecilia Muñoz Casanova 50


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

 Cruce Simple

 Cruce Doble

 Mutación. Generalmente se aplica después de hacer uso del


operador cruce. Su objetivo es producir diversidad en la
población.

1.6.5. Razonamiento basado en Casos.


1.6.5.1. Concepto
 Se ocupa del estudio de los mecanismos mentales necesarios para
repetir lo que se ha hecho o vivido con anterioridad, ya sea por
experiencia propia o por casos concretos recopilados en la
bibliografía o en la sabiduría popular. Los diversos casos son del
tipo "Si X, entonces Y" con algunas adaptaciones y críticas según las
experiencias previas en el resultado de cada una de dichas reglas.
 RBC es razonar por recuerdo
 RBC resuelve problemas nuevos adaptando soluciones que se han
usado en la solución de problemas viejos

Dra. Diana Cecilia Muñoz Casanova 51


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

 RBC es una nueva aproximación a la resolución de problemas y el


aprendizaje
 RBC es una forma con que las personas resolvemos problemas
usando casos a la vez que una manera para construir máquinas que
los usen.

1.6.5.2. Ventajas:
 Técnica de adquisición de conocimientos.
 Técnica de resolución de problemas.
 Dominios de difícil estructuración.

1.6.5.3. Inconvenientes
 Memoria
 Manipulación de la incertidumbre.

1.6.5.4. Etapas
 Recuperación
 Adaptación
 Evaluación
 Aprendizaje

1.6.5.5. El ciclo del razonamiento basado en casos


Un ciclo de vida CBR está formado esencialmente por los cuatro
procesos siguientes (ver figura):
Recuperar el caso ó casos pasados más similares (RETRIEVE). Esto es,
retomar
1. La experiencia de un problema anterior que se cree es similar al
nuevo.
2. Reutilizar la información y conocimiento de este caso ó casos
recuperados para resolver el nuevo problema (REUSE). Esto es,
copiar o integrar la solución del caso ó casos recuperados.
3. Revisar la solución propuesta (REVISE).

Dra. Diana Cecilia Muñoz Casanova 52


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

4. Guardar la nueva solución una vez ha sido confirmada ó validada


(RETAIN). Se guardan aquellas partes de la experiencia de una
manera tal que sea útil para resolver problemas futuros.

Es decir, un problema nuevo se resuelve recuperando uno o más casos


previos (ya experimentados), reutilizando el caso de una manera u otra,
revisando la solución propuesta, y guardando la nueva experiencia
incorporándola a la base de conocimiento existente (base de casos).
A este respecto hay que hacer varias aclaraciones:

 Los cuatro procesos no son tareas únicas, es decir, cada uno de ellos
implica llevar a cabo una serie de tareas más específicas
 Si bien se ha dado a entender que en el proceso de reutilización se
lleva a cabo toda la problemática de adaptación del caso ó casos
recuperados para el nuevo problema, en muchas aplicaciones
prácticas las fases de reutilización y revisión apenas se distinguen, y
muchos investigados hablan de fase de adaptación, que combina
ambas. No obstante, la adaptación es quizá uno de los frentes más
abiertos en los sistemas CBR debido a su complejidad.

Fígura Nº 8: Ciclo básico de un sistema CBR

Dra. Diana Cecilia Muñoz Casanova 53


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

En la figura podemos observar lo comentado sobre el ciclo CBR. Una


descripción de un problema define un nuevo caso, que se usa en la
RECUPERACIÓN de un caso de entre la colección de casos pasados.
El caso recuperado se combina con el nuevo caso para, a través de la
REUTILIZACIÓN, proponer un caso que sea una solución al problema
inicial. En una fase de EVALUACIÓN se verificará el éxito de la
solución, por ejemplo siendo comprobada en el mundo real
(habitualmente por un agente humano), y se reparará si falla. Durante
el ALMACENAMIENTO, la experiencia útil se guarda para una futura
reutilización, y el caso base se actualiza por un nuevo caso aprendido, o
por una modificación de algunos casos existentes.
Además, la figura nos muestra cómo el conocimiento general juega un
papel importante en el ciclo, dando soporte a los procesos CBR.
Dependiendo del tipo de método CBR, este soporte puede variar, desde
una consideración débil (ó nula) a un soporte muy fuerte. Se trata, por
tanto, de un conocimiento general, frente al conocimiento específico
encerrado en los casos. Por ejemplo, en el diagnóstico médico por
analogía con casos de pacientes previos, el conocimiento general podría
consistir en un modelo de anatomía junto con relaciones causales entre
estados patológicos, formulados quizá a modo de un conjunto de reglas.

1.7 ÁREAS DE LA IA

Las definiciones anteriores implican que las máquinas para ser consideradas inteligentes
deben exhibir ciertas habilidades, suficientemente complejas como para ser tratadas
como áreas independientes. La forma de abordaje de cada una de estas áreas suele ser
tan disímil, que es difícil reconocerles un origen común.

1.7.1. Procesamiento del lenguaje natural.


Una de las ramas más importantes de la Inteligencia Artificial es aquella
orientada a facilitar la comunicación hombre-computadora por medio del
lenguaje humano, o lenguaje natural.

Dra. Diana Cecilia Muñoz Casanova 54


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

El Procesamiento del Lenguaje Natural (PLN) es la disciplina encargada de


producir sistemas informáticos que posibiliten dicha comunicación, por medio
de la voz o del texto. Se trata de una disciplina tan antigua como el uso de las
computadoras (años 50), de gran profundidad, y con aplicaciones tan
importantes como la traducción automática o la búsqueda de información en
Internet.

El procesamiento del lenguaje natural presenta múltiples aplicaciones:


 Corrección de textos: Permite la detección y corrección de errores
ortográficos y gramaticales, Para detectar este tipo de errores, la
computadora necesita entender en cierto grado el sentido del texto. Los
correctores de gramática detectan las estructuras incorrectas en las
oraciones aunque todas las palabras en la oración estén bien escritas en
el lenguaje en cuestión. El problema de detectar los errores de este tipo
es complejo debido a la existencia de gran variedad de estructuras
permitidas.
Para describir las estructuras de las oraciones en el idioma, se usan las
llamadas gramáticas formales, o sea conjuntos de reglas de
combinación de palabras y su orden relativo en las oraciones.
 La traducción automática: Se refiere a la traducción correcta de un
lenguaje a otro, tomando en cuenta lo que se quiere expresar en cada
oración.

 En el campo de la recuperación de la información han desarrollado


sistemas que permiten obtener información sobre estadísticas
deportivas, información turística, geografía etc. En lugar de buscar los
documentos para encontrar en ellos la respuesta a su pregunta, el
usuario podría hacer su pregunta a la computadora: ¿Cómo se llama el
Presidente de Francia?, ¿Cuáles son los centros más avanzados en
Procesamiento del Lenguaje Natural?, y otras.

 Por otra parte Se han desarrollado sistemas con la capacidad de crear


resúmenes de documentos a partir de los datos suministrados. Estos

Dra. Diana Cecilia Muñoz Casanova 55


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

sistemas son capaces de realizar un análisis detallado del contenido del


texto y elaborar un resumen.

 También se han desarrollado sistemas inteligentes que permiten


modelar el comportamiento del estudiante, reconocer y procesar sus
errores, desarrollar habilidades en la resolución de problemas y otras
actividades del proceso enseñanza y aprendizaje. En ellos el
Procesamiento del Lenguaje Natural juega un papel de relevante
importancia en la creación y desarrollo de interfaces amigables.

1.7.2. Visión Artificial.


La visión artificial (machine vision) es la adquisición automática de imágenes
sin contacto y su análisis también automático con el fin de extraer la
información necesaria para controlar un proceso o una actividad como:
 Control de calidad.
 Ordenación por calidades (grading).
 Manipulación de materiales.
 Test y calibración de aparatos.
 Monitorización de procesos.

El propósito de la visión artificial es programar un computador para que


"entienda" una escena o las características de una imagen.

Los objetivos típicos de la visión artificial incluyen:


 La detección, segmentación, localización y reconocimiento de ciertos
objetos en imágenes (por ejemplo, caras humanas).
 La evaluación de los resultados (ej.: segmentación, registro).
 Registro de diferentes imágenes de una misma escena u objeto, i.e.,
hacer concordar un mismo objeto en diversas imágenes.
 Seguimiento de un objeto en una secuencia de imágenes.
 Mapeo de una escena para generar un modelo tridimensional de la
escena; tal modelo podría ser usado por un robot para navegar por la
escena.

Dra. Diana Cecilia Muñoz Casanova 56


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

 Estimación de las posturas tridimensionales de humanos.


 Búsqueda de imágenes digitales por su contenido.
 Estos objetivos se consiguen por medio de reconocimiento de patrones,
aprendizaje estadístico, geometría de proyección, procesado de
imágenes, teoría de gráficos y otros campos. La visión artificial
cognitiva está muy relacionada con la psicología cognitiva y la
computación biológica.

1.7.3. Robótica.
Es la ciencia encaminada a diseñar y construir aparatos y sistemas capaces de
realizar tareas propias de un ser humano. No es un campo propio de la
Inteligencia Artificial pero es quizá todo un conjunto de circuito compacto que
van a permitir tener como base para que una computadora pensante pueda
desplazarse y lograr así la movilidad.

1.7.3.1. Robots Físicos


 Robótica Industrial: Es la parte de la Ingeniería que se dedica a la
construcción de máquinas capaces de realizar tareas mecánicas y
repetitivas de una manera muy eficiente y con costes reducidos.
 Robótica de Servicio: Es la parte de la Ingeniería que se centra en
el diseño y construcción de máquinas capaces de proporcionar
servicios directamente a los miembros que forman sociedad.
 Robótica Inteligente: Son robots capaces de desarrollar tareas que,
desarrolladas en un ser humano, requieren el uso de su capacidad de
razonamiento.
 Robótica Humanoide: Es la parte de la ingeniería que se dedica al
desarrollo de sistemas robotizados para imitar determinadas
peculiaridades del ser humano.

1.7.3.2. Robots Software


 Robótica de Exploración: Es la parte de la Ingeniería del Software
que se encarga de desarrollar programas capaces de explorar

Dra. Diana Cecilia Muñoz Casanova 57


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

documentos en busca de determinados contenidos. Existen diversos


servicios en Internet dedicados a esta parcela de la robótica.

1.7.4. Reconocimiento de Patrones.


También llamado lectura de patrones, identificación de figuras y
reconocimiento de formas es el reconocimiento de patrones en señales. No
sólo es un campo de la informática sino un proceso fundamental que se
encuentra en casi todos las acciones humanas.
El punto esencial del reconocimiento de patrones es la clasificación: se quiere
clasificar una señal dependiendo de sus características. Señales, características
y clases pueden ser de cualquiera forma, por ejemplo se puede clasificar
imágenes digitales de letras en las clases «A» a «Z» dependiente de sus píxeles
o se puede clasificar ruidos de cantos de los pájaros en clases de órdenes
aviares dependiente de las frecuencias.
El objetivo es clasificar patrones con base en un conocimiento a priori o
información estadística extraída de los patrones. Los patrones a clasificar
suelen ser grupos de medidas u observaciones, definiendo puntos en un espacio
multidimensional apropiado.
Un sistema de reconocimiento de patrones completo consiste en un sensor que
recoge las observaciones a clasificar, un sistema de extracción de
características que transforma la información observada en valores numéricos o
simbólicos, y un sistema de clasificación o descripción que, basado en las
características extraídas, clasifica la medición.

A continuación se sugieren algunos ejemplos relevantes al área de


reconocimiento de patrones:
 Parámetros para reconocer la cara de una persona.
 Agrupación de palabras para hacer sentido en una frase.
 Buscar la llave para abrir una chapa.
 Olores para saber si una naranja esta fresca o podrida.

Dra. Diana Cecilia Muñoz Casanova 58


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

1.7.5. La realidad Virtual.


La realidad virtual (RV) es una simulación tridimensional generada o asistida
comúnmente por computadora de algún aspecto del mundo real o ficticio, en el
cual el usuario tiene la sensación de pertenecer a ese ambiente sintético o
interactuar con él. La RV permite interactuar con mundos tridimensionales de
una manera más natural, por ejemplo, un usuario puede realizar acciones
dentro de un modelo virtual, desplazarse, moverse, caminar a través de él o
levantar cosas, y de esta forma experimentar situaciones que se asemejan al
mundo real.
Se destacan tres características idóneas de la RV:
 Es un ambiente tridimensional generado por computadora.
 Es interactiva.
 Es inmersiva, es decir, el usuario se siente parte del ambiente virtual.

Las partes básicas de un sistema de realidad virtual son: el modelo de


simulación, la representación del ambiente virtual, la entrada/salida y por
supuesto el usuario.

Figura Nº 9: Modelo genérico de un ambiente virtual

1.7.6. Cibernética.
Es la ciencia que se ocupa de los sistemas de control y de comunicación en las
personas y en las máquinas, estudiando y aprovechando todos sus aspectos y
mecanismos comunes. El nacimiento de la cibernética se estableció en el año
1942, en la época de un congreso sobre la inhibición cerebral celebrado en
Nueva York, del cual surgió la idea de la fecundidad de un intercambio de
conocimiento entre fisiólogos y técnicos en mecanismos de control. Cinco años
más tarde, Norbert Wiener uno de los principales fundadores de esta ciencia,
propuso el nombre de cibernética, derivado de una palabra griega que puede
traducirse como piloto, timonel o regulador. Por tanto la palabra cibernética

Dra. Diana Cecilia Muñoz Casanova 59


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

podría significar ciencia de los mandos. Estos mandos son estructuras con
elementos especialmente electrónicos y en correlación con los mecanismos que
regulan la psicología de los seres vivientes y los sistemas sociales humanos, y a
la vez que permiten la organización de máquinas capaces de reaccionar y
operar con más precisión y rapidez que los seres vivos, ofrecen posibilidades
nuevas para penetrar más exactamente las leyes que regulan la vida general y
especialmente la del hombre en sus aspectos psicológicos, económicos,
sociales etc.

Dentro del campo de la cibernética se incluyen las grandes máquinas


calculadoras y toda clase de mecanismos o procesos de autocontrol semejantes
y las máquinas que imitan la vida. Las perspectivas abiertas por la cibernética y
la síntesis realizada en la comparación de algunos resultados por la biología y
la electrónica, han dado vida a una nueva disciplina, la biónica. La biónica es la
ciencia que estudia los: principios de la organización de los seres vivos para su
aplicación a las necesidades técnicas. Una realización especialmente
interesante de la biónica es la construcción de modelos de materia viva,
particularmente de las moléculas proteicas y de los ácidos nucleicos.

1.7.7. Multimedia.
Es un sistema que utiliza más un medio de comunicación al mismo tiempo en
la presentación de la información, como el texto, la imagen, la animación, el
vídeo y el sonido.
Tipos de información multimedia:
 Texto: sin formatear, formateado, lineal e hipertexto.
 Gráficos: utilizados para representar esquemas, planos, dibujos lineales...
 Imágenes: son documentos formados por píxeles. Pueden generarse por
copia del entorno (escaneado, fotografía digital) y tienden a ser ficheros
muy voluminosos.
 Animación: presentación de un número de gráficos por segundo que
genera en el observador la sensación de movimiento.

Dra. Diana Cecilia Muñoz Casanova 60


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

 Vídeo: Presentación de un número de imágenes por segundo, que crean en


el observador la sensación de movimiento. Pueden ser sintetizadas o
captadas.
 Sonido: puede ser habla, música u otros sonidos.

1.7.8. Juegos.
La mayor parte de los juegos están construidos usando técnicas de inteligencia
artificial.

1.7.9. Otras Áreas


 Planificación y soporte a la decisión.
 Programación Automática.
 Prueba Automática de teoremas y matemáticas simbólica.
 Problemas de optimización combinatorios y de itinerarios.
 Aprendizaje.

1.8 ALGUNAS APLICACIONES DE LA IA

 80´s SE en diferentes dominios (Mycin, R1,Prospector, Dendral.)


 89 HITECH Programa de ajedrez.
 92 MARVEL S.E. En tiempo real que monitorea nave espacial
 94 PEGASUS Realiza reservas de vuelos
 Sistemas de conducción de automóviles.
 Newstracker: Este programa recupera datos específicos.
Cuando el usuario indica el tipo de información que le interesa, Newstracker
comprende el mensaje y, después de revisar durante horas miles de artículos en
periódicos, agencias de noticias o revistas conectadas a Internet, cada mañana
"edita" un periódico personalizado.
Si la selección de noticias no satisface por completo al lector, Newstracker toma
nota, rectifica y es capaz de aprender de sus errores. Una vez que haya estudiado
durante cierto tiempo los hábitos de lectura del usuario, le proporciona información
a su medida.

Dra. Diana Cecilia Muñoz Casanova 61


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

Los expertos definen a este sofisticado programa como un "asistente polivalente" de


la primera generación.

 Racter: Creado en 1980 por Thomas Etter, un programador-analista de San


Francisco y William Chamberlain, un escritor neoyorquino. La intención de ambos
era crear un programa que crease cuentos. Posteriormente, lo modificaron para
permitirle mantener conversaciones con seres humanos, veamos un extracto de una
conversación entre Racter y Chamberlain.
Racter: ¿Hemos hablado antes?
Chamberlain: No
Racter: ¿De qué sexo eres?
Chamberlain: Masculino
Racter: ¿Cuál es tu nombre completo?
Chamberlain: Bill Chamberlain
Racter: ¿Qué eres?
Chamberlain: Cronorreflectometrista
Racter: ¿De dónde eres?
Chamberlain: De la ciudad de Nueva York
Racter: Ya veo. Así que cronorreflectometrista, ¿verdad? Escucha. Gritemos
juntos con decisión. Me gusta la cautivadora música italiana. ¿Qué clase de
música te gusta a ti?
Chamberlain: el jazz
Racter: El jazz está bien. ¿Qué me dices de la clásica?
Chamberlain: Me gusta la música clásica
Racter: ¿Y de qué nacionalidad?
Chamberlain: También me gusta la música italiana
Racter: A mí, personalmente, Palestrina me inflama. Además de Italia, otros
países produjeron en el siglo XVII embelesados músicos. Sewall fue un
importante y furibundo maestro del Renacimiento. América fue su nación. Yo
saco de la música amoroso placer.
El diálogo prosigue por similares derroteros, mezclando sin pudor Bach con el
rodaballo y las lechugas. Al comparar este diálogo con el que yo mismo he

Dra. Diana Cecilia Muñoz Casanova 62


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

mantenido con el programa Doctor se aprecia una diferencia; el diálogo de Racter es


mucho más rico y fluido que el de Doctor, si bien es bastante más disparatado.
En el test de Turing Racter podría pasar por un humano con una marcada tendencia a
la divagación. ¿Cuál es el funcionamiento de Racter? Al principio de la
conversación hace una serie de preguntas a su interlocutor, cuyas respuestas va
almacenando en una base de datos. En cuanto juzga que dispone de suficiente
información empieza a elaborar frases, en las que combina los elementos de que
dispone en su memoria con aquellos que ha recibido de su interlocutor, con lo que
logra implicarlo en la conversación. Para construir las frases sigue un mismo
esquema gramatical, en el que los sustantivos, adjetivos y verbos se eligen al azar
entre una amplia variedad que pertenecen a una misma categoría, y los artículos se
adecuan a la forma gramatical correspondiente. Esto hace que las frases sean
sintácticamente correctas, pero en tanto los sustantivos, adjetivos y verbos se
escogen al azar el sentido suele ser disparatado.

 Mycin: Se trataba de un sistema experto para el diagnóstico de enfermedades


infecciosas. Desde los resultados de análisis de sangre, cultivos bacterianos y demás
datos, el programa era capaz de determinar, o en lo menos, sugerir el
microorganismo que estaba causando la infección. Después de llegar a una
conclusión, MYCIN prescribía una medicación que se adaptaba perfectamente a las
características de la persona, tales como el peso corporal de este. Después del
reconocido éxito que tuvo.

 Mondrian: Un agente gráfico


Un agente autónomo que no sólo interactúa con la interfaz modificándola (agente
autónomo de interfaz) sino que se utiliza para facilitar labores de diseño gráfico.
Mondrian parte "conociendo" solamente figuras geométricas básicas. Se puede
seleccionar alguna en su paleta de comandos y luego determinar su posición y
tamaño, y eventualmente desplazar y borrar. Pero, lo más interesante y característica
esencial del agente es que, teniendo alguna figura diseñada en base a los
componentes fundamentales, se pueden agrupar, nombrar y de este modo agregar
como nuevo recurso en la paleta

Dra. Diana Cecilia Muñoz Casanova 63


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

Progresivamente, el agente "aprende" así nuevas confi-guraciones y las agrega a su


base de conocimientos, el diseñador llegando a disponer de una gran cantidad de
figuras reutilizables.
En cualquier momento el usuario puede obtener información acerca del modo en que
el componente fue construido gracias a otra funcionalidad del agente.

 Express: Este programa permite realizar múltiples búsquedas simultáneas en


diferentes buscadores, y localizar información en Internet de manera fácil y rápida a
través de una interfaz sencilla.

 Un sistema experto para la diagnosis de enfermedades de los ganglios linfáticos,


capaz de emitir una diagnosis y de dar una explicación de la misma que sirva para
señalar los factores que la han motivado (Heckerman, 1991).

 Un sistema robótico integrado en un coche, que recoge imágenes de video y señales


de sensores, las integra con la experiencia adquirida en conducciones de
entrenamiento, y es capaz de conducir en una autopista sin la intervención humana
(Pomerleau, 1993).

 Un sistema de monitorización de trafico capaz de reconocer distintas escenas a


partir de las imágenes tomadas desde una cámara en un cruce, e incluso de realizar
llamadas automáticas a los servicios de emergencia en caso de accidentes (King et
al., 1993).

 Pegasus: Un programa de comprensión del habla capaz de entender los detalles de


una petición de reserva de vuelo y de tramitar la transacción (Zue et al. 1994).

 Deep Blue: Máquina paralela que juega ajedrez y primera en derrotar al campeón
mundial [IBM 97].
 Aibo: De Sony, es un perro inteligente el cual fue introducido al mercado en Japón y
Estados Unidos en 1999, y solo era vendido por la red.
El robot cuenta con múltiples sensores a lo largo de su cuerpo para la iteración con
su dueño, así como para darle su ubicación. También cuenta con luces, con las
cuales expresa su estado de ánimo en distintas situaciones.

Dra. Diana Cecilia Muñoz Casanova 64


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

La unidad de procesamiento central es


un procesador RISK de 64 bits con 32
Mb en RAM de memoria, con un
sistema operativo OPEN-R v.1.1.2 de
sony. Además se pueden conseguir
programas para modelar su
comportamiento.

 Manejador inteligente de bases de datos.


 Proceso automático inteligente para realizar taladros sobre una placa
 Robot angular de movimiento continúo.
 Control virtual-remoto de la trayectoria de un vehiculo autónomo.
 Central inteligente de alarmas
 Central inteligente de atención de emergencias medicas.
 Proceso automático inteligente para cortar piezas de cuero para zapatos,
carteras y otros.

Dra. Diana Cecilia Muñoz Casanova 65


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

CAPÍTULO II: AGENTES INTELIGENTES

2.1 CONCEPTO

 Agente es todo aquello que percibe su ambiente mediante sensores y que


responde o actúa mediante efectores.
 Un agente inteligente es una entidad con una sofisticada estructura interna y una
conducta flexible e independiente que podemos calificar como inteligente.
Inicialmente, los agentes perciben su ambiente mediante “sensores”; cuentan con
un particular “estado interno” que le permite recordar y relacionar lo percibido
con ideas preconcebidas o conocimientos adquiridos; y finalmente, toman una
decisión y “actúan” sobre el ambiente, por medio de “efectores”

Figura Nº 10: Agente Inteligente

2.2 COMO DEBEN ACTUAR LOS AGENTES INTELIGENTES

Estos agentes actúan de forma racional y es aquel que hace lo correcto, lo correcto se
afirmará que es que el agente tenga el mejor desempeño.
¿Cómo evaluar ésto?
El agente racional puede medir su propio desempeño.

Dra. Diana Cecilia Muñoz Casanova 66


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

El término de medición de desempeño se aplica al cómo es el criterio que sirve para


definir qué tan exitoso ha sido un agente. Desde luego que no existe una medida fija que
se pueda aplicar por igual a todos los agentes porque sus respuestas van a ser subjetivas,
entonces una verdadera medición de desempeño la pueden realizar observadores
externos.
Ejemplos de medida de desempeño para un “agente aspirador”:
 Cantidad de suciedad retirada en un periodo de ocho horas.
 Considerando además el consumo de electricidad y el ruido.

¿Cuándo evaluar el desempeño?


Durante periodos largos de tiempo

2.3 MAPEO IDEAL DE LA SECUENCIA DE PERCEPCIONES PARA ACCIONES

Los mapeos son aquellos que logran caracterizar al agente, dependiendo de una
secuencia de percepciones, éste responderá con alguna acción lo cual lo podemos
representar mediante una tabla o matriz de percepciones vs. Acciones.
Los mapeos ideales son los que caracterizan a los agentes ideales. El especificar qué
tipo de acción deberá emprender un agente como respuesta a una determinada secuencia
de percepciones constituye lo que se denomina Diseño de un Agente ideal.
Ejemplo: Agente inteligente que recoge la basura.

Percepciones Acciones
Cae la lluvia Ubicarse en un lugar que lo proteja.
Ubica un obstáculo Retroceda y desvía su camino
….. …..

2.4 LA AUTONOMÍA

Es una característica importante de los agentes:


 Un agente es autónomo en la medida en que su comportamiento esta determinado
por su propia experiencia y no solo por el conocimiento que le ha sido incorporado.
 Un agente autónomo es capaz de adaptarse a situaciones variadas, es más flexible.

Dra. Diana Cecilia Muñoz Casanova 67


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

2.5 ESTRUCTURA DE LOS AGENTES INELIGENTES.

La base de la Inteligencia Artificial es el diseño de un programa de agente: Una función


que permita implantar el mapeo del agente para pasar de percepciones a acciones. Este
programa se ejecutará en algún tipo de dispositivo de cómputo al que se denominará
arquitectura. La arquitectura puede ser una computadora sencilla o un hardware especial.

Elementos básicos que se consideran en la elección de los tipos de agente: PAMA


(Percepciones, Acciones, Metas y Ambiente)

Tabla Nº 2: Tipo de Agentes y sus descripciones PAMA

Softbots (Agentes de software o robots de software)

2.5.1. Esqueleto de un Agente

Función ESQUELETO-AGENTE (percepción) responde con una acción


Estática: memoria (la memoria del mundo del agente)
Memoria ¬ ACTUALIZACION-MEMORIA (memoria, percepción)
Acción ¬ ESCOGER-LA-MEJOR-ACCION (memoria)
Memoria ¬ ACTUALIZACION-MEMORIA (memoria, acción)
Responde con una acción

Dra. Diana Cecilia Muñoz Casanova 68


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

Cada vez que así se solicite, se actualiza la memoria para que refleje la nueva
percepción, se escoge la mejor acción y también se consigna en la memoria la
acción emprendida. La memoria persiste de una solicitud a otra.

2.6 TIPOS DE AGENTES

2.6.1. Agentes de reflejo simple


Este tipo de agente no contiene internamente estados y sus procesos o acciones
que realiza son respuestas a la entrada de percepciones, a esta conexión entre
percepciones y acciones se las denomina reglas de condición-acción. Ejemplo:
Si el carro de adelante está frenando entonces empiece a frenar.

Figura Nº 11: Esquema de un Agente Reflejo Simple

2.6.2. Agentes bien informados de todo lo que pasa


Este tipo de agente guarda estados internos lo que nos sirve sin consideración
para ejecutar una acción. Los sensores no nos pueden informar a la vez de
todos los estados que maneja nuestro ambiente, es por este caso que el agente
necesita actualizar algo de información en el estado interno. Esto le permite
discernir que entre estados del ambiente que generan la misma entrada de
percepciones pero, sin embargo; para cada uno de los estados se necesitan
acciones distintas.

Dra. Diana Cecilia Muñoz Casanova 69


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

Figura Nº 12: Esquema de un Agente bien informado de lo que pasa

2.6.3. Agentes basados en metas


Los agentes necesitan cierto tipo de información sobre sus metas Estas metas
van a detallar las situaciones a las que se desea llegar de este modo, el
programa de agente puede combinar las metas con la información de los
resultados (acciones) que emprenda y de esta manera poder elegir aquellas
acciones que permitan alcanzar la meta.

Figura Nº 13: Esquema de un Agente basado en metas

Dra. Diana Cecilia Muñoz Casanova 70


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

2.6.4. Agentes basados en utilidad


Las metas por sí solas me garantizan la obtención de una conducta de alta
calidad. En mi programa de agente se podría tener un conjunto de metas pero la
obtención de éstas no me garantizan distinciones entre estados felices e
infelices, mediante una medida de desempeño se podría establecer una
comparación entre los diversos estados del mundo (ambientes) para poder
encontrar el estado de felicidad para el agente. Este estado ofrecerá una mayor
utilidad al agente.

Figura Nº 14: Esquema de un Agente basado en utilidad

2.7 AMBIENTE DE LOS AGENTES INTELIGENTES

El ambiente aporta percepciones al agente quien ejerce acciones sobre el ambiente.


Entre ellas podemos encontrar las siguientes propiedades:

2.7.1. Accesibles y no accesibles:


Si el aparato sensorial de un agente le permite tener acceso al estado total de un
ambiente, se dice que éste es accesible a tal agente. Un agente es realmente
accesible si los sensores detectan todos los aspectos relevantes a la elección de
una acción. Los ambientes accesibles son cómodos, puesto que no es necesario

Dra. Diana Cecilia Muñoz Casanova 71


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

que el agente mantenga un estado interno para estar al tanto de lo que sucede
en el mundo.

2.7.2. Deterministas y no Deterministas:


Si el estado siguiente de un ambiente se determina completamente mediante el
estado actual y las acciones escogidas por los agentes, se dice que el ambiente
es determinista. En principio, un agente no tiene por qué preocuparse sobre la
incertidumbre en un ambiente accesible y determinista. Pero si el ambiente es
inaccesible, entonces podría parecer que es no determinista. Lo anterior es
especialmente válido cuando el ambiente es complejo, dificultando el estar al
tanto de todos los aspectos inaccesibles. Por ello, es más conveniente calificar
el que un ambiente sea determinista o no determinista considerando el punto de
vista del agente.

2.7.3. Episódicos y no Episódicos:


En un ambiente episódico, la experiencia del agente se divide en "episodios".
Cada episodio consta de un agente que percibe y actúa. La calidad de su
actuación dependerá del episodio mismo, dado que los episodios subsecuentes
no dependerán de las acciones producidas en episodios anteriores. Los
ambientes episódicos son más sencillos puesto que el agente no tiene que
pensar por adelantado.

2.7.4. Estáticos y Dinámicos:


Si existe la posibilidad de que el ambiente sufra modificaciones mientras el
agente se encuentra deliberando, se dice que tal ambiente se comporta en forma
dinámica en relación con el agente, de lo contrario, se dice que es estático. Es
más fácil trabajar con ambientes estáticos puesto que el agente no tiene que
observar lo que sucede en el mundo al mismo tiempo que decide sobre el curso
de una acción, ni tampoco tiene que preocuparse por el paso del tiempo. Si el
ambiente no cambia con el paso del tiempo, pero si se modifica la calificación
asignada al desempeño de un agente, se dice que el agente es semidinámico.

Dra. Diana Cecilia Muñoz Casanova 72


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia Artificial
E. P Ingeniería de Sistemas e Informática Unidad I

2.7.5. Discretos y Continuos


Si existe una cantidad limitada de percepciones y acciones distintas y
claramente discernibles, se dice que el ambiente es discreto. El ajedrez es
discreto: existe una cantidad fija de posibles jugadas en cada ronda. La
conducción de un taxi es continua: la velocidad y la ubicación del taxi y de los
demás vehículos se extiende a través de un rango de valores continuos.
Ejemplos:
Tabla Nº 3: Ejemplos de Ambientes

AMBIENTE ACCES. DETERM. EPISODIO ESTÁTICO DISCRETO


Poker NO NO NO SI SI
Backgammon SI NO NO SI SI
Ajedrez con
SI SI NO SEMI SI
Reloj
Ajedrez sin
SI SI NO SI SI
reloj
Taxi driving NO NO NO NO NO
Sistema de
diagnóstico NO NO NO NO NO
Médico
Sistema de
Análisis de SI SI SI SEMI NO
Imágenes

Dra. Diana Cecilia Muñoz Casanova 73

You might also like