¿Qué es Inteligencia Artificial?

Anuncio
¿Qué es Inteligencia Artificial?
En la literatura, el área se conoce con dos nombres:
• Inteligencia Artificial (Artificial Intelligence).
• Inteligencia Computacional (Computational Intelligence).
Existen muchas definiciones para el área (algunas un tanto recursivas):
• “Un área que se esfuerza en lograr que las máquinas piensen como las
personas” (Haugeland, 1985) ➙ sistemas que piensan como humanos.
• “el estudio de habilidades que deben tener los computadores para realizar
tareas que actualmente son realizadas mejor por seres humanos” (Rich
and Knight, 1991) ➙ sistemas que actúan como seres humanos
• “Estudio de modelos computacionales que permitan percibir, razonar y actuar” ➙ sistemas que tienen habilidades racionales
• “Rama de Ciencia de la Computación que se preocupa de la mecanización
del comportamiento inteligente” ➙ máquinas que actúan inteligentemente.
Jorge Baier Aranda, PUC
1
Veamos qué necesitamos para lograr llevar a cabo el desafı́o que plantean
estas definiciones:
Actuar ’humanamente’: Se necesita implementar varias tareas que realizan los humanos:
1. Reconocimiento de lenguaje natural.
2. Representación del conocimiento.
3. Razonamiento automatizado.
4. Aprendizaje
En caso de requerir el sistema sea un ente fı́sico se necesita, además,
que éste tenga las siguientes habilidades:
• Visión.
• Audición.
• Robótica.
Pensar humanamente: Generalmente esto ha sido objeto de estudios de
otras áreas como la psicologı́a; en particular, de la ciencia cognitiva.
Jorge Baier Aranda, PUC
2
Pensar racionalmente: Generalmente en este caso se ha usado el modelo
lógico u otros modelos probabilı́sticos.
Actuar Racionalmente: Se utiliza generalmente el modelo de “agente inteligente”, que veremos más adelante.
El término racional, aparece como una idealización de la inteligencia, ya que
no asocia completamente este comportamiento al que realizan los humanos.
El objetivo original del área fue obtener sistemas inteligentes comparables o
superiores a un humano.
Actualmente estamos lejos de esto.
Hay muchos más resultados que muestran la complejidad de representar la
inteligencia que los que han logrado simplificarla.
Además, tener máquinas “funcionen” como humanos está lejos de ser el
objetivo de muchos investigadores en el área.
Si comparamos las expectativas iniciales con lo que hemos logrado, podemos decir que IA es un área con muchas promesas y pocos resultados.
Jorge Baier Aranda, PUC
3
Sin embargo, para dominios especı́ficos, se han logrado muy buenos avances.
Jorge Baier Aranda, PUC
4
Entonces, ¿De qué se trata la Inteligencia Artificial?
Podrı́amos decir que inteligencia artificial es un área de la ciencia en la cual
se busca desarrollar modelos computacionales de procesos inteligentes. La
naturaleza de estos modelos es muy variada. Por ejemplo, tenemos:
• Modelos basados en reglas de tipo condición–acción, para modelar comportamiento reactivo.
• Existen modelos basados en lógica matemática para modelar el conocimiento de los agentes inteligentes.
• Modelos del lenguaje natural desarrollados utilizando gramáticas.
• Modelos probabilı́sticos utilizados en sistemas de diagnóstico y para hacer
razonamiento situaciones en las que existe conocimiento incompleto (o
incierto).
• Modelos basados en teorı́a de utilidades y teorı́a de decisiones para modelar procesos de toma inteligente de decisiones.
• Modelos basados en redes neuronales para aprendizaje de conceptos de
bajo nivel.
• Modelos “comportacionales” (behavioral): el comportamiento inteligente
surge de una compleja interacción entre subsistemas de una arquitectura.
No hay representación explı́cita del mundo.
Jorge Baier Aranda, PUC
5
• Modelos computacionales para implementar visión en robots, etc.
En este curso nos preocuparemos de algunos dominios especı́ficos en los
cuales mostraremos:
• Técnicas para la construcción de sistemas que son capaces de desarrollar
actividades inteligentes.
• Modelos de computacionales del razonamiento.
Antes de hablar sobre esto, veamos algo de historia.
Jorge Baier Aranda, PUC
6
Algo de historia de la IA
Podrı́amos decir que los inicios de la IA se remontan al año 450 ac., con la
invención de los silogismos.
Descartes (1596-1650) plantea que hay una distinción entre mente y materia. Según esto, habrı́an aspectos de la mente que no obedecen las leyes de
la fı́sica.
Leibniz (1646 – 1716) toma la posición materialista que dice que todo obedece leyes fı́sicas, planteando que es posible mecanizar las leyes del pensamiento humano.
Boole (1815 - 1864), creador del álgebra Booleana, escribió el artı́culo “An
investigation of the laws of thought on which are founded the mathematical
theories of logic and probabilities.”
En 1943, Warren McCulloch y Walter Pitts inventan la primera neurona artificial, el perceptrón, y demostraron que cualquier función computable podı́a
ser calculada por una serie de neuronas interconectadas. Esto da origen a
Jorge Baier Aranda, PUC
7
la tradición conexionista de IA. Posteriormente (1969) se demostrarı́a que un
perceptrón, por sı́ solo, es poco lo que puede aprender.
En 1950, Alan Turing, plantea un juego de imitación, conocido como el “Test
de Turing”, en su artı́culo Computing Machinery and Intelligence, de 1950.
Éste consiste esencialmente en que una persona conversa a través de un
teletipo con una máquina (A) y un humano (B). El humano intenta ayudar
al interlocutor (haciéndole creer que él es el humano) y la máquina intenta
engañarlo.
Si el humano no es capaz de identificar quién es la persona y quién es el
humano, la máquina ha pasado el test de Turing.
En este mismo artı́culo Turing, hace la siguiente predicción:
en alrededor de cincuenta años [es decir, en el año 2000, aprox]
será posible programar computadores ... para hacerlos jugar al juego
de imitación tan bien que un interrogador promedio no tendrá más de
70 % de probabilidad de hacer una identificación correcta después de 5
minutos de conversación” Es decir, con al menos una probabilidad de
30 % la máquina pasa el test...
Jorge Baier Aranda, PUC
8
En la actualidad, hay programas que pretenden imitar humanos. En la siguiente figura se muestra un diálogo realizado con ALICE, el programa ganador de los premios Loebner de 2000 y 2001.
Jorge Baier Aranda, PUC
9
Human: Hello Alice, how are you? ALICE: Hi there! I am fine, thankYes I have long hair. I am also wearing a dress.
you.
➙ what is the color of your dress?
➙ Hello alice, how are you?
My favorite dress is my green one.
Hi there! I am functioning within normal parameters.
➙ Would you like to come to my artificial intelligence class?
➙ What do you mean by your parameters?
No thanks, I don’t think I’d like to do that.
Are you asking about my parameters?
➙ why?
➙ yes.
The explanation is rather complicated.
I don’t want to talk about that now.
➙ Tell me, are you a real person?
➙ why?
No but I play one on the Web.
I would rather talk about you.
➙ who are you?
➙ Cool, my name is Jorge.
I ask myself that question, ”Who am I?”
I’m glad you like it. Tell your friends.
➙ and what did you answer to yourself?
➙ I am preparing a class of artificial intelligence
Nothing.
Why are you preparing a class of artificial intelligence.
➙ Where were you born?
➙ Because I am the professor.
ALICE was born in Bethlehem, Pennsylvania.
Interesting explanation. Who made you the professor?
➙ what do you like to do?
➙ The dean.
I like chatting with people online.
What is that?
➙ Do you love anybody?
➙ The dean is my boss.
I like my botmaster.
Tell me more.
➙ Who is your botmaster?
➙ He teaches at the Department of Electrical Engineering.
I was created by Dr. Richard S. Wallace.
I get it. he teaches at the Department of Electrical Engineering.
➙ what is an artificial neural network?
➙ Who is my boss?
Artificial intelligence is the branch of engineering and science devoI don’t yet know that kind of personal information about you for cer-ted to constructing machines that think. I think you already know the
tain. You could be deceiving me, so how could I know for sure. I couldanswer.
look it up on the internet.
➙ why you say so?
➙ You are a pretty woman.
Dr. Richard S. Wallace programmed me for it.
Thanks and you are a delightful person too. Yes I am very beautiful.
Jorge Baier Aranda, PUC
10
Los comienzos de la Inteligencia Artificial, como disciplina, se remontan a
1956; cuando John McCarthy introdujo el nombre Artificial Intelligence.
Posteriormente (1958), McCarthy inventa el lenguaje de programación L ISP,
que serı́a uno de los lenguajes más usados en el área.
En 1963, Robinson inventa el método de resolución, dando un impulso a la
lógica como una herramienta factible para inteligencia artificial.
En 1969, se construye el primer sistema experto, DENDRAL, capaz de inferir la estructura molecular a partir de la información entregada por un espectrómetro de masa.
Luego se construye MYCIN, un sistema experto que diagnostica enfermedades sanguı́neas. Mediante unas 450 reglas, este sistema actuaba como un
verdadero experto y diagnosticaba incluso mejor que algunos médicos con
poca experiencia.
Jorge Baier Aranda, PUC
11
El estado del arte
Actualmente, se ha logrado grandes avances. Describiremos a continuación
algunos de ellos:
L ENGUAJE N ATURAL
Y
S ISTEMAS E XPERTOS
• Student (Bobrow, 1968) Logra resolver problemas del tipo:
El rendimiento de mi automóvil es 15 kms/litro. La distancia entre
Santiago y Talca es 290 kms. ¿Cuál es el número de litros de combustible utilizado en un viaje entre Santiago y Talca?
• Sistemas de Información para Viajes Aéreos: Estos sistemas reciben
consultas de los usuarios utilizando lenguaje hablado (en Inglés). Los sistemas aún están en etapas experimentales y son capaces de responder
preguntas como:
Muéstreme los vuelos de Atlanta a Boston el Viernes.
Cuál es el vuelo más barato.
Jorge Baier Aranda, PUC
12
• Sistemas de traducción en tiempo real: El SRI junto con una empresa
sueca de comunicaciones (Telia Research) construyeron un sistema de
traducción de voz que toma unos segundos en traducir del sueco al inglés
y vice-versa. Actualmente, se puede hablar con el programa solo sobre
reservas de vuelos de aviones.
J UEGOS
• Jugadores de Ajedrez: Desde los comienzos del área se han construido
estos programas. En 1997 Deep-Blue, un computador de IBM, logró vencer a Garry Kasparov 3.5 a 2.5. En 2003, se registró un empate entre el
mismo Kasparov y Deep Junior .
• Jugadores de Damas: En 1994, el programa Chinook venció a Mario
Tinsley, campeón mundial de damas. Aunque el campeón se retiró por
problemas de salud (luego de 6 empates), ya en 1990 Chinook habı́a perdido estrechamente (7.5–6.5). Esto es notable considerando que Tinsley
habı́a perdido en promedio una partida por década, desde 1940.
Jorge Baier Aranda, PUC
13
OTROS
• Robótica: Se ha logrado grandes avances. La gran mayorı́a por el lado
del control de robots (sistemas de navegación, control y percepción). No
muchos por integrar razonamiento a éstos.
Figura 1: Cog, un robot humanoide.
Jorge Baier Aranda, PUC
14
Figura 2: AIBO: Robots de entretenimiento de Sony
Uno de los grupos más conocidos es el del MIT, que actualmente tiene
como objetivo la construcción de robots humanoides.
• Mucho más...
Jorge Baier Aranda, PUC
15
En este curso...
En este curso, tomaremos un punto de vista pragmático respecto de la Inteligencia Artificial.
Los temas que estudiaremos son:
Lenguajes de Programación para Inteligencia Artificial. Los lenguajes
tradicionales para programación de aplicaciones en Inteligencia Artificial son
L ISP y P ROLOG. Veremos aplicaciones en P ROLOG, como reconocimiento
de lenguaje natural.
Solución de Problemas mediante Búsqueda. Muchos de los problemas
de interés en Inteligencia Artificial se pueden expresar como problemas de
búsqueda.
Planificación. En esta área se estudian mecanismos para derivar planes de
acción. Veremos distintos enfoques al problema.
Manejo de Incertidumbre. Los mecanismos de representación de conocimiento basados en lógica clásica no permiten el manejo de grados de certeza.
Jorge Baier Aranda, PUC
16
Con este objetivo, se han desarrollado mecanismos probabilı́sticos, los cuales permiten derivar conclusiones con grados de certidumbre que dependen
de la evidencia que haya disponible.
Aprendizaje. Veremos algunas técnicas para el manejo de aprendizaje automático. Entre ellas, aprendizaje en redes neuronales y una introducción al
aprendizaje reforzado.
Robótica Cognitiva. Veremos cómo representar conocimiento en forma
lógica y cómo es posible integrar este conocimiento para controlar inteligentemente a un robot.
Jorge Baier Aranda, PUC
17
Evaluación
La evaluación del curso se realiza a través de 3 interrogaciones, tareas, 7
controles de lectura y 1 examen. El examen es opcional.
La nota final, N F , se calcula como:
(
0, 6 · P E + 0, 2 · P C + 0, 2 · P T
NF =
mı́n{P E, P T }
si P E ≥ 4 y P T ≥ 4
en otro caso
P E: promedio de interrogaciones en caso que el alumno no dé el examen.
En caso contrario, P E se calcula como el promedio entre las interrogaciones y
el examen considerado con nota doble.
P T : promedio aritmético de tareas.
P C: promedio aritmético de los 6 mejores controles.
Jorge Baier Aranda, PUC
18
Agentes Inteligentes
Para el término agente hay más de una definición. En términos simples:
Un agente es un ente que percibe su entorno
a través de sensores y es capaz de alterar su
entorno a través de efectores.
Muchas cosas calzan en esta definición: desde una mosca hasta un servidor
de web.
Esto es porque un agente no debe ser necesariamente un agente fı́sico;
también puede ser un agente de software o softbot.
Nosotros estaremos interesados en un tipo particular de agente; los llamados agentes inteligentes.
De estos agentes esperamos, idealmente, las siguientes caracterı́sticas:
Jorge Baier Aranda, PUC
19
• Autonomı́a: Deben ser independientes de otros agentes (incluidas las
personas).
• Habilidad social: Deben tener habilidades de comunicación.
• Reactividad: Deben ser capaces de reaccionar frente a su entorno.
• Pro-actividad: No sólo reaccionan sino que tienen la capacidad de tomar
la iniciativa, de acuerdo a sus objetivos.
Algunos autores han desarrollado teorı́as de agentes inteligentes en las cuales se les atribuyen otras habilidades:
• Aptitudes de Información: creencias, conocimiento, introspección, conciencia.
• Pro-aptitudes: Deseo, intención, obligación, compromiso, elección, etc.
A la hora de implementar un agente inteligente, no necesariamente deberemos considerar todas estas aptitudes. Tal vez sólo un subconjunto.
Jorge Baier Aranda, PUC
20
¿Cómo se implementa un agente inteligente?
En general, el procedimiento que implementa a un agente se ve de la siguiente manera:
function Agente(percepción) returns acción
static: memoria
memoria := ActualizarMemoria(percepción);
acción := EscogerMejorAccion(memoria);
memoria := ActualizarMemoria(memoria,accion);
return acción;
Cómo se representa y actualiza la memoria es el objetivo central del área de
representación de conocimiento.
La implementación de la memoria depende de las caracterı́sticas que queramos implementar en el agente.
Jorge Baier Aranda, PUC
21
Cómo se escoge la acción dependerá de las caracterı́sticas del agente.
Un agente puramente reactivo no necesita ocupa memoria y sus acciones
se basan en lo que percibe y en un conjunto de reglas condición–acción.
Jorge Baier Aranda, PUC
22
Propiedades del Ambiente
Al momento de implementar un agente inteligente es necesario también tener en consideración las propiedades del ambiente (o mundo).
En términos simples, un ambiente puede ser:
Observable vs. no observable: ¿Tiene el agente acceso total, parcial a conocer cómo es el mundo?
Determinı́stico vs. no determinı́stico: ¿Está determinado únicamente el
estado del mundo a partir de la acción que realiza el agente y el estado anterior al de realizar la acción?
Estático vs. dinámico ¿Puede el estado del mundo cambiar mientras el
agente delibera?
Discreto vs. continuo ¿Cuál es el dominio de las variables que representan al estado?
Jorge Baier Aranda, PUC
23
Descargar