Sistemas inteligentes, o «inteligencia artificial»
http://www.gsi.dit.upm.es/~gfer/ssii/
https://moodle.lab.dit.upm.es/moodle/
UPM c 2009 DIT-ETSIT-UPM Sistemas Inteligentes: Introducción transp. 1
¿Inteligencia artificial?
Entrevista a Claude Shannon: –Could machines «think»?
–You bet. I’m a machine and you’re a machine, and we both think, don’t we?
(J. Horgan: «Claude E. Shannon», IEEE Spectrum, 29, 4, Apr.1992, pp.72-75)
IA/Ciencia
IA
Psicología
Epistemología
aprendizaje... razonamiento, modelos de comunicación... modelos de representación,«Estudio de las facultades mentales mediante el uso de modelos computacionales»
(Charniak y McDermott, 1985)
UPM c 2009 DIT-ETSIT-UPM Sistemas Inteligentes: Introducción transp. 3
IA/Ingeniería
IA
Ingeniería
Informática
automatización problemas y modelos de la información y del conocimiento procesamiento de modelos de resolución de«Cómo hacer que los ordenadores ejecuten tareas cognoscitivas que, por ahora, las personas realizan mejor»
Clasificación de definiciones según AIMA
Charniak y McDermot: énfasis en pensamiento;
criterio: inteligencia ideal, o racionalidad Rich y Knight: énfasis en comportamiento;
criterio: inteligencia humana
inteligencia humana racionalidad pensamiento Sistemas que piensan
como humanos:
Enfoque cognoscitivo
Sistemas que piensan racionalmente:
Enfoque lógico
comportamiento Sistemas que actúan como
humanos:
Enfoque «prueba de Turing»
Sistemas que actúan racionalmente:
Enfoque de agentes racionales
Russell, S. y Norvig, P.: Artificial Intelligence: A Modern Approach, 2nd. ed. («AIMA»). Prentice Hall, 2003
Traducido en Pearson Educación, 2004
UPM c 2009 DIT-ETSIT-UPM Sistemas Inteligentes: Introducción transp. 5
IA/Negocio
IA
nuevas funciones y prestaciones etiqueta de innovaciónProductos
Mercado
Evolución de las «etiquetas»: sistemas expertos, ingeniería del conocimiento, agentes inteligentes, gestión del conocimiento, inteligencia de negocio...
IA interdisciplinaria PRODUCTOS/ MERCADO INFORMÁTICA/ INGENIERÍA metodologías de desarrollo herramientas de desarrollo PSICOLOGÍA/ EPISTEMOLOGÍA cognoscitivo procesador semánticas redes interfaces amigables problemas de comunicación
UPM c 2009 DIT-ETSIT-UPM Sistemas Inteligentes: Introducción transp. 7
Paradigmas de la IA Procesamiento simbólico:
problemas de naturaleza no numérica (lógica)
Búsqueda heurística:
hacer tratable la complejidad del proceso
Sistemas expertos:
visión conductista, funcional
Sistemas basados en conocimiento:
visión cognoscitiva, estructural
Aprendizaje automático:
Sistemas con autonomía, inducción de conocimiento
Agentes inteligentes:
Formulación del problema de resolver problemas Idea básica: Espacio de búsqueda
≡
espacio de estados(años 50: influencia de la teoría de autómatas)
<
Q,
R,
C
>
Q:
Estructura de datos que describe al estadoR:
Reglas u operaciones que describen las transiciones en el espacio de estadosR
×
Q
→
Q
C:
Estrategia de controlResolución: Búsqueda de una secuencia
r
1,
r
2, . . .
r
nque conduzca de
q
0 aq
fUPM c 2009 DIT-ETSIT-UPM Sistemas Inteligentes: Introducción transp. 9
Ejemplo de busqueda: «pesetas y duros»
P D D P D P P q D f P D D P P P D q P P D D P P D D D 0 r1 r2 r3 r4
Estado:
lista con dos «P», dos «D» y un « »Reglas: r
1 : desplazar P a hueco a la derechar
2 : desplazar D a hueco a la izquierdar
3 : saltar P a la derechar
4 : saltar D a la izquierdaEjemplo de busqueda: «puzzle
k
n−
1
»6
2
1
3
8
7
5
4
4
5
6
1
3
q
0
q
f
8
2
7
Estado:
matrizReglas: r
1 =↑
,r
2 =↓
,r
3 =→
,r
4 =←
card(Q) = 9! = 362.880⇒
búsqueda exhaustiva aún posible, peropara «puzzle 15», card(Q) = 16!
≈
2×
1013 . . .UPM c 2009 DIT-ETSIT-UPM Sistemas Inteligentes: Introducción transp. 11
Complejidad algorítmica: Notación O
Complejidad temporal y espacial: crecimiento asintótico
k
+
log
(
x
) +
x
+
x
2+
. . .
+
x
n=
O
(
x
n)
(polinómico)O
(
x
n) +
. . .
+
m
x=
O
(
m
x)
(exponencial) 0 20 40 60 80 100 0 2 4 6 8 10 x log(x) x*log(x) x**2 2**x x x 2x x log x 2 log xclase P:O(xn)(problemas «fáciles») clase NP (No determinista Polinómico) problemas NP-completos
Heurísticos
D.R.A.E.: «heurística» = «arte de inventar» En I.A.:
•
Como adjetivo, para distinguir de «algorítmico»≈
«seguro»•
Como sustantivo, truco o regla empírica que ayuda a encontrar la solución de un problema (pero que no garantiza que se encuentre)UPM c 2009 DIT-ETSIT-UPM Sistemas Inteligentes: Introducción transp. 13
Búsqueda heurística
En el desarrollo del árbol de búsqueda no fijarse en todos los estados posibles («nodos»), sólo en los más «prometedores» Algoritmo A*: en cada nodo se estima la distancia, o coste, del camino que pasando por ese nodo lleva desde el estado inicial al final (la solución).
Función de evaluación:
f
(
n
) =
g
(
n
) +
h
(
n
)
g
(
n
)
: coste den
0 an
(conocido)h
(
n
)
: estimación del coste den
an
f(menor que el coste real, para que el algoritmo encuentre solución óptima, si la encuentra) De los sucesores de cada nodo se elije el de menor
f
(
n
)
Ejemplos de heurísticos para el 8-puzzle
h
1(
n
)
: Número de piezas mal colocadash
2(
n
)
: Suma de «distancias Manhattan»h
1(
n
) =
7
h
2(
n
) =
2
+
3
+
3
+
2
+
4
+
2
+
0
+
2
=
18
UPM c 2009 DIT-ETSIT-UPM Sistemas Inteligentes: Introducción transp. 15
Paradigmas de la IA
Procesamiento simbólico:
problemas de naturaleza no numérica (lógica) Búsqueda heurística:
hacer tratable la complejidad del proceso
Sistemas expertos:
visión conductista, funcional
Sistemas basados en conocimiento:
visión cognoscitiva, estructural Aprendizaje automático:
Sistemas con autonomía, inducción de conocimiento Agentes inteligentes:
Sistema experto
British Computer Society, 1983:
«Incorporación en un ordenador [. . . ] de la pericia de un experto de modo que el sistema pueda dar consejos inteligentes o tomar decisiones inteligentes y justificar su razonamiento»
Aplicable el «test de Turing».
UPM c 2009 DIT-ETSIT-UPM Sistemas Inteligentes: Introducción transp. 17
Sistema basado en conocimiento (SBC, o KBS)
Evolución de modelos estructurales de sistemas software:
programa usuario SGBD BD base de conocimientos sistema primitivo: independencia de datos: independencia del conocimiento: ficheros usuario programa E/S (S.O.)
usuario interfaz inferenciasmotor de SGBD BD
interfaz ingenieros
conocimiento expertos
SS.EE. vs. SS.BB.C. USUARIO (ENTORNO) EXPERTO SISTEMA respuestas, justificaciones, preguntas preguntas problemas, inferencias motor de base de conocimientos SISTEMA
SBC: punto de vista estructural (cognoscitivo) SE: punto de vista funcional (conductista)
UPM c 2009 DIT-ETSIT-UPM Sistemas Inteligentes: Introducción transp. 19
I.A., SS.BB.C. y SS.EE.
SISTEMAS DE I.A.
SS.BB.C.
SS.EE.
heurísticos, procesamiento simbólico conocimiento, arquitecturaaplicaciones a dominios en los que la resolución de problemas
Ingeniería del conocimiento
Heterodoxia
(con respecto a la ingeniería del software):
Conocimiento humano incompleto, inconsistente, impreciso, incierto, tolerante. . .
Razonamiento y respuestas del sistema inseguros Conocimiento evolutivo, posibilidad de aprendizaje
Responsabilidad del diseño, desarrollo y mantenimiento: ingenieros, expertos y usuarios finales
No aplicable el ciclo de vida en cascada
UPM c 2009 DIT-ETSIT-UPM Sistemas Inteligentes: Introducción transp. 21
Representación del conocimiento Modelos y lenguajes basados en la psicología
Sistemas de reglas de producción:
Si <antecedente>entonces <consecuente> (implicación) Si <condiciones>entonces <acción> (activación)
Redes semánticas y marcos, basados en teorías de la formación de conceptos en la mente humana
Formalización en lenguajes lógicos
Lógicas de base: proposiciones, predicados Prolog
Lógicas de descripciones web semántica
Lógicas modales creencias, deseos, intenciones... Lógica borrosa
Ejemplo de red semántica
ANIMAL
AVE MAMIFERO
AVESTRUZ ALBATROS BALLENA
tipo_de tipo_de
tipo_de tipo_de tipo_de tipo_de bien
plumas
huevos
largas no_puede muy_bien piel mar carne leche
pelo vida sentir moverse
tiene puede puede
tiene vuela
pone
da
tiene
patas vuela vuela tiene vive_en come
LEON
UPM c 2009 DIT-ETSIT-UPM Sistemas Inteligentes: Introducción transp. 23
Traducción de la red semántica a un lenguaje lógico (1)
«Lógica OAV», o «lógica 0+»: triplas
<Objeto> <Atributo> <Valor>.
Conocimiento factual:
"Moby Dik" es_un Ballena .
"Moby Dik" olor blano
"Leo Verdura" es_un León .
ex("Leo Verdura" ome hortalizas) .
...
Conocimiento normativo sobre el dominio:
Animal tiene vida .
Animal puede sentir .
Animal puede moverse .
Ave vuela bien .
...
ex(Ballena tiene piel) .
Avestruz tipo_de Ave .
Traducción de la red semántica a lenguaje lógico
Conocimiento normativo general (reglas sobre herencia):
if ( ?X tipo_de ?Y ) or ( ?X es_un ?Y ) then ( ?X hereda_de ?Y ) . if ( ?X tipo_de ?Y ) or ( ?X es_un ?Y ) and ( ?Y hereda_de ?Z ) then ( ?X hereda_de ?Z ) . if ( ?X hereda_de ?Y ) and ( ?Y ?W ?Z ) and not(ex( ?X ?W ?Z )) then ( ?X ?W ?Z ) . if (ex( ?X ?W ?Z )) then ( ?X ?W ?Z ) .
UPM c 2009 DIT-ETSIT-UPM Sistemas Inteligentes: Introducción transp. 25
Paradigmas de la IA
Procesamiento simbólico:
problemas de naturaleza no numérica (lógica) Búsqueda heurística:
hacer tratable la complejidad del proceso Sistemas expertos:
visión conductista, funcional
Sistemas basados en conocimiento: visión cognoscitiva, estructural
Aprendizaje automático:
Sistemas con autonomía, inducción de conocimiento
Agentes inteligentes:
Paradigma de la «agencia» ? entorno perceptos acciones sensores efectores agente (Figura de AIMA)
Agente: Sistema que actúa (eventualmente, por encargo) para
producir ciertos efectos en su entorno
Agencia: Cualidades (funcionales, estructurales y/o procesales)
propias de los agentes
(en inglés: agency, o agenthood )
UPM c 2009 DIT-ETSIT-UPM Sistemas Inteligentes: Introducción transp. 27
Agentes software
El «entorno» puede ser accesible mediante sensores y efectores, pero más frecuentemente está formado por otros agentes y/o personas (que también se consideran «agentes») accesibles localmente (en la misma máquina en la que se ejecuta el agente) o (más interesante) remotamente.
“?” es un sistema basado en conocimiento.
Los «perceptos» y las «acciones» son actos de comunicación expresados en un lenguaje.
Agente y entorno deben compartir el lenguaje y una «visión del mundo», u «ontología»:
vocabulario y significado de los términos.
SINT vs. MIT-6.034
«6.034 Artificial Intelligence» (M.I.T.) T. Lozano–Pérez y L. Kaelbling
http://ow.mit.edu/
OwWeb/Eletrial-Engineering-and-Computer-Siene/
6-034Spring-2005/CourseHome/index.htm
Tema horas Tema horas
Búsqueda — Search 6
Lenguajes de represent. Knowledge Representation
para ontologías 12 and Inference 15
Aprendizaje 10 Machine Learning 15
Agentes 16 — —
Aplicaciones 16 — —
UPM c 2009 DIT-ETSIT-UPM Sistemas Inteligentes: Introducción transp. 29
Sistemas Inteligentes: Temas
Tema/horas Profesor Introducción/2 gferdit.upm.es Ontologías/12 gferdit.upm.es Aprendizaje/10 gferdit.upm.es Agentes/16 mgadit.upm.es Aplicaciones/16 jgdit.upm.es
gfer: Gregorio Fernández jg: José Carlos González mga: Mercedes Garijo