Você está na página 1de 125

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD

ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA


CONTENIDO DIDACTICO DEL CUSO: 90169 INTELIGENCIA ARTIFICIAL



UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA








PROGRAMA DE INGENIERA DE SISTEMAS






90169 INTELIGENCIA ARTIFICIAL




ANGELA MARIA GONZALEZ AMARILLO
Directora Nacional




MARCO ANTONIO LPEZ
Acreditador









Julio de 2013
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA
CONTENIDO DIDACTICO DEL CUSO: 90169 INTELIGENCIA ARTIFICIAL



ASPECTOS DE PROPIEDAD INTELECTUAL Y VERSIONAMIENTO


El presente mdulo fue iniciado en el ao 2005 por el Ing. Edgar Alberto Quiroga,
docente de la UNAD, y ubicado en la zona Centro Boyac, el Ing. Quiroga es
Ingeniero de Sistemas, y especialista en Binica de MIT, se ha desempeado como
tutor de la UNAD desde el 2001 hasta el ao 2007 hoy docente de la UPTC.

El presente mdulo ha tenido tres actualizaciones, desarrolladas por el ing. John
Arroyave Gutirrez, quien ha sido tutor de la UNAD en el CEAD Medelln.
Adicionalmente, el Ing. Nelson Castro Cacante, tutor de la UNAD en la Guajira,
apoy el proceso de revisin de estilo del mdulo en aspectos disciplinares,
didcticos y pedaggicos durante el proceso de acreditacin de material didctico
desarrollado en el mes de julio de 2009.

El presente mdulo, como herramienta para el aprendizaje autnomo, no espera
reinventar o redefinir el conocimiento sobre la Inteligencia Artificial sino que articula
mltiples fuentes de informacin donde se publican teoras, problemas y ejercicios
comunes sobre el tema para que el estudiante adquiera el conocimiento y
competencias esperadas. En ese orden de ideas es normal que el mdulo cuente
con mltiples referencias hacia otros textos o sitios web que extienden los temas
aqu tratados y que se relacionan en las fuentes bibliogrficas.

La ltima versin de este mdulo fue emitida en Junio de 2013.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
INTRODUCCIN AL CURSO
nteligencia Artificial es un curso de carcter terico, que se inscribe en el campo de
formacin electiva profesional del Programa de ngeniera de Sistemas con un valor
acadmico de tres crditos.
El estudiante en el desarrollo de este curso recibe una introduccin al rea de la nteligencia
Artificial (A) conociendo algunos de los mtodos utilizados para construir sistemas
inteligentes. Para ello se introducen las tcnicas ms comunes de manipulacin y
representacin del conocimiento y se analizan las caractersticas de las herramientas
disponibles para la construccin de aplicaciones reales.
Dada la naturaleza constructiva y experimental de la A se da una gran importancia a la parte
prctica es decir se busca que el estudiante en forma personal trabaje en las tcnicas de
programacin efectiva de este tipo de sistemas, tambin es de resaltar que como estudiante,
a este nivel de la carrera, los conocimientos de las reas de teora de grafos, estructuras de
datos y lgica le van a permitir abordar el curso con ms suficiencia en los conocimientos.
El enfoque "orientado al mtodo" que se utiliza en el curso hace hincapi en los modelos de
resolucin de problemas, el aprendizaje, conexionismo, lenguajes de programacin o
herramientas de construccin de sistemas basados en conocimientos. En lo referente a las
prcticas se concede mayor importancia a estas ya que el alumno debe utilizar lenguajes de
programacin o herramientas de desarrollo para construir programas que apliquen los
mtodos vistos en la teora para resolver pequeos problemas de mundo real.
Como se expone en las lneas anteriores, aunque su carcter sea terico, en el curso se
consideran los trabajos prcticos complementarios como el medio ideal para:
Fomentar la capacidad evaluadora y de decisin de los estudiantes.
Comprender y afianzar los conocimientos adquiridos en el estudio terico del curso.
Conseguir que los estudiantes tomen conciencia de la aplicabilidad de las tcnicas
aprendidas.
En este sentido, es importante resaltar que las prcticas de los alumnos no deben consistir
en meros esfuerzos de programacin, el planteamiento que debe primar es el que el alumno
se vea obligado a evaluar distintas posibilidades de solucin, seleccionar e integrar tcnicas,
comprobar que las soluciones obtenidas respondan a lo esperado, comparar los resultados
obtenidos con tcnicas distintas y, en definitiva, aprender a aplicar la A en dominios
cotidianos. Segn esto, la programacin de tcnicas no debe considerarse como un fin en s
mismo, sino ms bien como un medio para alcanzar los objetivos mencionados. Adems
existe una preferencia generalizada por la utilizacin de problemas reales, para potenciar la
capacidad de anlisis del estudiante.
Durante este curso, la metodologa de trabajo buscar dinamizar la experiencia individual y
grupal as como el acompaamiento que el tutor realiza al estudiante para activar los
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
aprendizajes y la formacin, que favorece la disposicin a ser partcipe en la solucin de
problemas.
El trabajo que se promueve en el estudiante es de dos tipos: individual y grupal. El trabajo
individual que es un estudio independiente y personal en donde las actividades se realizan
autnomamente como por ejemplo lecturas, desarrollo de tareas, interaccin con medios
tecnolgicos y tutoriales, al igual que la revisin de los materiales que se presentan en el
mdulo y el aula virtual. El trabajo grupal que se refiere a las actividades en pequeos
grupos colaborativos de aprendizaje para el desarrollo de talleres y tareas relacionadas.
Mediante diversas actividades de aprendizaje que orientan el trabajo de los estudiantes se
pretende que se logren los objetivos, de la siguiente manera:
Tutor-estudiante: a travs del acompaamiento individual, foros, chat, correo
electrnico.
Estudiante-estudiante: mediante la participacin activa en los grupos colaborativos de
aprendizaje.
Estudiantes-tutor: a travs del acompaamiento a los pequeos grupos colaborativos
de aprendizaje, grupos de discusin, foros, chat, correo electrnico.
Tutor-estudiantes: mediante el acompaamiento en grupo de curso.
Estudiantes-estudiantes: en los procesos de socializacin que se realizan en el grupo
de curso.
El sistema de evaluacin del curso se realiza a travs de la evaluacin formativa, que
constituye distintas formas de comprobar el avance en el autoaprendizaje del estudiante. En
este sentido, para algunas actividades se realizarn tres tipos de evaluacin alternativas y
complementarias, estas son:
Autoevaluacin: evaluacin que realiza el estudiante para valorar su propio proceso de
aprendizaje.
Coevaluacin: se realiza a travs de los grupos colaborativos, y pretende la
socializacin de los resultados del trabajo personal.
Heteroevaluacin: Es la valoracin que realiza el tutor.
No se debe olvidar que la evaluacin global del curso se compone de un examen nacional (o
prueba final) con un peso del 40% y una calificacin de seguimiento obtenida como el
cmputo de las calificaciones obtenidas en las diferentes actividades solicitadas por el tutor o
realizadas a travs del aula virtual y con un peso del 60%.
Para el desarrollo del curso es importante el papel que juegan los recursos tecnolgicos
como medio activo e interactivo, buscando la interlocucin durante todo el proceso de dilogo
Tutor-estudiante.
Los materiales impresos en papel, se han convertido en el principal soporte para
favorecer los procesos de aprendizaje autodirigido.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
Aula Virtual: propician el acercamiento al conocimiento, la interaccin y la produccin
de nuevas dinmicas educativas.
Sistemas de interactividades sincrnicas: permite la comunicacin a travs de
encuentros presenciales directos o de encuentros mediados (chat, audio conferencias,
videoconferencias, tutoras telefnicas)
Sistemas de interactividades diferidas: permite la comunicacin en forma diferida
favoreciendo la disposicin del tiempo del estudiante para su proceso de aprendizaje,
mediante la utilizacin de correo electrnico, foros, grupos de discusin, sitios web,
entre otros.
El acceso a documentos adquiere una dimensin de suma importancia en tanto la
informacin sobre el tema exige conocimientos y planteamientos preliminares, por tal razn
es imprescindible el recurso a diversas fuentes documentales y el acceso a diversos medios
como son: bibliotecas electrnicas, hemerotecas digitales e impresas y sitios Web
especializados
1
.
Por ltimo y para alcanzar los objetivos planteados en este curso es importante que usted
como gestor de su propio proceso de aprendizaje considere los siguientes puntos como
rectores de sus tareas autnomas:
Organizacin del tiempo.
Organizacin del material.
Desarrollo de actividades de autoaprendizaje.
Desarrollo de tareas individuales y grupales.
Organizacin del tiempo: dedique por lo menos una hora diaria al estudio de este curso. El
xito de este aprendizaje est fundamentado en la disciplina individual que usted se
proponga como hbito personal. No deje acumular su trabajo para la vspera de la fecha de
entrega de las tareas. Tenga presente que un crdito acadmico representa 48 horas de
estudio y por lo tanto este curso espera que usted dosifique su tiempo para que estudie al
menos 144 horas durante el perodo acadmico.
Organizacin del material y de estudio: planifique diariamente tanto el tiempo como el
material que va a utilizar y revisar en cada actividad. ntercambie sus puntos de vista,
materiales encontrados, opiniones de textos y autores con el propsito de alimentar y
enriquecer su producto final.
Desarrollo de actividades de autoaprendizaje: desarrolle ejercicios y actividades de
autoaprendizaje, incorpore a su estudio otros contenidos que sean producto de
investigaciones bibliogrficas y de nternet.
Desarrollo de tareas individuales y grupales: desarrolle a conciencia cada una de las tareas
individuales y grupales a distancia. La suma de estos trabajos integra gran parte de su
1
La Universidad Nacional Abierta y a Distancia cuenta con una biblioteca virtual con ms de 30.000
ejemplares en formato digital que le permiten al estudiante encontrar informacin sobre diferentes reas,
descargarla, imprimirla, etc. Ms informacin en http://biblioteca.unad.edu.co
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
trabajo final.
Las competencias que promueve el curso y que son necesarias para todo ingeniero son:
COGNTVA: Capacidad de apropiarse de un conjunto de conocimientos a travs del
desarrollo, monitoreo y aplicacin de procesos de pensamiento.
COMUNCATVA: Capacidad de comprender, expresar mensajes y de desarrollar
procesos argumentativos, apoyados por la asertividad en las relaciones
interpersonales.
CONTEXTUAL: Capacidad de ubicar el conocimiento en el contexto cientfico,
poltico, cultural, tecnolgico, social y en el plano nacional e internacional, as como la
disposicin y capacidad para aplicarlo en procesos de transformacin que inciden en
la calidad de vida de la poblacin.
VALORATVA: Capacidad de apropiarse de valores como el respeto a la vida. La
dignidad humana, la convivencia, la solidaridad, la tolerancia y la libertad que orientan
las acciones del individuo como persona, como ser social y como profesional.
Para el logro de stas competencias, es necesario que se planifique de manera responsable
el proceso de aprendizaje autnomo por parte del estudiante si se quieren lograr resultados
positivos en el aprendizaje de los conceptos incluidos en el curso, este proceso se puede
planificar de la siguiente manera:
Autoestudio: Estudio individual del material sugerido y consulta de otras fuentes
(documentales, consulta en biblioteca, nternet, bibliografa recomendada, consulta a
bases de datos documentales, entre otros)
Trabajo en grupo: Creacin de grupos de estudio o discusin con el propsito de
preparar consultas estructuradas al tutor.
Consultas al tutor: Consulta al tutor de las inquietudes surgidas en el punto anterior.
Retroalimentacin: Una vez el tutor haya resuelto las inquietudes, estudie nuevamente
el tema, teniendo en cuenta las sugerencias o respuestas dadas por el tutor.
Procesos de evaluacin: Una vez se haya realizado el proceso de retroalimentacin,
desarrolle los diferentes momentos de evaluacin propuestos en el curso como son la
autoevaluacin, coevaluacin y heteroevaluacin cuando la actividad as lo solicite.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
INDICE DE CONTENIDO
UNIDADES DIDCTICAS
Primera Unidad CaptuIos Temas
NTRODUCCN
A LA
NTELGENCA
ARTFCAL
Objetivos y
aplicaciones de
la inteligencia
Artificial
nteligencia, definicin de nteligencia Artificial (A)
y evolucin histrica
Tcnicas de resolucin de problemas de A
Criterios de xito de la A
Resolucin de problemas de A:
Agentes
nteligentes
Definiciones y caractersticas de un Agente
nteligente.
Tipos y arquitecturas de agentes.
Complejidad de
los problemas.
Problemas de tiempo polinomial (P)
Problemas no polinomiales (NP)
Segunda Unidad CaptuIos Temas
LOS SSTEMAS
DE BUSQUEDA
ntroduccin a los
sistemas de
bsquedas
El papel de la bsqueda en la nteligencia
Artificial.
Componentes de un sistema de bsqueda
Clasificacin.
Bsquedas en
espacios de
estados
Algoritmos generales de bsqueda.
Estrategias de bsqueda.
Bsqueda heurstica
Otros tipos de
bsquedas
Algoritmos Genticos
Bsqueda en sistemas de juegos
Tercera Unidad CaptuIos Temas
REPRESENTAC
N DEL
CONOCMENTO
Y
RAZONAMENTO
El papel del
conocimiento en
la nteligencia
Artificial.
Paradigmas simblico y conexionista.
Modelos de representacin
Puntos de vista declarativos y normativos
Aplicaciones en la ciencia e ngeniera
Representacione
s basadas en
lgicas
El lenguaje de la lgica de predicados
Extensiones de la lgica clsica
Programacin lgica
Gestin de reglas
de produccin
nferencia
Reglas de produccin sin y con variables
ntroduccin al aprendizaje automtico de reglas.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
INTENCIONALIDADES FORMATIVAS
PROPSITOS
Facilitar la apropiacin de conocimientos para que el estudiante pueda Adquirir los
conceptos bsicos de la nteligencia Artificial.
Lograr que el estudiante comprenda los elementos bsicos de representacin,
eligiendo el formalismo ms adecuado y entender el funcionamiento de los diferentes
algoritmos de bsqueda.
OBJETIVOS
Estudiar los conceptos fundamentales de la inteligencia artificial (A) y conocer
algunos de los mtodos ms utilizados para construir sistemas inteligentes.

Analizar problemas y decidir si se puede o no aplicar bsqueda y en caso afirmativo
que tipo de tcnica utilizar.
Examinar las principales caractersticas de los Agentes nteligentes, su
funcionamiento, estandarizacin y elementos que los componen.
Explorar los conceptos bsicos sobre redes neuronales y lgica difusa.
COMPETENCIAS
El estudiante conoce La lgica de predicados consistente en un lenguaje para
expresar proposiciones y reglas para inferir nuevas proposiciones a partir de las que
ya conocemos.
El estudiante desarrolla la capacidad de abstraccin y anlisis terico en relacin con
la teora, para adquirir herramientas como los algoritmos de bsqueda y los rboles de
bsqueda para aplica estas capacidades a algunas asignaturas de la carrera.
METAS
Al terminar el curso el estudiante:
Debe demostrar la asimilacin de los conceptos fundamentales mediante la resolucin
de problemas acerca de los mismos, as como la realizacin de un reducido grupo de
practicas en el computador.
Desarrollar la capacidad de entender los problemas computacionales, y lograr una
comprensin acabada de ciertos tpicos de la ciencia de la computacin; en particular,
en lo referente a modelos bsicos de conmutabilidad y complejidad de problemas.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
JUSTIFICACIN
Dentro del campo de la informtica una de las reas que ms ha hecho evolucionar los
problemas que se pueden resolver por la utilizacin de los computadores ha sido la
nteligencia Artificial. El objetivo de la nteligencia Artificial consiste en la construccin de
sistemas tanto en hardware como software que sean capaces de replicar aspectos de lo que
se suele considerar inteligencia. Evidentemente este objetivo est muy ligado a la definicin
de la propia palabra inteligencia de la que existe aproximadamente una definicin por cada
persona.
Esto nos obliga a adoptar un punto de vista prctico y definir la nteligencia Artificial como el
conjunto de tcnicas mtodos herramientas y metodologas que nos ayudan a construir
sistemas que se comportan igual que un humano en la resolucin de problemas concretos.
Segn esta definicin la nteligencia Artificial involucra a muchos campos de investigacin y
desarrollo diferentes tales como la robtica, la visin artificial, la resolucin de problemas, los
sistemas expertos, la traduccin automtica, redes neuronales, sistemas difusos, etc.
El curso acadmico se centra en las tcnicas bsicas de realizacin de este tipo de sistemas,
que son la representacin del conocimiento y la bsqueda de soluciones. Ya que el tipo de
conocimiento que poseemos, sobre un determinado campo, no est normalmente
estructurado; segn los mecanismos de representacin utilizados en programacin
convencional como pilas, listas, matrices, variables etc. sino que estn estructurados,
utilizando mecanismos de representacin ms complejos. Es necesario entonces, ampliar el
conjunto de tcnicas computacionales bsicas, con un conjunto de formalismos de
representacin, que permitan mostrar estas estructuras ms complejas que empleamos los
humanos.
Estos formalismos son los que se estudiaran en la unidad didctica titulada Representacin
deI Conocimiento Una vez representado el conocimiento del humano, utilizando estos
formalismos de representacin, es necesario resolver los mismos problemas que resuelve el
humano experto. Apoyados en la unidad didctica de los Sistemas de Bsqueda
particularmente en la bsqueda heurstica, en donde se estudian una serie de mtodos de
seleccin, de las mejores alternativas de decisin para poder resolver problemas. Utilizando
el desarrollo de rboles de bsqueda que describen las posibles alternativas que tiene la
resolucin de un determinado problema.
As mismo se estudia cmo representar y manejar el conocimiento que hace que las
personas expertas resuelvan directamente problemas complejos, seleccionando en la mayor
parte de las ocasiones las mejores alternativas. Esto se har a partir del concepto de
heurstica, y apoyados en el concepto de la Wikipedia
2
que indica que "heurstica es la
capacidad de un sistema para realizar de forma inmediata innovaciones positivas para sus
fines. La capacidad heurstica es un rasgo caracterstico de los humanos, desde cuyo punto
de vista puede describirse como el arte y la ciencia del descubrimiento y de la invencin o de
2
Heurstica. (2010, 3) de junio. Wikipedia, La enciclopedia libre. Fecha de consulta: 19:30, junio 29, 2010 en Wikipedia
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
resolver problemas mediante la creatividad y el pensamiento lateral o pensamiento
divergente.
La palabra heurstica aparece en ms de una categora gramatical. Cuando se usa como
sustantivo, identifica el arte o la ciencia del descubrimiento, una disciplina susceptible de ser
investigada formalmente. Cuando aparece como adjetivo, se refiere a cosas ms concretas,
como estrategias heursticas, reglas heursticas o silogismos y conclusiones heursticas.
Claro est que estos dos usos estn ntimamente relacionados ya que la heurstica
usualmente propone estrategias heursticas que guan el descubrimiento.
Es decir que ayuda a los expertos en un campo a resolver problemas de forma ms eficiente,
que a los faltos de experiencia en el mismo campo.
Caractersticas de Ia InteIigencia ArtificiaI.
La caracterstica fundamental que distingue a los mtodos de nteligencia Artificial de los
mtodos numricos es el uso de smbolos no matemticos, aunque no es suficiente para
distinguirlo completamente.
Las conclusiones de un programa declarativo no son fijas y son determinadas parcialmente
por las conclusiones intermedias alcanzadas durante las consideraciones al problema
especfico. Los lenguajes orientados al objeto comparten esta propiedad y se han
caracterizado por su afinidad con la nteligencia Artificial.
El razonamiento basado en el conocimiento, implica que estos programas incorporan
factores y relaciones del mundo real y del mbito del conocimiento en que ellos operan. Al
contrario de los programas para propsito especfico, como los de contabilidad y clculos
cientficos; los programas de nteligencia Artificial pueden distinguir entre el programa de
razonamiento o motor de inferencia y base de conocimientos dndole la capacidad de
explicar discrepancias entre ellas.
Aplicabilidad a datos y problemas mal estructurados, sin las tcnicas de nteligencia Artificial
los programas no pueden trabajar con este tipo de problemas. Un ejemplo es la resolucin de
conflictos en tareas orientadas a metas como en planificacin, o el diagnstico de tareas en
un sistema del mundo real: con poca informacin, con una solucin cercana y no
necesariamente exacta.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
UNIDAD DIDCTICA 1
INTRODUCCIN A LA INTELIGENCIA ARTIFICIAL
INTRODUCCIN
La nteligencia Artificial, o A en trminos cortos, es una combinacin de la ciencia de los
computadores, la sicologa y la filosofa. La A cubre un espectro amplio, consistente en
campos de estudio diferentes, estos van desde la visin por computador hasta las redes
neuronales y los sistemas expertos. El elemento que los campos de la A tienen en comn es
la creacin o simulacin de maquinas que puedan "pensar.
Para clasificar las maquinas como pensantes, es necesario definir inteligencia. El problema
que aparenta ser simple es uno de los ms complejos del rea, en el entendido que la
inteligencia puede representar, por ejemplo, la solucin adecuada de problemas complejos o
a establecer generalizaciones y relaciones entre objetos. Qu se podra decir acerca de la
percepcin y la comprensin? Dnde podr situarse las formas de adquisicin del
conocimiento? y, si el pensar es un acto natural concomitante con la naturaleza Cules son
las herramientas que se necesitan para simular un comportamiento natural del pensar
humano?
OBJETIVO GENERAL
Establecer los principios que rigen la inteligencia artificial sus aplicaciones y evolucin.
OBJETIVOS ESPECIFICOS
Reconocer las diferentes definiciones de inteligencia artificial y la evolucin histrica
de la inteligencia artificial.
Describir y usar las tcnicas de resolucin de problemas con el nimo de establecer
normas para este propsito.
Reconocer el uso de los agentes inteligentes y su aplicacin
Estudiar la complejidad de los problemas y representar su estructura y las posibles
soluciones
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
ESTRUCTURA TEMATICA
Primera Unidad CaptuIos Temas
1. ntroduccin a
la nteligencia
Artificial
1.1. Objetivos y
aplicaciones de la
inteligencia artificial
1.1.1 Definicin de nteligencia Artificial (A) y
evolucin histrica
1.1.2. Tcnicas de resolucin de problemas de A
1.1.3. Criterios de xito de la A
1.1.4. Resolucin de problemas de A:
1.1.4.1. Definicin formal del problema
1.1.4.2. Estrategia de control: Mtodos de
bsqueda
1.1.4.3. Anlisis del problema
1.2. Agentes
nteligentes
1.2.1 Definiciones y caractersticas de un Agente
nteligente.
1.2.2 Tipos y arquitecturas de agentes.
1.3. Complejidad
de los problemas
1.3.1 Problemas de tiempo polinomial (P)
1.3.2 Problemas no polinomiales (NP)
CONCEPTOS BSICOS
Objetivos y ApIicaciones de Ia InteIigencia ArtificiaI
3
InteIigencia, definicin de InteIigencia ArtificiaI.
4
INTELIGENCIA
Es completamente posible establecer una escala aproximada de la inteligencia: muchas
personas son ms inteligentes que algunos chimpancs, un procesador de textos es una
mquina ms inteligente que una maquina de escribir mecnica, etc. Sin embargo no existe
una definicin cientfica de inteligencia.
Se reconoce que es difcil precisar el significado de la nteligencia, sin embargo algunas
definiciones mencionadas por algunos investigadores son:
a) BNET: buen discernimiento, buena comprensin, buen razonamiento.
b) SPEARMAN: la inteligencia general..... supone principalmente saber relacionar y
correlacionar.
c) TERMAN: capacidad para desarrollar conceptos y captar su significado.
3
nteligencia Artificial. (2010, 17) de mayo. Santiago, Pablo David. Fecha de consulta: marzo 15, 2010 disponible en este enlace.
4
ntroduccin a la nteligencia Artificial. (2009, 21) de agosto. Absolo, Maria Jos. Universitat de Les lles Balears. Fecha de consulta:
marzo 15, 2010 disponible en este enlace.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
d) VERNON: todo lo relacionado con capacidad para pensar o eficiencia mental.
e) BURT: capacidad innata, general, habilidad cognoscitiva.
f) HEM: la inteligencia denota capacidad para captar lo esencial de una situacin y
responder en consecuencia.
g) WECHSLER: capacidad general o global del individuo para actuar segn un propsito,
pensar racionalmente y relacionarse eficazmente con su entorno.
h) PAGET: adaptacin al entorno fsico y social.
i) MNSKY: inteligencia es todo lo que puede ser medido mediante pruebas de
inteligencia.
La combinacin de aptitudes, criterio, comprensin, razonamiento, conceptualizacin, saber
responder adecuadamente, adaptacin, etc. que se encuentran presentes en estas
definiciones sealan la naturaleza polifactica de la inteligencia
5
.
La inteligencia por otra parte esta relacionada con la habilidad para reconocer patrones,
deducir conclusiones razonables, analizar sistemas complejos como elementos simples y
resolver sus contradicciones, y aun es mucho ms que todo lo mencionado. La inteligencia
esta en un nivel mayor que la informacin y el conocimiento pero debajo del nivel de la
sabidura.
Una de las formas mas aceptadas para explicar la inteligencia, desde el punto de vista
computacional, constituye la prueba de Alan Turing elaborada en 1950. La idea de la prueba
de Turing es que si un interrogador decide errneamente que una mquina es una persona,
entonces se dice que dicha mquina exhibe inteligencia.
INTELIGENCIA ARTIFICIAL
Resulta obvi que la inteligencia es de por s un concepto bastante complicado de definir. Por
esta razn intentar definiciones para la inteligencia artificial es tambin compleja.
Quiz la inteligencia artificial debera llamarse inteligencia sinttica para que concuerde mejor
con el lenguaje comercial. As los diamantes artificiales son falsas imitaciones, mientras que
los diamantes sintticos son diamantes autnticos, slo que manufacturados en lugar de
desenterrados. No obstante el nombre, la inteligencia artificial aspira a una inteligencia
autntica, no a una falsa imitacin.
Marvin Minsky sugiere el carcter practico de la inteligencia artificial mencionando: "La
inteligencia artificial es la ciencia de hacer que las mquinas hagan cosas que requeriran
inteligencia si fueran hechas por seres humanos.
Elaine Rich: "La inteligencia artificial es el estudio de cmo hacer que los ordenadores hagan
cosas que por el momento las personas realizan de una forma ms perfecta.
5
nteligencia Artificial . (2007, 6) de junio. Jess Rocha Vera, Adrian Quisbert Vilela, Juan Condori Canaviri. Universidad Salesiana de
Bolivia. Fecha de consulta: abril 16, 2010 disponible en este enlace.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
Otras definiciones que pueden darnos una idea de lo que se llama inteligencia artificial:
Una de las reas de las ciencias computacionales encargadas de la creacin de
hardware y software con comportamiento inteligentes.
El estudio de las computaciones que permiten percibir, razonar y actuar.
Estudia como lograr que las mquinas realicen tareas que, por el momento, son
realizadas mejor por los seres humanos.
Desde el punto de vista de los objetivos, la A puede considerarse como parte de la
ingeniera o de la ciencia:
El objetivo ingenieril de la A es resolver problemas reales, actuando como un
armamento de ideas acerca de cmo representar y utilizar el conocimiento, y de como
ensamblar sistemas.
El objetivo cientfico de la A es explicar varios tipos de inteligencia. Determinar qu
ideas acerca de la representacin del conocimiento, del uso que se le da a ste, y del
ensamble de sistemas explican distintas clases de inteligencia.
AIgunas apIicaciones de Ia inteIigencia artificiaI:
Tareas de la vida diaria (ms difcil para una mquina que las tareas de un experto)
Percepcin (visin y habla)
Lenguaje natural (comprensin, generacin, traduccin)
Sentido comn
Control de un robot
Tareas formales
Juegos (ajedrez, backgammon, damas)
Matemticas (geometra, lgica, clculo, demostracin de propiedades)
Tareas de los expertos (necesitan un conocimiento menor que el conocimiento
necesario en las tareas ms comunes)
ngeniera (diseo, deteccin de fallos, planificacin de manufacturacin)
Anlisis cientfico
Diagnosis mdica
Anlisis financiero
Objetivos
Puesto que la meta de la inteligencia artificial es desarrollar sistemas que se comporten de
manera inteligente, es decir de manera similar a los seres humanos, Cercone & McCalla en
1984 disearon objetivos que cualquier sistema ideal de inteligencia artificial debe cumplir.
Un investigador de la inteligencia artificial debe ser capaz de:
a) Desarrollar un sistema de trabajo que se comporte de una manera inteligente
b) Validar el comportamiento del sistema mediante comparaciones con seres humanos
(objetivo de diseo externo)
c) Entender las implicaciones del sistema - su cobertura, lo que puede hacer (objetivo de
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
diseo interno)
d) Determinar que es lo que puede ser generalizado acerca del sistema, las lecciones
que ensea, las reas de impacto.
reas de investigacin
Los mayores esfuerzos de la investigacin en inteligencia artificial se concentraron en el
entendimiento del lenguaje natural, la visin por computadora, aprendizaje, prueba de
teoremas y programacin lgica, bsqueda, solucin y planeacin de problemas, sistemas
expertos, representacin de conocimiento y otras categoras tales como instruccin y tutora
inteligente asistida por computador, juegos, pronunciacin, programacin automtica y
herramientas de inteligencia artificial.
Sistemas Expertos
Son programas computacionales diseados para actuar como expertos en un dominio
particular restringido. Es importante debido a que trabaja con conocimiento en lugar del
tradicional dato.
La investigacin en representacin de conocimiento es central para el avance de los
sistemas expertos. Los componentes bsicos de un sistema experto son:
a) Base de Conocimiento. Es la representacin el conocimiento del dominio para la
solucin de problemas especficos, normalmente dicho conocimiento se estructura en
forma modular y declarativa.
b) Mquina de nferencia. Es el procedimiento que se encarga de realizar el
razonamiento a partir de los datos y utilizando el conocimiento acumulado en la base
de conocimiento. Es genrica, es decir, se puede aplicar a diferentes dominios slo
cambiando la base de conocimiento.
c) Memoria de Trabajo. Es el lugar donde se almacenan los datos de entrada y
conclusiones intermedias que se van generando durante el proceso de razonamiento.
d) nterfaz de Usuario. Se refiere a la entrada/salida al usuario del sistema, incluyendo,
normalmente, mecanismos de pregunta (porqu) y de explicacin (cmo).
e) nterfaz de Adquisicin. Hace referencia a la interface para la adquisicin del
conocimiento del dominio, puede incluir mecanismos para facilitar su adquisicin y
depuramiento interactivo y para automatizar la adquisicin (aprendizaje).
Los Sistemas Expertos son uno de los puntos que componen las investigaciones en el
campo de la A. Un sistema de computadores que trabaje con tcnicas de A deber estar en
situacin de combinar informacin de forma "inteligente", alcanzar conclusiones y
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
justificarlas. Los Sistemas Expertos son una expresin de los sistemas basados en el
conocimiento.
Con la aplicacin de tcnicas de nteligencia Artificial finaliza la transicin del procesamiento
de datos al procesamiento de conocimientos.
Los sistemas expertos se aplican por norma general en problemas que implican un
procedimiento basado en el conocimiento. Un procedimiento de solucin basado en el
conocimiento comprende las siguientes capacidades:
a) Utilizacin de normas o estructuras que contengan conocimientos y experiencias de
expertos especializados.
b) Deduccin lgica de conclusiones.
c) Capacidad para interpretar datos ambiguos.
d) Manejo de conocimientos afectados por valores probabilsticos.
Debido a la gran capacidad de almacenamiento de los computadores, los sistemas expertos
tienen el potencial de interpretar estadsticas, para interpretar el formalismo de
representacin conocido como reglas de produccin. Un sistema experto trabaja de manera
parecida a un detective encargado de resolver un misterio. Utilizando la informacin, y un
formalismo de representacin de conocimiento, un sistema experto puede resolver el
problema que se le plantee.
El Procesamiento del Lenguaje Natural (PLN) es una parte esencial de la A que investiga y
formula mecanismos computacionalmente efectivos que faciliten la interrelacin hombre
mquina y permitan una comunicacin mucho ms fluida y menos rgida que los lenguajes
formales. Todo sistema de PLN intenta simular un comportamiento lingstico humano; para
ello debe tomar conciencia tanto de las estructuras propias del lenguaje, como del
conocimiento general acerca del universo de discurso. De esta forma, una persona que
participa en un dilogo sabe cmo combinar las palabras para formar una oracin, conoce
los significados de las mismas, sabe cmo stos afectan al significado global de la oracin y
posee un conocimiento del mundo en general que le permite participar en la conversacin.
El PLN hace referencia a programas que permiten la comunicacin hombre-maquina en un
lenguaje parecido al humano. Cuenta con dos reas: comprensin del lenguaje natural y
generacin del lenguaje natural. La comprensin del lenguaje natural investiga los mtodos
que permitan al computador comprender las instrucciones dadas en lenguaje natural, de tal
manera que los computadores puedan entender de manera ms fcil al ser humano. La
generacin del lenguaje natural intenta mostrar que el computador puede ser capaz de
expresarse en lenguaje ordinario, de tal forma que se pueda entender a los computadores de
una manera mucho ms sencilla.
Reconocimiento deI HabIa
Hace ya tiempo que se estudia la posibilidad de desarrollar interfaces hombre-mquina
controlados por la voz para sustituir en ciertas aplicaciones a las interfaces tradicionales
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
basadas en teclados, paneles y dispositivos similares. Este nuevo tipo de interfaz constara
de dos mdulos de entrada/salida: uno de reconocimiento de habla, mediante el cual el
ordenador sera capaz de extraer informacin de los comandos orales del operador o
usuario, y otro de sntesis de voz, que podra ser una de las vas de presentacin de
resultados.
La utilizacin de la voz, y el Reconocimiento de Habla, como va de dar rdenes a los
computadores ofrece varias ventajas respecto al mtodo tradicional de comunicacin entre el
usuario y la mquina:
a) Hace esta comunicacin ms rpida, y ms agradable para los nuevos usuarios, ya
que al ser la forma natural de comunicarse no se necesita ninguna habilidad especial.
b) Permite tener las manos libres para utilizarlas en alguna otra actividad, a la vez que se
van dando rdenes por medio de la voz.
c) Permite movilidad, ya que la voz se puede enviar a distancia y ser recogida por un
micrfono, por oposicin a un teclado que no se puede mover de la mesa de trabajo.
d) Permite acceso remoto, al poder acceder a un ordenador usando la red telefnica, que
es la red de comunicaciones ms extendida.
e) Permite la disminucin del tamao de los paneles de control. Piense en el panel de un
avin, cuantos conmutadores manuales podran suprimirse si se utilizara la voz como
forma de comunicacin con un sistema de control Esta rea de investigacin permite
que los ordenadores entiendan el habla humana, de tal manera que se puedan or
voces y reconocer palabras habladas, simplificando el proceso de comunicacin
interactiva hombre - maquina. ncrementa el mtodo interactivo de comunicacin
primaria utilizada por las personas, el habla.
Visin por Computador
El trmino Visin por Computador (VC) dentro del campo de la nteligencia Artificial puede
considerarse como el conjunto de todas aquellas tcnicas y modelos que permiten el
procesamiento, anlisis y explicacin de cualquier tipo de informacin espacial obtenida a
travs de imgenes digitales. Desde sus inicios la VC ha inspirado sus desarrollos en el
estudio del sistema visual humano el cual sugiere la existencia de diferentes tipos de
tratamiento de la informacin visual dependiendo de metas u objetivos especficos, es decir,
la informacin visual percibida es procesada en distintas formas con base en las
caractersticas particulares de la tarea a realizar, por lo que la VC propone varias tcnicas
que permiten obtener una representacin del mundo a partir del anlisis de imgenes
obtenidas desde cmaras de video.
Debido a que la informacin visual es una de las principales fuentes de datos del mundo real,
resulta til el proveer a un computador digital del sentido de la vista (a partir de imgenes
tomadas con cmaras digitales o analgicas), que junto con otros mecanismos como el
aprendizaje hagan de esta una herramienta capaz de detectar y ubicar objetos en el mundo
real.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
Por consiguiente la investigacin en visin por computador tiene como objetivo dotar a los
computadores con la herramienta de visualizacin para el entendimiento y comprensin del
entorno que el computador est observando.
Robtica
Cuando se escucha la palabra Robot, algunas ocasiones se piensa de manera directa en
esas pelculas que han sorprendido por presentar Robots que realizan acciones superiores a
las capacidades del ser humano. Los modelos ms famosos de robots han sido los creados
por George Lucas en su pelcula Star Wars a quienes se conoce como C3PO y R2D2.
Mikell Groover, en su libro Automation, Production Systems and Computer Integrated
Manufacturing, define al robot industrial como: "una mquina programable, de propsito
general, que posee ciertas caractersticas antropomrficas, es decir, con caractersticas
basadas en la figura humana.... Cabe destacar que la caracterstica antropomrfica ms
comn en nuestros das es la de un brazo mecnico, el cual realiza diversas tareas
industriales. Existen en el mercado diversas empresas dedicadas a la fabricacin de robots
industriales por lo que existen diferentes marcas y modelos. Estos ltimos son normalmente
asignados para identificarlos o de acuerdo a su funcin.
Un resumen general de lo que constituye un robot industrial puede ser considerado sobre la
base de los siguientes puntos:
a) Un robot industrial es una mquina programable de propsito general que posee
ciertas caractersticas antropomrficas.
b) El componente principal lo constituye el manipulador, el cual consta de varias
articulaciones y sus elementos.
c) Las partes que conforman el manipulador reciben los nombres de cuerpo, brazo,
mueca y efector final o gripper. Otros elementos son el controlador, los mecanismos
de entrada y salida de datos y los dispositivos especiales.
d) Existen dos categoras de efectores finales (grippers): las pinzas y las herramientas.
Las pinzas pueden ser de tipo pivotante o de movimiento lineal entre otras. Entre las
herramientas se tiene a los desarmadores y las pistolas para soldar.
e) Los movimientos de un robot estn relacionados con los grados de libertad que posea.
Un grado de libertad es un nmero o tipo de movimiento del manipulador. Los grados
de libertad se determinan por los movimientos que ejecutan el brazo y la mueca del
robot que pueden ser de uno a tres cada uno.
La investigacin en esta rea tiende al estudio de las capacidades de los robots de poder
insertarse en la sociedad a manera de seres mecnicos capaces de controlar y resolver los
problemas discretos y mecanizados de su entorno.
Otras reas
Otras reas significativas para su estudio al interior de la inteligencia artificial son: las lgicas
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
no clsicas como la Lgica Difusa, las Redes Neuronales, los Algoritmos Genticos, la
Realidad Virtual, la Vida Artificial, los Agentes nteligentes, etc.
En este mdulo se intenta brindar la comprensin, anlisis y aplicacin de estas reas de la
inteligencia artificial. No es intencin revisar a detalle cada una de estas reas, sin embargo
es menester reconocer la importancia que han cobrado en esta ltima dcada de
investigacin en la inteligencia artificial. La mayor de las expectativas es compartir los
principios y fundamentos bsicos que proporcionan la importancia natural a estas reas, tan
trilladas y comentadas en este ultimo tiempo.
DesarroIIo histrico de Ia InteIigencia ArtificiaI segn Jackson:
1950-1965. Periodo "cIsico''
Gestacin [McColluck y Pitts, Shannon, Turing]
1956, la .A. tuvo su boom a partir de la conferencia efectuada en Darmouth College.
Estaban presentes importantes cientficos como McCarty (le dio el nombre a esta
nueva rea del conocimiento), Minsky (fundador del laboratorio de A del MT),
Shannon (laboratorios Bell), Rodhester (BM), Newell (presidente de la A.A.A..
Asociacin Americana de A), Simmon (premio Nbel de Carnegie Mellon University) -
Redes neuronales, robtica (Shakey).
Bsqueda en un espacio de estados, Heursticas, LSP.
Resolutor general de problemas (GPS) [Newell, Simon]. Resolucin de problemas de
sentido comn, los cuales incluyen razonamiento de objetos fsicos y sus relaciones,
como tambin razonamiento de acciones y sus consecuencias. Solo se resolvieron
tareas muy simples, pues no se pudo crear un programa con la cantidad suficiente de
conocimiento de un dominio especfico.
Se pone principal nfasis en la implementacin de juegos (ajedrez, damas, etc.) as
como en la demostracin de teoremas matemticos.
Limitaciones de pura bsqueda, explosin combinatoria.
1965-1975. Periodo "romntico''
Representacin "general'' del conocimiento.
Redes semnticas [Quillian]
Prototipos (frames) [Minsky]
Perceptrn [Minsky y Papert]
Lgica [Kowalski]
Mundo de bloques (SHDRLU) [Winograd]
Percepcin (visin y habla), compresin de lenguaje natural, robtica.
Dificultades de representacin "general'', problemas de "juguete''.
1975 - actuaIidad. Periodo "moderno'', InteIigencia "especifica'' vs. "generaI''
Se identifica la necesidad de trabajar en sociedad con profesionales de otras reas de
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
conocimiento.
Representacin explcita del conocimiento especfico del dominio.
Sistema experto mdico MYCN (experto en enfermedades infecciosas de la sangre)
iniciado en la Universidad de Stanford.
Sistemas expertos o basados en conocimiento.
Regreso de redes neuronales [Hopfield, Rumelhart, Hinton], algoritmos genticos
[Holland, Goldberg].
Reconocimiento de voz (HMM), incertidumbre (RB, Lgica difusa), planeacin,
aprendizaje.
Aplicaciones "reales'' (medicina, finanzas, ingeniera, exploracin, etc.).
Comercializacin de la A

1.1.2 Tcnicas de resoIucin de probIemas de InteIigencia ArtificiaI
Uno de los resultados que surgieron de las primeras investigaciones en A fue que la
inteligencia necesita conocimiento. El conocimiento posee algunas propiedades poco
deseables como:
Es voluminoso
Es difcil caracterizarlo
Cambia
Se organiza de manera que se corresponde con la forma en que va a se usado
Una tcnica de A es un mtodo que explota el conocimiento representado de manera que se
cumpla que:
Representa generalizaciones, es decir, no es necesario representar cada situacin
individual, sino que las situaciones que comparten propiedades importantes se
agrupan.
Debe ser entendido por las personas que lo provean.
Puede ser modificado para corregir errores y reflejar cambios en el mundo
Puede usarse en muchas situaciones aun sin ser totalmente exacto o completo
Puede usarse para superar su propio volumen, y disminuir el rango de posibilidades
que normalmente deben considerarse.
Se pueden caracterizar las tcnicas de A con independencia del problema a tratar.

Para solucionar problemas complicados, los programas que utilizan las tcnicas de A
presentan numerosas ventajas con respecto a los que no lo hacen:
Son menos frgiles, es decir, que no se despistan frente a una perturbacin pequea
de la entrada.
El conocimiento del programa es comprendido fcilmente por la gente.
Usa generalizaciones.
Tiene facilidad de extensin.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
Como contraposicin, generalmente tienen ms complejidad que otras soluciones.
Se anaIizan brevemente a continuacin dos tipos de probIemas bien diferenciados, y
dentro de cada uno se ejempIifica Io que se entiende por una tcnica de IA.
EjempIo 1: Tres en raya
A continuacin se plantean tres soluciones diferentes del problema de tres en raya
analizando la conveniencia de cada una. Para mejor detalle de las mismas consultar
[Rich98]
6
Ejemplo de tres en raya finalizado.
7
El tres en raya, tambin conocido como juego del gato, tatet, triqui, tres en gallo, michi o la
vieja, es un juego de lpiz y papel entre dos jugadores: O y X, que marcan los espacios de
un tablero de 33 alternadamente. Un jugador gana si consigue tener una lnea de tres de
sus smbolos: la lnea puede ser horizontal, vertical o diagonal.
Esta partida la gana el primer jugador, X:
SoIucin 1:
Una primera solucin directa a este juego podra ser la de almacenar en un vector las 19.693
(39) posibilidades de un tablero de 3 x 3 con tres valores posibles en cada casilla (vaco-X-
O), as como las correspondientes jugadas sucesoras. Para realizar una jugada, bastara con
acceder a la posicin del tablero actual y la jugada sucesora correspondiente. Las
desventajas de este eficiente programa son bastante obvias: necesita gran cantidad de
memoria; alguien debe realizar el pesado trabajo de introducir todas las jugadas y sus
sucesoras; y el juego no se puede ampliar, por ejemplo a tres dimensiones.
SoIucin 2:
El programa posee una estrategia para cada turno de jugador. Analiza el posible triunfo a
6
[Rich98] Rich E., Knight K. Inteligencia Artificial. McGraw-Hill, SBN: 84-481-1858-8, 1998
7
Tres en lnea. (2010, 1) de julio. Wikipedia, La enciclopedia libre. Fecha de consulta: 19:16, julio 6, 2010 disponible en este enlace.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
partir de un estado del tablero dado. Aunque es menos eficiente que la solucin anterior en
trminos de tiempo, tiene la ventaja que es ms eficiente en trminos de espacio. Su
estrategia es ms fcil de comprender y realizar cambios, aunque el programador debe
comprender la totalidad de la estrategia de antemano. Adems, no es posible generalizar
parte del conocimiento del programa hacia un dominio distinto, como tres en raya 3D.
SoIucin 3:
Una estructura contiene el tablero actual, as como una lista de posiciones del tablero que
podran ser el prximo movimiento, y una estimacin de la probabilidad de que esa jugada
lleve a la victoria. Para decidir la siguiente jugada se tienen en cuenta las posiciones de
tablero que resultan de cada movimiento posible. Se decide la posicin que corresponde a la
mejor jugada, considerando si la jugada produce la victoria, y en caso contrario considerando
todos los movimientos que el oponente puede realizar asumiendo que ste elegir el peor
para nosotros. El algoritmo inspecciona varias secuencias de movimientos intentando
maximizar la probabilidad de victoria. Necesita mucho ms tiempo que los dems, ya que
debe realizar una bsqueda en un rbol de posibilidades antes de realizar cada movimiento.
Sin embargo, es superior a las dems soluciones pues podra ser ampliado para manipular
juegos ms complicados. Adems, puede aumentarse su potencia usando conocimiento
sobre el juego, por ejemplo, en lugar de considerar todos los posibles movimientos
considerar solo un subconjunto siguiendo algn criterio razonable. Este programa es un
ejemplo del uso de una tcnica de A.
EjempIo 2: respuestas a preguntas
Se quiere realizar un programa que a partir de un texto escrito en espaol pueda responder a
preguntas en espaol sobre este texto. En este caso, es ms difcil que en el ejemplo anterior
determinar formalmente y con precisin en qu consiste el problema y en qu consiste una
solucin correcta para l. Un ejemplo de programa de preguntas y respuestas en ingls es el
programa POLTCS (Carbonell, 1980).
A continuacin se plantean tres soluciones diferentes analizando la conveniencia de cada
una. Para mejor detalle de las mismas consultar [Rich98].
8
SoIucin 1:
Se tienen conjunto de plantillas (templates) preguntas, por ejemplo "Que x y" asociada con
patrones (patterns) respuesta, por ejemplo "y x z". Responde a las preguntas usando el texto
de entrada de forma literal. Se hace coincidir fragmentos de texto de entrada con el patrn
respuesta, y se obtiene la respuesta, por ejemplo "z". Este algoritmo no puede contestar el
tipo de preguntas que la gente puede responder despus de una simple lectura del texto. La
habilidad para responder depende de la forma exacta de la pregunta, y de las variaciones
8
[Rich98] Rich E., Knight K. Inteligencia Artificial. McGraw-Hill, SBN: 84-481-1858-8, 1998
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
contempladas en el diseo de plantillas y patrones. El proceso de sustitucin de patrones
usado es llamado pattern matching. Pese a que lo que se entiende por A no incluye
programas como ste, sta tcnica es la usada en uno de los programas ms clebres de A,
ELZA.
SoIucin 2:
Transforma el texto de entrada dndole una estructura interna que intenta capturar el
significado de las frases, y tambin transforma las preguntas de igual manera. Las
respuestas se encuentran emparejando unas con otras formas estructuradas. Este enfoque
est ms basado en conocimiento que el primero, y tambin es ms efectivo. Puede
responder a la mayora de las preguntas cuyas respuestas se encuentran en el texto, y es
menos quebradizo con respecto a las formulaciones exactas de preguntas y respuestas.
Algunas preguntas necesitan conocimiento adicional sobre el mundo con el que trate el texto,
que esta solucin no posee.
SoIucin 3:
Al igual que la solucin anterior se transforma el texto en forma estructurada, pero a
diferencia del anterior, se combina esta forma con otras formas estructuradas que describen
conocimiento previo sobre los objetos y situaciones que aparecen en el texto. Este programa
es ms potente que los otros dos, debido a que responde a preguntas usando esta estructura
de conocimiento aumentada. Se utiliza lo que se denomina tcnica de A, pues est basado
en el conocimiento y en uso computacional eficaz de ese conocimiento.
Estos ejemplos ponen de manifiesto tres importantes tcnicas de A:
Bsqueda: proporciona una forma de resolver problemas en los que no se dispone de un
mtodo directo
Uso deI conocimiento: proporciona una forma de resolver problemas complejos explotando
las estructuras existentes entre los objetos involucrados
Abstraccin: proporciona una forma de separar aspectos y variaciones importantes de
aquellos otros sin importancia, y que en caso contrario podran colapsar el proceso.
1.1.3 Criterios de xito de la nteligencia Artificial
Para determinar el xito de un programa de A, se deben realizar las siguientes preguntas:
Est definida con claridad la tarea?
Existe un proceso instrumentado que efecta la tarea?
Existe un conjunto de restricciones identificables a partir de las cuales el
procedimiento implantado tiene poder?
Resuelve un problema real?
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
Crea una nueva oportunidad?
Test de Turing
En 1950, Alan Turing propuso el siguiente mtodo para determinar si una mquina es capaz
de pensar. Una persona es un entrevistador y se halla en una habitacin separada de otra
persona y un compuador a evaluar. El entrevistador hace preguntas a ambos de forma
escrita. Si luego de un cierto nmero de preguntas y respuestas, el interrogador no puede
identificar quin es el computador y quin es la persona, entonces podemos decir que el
computador piensa.
Se puede calibrar el xito de la A en dominios ms restringidos? Por ejemplo,
- el xito de un programa que juega al ajedrez se puede evaluar segn los jugadores
que pueda derrotar;
- el xito de otros programas puede medirse comparando el tiempo que tarda un
computador en llevar a cabo una tarea con el que tarda una persona en hacer lo
mismo. Por ej. programas usados en empresas informticas para configurar sistemas
particulares a las necesidades del cliente;
- en tareas de cada da es ms difcil, por ej. parafrasear un artculo del peridico, la
mejor forma de evaluarlo es ver si el programa responde de la misma forma que hara
una persona.
Cuando se quiere disear un programa de A, se debe intentar especificar tan bien como sea
posible el criterio de xito para el funcionamiento del programa en su dominio particular.
1.1.4 Resolucin de problemas de nteligencia Artificial
Para construir un sistema que resuelva un sistema especfico, es necesario:
1. Definir el problema formalmente con precisin.
2. Analizar el problema.
3. Representar el conocimiento necesario para resolver el problema.
4. Elegir la mejor tcnica que resuelva el problema y aplicarla.
1.1.4.1. Definicin formaI deI probIema
El primer paso para disear un programa que resuelva un problema es crear una descripcin
formal y manejable del propio problema. Sera adecuado contar con programas que
produzcan descripciones formales a partir de descripciones informales, proceso denominado
operacionalizacin. Dado que por ahora no se conoce la forma de construir estos programas
este proceso debe hacerse manualmente.
Hay problemas que por ser artificiales y estructurados son fciles de especificar (por ej. el
ajedrez, el problema de las jarras de agua, etc. ). Otros problemas naturales, como por ej. la
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
comprensin del lenguaje, no son tan sencillos de especificar.
Para producir una especificacin formal de un problema se deben definir:
Espacio de estados vlidos.
Estado inicial del problema.
Estado objetivo o final.
Reglas que se pueden aplicar para pasar de un estado a otro.
Un estado es la representacin de un problema en un instante dado. Para definir el espacio
de estados no es necesario hacer una enumeracin exhaustiva de todos los estados vlidos,
sino que es posible definirlo de manera ms general.
El estado inicial consiste en uno o varios estados en los que puede comenzar el problema. El
estado objetivo consiste en uno o varios estados finales que se consideran solucin
aceptable.
Las reglas describen las acciones u operadores que posibilitan un pasaje de estados. Una
regla tiene una parte izquierda y una parte derecha. La parte izquierda determina la
aplicabilidad de la regla, es decir, describe los estados a los que puede aplicarse la regla. La
parte derecha describe la operacin que se lleva a cabo si se aplica la regla, es decir, como
obtener el estado sucesor.

Por ejemplo, en el problema de jugar al ajedrez:
- El espacio de estados son la totalidad de tableros que se puede generar en un juego
de ajedrez.
- El estado inicial es el tablero de 8 x 8 donde cada celda contiene un smbolo de
acuerdo a las piezas situadas.
- El objetivo o estado final se define como cualquier posicin de tablero en la que el
contrario no puede realizar ningn movimiento legal y su rey est amenazado.
- Las reglas son los movimientos legales, que pueden describirse mediante una parte
patrn para ser contrastado con la posicin actual de tablero y otra parte que describe
el cambio que debe producirse en el tablero.
Dado que escribir exhaustivamente todas las reglas es imposible prcticamente, (en el
ejemplo, escribir todas las posiciones de tablero), las reglas deben escribirse de la manera
ms general posible.
La representacin como espacio de estados forma parte de la mayora de los mtodos de A.
Su estructura se corresponde con la resolucin de problemas porque:
Permite definir formalmente el problema, mediante la necesidad de convertir una
situacin dada en una situacin deseada mediante un conjunto de operaciones
permitidas.
Permite definir el proceso de resolucin de un problema como una combinacin de
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
tcnicas conocidas y bsqueda (la tcnica general de exploracin del espacio intenta
encontrar alguna ruta desde el estado actual hasta un estado objetivo).
Ejercicio 1: ProbIema de Ias jarras de agua
Se tienen dos jarras de agua, una de 4l y otra de 3l sin escala de medicin.
Se desea tener 2l de agua en la jarra de 4l. Las siguientes operaciones son vlidas: llenar las
jarras, tirar agua de las jarras, pasar agua de una jarra a otra.
SoIucin:
El espacio de estados se define como:
{ (X,Y) / X son los litros en la jarra de 4l con 0<=X<=4 AND Y son los litros de la jarra de 3l
con 0<=Y<=3 }
El estado inicial es (0,0)
El estado final es (2,0). El estado final podra ser (2,N) en caso de que no importen los litros
de la segunda jarra.
Las reglas que se pueden aplicar son:
1. Llenar la jarra de 4l: Si (X,Y) AND X<4 => (4, Y)
2. Llenar la jarra de 3l: Si (X,Y) AND Y<3 => (X, 3)
3. Vaciar la jarra de 4l: Si (X,Y) AND X>0 => (0, Y)
4. Vaciar la jarra de 3l: Si (X,Y) AND Y>0 => (X, 0)
5. Pasar agua de la jarra de 4l a la jarra de 3l hasta llenarla: Si (X,Y) AND X>0 AND
X+Y>=3 => (X-(3-Y),3)
6. Pasar agua de la jarra de 3l a la jarra de 4l hasta llenarla: Si (X,Y) AND Y>0 AND
X+Y>=4 => (4, Y-(4-X))
7. Pasar toda el agua de la jarra de 4l a la jarra de 3l: Si (X,Y) AND X>0 AND X+Y<3 =>
(0,X+Y)
8. Pasar toda el agua de la jarra de 3l a la jarra de 4l: Si (X,Y) AND Y>0 AND X+Y<4 =>
(X+Y,0)
El programa debera encontrar un pasaje de estados para ir del estado (0,0) al estado (2,0).
Puede existir ms de un pasaje de estados hacia la solucin, por ejemplo:
(0,0) => (0,3) => (3,0) => (3,3) => (4,2) => (0,2) => (2,0)
En la cual, a partir del estado inicial, se aplicaron las reglas 2, 8, 2, 6, 3 y 8, hasta conseguir
el estado objetivo.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
Otro pasaje de estados hacia la solucin es la siguiente:
(0,0) => (4,0) => (1,3) => (1,0) => (0,1) => (4,1) => (2,3) => (2,0)
En la cual se aplicaron las reglas 1, 5, 4, 7, 1, 5 y 4
Con respecto a las reglas se puede concluir que:
Las condiciones que se establecen en la parte izquierda a veces no son altamente
necesarias pero restringen la aplicacin de la regla a estados ms adecuados.
Esto incrementa la eficiencia del programa que utiliza las reglas. En el ejemplo anterior, la
regla:
1. Llenar la jarra de 4l: Si (X,Y) AND X<4 => (4,Y)
Contiene la condicin (X<4), especificando que la jarra no se encuentra llena. Si esta
condicin no se incluye, se puede aplicar la regla an cuando la jarra est llena. Dado que en
este caso el estado del problema no cambia la aplicacin de la regla se considera intil.
Las reglas no slo deben describir el problema sino tambin algn tipo de conocimiento
sobre su solucin. Si en el ejemplo anterior se considera la siguiente nueva regla:
Vaciar "un poco" la jarra de 4l: Si (X,Y) AND X>0 => (X-Q, Y)
Es decir, tirar agua sin cuantificar, intuitivamente se concluye que la aplicacin de esta regla
nunca nos acercar a la solucin del problema.
A veces, cuando se alcanzan algunos estados resulta obvio cmo se debe continuar hacia la
solucin. Es posible agregar reglas de propsito especial que capturen el conocimiento sobre
casos especiales que conducen a la resolucin del problema. En el ejemplo anterior, se
pueden agregar las siguientes reglas de propsito especial:
Si (X,2) => (2,0)
Si (2,Y) AND Y>0 => (2,0)
Estas reglas no aaden ms potencia al sistema ya que las operaciones que describen las
proporcionan otras reglas ms generales. En el ejemplo, la primera regla agregada es
equivalente a la aplicacin de las reglas generales 3 y 8; y la segunda regla agregada es
equivalente a la aplicacin de la regla general 4. Dependiendo de la estrategia de control que
se utilice para seleccionar reglas durante la resolucin del problema se puede mejorar el
rendimiento si se les da preferencia a las reglas de casos especiales.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
Ejercicio 2: ProbIema de Ios CanbaIes y Monjes
Se tienen 3 monjes y 3 canbales en el margen Oeste de un ro. Existe una canoa con
capacidad para dos personas como mximo. Se desea que los seis pasen al margen Este
del ro, pero hay que considerar que no debe haber ms canbales que monjes en ningn
sitio porque entonces los canbales se comen a los monjes. Adems, la canoa siempre debe
ser conducida por alguien.
9
SoIucin:
El espacio de estados est definido por:
{(Mo, Co, Me, Ce, C) / Mo es el nmero de monjes en el margen oeste con 0<=Mo<=3 AND
Co es el nmero de canbales en el margen oeste con 0<=Co<=3 AND (Co<=Mo OR Mo=0)
AND Me es el nmero de monjes en el margen este con 0<=Me<=3 AND Ce es el nmero de
canbales en el margen este con 0<=Ce<=3 AND (Ce<=Me OR Me=0) AND Co+Ce=3 AND
Mo+Me=3 AND C = [E|O] es el margen dnde est la canoa}
El estado inicial es (3,3,0,0,O)
El estado final es (0,0,3,3,E)
Las reglas que se pueden aplicar son:
1. Viajan un monje y un canbal de O a E:
Si (Mo, Co, Me, Ce, O) AND Mo>=1 AND Co>=1 AND Ce+1<=Me+1 => (Mo-1, Co-1,
Me+1, Ce+1, E)
2. Viajan un monje y un canbal de E a O:
Si (Mo, Co, Me, Ce, E) AND Me>=1 AND Ce>=1 AND Co+1<=Mo+1=> (Mo+1, Co+1,
Me-1, Ce-1,O)
3. Viajan dos monjes de O a E:
Si (Mo, Co, Me, Ce, O) AND Mo>=2 AND (Mo-2=0 OR Co<=Mo-2) AND Ce<=Me+2=>
(Mo-2, Co, Me+2, Ce, E)
4. Viajan dos monjes de E a O:
Si (Mo, Co, Me, Ce, E) AND Me>=2 AND (Me-2=0 OR Ce<=Me-2) AND Co<=Mo+2 =>
(Mo+2, Co, Me-2, Ce, O)
5. Viajan dos canbales de O a E:
Si (Mo, Co, Me, Ce, O) AND Co>=2 AND (Me=0 OR Ce+2<=Me) => (Mo, Co-2, Me,
Ce+2, E)
6. Viajan dos canbales de E a O:
Si (Mo, Co, Me, Ce, E) AND Ce>=2 AND (Mo=0 OR Co+2<=Mo) => (Mo, Co+2, Me,
Ce-2, O)
7. Viaja un monje de O a E:
Si (Mo, Co, Me, Ce, O) AND Mo>=1 AND (Mo-1=0 OR Co<=Mo-1) AND Ce<= Me+1
=> (Mo-1, Co, Me+1, Ce, E)
9
Una animacin del problema y un juego interactivo del mismo donde el estudiante puede probar las reglas puede ser encontrado en el
contenido en lnea del curso
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
8. Viaja un monje de E a O:
Si (Mo, Co, Me, Ce, E) AND Me>=1 AND (Me-1=0 OR Ce<=Me-1) AND Co<=Mo+1 =>
(Mo+1, Co, Me-1, Ce,O)
9. Viaja un canbal de O a E:
Si (Mo, Co, Me, Ce, O) AND Co>=1 AND (Me=0 OR Ce+1<=Me) => (Mo, Co-1, Me,
Ce+1, E)
10. Viaja un canbal de E a O:
Si (Mo, Co, Me, Ce, O) AND Ce>=1 AND (Mo=0 OR Co+1<=Mo) => (Mo, Co+1, Me,
Ce-1, E)
Nota: En referencia a la regla 3 la condicin Ce<=Me+2 puede intuirse como redundante.
Esta condicin no se cumple slo en el caso Ce=3 y Me=0. Pese a que es un estado que
pertenece al espacio de estados vlidos, podemos intuir que nunca se llega a tener 3
canbales y ningn monje del lado Este y la barca del lado Oeste. De todas maneras slo se
puede eliminar si podemos demostrar formalmente la imposibilidad de esta situacin.
Un pasaje de estados para ir de (3,3,0,0,O) a (0,0,3,3,E) es el siguiente:
(3,3,0,0,O) => (3,1,0,2,E) => (3,2,0,1,O) => (3,0,0,3,E) => (3,1,0,2,O) => (1,1,2,2,E) =>
(2,2,1,1,O) => (0,2,3,1,E) => (0,3,3,0,O) => (0,1,3,2,E) => (0,2,3,1,O) =>(0,0,3,3,E)
1.1.4.2. Estrategia de controI: Mtodos de bsqueda
10
El problema puede resolverse con el uso de reglas en combinacin con una estrategia de
control para trasladarse a travs del espacio de estados hasta encontrar un camino desde el
estado inicial hasta el estado final. Se elige una regla entre aquellas cuya parte izquierda
concuerda con el estado actual. Se aplica la regla elegida realizando el cambio de estado tal
como se describe en la parte derecha de la regla. Si el nuevo estado es estado objetivo o
final se ha encontrado la solucin. En caso contrario se contina con la aplicacin de reglas
al nuevo estado.
Una estrategia de controI especifica el orden en el que se deben aplicar las reglas, as
como tambin la forma de resolver conflictos cuando es posible aplicar ms de una regla.
Para que una estrategia de control sea vlida debe cumplir con dos requisitos:
Causar cambios:
las estrategias de control que no causan cambios de estado nunca alcanzan la
solucin. Un ejemplo de estrategia de control que no causa cambios es seleccionar
siempre la primera regla aplicable de la lista de reglas definidas. En el ejemplo de las
jarras de agua, se continuara indefinidamente aplicando las reglas 1 y 3 sin
posibilidad de arribar a la solucin.
Ser sistemtica:
las estrategias de control que no son sistemticas pueden utilizar secuencias de
10
Una ampliacin del tema puede ser encontrada en la segunda unidad didctica de este mdulo.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
operaciones no apropiadas varias veces hasta alcanzar la solucin. Un ejemplo de
estrategia de control no sistemtica es seleccionar la regla a aplicar al azar. Esta
estrategia puede encontrar la solucin eventualmente, pero luego de haber realizado
varios pasos innecesarios e incluso haber vuelto varias veces al mismo estado.
En caso de no contar con una aproximacin directa al problema, el proceso de bsqueda
resulta fundamental en la resolucin del mismo. Los algoritmos de bsqueda detallados a
continuacin son ejemplos de estrategias de control sistemticas. Todos se basan en
considerar un rbol de estados cuya raz es el estado inicial, y en cada nivel se hallan los
estados sucesores correspondientes.
Bsqueda Breadth-First Search (primero en ancho)
Este algoritmo de bsqueda visita cada nodo del rbol por niveles, es decir, visita todos los
nodos de un nivel antes de visitar los del siguiente. A continuacin se detalla un pseudo-
cdigo de este algoritmo:
Lista_nodos = [estado_inicial];
Mientras Not Vacia(lista_nodos)
estado_actual = lista_nodos.primero;
Si EstadoFinal(estado_actual) entonces
Terminar;
Sino
lista_reglas = ReglasAplicables (estado_actual);
Mientras NOT Vacia(lista_reglas)
estado_sucesor = AplicarRegla (lista_reglas);
lista_nodos = lista_nodos + [estado_sucesor];
Fin Mientras;
Fin Sino;
Fin Mientras;
Este algoritmo bsico debera modificarse para detectar el caso en que se vuelva a alcanzar
un estado que ya ha sido visitado con anterioridad. En este caso, debera realizarse una
"poda" de la rama del rbol, ya que en caso contrario se volvera a generar un subrbol ya
generado.
Con la bsqueda a lo ancho se asegura que una vez alcanzada una solucin no existe otra
ruta hacia la solucin que tenga menor cantidad de pasos. Una desventaja de este algoritmo
es que para alcanzar una solucin de n pasos, debe haber explorado todo el espacio de
estados hasta ese nivel.
Ejercicio:
Realizar el rbol de bsqueda a lo ancho para encontrar la solucin del problema de las
jarras de agua. Se le recomienda al lector realizar este ejercicio como prctica.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
Bsqueda Depth-First Search (primero en profundidad)
Este algoritmo de bsqueda contina por una rama del rbol hasta encontrar la solucin o
decidir terminar la bsqueda por esa direccin (por llegar al estado final, por tener un largo
de ruta que supera una cota mxima determina, por haber llegado a un estado ya visitado,
etc.). Al fracasar una ruta, se realiza un backtracking o vuelta atrs, continuando la
exploracin en el paso inmediatamente anterior. A continuacin se detalla un pseudo-cdigo
de este algoritmo recursivo que inicialmente es llamado con el estado_inicial:
Funcin Buscar (estado_actual) devuelve Boolean
Comienzo
Si EstadoFinal(estado_actual) entonces
Devolver TRUE;
Sino
exito = FALSE;
lista_reglas = ReglasAplicables (estado_actual);
Mientras NOT exito AND NOT Vacia(lista_reglas)
estado_sucesor = AplicarRegla (lista_reglas);
exito = Buscar (estado_sucesor);
Fin Mientras;
Devolver exito;
Fin Sino;
Fin Buscar;
Este algoritmo bsico debera modificarse para terminar la bsqueda en una rama que se
alcanza un estado que ya visitado.
Con la bsqueda en profundidad no es necesario tener almacenado todo el espacio de
estados, sino slo el camino que se est explorando. Puede encontrar la solucin sin tener
que explorar gran parte del espacio de estados. Como desventajas de este algoritmo se
seala que puede seguir una ruta infructuosa durante muchos pasos, y adems la primera
solucin que encuentra puede distar mucho de ser la solucin de mnima cantidad de pasos.
Bsqueda Heurstica
Existen algunos problemas en los que resulta imposible explorar el rbol del espacio de
estados pues resulta en una explosin combinatoria. Por ej. en el problema del viajante, se
debe encontrar la ruta mnima entre N ciudades a visitar. Si se aplica cualquiera de los dos
algoritmos de bsqueda anteriores, nos encontramos ante un costo computacional no
polinomial O(N!).
Una heurstica es una tcnica que aumenta la eficiencia de un proceso de bsqueda. El
objetivo es guiar al proceso de bsqueda en la direccin ms provechosa sugiriendo el
camino a seguir cuando hay ms de una opcin.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
Las heursticas pueden ser:
GeneraIes: son adecuadas para una amplia variedad de dominios. Por ej. la heurstica
del vecino ms prximo (nearest neighbor) se aplica a muchos problemas
combinatorios. En el ejemplo del problema del viajante, se comienza por una ciudad
arbitraria continuando en cada paso por la ciudad ms cercana no visitada. Esto
resulta en una reduccin del costo computacional a O(N2).
De propsito especiaI: explotan el conocimiento especfico de un dominio para
resolver problemas particulares.
Las heursticas pueden sacrificar la completitud, es decir, pueden pasar por alto una buena
solucin. Sin embargo, existen varios argumentos a favor de usarlas:
Sin el uso de heursticas se puede tener una explosin combinatoria.
En muchos casos no se necesita la solucin ptima sino una buena aproximacin.
Segn Simon (1981), las personas resuelven problemas "satisfaciendo" y no
"optimizando".
Las aproximaciones que se logran con heursticas pueden ser malas para los peores
casos de un problema, pero stos raramente sedan en el mundo real.
El esfuerzo de intentar comprender por qu funciona o no una heurstica sirve para
profundizar en la comprensin del problema.
Las heursticas se pueden incorporar a un proceso de bsqueda basado en reglas de dos
maneras:
Dentro de las mismas reglas. Por ej. en el ajedrez, las reglas pueden describir,
adems de los movimientos legales, tambin las buenas jugadas.
Como una funcin que evala estados determinando su grado de "deseable". Esta
funcin evala aspectos del problema dando pesos a aspectos individuales, de
manera que el valor que devuelve es una estimacin de que el nodo pertenece a la
ruta que conduce a la mejor solucin. Por ej. en el ajedrez se puede tener una funcin
a maximizar la cual devuelve el nmero de piezas de ventaja; en el problema del
viajante se puede tener una funcin a minimizar la cual devuelve la suma de distancias
recorridas; en el tres en raya se puede tener una funcin que compute un punto por
cada ficha en cada fila, columna o diagonal que se pueda ganar.
En conclusin, las heursticas representan el conocimiento general y especfico del mundo,
que hace que sea abordable solucionar problemas complejos.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
1.1.4.3. AnIisis deI probIema
Luego de definir el problema formalmente, el segundo paso en la resolucin del problema es
el anlisis del mismo. A fin de poder elegir el mtodo ms apropiado para resolver un
problema particular, es necesario analizar distintas cuestiones que afectan a al definicin del
mismo y a las caractersticas de la solucin deseada. Existen varias preguntas a responder
acerca del problema:
1. Puede descomponerse el problema en subproblemas ms pequeos?
2. Pueden deshacerse pasos inadecuados hacia la solucin?
3. Es predecible el universo del problema?
4. Una solucin es buena de manera absoluta o relativa?
5. La solucin deseada es un estado o la ruta hacia un estado?
6. El conocimiento se necesita para resolver el problema o para restringir la bsqueda
de la solucin?
7. El programa que soluciona el problema busca la solucin solo o necesita interactuar
con una persona?
1. Puede descomponerse eI probIema en subprobIemas ms pequeos?
Algunos problemas pueden descomponerse en subproblemas independientes, de manera
que encontrar una solucin global es la composicin de soluciones particulares. Por ej. en la
resolucin de integrales, una integral puede descomponerse por partes, y resolver las partes
simples directamente o descomponerlas recursivamente.
Por otra partes, existen otros problemas que no pueden descomponerse y componer la
solucin a partir de las soluciones parciales de sus partes. Por el contrario, una solucin
necesita considerar globalmente el problema. Por ej. el problema del mundo de los bloques.
2. Pueden deshacerse pasos inadecuados hacia Ia soIucin?
Algunos problemas permiten deshacer uno o varios pasos hacia una solucin una vez
realizados. En este aspecto, existen tres categoras en las que puede dividirse un problema:
RecuperabIes:
En un punto dado es posible deshacer todos los pasos inadecuados hacia la solucin.
Por ej. en el juego 8-puzzle. La estructura de control se implementa con una pila push-
down en la que se almacenan las decisiones para poder volver atrs.
No recuperabIes:
En un punto dado no es posible deshacer ningn paso realizado. Por ej. en una
partida de ajedrez no se puede volver atrs una vez movidas las piezas. En estos
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
problemas el sistema debe esforzarse en la toma de decisiones pues stas son
irrevocables. Algunos usan una planificacin en la que se analiza por adelantado una
secuencia de pasos antes de realizar el primer paso para descubrir a donde conduce.
IgnorabIes:
En un punto dado es posible ignorar los pasos realizados hasta el momento y
comenzar de nuevo con una nueva solucin. Por ej. un demostrador de teoremas
puede abandonar una demostracin basada en un lema dado y comenzar
nuevamente. Estos problemas se resuelven con estrategias de control sencillas que
nunca vuelven hacia atrs.

3. Es predecibIe eI universo deI probIema?
Los problemas pueden se de:
Consecuencia cierta:
Es posible planificar una secuencia de movimientos estando seguros del resultado a
obtener. Se puede realizar una planificacin para generar operadores que garanticen
llegar a la solucin.
Consecuencia incierta:
No es posible planificar con certeza pues no se sabe que ocurrir luego del siguiente
movimiento. Sin embargo, se puede realizar una planificacin para generar
operadores que tengan una buena probabilidad de llegar a la solucin.
Los problemas ms difciles de resolver son los no recuperables de consecuencia
incierta. Por ej. el control del brazo de un robot: es de consecuencia incierta pues
alguien puede interponer un objeto en la ruta del brazo, se puede atascar, etc.
4. Una soIucin es buena de manera absoIuta o reIativa?
La solucin de un problema puede consistir en encontrar:
AIgn camino:
Slo importa encontrar una solucin sin importar si existen otros caminos que
conducen a la solucin. Generalmente se resuelven con heursticas. Por ej. programa
de respuestas a preguntas.
EI mejor camino:
mporta encontrar la ruta ms corta hacia la solucin. Son problemas ms complicados
de computar. Algunos requieren una bsqueda ms exhaustiva que usando
heursticas. Por ej. en el problema del viajante importa encontrar la ruta ms corta
entre las ciudades a visitar.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
5. La soIucin deseada es un estado o Ia ruta hacia un estado?
La solucin de un problema puede consistir en encontrar:
Un estado finaI:
No es necesario el registro del proceso seguido, slo importa arribar a la solucin final.
Por ej. nterpretar texto.
Una ruta hacia un estado finaI:
Se necesita dar el camino seguido desde el estado inicial al estado final. Por ej.
Problema de las jarras de agua.
6. EI conocimiento se necesita para resoIver eI probIema o para restringir Ia
bsqueda de Ia soIucin?
El conocimiento puede emplearse para:
Reconocer Ia soIucin:
Se necesita gran cantidad de conocimiento acerca del problema para poder encontrar
una solucin. Por ej. comprensin de texto.
Acotar Ia bsqueda:
La solucin bsica puede encontrarse con poco conocimiento, pero para restringir el
rbol de bsqueda y encontrar la solucin de manera ms eficiente es necesario
contar ms conocimiento. Por ej. en el ajedrez se necesita bsicamente poco
conocimiento para conocer los movimientos legales y un mecanismo sencillo de
bsqueda. Pero dado que para aumentar la eficiencia de la bsqueda sta debe
restringirse, se necesita conocimiento de heursticas de buenas estrategias y tcticas
para jugar.
7. EI programa que soIuciona eI probIema busca Ia soIucin soIo o necesita
interactuar con una persona?
Con respecto a la relacin programa-usuario, existen dos tipos de programas que solucionan
el problema:
SoIitarios:
Reciben como entrada el problema y dan como salida la solucin. No importa el
razonamiento que haya seguido la mquina para encontrar la solucin. Por ej.
problema de las jarras de agua.
ConversacionaIes:
Existe una comunicacin hombre-mquina de manera que el usuario puede ayudar a
la mquina o la mquina puede informar al usuario durante la bsqueda de la solucin.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
Para que esta comunicacin sea posible debe existir una correspondencia entre el
razonamiento seguido por la mquina y la forma de razonamiento humano. Por ej. en
un sistema experto de diagnstico mdico, el usuario no aceptara el veredicto de una
mquina si no puede comprender el razonamiento que la llev a l.
Ejercicio propuesto: Torres de Hanoi
11
Definir formalmente y analizar los 7 puntos anteriores en el siguiente problema:
Se hallan N discos de distinto tamao apilados sobre una base 1 de manera que cada disco
se encuentra sobre uno de mayor radio. Existen otras dos bases vacas 2 y 3. El objetivo es
llevar todos los discos de la base 1 hasta la base 3, para lo cual puede usarse la base 2.
Considerar que se puede mover slo un disco a la vez, y cada disco puede descansar
solamente en las bases y no en el suelo. Recordar que los discos deben situarse siempre
sobre uno de mayor radio.

Estado iniciaI deI juego:
SoIucin:
11
Una versin en lnea del juego puede ser encontrada en la web de Gonzalo Mena-Mendoza a travs de este enlace.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
AGENTES INTELIGENTES
12
Una de las ramas de la inteligencia artificial que empieza a tener ms auge hoy en da, es la
de los Agentes nteligentes. A pesar de que sta tuvo su origen a principios de los 80s, es
apenas hasta ahora cuando se empieza a ver su aplicacin debido al gran desarrollo que han
tenidos las redes.
Los Agentes nteligentes se caracterizan por desenvolverse en un entorno, ejecutar acciones
sobre el, basndose en percepciones para lograr metas deseadas por el usuario.
INTRODUCCION
Hoy en da lo que podemos encontrar en nternet son servicios sofisticados y herramientas
para acceder a ellos, como servidores de informacin o navegadores. Pero lo que los
usuarios desean realmente son soluciones concretas: encontrar en la red el hotel ms
cmodo al mejor precio o la mejor inversin en bolsa.
Para lograr estos los Agentes nteligentes dialogan con el usuario de forma sencilla y natural
definiendo as lo que este realmente desea, despus de haber definido el problema, el
agente empieza a solucionarlo consultando sus fuentes de informacin o dialogando con
otros agentes, y le va informando de manera evolutiva las soluciones logradas al usuario. Si
ste no queda satisfecho, contina la bsqueda hasta agotar las fuentes o hasta que el
usuario quede satisfecho con la solucin.
La inteligencia del agente es demostrada a travs de su funcionalidad. El usuario se dar
cuenta de esta a medida que el agente le resuelva las tareas que le plantee, de manera
eficiente; su funcionalidad mejorar a medida que resuelve mayor nmero de casos. Esta
capacidad de adaptacin permite al agente conocer mejor las preferencias de los usuarios y
atenderlos de forma personalizada.
Los Agentes nteligentes se caracterizan por actuar en un ambiente en particular y ser
capaces de realizar ciertas acciones, basados en su entorno, hasta realizar la tarea que les
fue encomendada, esas tareas van desde recomendaciones para el usuario hasta solucin
de problemas.
A pesar de que los Agentes nteligente son una rama de la nteligencia Artificial relativamente
muy nueva, se tienen grandes expectativas sobre estos ya que tiene enormes perspectivas
de aplicacin.
QU ES UN AGENTE?
Existen muchas definiciones de Agentes, pero una de las mas simples es la de Franklin and
12
Agentes nteligentes, Luz Adriana Roldn Pardo. Estudiante de ngeniera de sistemas Cod.200010075010, Universidad EAFT, Abril de
2004
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
Graesser "Un agente es un sistema situado en y parte de un entorno que siente ese entorno
y acta sobre l, a travs del tiempo, persiguiendo sus propios objetivos de forma que afecte
lo que siente en el futuro.
Basndonos en algunos ejemplos que mostraremos posteriormente, el entorno en el cual
esta situado el agente, es nternet, la percepcin se puede ver cuando acta sobre el
entorno a medida que va recibiendo e instruyndose de las peticiones que hace el usuario
sobre el y las acciones se clarifican cuando el agente nos muestra informacin que el mismo
ha buscado en nternet.
Como podemos ver en la imagen de la
derecha
13
el agente percibe su
ambiente mediante sensores y acta en
l mediante actuadores, para entender
esto de una mejor manera, observemos
un agente humano, este posee ojos y
odos los cuales le sirven como
sensores, as como piernas, manos,
boca y otros rganos que le sirven
como actuadores.
Conceptos bsicos de Agentes
14
13
V. Julin, V. Botti Dpto. sistemas nformticos y Computacin Universidad Politcnica de Valencia vbotti,vingladadsic.upv.es
14
Agentes y Sistemas Multiagente: ntegracin de conceptos bsicos. Grupo de nvestigacin HDRA . Universidad de los Andes. Fecha
de consulta: febrero 10, 2010 disponible en este enlace.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
AGENTE INTELIGENTE
15
maginmonos al llegar por la maana al trabajo, sentarse al teclado del computador e
ingresar a nuestra cuenta de correo electrnico, muchas personas se ven inundadas por
decenas, incluso cientos de mensajes de correo electrnico. Algunos de esos mensajes
tienen algo interesante: se refieren a una pregunta que alguien haba hecho anteriormente,
contienen informacin que puede conducir a una venta, o son simplemente un mensaje de un
amigo hacindonos una invitacin. Otros, solo, contienen correo basura. La cuenta de correo,
solo nos proporciona informacin mnima sobre el contenido del mensaje: el nombre del
autor, su direccin de correo, a veces una lnea de Subject o tema que tiene que ver con el
contenido, a veces no.
maginemos, por el contrario: al sentarnos frente al computador y encontrar una ventana que
se abre en pantalla y nos muestra dos o tres mensajes de correo, clasificados como
importantes o urgentes. Tambin nos da la opcin de leer los menos urgentes, y muestra
claramente un cubo de basura al cual han sido enviados otros mensajes. Al da siguiente, los
mensajes similares a los "menos urgentes" ledos anteriormente son considerados ms
importantes, y colocados ms arriba en la lista de lectura. Adems, uno de los mensajes de
la lista de correo se considera importante, y se coloca en la lista de "importantes", y nos avisa
de que el peridico al cual estamos suscritos en lnea contiene una noticia "interesante". Aqu
se puede ver la existencia de un agente inteligente.
Otros ejemplos en los cuales se puede ver la aplicacin de Agentes nteligentes: estos
pueden organizar agendas de visitas, citas, fechas alternativas, tareas pendientes, etc. En
las universidades se han desarrollado agentes que usan el correo electrnico para resolver
tareas, como: planificacin de clases, citas de los alumnos, agenda, etc. El "agente" recoge
en el computador la peticin de entrevista de un alumno, acepta y anota la cita o, si el
profesor est ocupado, propone una nueva y negocia la fecha con el estudiante.
En los negocios, se han comenzado a desarrollar asistentes personales para realizar
inversiones, para proporcionar informacin especializada sobre determinados temas
(econmicos, jurdicos, polticos, de ocio etc.) El comercio electrnico y la publicidad son
otros campos de aplicacin, as como el seguimiento de las incidencias de los clientes o la
realizacin de posibles ofertas, en el caso de que decidan utilizar los servicios de la
competencia.
Un Agente nteligente, al igual que un sistema operativo no se puede llamar un programa.
Una de las caractersticas que distingue a los Agentes inteligentes de los dems programas
es su autonoma, y al ser autnomos son proactivos, esto quiere decir, que no slo actan
cuando responden a una accin del usuario, sino que tambin actan siguiendo sus propios
objetivos; y tambin son persistentes "que no se pueden "apagar"; incluso aunque el usuario
15
Agentes Autnomos nteligentes, REDCientifica. J.J. Merelo disponible en este enlace.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
no est interaccionando con ellos; los agentes siguen funcionando, recolectando
informacin, aprendiendo y comunicndose con otros agentes.
El afectar lo que se perciba en el futuro implica inteligencia, al menos en el sentido que se
aprenda de los fallos para no volver a cometerlos en el futuro, lo cual implica adaptatividad.
El aprendizaje normalmente se realizar a travs de la interaccin con un usuario. Y
adems, la percepcin y accin implican comunicacin, que se puede realizar con programas
no-agentes o con otros agentes, lo cual puede dar lugar a sociedades de agentes.
Los agentes inteligentes han tenido tres generaciones:
Primera generacin: Estos agentes ya existen, y bsicamente se basan en hacer
comparaciones de precios cuando se desea realizar una compra.
Segunda Generacin: Estos agentes tambin se pueden ver hoy en da, a diferencia de la
primera generacin, estos agentes aparte de comparar el precio tambin comparan el
producto como tal.
Tercera Generacin: Este tipo de agentes aun no existe, pero lo que se pretende es que
hagan todo el proceso de la compra, para el usuario.
Un agente tiene un conjunto de propiedades las cuales los caracterizan y diferencian de los
dems programas, aunque, un agente puede poseer solo algunas de estas propiedades:
PROPIEDADES DE LOS AGENTES INTELIGENTES
Continuidad TemporaI: El agente debe estar ejecutndose constantemente y
desarrollando sus funciones, no se detiene as el usuario no este interactuando con el.
PersonaIidad: Tiene una personalidad creble, bien definida, que facilita la interaccin
con usuarios humanos.
Autonoma: Si el agente se encuentra en un entorno cambiante es capaz de
adaptarse y tomar decisiones dependiendo de su experiencia.
SociabiIidad: El agente interacta con otros agentes e incluso con otras entidades.
RacionaIidad: el agente siempre realiza "lo correcto a partir de los datos que percibe
del entorno.
Adaptatividad: Se adapta fcilmente a las indicaciones de los usuarios y a los
cambios en el entorno basndose en su experiencia.
MoviIidad: capacidad de un agente de trasladarse a travs de una red telemtica.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
CLASIFICACION DE LOS AGENTES INTELIGENTES
Los agentes se clasifican segn el entorno en el cual se encuentren:
Agentes de refIejo simpIe: Son agentes que funcionan segn un conjunto de reglas
condicin-accin. El agente capta el estado actual del entorno en el cual se encuentra por
medio de los censores, luego busca entre las reglas cual coincide con la percepcin para
luego ejecutar la accin conveniente. Este agente funciona correctamente solo si se toma la
decisin adecuada basndose en la percepcin de ambiente en un momento dado.
Agentes informados de Io que pasa: Es un agente capas de ejecutar acciones basndose
en percepciones y acciones ejecutadas anteriormente analizando el entorno no solo en el
momento actual, tambin en momentos anteriores.
Agentes basados en metas: El agente debe saber las metas que se desean alcanzar, no
es suficiente solo con saber el estado actual del entorno en el cual se encuentra. El agente
deber ser capaz de analizar la situacin actual del entorno con las posibles acciones que se
podran ejecutar y de esta manera seleccionar la accin que mas le convenga para alcanzar
las metas de una manera mas sencilla.
Agentes de interfaz: Se caracteriza por su capacidad de hacer comprensible las interfaces.
Tambin denominados asistentes personales, tiene como objetivo simplificar las tareas
rutinarias que realiza un usuario, por ejemplo, detectar que una noticia pueda ser importante
para un usuario y comunicrselo.
Agentes mviIes: Esto quiere decir que el agente puede transitar entre varias maquinas
para utilizar recursos de los cuales no dispone en su propia maquina o simplemente para
evitar una sobre carga de comunicacin. En este tipo es principal problema es la seguridad.
Agentes de informacin: Su objetivo es recolectar informacin a travs de la red , indexarla
y ofrecrsela al usuario cuando realiza una consulta. Estos agentes han tenido gran acogida
debido ha las grandes cantidades de informacin que circulan hoy por hoy en la red.
Agentes consejeros: Este tipo de agente da consejos al usuario referentes a una
herramienta, o un sistema de diagnostico o ayuda.
Agentes de navegacin: Estos agentes son utilizados para navegar en la red, su funcin
principal es recordar sitios y direcciones de inters para el usuario.
Agentes de monitoreo: Estos agentes proporcionan informacin de manera eficaz y
oportuna para el usuario, en el momento que ocurre un evento.
Agentes de recomendacin: Este agente posee una base de datos con informacin acerca
de un tpico de inters para un grupo, al hacer las recomendaciones se basan en analogas
con otros usuarios de perfil similar.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
ESTRUCTURA DE LOS AGENTES INTELIGENTES
La estructura tradicional de los agentes consiste de un Programa de Agente que se ejecuta
sobre una Arquitectura, obedeciendo a la siguiente ecuacin:
Agente = Programa de Agente + Arquitectura
El Programa de Agente implanta una funcin que mapea las percepciones del agente en un
conjunto de acciones. La Arquitectura utilizada por el Programa de Agente le permitir
ejecutarse. sta puede variar desde un computador o algn otro hardware especfico para el
procesamiento de percepciones, como por ejemplo una cmara de vdeo. Para disear y
desarrollar un programa de agente es necesario especificar previamente los elementos
constituyentes del mismo, tales como, las percepciones que capturaran los sensores del
agente as como las acciones con las cuales responder a travs de los efectores. Las metas
a alcanzar y las medidas de desempeo del agente. Finalmente el ambiente en el cual
operar el agente.
A estos elementos se les denomina el PAMA del agente, donde PAMA es igual a
Percepciones, Acciones, Metas y Desempeo y Ambiente. En la tabla se muestran algunos
ejemplos de tipos de agentes y su respectivo PAMA.
Tipo de Agente Percepciones Acciones Metas Ambiente
Sistema de
diagnostico mdico
Sntomas,
evidencias, y
respuestas del
paciente
Preguntas,
pruebas y
tratamientos
Paciente
saludable
reduccin al
mnimo costo
Paciente,
Hospital
Sistema de anlisis de
imgenes de satlite
Pixeles y
colores
Clasificacin
de
escena
Clasificacin
correcta
mgenes
enviadas
desde
un satlite
Controlador de
Refinera
Lecturas de
temperatura y
presin
Abrir y cerrar
vlvulas,
ajuste
de
temperatura
Lograr
rendimiento y
seguridad
Refinera
CONTRUCCION DE AGENTES INTELIGENTES
Los Agentes nteligentes son una clase de software con caractersticas especficas. Para
llevar a cabo el desarrollo y construccin de Agentes, es recomendable utilizar mtodos
similares a los utilizados comnmente en desarrollo de ngeniera de Software y Sistemas de
nformacin.
De esto se desprende que los procesos a ejecutar son los tpicos Anlisis, Diseo,
mplantacin y Prueba. Es importante antes de describir un mtodo que permita desarrollar y
construir Agentes nteligentes, considerar el significado del vocablo mtodo. Mtodo viene de
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
la palabra griega "meta y "odos. "Odos significa va, camino o curso y "meta significa con,
alrededor, despus, por lo que mtodo sera la descripcin de una va o curso de accin a
seguir para alcanzar un objetivo. Los mtodos tienen cuatro componentes: una teora, un
lenguaje, una estructura y unas tcnicas.
16
La teora es una conceptualizacin que se adopta para describir el mtodo, representa
las abstracciones de mayor nivel sobre las que ste se basa.
El lenguaje es la manera de comunicacin del mtodo.
La estructura es la organizacin de los diferentes componentes del mtodo. Un
mtodo debe poseer una organizacin secuencial de procesos, donde cada proceso
est constituido por una serie de actividades, las cuales se llevan a cabo por la
aplicacin de tcnicas.
Las tcnicas son procedimientos (normas, guas, indicaciones) que facilitan la
realizacin de las actividades. La aplicacin de las tcnicas requiere de la utilizacin
de herramientas.
Mtodo de desarroIIo y construccin de Agentes InteIigentes.
A continuacin, se presenta una propuesta de Mtodo para el desarrollo y construccin de
agentes inteligentes. Hay que dejar en claro que este no es ms que un conjunto de pasos
estructurados, a los cuales no se asocian herramientas especficas para la ejecucin de sus
pasos pues se considera que la eleccin de una u otra herramienta para uno u otro paso del
mtodo depender de las condiciones especficas del problema que se pretenda resolver, as
como de los recursos con los que se cuente. El Mtodo que se propone consta de cinco
Procesos bsicos, que se desglosan en diversas actividades. Dichos procesos son:
1. Proceso de Definicin del Problema del Agente
2. Proceso de Adquisicin y Representacin del conocimiento
3. Proceso de Diseo del Agente
4. Proceso de mplantacin del Agente
5. Proceso de Prueba del Agente
Proceso 1. Definicin deI ProbIema deI Agente
El objetivo de este proceso es lograr establecer una conceptualizacin amplia y clara del
problema que se pretende resolver con el uso de agentes inteligentes, y el mismo se divide
en las siguientes actividades:
Actividad 1.1. dentificacin del Problema
Actividad 1.2. Anlisis del Problema
Actividad 1.3. Construccin del modelo Conceptual de la situacin
16
Ramos Esmeralda. Mtodo de Adquisicin de Conocimiento en Grupo. Trabajo de Ascenso a la categora de Agregado. Escuela de
Computacin. Facultad de Ciencias. Universidad Central de Venezuela. 1.998
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
Proceso 2. Adquisicin y Representacin deI Conocimiento
Con base al modelo conceptual obtenido en el proceso previo, este proceso persigue generar
una representacin de este modelo conceptual en trminos de conocimiento, la cual sea
transportable al medio computacional. Las actividades que conforman este proceso son:
Actividad 2.1 Adquisicin del conocimiento
Tarea 2.1.1. Definicin de las Percepciones
Tarea 2.1.1. Definicin de la Acciones
Tarea 2.1.3. Definicin de Objetivos y Metas
Tarea 2.1.1. Definicin del ambiente
Actividad 2.2. Representacin del conocimiento
Tarea 2.2.1. Anlisis del conocimiento Adquirido
Tarea 2.2.2. Seleccin del esquema de representacin
Tarea 2.2.3. Representacin del Conocimiento
Proceso 3. Diseo deI Agente
Este proceso corresponde con el diseo de la solucin en el mtodo clsico de diseo y
construccin de sistemas de informacin, y en el se pretende generar un modelo del agente,
que sea computacionalmente aplicable. Para lograr esto, el proceso se divide en las
siguientes actividades:
Actividad 3.1. Diseo de la Base de Conocimiento.
Actividad 3.2. Diseo del motor de nferencia o Motor de ejecucin.
Actividad 3.3. Diseo de la nterfaz.
Actividad 3.4. Diseo del Lenguaje de Comunicacin.
Proceso 4. ImpIantacin deI Agente
Este proceso est enfocado en la construccin computacional del agente inteligente
diseado, que no es ms que la implantacin del diseo obtenido en el proceso previo. Las
actividades que permitirn lograr este objetivo son:
Actividad 4.1. Anlisis y Seleccin de Herramientas de mplantacin.
Actividad 4.2. mplantacin del Agente.
Tarea 4.2.1 mplantacin de la Base de Conocimiento.
Tarea 4.2.1 mplantacin del Motor de nferencia o de ejecucin.
Tarea 4.2.1 mplantacin de la nterfaz.
Tarea 4.2.1 mplantacin de la Comunicacin.
Proceso 5. Prueba deI Agente
Se puede decir que este proceso representa una validacin del agente construido, en el cual
se verifica y ajusta el funcionamiento de dicho agente, en funcin de los requerimientos y la
situacin analizada en el primer proceso planteado. Para lograr esta validacin, se definen
las siguientes actividades:
Actividad 5.1. Diseo de Pruebas
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
Actividad 5.2. Aplicacin de pruebas
Actividad 5.3. Depuracin del Agente
ENTORNOS DE APLICACIN
Administracin de Redes y Sistemas: Los agentes pueden ser utilizados para mejorar el
software de gestin y administracin de sistemas, ayudando en el filtrado de informacin y en
la ejecucin de acciones automticas bajo un alto nivel de abstraccin.
Correo y Mensajera: El software de manejo de mensaje ha existido por algn tiempo y es
un rea donde actualmente se utilizan los agentes inteligentes. Los usuarios desean
priorizar sus mensajes y quieren que con el manejo del tiempo esto cada vez se haga mas y
mas automtico.
Recuperacin y Manejo de Informacin: En esta rea no solo se busca la informacin, los
agentes tambin ayudan a categorizarla y priorizarla.
Comercio EIectrnico: Los agentes pueden ir de compras tomando las especificaciones del
usuario y regresando con recomendaciones de compra que cumplan estas especificaciones.
Tambin pueden actuar como agentes de ventas y primores de productos.
FUTURO DE LOS AGENTES INTELIGENTES
Hoy en da las investigaciones se centran ms hacia los Agentes nteligentes ya que cada
vez las aplicaciones se hacen ms avanzadas y complicadas para los usuarios.
Con los agentes lo que se busca es una ayuda que le permita al usuario desenvolverse cada
vez mejor con las aplicaciones.
Para analizar el futuro de los agentes se deben tener en cuenta aspectos como:
Los Computadores: Se busca que los Agentes nteligentes cada da sean capaces de
adaptarse al entorno dinmico que genera la constante evolucin de los computadores y el
desarrollo de nternet.
Los Usuarios: Hoy en da los Agentes solo son usados por investigadores, se espera que
en un futuro no muy lejano todos los usuario de computadores utilicen agentes inteligentes
ya que estos harn mas amigable y sencilla la interaccin con sus PC e nternet.
Entornos de desarroIIo:
Entorno: plataformas para el diseo, implementacin, pruebas y ejecucin de agentes
autnomos y sistemas multiagente. La mayora implementan la arquitectura abstracta de la
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
especificacin FPA (www.fipa.org) y proporcionan servicios o facilidades para la ejecucin de
MAS (Multi Agent System), dentro de estos se encuentran los siguientes:
ZEUS (BritishTelecom)
JADE (Telecom talia)
FPA-OS (Emorphia)
April Agent Platform (Fujitsu America)
JAS (Fujistu America)
MASK (MAG, Grenoble)
MADKT (U. Montpellier)
AgentBuilder (Reticular System)
JACK (Agent OrientedSoftware Australia)
ZEUS
17
Software libre que contiene un conjunto de herramientas para ayudar en la creacin de
sistemas de agentes colaborativos (limitados en competencias y recursos, por lo que deben
compartir sus habilidades con otros para realizar un problema ms complejo).
Departamento de nteligencia Artificial Doctorado en Ciencias de la Computacin e nteligencia
Artificial Curso2002-2003 Ana Garca Serrano y David Teruel agarca@dia.fi.upm.es
JADE
18
Java Agent DEvelopment framework Soporta la implementacin de MAS (FPA compliant) :
posee una Librera de paquetes para programar agentes, adems herramientas para la
depuracin y la ejecucin de agentes. Es adicional una plataforma distribuida para la
ejecucin de agentes (heterogneos como Zeus): middle-ware para MAS con servicios para
17
La versin 1.2.1 del software Zeus se encuentra disponible para descargar en este enlace. Un manual tcnico del software podr ser
encontrado aqu.
18
La versin 2.6 del Framework Jade puede ser descargado en este enlace. Una librera adicional para la comunicacin de los agentes a
travs de protocolo HTTP puede ser descargada aqu.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
agentes como directorios, codificacin y transporte de mensajes, herramientas como monitor
remoto de agentes, sniffer agent, dummy agent este software esta completamente
desarrollado en JAVA y es de Libre distribucin bajo licencia LPGL.
A continuacin se puede encontrar la plataforma distribuida (Jade Container). (Contenedores
distintos tres en la figura, cada uno con sus respectivos agentes y que pueden estar en
mquinas distintas). Usa los servicios de red que le proporciona Java.
Departamento de nteligencia Artificial. Doctorado en Ciencias de la Computacin e nteligencia
Artificial Curso2002-2003 Ana Garca Serrano y David Teruel agarca@dia.fi.upm.es
EJEMPLO COMPLETO: EL MUNDO DEL SUPERMERCADO
19
Vamos a definir el conocimiento necesario para que un agente pueda comprar alimentos en
un supermercado. Para demostrar que tal conocimiento es suficiente probaremos un agente
basado en el conocimiento dentro del simulador de ambientes. Para ello necesitaremos un
mundo de compras simulado, que necesariamente deber ser ms sencillo que el mundo
real. sin embargo buena parte del conocimiento mostrado aqu es el mismo tanto para
mundos simulados como para mundos reales. La diferencia es ms bien de gradacin en lo
complejo de la visin, el movimiento y la manipulacin tctil.
Una descripcin completa de la simulacin de compras
Empezaremos por hacer una descripcin PAMA (percepciones, acciones, metas y ambiente) de
la simulacin de las compras.
En primer lugar, las percepciones:
1. En cada etapa temporal, el agente recibe tres percepciones: tctil, sonora y visual.
19
Fundacin San Valero. El mundo del supermercado. Visitado en este enlace.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
2. La percepcin tctil se reduce a tropezar o no tropezar. El agente percibe un
tropezn slo si en el paso de tiempo anterior ejecut una accin Avance y en la
ubicacin a la que intent desplazarse no hay suficiente espacio.
3. La percepcin sonora consiste en una lista de palabras verbales. El agente percibe
las palabras por otros agentes, a una distancia de dos cuadros.
4. Si se realiza un acercamiento mediante la cmara, percibir imgenes detalladas de
cada uno de los objetos, en el cuadro en donde la cmara est enfocada.
5. Si no hay acercamiento mediante la cmara del agente, ste percibir imgenes
difusas de cada uno de los objetos a una distancia de tres cuadrados directamente y
diagonalmente frente a l.
6. Las percepciones visuales estn constituidas por la ubicacin relativa, tamao
aproximado, color, forma y, quizs algunas otras Caractersticas. Ms adelante se
explicar con ms detalle.
Ahora, las acciones:
1. Los agentes pueden emitir cadenas de palabras.
2. Los agentes pueden avanzar un cuadro.
3. Los agentes pueden dar vueltas de 90, a la izquierda o a la derecha.
4. Los agentes pueden realizar acercamientos de lo que est enfocando la cmara,
en el cuadro en donde se encuentren en un momento dado, o lo que est a una
distancia mxima de tres cuadrados directa o diagonalmente frente a ellos.
5. Los agentes pueden hacer alejamientos con su cmara.
6. Los agentes pueden tomar todo objeto que est a una distancia de un cuadro de
ellos. Para ello, tiene que especificar las coordenadas relativas de donde se
encuentra dicho objeto y tiene que tener las manos vacas.
7. Un agente puede soltar un objeto que haya tomado. Para ello, tiene que
especificar las coordenadas relativas del punto en donde desee dejar el objeto.
La meta original del agente es comprar todo lo que aparece en una lista de compras. Tal
meta se podra modificar si no hubiese algunos artculos o si resultasen demasiado caros. El
agente intentar realizar las compras lo ms rpido posible y evitar tropezar con cosas. En
un problema ms ambicioso se pedira al agente que cocinase la cena y que elaborara la
lista de compras.
El ambiente es el interior de la tienda, as como los objetos y las personas que estn dentro
de ella. La tienda se representa mediante una cuadrcula, con pasillos que separan las
hileras de anaqueles. En un extremo de la tienda estn las cajas registradoras y sus cajeros.
Clientes y empleados se encuentran en diversos sitios de la tienda El agente empieza en la
entrada y debe salir de la tienda por el mismo cuadro por donde entr. En caso de que se le
olvide, hay un letrero de SALDA. Tambin hay letreros para sealar los pasillos, y letreros
ms pequeos (legibles slo mediante acercamiento de la cmara) para sealar algunos (no
necesariamente todos) artculos que estn rebajados.
En el caso de agentes reales, es necesario que descifren las seales de vdeo de la cmara
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
(o la digitalizacin de sta). Supondremos que este trabajo ya fue realizado. Aun as, el
elemento visin de las percepciones consta de una compleja lista de descripciones La
primera componente de una descripcin es su posicin relativa respecto de la posicin y
orientacin del agente. Por ejemplo, la posicin relativa [-2,1] es el cuadro que est a dos
cuadros a la izquierda del agente y un cuadro adelante segundo componente es el tamao
del objeto, expresado como el dimetro promedio del objetos metros. El siguiente es el color
del objeto, expresado como un signo (rojo, verde, amarillo, naranja ...), seguido de la forma
del objeto (plano, redondo, cuadrado, ...). Por ltimo, supondremos que en la imagen de
vdeo se ha realizado una rutina de reconocimiento de caracteres; si hay letras en el campo
visual, se expresarn como una lista de palabras. En la figura se muestra una vista general
del supermercado, en la que el agente que est en [4,5]. El agente mira a la izquierda.
Cmo organizar eI conocimiento
El dominio de la compra de elementos es demasiado grande para abordarlo de una sola vez.
En vez de ello, lo dividiremos en pequeos grupos de conocimiento, trabajaremos por
separado cada uno de estos para luego ver cmo integrarlos. Un buen mtodo para dividir el
dominio por grupos es el de identificar cada una de las tareas que tiene que desempear el
agente. A lo anterior se le conoce como descomposicin funcional. Dividiremos el dominio en
cinco grupos:
PIanificacin deI men: El agente tiene que ser capaz de adaptar la lista de compras
cuando en la tienda no haya alguno de los artculos.
Navegacin: EI agente debe ser capaz de comprender el efecto de sus acciones
de movimiento y crear un mapa interno del mundo.
RecopiIacin: El agente debe ser capaz de localizar y tomar los artculos que est
buscando. Parte de ello implica inducir la existencia de objetos determinados a partir
de las percepciones correspondientes: el agente necesita contar con reglas de
reconocimiento que le permitan inferir que un objeto rojo ms o menos esfrico de
unos siete centmetros de dimetro podra ser un tomate.
Comunicacin: EI agente debe ser capaz de formular preguntas cuando no puede
encontrar algo por s mismo.
Pago: Aun un tmido agente al que no le guste hacer preguntas deber contar con la
suficiente capacidad para comunicarse con otros agentes con el fin de que pueda hacer
su pago al cajero. El agente debe saber que 5.00E es demasiado para pagar un
tomate, y que si el total de la cuenta asciende a 17.35E, y paga con un billete de 20E
deber recibir 2.65E de cambio.
Una de las ventajas de la descomposicin funcional es que nos permite plantear un problema
completamente dentro de un grupo y ver si el conocimiento puede resolverlo. En otros tipos
de descomposicin por lo general es necesario desmenuzar toda la base de conocimientos
antes de plantear la primera pregunta.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
Planificacin del men
Un buen mandadero es capaz de hacer perfectamente las compras si se le da la lista
correspondiente. Nuestro agente est ms bien prximo a este ltimo, pero tambin lo
dotaremos de cierta capacidad para hacer elecciones inteligentes.
Supongamos que un di determinado no hay tomates. Un agente cuya lista de compras tenga
"tomates, lechuga, pepino, aceite de oliva, vinagre", se dar cuenta de que se trata de ingre-
dientes para preparar una ensalada y se le ocurrir que un pimiento rojo podra ser un buen
sustituto, pues aadira color y sabor a la ensalada. Un agente cuya lista sea `tomates,
cebolla amarilla, apio una zanahoria, carne molida, leche, vino blanco, tagliatela", inferir que
se trata de preparar una salsa a la boloesa (Hazan, 1973), por lo que no hay problema si
hace el reemplazo con tomates enlatados.
Para hacer estas inferencias, el agente necesita comprender que los artculos de la lista de
compras son los necesarios para formar objetos ms complejos conocidos como platos, , que
stos a su vez se combinan para formar objetos conocidos como comidas y que a un objeto
puede reconocrsele por sus componentes. Nuestro agente tendr que hacer dos tipos de
inferencia. La primera, de la lista de partes deber inducir el objeto compuesto que estas
partes conforman. Es difcil porque la combinacin de las partes (los artculos de la lista de
compras) puede dar por resultado varios objetos compuestos, y tambin porque algunos de
los ingredientes no aparecen en la lista (algunos ya estn en casa, en la despensa). La
segunda, el agente debe ser capaz de decidir cmo reemplazar una parte que no se
encuentra para complementar el objeto compuesto que interesa. Esto se puede hacer en dos
niveles: reemplazando un ingrediente por otro y completar as el plato o, de no ser esto
posible, reemplazando todo el plato por otro y completar as la comida. Parte del
conocimiento necesario tiene que ver con platos especficos y parte es de nivel tan general
que podra servir para, por ejemplo, reemplazar el silenciador averiado de un carro.
El primer paso consiste en convertir la lista de compras -una lista de palabras- en una lista de
partes: una lista de categoras. Se usa el diccionario para asociar palabras con sus
referentes respectivos:
Referente("tomates", Tomates)
Referente("cebollas", Cebollas)
El siguiente paso consiste en describir los objetos en funcin de sus partes necesarias y de
las opcionales. Si de lo que realmente se trata es de ser capaz de preparar un plato,
necesitamos saber ms acerca de las relaciones que guardan entre s las partes. Pero para
ir a comprar los ingredientes, slo necesitamos la lista correspondiente. Definimos
PartesRequeridas, y PartesRequeridas({Lechuga,Aderezo}EnsaladasDeVerduras) significar que
todo objeto que sea un elemento de EnsaladasDe Verduras tiene una ParteRequerida que es un
elemento de Lechuga, y otra que es un elemento de Aderezo. El que la lechuga sea una
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
parte requerida de las ensaladas de verduras significa que en cada uno de los
elementos de stas hay un elemento de lechuga que forma parte de ellas. Un
razonamiento semejante se aplia a PartesOpciona/es, excepto que slo algunos
elementos de una categora tienen que manifestar las partes opcionales:
b' r, w PartesRequeridas(r, w) ~ d p p e r_
-
:> ParteRequerida(p, w)
V o, w PartesOpcionales(o, w) ~ b' p p e o => PartesOpcionales(p, w) t 7'r, w
ParteDe(r, w) <_-> d c c E w~3 i i e r A ParteDe(i, c) b' o, w ParteOpcional(o, w) <_-> 3 c
c e w => >3 i E O n ParteDe(o, c)
El paso siguiente consiste en describir comidas y platos en funcin de sus partes respectivas:
PartesRequeridas({PlatosPrincipales}, Comidas)
PartesOpciona/es({Entradas, Guarniciones, Ensaladas, Postres, ...}, Comidas)
PartesRequeridast (Lechuga, Aderezo}, EnsaladasDe Verduras)
PartesOpcionales({Tomates, Pepinos, Pimientos, Zanahorias,...), EnsaldasDe Verduras)
PartesRequeridas({Pasta, Sa/sa8oloesa}, PastaBoloesa)
PartesOpcionales( { QuesoRallado }, PastaBoloesa)
PartesRequeridas({Cebollas, Aceite Oliva, Mantequilla, Apio, Zanahoria, Carne
Molida, Sal, VinosB/ancos, Leche, Jugo Tomate), SalsaBoloesa)
Ahora necesitamos la siguiente infornacin taxonmica sobre platos y alimentos:
Ensaladas Verdes c Ensaladas
Ensaladas c Platos
PastaBoloesa c Entradas
Entradas c Platos
Tomat es c Jugo Tomate
TomatesEnlatados c JugoDeTomate
Tagliatela c Pasta
Ahora tenemos que decidir qu platos se pueden preparar de la lista de compras "tomates,
cebollas amarillas, una zanahoria, carne molida, leche, vino blanco, tagliatela". Como se
mencion anteriormente, esto se complica por el hecho de que la sal, la mantequilla y el
aceite de oliva necesarios para el plato con salsa boloesa no figuran en la lista de compras.
Definiremos el predicado PuedePreparar para que sea vlido entre una lista de compras y un
plato siempre y cuando las categoras de la lista -cuando se combinen con ingredientes
tpicos- provean todoslos ingredientes indispensables o requeridos de un plato.
VI, d PuedePreparar(l, d) <_-> d e Platos A PartesNecesarias(p, d) A p c
Combinacin(l, Ingredientes)
{Sal, Mantequilla, AceiteDeOliva} c Ingredientes
Con lo que hasta ahora contamos podemos inferir que el nico plato que se puede preparar
con lo que hay en la lista de compras es la pasta a la boloesa. La siguiente pregunta es qu
hacer si no encontramos tomates frescos. Resulta que todo lo que hay que hacer es
reemplazar la lista de compras (o la parte de sta necesaria para preparar este plato) por la lista
de categoras de partes correspondientes al mismo plato. En este caso, quiere decir que
Tomates se reemplazar por JugoTomate, lo que se puede resolver utilizando una lata de
TomatesEnlatados.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
Navegacin
Si un agente busca un libro en una librera, puede recorrer sta de principio a fin, mirando
cada libro hasta dar con el que le interesa. Sin embargo, lo ms eficiente sera que mediante
el nmero de clasificacin del libro, y con un diagrama que le indicase en qu anaquel se
encuentra dicho nmero, localizase directamente el libro en cuestin. Sucede lo
mismo en el caso de un supermercado, si bien el catlogo de ste no es tan bueno
como el de la librera. El agente de compras deber saber que los Supermercados estn
ordenados por pasillos, que en stos hay letreros en donde se explica de manera
sucinta qu hay en ellos y los objetos cercanos en la jerarqua taxonmica es muy
probable que tambin estn muy prximos fsicamente. Por ejemplo, los inmigrantes
britnicos que viven en Estados Unidos aprenden que los paquetes de t se encuentran
en el pasillo sealado con el letrero "Caf".
Buena parte del problema de la navegacin es que el agente tiene que recordar en dnde
empez su recorrido, y puede calcular su ubicacin actual a partir de los movimientos que
haya realizado hasta ese momento. El agente tiene la posibilidad de encontrar mejores
rutas siempre que est consciente de que por lo general la distribucin de los
supermercados se hace por pasillos. En los supermercados los pasillos estn numerados, lo que
le evita la pena de tener que hacer recorridos a ciegas. La segunda vez que visita un
supermercado puede ahorrar mucho tiempo si recuerda en dnde se encuentra cada cosa.
Sin embargo, no es prctico que recuerde la ubicacin exacta de cada artculo puesto que el
tomate que ahora se encuentra en la ubicacin [x,y], probablemente ya no est all el da de
maana.
Un problema tpico de navegacin es el de la localizacin de los tomates. La siguiente
estrategia se considera funcional:
1. Si el agente sabe, gracias a una vista anterior, en dnde se encuentran los tomates,
calcule la ruta para ir de la ubicacin actual a ese sitio.
2. Pero si se sabe en qu pasillo estn las verduras, disee un ruta para ir a dicho
pasillo.
3. De no ser el caso, desplcese al frente del supermercado hasta encontrar el letrero de
las verduras.
4. Si nada de lo anterior funcionara, desplcese y pregunte a alguien en dnde estn los
tomates. (De esto se habla en la seccin "Comunicacin".)
5. Una vez localizado el pasillo de las verduras, recorra ste con acercamientos de
cmara, y busque algo de color rojo. Cuando se localice esto, mediante un acercamiento
determine si se trata de tomates. (De esto se habla en la seccin "Recopilacin".)
Recopilacin
Una vez ubicado en el pasillo correcto, el agente tiene que ir encontrando los artculos de su
lista Para ello, debern coincidir las percepciones visuales y las percepciones esperadas
de cada categora de objetos. En el mundo del supermercado existen miles de objetos
diferentes, muchos de ellos (como los tomates y las manzanas) ofrecen percepciones
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
semejantes. El agente nunca estar totalmente seguro de que con base en sus
percepciones haya logrado clasificar correctamente un objeto; lo que s puede es darse
cuenta de si una conjetura en efecto es correcta. El agente de compras puede recurrir a una de
las siguientes reglas de clasificacin:
1. S solamente una categora conocida corresponde a una percepcin, suponga que el
objeto es miembro de dicha categora. (Esto puede dar lugar a errores cuando se tiene ante
la vista objetos desconocidos.)
2. Si una percepcin corresponde a varias categoras a la vez, pero un letrero cercano
permite identificar una de ellas, suponga que el objeto es miembro de esa categora.
3. Si hay un letrero en un pasillo que identifica una categora (o una supercategora),
suponga que el objeto pertenece a dicha categora. Por ejemplo, si nos encontrramos en
el pasillo identificado como "Verduras", y no en el pasillo de las "Frutas", una percepcin
redonda, roja, la categorizaramos como un tomate, no como manzana. En un partido de
cricket, podra interpretarse como otra cosa.
Para implantar lo anterior, empezamos con un conjunto de reglas causales correspondientes
a las percepciones:
b'x x e Tomates ~-~-> ColorSuperficie(x, Rojo)
dx x E NaranJas _-:> ColorSupenrcie(x, Naranja)
b'x x e Manzanas =;> ColorSuperficie(x, Rojo) v ColorSuperficie(x, Verde) b'x
x E Tomates ~ Forma(x, Redonda)
b'x x E Naranjas ~ Forma(x, Redonda)
b'x ColorSuperficie(x, c) A Visible(x) => ProducePercepcinColor(x, c) dx
Forma (x, s) A Visible(x) _-:> ProducePercepcinForma(x, s)
Reglas como las anteriores, y otras ms semejantes, constituyen una muestra de una
teora causal acerca de cmo a partir de los objetos del mundo se forman las percepciones.
Observe cun simplista es. Por ejemplo, en ningn momento se habla sobre iluminacin.
(Por fortuna, las luces siempre estn encendidas en un supermercado). A partir de estas
reglase el agente podr deducir todo un conjunto de posibles objetos que pudieran
explicar las percepciones recibidas. Mediante el conocimiento acerca de qu tipos de
objetos aparecen en dnde permitir eliminar todas las categoras, excepto una. Desde luego,
el hecho de que el agente slo sepa acerca de un tipo de objeto que pudiera producir una
percepcin determinada no significa necesariamente que tal percepcin haya sido
producida realmente por dicho objetos. D)esde luego es posible que existan otros tipos de
objetos (p. ej., tomates de plstico) que produzcan la misma percepcin que la de la
categora conocida. Para resolver lo anterior se puede utilizar el axioma de cierre de
dominio, mediante el que se especifique que las categoras conocidas es todo lo que existe,
o mediante un supuesto previamente definido, que no se explica aqu.
La parte restante del problema de la recopilacin es la manipulacin: cmo tomar los objetos
y transportarlos. En el caso de nuestra simulacin, se supone que la accin realizada se
reduce a la primitiva toma de un objeto y a que el agente sea capaz de transportar todos
los artculos que necesite En el mundo real, las acciones necesarias para coger un
racimo de pltanos sin estropearlos, o una botella de leche de un litro sin derramar una gota,
plantean serios problemas.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
Comunicacin
Un eficiente comprador cabe cundo preguntar. (En dnde estn las anchoas?. ,Son
estos tomates verdes?) Desafortunadamente la de mantener una conversacin es una tarea
difcil, por lo que pospondremos su estudio. Por de pronto, hablaremos de una modalidad
ms sencilla de comunicacin unidireccional: la lectura de letreros. Si en el letrero de un
pasillo aparece una palabra, los miembros pertenecientes a la categora a la que se refiere esa
palabra se encontrarn en dicho pasillo.
t
,
' a (a E Pasillos n 3. s, w LetreroDe(s, a) A w b E Palabras(s))_-_> 3 x, c Referente(w, c) AEn(x, a)
Si en un letrero pequeo aparece una palabra, los artculos que pertenecen a esa
categora se encontrarn en sus proximidades:
b' s, w, 1 (s e Signos A Tamao(x) < Metros(. 3) n w E Palabras(x) A En(s, 7)) => -3x, c Referente(w,
c) A x e c,
,
, En(x, AreaAlrededor())
Pago
El agente de compras debe contar con el suficiente conocimiento con el fin que no pague
de ms por un artculo. En primer lugar, debe conocer cules son los precios tpicos de los
artculos, por ejemplo:
d g g e Tpica (CameMolida) A Peso(g) = Libras(I) ~--~> E(9) s PrecioJusto(g) _< E(2)
El agente deber saber que el precio total es aproximadamente proporcional a la cantidad, y
tambin que es frecuente obtener descuentos cuando se compran cantidades mayores. La
regla siguiente establece que el descuento puede ser de hasta 50%:
d q, c, w, p g e c A Peso(q) = w A Precio(q )= p=>
b' m, q2 m> 1 A Aq2 E cA Peso(g2) =mxw- ~
-
>
( 7 + (m - 7) / 2) ) X p _< PrecioJusto(q2) _< m X p
Es muy importante que el agente sepa que es un mal negocio pagar ms del precio justo por
un artculo, y todo lo que sea mal negocio es una mala accin: di Precio() > PrecioJusto(i) =>
Ma/aCompra(i) di MalNegocio (i) => b'a Ma/a(Compra (a, i))
Los eventos de compra pertenecen a la categora Compra r(b,x, s, p): el comprador b
compra el objeto x con el vendedor s por el precio p. Aunque la descripcin completa de una
compra es muy compleja, corresponde al patrn general definido anteriormente para el caso
del matrimonio. Entre las condiciones previas figura el hecho de que p es el precio del
objeto x; que b posee, al menos dinero equivalente al precio, y en forma de uno o ms
instrumentos monetarios; y que s es el propietario de x. El evento incluye un intercambio
monetario cuyo resultado final es una ganancia neta para s por el valor p y que b se convierte en
propietario de x.
Y algo ms que debe saber el agente acerca de las compras: no es correcto salir de una
tienda llevndose algo que todava es propiedad de sta.
V a, x, s, i s e Tiendas A T(Llevando(a, x) A En (x, s) A DeSuPropiedad(s x) ) => T(Mal(Exito(a)), i)
Todo agente cuya meta sea salir del supermercado utilizar esta meta para definir la submeta
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
de convertirse en propietario de todos los objetos que se est llevando. As, todo lo que
necesitamos es una descripcin de las partes correspondientes a un evento de compra,
de manera que el agente pueda realizarla. En el supermercado, el evento de la compra
consiste en dirigirse a las cajas registradoras, poner todos los artculos sobre el
mostrador, esperar a que el cajero los contabilice, entregar una cantidad de dinero igual
al precio total marcado y recoger cada uno de los artculos. Note que si el total es de E4,
no se entregar al cajero el mismo billete de un euro cuatro veces.
V b, m, s, p, e e e Supermercado(b, m, s, p) =>
3 e,, e2, e3, e4, e5, e, = lr(b, c) A Caja(c) A
e2 = Poner(b, m, c) A e3 = PrecioTotal(s, m) ~
e4 = Poner(b, p, c) A e5 = Tomar(b, m) A
Antes(e,, e2) A Antes(e2, e3) A Antes(e3, e4) A Antes(e4, e5) ~
ParteDe(e,, e) A ParteDe(e2, e) A ParteDe(e3, e) n ParteDe(e4, e) A ParteDe(e5, e)
Hemos as comentado lo referente a todas las principales reas del conocimiento necesarias
para que un agente se desenvuelva adecuadamente en el mundo de las compras en un
supermercado. De haber realizado una especificacin exhaustiva, este ejercicio habra
resultado excesivamente largo; se opt ms bien por bosquejar el mtodo que se
empleara para realizar dicha especificacin. No obstante el arduo trabajo implicado, la
elaboracin de este tipo de bases de conocimiento reales constituye una valiossima
experiencia.
8
7
Rbano
$480 lb
Manzanas
$1000 lb
Sopa lata
$4500 u
Salmn
$5300 lb
Carne
$4600 lb
6
Calabazas
$930 lb
Naranjas
$950 lb
Pollo pec
$12000 u
Pollo mus
$13000 u
Crema dent
$1300 u
5
Cebollas
$850 lb
Duraznos
$1200 lb
Jabn Liq
$4000 u
Pauelos
$700 u
Enjuague
$3600 u
4
Verdura
1
Frutas
2
Sopas
Salsas
3
Tomate
4
Consom
de pollo
5
3
2
1
Salida
1 2 3 4 5 6 7 8
Vista general del supermercado. Preste atencin al agente que est en [4,5], a los otros compradores que estn en [2,2] y [6,2], a los
cajeros que estn en [4,2] y [8,2], los letreros de la cuarta ilera y todas las mercancas distribudas por toda la tienda
20
.
20
Fundacin San Valero. El mundo del supermercado. Visitado en este enlace.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
1.3 COMPLEJIDAD DE LOS PROBLEMAS
21
Teora de Ia compIejidad
Definicin: La complejidad se refiere a la condicin del cosmos que - a pesar de que el
principio cuntico (todo interacta con todo) lo integra en una realidad nica - es demasiado
rico y variado como para ser entendido por rutas lineales simples, que no conducen ni a
novedades ni a asombros. Algunas porciones del cosmos se entienden mediante dichas
rutas, pero los fenmenos ms intrincados slo se pueden entender por sus patrones
generales, pero no en detalle. La teora de la complejidad, dentro de la mecnica estadstica
(captulo de la fsica), se preocupa del estudio de los atractores asociados a sus dinmicas y
de la teora de la innovacin, de la autoorganizacin, del aprendizaje, de la adaptacin, de
los sistemas disipativos (relacionados con la segunda ley) y no-lineales, de las transiciones
de fase (en especial las que ligan la fase caos con la fase orden), de las roturas de simetra
en condiciones alejadas del equilibrio, de la emergencia de nuevos fenmenos a partir de
redes y de interacciones. Para entender muchos fenmenos hasta ahora mal explicados, la
ciencia se inclina hacia la teora del caos, de los fractales y a sta de la complejidad.
Aplicada esta teora tan rica al cerebro, ste la pone de manifiesto a travs de su habilidad
impresionante para detectar detalles. Se interpreta que existe una tremenda presin
evolucionaria para que (en los animales con un atractor para su evolucin del tipo
inteligencia-intensivo) los cerebros se vuelvan especialistas en detalles y logros.
Denominamos conciencia a un atributo de la arquitectura del cerebro que se aplica
innovativamente a detectar detalles, atributo que es de por s autorreferencial y emergente,
quizs el ms avanzado en su complejidad, no-linealidad, autoorganizacin y capacidad de
aprender del entorno. El logro ms misterioso es el de combinar una impresionante cantidad
de fragmentos sensoriales de la realidad, parcialmente estructurados, descubriendo a partir
de ellos nuevos detalles, que siempre se pueden aplicar a controlar alarmas. (deas de
diversos autores, entre ellos de Jack Cohen y an Stewart).
La moderna teora de la complejidad (Chaitin, 1975; Rabin, 1977) se basa en principios
informacionales y computacionales que intentan abordar con cierto nivel de abstraccin
campos tales como el estudio de la naturaleza y consecuencias de las interacciones y no-
linearidades de sistemas con muchas variables, con muchos objetos y que presentan
mltiples objetivos. ncluye tpicos de teora general de sistemas, vida artificial, autmatas
celulares, caos, valles de atraccin en redes neurales, criticalidad, computacin
evolucionaria, algoritmos genticos, fractales, computacin paralela, sistemas
autoorganizantes, sistemas adaptivos compartimentalizados, sistemas dinmicos,
inteligencia artificial, complejidad en biologa.
21
URANA SCENA & TPCAP. 2008. Visitado en este enlace.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
CompIejidad
22
Definiciones del texto de Barral y von der Becke: "Diversos matemticos y cientficos han
definido la complejidad.
a) Supngase ya un sistema complejo y aplquense a l las ideas del premio Nobel
Herbert Simon. Por ms que se conozcan acabadamente todos sus subsistemas
constituyentes, en realidad ello no alcanza para conocer la funcin verdaderamente
fundamental del sistema. Por qu? Porque el sistema no es solamente suma ingenua
de sus partes. Para ser un sistema, debe ser ms que la suma trivial. Una bicicleta y
un ciclista forman un sistema con una funcin ms all de la suma de las funciones
aisladas de ambos subsistemas. Cuanto mayor sea la diferencia entre la suma
ingenua de las partes y la operacin total, tanto ms significativa es la complejidad del
sistema.
b) Los sistemas complejos muestran una dinmica propia que los hace acercarse a
(aunque tambin alejarse de) diversos ordenamientos posibles, ordenamientos que
implican a veces autoorganizaciones inesperadas para un observador desinformado.
Esos diferentes ordenamientos o estructuras disipativas de Prigogine, estn
separados entre s por transiciones de fase, que incluso pueden ocurrir en cascada.
Cuanto mayor sea el nmero de grados de libertad de un sistema complejo (que
tambien lo es porque los tiene muy numerosos) tanto mayor es la posibilidad que se
vuelque sobre s mismo en el espacio de grados de libertad y como resultado se
obtenga algo inesperado.
c) Gregorio Chaitin identifica complejidad como principio de la codificacin de longitud
mnima. Para codificar todo lo que realiza un sistema complejo se necesitan mucho
ms instrucciones que para codificar lo que ejecuta un sistema simple. Entonces la
longitud de la codificacin de longitud mnima permite discriminar entre sistema
complejo y sistema simple. Un sistema muy simple es una sucesin de n ceros. Para
codificarlo basta con dos instrucciones muy breves. "mprimir un cero. Repetir esto n
veces." Pero para codificar lo que hace un cerebro, pese a que un sabio logre
finalmente una codificacin de longitud mnima que lo describa, sin duda que se
necesitar mucho ms longitud en las instrucciones. La codificacin del sistema
complejo "ciclista pedaleando", por ms mnima que sea, aporta elementos nuevos y
realimentaciones que no estn en cada uno de los dos subsistemas. La bicicleta
depende del status econmico del ciclista y el ciclista depende de la bicicleta que
adquiri.
d) Se pueden ubicar en un plano x versus y la siguiente coleccin de informaciones.
y = b
0
(para todo x). Ser una paralela a x ubicada a la altura b
0
.
y = b
0
+ b
1
.x. Ser una recta de ordenada al origen b
0
y pendiente b
1
.
22
Biotermodinamica del Cerebro. Raul Barral - Carlos von der Becke. Marzo del 2000. Disponible en este enlace.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
y = b
0
+ b
1
.x + b
2
. x
2
. Ser una parbola.
y = b
0
+ b
1
.x
1
+ b
2
2.x
2
. x
2
+ b
3
.x
1
.x
2
+ b
4
.x
1
2
+ b
5
. X
2
2
(2)
Ser un paraboloide de revolucin.
Estos son modelos relativamente simples, que se vuelven ms y ms complejos a medida
que se les agreguen nuevos sumandos (como b
6
.x
1
.x
2
) o nuevas variables independientes (x
3
, x
4
, ...). La complejidad se define por la cantidad de informacin mnima necesaria para su
reconocimiento.
Para muchos autores, cuanto ms regular y ordenado sea un modelo, tanto menor es la
cantidad de informacin que encierra. Para describir la posicin y la velocidad de molculas
de gas en el equilibrio, se necesita un juego de informaciones diferente para cada molcula:
hay que enumerarlas a todas para intentar cumplir con el requisito de lograr una codificacin
de mnima longitud. La distribucin de la direccin y sentido de las trayectorias es muy
amplia. Al salir del equilibrio gaseoso empieza a haber una coherencia de trayectorias
(tendencia hacia la avalancha) para anular las fuerzas impulsoras presentes, por imperativo
de la segunda ley de la termodinmica. La simplicidad, la regularidad y el orden, as como el
apartamiento del equilibrio en el caso de los gases, se caracterizan todos ellos por su
tendencia a requerir comparativamente poca cantidad de informacin. Todo lo contrario
sucede con la complejidad, las irregularidades y el desorden, as como la aproximacin y
acceso al equilibrio en el caso de los gases, pues, comparativamente, su codificacin de
longitud mnima es muy exigente en lo que se refiere a la cantidad de informacin requerida."
Definir si un sistema es simple o complejo es bastante subjetivo: es observador-dependiente.
Tiene mucho que ver con los intereses que el observador tiene al considerar la complejidad
de un sistema.
Ahora vamos a tomar en cuenta la complejidad de los problemas enfocada a la resolucin de
los problemas y los algoritmos.
AnIisis de AIgoritmos: CompIejidad
23
La resolucin prctica de un problema exige por una parte un algoritmo o mtodo de
resolucin y por otra un programa o codificacin de aquel en un ordenador real. Ambos
componentes tienen su importancia; pero la del algoritmo es absolutamente esencial,
mientras que la codificacin puede muchas veces pasar a nivel de ancdota.
A efectos prcticos o ingenieriles, nos deben preocupar los recursos fsicos necesarios para
que un programa se ejecute. Aunque puede haber muchos parmetros, los mas usuales son
el tiempo de ejecucin y la cantidad de memoria (espacio). Ocurre con frecuencia que ambos
parmetros estn fijados por otras razones y se plantea la pregunta inversa: cual es el
tamao del mayor problema que puedo resolver en T segundos y/o con Mbytes de memoria?
En lo que sigue nos centraremos casi siempre en el parmetro tiempo de ejecucin, si bien
23
Anlisis de Algoritmos. Jos Maas. 1997. Disponible en este enlace.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
las ideas desarrolladas son fcilmente aplicables a otro tipo de recursos.
Para cada problema determinaremos un medida N de su tamao (por nmero de datos) e
intentaremos hallar respuestas en funcin de dicho N. El concepto exacto que mide N
depende de la naturaleza del problema. As, para un vector se suele utilizar como N su
longitud; para una matriz, el nmero de elementos que la componen; para un grafo, puede
ser el nmero de nodos (a veces es mas importante considerar el nmero de arcos,
dependiendo del tipo de problema a resolver); en un fichero se suele usar el nmero de
registros, etc. Es imposible dar una regla general, pues cada problema tiene su propia lgica
de costo.
Tiempo de Ejecucin
Una medida que suele ser til conocer es el tiempo de ejecucin de un programa en funcin
de N, lo que denominaremos T(N). Esta funcin se puede medir fsicamente (ejecutando el
programa, reloj en mano), o calcularse sobre el cdigo contando instrucciones a ejecutar y
multiplicando por el tiempo requerido por cada instruccin. As, un trozo sencillo de programa
como
S1; for (int i= 0; i < N; i++) S2;
Requiere:
T(N)= t1 + t2*N
Siendo t1 el tiempo que lleve ejecutar la serie "S1" de sentencias, y t2 el que lleve la serie
"S2".
Prcticamente todos los programas reales incluyen alguna sentencia condicional, haciendo
que las sentencias efectivamente ejecutadas dependan de los datos concretos que se le
presenten. Esto hace que mas que un valor T(N) debamos hablar de un rango de valores
Tmin(N) <= T(N) <= Tmax(N)
Los extremos son habitualmente conocidos como "caso peor" y "caso mejor". Entre ambos
se hallara algn "caso promedio" o ms frecuente.
Cualquier frmula T(N) incluye referencias al parmetro N y a una serie de constantes "Ti"
que dependen de factores externos al algoritmo como pueden ser la calidad del cdigo
generado por el compilador y la velocidad de ejecucin de instrucciones del ordenador que lo
ejecuta. Dado que es fcil cambiar de compilador y que la potencia de los ordenadores crece
a un ritmo vertiginoso (en la actualidad, se duplica anualmente), intentaremos analizar los
algoritmos con algn nivel de independencia de estos factores; es decir, buscaremos
estimaciones generales ampliamente vlidas.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
Asintotas
Por una parte necesitamos analizar la potencia de los algoritmos independientemente de la
potencia de la mquina que los ejecute e incluso de la habilidad del programador que los
codifique. Por otra, este anlisis nos interesa especialmente cuando el algoritmo se aplica a
problemas grandes. Casi siempre los problemas pequeos se pueden resolver de cualquier
forma, apareciendo las limitaciones al atacar problemas grandes. No debe olvidarse que
cualquier tcnica de ingeniera, si funciona, acaba aplicndose al problema ms grande que
sea posible: las tecnologas de xito, antes o despus, acaban llevndose al lmite de sus
posibilidades.
Las consideraciones anteriores nos llevan a estudiar el comportamiento de un algoritmo
cuando se fuerza el tamao del problema al que se aplica. Matemticamente hablando,
cuando N tiende a infinito. Es decir, su comportamiento asinttico.
Sean "g(n)" diferentes funciones que determinan el uso de recursos. Habr funciones "g" de
todos los colores. Lo que vamos a intentar es identificar "familias" de funciones, usando
como criterio de agrupacin su comportamiento asinttico.
A un conjunto de funciones que comparten un mismo comportamiento asinttico le
denominaremos un orden de complejidad'. Habitualmente estos conjuntos se denominan O,
existiendo una infinidad de ellos.
Para cada uno de estos conjuntos se suele identificar un miembro f(n) que se utiliza como
representante de la clase, hablndose del conjunto de funciones "g" que son del orden de
"f(n)", denotndose como:
g N O(f(n))
Con frecuencia nos encontraremos con que no es necesario conocer el comportamiento
exacto, sino que basta conocer una cota superior, es decir, alguna funcin que se comporte
"an peor".
La definicin matemtica de estos conjuntos debe ser muy cuidadosa para involucrar ambos
aspectos: identificacin de una familia y posible utilizacin como cota superior de otras
funciones menos malas:
Dcese que el conjunto O(f(n)) es el de las funciones de orden de f(n), que se define como
O(f(n))= {g: NTEGER -> REAL+ tales que
Existen las constantes k y N
0
tales que
para todo N > N0, g(N) <= k*f(N) }
En palabras, O(f(n)) esta formado por aquellas funciones g(n) que crecen a un ritmo menor o
igual que el de f(n).
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
De las funciones "g" que forman este conjunto O(f(n)) se dice que "estn dominadas
asintticamente" por "f", en el sentido de que para N suficientemente grande, y salvo una
constante multiplicativa "k", f(n) es una cota superior de g(n).
rdenes de CompIejidad
Se dice que O(f(n)) define un "orden de complejidad". Escogeremos como representante de
este orden a la funcin f(n) ms sencilla del mismo. As tendremos:
O(1) orden constante
O(log n) orden logartmico
O(n) orden lineal
O(n log n)
O(n2) orden cuadrtico
O(na) orden polinomial (a > 2)
O(an) orden exponencial (a > 2)
O(n!) orden factorial
Es ms, se puede identificar una jerarqua de rdenes de complejidad que coincide con el
orden de la tabla anterior; jerarqua en el sentido de que cada orden de complejidad superior
tiene a los inferiores como subconjuntos. Si un algoritmo A se puede demostrar de un cierto
orden O1, es cierto que tambin pertenece a todos los rdenes superiores (la relacin de
orden ota superior de' es transitiva); pero en la prctica lo til es encontrar la "menor cota
superior", es decir el menor orden de complejidad que lo cubra.
Impacto Prctico
Para captar la importancia relativa de los rdenes de complejidad conviene echar algunas
cuentas.
Sea un problema que sabemos resolver con algoritmos de diferentes complejidades. Para
compararlos entre si, supongamos que todos ellos requieren 1 hora de computador para
resolver un problema de tamao N=100.
Qu ocurre si disponemos del doble de tiempo? Ntese que esto es lo mismo que disponer
del mismo tiempo en un computador el doble de potente, y que el ritmo actual de progreso
del hardware es exactamente ese:
"duplicacin anual del nmero de instrucciones por segundo".
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
Qu ocurre si queremos resolver un problema de tamao 2n?
O(f(n)) N=100 t=2h N=200
log n 1 h 10000 1.15 h
n 1 h 200 2 h
n log n 1 h 199 2.30 h
n2 1 h 141 4 h
n3 1 h 126 8 h
2n 1 h 101 1030 h
Los algoritmos de complejidad O(n) y O(n log n) son los que muestran un comportamiento
ms "natural": prcticamente a doble de tiempo, doble de datos procesables.
Los algoritmos de complejidad logartmica son un descubrimiento fenomenal, pues en el
doble de tiempo permiten atacar problemas notablemente mayores, y para resolver un
problema el doble de grande slo hace falta un poco ms de tiempo (ni mucho menos el
doble).
Los algoritmos de tipo polinmico no son una maravilla, y se enfrentan con dificultad a
problemas de tamao creciente. La prctica viene a decirnos que son el lmite de lo
"tratable".
Sobre la tratabilidad de los algoritmos de complejidad polinmica habra mucho que hablar, y
a veces semejante calificativo es puro eufemismo. Mientras complejidades del orden O(n2) y
O(n3) suelen ser efectivamente abordables, prcticamente nadie acepta algoritmos de orden
O(n100), por muy polinmicos que sean. La frontera es imprecisa.
Cualquier algoritmo por encima de una complejidad polinmica se dice "intratable" y slo
ser aplicable a problemas ridiculamente pequeos.
A la vista de lo anterior se comprende que los programadores busquen algoritmos de
complejidad lineal. Es un golpe de suerte encontrar algo de complejidad logartmica. Si se
encuentran soluciones polinomiales, se puede vivir con ellas; pero ante soluciones de
complejidad exponencial, ms vale seguir buscando.
No obstante lo anterior:
... si un programa se va a ejecutar muy pocas veces, los costos de codificacin
y depuracin son los que ms importan, relegando la complejidad a un papel
secundario.
... si a un programa se le prev larga vida, hay que pensar que le tocar
mantenerlo a otra persona y, por tanto, conviene tener en cuenta su legibilidad,
incluso a costa de la complejidad de los algoritmos empleados.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
... si podemos garantizar que un programa slo va a trabajar sobre datos
pequeos (valores bajos de N), el orden de complejidad del algoritmo que
usemos suele ser irrelevante, pudiendo llegar a ser incluso contraproducente.
Por ejemplo, si disponemos de dos algoritmos para el mismo problema, con tiempos de
ejecucin respectivos:

aIgoritmo tiempo compIejidad
f 100 n O(n)
g n2 O(n2)
asintticamente, "f" es mejor algoritmo que "g"; pero esto es cierto a partir de N > 100.
Si nuestro problema no va a tratar jams problemas de tamao mayor que 100, es mejor
solucin usar el algoritmo "g".
El ejemplo anterior muestra que las constantes que aparecen en las frmulas para T(n), y
que desaparecen al calcular las funciones de complejidad, pueden ser decisivas desde el
punto de vista de ingeniera. Pueden darse incluso ejemplos ms dramticos:
aIgoritmo tiempo compIejidad
f n O(n)
g 100 n O(n)
an siendo dos algoritmos con idntico comportamiento asinttico, es obvio que el algoritmo
"f" es siempre 100 veces ms rpido que el "g" y candidato primero a ser utilizado.
... usualmente un programa de baja complejidad en cuanto a tiempo de ejecucin,
suele conllevar un alto consumo de memoria; y viceversa. A veces hay que sopesar
ambos factores, quedndonos en algn punto de compromiso.
... en problemas de clculo numrico hay que tener en cuenta ms factores que su
complejidad pura y dura, o incluso que su tiempo de ejecucin: queda por considerar
la precisin del clculo, el mximo error introducido en clculos intermedios, la
estabilidad del algoritmo, etc. etc.
Propiedades de Ios Conjuntos O(f)
No entraremos en muchas profundidades, ni en demostraciones, que se pueden hallar en los
libros especializados. No obstante, algo hay que saber de cmo se trabaja con los conjuntos
O() para poder evaluar los algoritmos con los que nos encontremos.
Para simplificar la notacin, usaremos O(f) para decir O(f(n)).
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
Las primeras reglas slo expresan matemticamente el concepto de jerarqua de rdenes de
complejidad:
A. La relacin de orden definida por:
f < g <=> f(n) N O(g)
es reflexiva: f(n) N O(f)
y transitiva: f(n) N O(g) y g(n) N O(h) => f(n) N O(h)
B. f N O(g) y g N O(f) <=> O(f) = O(g)
Las siguientes propiedades se pueden utilizar como reglas para el clculo de rdenes de
complejidad. Toda la maquinaria matemtica para el clculo de lmites se puede aplicar
directamente:
C. Lim(n->inf)f(n)/g(n) = 0 => f N O(g)
=> g NOT_N O(f)
=> O(f) es subconjunto de O(g)
D. Lim(n->inf)f(n)/g(n) = k => f N O(g)
=> g N O(f)
=> O(f) = O(g)
E. Lim(n->inf)f(n)/g(n)= NF => f NOT_N O(g)
=> g N O(f)
=> O(f) es superconjunto de O(g)
Las que siguen son reglas habituales en el clculo de lmites:
F. Si f, g N O(h) => f+g N O(h)
G. Sea k una constante, f(n) N O(g) => k*f(n) N O(g)
H. Si f N O(h1) y g N O(h2) => f+g N O(h1+h2)
I. Si f N O(h1) y g N O(h2) => f*g N O(h1*h2)
J. Sean los reales 0 < a < b => O(na) es subconjunto de O(nb)
K. Sea P(n) un polinomio de grado k => P(n) N O(nk)
L. Sean los reales a, b > 1 => O(loga) = O(logb)
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
La regla [L] nos permite olvidar la base en la que se calculan los logaritmos en expresiones
de complejidad.
La combinacin de las reglas [K, G] es probablemente la ms usada, permitiendo de un
plumazo olvidar todos los componentes de un polinomio, menos su grado.
Por ltimo, la regla [H] es la basica para analizar el concepto de secuencia en un programa:
la composicin secuencial de dos trozos de programa es de orden de complejidad el de la
suma de sus partes.
RegIas Prcticas
Aunque no existe una receta que siempre funcione para calcular la complejidad de un
algoritmo, si es posible tratar sistemticamente una gran cantidad de ellos, basndonos en
que suelen estar bien estructurados y siguen pautas uniformes.
Loa algoritmos bien estructurados combinan las sentencias de alguna de las formas
siguientes:
sentencias sencillas
secuencia (;)
decisin (if)
bucles
llamadas a procedimientos
Sentencias sencillas
Nos referimos a las sentencias de asignacin, entrada/salida, etc. siempre y cuando
no trabajen sobre variables estructuradas cuyo tamao este relacionado con el tamao
N del problema. La inmensa mayora de las sentencias de un algoritmo requieren un
tiempo constante de ejecucin, siendo su complejidad O(1).
Secuencia (;)
La complejidad de una serie de elementos de un programa es del orden de la suma de
las complejidades individuales, aplicndose las operaciones arriba expuestas.
Decisin (if)
La condicin suele ser de O(1), complejidad a sumar con la peor posible, bien en la
rama THEN, o bien en la rama ELSE. En decisiones multiples (ELSE F, SWTCH
CASE), se tomara la peor de las ramas.
Bucles
En los bucles con contador explcito, podemos distinguir dos casos, que el tamao N
forme parte de los lmites o que no. Si el bucle se realiza un nmero fijo de veces,
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
independiente de N, entonces la repeticin slo introduce una constante multiplicativa
que puede absorberse.
Ej.- for (int i= 0; i < K; i++) { algo_de_O(1) } => K*O(1) = O(1)
Si el tamao N aparece como lmite de iteraciones ...
Ej.- for (int i= 0; i < N; i++) { algo_de_O(1) } => N * O(1) = O(n)
Ej.- for (int i= 0; i < N; i++) {
for (int j= 0; j < N; j++) {
algo_de_O(1)
}
}
tendremos N * N * O(1) = O(n2)
Ej.- for (int i= 0; i < N; i++) {
for (int j= 0; j < i; j++) {
algo_de_O(1)
}
}
El bucle exterior se realiza N veces, mientras que el interior se realiza 1, 2, 3, ... N
veces respectivamente. En total,
1 + 2 + 3 + ... + N = N*(1+N)/2 -> O(n2)

A veces aparecen bucles multiplicativos, donde la evolucin de la variable de control
no es lineal (como en los casos anteriores)
Ej.- c= 1;
while (c < N) {
algo_de_O(1)
c= 2*c;
}
El valor incial de "c" es 1, siendo "2k" al cabo de "k" iteraciones. El nmero de
iteraciones es tal que
2k >= N => k= eis (log2 (N)) [el entero inmediato superior]
y, por tanto, la complejidad del bucle es O(log n).
Ej.- c= N;
while (c > 1) {
algo_de_O(1)
c= c / 2; }
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
Un razonamiento anlogo nos lleva a log2(N) iteraciones y, por tanto, a un orden O(log
n) de complejidad.
Ej.- for (int i= 0; i < N; i++) {
c= i;
while (c > 0) {
algo_de_O(1)
c= c/2;
}
}
Tenemos un bucle interno de orden O(log n) que se ejecuta N veces, luego el conjunto
es de orden O(n log n)
Llamadas a procedimientos
La complejidad de llamar a un procedimiento viene dada por la complejidad del
contenido del procedimiento en s. El coste de llamar no es sino una constante que
podemos obviar inmediatamente dentro de nuestros anlisis asintticos.
El clculo de la complejidad asociada a un procedimiento puede complicarse
notablemente si se trata de procedimientos recursivos. Es fcil que tengamos que
aplicar tcnicas propias de la matemtica discreta, tema que queda fuera de los lmites
de esta nota tcnica.
EjempIo: evaluacin de un polinomio
Vamos a aplicar lo explicado hasta ahora a un problema de fcil especificacin:
disear un programa para evaluar un polinomio P(x) de grado N;
class Polinomio {
private double[ ] coeficientes;
Polinomio (double[ ] coeficientes) {
this.coeficientes= new double[coeficientes.length];
System.arraycopy(coeficientes, 0, this.coeficientes, 0,
coeficientes.length);
}
double evalua_1 (double x) {
double resultado= 0.0;
for (int termino= 0; termino < coeficientes.length; termino++) {
double xn= 1.0;
for (int j= 0; j < termino; j++)
xn*= x; // x elevado a n
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
resultado+= coeficientes[termino] * xn;
}
return resultado;
}
}
Como medida del tamao tomaremos para N el grado del polinomio, que es el nmero
de coeficientes en C. As pues, el bucle ms exterior (1) se ejecuta N veces. El bucle
interior (2) se ejecuta, respectivamente
1 + 2 + 3 + ... + N veces = N*(1+N)/2 => O(n2)
ntuitivamente, sin embargo, este problema debera ser menos complejo, pues
repugna al sentido comn que sea de una complejidad tan elevada. Se puede ser ms
inteligente a la hora de evaluar la potencia xn:
double evalua_2 (double x) {
double resultado= 0.0;
for (int termino= 0; termino < coeficientes.length; termino++) {
resultado+= coeficientes[termino] * potencia(x, termino);
}
return resultado;
}
private double potencia (double x, int n) {
if (n == 0)
return 1.0;
// si es potencia impar ...
if (n%2 == 1)
return x * potencia(x, n-1);
// si es potencia par ...
double t= potencia(x, n/2);
return t*t;
}
El anlisis de la funcin Potencia es delicado, pues si el exponente es par, el problema tiene
una evolucin logartmica; mientras que si es impar, su evolucin es lineal. No obstante,
como si "j" es impar entonces "j-1" es par, el caso peor es que en la mitad de los casos
tengamos "j" impar y en la otra mitad sea par. El caso mejor, por contra, es que siempre sea
"j" par.
Un ejemplo de caso peor seria x31, que implica la siguiente serie para j:
31 30 15 14 7 6 3 2 1
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
Cuyo nmero de trminos podemos acotar superiormente por:
2 * eis (log2(j)),
Donde eis(r) es el entero inmediatamente superior (este clculo responde al razonamiento de
que en el caso mejor visitaremos eis(log2(j)) valores pares de "j"; y en el caso peor podemos
encontrarnos con otros tantos nmeros impares entremezclados).
Por tanto, la complejidad de Potencia es de orden O(log n).
nsertada la funcin Potencia en la funcin EvaluaPolinomio, la complejidad compuesta es
del orden O(n log n), al multiplicarse por N un subalgoritmo de O(log n).
As y todo, esto sigue resultando extravagante y excesivamente costoso. En efecto, basta
reconsiderar el algoritmo almacenando las potencias de "X" ya calculadas para mejorarlo
sensiblemente:
double evalua_3 (double x) {
double xn= 1.0;
double resultado= coeficientes[0];
for (int termino= 1; termino < coeficientes.length; termino++) {
xn*= x;
resultado+= coeficientes[termino] * xn;
}
return resultado;
}
Que queda en un algoritmo de O(n).
Habiendo N coeficientes C distintos, es imposible encontrar ningun algoritmo de un orden
inferior de complejidad.
En cambio, si es posible encontrar otros algoritmos de idntica complejidad:
double evalua_4 (double x) {
double resultado= 0.0;
for (int termino= coeficientes.length-1; termino >= 0; termino--) {
resultado= resultado * x +
coeficientes[termino];
}
return resultado;
}
No obstante ser ambos algoritmos de idntico orden de complejidad, cabe resaltar que sus
tiempos de ejecucin sern notablemente distintos. En efecto, mientras el ltimo algoritmo
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
ejecuta N multiplicaciones y N sumas, el penltimo requiere 2N multiplicaciones y N sumas.
Si, como es frecuente, el tiempo de ejecucin es notablemente superior para realizar una
multiplicacin, cabe razonar que el ltimo algoritmo ejecutar en la mitad de tiempo que el
anterior.
Medidas de Iaboratorio
La siguiente tabla muestra algunas medidas de la eficacia de nuestros algoritmos sobre una
implementacin en Java
24
:
grado evaIua_1 evaIua_2 evaIua_3 evaIua_4
1 0 10 0 0
2 10 0 0 0
5 0 0 0 0
10 0 10 0 0
20 0 10 0 0
50 40 20 0 10
100 130 60 0 0
200 521 140 0 10
500 3175 400 10 10
1000 63632 1171 872 580

magen "artificial inteligente a modern approach, Second Edition Stuar Russell, Peter Norvig.
24
Una implementacin completa del algoritmo puede ser encontrada en este enlace para revisin del estudiante.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
ProbIemas P, NP y NP-compIetos
Hasta aqu hemos venido hablando de algoritmos. Cuando nos enfrentamos a un problema
concreto, habr una serie de algoritmos aplicables. Se suele decir que el orden de
complejidad de un problema es el del mejor algoritmo que se conozca para resolverlo. As se
clasifican los problemas, y los estudios sobre algoritmos se aplican a la realidad.
Estos estudios han llevado a la constatacin de que existen problemas muy difciles,
problemas que desafan la utilizacin de los ordenadores para resolverlos. En lo que sigue
esbozaremos las clases de problemas que hoy por hoy se escapan a un tratamiento
informtico.
CIase P.-
Los algoritmos de complejidad polinmica se dice que son tratables en el sentido de que
suelen ser abordables en la prctica. Los problemas para los que se conocen algoritmos con
esta complejidad se dice que forman la clase P. Aquellos problemas para los que la mejor
solucin que se conoce es de complejidad superior a la polinmica, se dice que son
problemas intratables. Seria muy interesante encontrar alguna solucin polinmica (o mejor)
que permitiera abordarlos.
CIase NP.-
Algunos de estos problemas intratables pueden caracterizarse por el curioso hecho de que
puede aplicarse un algoritmo polinmico para comprobar si una posible solucin es vlida o
no. Esta caracterstica lleva a un mtodo de resolucin no determinista consistente en aplicar
heursticos para obtener soluciones hipotticas que se van desestimando (o aceptando) a
ritmo polinmico. Los problemas de esta clase se denominan NP (la N de no-deterministas y
la P de polinmicos).
CIase NP-compIetos.-
Se conoce una amplia variedad de problemas de tipo NP, de los cuales destacan algunos de
ellos de extrema complejidad. Grficamente podemos decir que algunos problemas se hayan
en la "frontera externa" de la clase NP. Son problemas NP, y son los peores problemas
posibles de clase NP. Estos problemas se caracterizan por ser todos "iguales" en el sentido
de que si se descubriera una solucin P para alguno de ellos, esta solucin sera fcilmente
aplicable a todos ellos. Actualmente hay un premio de prestigio equivalente al Nobel
reservado para el que descubra semejante solucin. y se duda seriamente de que alguien lo
consiga!
Es ms, si se descubriera una solucin para los problemas NP-completos, esta sera
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
aplicable a todos los problemas NP y, por tanto, la clase NP desaparecera del mundo
cientfico al carecerse de problemas de ese tipo. Realmente, tras aos de bsqueda
exhaustiva de dicha solucin, es hecho ampliamente aceptado que no debe existir, aunque
nadie ha demostrado, todava, la imposibilidad de su existencia.
25
ProbIema: Retomar la explicacin dada en el primer captulo.
Tres Monjes y tres canbales se encuentran juntos con un bote el mismo lado del ro, el bote
puede transportar como mximo 2 personas. La nica manera segura de hacerlo es que en
cada orilla del ro nunca puedan haber mas canbales que Monjes, Como podemos trasladar
a las 6 personas de un lado del ro al otro?
Estado inicial: 3 canbales y 3 Monjes estn al lado izquierdo del ro El estado lo
definirn 5 valores (C,M,CD,MD,DEB).
C: Canbales lado izquierdo
M: Monjes lado izquierdo
CD: Canbales lado derecho
MD: Monjes lado derecho
DEB: Donde esta el bote -> si esta a la izquierda es 0 , si esta a la derecha es 1 por lo
tanto el estado inicial es el siguiente (3,3,0,0,0)
Limitaciones: NO pueden haber ms canbales que Monjes en cualquiera de las dos
orillas del ro -> C
La restriccin dice: la cantidad de canbales del lado izquierdo debe ser menor o igual
que la cantidad de Monjes del lado izquierdo y la cantidad de canbales del lado
derecho debe ser menor o igual que la cantidad de Monjes del lado derecho.
Operaciones: hay 5 posibles operaciones que se pueden realizar siempre y cuando
cumplan con las limitaciones anteriormente descritas.
OP1: cruzar 1 canbal y 1 misionero
OP2: cruzar 2 canbales y 0 misionero
OP3: cruzar 0 canbal y 2 Monjes
OP4: cruzar 0 canbal y 1 misionero
OP5: cruzar 1 canbal y 0 misionero
25
Ejemplo completo del anlisis de complejidad de un algoritmo. Cesar Augustos Cepeda Garca. Disponible en este enlace.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
Estado final: Los 3 canbales y los tres Monjes se encuentran al lado derecho del rio
->(0,0,3,3,1)
Solucin: la solucin correcta la podemos encontrar en 11 pasos, Como haran un
programa de bsqueda para encontrar la solucin de una manera ptima.
ACTIVIDADES
26
Gua de ejercicios y prcticas complementarias opcionales para la unidad didctica No. 1
CapituIo 1: Introduccin
1. Defina con sus propias palabras "nteligencia Artificial.
2. Nombre los cuatros enfoques de la "nteligencia Artificial, y explique cada uno de ellos
brevemente.
3. En qu consiste el Test de Turing?
4. ndique algunos hechos relevantes de la historia de la A.
5. Nombre 3 Aplicaciones de la A.
6. Desarrolle la hiptesis del Sistema de Smbolos Fsicos que dice: "Un sistema de
smbolos fsicos tiene los medios suficientes y necesarios para la accin inteligente.
7. Escriba, de manera sucinta, las biografas de los padres de la inteligencia artificial,
debe incluir entre otros a: Marvin Minsky, John McCarthy, Claude Shannon , Nataniel
Rochester, Allen Newell y Herbert Simon.
8. (opcional) Lea el artculo original (Turing, A.M. Computing machinery and intelligence.
Mind, 59: 433-460. 1950.) de Alan Turing sobre la A. En este articulo Turing predijo
que para el ao 2000 es probable que una computadora tenga 30% de oportunidad de
aprobar una prueba de Turing con duracin de cinco minutos aplicada por un
evaluador inexperto. Considera razonable lo anterior?
9. Son bien conocidos ciertos tipos de problemas inmanejables por los computadores,
as como otros que probablemente evidencian que ningn computador puede tomar
decisiones. Significa esto entonces que la A es un imposible?.
10. Algunos consideran que la percepcin y las habilidades motoras son la parte ms
importante de la inteligencia y que las capacidades de "alto nivel son ms bien
parsitas (meros agregados a las capacidades bsicas). Es un hecho que la mayor
parte de la evolucin y del cerebro se han concentrado en la percepcin y las
habilidades motoras, en tanto se ha encontrado que en la A tareas como juegos e
inferencia lgica resultan ms sencillas, en muchos sentidos, que percibir y actuar en
el mundo real. Considerara usted que ha sido un error la concentracin tradicional
de la A en las capacidades cognoscitivas de alto nivel?.
Unidad Prctica (opcional)
Desarrollar un mapa conceptual sobre inteligencia artificial, donde se
26
Documento con prcticas y actividades complementarias. nstituto Tecnolgico de Toluca. Disponible en este enlace.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
establezcan los conceptos y sus relaciones.
Desarrollar los mtodos de bsqueda en profundidad y en anchura en un grafo
dirigido. Por ejemplo, usar un mapa de carreteras e ir de una ciudad a otra.
Resolver problemas de juegos clsicos de la A, empleando un lenguaje
simblico: gato, damas chinas, el agente viajero, Monjes y canbales, el
problema de las jarras. (Si se emplea Jess, se pueden implementar en el algn
sitio servidor WEB).
CaptuIo 2: Agentes InteIigentes.
1. Defina con sus palabras un Agente nteligente. Dentro de qu enfoque de la A se
circunscriben los Agentes nteligentes. Por qu?
2. Nombre y explique los elementos de un Agente nteligente y sus nteraccin.
3. Mencione y explique al menos 5 caractersticas de los Agentes. De ejemplos.
4. Cul es la estructura de un Agente nteligente?
5. En qu consiste el anlisis PAMA?
6. Desarrolle un anlisis PAMA de un Agente de un sistema medidor de los ritmos
cardiacos de un paciente.
7. Desarrolle un anlisis PAMA de un Agente buscador de nternet.
8. Desarrolle un anlisis PAMA de un Operador de Telfono automtico.
9. Mencione y explique 3 tipos de agentes. En qu se diferencian?
10. Mencione y explique 4 propiedades de los ambientes.
11. Analice el ambiente de los puntos 6, 7 y 8.
CaptuIo 3: CompIejidad de Ios probIemas
1. Desarrolle un anlisis de complejidad detallado del peor caso (O-grande) del algoritmo
de ordenamiento burbuja.
2. Sealar cul es la complejidad de T1(n) = 3nlogn, T2(n) = 2n +n3 +25 y T3(n,k) = k +n
con k n. Ordenar de menor a mayor las complejidades resultantes. Desarrollar una
tabla en el que indique el tiempo de ejecucin requerido en una maquina capaz de
ejecutar 109 pasos de programa por segundo (1000 MPS) para T1, T2 y T3.
3. Explique en cul es la diferencia entre problema abierto y cerrado.
4. Explique en qu consiste las clases P, NP y NP completo.
5. Seale y explique 3 problemas NP. Por qu se consideran problemas NP?
Tarea de repaso adicionaI
1. El problema del vendedor viajero, tambin conocido como TSP consiste en que se tienen
n ciudades y el vendedor desea visitar todas las ciudades pasando por ellas una nica vez al
menor costo posible. Es decir se desea hacer un circuito hamiltoniano de menor costo. Se
asume que todas las ciudades estn conectadas entre ellas. Responder:
a) El problema del TSP es de clase P o NP. Justifique.
b) Dada n ciudades Cuntas rutas posibles existen sabiendo que se parte de la ciudad
1 y se llega a la misma ciudad?.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
c) Desarrollar un algoritmo que encuentre una posible solucin (No determinista).
d) Desarrollar un algoritmo determinista que evale la solucin.
e) Entregue una cota superior en inferior al problema del TSP.
f) Suponiendo que existen 5, 10, 100, 500 ciudades, y que se usa un algoritmo que deba
probar todas las soluciones posibles, es decir, de bsqueda exhaustiva, para
encontrar la solucin de menor costo. Cuanto tiempo tomara en un computador
evaluar todas las soluciones, suponiendo que el algoritmo tarda 10~3 segundos en
evaluar cada solucin?. Graficar.
2. Buscar un problema NP y realizar un estudio como el de la pregunta 1. (Ejemplos: time
tabling, coloration de grafos, VRP, biparticin de grafos). Explique claramente en qu
consiste el problema escogido.
BIBLIOGRAFA
Borrajo, D. y otros Inteligencia artificial: Mtodos y tcnicas. Centro de estudios
Ramn Areces, 1993.
Copeland, J. Inteligencia artificial. Editorial Alianza, 1996.
Crevier, D. Inteligencia artificial. Editorial Acento, 1996.
Dean, T.; Allen, J. & Aloimonos, Y. Artificial Intelligence: Theory and Practice. Benjamin
Cummings, 1995.
Ginsberg, M. Essentials of Artificial Intelligence. Morgan Kaufmann Publishers, 1993.
Haton, J.P. & Haton, M.C. La Inteligencia Artificial: una aproximacin. Editorial Paids,
1991.
Luger, G.F. & Stubblefield, W.A. Artificial Intelligence: Structures and Strategies for
Complex Problem Solving. 2nd edition. Benjamin Cummings, 1993.
McCorduck, P. Mquinas que piensan. Editorial Tecnos, 1991.
Milner, W.L. Common Lisp: A tutorial. Prentice Hall, 1988.
Mira, J.; Delgado, A.E.; Boticario, J.G. & Dez, F.J. Aspectos bsicos de la Inteligencia
Artificial. Editorial Sanz y Torres, 1995.
Rich, E. & Knight, K. Inteligencia Artificial. Segunda edicin. Editorial McGraw-Hill
nteramericana, 1994.
Russell, S. y Norvig, P. Artificial Intelligence: A Modern Approach. Prentice-Hall
nternational, 1995.
Shirai, Y. y Tsujii, J. Inteligencia Artificial: Conceptos, tcnicas y aplicaciones. Editorial
Ariel, 1987.
Tanimoto, S.L. The Elements of Artificial Intelligence: Using Common Lisp. Computer
Science Pres, 1990.
Winston, P.R. Inteligencia artificial. Tercera edicin. Editorial Addison-Wesley, 1994.
Articulo, Agentes nteligentes en la red, Julio 2002 No.2.
Revista, ntelligent Agents, julio de 1994.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
Referencias EIectrnicas
Advanced Computing Research Centre (ACRC). Disponible en este enlace.
Los agentes inteligentes y el etiquetado en la web. Disponible en este enlace.
Agentes Autnomos nteligentes. Disponible en este enlace.
Asociacin Argentina de nteligencia Artificial. Disponible en este enlace.
Aircenter. Disponible en este enlace.
Aphex's Website. Disponible en este enlace.
Aplicacin de las calculadoras. Disponible en este enlace.
Artificial ntelligence group at the University of Bristol. Disponible en este enlace.
nteligencia Artificial. Disponible en este enlace.
Bibliografa de nteligencia Artificial. Disponible en este enlace.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
UNIDAD DIDCTICA 2
LOS SISTEMAS DE BUSQUEDA
Introduccin
Tcnicas de bsqueda de soluciones aplicando Inteligencia Artificial
27
Un aspecto importante
de la hiptesis del sistema simblico propuesto por Newell y Simon
28
, es que los problemas
resueltos por medio de la bsqueda entre varias alternativas, se basan en la aplicacin del
sentido comn humano. Los humanos generalmente consideran un nmero de estrategias
alternas que las guen a la solucin de problemas. De este modo, se han establecido
diferentes alternativas o cursos de accin que conduzcan a la solucin en dependencia de
las caractersticas del espacio de estados del problema a resolver.
El espacio de estados (EE) se define como la representacin de un problema o situacin que
abarca todas las posibles situaciones que se pueden presentar en la solucin del mismo as
como las relaciones que existen entre ellas. Est formado de nodos que describen
situaciones particulares del problema y arcos que conectan pares de nodos y representan los
movimientos legales o reglas que rigen el EE; ellos determinan si es posible pasar de una
situacin del problema a otra (Luger y Stubblefield, 1989).
De esta forma, la solucin al problema se establece como un algoritmo de bsqueda que
analiza los nodos del EE y se representa por el conjunto definido de la siguiente forma [N, A,
,D] (Luger y Stubblefield, 1989) donde:
N es el conjunto de nodos del EE. Estos corresponden a los estados en el proceso de
solucin del problema.
A es el conjunto de arcos o ligas entre nodos. Corresponden a los pasos en el proceso
de solucin del problema.
es un subconjunto no vaco de N que contiene el los estados iniciales del problema.
D es un subconjunto no vaco de N que contiene el los estados finales o la solucin
al problema, los cuales pueden ser obtenidos usando una propiedad medible de los
estados encontrados durante la bsqueda una propiedad de la ruta recorrida durante
la bsqueda.
La funcin de un algoritmo de bsqueda es encontrar una trayectoria que conduzca a una
solucin del problema por medio del EE.
27
Bruno Lpez Takeyas. nstituto Tecnolgico de Nuevo Laredo. Reforma Sur 2007, C.P. 88250, Nuevo Laredo, Tamps. Mxico.
Disponible en este enlace.
28
Por la poca del computacionalismo clsico liderado por Newell y Simon (Newell, Shaw y Simon, 1958) haban logrado que los modelos
simblicos resolvieran teoremas lgicos utilizando el clculo proposicional. Estos resultados favorables hicieron que prosperara la
bsqueda de representaciones de tipo simblico y que los logros alcanzados por los modelos paralelos cayeran en el olvido.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
Cuando se intenta encontrar un nodo solucin analizando completamente el EE, se est
aplicando un mtodo conocido como bsqueda exhaustiva (Luger y Stubblefield, 1989); sin
embargo existen algunos problemas cuyos espacios de estados son demasiado complejos y
extensos que resulta prcticamente imposible recorrerlos en forma completa, an por medio
de dispositivos de cmputo demasiado poderosos.
Los humanos no solo usan la bsqueda exhaustiva, es decir, tambin resuelven los
problemas basados en la aplicacin de reglas de juicio que guen la bsqueda por aquellas
porciones del EE que parezcan "prometedoras. Estas reglas son conocidas como
heursticas. Una heurstica es una estrategia de bsqueda selectiva en el espacio de un
problema y gua la bsqueda a lo largo de las lneas que tienen una alta probabilidad de xito
mientras que descartan aquellas trayectorias que no la ofrecen (Luger y Stubblefield, 1989).
Las heursticas no son infalibles, ya que no siempre garantizan una solucin ptima al
problema, pero una buena heurstica puede y debe aproximarse lo ms que se pueda la
mayora de las veces a ella. Lo ms importante es que emplea conocimiento relacionado con
la naturaleza del problema para encontrar una solucin de manera eficiente. Si el EE
proporciona un medio de formalizar el proceso de solucin a problemas, entonces las
heursticas permiten manipular ese formalismo con inteligencia.
Un Algoritmo Gentico es un ejemplo de un procedimiento de bsqueda que aplica eleccin
aleatoria o heurstica como herramienta para guiarse a travs del anlisis del EE. El uso de
eleccin aleatoria como la principal herramienta para dirigir el proceso de bsqueda parece
extrao al principio, ya que, tradicionalmente se han usado tcnicas de bsqueda basadas
en clculo y enumerativas para resolver problemas de optimizacin, sin embargo, existen
numerosas aplicaciones que han demostrado que ofrece buen comportamiento para localizar
o aproximarse a ptimos globales durante la solucin de problemas (Goldberg, 1989).
OBJETIVO GENERAL
Ofrecer una introduccin a las tcnicas bsicas de la bsqueda en inteligencia artificial (A),
bajo una orientacin prctica encaminada a la resolucin de problemas en este rea.
OBJETIVOS ESPECIFICOS
Tratar con mayor detalle la resolucin general de problemas y las tcnicas de representacin
del conocimiento (bsqueda de la solucin en un espacio de estados, heurstica, inferencia y
control)
Una parte fundamental de la nteligencia Artificial es su aspecto prctico, para ello se
Estudiarn y desarrollarn programas que permitan comprobar su inters desde el punto de
vista informtico. Se utilizar el lenguaje Common Lisp en la programacin de dichos
trabajos.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
Estructura temtica
Segunda
Unidad
CaptuIos Temas
2.LOS
SSTEMAS DE
BUSQUEDA
2.1ntroduccin a los
sistemas de bsquedas
2.1.1 El papel de la bsqueda en la nteligencia
Artificial.
2.1.2 Componentes de un sistema de bsqueda
2.1.3 Clasificacin.
2.2 Bsquedas en
espacios de estados
2.2.1 Algoritmos generales de bsqueda.
2.2.2 Estrategias de bsqueda.
2.2.3 Bsqueda heurstica
2.3 Otros tipos de
bsquedas
2.3.1 Algoritmos Genticos
2.3.2 Bsqueda en sistemas de juegos
2. LOS SISTEMAS DE BSQUEDA
29
2.1 Introduccin a Ios sistemas de bsquedas.
30
En inteligencia artificial el tema de bsquedas es central, dado que, por ejemplo, realizar
acciones mecanizadas o resolver problemas, se reduce a buscar en un espacio de estados
como se explicaba en el apartado anterior. En esa disciplina se estudian bsquedas ciegas
(bsqueda primero en amplitud, primero en profundidad, profundidad iterativa, de costo
uniforme, etc.) y bsquedas inteligentes (bsqueda avara, A*, DA*, A* restricta por memoria
simplificada, ascenso de cima (hill-climbing), etc.)
Relacionado con la bsqueda del ptimo est el problema del control de la bsqueda, control
planteado por Newell y Simon que ha generado una abundancia de trabajos en el campo de
la inteligencia artificial. Se trata de elegir entre bsquedas heursticas lo suficientemente
buenas (no perfectas) como para que se pueda dar por concluida la bsqueda con una
aceptable respuesta al problema en un lapso aceptable de tiempo.
No se discute que las bsquedas aumentan "explosivamente" cuando el espacio de
problema se vuelve demasiado vasto por bifurcacin de nodos a buscar o por incorporacin
de ms variables. Un control de bsqueda basado en tcnicas mediocres tambin llega a
proponer una respuesta adecuada, aunque en un tiempo demasiado largo. En un modelo de
mundo o en un contexto con ms y ms variables que participan y que no se reducen a un
nmero manejable por descarte, surge un problema de control de la bsqueda: ella se vuelve
"explosiva". El problema del control de bsqueda (por ejemplo el problema del operador a
elegir, el problema de la planificacin, etc.) an est casi sin resolver.
29
nteligencia Artificial. Elisa Guerrero Vsquez. Universidad de Cdiz. Disponible en este enlace.
30
Software en plataforma Java para realizar animaciones sobre algoritmos de bsqueda puede ser encontrado en este enlace.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
2.1.1 EI papeI de Ia bsqueda en Ia InteIigencia ArtificiaI
31
En nteligencia Artificial (A) los trminos resolucin de problemas y bsqueda se refieren a
un ncleo fundamental de tcnicas que se utilizan en dominios como la deduccin,
elaboracin de planes de actuacin, razonamientos de sentido comn, prueba automtica de
teoremas, etc. Aplicaciones de estas ideas generales aparecen en la prctica totalidad de los
sistemas inteligentes, como por ejemplo en los programas que tratan de entender el lenguaje
natural, en los programas que tratan de sintetizar un conjunto de reglas de clasificacin en un
determinado dominio de actuacin, o en los sistemas que realizan inferencias a partir de un
conjunto de reglas.
2.1.2 Componentes de un sistema de bsqueda
La resolucin de problemas en A requiere, normalmente, determinar una secuencia de
acciones o decisiones. Esta secuencia ser ejecutada posteriormente por un agente con el
fin de alcanzar un objetivo a partir de una situacin inicial dada. Dependiendo del problema
concreto, la ejecucin de la secuencia de acciones o decisiones tiene asociado un costo que
se tratar de minimizar, o bien tiene asociado un beneficio que se tratar de maximizar. En la
descripcin de los sistemas de bsqueda, se supone que el agente se mueve en un entorno
accesible, o lo que es lo mismo, que es capaz de percibir el entorno con precisin. Adems,
se supone tambin que tanto el efecto como el coste o costo de las acciones se pueden
predecir con exactitud. De este modo, la secuencia de acciones se puede obtener antes de
su ejecucin; en otro caso, la siguiente accin no podra ser determinada hasta conocer el
resultado de la ejecucin de la anterior.
2.1.3 CIasificacin.
Para elaborar una clasificacin de los sistemas de bsqueda se tienen muchas
clasificaciones tantas como investigadores y autores en inteligencia artificial existen, en el
mdulo se ha tratado de organizar esta informacin para ofrecer un panorama lo ms amplio
posible para que el estudiante abarque la mayor cantidad de informacin, los nombres de los
algoritmos y mtodos de solucin en unos casos tienen diferencias que se aclaran en el
transcurso del documento. La siguiente clasificacin se puede tomar como genrica para
tener una idea de las posibilidades de bsqueda.
31
ntroduccin a los sistemas de bsqueda disponible en este enlace.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
Fuente: Manuel Montes Gmez. nstituto Nacional de Astrofsica, ptica y Electrnica. Disponible en este enlace.
2.2 Bsquedas en Ios espacios de estado.
Agentes para Ia soIucin de probIemas
32
Son agentes basados en metas que determinan
que debern hacer por medio de secuencias de acciones que les permitan obtener estados
deseables.
Pasos para Ia soIucin de probIemas:
FormuIacin de metas: se establece el objetivo
FormuIacin deI probIema: se decide que acciones y estados habrn de
considerarse.
Bsqueda: evaluacin de las posibles secuencias de acciones que le llevan a la meta
y eleccin de la ms apta.
Ejecucin: se llevan adelante la solucin que presenta la bsqueda.
Tipos de probIemas:
ProbIemas de un soIo estado: el agente conoce con exactitud en que estado se encuentra y
el resultado de cada una de sus acciones.
32
nteligencia artificial. Exmenes orales. Pedro Popik Disponible en este enlace.
Bsqueda
Una ruta
Ruta optima
Juegos
Profundidad primero
Amplitud primero
Ascenso de colina
Bsqueda en haz
Primero el mejor
Museo britnico
Ramificacin y cota
Programacin dinmica
A*
Minimax
Poda Alfa-beta
Continuacin heurstica
Profundidad progresiva
A tientas
Heuristicos
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
ProbIemas de estados mItipIes: el agente no conoce con exactitud en que estado se
encuentra, pero si el resultado de cada una de sus acciones.
ProbIemas de contingencias: el agente no conoce con exactitud en que estado se
encuentra, pero si el resultado de cada una de sus acciones, aunque se le pueden
presentar ciertas contingencias en las mismas.
ProbIemas de expIoracin: el agente no conoce con exactitud en que estado se encuentra,
ni el resultado exacto de cada una de sus acciones.
ProbIemas
Definicin: Es un conjunto de informacin que el agente utiliza para decidir lo que va a
hacer.
Un probIema esta compuesto por:
Un estado iniciaI que es donde se encuentra el agente.
Un conjunto de acciones que le agente puede emprender.
La prueba de meta para saber si alcanzo un estado meta.
La funcin costo de ruta que le asigna un valor a una ruta determinada.
Eficiencia para resoIver probIemas
Hay tres formas para medir la eficiencia de la bsqueda:
Segn permita o no alcanzar la solucin,
Segn su costo de ruta
Segn el costo de tiempo y memoria para alcanzar la solucin
EIeccin de estados y acciones
Los estados y acciones se eligen mediante un proceso de abstraccin (eliminacin de
detalles de una representacin).
Para escoger una buena abstraccin hay que eliminar todos los detalles que sea posible
siempre y cuando se conserve la validez y se garantice que es fcil emprender las acciones
abstractas.
Bsqueda de soIuciones
La bsqueda consiste en escoger una opcin, haciendo a un lado las dems para
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
considerarlas posteriormente en caso de no obtener respuesta alguna mediante la primera
opcin.
La bsqueda termina cuando se encuentra una solucin o cuando no hay mas estados que
expandir.
rboIes de bsqueda
Componentes en la estructura de datos para los rboles de bsqueda:
El estado al que corresponda el nodo,
El nodo padre,
El operador que se aplico para generar el nodo,
La profundidad del nodo (distancia hasta la raz),
El costo de ruta desde el estado inicial hasta el nodo.
Estrategia de bsqueda
Las estrategias de bsqueda se evalan segn los siguientes criterios:
CompIetez: si garantiza o no encontrar la solucin si es que existe.
CompIejidad temporaI: cantidad de tiempo necesario para encontrar la solucin.
CompIejidad espaciaI: cantidad de memoria necesaria para encontrar la solucin.
Optimidad: si se encontrar o no la mejor solucin en caso de que existan varias.
Tipos de estrategias de bsqueda
Las estrategias de bsqueda se pueden agrupar en dos grandes grupos:
Bsquedas sin contar con informacin (o bsqueda ciega): no existe informacin
acerca de la cantidad de pasos necesarios o sobre el costo de ruta para pasar del
estado de un momento dado a la meta.
Bsqueda respaIdada con informacin (o bsqueda heurstica): se posee
informacin muy valiosa para orientar la bsqueda para que sea mas ptima.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
Bsquedas sin contar con informacin
Las seis estrategias de bsqueda sin contar con informacin son las siguientes:
Bsqueda preferente por amplitud
Bsqueda de costo uniforme
Bsqueda preferente por profundidad
Bsqueda limitada por profundidad
Bsqueda por profundizacin iterativa
Bsqueda direccional
Bsqueda preferente por ampIitud:
En esta bsqueda todos los nodos que estn en la profundidad d del rbol de
bsqueda se expanden antes de los nodos que estn en la profundidad d+1.
Si son varias las soluciones, este tipo de bsqueda permitir siempre encontrar
primero el estado meta ms prximo a la raz.
En esta bsqueda el tiempo y la cantidad de memoria necesaria crece
exponencialmente con respecto a la profundidad.
Es ptima y completa.
Bsquedas de costo uniforme:
En esta bsqueda se modifica la estrategia preferente por amplitud en el sentido de
expandir siempre el nodo de menor costo en el margen (medido por el costo de la ruta
g(n)) en vez del nodo de menor profundidad.
Este tipo de bsqueda permitir siempre encontrar la solucin mas barata siempre y
cuando el costo de ruta nunca disminuya conforme avanzamos por la ruta.
En esta bsqueda el tiempo y la cantidad de memoria necesaria crece
exponencialmente con respecto a la profundidad.
Es ptima y completa.
Bsqueda preferente por profundidad:
En esta bsqueda siempre se expande uno de los nodos que se encuentren en los
mas profundo del rbol. Solo si la bsqueda conduce a un callejn sin salida, ser
revierte la bsqueda y se expanden los nodos de niveles menos profundos.
Esta bsqueda o se queda atorada en un bucle infinito y nunca es posible regresar al
encuentro de una solucin, o a la larga encontrar una ruta de solucin mas larga que
la solucin ptima.
En esta bsqueda el tiempo necesario crece exponencialmente con respecto a
la profundidad, mientras que el espacio requerido en memoria lo hace en forma
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
lineal
No es ptima ni completa.
Bsqueda Iimitada por profundidad:
Esta bsqueda es similar a la bsqueda preferente por profundidad con la diferencia
que se impone un lmite a la profundidad mxima de una ruta.
Se utilizan operadores que informan constantemente de la profundad del nodo.
En esta bsqueda el tiempo necesario crece exponencialmente con respecto a
la profundidad, mientras que el espacio requerido en memoria lo hace en forma
lineal
No es ptima, pero si completa cuando la profundidad del lmite es menor o
igual a la profundidad de la solucin.
Bsqueda por profundizacin iterativa:
Esta bsqueda es similar a la bsqueda limitada por profundidad con la diferencia que
se repiten las bsquedas dando en cada iteracin un valor distinto de profundiad para
la misma.
En esta bsqueda el tiempo necesario crece exponencialmente con respecto a
la profundidad, mientras que el espacio requerido en memoria lo hace en forma
lineal
Es ptima y completa.
Bsqueda bidireccionaI:
Esta es una bsqueda que avanza a partir del estado inicial y que retrocede a partir de
la meta y que se detiene cuando ambas bsquedas se encuentran en algn punto
intermedio.
En esta bsqueda el tiempo y el espacio requerido en memoria crecen
exponencialmente con respecto a la mitad de la profundidad (bd/2).
Es ptima y completa.
Comparacin entre Ias diferentes estrategias de bsqueda:
Criterio Preferente
por ampIitud
Costo
uniforme
Preferente
por
profundidad
Limitada en
profundidad
Profundizaci
n iterativa
BidireccionaI
(cuando
apIica)
Tiempo b
d
b
d
b
m
b
l
b
d
b
d/2
Espacio
b
d
b
d
bm bl bd b
d/2
Es ptima? S S No No S S
Es compIeta? S S No S, cuando
l>=d
S S
Evaluacin de las estrategias de bsqueda. b es el factor de ramificacin; d es la profundidad de la solucin; m
es la profundidad mxima del rbol de bsqueda; l es el lmite de profundidad.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
2.2.3 Bsqueda heurstica
ntroduccin
En nteligencia Artificial (A) se emplea el calificativo heurstico, en un sentido muy genrico,
para aplicarlo a todos aquellos aspectos que tienen que ver con el empleo de conocimiento
en la realizacin dinmica de tareas.
Se habla de heurstica para referirse a una tcnica, mtodo o procedimiento inteligente de
realizar una tarea que no es producto de un riguroso anlisis formal, sino de conocimiento
experto sobre la tarea. En especial, se usa el trmino heurstico para referirse a un
procedimiento que trata de aportar soluciones a un problema con un buen rendimiento, en lo
referente a la calidad de las soluciones y a los recursos empleados.
En la resolucin de problemas especficos han surgido procedimientos heursticos exitosos,
de los que se ha tratado de extraer lo que es esencial en su xito para aplicarlo a otros
problemas o en contextos ms extensos.
Esta bsqueda tambin es conocida como bsqueda respaldada con informacin que puede
dividir en los siguientes tipos de bsqueda:
Bsqueda preferente por lo mejor.
Bsqueda limitada por la capacidad de la memoria.
Bsquedas de mejoramiento iterativo.
Bsqueda preferente por Io mejor:
Esta bsqueda consiste en expandir primero aqul nodo con mejor evaluacin. Dicha
evaluacin es el resultado de aplicar la funcin de evaIuacin al nodo, la cual
devuelve un nmero que sirve para representar lo deseable que sera la expansin de
un nodo.
Dentro de este tipo de bsqueda se encuentran:
Bsqueda avara.
Bsqueda A*.
Bsqueda avara:
Consiste en reducir al mnimo el costo estimado para alcanzar una meta.
Para ello se utiliza una funcin llamada heurstica, la cual estima el costo que implica
llegar a una meta desde un estado determinado, y elige cual es el siguiente nodo que
se va a expandir aplicando esta funcin a cada nodo.
En esta bsqueda el tiempo y la cantidad de memoria necesaria crece
exponencialmente con respecto a la profundidad. Pero la eleccin de una buena
funcin heurstica permite disminuir notablemente la complejidad tanto en
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
tiempo como en espacio.
No es ptima ni completa.
Etapas de una bsqueda avara para llegar a Bucarest. Se utiliza la distancia en lnea recta a Bucarest y la
funcin heurstica hDLR. Los nodos se identifican con sus valores h correspondientes.
Bsqueda A*:
Esta bsqueda es una bsqueda preferente por lo mejor en la que se utiliza f como
funcin de evaluacin.
La funcin f calcula el costo estimado de la solucin ms barata, pasando por n y se
calcula de la siguiente manera:
f=g(n) + h(n)
Siendo g(n) el costo de ruta y h(n) una heurstica admisible (que nunca sobreestima el
costo que implica alcanzar la meta).
En esta bsqueda la cantidad de memoria necesaria crece exponencialmente
con respecto a la profundidad. Pero la eleccin de una buena funcin heurstica
permite disminuir notablemente la complejidad tanto en tiempo como en
espacio.
Es ptima y completa.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
Etapas de una bsqueda A* para llegar a Bucarest. Los nodos se identifican con f=g+h. Los valores de h
corresponden a las distancias en lnea recta a Bucarest de la figura anterior.
Bsqueda Iimitada por Ia capacidad de Ia memoria:
Cuando se implementan las bsquedas vistas hasta el momento, hay ciertos
problemas muy difciles de resolver y por lo tanto siempre hay que dar algo a cambio
para resolverlos, y lo primero que se cede es la memoria disponible.
Para poder conservar la memoria existen:
La bsqueda A* por profundizacin iterativa
La bsqueda A* acotada por memoria simplificada.
Bsqueda A* por profundizacin iterativa (A*PI):
En este algoritmo, cada iteracin es una bsqueda preferente por profundidad, la cual
se modifica para utilizar un lmite de costo f en vez de un lmite de profundidad.
En esta bsqueda el espacio requerido en memoria crece en forma lineal con
respecto a la profundidad, mientras que la complejidad temporal depende de la
cantidad de distintos valores que adopte la funcin heurstica.
Es ptima y completa.
Bsqueda A* acotada por memoria simpIificada (A*SRM):
Tiene las siguientes caractersticas:
Hace uso de toda la memoria que puede disponer
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
En la medida que se lo facilite la memoria, evitar los estados repetidos
Es completa si la memoria disponible tiene capacidad suficiente para guardar la
ruta de solucin ms cercana
Es ptima si dispone de suficiente memoria para guardar la ruta de solucin
ptima ms cercana. De lo contrario produce la mejor solucin que sea posible
obtener con la memoria disponible.
Bsqueda de mejoramiento iterativo:
La idea bsica de los algoritmos de estos tipos de bsqueda consiste en empezar con una
configuracin completa y efectuar modificaciones para mejorar su calidad.
Entre estas bsquedas se pueden encontrar:
Bsqueda por ascenso de cima.
Bsqueda con endurecimiento simulado.
Bsqueda por ascenso de cima:
Esta bsqueda se trata de un bucle que constantemente se desplaza en la direccin
de un valor ascendente. Como el algoritmo no mantiene un rbol de bsqueda, la
estructura de datos del nodo slo tiene que registrar el estado y su evaluacin,
denominado VALOR.
Cuando el algoritmo llega a un punto mas all del cual no se logra ningn avance, es
obvio que debe empezarse de nuevo en otro punto.
Bsqueda por endurecimiento simuIado:
Esta bsqueda es muy similar a la bsqueda por ascenso a la cima, pero con la
diferencia de que en vez de empezar otra vez al azar luego de quedarse atorado en un
mximo local, sera conveniente descender unos cuantos pasos y as escapar del
mximo local en cuestin.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
2.3 OTROS TIPOS DE BUSQUEDAS
2.3.1 ALGORITMOS GENETICOS
2.3.1.1 FUNDAMENTOS
Los algoritmos genticos son mtodos de optimizacin de problemas basados en los
mecanismos de la reproduccin natural, los cuales son operaciones sobre el material
gentico de los organismos vivientes. Es una tcnica de bsqueda interactiva inspirada en
los principios de seleccin natural, estos no buscan modelar la evolucin biolgica sino
derivar estrategias de optimizacin.
La informacin gentica est contenida en el ncleo de las clulas sexuales de las criaturas.
La informacin gentica contiene un cierto nmero de cromosomas, denominados genes,
que se encargan de transportar la informacin gentica. As, por razones obvias, los
algoritmos genticos operan sobre estructuras que estn organizadas de manera similar a
los cromosomas.
Los algoritmos genticos fueron desarrollados por John Holland y sus colegas en la
universidad de michigan En 1975, se basan en la mecnica de la seleccin natural que
afirma que solo los organismos que mejor se adaptan sobreviven.
2.3.1.2 HISTORIA DE LOS ALGORITMOS GENTICOS
33
Los primeros ejemplos de lo que hoy podramos llamar algoritmos genticos aparecieron a
finales de los 50 y principios de los 60, programados en computadoras por bilogos
evolutivos que buscaban explcitamente realizar modelos de aspectos de la evolucin
natural. A ninguno de ellos se le ocurri que esta estrategia podra aplicarse de manera ms
general a los problemas artificiales, pero ese reconocimiento no tardara en llegar: ``La
computacin evolutiva estaba definitivamente en el aire en los das formativos de la
computadora electrnica'' (Mitchell 1996).
En 1962, investigadores como G.E.P. Box, G.J. Friedman, W.W. Bledsoe y H.J. Bremermann
haban desarrollado independientemente algoritmos inspirados en la evolucin para
optimizacin de funciones y aprendizaje automtico, pero sus trabajos generaron poca
reaccin.
En 1965 surgi un desarrollo ms exitoso, cuando ngo Rechenberg, entonces de la
Universidad Tcnica de Berln, introdujo una tcnica que llam estrategia evolutiva, aunque
se pareca ms a los trepacolinas que a los algoritmos genticos. En esta tcnica no haba
poblacin ni cruzamiento; un padre mutaba para producir un descendiente, y se conservaba
el mejor de los dos, convirtindose en el padre de la siguiente ronda de mutacin. Versiones
posteriores introdujeron la idea de poblacin. Las estrategias evolutivas todava se emplean
hoy en da por ingenieros y cientficos, sobre todo en Alemania.
33
Documento introductorio a los algoritmos genticos. Disponible en este enlace.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
El siguiente desarrollo importante en el campo vino en 1966, cuando L.J. Fogel, A.J. Owens y
M.J. Walsh introdujeron en Amrica una tcnica que llamaron programacin evolutiva. En
este mtodo, las soluciones candidatas para los problemas se representaban como
mquinas de estado finito sencillas; al igual que en la estrategia evolutiva de Rechenberg, su
algoritmo funcionaba mutando aleatoriamente una de estas mquinas simuladas y
conservando la mejor de las dos (Mitchell 1996; Goldberg 1989). Tambin al igual que las
estrategias evolutivas, hoy en da existe una formulacin ms amplia de la tcnica de
programacin evolutiva que todava es un rea de investigacin en curso.
Fue John Holland en los aos 60 quien en su estudio sobre sistemas adaptativos estableci
las bases para desarrollos posteriores. Holland desde pequeo se preguntaba cmo logra la
naturaleza crear seres cada vez ms perfectos. Lo curioso era que todo se lleva a cabo a
base de interacciones locales entre individuos, y entre stos y lo que les rodea. No saba la
respuesta, pero tena una cierta idea de cmo hallarla: tratando de hacer pequeos modelos
de la naturaleza, que tuvieran alguna de sus caractersticas, y ver cmo funcionaban, para
luego extrapolar sus conclusiones a la totalidad. De hecho, ya de pequeo haca
simulaciones de batallas clebres con todos sus elementos: copiaba mapas y los cubra
luego de pequeos ejrcitos que se enfrentaban entre s.
En los aos 50 entr en contacto con los primeros ordenadores, donde pudo llevar a cabo
algunas de sus ideas, aunque no se encontr en un ambiente intelectual frtil para
propagarlas. Fue en 1962, en la Universidad de Michigan en Ann Arbor, donde, dentro del
grupo Logic of computers, sus ideas comenzaron a desarrollarse y a dar frutos. Y fue,
adems, leyendo un libro escrito por un bilogo evolucionista, R.A. Fisher, titulado La teora
gentica de la seleccin natural, como comenz a descubrir los medios de llevar a cabo sus
propsitos de comprensin de la naturaleza. De este libro aprendi que la evolucin era una
forma de adaptacin ms potente que el simple aprendizaje, y tom la decisin de aplicar
estas ideas para desarrollar programas bien adaptados para un fn determinado.
En esta universidad, Holland imparta un curso titulado Teora de los sistemas adaptativos.
Dentro de este curso, y con una participacin activa por parte de sus estudiantes, fue donde
se crearon las ideas que ms tarde se convertiran en los algoritmos genticos.
Por tanto, cuando Holland se enfrent a los algoritmos genticos, los objetivos de su
investigacin fueron dos:
mitar los procesos adaptativos de los sistemas naturales, y
Disear sistemas artificiales (normalmente programas) que retengan los mecanismos
importantes de los sistemas naturales.
Unos 15 aos ms adelante, David Goldberg, actual delfn de los algoritmos genticos,
conoci a Holland, y se convirti en su estudiante. Goldberg era un ingeniero industrial
trabajando en diseo de pipelines, y fue uno de los primeros que trat de aplicar los
algoritmos genticos a problemas industriales. Aunque Holland trat de disuadirle porque
pensaba que el problema era excesivamente complicado como para aplicarle algoritmos
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
genticos, Goldberg consigui lo que quera, escribiendo un algoritmo gentico en un
ordenador personal Apple . Estas y otras aplicaciones creadas por estudiantes de Holland
convirtieron a los algoritmos genticos en un campo con base suficiente aceptado para
celebrar la primera conferencia en 1985 CGA'85. Tal conferencia se sigue celebrando
bianualmente.
2.3.1.3. MECANISMOS BIOLGICOS UTILIZADOS PARA EL DESARROLLO DE LOS
ALGORITMOS GENTICOS.
En esta seccin se abordan los mecanismos de la herencia con el objetivo de evidenciar la
analoga entre los algoritmos genticos y aquello que pretenden simular.
Cada individuo de cada una de las especies del planeta posee ciertas caractersticas que lo
identifican. Dichas caractersticas, que suelen ser externas (como el color de ojos) aunque
tambin pueden ser internas (como el grupo sanguneo), forman el fenotipo de un individuo
que es el resultado de la interaccin del medio ambiente en que se desarrolla y la herencia
que recibe de sus ancestros. Dicho fenotipo est determinado por las protenas que produce
y est definido en la informacin gentica de cada una de las clulas del individuo.

A su vez, la informacin acerca de las protenas que se producirn est contenida en los
cromosomas. En cada clula existen dos juegos de cromosomas que definen las mismas
caractersticas. Un cromosoma es una larga molcula de ADN formada por protenas que
definen los genes. El conjunto de todos los cromosomas, es decir, de toda la informacin
gentica de un individuo se llama genoma y el conjunto de genes contenidos en el genoma
se denomina genotipo que es que determina en buena medida el fenotipo del individuo.

Existen unas clulas especiales, llamadas gametos, que intervienen en la reproduccin
dividindose mediante un proceso denominado meiosis del siguiente modo:
1) Se duplica el nmero de cromosomas en la clula, esto es, se hace una copia de cada
cromosoma. Al final quedan dos juegos correspondientes al padre y dos a la madre.
2) Se cruzan un juego de cromosomas del padre con uno de la madre, formndose dos
juegos de cromosomas hbridos.
3) Se divide la clula dos veces y al final del proceso quedan cuatro clulas haploides
(con un solo juego de cromosomas): una con cromosomas puros del padre, una con
cromosomas puros de la madre y dos con cromosomas hbridos.
Para el cruzamiento de dos cromosomas se forman entre ellos puntos de ruptura y unin de
las cadenas de ADN que se denominan quiasmas y cortan el cromosoma en segmentos
llamados cromticas y unen cromticas complementarias de dos cromosomas distintos.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
Proceso de Meiosis
Para la rplica un cromosoma ya existente interviene una enzima denominada ADN-
polimerasa. La molcula de ADN tiene forma de doble hlice y dicha enzima se encarga de
abrir por la mitad la molcula y replicar el cromosoma. Ocasionalmente la ADN-polimerasa
comete un error que puede ser causado por radiaciones energticas externas o sustancias
extraas. La alteracin de dicha molcula de ADN constituye una mutacin que puede
manifestarse en el fenotipo y hacer al individuo diferente del resto de sus congneres. Por lo
general las mutaciones son desfavorables e incluso letales para el organismo mutante pero a
veces pueden no serlo y conferir a dicho organismo alguna ventaja que le permita sobrevivir
ms fcilmente en su medio. Dicha caracterstica ser transmitida a sus descendientes y se
habr producido un pequeo paso evolutivo.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
2.3.1.4 DEFINICIN Y PROCESO DE CONSTRUCCIN.
Los algoritmos genticos (AGs) son mtodos adaptativos que pueden usarse para resolver
problemas de bsqueda y optimizacin. Estn basados en el proceso gentico de los
organismos vivos. A lo largo de las generaciones, las poblaciones evolucionan en la
naturaleza de acuerdo con los principios de la seleccin natural y la supervivencia de los ms
fuertes, postulados por Darwin.
Por imitacin de este proceso, los algoritmos Genticos son capaces de ir creando soluciones
para problemas del mundo real. La evolucin de dichas soluciones hacia valores ptimos del
problema depende en buena medida de una adecuada codificacin de las mismas. No sera
conveniente la utilizacin de algoritmos genticos en las siguientes situaciones:
Si se requiere llegar forzosamente al mximo global en el caso de que estemos
maximizando una funcin.
Si conocemos la funcin de optimizacin.
Si el problema est muy delimitado y se presta a un tratamiento analtico (funciones de
una variable).
Si la funcin es suave y convexa.
Si el espacio es limitado, entonces es mejor enumerar todas las soluciones posibles.
2.3.1.5 DEFINICIN FORMAL DE ALGORITMO GENTICO
Un aIgoritmo gentico consiste en una funcin matemtica 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 generacin.
Algunas versiones ms complejas de algoritmos genticos generan un ciclo iterativo que
directamente toma a la especie (el total de los ejemplares) y crea una nueva generacin que
reemplaza a la antigua una cantidad de veces determinada por su propio diseo. Una de sus
caractersticas principales es la de ir perfeccionando su propia heurstica en el proceso de
ejecucin, por lo que no requiere largos perodos de entrenamiento especializado por parte
del ser humano, principal defecto de otros mtodos para solucionar problemas, como los
Sistemas Expertos.
La aplicacin ms comn de los algoritmos genticos ha sido la solucin de problemas de
optimizacin, en donde han mostrado ser muy eficientes y confiables. Sin embargo, no todos
los problemas pudieran ser apropiados para la tcnica, y se recomienda en general tomar en
cuenta las siguientes caractersticas del mismo antes de intentar usarla:
Su espacio de bsqueda (i.e., sus posibles soluciones) debe estar delimitado dentro
de un cierto rango.
Debe poderse definir una funcin de aptitud (funcin fitness) que nos indique cmo es
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
de buena o mala es una cierta respuesta.
Las soluciones deben codificarse de una forma que resulte relativamente fcil de
implementar en el computador.
El primer punto es muy importante, y lo ms recomendable es intentar resolver problemas
que tengan espacios de bsqueda discretos aunque stos sean muy grandes. Sin embargo,
tambin podr intentarse usar la tcnica con espacios de bsqueda continuos, pero
preferentemente cuando exista un rango de soluciones relativamente pequeo. La funcin
de aptitud no es ms que la funcin objetivo de nuestro problema de optimizacin. El
algoritmo gentico nicamente maximiza, pero la minimizacin puede realizarse fcilmente
utilizando el recproco de la funcin maximizante (debe cuidarse, por supuesto, que el
recproco de la funcin no genere una divisin por cero). Una caracterstica que debe tener
esta funcin 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 codificacin ms comn de las soluciones es a travs de cadenas binarias, aunque se
han utilizado tambin nmeros reales y letras. El primero de estos esquemas ha gozado de
mucha popularidad debido a que es el que propuso originalmente Holland, y adems porque
resulta muy sencillo de implementar.
2.3.1.6 PROCESO DE CONSTRUCCIN DE UN ALGORITMO GENTICO
El algoritmo gentico simula el proceso de evolucin natural. En esta seccin se intenta
aclarar la manera como se lleva a cabo esta simulacin.
Codificacin del dominio En la naturaleza las caractersticas de los seres vivos, incluso
aqullas que los hacen ptimos para habitar en su medio, estn determinadas por las
protenas que producen, las cuales se codifican en el material gentico contenido en cada
una de las clulas del individuo. As pues, la naturaleza ha codificado el dominio del problema
(todos los posibles individuos) aplicndolo al conjunto de todas las posibles secuencias de
nucletidos (que son los elementos que forman las protenas).
As, para un algoritmo gentico lo primero que se requiere es determinar en qu espacio se
encuentran las posibles soluciones al problema que se pretende resolver. En caso de tener
un problema de optimizacin de una funcin cuyo dominio es un subconjunto de nmeros
reales, entonces este subconjunto es al que nos referimos. Es necesario codificar de alguna
manera el dominio del problema para obtener estructuras manejables que puedan ser
manipuladas por el algoritmos gentico. Cada una de estas estructuras constituye el
equivalente al genotipo de un individuo en trminos biolgicos. El elemento del dominio del
problema al que se mapea este genotipo es el anlogo al fenotipo. Es frecuente que el cdigo
de los elementos del dominio del problema utilice un alfabeto binario (0's y 1's).
Una vez que se ha definido la manera de codificar los elementos del dominio del problema y
se conoce la forma de pasar de un elemento a su cdigo y viceversa, es necesario fijar un
punto de partida. Los algoritmos genticos manipulan conjuntos de cdigos (poblaciones de
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
cdigos) en generaciones sucesivas. El algoritmo se encargar de favorecer la aparicin en
la poblacin de cdigos que correspondan a elementos del dominio que estn prximos a
resolver el problema. Es decir, dicho algoritmo recibir como entrada una poblacin de
cdigos y a partir de sta generar nuevas poblaciones, donde algunos cdigos
desaparecern mientras que otros, que se mapean en mejores soluciones posibles, aparecen
con ms frecuencia hasta que se encuentra una satisfactoria o hasta que se cumpla alguna
otra condicin de terminacin. Los elementos de la poblacin sern llamados individuos y a
los cdigos se les denominar indistintamente cromosomas, genotipo, genoma o cdigo
gentico.
Evaluacin de la poblacin En la naturaleza hay individuos ms hbiles que otros para
sobrevivir y al igual que sucede en la naturaleza, en los algoritmos genticos es necesario
establecer algn criterio que permita decidir cules de las soluciones propuestas en una
poblacin son mejores respecto del resto de las propuestas y cules no lo son.

Para determinar cules de estos individuos corresponden a buenas propuestas de solucin y
cules no, es necesario calificarlos de alguna manera. Cada individuo de cada generacin de
un algoritmo gentico recibe una calificacin o una medida de su grado de adaptacin
(fitness). ste es un nmero real no negativo que ser ms grande cuanto mejor sea la
solucin propuesta por dicho individuo. Por ejemplo, si el problema a resolver consiste en
maximizar una funcin, entonces la calificacin asignada a un individuo determinado debe
indicar qu tan alto es el valor de la funcin en el elemento de su dominio codificado por el
individuo. Si, en cambio, el problema es determinar la ruta ms corta entre dos puntos, la
calificacin deber ser tanto ms alta cuanto ms corto sea el camino codificado en el
individuo que est siendo calificado.
Al hablar de que a cada individuo de la poblacin se le asigna una y slo una calificacin, se
est hablando de una funcin que se denomina funcin de adaptacin, cuya evaluacin
puede no ser sencilla y es, de hecho, lo que en la mayora de los casos consume ms tiempo
en la ejecucin de un algoritmo gentico. Hay que tener en cuenta que se evala una vez en
cada individuo en cada generacin. Si un AG es ejecutado con una poblacin de tamao 100
durante 100 generaciones, la funcin es evaluada 10000 veces. Adems, puede darse el
caso de que la funcin de evaluacin no tenga una regla de correspondencia explcita, esto
es, una expresin algebraica, y puede ocurrir incluso que la funcin cambie de generacin en
generacin.
Seleccin Una vez calificados todos los individuos de una generacin, el algoritmo debe
seleccionar a los individuos ms calificados para que tengan mayor oportunidad de
reproduccin. De esta forma se incrementa la probabilidad de tener individuos 'buenos' en el
futuro. Si de una determinada generacin se seleccionaran slo aquellos con una calificacin
mayor o igual que cierto nmero c para pasarlos a la siguiente generacin, es claro que en
sta la calificacin superar c y por tanto al promedio de la generacin anterior. La seleccin
explota el conocimiento que se ha obtenido hasta el momento, procurando elegir lo mejor que
se haya encontrado, elevando as el nivel de adaptacin de toda la poblacin.
En principio podra parecer que es conveniente tener una estrategia de seleccin estricta
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
para que se mejore rpidamente la poblacin y converja el algoritmo, es decir, que la
poblacin se acumule alrededor de un genotipo ptimo. Esto puede no ser cierto, ya que
podra ocurrir que la poblacin se acumulara rpidamente alrededor de algn individuo que
sea bueno, comparativamente con el resto de los individuos considerados a lo largo de
ejecucin del algoritmo, pero este individuo puede no ser el mejor posible.
A esto se le suele llamar convergencia prematura y no se puede asegurar pero s procurar
que lo anterior no ocurra. Adems de la explotacin es necesario que exista exploracin. El
AG debe, no slo seleccionar de entre lo mejor que ha encontrado, sino procurar encontrar
mejores individuos. A esto se dedican los operadores que se describirn a continuacin
(cruzamiento y mutacin).
En la estrategia de seleccin normalmente se incluye un elemento extra que sirve de 'ancla'.
Si slo se hace seleccin forzando que sea ms probable elegir al mejor individuo de la
poblacin pero sin asegurarlo, es posible que este individuo se pierda y no forme parte de la
siguiente generacin. Para evitar lo anterior se fuerza la seleccin de los mejores n individuos
de la generacin para que pasen intactos a la siguiente. A esta estrategia se le denomina
elitismo y puede ser generalizada especificando que permanezcan en la poblacin los
nmejores individuos de las pasadas k generaciones.
Cruzamiento La cruza de los cdigos genticos de individuos exitosos favorece la aparicin
de nuevos individuos que heredan de sus ancestros caractersticas deseables. En el contexto
de los algoritmos genticos reproducirse significa que, dados dos individuos seleccionados en
funcin de su grado de adaptacin, stos pasen a formar parte de la siguiente generacin o,
al menos, mezclen sus cdigos genticos para generar 'hijos' que posean un cdigo hbrido.
Es decir, los cdigos genticos de los individuos se cruzan. Existen muchos mecanismos de
cruzamiento y todos tienen por objeto que el cdigo de un individuo A y el de uno B,
previamente seleccionados, se mezclen, es decir, se fragmenten y recombinen para formar
nuevos individuos con la esperanza de que stos hereden de sus progenitores las
caractersticas deseables. El mecanismo de cruzamiento ms comn es el llamado
cruzamiento de un punto que se describe en la seccin siguiente cuando se describa el
algoritmo gentico simple.
Mutacin Ocasionalmente algunos elementos del cdigo de ciertos individuos de un
algoritmo gentico se alteran a propsito. stos se seleccionan aleatoriamente en lo que
constituye el smil de una mutacin. El objetivo es generar nuevos individuos que exploren
regiones del dominio del problema que probablemente no se han visitado an. Esta
exploracin no presupone conocimiento alguno.
Aleatoriamente se buscan nuevas soluciones posibles que quiz superen las encontradas
hasta el momento. Esta es una de las caractersticas que hacen aplicables los algoritmos
genticos a gran variedad de problemas: no presuponer conocimiento previo acerca del
problema a resolver ni de su dominio, no slo en la mutacin sino en el proceso total. De
hecho, el problema a resolver slo determina la funcin de evaluacin y la manera de
codificar las soluciones posibles. El resto de los subprocesos que constituyen el algoritmo son
independientes y universalmente aplicables.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
2.3.1.7 ALGORITMO GENTICO SIMPLE Y ALGORITMO GENTICO PARALELO
EL ALGORITMO GENTICO SIMPLE
El algoritmo gentico simple, tambin denominado cannico, se representa a continuacin
34
:
BEGlN /* Algoritmo Genetico Simple */
Generar una poblacion inicial.
Computar la funcion de evaluacion de cada individuo.
WHlLE NOT Terminado DO
BEGlN /* Producir nueva generacion */
FOR Tamao poblacion/2 DO
BEGlN /*Ciclo Reproductivo */
Seleccionar dos individuos de la anterior generacion,
para el cruce (probabilidad de seleccion proporcional
a la funcion de evaluacion del individuo).
Cruzar con cierta probabilidad los dos
individuos obteniendo dos descendientes.
Mutar los dos descendientes con cierta probabilidad.
Computar la funcion de evaluacion de los dos
descendientes mutados.
lnsertar los dos descendientes mutados en la nueva generacion.
END
lF la poblacion ha convergido THEN
Terminado := TRUE
END
END
Codificacin del problema: Se supone que los individuos (posibles soluciones del
problema), pueden representarse como un conjunto de parmetros (que denominaremos
genes), los cuales agrupados forman una ristra de valores (a menudo referida como
cromosoma). Si bien el alfabeto utilizado para representar los individuos no debe
necesariamente estar constituido por el {0, l}, buena parte de la teora en la que se
fundamentan los algoritmos genticos utiliza dicho alfabeto.
Durante la fase reproductiva se seleccionan los individuos de la poblacin para cruzarse y
34
Documento complementario sobre algoritmos genticos. Disponible en este enlace.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
producir descendientes, que constituirn, una vez mutados, la siguiente generacin de
individuos. La seleccin de padres se efecta al azar usando un procedimiento que favorezca
a los individuos mejor adaptados, ya que a cada individuo se le asigna una probabilidad de
ser seleccionado que es proporcional a su funcin de adaptacin. Este procedimiento se dice
que est basado en la ruleta sesgada. Segn dicho esquema, los individuos bien adaptados
se escogern probablemente varias veces por generacin, mientras que, los pobremente
adaptados al problema, no se escogern ms que de vez en cuando.
Una vez seleccionados dos padres, sus cromosomas se combinan, utilizando habitualmente
los operadores de cruce y mutacin. Las formas bsicas de dichos operadores se describen
a continuacin.
El operador de cruce utilizado es el denominado cruzamiento en un punto y acta del
siguiente modo: coge dos padres seleccionados y corta sus ristras de cromosomas en
una posicin escogida al azar, para producir dos subristras iniciales y dos subristras
finales. Despus se intercambian las subristras finales, producindose dos nuevos
cromosomas completos (vase la lustracin 3). Ambos descendientes heredan genes
de cada uno de los padres. Este operador se conoce como operador de cruce basado
en un punto.
Habitualmente el operador de cruce no se aplica a todos los pares de individuos que han sido
seleccionados para emparejarse, sino que se aplica de manera aleatoria, normalmente con
una probabilidad comprendida entre 0.5 y 1. En el caso en que el operador de cruce no se
aplique, la descendencia se obtiene simplemente duplicando los padres.
Operador de cruce basado en un punto.
El operador de mutacin se aplica a cada hijo de manera individual, y consiste en la
alteracin aleatoria (normalmente con probabilidad pequea) de cada gen componente del
cromosoma.
La lustracin muestra la mutacin del quinto gen del cromosoma. S bien puede en principio
pensarse que el operador de cruce es ms importante que el operador de mutacin, ya que
proporciona una exploracin rpida del espacio de bsqueda, ste ltimo asegura que
ningn punto del espacio de bsqueda tenga probabilidad cero de ser examinado, y es de
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
capital importancia para asegurar la convergencia de los algoritmos genticos.
Operador de mutacin
Para criterios prcticos, es muy til la definicin de convergencia introducida en este campo
por De Jong en su tesis doctoral en relacin con los algoritmos genticos simples. Si el
algoritmo ha sido correctamente implementado, la poblacin evolucionar a lo largo de las
generaciones sucesivas de tal manera que la adaptacin media extendida a todos los
individuos de la poblacin, as como la adaptacin del mejor individuo se irn incrementando
hacia el ptimo global. El concepto de convergencia est relacionado con la progresin hacia
la uniformidad: un gen ha convergido cuando al menos el 95 % de los individuos de la
poblacin comparten el mismo valor para dicho gen. Se dice que la poblacin converge
cuando todos los genes han convergido. Se puede generalizar dicha definicin al caso en
que al menos un pequeo porcentaje de los individuos de la poblacin hayan convergido.
Adaptacin media y mejor adaptacin en un algoritmo gentico simple.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
La ilustracin muestra como vara la adaptacin en un algoritmo gentico simple tpico. A
medida que el nmero de generaciones aumenta, es ms probable que la adaptacin media
se aproxime a la del mejor individuo.
Resumiendo, se puede explicar el proceso de un algoritmo gentico simple del siguiente
modo:
1. Decidir cmo codificar el dominio del problema.
2. Generar un conjunto aleatorio (poblacin inicial) de N posibles soluciones codificadas
al problema. A sta se le llamar poblacin actual.
3. Calificar cada posible solucin (individuo) de la poblacin actual.
4. Seleccionar dos individuos de la poblacin actual con una probabilidad proporcional a
su calificacin.
5. Lanzar una moneda al aire (supongamos que la probabilidad de cara es p
c).
6. Si cay cara mezclar los cdigos de los dos individuos seleccionados para formar dos
hbridos, a los que llamaremos nuevos individuos.
7. Si cay cruz llamamos a los individuos seleccionados nuevos individuos.
8. Por cada bit de cada nuevo individuo lanzar otra moneda al aire (supongamos que en
este caso cae cara con probabilidad p
m ).
9. Si cae cara cambiar el bit en turno por su complemento.
10. Si cae cruz, el bit permanece inalterado.
11. ncluir a los dos nuevos individuos en una nueva poblacin.
12. Si la nueva poblacin tiene ya N individuos, llamarla poblacin actural y regresar al
paso 3, a menos que se cumpla alguna condicin de terminacin.
13. Si no, regresar al paso 4.
Un ejemplo sencillo de algoritmo gentico simple Como ilustracin de los diferentes
componentes del algoritmo gentico simple, supongamos el problema adaptado de Goldberg
de encontrar el mximo de la funcin f(x) = x
2
sobre los enteros {1,2,...,32}. Evidentemente
para lograr dicho ptimo, bastara actuar por bsqueda exhaustiva, dada la baja cardinalidad
del espacio de bsqueda. Se trata por tanto de un mero ejemplo con el que pretendemos
ilustrar el comportamiento del algoritmo anteriormente descrito.
Consultando el pseudocdigo del algoritmo gentico simple planteado inicialmente vemos
que el primer paso a efectuar consiste en determinar el tamao de la poblacin inicial, para a
continuacin obtener dicha poblacin al azar y computar la funcin de evaluacin de cada
uno de sus individuos.
Suponiendo que el alfabeto utilizado para codificar los individuos est constituido por {0, 1},
necesitaremos ristras de longitud 5 para representar los 32 puntos del espacio de bsqueda.
En la Tabla siguiente hemos representado los 4 individuos que constituyen la poblacin
inicial, junto con su funcin de adaptacin al problema, as como la probabilidad de que cada
uno de dichos individuos sea seleccionado segn el modelo de ruleta sesgada para
emparejarse (la probabilidad de que un individuo sea seleccionado es el cociente entre su
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
funcin adaptacin y la suma de las funciones de adaptacin de sus competidores).
Poblacin inicial de la simulacin efectuada a mano correspondiente al AG simple
Volviendo a consultar el pseudocdigo vemos que el siguiente paso consiste en la seleccin
de 2 parejas de individuos. Para ello es suficiente, con obtener 4 nmeros reales
provenientes de una distribucin de probabilidad uniforme en el intervalo (0, 1), y
compararlos con la ltima columna de la Tabla l. As por ejemplo, supongamos que dichos 4
nmeros hayan sido: 0.58; 0.84; 0.11 y 0.43. Esto significa que los individuos seleccionados
para el cruce han sido: el individuo 2 junto con el individuo 4, as como el individuo 1 junto
con el individuo 2 (para ello basta fijarnos en que un individuo i se elige cuando el nmero
obtenido al azar est comprendido entre la probabilidad de seleccin acumulada del individuo
i-1 y la probabilidad de seleccin acumulada del individuo i.
Para seguir con el algoritmo gentico simple, necesitamos determinar la probabilidad de
cruce (p). Supongamos que se fije en p = 0.8. Valindonos al igual que antes de nmeros
provenientes de la distribucin uniforme (dos en este caso), determinaremos si los
emparejamientos anteriores se llevan a cabo.
Admitamos, por ejemplo, que los dos nmeros extrados sean menores que 0.8,
decidindose por tanto efectuar el cruce entre las dos parejas. Para ello escogeremos un
nmero al azar entre 1 y L (siendo L la longitud de la ristra utilizada para representar el
individuo). Notse que la restriccin impuesta al escoger el nmero entre 1 y L, se realiza con
la finalidad de que los descendientes no coincidan con los padres.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
Poblacin en el tiempo 3, proveniente de efectuar los operadores de cruce y mutacin sobre los individuos de la
tabla anterior
Supongamos, tal y como se indica en la Tabla, que los puntos de cruce resulten ser 2 y 3.
De esta manera obtendramos los 4 descendientes descritos en la tercera columna de la
Tabla 2. A continuacin siguiendo el pseudocdigo de la Figura 1, mutaramos con una
probabilidad p, cercana a cero, cada uno de los bit de las cuatro ristras de individuos. En este
caso suponemos que el nico bit mutado corresponde al primer gen del tercer individuo. En
las dos ltimas columnas se pueden consultar los valores de los individuos, as como las
funciones de adaptacin correspondientes. Como puede observarse, tanto el mejor individuo
como la funcin de adaptacin media han mejorado sustancialmente al compararlos con los
resultados de la Tabla de PobIacin iniciaI de Ia simuIacin efectuada a mano
correspondiente aI AG simpIe
.
2.3.1.8 EL ALGORITMO GENTICO PARALELO
Un programa es paralelo si en cualquier momento de su ejecucin puede ejecutar ms de un
proceso. Para crear programas paralelos eficientes hay que poder crear, destruir y
especificar procesos as como la interaccin entre ellos.

Bsicamente existen tres formas de paralelizar un programa:
Paralelizacin de grano fino: la paralelizacin del programa se realiza a nivel de
instruccin. Cada procesador hace una parte de cada paso del algoritmo (seleccin,
cruce y mutacin) sobre la poblacin comn.
Paralelizacin de grano medio: los programas se paralelizan a nivel de bucle. Esta
paralelizacin se realiza habitualmente de una forma automtica en los compiladores.
Paralelizacin de grano grueso: se basan en la descomposicin del dominio de datos
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
entre los procesadores, siendo cada uno de ellos el responsable de realizar los
clculos sobre sus datos locales.
La computacin paralela se ha convertido en una parte fundamental en todas las reas de
clculo cientfico, ya que permite la mejora del rendimiento simplemente con la utilizacin de
un mayor nmero de procesadores, memorias y la inclusin de elementos de comunicacin
que permitan a los procesadores trabajar conjuntamente para resolver un determinado
problema.
En el caso que nos ocupa, podemos decir que los algoritmos genticos tienen una estructura
que se adapta perfectamente a la paralelizacin. De hecho la evolucin natural es en si un
proceso paralelo ya que evoluciona utilizando varios individuos. Los principales mtodos de
paralelizacin de AGs consisten en la divisin de la poblacin en varias subpoblaciones.
El tamao y distribucin de la poblacin entre los distintos procesadores ser uno de los
factores fundamentales a la hora de paralelizar el algoritmo. Existen varias formas de
paralelizar un algoritmo gentico. La primera y ms intuitiva es la global, que consiste
bsicamente en paralelizar la evaluacin de los individuos manteniendo una poblacin. Otra
forma de paralelizacin global consiste en realizar una ejecucin de distintos AGs
secuenciales simultneamente (estas dos formas de paralelizacin no cambian la estructura
del algoritmo utilizado). El resto de aproximaciones s cambian la estructura del algoritmo y
dividen la poblacin en subpoblaciones que evolucionan por separado e intercambian
individuos cada cierto nmero de generaciones. Si las poblaciones son pocas y grandes,
tenemos la paralelizacin de grano grueso. Si el nmero de poblaciones es grande y con
pocos individuos en cada poblacin tenemos la paralelizacin de grano fino. Por ultimo,
existen algoritmos que mezclan propiedades de estos dos ltimos y que se denominan
mixtos.
Adems de conseguir tiempos de ejecucin menores, al paralelizar un AG estamos
modificando el comportamiento algortmico, y esto hace que podamos obtener otras
soluciones y experimentar con las distintas posibilidades de implementacin y los distintos
factores que influyen en ella. Estas poblaciones van evolucionando por separado para
detenerse en un momento determinado e intercambiar los mejores individuos entre ellas.
Tcnicamente hay 3 caractersticas importantes que influyen en la eficiencia de un algoritmo
gentico paralelo:
La topologa que define la comunicacin entre subpoblaciones.
La proporcin de intercambio: nmero de individuos a intercambiar.
Los intervalos de migracin: periodicidad con que se intercambian los individuos.
2.3.1.9 MODELOS DE ISLAS
En este apartado se introducirn tres maneras diferentes de explotar el paralelismo de los
Algoritmos Genticos, por medio de los denominados modelos de islas.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
La idea bsica consiste en dividir la poblacin total en varias subpoblaciones en cada una de
las cuales se lleva, a cabo un Algoritmo Gentico. Cada cierto nmero de generaciones, se
efecta un intercambio de informacin entre las subpoblaciones, proceso que se denomina
migracin. La introduccin de la migracin hace que los modelos de islas sean capaces de
explotar las diferencias entre las diversas subpoblaciones, obtenindose de esta manera una
fuente de diversidad gentica. Cada subpopulacin es una "isla", definindose un
procedimiento por medio del cual se mueve el material gentico de una "isla" a otra. La
determinacin de la tasa de migracin, es un asunto de capital importancia, ya que de ella
puede depender la convergencia prematura de la bsqueda.
Se pueden distinguir diferentes modelos de islas en funcin de la comunicacin entre las
subpoblaciones. Algunas comunicaciones tpicas son las siguientes:
Comunicacin en estrella, en la cual existe una subpoblacin que es seleccionada
como maestra (aquella que tiene mejor media en el valor de la funcin objetivo),
siendo las dems consideradas como esclavas.
Todas las subpoblaciones esclavas mandan sus h1 mejores individuos (h1 > 1) a la
subploblacin maestra la cual a su vez manda sus h2 mejores individuos (h2 >1) a cada una
de las subpoblaciones esclavas.
Comunicacin en red, en la cual no existe una jerarqua entre las subpoblaciones,
mandando todas y cada una de ellas sus h3 (h3 > 1) mejores individuos al resto de las
subpoblaciones.
Comunicacin en anillo, en la cual cada subpoblacin enva sus h4 mejores individuos
(h4 > 1), a una poblacin vecina, efectundose la migracin en un nico sentido de
flujo.
2.3.2 Bsqueda en sistema de Juegos:
Una definicin formal de juego sera la de un tipo de problema de bsqueda integrado por lo
siguiente:
El estado inicial
Un conjunto de operadores
Una prueba terminal
Una funcin de utilidad
Bsqueda MnimaX:
El algoritmo minimax se compone de 5 pasos:
Generacin de todo el rbol de juego
Aplicacin de la funcin de utilidad a cada estado terminal
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
Uso de la utilidad de los estados terminales para calcular la utilidad de los nodo del siguiente
nivel superior en el rbol de bsqueda
Continuacin del respaldo a los valores de los nodos hojas
Los valores respaldados llegan a la parte superior del rbol; en ese sitio, MAX elige la jugada
que le permitir obtener el valor ms alto.
Arbol de bsqueda parcial del juego Tres en lnea. El nodo del estado superior es el estado inicial; MAX inicia
el juego poniendo una X en uno de los cuadros. Se muestra parte del rbol de bsqueda presentando diversas
jugadas para MN (0) y para MAX, hasta finalmente llegar a estados terminales, a los que se asignan utilidades,
de conformidad con las reglas del juego.
Funcin evaIuacin:
Debido a que en muchas ocasiones no se dispone de todo el tiempo necesario para efectuar
una bsqueda hasta que se llegue a los estado terminales y de esta forma aplicarles la
funcin de utilidad, lo que se hace es suspender la bsqueda y aplicar la funcin de
evaluacin a los nodos hojas, la cual produce una estimacin de la utilidad esperada de un
juego correspondiente a una posicin determinada.
La funcin evaluacin debe cumplir lo siguiente:
Debe coincidir con la funcin de utilidad de los estados terminales.
Su clculo no debe tomar mucho tiempo.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
Debe reflejar las posibilidades reales de poder ganar.
Suspensin de una bsqueda:
Una de las formas de controlar la cantidad de bsqueda consiste en definir un lmite de
profundidad fija de manera que cuando se alcance un nodo de profundidad d se suspenda la
bsqueda.
Otra forma es aplicar la profundizacin iterativa y cuando se agote el tiempo el programa
proponga la jugada determinada durante la ms profunda de las bsquedas hasta entonces
llevada a cabo.
Poda AIfa-Beta:
Al proceso para evitar la exploracin de una de las ramas del rbol de bsqueda se lo
conoce como poda del rbol de bsqueda.
La poda Alfa-Beta se aplica en bsquedas minimax.
El principio general es el siguiente: considrese un nodo n del rbol, tal que exista la
posibilidad de que el jugador pueda ir a ese nodo. Si tuviera una mejor opcin m, en un juego
real nunca se alcanzar n. Una vez que se cuenta con suficiente informacin sobre n que
permita llegar a esta conclusin, se procede a podar.
Poda AIfa-Beta.
Sea d el valor de la mejor opcin encontrada hasta entonces en un punto de eleccin a
travs de la ruta de MAX y sea el valor de la mejor opcin encontrada hasta entonces en
un punto de opcin a lo largo de la ruta de MN. Conforme se efecta la bsqueda alfa-beta
se van actualizando los valores de d y y se poda un subrbol en cuanto se determina que
es peor que el valor actual de d o .
Si es posible explorar primero aquellos sucesores que aparentemente tienen ms
posibilidades de ser los mejores, para encontrar la mejor jugada alfa-beta slo se tendrn
que explorar O(bd/2) nodos.
Juegan Ias negras: El problema del horizonte. La serie de
jaques de la torre negra fuerzan la inevitable jugada de
coronacin de las blancas "encima del horizonte y parecera que
esta posicin es ligeramente ms ventajosa para las negras,
cuando en realidad es seguro el triunfo de las blancas.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
Juegos en Ios que interviene un eIemento aIeatorio:
En la vida real diversos elementos externos impredecibles nos llevan a situaciones
imprevistas. Estos elementos impredecibles se representan mediante nodos aleatorios.
Cada una de las ramas que salen de ese nodo aleatorio representa una de las posibles
instancias que puede tomar ese elemento aleatorio junto con la probabilidad de que ocurra.
Las posibles posiciones ya no tienen un valor minimax definido, sino un valor esperado,
calculado como un promedio de los posibles resultados del elemento aleatorio.
Distribucin tpica en un juego de backgammon. El objetivo del juego es lograr sacar todas las piezas del
tablero. Las fichas blancas se desplazan en sentido de las manecillas del reloj hasta el 25; las negras, en
sentido contrario, hasta llegar a 0. Las piezas pueden colocarse en cualquier sitio, excepto en donde haya dos
o ms piezas del contrincante. Cuando una pieza cae en una posicin donde hay una ficha del contrincante, se
toma sta y tiene que volver a iniciar su desplazamiento desde el principio. En esta posicin, al tocar el turno a
las blancas se obtuvo con los dados 6-5, con lo que slo hay cuatro posibles jugadas: (5-10, 5-11), (5-11, 19-
24), (5-10, 10-16) y (5-11, 11-16).
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
UNIDAD DIDCTICA 3
3. REPRESENTACION DEL CONOCIMIENTO Y RAZONAMIENTO
INTRODUCCION
La representacin constituye el ncleo de la ciencia de los computadores. Cada pieza de
cdigo escrita es significativa para la representacin de algn objeto. En la actualidad la
representacin del conocimiento es potencialmente investigada, de tal forma que cualquier
libro que trate sobre inteligencia artificial o sistemas expertos considera a la representacin
del conocimiento como un resultado central.
ESTRUCTURA TEMTICA
Tercera Unidad CaptuIos Temas
REPRESENTACN
DEL CONOCMENTO
Y RAZONAMENTO
El papel del conocimiento
en la nteligencia
Artificial.
Paradigma simblico y conexionista.
Modelos de representacin
Puntos de vista declarativos y normativos
Aplicaciones en la ciencia e ngeniera
Representaciones
basadas en lgicas
El lenguaje de la lgica de predicados
Extensiones de la lgica clsica
Programacin lgica
Gestin de reglas de
produccin
nferencia
Reglas de produccin sin y con variables
ntroduccin al aprendizaje automtico de
reglas.
3. REPRESENTACION DE CONOCIMIENTO
INTRODUCCION
Los ingredientes bsicos para la representacin del conocimiento son tres: el primero est
referido a un lenguaje de representacin, el segundo a la capacidad de inferencia de la
representacin y el tercero al conocimiento del dominio.
En general una representacin debe de tener dos capacidades: por un lado una expresividad
adecuada y por otro una eficiencia de razonamiento. La expresividad y el razonamiento le
confieren al formalismo la capacidad adecuada para ser considerado como una alternativa
til para la representacin.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
Se establece, a priori la definicin de los formalismos, que los criterios para juzgar una
representacin adecuada son tres: lo primero que hay que observar es la capacidad lgica,
referida a que el formalismo sea capaz de expresar el conocimiento que se desea expresar;
lo segundo es el podero heurstico, que se refiere a la capacidad para resolver problemas
utilizando inferencias; finalmente el tercer criterio es la conveniencia de la notacin, que
significa la simplicidad para acceder al conocimiento y la facilidad de su entendimiento.
3.2 DEFINICIN
La definicin del concepto de representacin de conocimiento se realiza desde dos puntos de
vista, atmico y holstico.
3.2.1. Vista Atmica
En su etimologa la palabra representacin viene del latn "Repraesentare que significa:
hacer aparecer como presente. Por otro lado la palabra Conocimiento deriva de la palabra
latina "Gnosco que significa: aquello que ha sido sujeto al acto de reconocimiento. Si se
combinan ambos significados se tiene que: "la representacin de conocimiento es hacer que
aparezca como presente lo que ha sido sujeto al acto de reconocimiento.
Otra definicin sostiene que la representacin de conocimiento puede ser algo como la
correspondencia de reglas conocidas y el estado del mundo en alguna estructura apropiada.
3.2.2. Vista HoIstica
Esta vista corresponde al holismo que dice, l todo es mas que la suma de sus partes segn
aristoteles. As la representacin de conocimiento es mas que solo la conjuncin de los
conceptos de conocimiento y representacin.
a) ModeIo ReaIstico SimpIe
Este modelo conceptual corresponde al proceso de cognicin. El dominio de inters es
alguna parte (P) del mundo (W) y el resultado ser una teora acerca de dicha parte P.
Un modelo realstico-simple es una abstraccin extractada de lo concreto. El proceso
de abstraccin o construccin tiene tres fases:
Se realiza la seleccin de un conjunto de datos acerca del mundo. La seleccin
es en principio sin ninguna teora de respaldo.
Los datos se combinan en una estructura.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
Se refina la estructura hasta que la misma refleja al mundo concreto, lo
suficientemente bien.
EjempIo:
Considere a una persona X preguntarse por qu un yate anclado en un puerto no se
encauza por efecto del viento?. X primero observa el yate y toma notas acerca de su forma
(fase a); luego X construye un modelo a escala en una pieza de madera (fase b); en tercer
lugar examina el modelo en un cubo lleno de agua y lo refina hasta que el mismo se
comporte como el yate del puerto (fase c). Finalmente X entiende que una quilla grande es
crucial para los movimientos del yate.
b) ModeIo Lgico Matemtico
Este modelo conceptual corresponde a la asignacin de significado a la representacin. El
modelo lgico matemtico de una teora o realizacin, es una estructura para la cual todos
los axiomas de la teora son validos.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
EjempIo:
Considere la teora de cmo el yate se comporta en el agua. Un teorema de esta teora
puede ser expresado de manera muy informal como: "un yate estable tiene una quilla
grande. Una realizacin de la teora son yates de madera con grandes quillas de hierro.
3.2.3. Notas FinaIes
Sobre la base de lo observado en los dos modelos holsticos para la representacin de
conocimiento se puede decir que:
a) El conocimiento es algo que tiene los seres humanos. Se relaciona con algn mundo W,
entendido o conocido por una persona.
b) La representacin es un proceso, pero no necesariamente un proceso de representar
conocimiento.
c) El conocimiento representado es expresado en algn lenguaje
35
L. Para hablar de
conocimiento representado tambin se requiere que el mismo pueda ser interpretado por
alguna persona.
d) La representacin de conocimiento es el acto de representar conocimiento.
Con lo mencionado en los anteriores cuatro puntos se tiene que la representacin de
conocimiento involucra a:
a) Un dominio del discurso, es decir algn mundo fsico abstracto W.
b) Un lenguaje L, en el que se representa conocimiento acerca del mundo W.
c) Conexiones entre el mundo y el conocimiento representado y viceversa.
d) La representacin
36
de conocimiento de algn mundo W, en algn lenguaje L.
e) La interpretacin1
37
del conocimiento representado.
3.3. EVOLUCION DE LOS SISTEMAS BASADOS EN CONOCIMIENTO
3.3.1. Dato
El concepto de dato es, por supuesto, el concepto central en la ciencia de las computadoras.
Dicha afirmacin es evidente en la siguiente definicin proporcionada por Eriksen, Helms y
Romer en 1975: "Los datos constituyen una representacin formalizada de hechos o ideas en
forma tal que puedan ser comunicados o transformados mediante un proceso.
3.3.2. Sistema de Programacin ConvencionaI
Un sistema de programacin convencional consta de un conjunto de archivos, los que
normalmente pueden ser utilizados por programas, adems de un programa que trabaja
sobre esos archivos. El programa y el conjunto de archivos estn relacionados de manera
35
En este contexto el lenguaje debe ser entendido en el sentido ms amplio que sea posible.
36
Se considera como una codificacin del conocimiento.
37
Se considera como una decodificacin del conocimiento.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
cerrada.
3.3.3. Sistema de Base de Datos
De manera esencial un Sistema de Base de Datos es un sistema computarizado para la
acumulacin de registros. Consta de una Base de Datos (BD), descrip tores de la Base de
Datos y un Sistema de Administracin de la Base de Datos
38
, el cual es utilizado por un
programa.
Una BD es una coleccin de archivos de datos computarizados. Los descriptores de la BD
describen por ejemplo los campos que estn en los archivos y la longitud de los mismos. El
DBMS proporciona facilidades al usuario 12
39
relativos a la operacin sobre los archivos.
Alguna de las operaciones son: adicionar y remover archivos, insertar, recuperar, actualizar y
eliminar datos de los archivos existentes.
Mas an el DBMS forma el control y cuidado del mantenimiento de la integridad de la BD. El
sistema de BD es una entidad general que puede ser utilizado por muchos usuarios
programas en diferentes conexiones.
EjempIo:
38
Corresponde al Data Base Management System (DBMS).
39
En este caso incluso puede ser un programa.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
Programa convencional para la emisin de una planilla de pagos.
3.3.4. Sistema Basado en Conocimiento
Un Sistema Basado en Conocimiento (SBC) puede ser visto como la evolucin de un sistema
de BD. En muchos casos incluye un sistema de BD, e involucra una maquina de inferencias
que opera sobre la base de conocimiento interactuando con el sistema de BD.
3.4. FORMALISMOS DE REPRESENTACION DEL CONOCIMIENTO
Es til considerar la representacin de conocimiento como una combinacin de estructuras
de datos y procesamientos interpretativos capaces de hacer que un programa exhiba un
comportamiento experto.
Un sistema de inteligencia artificial necesita distintos tipos de conocimiento para comportarse
inteligentemente o de modo experto. Algunos tipos son:
a) Conocimiento de Objetos: donde se guardan los hechos relacionados con objetos (saber
que...).
b) Conocimiento de acciones y sucesos: donde se guardan los hechos sobre los sucesos
ocurridos (saber que...).
c) Conocimiento sobre prestaciones: donde se guardan habilidades como montar una
bicicleta, nadar, jugar ftbol, etc. (saber como...).
d) Meta conocimiento: saber sobre lo que se sabe, como ejemplo conocer las limitaciones de
nuestro conocimiento.
3.4.1. Redes Semnticas
La red semntica fue introducida por Quillian en 1966, bsicamente es un modelo de
memoria humana que se encarga de capturar la semntica de las palabras y lograr uso del
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
significado de manera parecida a los seres humanos. Se llama red semntica porque se
utiliz originalmente para representar el sentido en las expresiones escritas en lenguaje
natural.
Desde la perspectiva de la teora de grafos se dice que una red semntica es un grafo
compuesto por nodos y arcos. Los nodos representan conceptos de palabras y los arcos se
encargan de enlazar los conceptos para establecer las definiciones. Cada palabra o nodo
conceptual se considera la cabeza de un plano que contiene su definicin. Los enlaces en el
plano representan su definicin.
En una red semntica existen apuntadores a superclases
40
, modificaciones, disyunciones,
conjunciones y las relaciones sujeto-objeto. Los apuntadores fuera del plano hacen
referencia a otros objetos en los cuales se definen.
Una red semntica distingue dos enlaces principales:
a) subclase es-un: las clases de "arriba' estn definidas en trminos de conceptos generales
que se asume se cumplen en todas sus subclases.
b) modificadores: propiedades particulares de conceptos especficos.
EjempIo 1:
Relacin semntica simple que representa "Pioln es un ave.
EjempIo 2:
Relacin semntica para representar la relacin entre una silla y su propietario.
40
El enlace ms notable entre clases es el enlace: es-un (S-A). A travs de este enlace se establecen tambin relaciones jerrquicas y
herencia.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
Las redes semnticas tambin son denominadas redes asociativas, debido principalmente al
carcter asociativo de los enlaces
41
.
3.4.2. Armazones15
42
En pocas palabras se puede decir que un armazn es una estructura de datos que se
encarga de representar situaciones prototpicas. Una de las ideas intuitivas detrs de los
armazones, es que la memoria se basa mucho en estereotipos
43
. Los sistemas de
armazones razonan acerca de clases de objetos utilizando representaciones prototpicas,
estas pueden modificarse para capturar las complejidades del mundo real.
Los armazones son grandes trozos de informacin que hacen nfasis en el razonamiento por
omisin (default). Constan bsicamente de una estructura de datos, con la caracterstica
principal de que esta estructura puede incluir informacin declarativa y procedimental. Un
armazn consta de un conjunto de ranuras que describen el aspecto de los objetos. Estas
ranuras se llenan mediante otros armazones que describen otros objetos. Asociado con cada
ranura puede existir un conjunto de condiciones que deben cumplir las entidades que vayan
a llenarla. Cada ranura puede tambin llenarse con un va lor por defecto, de forma que, en
ausencia de informacin especifica, pueda suponerse que las cosas sean lo que usualmente
son. Puede tambin asociarse informacin procedimental con cada ranura.
Los armazones estn puestos en una jerarqua en donde los armazones de "abajo pueden
heredar los valores de las ranuras de los armazones de "arriba. Normalmente la herencia se
hace por medio de los arcos es-un (is-a).
EjempIo 1:
Especificar el armazn para representar a un camin.
(Camin: Armazn:
(nombre camin)
(es-un objeto)
(color rojo)
(llantas 10) ...)
Ejemplo 2:
Especificar el armazn para describir la silla de Eddy
Armazn: SLLA
Especializacin de MUEBLE
Numero de patas un entero (por omisin 4)
Tipo de forro tela, cuero, etc.
Numero de brazos 0, 1 o 2
Armazn: SLLA DE EDDY
41
Conocidas tambin como relaciones o asociaciones.
42
En el lenguaje ingles corresponde a la palabra "frame", en algunos textos est traducido como marco, la traduccin correcta nombrada
por Frost corresponde a "Armadura" o "Armazn".
43
En este caso hace referencia a las propiedades tpicas de los objetos.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
Especializacin de SLLA
Numero de patas 4
Tipo de forro cuero
Numero de brazos 0
Armazn: Persona
Nombre hilera de caracteres
Direccin hilera de caracteres
Edad rango entre 0 y 100 (en aos)
Profesin hilera de caracteres
Nota:
En el armazn persona se puede adicionar una ranura denominada fecha de nacimiento y un
procedimiento que permita calcular la edad actual de la persona. Aqu se puede notar una
diferencia sustancial de los armazones, la posibilidad de manejar conocimiento
procedimental.
3.4.3. RegIas de Produccin
La inteligencia se asocia muchas veces con las "regularidades' y el comportamiento
inteligente parece que se ejecuta a travs de reglas. Newell y Simon en los aos sete nta
proponen los sistemas de produccin como un modelo psicolgico del comportamiento
humano. En este modelo parte del conocimiento humano se representa en forma de
producciones o reglas de produccin.
Las reglas de produccin se asemejan al proceso de memoria humano: memoria a corto
plazo (deducciones intermedias) y memoria a largo plazo (producciones). Normalmente las
reglas de produccin se ven como un formalismo en el cual se representa el conocimiento de
manera simple y es el formalismo ms utilizado en los sistemas expertos.
El formalismo de reglas de produccin debe su origen a los trabajos de Post, enriquecidos en
la lingstica con los trabajos de Noam Chomsky. Una regla de produccin consta de un par
ordenado de smbolos, miembros izquierdo y miembro derecho, los que forman una pareja
de situacinaccin. Existe una amplia variedad de este tipo de sistemas de produccin,
desde los ms simples, con un antecedente y un consecuente, hasta las ms complejas de
mltiples antecedentes y mltiples consecuentes. A cada regla de produccin puede aadirse
un factor de certeza probabilstico tanto al antecedente como al consecuente.
En una regla de produccin se pueden observar los siguientes elementos:
a) Un conjunto N de nombres de objetos en el dominio
b) Un conjunto P de propiedades que representan atributos de los objetos
c) Un conjunto V de valores que los atributos pueden tener
De manera general para representar una regla de produccin se utiliza una tripleta: (objeto
atributo valor). De modo formal las reglas se colocan como: P1 , P2, ..., Pm Q1 , ..., Qn,
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
que significa: si las condiciones P1 y P2 y ... y Pm se cumplen entonces se realiza las
acciones Q1 y ... y Qn.
La estructura general de una regla de produccin es:
S miembro izquierdo (suposicin)
ENTONCES miembro derecho (conclusin)
Las propiedades de las reglas de produccin son las siguientes:
a) Modularidad. Cada regla define un pequeo y relativamente independiente pedazo de
conocimiento.
b) ncrementalidad. Nuevas reglas pueden ser aadidas a la base de conocimiento de
manera relativamente independiente de las dems.
c) Modificabilidad. Como consecuencia de la modularidad, las reglas viejas pueden ser
modificadas.
d) Transparencia. Hacer referencia a la habilidad de explicar sus decisiones y soluciones
Finalmente se puede decir que un sistema de produccin tiene:
a) un conjunto de reglas (base de conocimiento)
b) un interprete de reglas o mquina de inferencia (que decide que regla aplicar, controla
la actividad del sistema)
c) una memoria de trabajo (que guarda los datos, metas, y resultados intermedios)
EjempIo No 1:
F: ($AND (SAME CNTXT NFECT PRMARY_BACTEREMA)
(MEMBF CNTXT STE STERLESTES)
(SAME CNTXT PORTAL G))
THEN: (CONCLUDE CNTXT NDENT BACTERODES TALLY.7)
Que puede ser interpretado como:
S: la infeccin es una bacteremia primaria, y el lugar de cultivo es un sitio estril y el
conducto sospechoso para su entrada al organismo es va canal gastrointestinal.
ENTONCES: Existe una evidencia sugestiva de 0.7 de que la identidad del organismo
sea un bacteroide.
EjempIo 2:
S Animal es-un carnvoro Y Animal color caf Y Animal tiene rayas
ENTONCES Animal es tigre
EjempIo No 3:
S un empleado divulga proyectos secretos.
ENTONCES l viola la poltica de la compaa
EjempIo No 4:
S un estudiante no lee mucho (.80)
ENTONCES corre el peligro de quedar desactualizado (.95)
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
En este ejemplo puede observarse los factores de certeza probabilsticos en la
suposicin y en la conclusin.
3.4.4. Redes de Herencia EstructuraIes
Como principio de la explicacin se indica que Ronald J. Brachmann identifica cuatro niveles
diferentes en los que se utilizan las redes semnticas:
a) El nivel de implementacin, en el cual las redes son vistas como estructuras de datos,
con punteros y listas como primitivas.
b) El nivel lgico, en el cual los operadores lgicos y predicados son primitivas, llevando
a la red semntica como una variante notacional de alguna lgica.
c) El nivel conceptual que enfoca sobre relaciones conceptuales y semnticas, las
primitivas en este nivel son, por ejemplo, las relaciones de casos y acciones primitivas
y objetos
44
.
d) El nivel lingstico, en el cual las palabras arbitrarias y las expresiones son utilizadas
como primitivas, las cuales son por tanto grandemente dependientes del lenguaje.
Adems Brachman argumenta que un nivel importante no es considerado en los
anteriores cuatro niveles es el nivel epistemolgico
45
. El nivel epistemolgico es una
capa intermedia entre el nivel lgico y conceptual. En este nivel son formadas e
interrelacionadas descripciones intencionales. El formalismo denominado red de
herencia estructural se encarga de capturar el nivel epistemolgico utilizando un
conjunto pequeo de primitivas epistemolgicas.
Los principales bloques de construccin de este formalismo son los conceptos. Los
conceptos son descritos por superconceptos, por roles, que son posibles relaciones a otros
conceptos, y por descripciones estructurales, que se encargan de contar las relaciones entre
roles.
Los conceptos son en su divisin:
a) Conceptos genricos: destinados para denotar clases de individuos.
b) Conceptos individuales: destinados para denotar individuos.
La clase formadora de los conceptos puede ser dividida a su vez en:
a) Conceptos definidos: completamente determinados por su descripcin.
b) Conceptos primitivos: parcialmente determinados por su descripcin.
Clase natural: que no puede ser descrita de forma exhaustiva, por ejemplo las especies de
44
En este nivel conocidos como grafos de dependencia conceptual.
45
Hace referencia a lo estructural o descripcional.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
animales.
EjempIo:
Taxonoma simple de conceptos
3.4.5. Representacin TerminoIgica
La primera implementacin de las redes de herencia estructural fue KLONE19
46
, que
evolucion con el paso de los aos y ha provocado esfuerzos de investigacin substanciales
en la forma de aplicaciones, trabajo terico y el desarrollo de sistemas similares,
documentados en muchos eventos y reuniones.
KL-ONE ha logrado un estatus afrontado a los pocos esfuerzos en la breve historia de la A,
en un periodo significativo de tiempo (al menos seis aos) y sobre un numero de proyectos,
ha servido como el fundamento central para mucha de la investigacin bsica sobre la
representacin del conocimiento, y al mismo tiempo ha proporcionado soporte para la
representacin en un numero grande de sistemas implementados de A. En esencia KL-ONE
representa:
a) las relaciones entre un concepto y sus roles,
b) las relaciones entre un concepto y sus descripciones estructurales,
c) la estructura interna de un rol,
d) la estructura interna de una descripcin estructural,
46
Esta denominacin original sufri una variacin para denominarse KL-ONE.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
e) relaciones entre partes de las descripciones estructurales y los roles.
KL-ONE distingue entre conocimiento terminolgico y conocimiento asercional. El nivel
terminolgico tiene que ver con un conjunto de descripciones intencionales normadas por un
pequeo conjunto de operadores formadores de conceptos y sus relaciones taxonmicas, las
cuales estn determinadas por sus propiedades estructurales. Esas relaciones taxonmicas
no tienen importancia asercional pero pueden utilizarse las descripciones para hacer
aserciones acerca del mundo, y por virtud de su estructura pueden realizar inferencias
adicionales.
En esencia KL-ONE ha resultado sobre el inters en la funcionalidad, en la que en lugar de
preguntar. Que estructuras debera mantener el sistema para el usuario? se pregunta
"Que es lo que exactamente debera hacer el sistema para el usuario?. Visto desde este
ngulo KL-ONE puede ser dividido en dos componentes:
a) TBOX es un componente terminolgico utilizado para hacer definiciones y para
razonar acerca de las relaciones entre esas definiciones.
b) ABOX es un componente utilizado para hacer aserciones.
Mientras que el TBOX est muy bien definido, el tratamiento del ABOX en el KL-ONE ha sido
superficial y fortuito.
3.4.6. Guiones
47
Un guin es una forma de representar una situacin prototpica
48
, pero en lugar de tener una
descripcin de un objeto, el guin describe una secuencia de eventos. A diferencia del
armazn, se presenta en un contexto particular. Para describir una secuencia de eventos, el
guin utiliza un conjunto de ranuras que contienen informacin acerca de gente, objetos y
acciones involucradas en los eventos.
Un guin es una estructura utilizada para guardar prototipos de secuencias de sucesos. Se
pueden emplear muchos componentes diferentes para construir un guin. Algunos de los
ms comunes son:
a) Condiciones de Entrada: Condiciones que deben existir para que el libreto se pueda
aplicar.
b) Resultados: Condiciones que sern verdaderas despus de que hayan ocurrido los
eventos en el guin.
c) Utilera: Ranuras que representan objetos involucrados en el guin.
d) Papeles: Ranuras que representan agentes que realizan acciones en el guin.
e) Escenas: Secuencias especificas de eventos que hacen al guin.
47
Traduccin de la palabra inglesa Script.
48
En algn sentido parecido a los armazones.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
EjempIo:
Guin que representa el viaje a un estadio de ftbol.
Guin : Viaje al estadio
Utilera:
Automvil
Llaves
Puerta automvil
Escena 1. ARRANQUE
Dueo busca llaves
Dueo abre puerta automvil
Dueo arranca automvil
Espacio de parqueo Dueo pone automvil en marcha
Papeles: (Roles)
Dueo (propietario)
Acomodador Vehculos
(Valet)
Escena 2. CONDUCCON
Dueo encuentra transito libre
Dueo ingresa al trafico Dueo se dirige al estadio
Condiciones de ingreso:
Dueo y automvil
en punto de partida
Escena 3. CONTACTO CON ACOMODADOR
Dueo buscar primer espacio libre
Dueo parquea automvil Dueo sale del automvil
Dueo encarga al acomodador
RESULTADO: Propietario en el estadio y automvil parqueado
Ejercicios compIementarios para Ia unidad
1. Establecer un modelo conjunto que utilice los dos modelos holsticos observados en
este captulo.
2. Desarrolle un mtodo para representar conocimiento con redes semnticas a partir de
los armazones.
3. Complemente su visin de las redes semnticas investigando lo referente a los
sistemas de redes semnticas ARCH y SCHOLAR.
4. Construir una red semntica que represente la informacin relativa a una competencia
ciclista.
5. Representar conocimiento con guiones para viajar de una capital departamental de
Bolivia a otra, empleando el transporte adecuado (emplear costo-beneficio).
6. Empleando el modelo conjunto realstico-simple y lgico-matemtico, desarrolle el
marco de explicacin de la geometra euclidiana.
7. Establecer las reglas necesarias para realizar el diagnstico de evaluacin de los
alumnos en una determinada materia de un plan de estudios.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
8. Definir una red de herencia estructural para representar el conocimiento de la
burocracia (emplear la Direccin de una determinada Carrera universitaria y los
diferentes procesos que realiza). Establecer roles y restricciones.
9. Elegir el formalismo adecuado para representar el conocimiento asociado a la compra
de una computadora, la computadora debe ser utilizada como cliente de un sistema
distribuido.
10. Construir un guin para representar la ingesta de alimentos por parte de un comensal
con dinero en un restaurante.
BIBLIOGRAFA
RUSSEL, S. and NORVG, P. nteligencia Artificial. Un enfoque moderno. Prentice Hall,
1995.
NLSSON, N. J., Artificial ntelligence. Una Nueva Sntesis. Morgan Kaufmann
Publishers, 2000.
BORRAJO, D., JURSTO, N., MARTNEZ, V. y PAZOS SERRA, J., nteligencia
Artificial, mtodos y tcnicas, p. 591, Editorial Centro de Estudios Ramn Areces,
Madrid, 1993
GNSBERG, M. L., Essentials of Artificial ntelligence, p. xiii+430, Morgan Kaufmann
Publishers, San Mateo. (California), 1993. N.R. 450 AC
RCH, E. and KNGHT, K., nteligencia artificial. McGraw-Hill, 1994. Edicin original:
Artificial ntelligence.
WNSTON, P. H., nteligencia Artificial. Tercera Edicin, p. xxv+805, Addison-Wesley
beroamericana, Wilmington, Delaware, EE.UU., 1994 (traduccin de la tercera edicin
en ingls de 1992)
PEARL, J., Heuristics. Addison-Wesley Publishing Company, Massachusetts, 1984.
DEAN, T. et all. Artificial ntelligence. Theory and Practice. Addison-Wesley, 1995.
FERNNDEZ GALAN, s., GONZLEZ BOTCARO, J. y MRA MRA, J. Problemas
Resueltos de nteligencia Artificial Aplicada. Bsqueda y Representacin. Addison
Wesley, 1998.
M. Mitchell, Machine Learning, McGraw Hill, 1997
Referencias eIectrnicas
Universidad Carnegie Mellon. Seccin de Inteligencia Artificial Avanzada. Disponible
en .
Universidad de Mlaga. Departamento de Lenguajes y Ciencias de la Computacin.
Disponible en .
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
http://www.aic.uniovi.es/ Universidad de Oviedo.
http://scalab.uc3m.es/~docweb/index.html Univ. Carlos III de Madrid. Contiene gran variedad
de material para prcticas y docencia sobre IA, investigacin, etc.
http://diana.cps.unizar.es/banares/A/A.html Univ. de Zaragoza. Prcticas y exmenes.
http://grial.uc3m.es/~docweb/doctorado/aa/descripcion.html Univ. Carlos III de Madrid.
Contiene gran variedad de material para prcticas y docencia sobre Aprendizaje Automtico,
investigacin, etc.
http://www.cs.us.es/~delia/sia/html98-99/referencias.html Enlaces a pginas sobre
Aprendizaje
http://www.ia.uned.es/~jgb/util/cbr.html Pgina de la UNED sobre Razonamiento basado en
casos
De Lisp
http://www.apl.jhu.edu/~hall/lisp.html Recursos de Common Lisp
http://www.franz.com/downloads/#acl Descarga de Alegro Common Lisp, Faqs, etc
http://www-2.cs.cmu.edu/~dst/LispBook/index.html Common Lisp: A Gentle Introduction to
Symbolic Computation. (David S. Touretzky)
De todo tipo de Recursos sobre InteIigencia ArtificiaI
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CENCAS BSCAS, TECNOLOGA E NGENERA
CONTENDO DDCTCO DEL CUSO: 90169 NTELGENCA ARTFCAL
http://www.faqs.org/faqs/ai-faq/general/part1/ FAQ on-line de Inteligencia Artificial
http://www-2.cs.cmu.edu/afs/cs.cmu.edu/project/ai-repository/ai/areas/0.html Software de IA.
Contiene todo tipo de software de libre distribucin de Inteligencia Artificial.
http://www.compapp.dcu.ie/~humphrys/eliza.html Mark Humphrys - How my program passed
the Turing Test
http://www.cs.berkeley.edu/~russell/ai.html AI on the Web de Stuart Russel. Esta pgina
enlaza a 874 sitios de la web con informacin sobre IA
Referencias EIectrnicas
ARPA KnowIedge Sharing Effort
nformacin y programas relacionados con el ARPA Knowledge Sharing Effort, en Stanford.
http://www-ksl.stanford.edu/knowledge-sharing/README.html
CODE4
Entornos por descripcin orientada a conceptos, en la Universidad de Ottawa.
http://www.csi.uottawa.ca/~tcl/CODE4.html
Description Logics
Teoras y sistemas para expresar conocimiento estructurado.
http://dl.kr.org/dl/
KADS Esprit Project
Metodologa para el desarrollo basado en el conocimiento.
http://www.swi.psy.uva.nl/projects/
CommonKADS/home.html
KnowIedge-Base Projects
Proyectos KB alrededor del mundo; lista completada por Peter Clark.
http://www.cs.utexas.edu/users/mfkb/related.html
KnowIedge Sharing and the Logic Group at Stanford
nformacin sobre el KF (Formato de intercambio de conocimiento) en Stanford.
http://hpdce.stanford.edu/logic.html
KQML
nvestigaciones sobre el conocimiento y la manipulacin del lenguaje, en la Universidad de
Maryland, Baltimore Country.
http://www.cs.umbc.edu/kqml/
MuItifunctionaI KnowIedge Base Group
Universidad de Texas en Austin.
http://www.cs.utexas.edu/users/mfkb/index.html
SNePS Research Group
SNePS es un sistema KRR integrado totalmente y desarrollado en SUNY Buffalo.
http://www.cs.buffalo.edu/pub/sneps/WWW/index.html

Você também pode gostar