Escolar Documentos
Profissional Documentos
Cultura Documentos
Inteligencia Artificial
Unidad 1
Fundamentos de la
Inteligencia Artificial (I.A)
Contenido
ndice de Figuras ................................................................................................................................. 2
Unidad 1. Fundamentos de la Inteligencia Artificial ........................................................................... 3
1.1. Historia de la IA ........................................................................................................................ 3
1.2. Conceptos y tcnicas (Estado del arte) .................................................................................... 5
1.3. Desarrollos actuales. ................................................................................................................ 6
1.3.1. Procesamiento de Lenguaje Natural (PLN). ...................................................................... 6
1.3.2. Reconocimiento de patrones. ........................................................................................... 7
1.3.3. Robtica. ........................................................................................................................... 8
1.3.4. Sistemas Expertos. ............................................................................................................ 8
1.3.5. Lgica Difusa (Fuzzy logic). ................................................................................................ 9
1.4. Modelos de agente inteligente. ............................................................................................... 9
Agentes reflejos simples ........................................................................................................... 12
Agentes reflejos basados en modelos ....................................................................................... 13
Agentes basados en objetivos ................................................................................................... 13
Agentes basados en utilidad ..................................................................................................... 14
Agentes que aprenden .............................................................................................................. 15
1.5. Heurstica. .............................................................................................................................. 16
ndice de Figuras
Figura 1. Los agentes interactan con el medioambiente mediante sensores y actuadores .......... 10
Figura 2. Diagrama esquemtico de un agente simple ................................................................... 12
Figura 3. Agente basado en modelos ............................................................................................... 13
Figura 4. Agente basado en objetivos y modelos............................................................................. 14
Figura 5. Agente basado en utilidad y basado en modelos.............................................................. 15
Figura 6. Modelo general para agentes que aprenden .................................................................... 16
Pgina 3
En 1955, Newel y Simon, desarrollaron el teorista de la lgica (The Logic Theorist), considerado
por muchos el primer programa de IA. Este programa, representaba cada problema como un
modelo de rbol, intentando resolverlo seleccionando la rama que deba mayores esperanzas para
llegar una conclusin correcta. El impacto de este programa dentro de la opinin pblica y de la
investigacin, represent un avance crucial en el desarrollo formal del campo de la IA.
En 1956 John McCarthy, considerado el padre de la IA, organiz una conferencia donde se
expusieron los talentos y habilidades de otros investigadores interesados en los temas de
inteligencia de las mquinas, durante un mes se gener una intensa lluvia de ideas, finalmente se
efectu en Vermont : The DArtmouth summer research Project on artificial intelligence., a partir
de entonces y gracias a McCarthy, este campo se conoce como Inteligencia Artificial.
Expansin del conocimiento
En los siguientes siete aos despus de la conferencia, la IA inici su despegue. A pesar de que el
campo de accin no se encotraba muy bien delimitado ni especificado, las ideas originales de la
conferencia fueron examinadas y expandidas. Se formaron centros de investigacin de IA en
Carnegie Mellon y MIT, se plantearon nuevos retos: crear sistemas que pudieran resolver
problemas eficientemente, limitando la bsqueda de soluciones, y desarrollar sistemas que
pudieran aprender por si mismos.
En 1957, se prob la primera versin de un nuevo programa The General Problem Solver, el
solucionador general de problemas, desarrollado tambin por Newell y Simon. Este programa era
una extensin del principio de retroalimentacin de Wiener, y era capaz de resolver una gran
cantidad de problemas de sentido comn. Un par de aos despus, IBM contrato un equipo de
investigacin en IA. Herbert Gelemeter pas tres aos trabajando en un programa para resolver
teoremas geomtricos.
Mientras se desarrollaban ms programas de IA, McCarthy se ocupaba de desarrollar un
parteaguas en la historia de la IA. En 1958, McCArthy anunci su nuevo desarrollo: el lenguaje de
programacin LISP, el cual se usa hasta hoy. LISP significa procesador de listas, y pronto fue
adoptado como el lenguaje preferido por muchos desarrolladores de programas de IA.
En 1963, el MIT recibi un premio de 2.2 millones de dlares por parte del gobierno de Estados
Unidos para ser usados en investigacin de conocimiento asistido por mquinas (inteligencia
artificial). Este financiamiento de parte del Departamento de defensa de Estados Unidos,
pretenda asegurar el mantenerse delante de la unin sovitica en avances tecnolgicos.
La multitud de programas
En los siguientes aos, se desarrollaron una gran cantidad de programas de IA. Los investigadores
del MIT, encabezados por Marvin Minsky, demostraron que cundo los programas se confinan a un
pequeo espacio de accin (problemas especficos), es posible resolver problemas espaciales y de
lgica.
En los 70s aparecieron los sistemas expertos, que predicen la probabilidad de una solucin bajo
un conjunto de ciertas condiciones. Los sistemas expertos avanzaron rpidamente, se encontraron
soluciones para predecir el comportamiento de la bolsa de valores, ayudas de diagnsticos
Pgina 4
mdicos, y ayudar a los mineros a encontrar vetas de minerales. Todo esto gracias a la capacidad
de los sistemas expertos para almacenar reglas y almacenar informacin relevante de un
problema especfico.
En 1972 aparece el lenguaje PROLOGUE, antecesor del actual Prolog, muy utilizado en IA.
En los aos 80s, se present una disminucin en la demanda de sistemas expertos, pero se tuvo
un gran avance en las subrea divisin computacional y apareci el desarrollo de la lgica difusa
(Fuzzy Logic), que hasta hoy es un herramienta muy importante en el desarrollo de sistemas de
control, tomando decisiones bajo ciertas condiciones de incerteza. Tambin, las redes neuronales
se reconsideraron como tcnicas aceptables para desarrollos de IA.
Actualmente la IA se encuentra presenta en una gran cantidad de productos de uso cotidiano
como: video vigilancia, ayuda en las labores del hogar, cmaras fotogrficas y de video, desde los
inicios del ao 2000, la IA se encuentra presente en nuestra vidas, y seguramente as seguir
siendo, por la gran cantidad de desarrollos en prcticamente todas las reas de la tecnologa.
Pgina 5
Pgina 6
palabras conocidas como homfonas, esto es que suenan igual pero tienen diferente significado
(http://www.juegosdepalabras.com/p-homofona.htm), el reto consiste en identificar exactamente
a que se refiere la persona que expresa una frase, por ejemplo: la baca es negra y est bien sujeta
al coche. Si prescindiramos de la segunda oracin y oyramos solo la primera, de acuerdo a
nuestra experiencia pensaramos en un animal rumiante, pero cuando se presenta el
complemento, sabemos exactamente que se refiere a los dispositivos para cargar bultos arriba de
un coche. Todo esto lo aprende un humano con la experiencia y sus vivencias que le hacen tener
un cierto grado de conocimiento del mundo, pero Cmo integramos esto en un programa?, un
ejemplo de cmo se ha vencido esta dificultad es el programa Watson de IBM del que hablamos
en una lectura anterior. El problema del PLN se puede separar en dos grandes reas, el
reconocimiento del lenguaje y la sntesis de voz. Del que acabamos de hablar, es un problema de
reconocimiento, y se pueden enumerar varios de este tipo, como la sintaxis, que es importante
para formar apropiadamente una frase, esto se puede ver en los traductores automticos que se
encuentran disponibles en Internet (https://translate.google.com.mx/) , que cuando pasamos un
texto por l, encontramos una traduccin que no cumple con los requerimientos para llamarla
apropiada. La semntica juega tambin un papel determinante, por ejemplo: ayer te vi cuando
caminabas por el parque con un telescopio. podemos ver los diferentes significados para esta
frase? Cmo saber cul es el correcto?
Podemos encontrar algunas aplicaciones que utilizan tcnicas de IA en los telfonos mviles,
aquella que podemos utilizar para indicar al dispositivo que deseamos hacer una llamada, o una
ms complicada, la que utilizamos para saber cul es el ttulo, autores e intrpretes de una cancin
escuchando una parte de ella!. El otro problema de sntesis de voz, se refiere a reproducir de
manera apropiada un conjunto de voces. Existen aplicaciones que ayudan a los dbiles visuales a
leer un texto. Este texto se pasa por un programa que toma las palabras escritas y emite sonidos
como si estuviera leyndolas. Claro, estos programas no pueden, aun, dar una cierta entonacin a
lo ledo, leeran de igual manera un poema que un manual tcnico. Dentro de la IA, existen
diversas tcnicas para resolver los problemas presentados y claro da con da hay mejores
herramientas disponibles en el mercado gracias a la investigacin en IA.
1.3.2. Reconocimiento de patrones.
Este campo tiene mltiples aplicaciones como el detectar el tipo de nubes que hay en el cielo y
hacer un pronstico del tiempo, detectar la carga de un camin trocero y poder saber cuntos
metros cbicos componen la carga y tambin decidir cules son los cortes recomendados para
aprovechar de manera ptima los trozos.
Quiz las aplicaciones que encontramos como cotidianas sean las relacionadas con la biomtrica.
Hay dos campos de acciones principales, el registro de personal y el relacionado con seguridad. En
los ltimos aos, se pueden ver en empresas y organizaciones que se ha reemplazado el registro
manual del personal por el registro automatizado, reconociendo a las personas por medio de
huella digital, que debido a su caracterstica de ser nica para cada persona permite identificarla.
Pgina 7
Existen diversas tcnicas para hacer este tipo de reconocimiento, todos ellas desarrolladas desde
el enfoque de reconocimiento de patrones.
Las aplicaciones enfocadas a seguridad son mltiples tambin. Con la huella digital podemos
acceder al uso de dispositivos electrnicos como telfonos o cmaras digitales, o bien es posible
utilizar el iris o la voz para acceder a lugares restringidos. Esto se presentaba en las pelculas de
hace 20-30 aos como ciencia ficcin, pero ahora son parte de la realidad.
1.3.3. Robtica.
Esta rea combina diversos campos de la IA. Ya hemos hablado antes del robot Asimo de honda y
de la competencia Robocup. Tambin se han diseado robots para actuar bajo el agua o que
puedan comportarse como dependientes en una tienda.
Las aplicaciones de la robtica suelen ser para resolver problemas que a los humanos nos
desagradan por difciles o aburridas, como las tareas desarrolladas por los robots industriales y
sobre todo en la industria automotriz. Pero tambin encontramos robots que son muy tiles en
tareas de rescate en desastres naturales, pueden llegar a lugares que son imposibles para
personas o sus ayudantes animales. Dentro de la seguridad, hay grandes aplicaciones, aviones no
tripulados y robots navegantes para resguardar una propiedad delimitada. Un reto grande que se
ha venido resolviendo es la navegacin autnoma. Ahora ya hay en el mercado productos que son
resultado de investigaciones en campos muy concretos, como el estacionarse automticamente.
Durante aos, se realizaron competencias internacionales con prototipos de vehculos y software
para encontrar las tcnicas ms adecuadas que permitieran a un vehculo estacionar sin la
intervencin de los humanos, lo que vemos en los nuevos vehculos, son el resultado de aquellas
investigaciones. Hay una competencia de navegacin autnoma que es la ms importante en el
mundo por los premios y la calidad de los equipos que compiten es la Darpa Robotics Challenge
(http://www.theroboticschallenge.org/) . Ah se compite con vehculos reales que navegan de
manera autnoma para llegar a un destino especificado por medio de un mapa. Esto conducir sin
duda a los vehculos que navegarn autnomamente por las ciudades y sin duda se disminuirn los
accidentes.
Pgina 8
Pgina 9
Medio ambiente, percepcin, accin, sensores, agente, actuadores, imagen es tomadas del libro
de Russell y norvig.
Es posible encontrar a nuestro alrededor diferentes tipos de agentes, como pueden ser los
agentes humanos, en lo que identificamos sus sensores:ojos, odos, y otros rganos que ayudan a
percibir el medio ambiente. Como actuadores tenemos las piernas, brazos, boca y otras partes del
cuerpo que pueden modificar el entorno o bien la posicin del agente. Para un robot, sus sensores
pueden ser cmaras o detectores de movimiento, incluso algn dispositivo GPS y como actuadores
generalmente hay motores. Existen tambin los agentes de software, que son de los que nos
ocuparemos principalmente en este curso, que poseen como sensores un teclado, contenido de
archivos, y pueden participar como actuadores los medios donde se muestran las salidas del
software o los paquetes que enva en una red.
Es claro que estamos interesados en agentes que se comporten de manera favorable para que
realicen las actividades que esperamos de ellos, por esto, hablaremos de los agentes racionales. Si
un agente es racional, debe esforzarse por realizar siempre la accin correcta, basado en las
percepciones que realiza y las acciones que puede realizar. La accin correcta ser la que permita
al agente tener un mayor existo en su misin. Para seleccionarla, debe existir una forma de medir
el desempeo del agente, por ejemplo en las aspiradoras que encontramos en el mercado,
podemos medir su desempeo de acuerdo a la cantidad de basura que dejan en el suelo, la
cantidad de tiempo que tardan en limpiar un cuarto, la cantidad de ruido que hacen, la cantidad
de energa elctrica consumida, etc.
Como regla general, es preferible disear medidas de desempeo de acuerdo a lo que realmente
deseamos en el medio ambiente, en lugar de nuestras consideraciones acerca de cmo creemos
que un agente debe comportarse, entonces, para la aspiradora, ser muy conveniente considerar
una medida de desempeo de acuerdo a que tan limpio deja el piso.
Cuando se disea un agente, se espera de l que se comporte de manera racional, entendiendo
esto como la dependencia de cuatro factores:
Pgina 10
Entonces, un agente racional ser el que para cada posible secuencia de percepciones, selecciona
una accin que se espera maximice su medida de desempeo, dada la evidencia provista por la
secuencia de percepciones y el conocimiento (cualquiera que sea y sin importar como est
construido) que el agente tiene.
La racionalidad no es lo mismo que la omnisapiencia, nuestros agentes no tienen un conocimiento
infinito, no lo saben todo. La racionalidad implica maximizar el desempeo esperado, mientras
que la perfeccin maximiza el desempeo en la realidad, y claro, como en los humanos, esperar la
perfeccin es prcticamente imposible. Es importante decir que un agente ser autnomo si su
comportamiento est determinado por su propia experiencia, aprendiendo de sus acciones y con
las capacidades de adaptarse y aprender.
Para especificar las tareas a realizar dentro del entorno de trabajo de un agente, seguimos un ciclo
que llamaremos PEAS por sus siglas en ingles(Performance measure, Environment, Actuators,
Sensors), medida de desempeo, entorno, actuadores y sensores. Al disear un agente, el primer
paso debe ser el especificar la tareas a realizar (PEAS), tan detalladamente y completas como sea
posible.
Por ejemplo, para un agente conductor de un taxi:
Las medidas de desempeo pueden ser: seguridad del pasajero y conductor, rapidez del servicio,
no cometer infracciones, confort durante el viaje, maximizar las utilidades. El entorno estar
definido por las calles de transito, otros agentes dentro del trafico, peatones, clientes. Los
actuadores son el volante, acelerador, freno, sealizadores y bocina. Los sensores: cmaras,
sonares, velocmetros, GPS, odmetro. Sensores del motor, teclado.
Otro ejemplo de agentes, un sistema para diagnstico mdico:
Medida de desempeo: salud del paciente, minimizacin de costos, legalidad en tratamiento.
Entorno: paciente, hospital, consultorio, personal del hospital. Actuadores: pantalla de salida
(preguntas, pruebas, diagnsticos, tratamientos). Sensores: teclado (ingresar sntomas, respuestas
del paciente).
Ejemplo de agente tutor de enseanza de idioma ingls:
Medida de desempeo: maximizar las calificaciones obtenidas por el estudiante en una prueba.
Entorno: conjunto de estudiantes. Actuadores: Pantalla de salida (ejercicios, sugerencias,
correcciones), bocinas. Sensores: teclado, micrfono.
Un agente se especifica completamente por medio de una funcin, que mapea la secuencia de
percepciones en acciones. Esta funcin debe cumplir con el concepto de racionalidad que
expusimos antes, entonces, debemos encontrar la forma de implementar la funcin que describe
el comportamiento del agente y hacerlo de manera concisa, esto es a fin de cuentas disear un
programa de agente. El agente es la suma de un programa y la arquitectura donde se ejecutar
ese programa. La arquitectura es algn dispositivo computacional con sensores fsicos y
actuadores.
Pgina 11
El programa que implementa al agente realiza las percepciones por medio de los sensores y
regresa un conjunto de acciones que sern ejecutadas por los actuadores. Puede ser que el agente
recuerde toda la secuencia de percepciones, aunque solo las entradas son nicamente las
percepciones actuales, con ellas decidir qu acciones realizar.
De manera muy simple e instintivamente, podramos visualizar un agente como una tabla que ser
indexada por medio del conjunto de percepciones realizadas en un momento dado, en la tabla se
especificarn el conjunto de acciones a realizar. Es claro que esta tabla tendra que ser demasiado
grande y sera necesaria una enorme cantidad de espacio, adems, el agente no tendra
autonoma.
En lugar de construir una tabla gigantesca, es mejor considerar diversos tipos de agente que
disminuyan el cdigo necesario para implementarlo. En seguida describiremos 4 diferentes tipos
de agente.
Agentes reflejos simples
Este tipo de agentes selecciona la accin con base nicamente en las percepciones actuales, sin
tomar en cuenta el resto de la historia de percepciones. Generalmente se implementan por medio
de reglas condicin-accin. Por ejemplo para un agente de conduccin de un auto:
Si el-carro-de-enfrente-frena Entonces frenar-de-inmediato
Estas imgenes se tomaron del libro de Russel y Norvig (Agente, sensores, Cmo es el mundo
ahora?, reglas condicin-accin, Qu acciones debo realizar ahora?, actuadores, entorno).
Pgina 12
Los agentes reflejos son muy simples y fciles de construir, pero tienen un grado de inteligencia
muy limitado. Estos agentes funcionarn nicamente si es posible tomar la decisin correcta con
base a la percepcin actual, cuando el entorno es totalmente observable.
Agentes reflejos basados en modelos
Este tipo de agentes lleva un registro de la parte del mundo que no puede ver ahora. El agente
debe mantener algn tipo de estados internos que dependa de la historia de las percepciones y
refleje al menos algunos de los aspectos que no se observan en el estado actual. El actualizar el
estado interno conforme pasa el tiempo requiere de dos tipos de conocimiento a ser codificados
en el programa del agente: informacin acerca de cmo evoluciona el mundo
independientemente del agente e ir guardando informacin acerca de cmo afectan al mundo las
propias acciones del agente.
(Estados, cmo evoluciona el mundo, como afectan al mundo mis acciones, sensores, Cmo es
mundo ahora?, reglas condicin-accin, Qu acciones debo realizar ahora?, entorno).
Pgina 13
(Estado, cmo evoluciona el mundo, que hacen mis acciones, el objetivo es, sensores, como es el
mundo ahora, Qu pasara si hago la accin A?, Qu accin debo realizar?, entorno) Con
respecto a los agentes reflejos, aunque los agentes basados en objetivos parecen menos
eficientes, son ms flexibles puesto que el conocimiento en el que se basan sus decisiones es
representado explcitamente y puede ser modificado. Por otro lado, para los agentes reflejos,
podra ser necesario reescribir muchas reglas condicin-accin. El comportamiento de los agentes
basados en objetivos puede ser cambiado fcilmente. Las reglas de los agentes reflejos deben ser
cambiadas para representar una nueva situacin.
Pgina 14
Estado, cmo evoluciona el mundo, que efecto tienen mis acciones, utilidad, sensores, cmo es el
mundo ahora, como cambiaria el mundo si realizo la accin A, que tan feliz ser en tal estado, que
accin debo tomar, actuadores, entorno).
Pgina 15
1.5. Heurstica.
De acuerdo al diccionario de la real academia espaola:
Heurstico, ca.
(Del griego , hallar, inventar, y tico)
1.
2.
3.
4.
Para nosotros en IA, las acepciones 2, 3 y 4 son apropiadas, pero ahondaremos un poco en el
concepto.
Desde los mediados de la dcada de los 50s, la nocin de heurstica ha jugado un papel crucial
para la investigacin en IA. Pero algunos problemas se han presentado debido a que no existe una
uniformidad en la percepcin de lo que es una heurstica. Por ejemplo, en seguida mostraremos
algunas definiciones propuestas por varios autores: Un mtodo heurstico es un procedimiento
provisional y plausible cuyo propsito es descubrir la solucin de un problema particular. (Polya).
Una heurstica es , en un sentido muy real, un filtro que se interpone entre un generador de
soluciones y un evaluador de soluciones. (Gelemter)
Pgina 16
Pgina 17