Você está na página 1de 117

PROCESOS INTELIGENTES

Ingeniera Mecatrnica - UCSM


M.Sc. Sergio Mestas Ramos

QU ES LA INTELIGENCIA
ARTIFICIAL ?

Inteligencia Artificial Intentos de Definicin


- Bellman (1978)
- Automatizacin de actividades que vinculamos con procesos del
pensamiento humano, tales como, toma de decisiones, resolucin
de problemas, aprendizaje.
- Winston (1992).
- Estudio de las computaciones que permiten percibir, razonar y
actuar.
- Minsky (1986)
- Arte de construir mquinas capaces de hacer cosas que requieren
inteligencia en caso de que fuesen hechas por seres humanos.
- Luger (1989)
- Rama de la informtica que trata de la automatizacin del
comportamiento inteligente.

La Inteligencia Artificial
Es un campo de la ciencia que trata de realizar, con
mquinas, tareas que pueden ser realizadas por el
hombre, aplicando cualquier tipo de razonamiento.

En cierta media cualquier programa de computador


puede considerarse inteligente. El problema es
diferenciar entre lo que se considera un programa
inteligente y el que no lo es.
Un programa inteligente es aquel que exhibe un
comportamiento similar al humano cuando se enfrenta
a un problema idntico.

Sistemas que PIENSAN como humanos Sistemas que PIENSAN racionalmente


El nuevo y exitante esfuerzo de hacer que los
computadores piensen
La automatizacin de actividades que
vinculamos con procesos de pensamiento
humano, actividades como la toma de
decisiones, resolucin de problemas,
aprendizaje..

El estudios de las facultades mentales


mediante el uso de modelos computacionales
El estudio de los clculos que hacen posible
percibir, razonar y actuar

Sistemas que ACTAN como humanos

Sistemas que ACTAN racionalmente

Desarrollar mquinas con capacidad para


realizar funciones que cuando son realizadas
por personas requieren de inteligencia
El estudio de cmo lograr que los
computadores realicen tareas, que por el
momento, los humanos hacen mejor

La inteligencia Computacional es el estudio


del diseo de agentes inteligentes
Est relacionada con conductas inteligentes en
artefactos

Pensar como un humano


- Es necesario contar con un mecanismo para determinar cmo
piensan los humanos
- Una vez que se tenga una teora al respecto, se podr expresar
esa teora en la forma de un programa de computadoras
- Si los datos de E/S y los tiempos de reaccin del programa son
similares a los de un humano existe la evidencia de que algunos de
los mecanismos del programa se pueden comparar con los del los
humanos
- Ciencia cognitiva: Convergen modelos computacionales de IA y
tcnicas experimentales de psicologa intentando elaborar teoras
precisas y verificables sobre el funcionamiento de la mente
humana

Pensar racionalmente
- Intentar codificar la manera correcta de pensar. Un proceso de
razonamiento irrefutable
- Aristteles fue uno de los primeros, a travs de sus silogsmos
(esquemas de estructuras de argumentacin en las que siempre se
llega a conclusiones correctas si partimos de premisas correctas)
- Lgica. Notacin precisa para definir sentencias sobre todo tipo de
elementos del mundo y especificar relaciones entre ellos
- Ya en 1965 haban programas que resolvan cualquier problema
que pudiera expresarse mediante la notacin de la lgica
- No es fcil transformar conocimiento informal y expresarlo en
trminos formales, sobre todo cuando el conocimiento es inferior al
100%
- Es diferente a resolver un problema en principio y hacerlo en la
prctica. Hay problemas que an con unos pocos datos pueden
agotar los recursos computacionales

Actuar racionalmente
- Un enfoque basado en agentes. Algo que razona
- Los agentes informticos se deben distinguir de los programas
convencionales
- Perciben su entorno. Persisten en el tiempo. Se adaptan a los
cambios y son capaces de alcanzar objetivos diferentes
- Un agente racional actan con la intencin de alcanzar el mejor
resultado, cuando hay incertidumbre, el mejor resultado
esperado.
- Las habilidades que se necesitan en la prueba de Turing deben
permitir emprender acciones racionales
- Es necesario contar con la capacidad para representar el
conocimiento y razonar basndonos en l
- El enfoque de la IA basados en las leyes del pensamiento pone
todo el nfasis en hacer inferencias correctas, lo cual podra
considerarse como racional. Sin embargo una inferencia correcta
no depende siempre de la racionalidad. Hay situaciones en las que
no hay nada correcto que hacer y es necesario tomar una decisin
Tambin hay maneras de actuar racionalmente que no implican
realizar inferencias

Inteligencia Artificial Como surge

Prueba de Turing
- Alan Turing. 1950
- Proporciona una definicin operacional y satisfactoria
de Inteligencia
- Prueba basada en la incapacidad de diferenciar entre
entidades artificiales y seres humanos
- En la actualidad, programar una computadora para
que supere la prueba requiere un trabajo considerable
- El computador supera la prueba si un evaluador
humano no es capaz de distinguir si las respuestas a
una serie de preguntas, son de una persona no.

Capacidades que debe tener la computadora:


Procesamiento de lenguaje natural: Para poder comunicarse
satisfactoriamente en lenguaje natural
Representacin del conocimiento: Para almacenar lo que se
conoce siente
Razonamiento automtico: Para utilizar el conocimiento
almacenado para responder a preguntas y extraer nuevas
conclusiones
Aprendizaje automtico: Para adaptarse a nuevas circunstancias
y para detectar y extrapolar patrones

Capacidades que debe tener la computadora


para la interaccin fsica entre el evaluador y el
computador:
Prueba Global de Turing:
Visin computacional Para percibir objetos
Robtica:
Para manipular y mover objetos

La prueba se conserva vigente en la actualidad


Los cientficos han dedicado poco esfuerzo a la

evaluacin de los sistemas con la prueba de Turing.


Es mas importante el estudio de los principios en que
se basa la inteligencia que duplicar un ejemplar.
Los hermanos Wright tuvieron xito en la bsqueda de
un artefacto que volara, cuando dejaron de imitar a los
pjaros y comprendieron los principios de la
aerodinmica.

Fundamentos de la IA

Fundamentos de la IA
Filosofa
Existen reglas formales para extraer conclusiones vlidas?. Cmo se
genera la inteligencia mental? De donde viene el conocimiento?
Cmo se pasa del conocimiento a la accin?
Silogsmos:

Aristteles. Extraccin de conclusiones mecnicamente


a partir de premisas iniciales)
Dualismo:
Descartes. Existe una parte de la mente que est al
margen de la naturaleza. Los animales no poseen esta
cualidad dual; e igualmente a las mquinas)
Materialismo: Las operaciones del cerebro realizadas de acuerdo con
las leyes de la fsica constituyen la mente)
Emprico:
Nada existe en la mente que no haya pasado por los
sentidos
Induccin:
Las reglas generales se obtienen mediante la exposicin
a asociaciones repetidas entre sus elementos
Positivismo lgico:
Todo el conocimiento se puede caracterizar
mediante teoras lgicas relacionadas
Teora de la confirmacin: Intenta explicar cmo el conocimiento se
obtiene a partir de la experiencia

Fundamentos de la IA
Matemticas
Qu reglas formales seguir para obtener conclusiones vlidas? Qu
se puede computar? Cmo razonamos con incertidumbre?
Lgica formal:

Desarrollo matemtico a travs de la lgica


proposicional Booleana
Algoritmo:
El primer algoritmo trivial fue el Eucldeo para
calcular el mcd. Algoritmos para realizar deducciones
lgicas
Teorema de incompletitud: En cualquier lenguaje que tuviera la
capacidad para expresar las propiedades de los
nmeros naturales, existen aseveraciones verdaderas
no decidibles (no se pueden validar mediante
algoritmos)
Intratabilidad: Problemas en los que el tiempo necesario para la
resolucin de los casos particulares crecen
exponencialmente con el tamao de los casos
NP-Completitud: Mtodo para identificar problemas intratables.
Probabilidad: Ayuda al tratamiento de mediciones con incertidumbre

Fundamentos de la IA
Economa
Cmo tomar decisiones para maximizar rendimiento?
Teora de la decisin: Combina la teora de la probabilidad con
la teora de la utilidad
Teora de juegos:
En algunos juegos, un agente racional
deba actuar de forma aleatoria, o al
menos, aleatoria en apariencia con
respecto a sus contrincantes
Investigacin operativa: Orienta a la optimizacin y toma de
decisiones de direccin complejas.
Satisfaccin: Toma de decisiones que son suficientemente
buenas.

Fundamentos de la IA
Neurociencia
Cmo procesa informacin el cerebro?
Neurociencia:

Neuronas:

Estudio del sistema neurolgico y en


especial el cerebro. La forma exacta en
que el cerebro genera los pensamientos.
El cerebro est formado por clulas
nerviosas llamadas neuronas que han sido
observadas y estudiadas individualmente

Fundamentos de la IA
Psicologa
Cmo piensan y actan los humanos y los animales?
Conductismo: Rechaza cualquier teora en la que intervengan
procesos mentales. Insistieron en el estudio exclusivo de
mediciones objetivas de percep ciones (estmulos) y de las
acciones resultantes (respuestas)
Psicologa cognitiva: Conceptualizacin del cerebro como un
dispositivo de procesamiento de Informacin. Pone nfasis en que
la percepcin entraa cierto tipo de inferencia lgica inconsciente
Ciencia cognitiva:
Utilizacin de modelos informticos para
modelar la psicologa de la memoria, el lenguaje y el pensamiento
lgico.

Fundamentos de la IA
Ingeniera Computacional
Cmo se puede construir un computador eficiente?
Computadora: La IA necesita adems de Inteligencia y un
Artefacto (la computadora).
Hardware:
Cada generacin de dispositivos ha conllevado a
un aumento en la velocidad de proceso y
capacidad de almacenamiento
Software:
Los Sistemas operativos, los lenguajes de programacin y las herramientas modernas para escribir
programas. La investigacin en IA ha generado
numerosas ideas importantes: Tiempo compartido,
intrpretes imperativos, interfases grficas,
entornos de desarrollo rpido, programacin
simblica, funcional, dinmica, orientada a objetos.

Fundamentos de la IA
Teora del Control y ciberntica
Cmo pueden los artefactos operar bajo su propio control?
Teora del control:

Ciberntica:
Funcin objetivo:

Ver el comportamiento determinista como


algo emergente de un mecanismo
regulador que intenta minimizar el error
(la diferencia entre el estado actual y el
objetivo)
Modelos cognitivos matemticos y
computacionales
Teora del control moderna, basados en
disear sistemas que maximizan una
funcin objetivo en el tiempo.

Fundamentos de la IA
Lingstica
Cmo est relacionado el lenguaje con el pensamiento?
Lingstica computacional: Convergencia entre la lingstica
moderna y la IA (procesamiento
de lenguaje natural)

Historia de la IA
Perodo de Gestacin (1943-1956)
Modelo de neuronas artificiales (1943)
Reglas de actualizacin de aprendizaje (1949)
Programas de ajedrez para computadoras (1950,1953)
Primera computadora para simular una red de 40 neuronas a
partir de un computador de tubos de vaco (1951)
Lenguaje LISP. Primer lenguaje de IA (1958)
Reunin en el Darmouth College (1956)
Programa capaz de demostrar teoremas de lgica
Aparece por primera vez el trmino: Inteligencia Artificial

Historia de la IA
Entusiasmo y grandes expectativas (1952-1965)
GPS. Solucionador general de problemas. Aborda un problema
como un conjunto de subproblemas y posibles cursos de accin.
Juego de damas con aprendizaje de la experiencia de las
partidas jugadas (1952)
Contribuciones de McCarthy en el MIT. LISP Compartido y
desarrollo del EC (programa que incorpora conceptos de
representacin y conocimiento) (1958)
Contribuciones de McCarthy en Stanford. Sistema de
planificacin y respuesta de preguntas (1969). Solucin a
problemas limitados (micromundos ANALOGY: analoga
geomtrica)

Historia de la IA
Dosis de Realidad (1966-1974)
Se predijo que en 10 aos habra una mquina inteligente
Teora de NP-Completos
Programa ELIZA, en el MIT, que simulaba el comportamiento de
un psicoanalista (1965)
Experimentos en Machine Evolution (ahora llamados algoritmos
genticos)
Perceptrones. Tipo de redes neuronales (1969)

Historia de la IA
Sistemas basados en conocimientos (1969-1979)
Dendral. Sistema para inferir estructuras moleculares
Mycin. Sistema para el diagnstico mdico de enfermedades

sanguneas
Se modela la incertidumbre
HPP. Proyecto de programacin heurstica
SHDRLU. Sistema para la comprensin del lenguaje natural.
Lenguaje PROLOG (1972)

Historia de la IA
IA como industria (1980-1988)
R1. Primer sistema experto comercial, para la elaboracin de pedidos
Proyecto de quinta generacin en Japn (mquina PROLOG)
Mquinas optimizadas para ejecutar LISP
Se produce un impacto industrial en los campos como la robtica y la
visin artificial
Regreso a las redes neronales (1986-presente)
Hopfield. Rumelhart y Hinton. Nuevos modelos de RN
Reconocimiento de voz (HMM)
Incertidumbre (Bayes)
Robtica
Aprendizaje
Realidad virtual

Aplicaciones de la IA
Tratamiento de lenguaje natural

Sistemas Expertos
Demostracin de teoremas
Robtica
Programacin automtica
Problemas de planificacin
Reconocimiento de patrones
Manejo de incertidumbre
Resolucin de problemas
Visin artificial

TCNICAS DE
INTELIGENCIA ARTIFICIAL

TCNICAS DE INTELIGENCIA ARTIFICIAL


o Redes neuronales artificiales (RNA)
o Razonamiento Basados En Casos (RCB)
o Algoritmos Genticos (AG)
o Lgica Difusa (LD)
Sistemas Multiagente
Sistemas Basados en Conocimiento.
Visin Computacional
Procesamiento de Voz y Lenguaje Natural
Computacin Evolutiva
Robtica
Aprendizaje Mecnico.
Tcnicas Heursticas (recocido simulado)

REDES NEURONALES ARTIFICIALES (RNA)


Basadas en la hiptesis de Hebb (1949): Presenta de
manera intuitiva el modo en que las neuronas
memorizan informacin y se plasman sintticamente en
la famosa regla de aprendizaje de Hebb.
Esta regla indica que las conexiones entre dos
neuronas se refuerzan si ambas son activadas.
Muchos de los algoritmos actuales proceden de los
conceptos de este psiclogo.
Son utilizadas bsicamente para problemas de
clasificacin de patrones y agrupamiento (clustering)

RAZONAMIENTO BASADOS EN CASOS (RCB)


El razonamiento basado en la experiencia pasada

resolver problemas
Razonamiento como alternativa al razonamiento basado
en reglas (sistemas expertos)
Se utiliza para la resolucin de problemas, implicando un
enfoque fundamentalmente diferente al de la mayora de
los sistemas
En lugar de basarse exclusivamente en el conocimiento
general del dominio de un problema o de establecer
asociaciones a travs de un conjunto de relaciones
generalizadas entre descriptores de problemas y
conclusiones, utilizan el conocimiento especfico de
experiencias previas en situaciones concretas.
Un problema se resuelve encontrando una situacin
problemtica similar (caso) en el pasado y
reutilizando su solucin en la nueva situacin.

ALGORITMOS GENTICOS (AG)


Es una tcnica de bsqueda basada en la teora de la evolucin de

Darwin.
Se basa en los mecanismos de seleccin que utiliza la naturaleza:
Los individuos ms aptos de una poblacin son los que sobreviven pues

se adaptan ms fcilmente a los cambios que se producen en su


entorno.
Los cambios se traducen en transformaciones en los genes de un

individuo (unidad bsica de codificacin de cada uno de los atributos de


un ser vivo)
Las caractersticas ms destacadas de un individuo (p.e, los que le

permiten adaptarse mejor a su entorno) se deben transmitir a sus


descendientes.
Un AG empieza por uno o varios individuos y mediante operaciones de

transformacin y seleccin va haciendo evolucionar su especie,


desarrollando individuos mejores.

LGICA DIFUSA (LD)


La lgica de conjuntos difusos ( borrosos) trabaja con

conjunto de datos que no tienen lmites perfectamente


definidos, es decir la pertenencia no de una variable a un
conjunto no es precisa.
Se caracteriza por funciones de pertenencia que dan
flexibilidad a la modelacin, utilizando expresiones como:
mucho, poco, leve, escaso, suficiente, caliente, fro, tibio,
joven, viejo.
En estos problemas, donde la informacin es imprecisa la
matemtica y la lgica tradicional no son suficientes.
La lgica difusa es un lenguaje que permite trasladar
sentencias sofisticadas del lenguaje natural a un
formalismo matemtico.

Agentes
Un agente es todo aquello
que puede considerarse
que percibe su ambiente
mediante sensores y que
responde o acta en tal
ambiente por medio de
efectores.

Agentes Naturales
Agente: cuerpo biolgico
Entorno: naturaleza
Sensores: ojos, odos, lengua, piel, etc.
Efectores: piernas, brazos, manos, etc.
Medida de rendimiento: sobrevivir, reproducirse,

Agentes artificiales
Agentes hardware (robots):
Interactan directamente con un entorno fsico
Disponen de un cuerpo fsico
Sensores: cmaras, telmetros infrarojos, etc.
Efectores: ruedas/piernas, manipuladores, etc.

Agentes artificiales
Agentes software (softbots):
Actan en entornos virtuales (p.e. Internet)
Todo software: no necesitan manipular fsicamente el

entorno
Sensores y efectores: dependientes del entorno

Agentes inteligentes
Actan de forma racional en su entorno
Agente Racional es el que percibe y acta para
cumplir con sus objetivos con base a sus creencias de
lo que es correcto

Agente Racional
La racionalidad de un agente depende de cuatro

factores:
La medida del rendimiento: define el grado de xito

del agente en el cumplimiento de sus objetivos.


La secuencia de percepciones: todo lo que ha
percibido el agente hasta ese momento.
El conocimiento del medio: todo el conocimiento que
ha acumulado en el medio en que habita.
Las acciones que el agente puede ejecutar.

Comportamiento Racional
Comportamiento racional:
El que se realiza a partir de la secuencia de
percepciones hasta el momento, y el conocimiento a
priori sobre el entorno.
El que elige entre las capacidades, la accin que
maximice la medida de rendimiento

Algunas caractersticas
adicionales:
Autonoma: Cuanto ms se rige su comportamiento
por su propia experiencia y
Cuanto menos depende de sus conocimientos a priori)
Aprendizaje: Cuando no slo recopila informacin,
sino que aprende de lo que percibe

Entorno de trabajo de los agentes (REAS)

Rendimiento metas
Entorno ambiente
Actuadores acciones
Sensores percepciones

REAS: Ejemplos

PROGRAMA PARA UN AGENTE


Es una funcin que, a partir de las percepciones del

agente, le permite realizar las acciones. El trabajo de la IA


es disear el programa del agente.
Se ejecuta en algn dispositivo de cmputo, el cual es
llamado arquitectura.

Tipos de Programas para Agentes


Agentes reactivos (reflejo) simple
Agentes reactivos basados en modelos (con estado interno)
Agentes basados en metas (u objetivos)
Agentes basados en utilidad

Agentes Reactivos Simples


Este tipo de agente no
contiene
internamente
estados y sus procesos o
acciones que realiza son
respuestas a la entrada de
percepciones. Ignoran las
percepciones histricas

Agentes Reactivos Simples


Un agente reflejo simple almacena asociaciones entrada/salida
frecuentes en forma de reglas condicin-accin (tambin reglas
situacin-accin o producciones).
Ejemplo: La asociacin:
si el coche de delante frena y sus luces
de freno se encienden, entonces el
agente taxista deber advertirlo y
empezar a frenar
Tambin se almacena de la forma:
si coche-delante-frena entonces empezar-a-frenar
Los humanos tenemos muchas de estas asociaciones:
reflejos innatos
respuestas aprendidas

Agentes reactivos basados en modelos


(con estado interno)
Este tipo de agente guarda
estados internos sobre la historia
percibida lo cual le sirve para
ejecutar una accin. Los
sensores no nos pueden informar
a la vez de todos los estados que
maneja nuestro ambiente, es por
este caso que el agente necesita
actualizar algo de informacin
en el estado interno.

Agentes reactivos basados en modelos (con


estado interno)
En ocasiones no es posible tomar una decisin a partir de una sola
percepcin porque los sensores no proporcionan toda la informacin.
Ejemplo:
si el coche de delante es un modelo antiguo
no se podra determinar si ha frenado a
partir de una nica imagen
Un agente reflejo con estado interno mantiene la informacin que
necesita
para distinguir entre estados diferentes del mundo
La percepcin actual se interpreta a partir del estado anterior
utilizando
informacin sobre:
cmo evoluciona el mundo independientemente del agente
cmo influyen en el mundo las acciones del agente

Agentes basados en metas


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

Agentes basados en metas


A veces no es posible tomar una decisin nicamente a
partir del estado actual del mundo.
Ejemplo.
Al llegar a un cruce el taxi puede realizar distintas acciones
Un agente basado en objetivos utiliza una descripcin de
las metas a alcanzar que le sirve para escoger entre las
distintas acciones posibles, por ejemplo el destino del
pasajero.

La toma de decisiones basada en objetivos la toma de


decisiones basada en reglas condicin-accin:
tiene en cuenta el estado en el futuro
es mas flexible
La bsqueda y la planificacin son dos subreas de la IA
dedicadas a la resolucin de problemas utilizando objetivos

Agentes Basados en Utilidad


Utiliza un modelo del mundo,
junto con una funcin de
utilidad que calcula sus
preferencias entre los estados
del mundo. Despus selecciona
la accin que le lleve a alcanzar
la mayor utilidad esperada,
entre todos los resultados
posibles

Agentes Basados en Utilidad


Los objetivos nicamente no bastan para asegurar un comportamiento Ideal.
Ejemplo.
Diferentes secuencias de acciones pueden llevar al destino que el pasajero
desea, pero algunas son mas rpidas, seguras o baratas que otras
Un agente basado en la utilidad utiliza un criterio para estimar el grado de
satisfaccin de un estado para el agente que le sirve para escoger entre distintas
acciones vlidas.
La utilidad es una funcin que asocia a un estado un nmero real, y debe
considerar situaciones problemticas, ejemplo, compromiso adecuado a adoptar
en caso de objetivos en conflicto.
La bsqueda en juegos es una subrea de la IA que utiliza funciones de utilidad
en la resolucin de problemas

Agentes Reactivos
Los agentes reactivos representan una categora especial
de agentes que no posee modelos simblicos internos de
su entorno. En su lugar, ellos actan/responden en una
manera estmulo/respuesta al presente estado del
ambiente en el cual se encuentran.

Agentes Reactivos
Los agentes reactivos se basan en tres ideas claves:
1. No existe una especificacin o plan a priori del comportamiento
del agente reactivo. La dinmica de la interaccin conduce a una
alta complejidad.
2. Descomposicin en tareas. Un agente reactivo es visto como una
coleccin de mdulos que operan en forma autnoma y son
responsables de tareas especficas (sensar, controlar el motor,
efectuar clculos, etc.). La comunicacin entre los mdulos es
mnima y de muy bajo nivel.
3. Tienden a operar sobre representaciones bien conocidas por los
sensores, en contraste a las representaciones simblicas de alto nivel
que abundan en otros tipos de agentes.

Ejemplo:
Un robot que se encuentra en un espacio bidimensional
dividido en cuadrculas
Este robot esta limitado por una frontera, dentro de la
cual hay tambin objetos inmviles (no existen caminos
cuyo ancho sea menor a dos cuadrculas)
El robot debe
comportamiento:

seguir

la

siguiente

pauta

de

-Ir a una celda fronteriza, o que limite con un objeto, y


seguir su permetro indefinidamente.
El robot debe ser capaz de percibir si una determinada
celda esta libre para ser ocupada o no, y para ello debe
llevar a cabo acciones

El robot puede percibir si las (8) celdas que lo rodean


estn libres o no. Estas ocho entradas sensoriales las
llamaremos:

s1, s2, s3, s4, s5, s6, s7,s8

Estas variables tendrn el valor


0 si estn vacas
1 si estn ocupadas

El robot puede moverse a una celda libre adyacente


que este en su misma fila o columna. Por tanto, existen
4 movimientos posibles:
Norte, mueve el robot hacia arriba
Este, mueve el robot hacia la derecha.
Sur, mueve el robot hacia abajo.
Oeste, mueve el robot hacia la izquierda.

Percepcin y Accin
Para realizar el diseo, lo comn seria dividir el clculo

de una accin, a partir de las seales sensoriales, en


dos fases distintas:
En la fase de procesamiento perceptual se genera un

vector de caractersticas x (x1 , xN ) y

En la fase de clculo de la accin se selecciona una

accin teniendo en cuenta dicho vector.


Los valores de este vector pueden ser nmeros reales o
bien categoras. Las caractersticas binarias constituyen
un caso especial ya que pueden ser consideradas como
caractersticas numricas (0 , 1) o categorizadas (V o F).

Percepcin

Las entradas sensoriales del robot estn representadas


por el valor de las variables: s1, s2,,s8, por lo cual
existen 256 combinaciones posibles de estos valores.
En nuestro entorno, por las restricciones que hemos
puesto hay muchas combinaciones que pueden ser
descartadas. Por tanto definiremos cuatro carctersticas
binarias definidas sobre las variables sensoriales: x1. x2.
x3, y x4 que resumirn los casos que se pueden presentar:
s2 s3 = 1

s4 s5 = 1

s6 s7 = 1

s8 s1 = 1

Accin

Dadas
las
cuatro
caractersticas
definidas
anteriormente, el siguiente paso es definir una funcin
que, de dichas caractersticas, nos proporcione la
accin adecuada para llevar a cabo la tarea del
seguimiento de los bordes.

-Si ninguna de las caractersticas toma el valor uno


(quiere decir que el robot percibe que todas las celdas
alrededor estn vacas), la accin pude ser moverse a
cualquier lugar. Tomaremos que se mueva al norte.
-Si al menos una caracterstica es 1, se aplicarn las
siguientes reglas:
Si x1=1 y x2=0, moverse al este
Si x2=1 y x3=0, moverse al sur
Si x3=1 y x4=0, moverse al oeste
Si x4=1 y x1=0, moverse al norte

Representacin e implementacin de las


funciones
lgebra booleana (utilizacin de conectivas: . + y

(conjuncin, disyuncin y negacin)


Sistemas de produccin (reglas de produccin:

c1 -> a1)
Redes (circuitos lgicos y funciones booleanas para

implementar una red de compuertas lgicas)

Esquema general de un Agente ResolventeProblemas


globales: Acciones, Estado, Objetivo, Problema
funcin Agente R-P(percepcin) retorna Acciones

estado <- ACT_ESTADO(percepcin)


objetivo <- FORM_OBJETIVO(estado)
problema <- FORM_PROBLEMA(estado,objetivo)
Acciones <- BUSQUEDA(problema)
retornar Acciones

Definicin formal del Problema:


-Estado Inicial (en el que comienza el agente)
-Posibles acciones disponibles por el agente. Se describen
mediante una funcin Sucesor
Sucesor(X) es un conjunto de pares <accin,Y>

-Espacio de estados: El estadio inicial y su Sucesor definen el


espacio de estados del problema (todos los estados alcanzables
desde el estado inicial). Se representa mediante un Grafo, en el
que los nodos son los estados y los arcos las acciones.
-Camino: Secuencia de estados conectados por una secuencia
de acciones

-Test Objetivo: Determina si un estado es Objetivo

Definicin formal del Problema: (cont)


-Costo del camino: Se asigna un costo numrico a cada
camino. El agente R-P elige una funcin costo que refleje una
medida de rendimiento. Por ejemplo, para el caso de las
ciudades podra ser la distancia en kilmetros.
Supondremos que el costo del camino se calcula sumando los
costos individuales de las acciones a lo largo del camino:
c( a, x, y ) Costo Individual de la accin a la cual
nos lleva del estado x al y.
-Solucin ptima: La solucin cuyo costo del camino es el
mnimo entre todas las posibles soluciones.

Oradea
Neamt

71

87

Zerind

75

151
Iasi

Arad
140
Sibiu

92

Fagaras

99
118

Vaslui

80
Rimnicu Vilcea

Timisoara

142

211
111

Lugoj

97

70

Pitesti

98

146

85

Mehadia

101

Urziceni

138

75

Hirsova

86
Bucharest

Dobreta

90
120

Craiova
Giurgiu

Eforie

El juego de las ocho fichas


(tablero de 3x3 y 8 fichas (1 al 8). Una celda vaca.

Estados: La descripcin de un estado especifica la ubicacin de cada una de las ocho


fichas en una de las nueve celdas. Tambin se incluye la posicin del espacio vaco.

Estado inicial: Cualquiera

Acciones: El espacio vaco puede moverse a la izquierda, a la derecha, arriba o abajo.

Test de Objetivo: El estado debe coincidir con la configuracin de la derecha (mostrada


en la figura)

Costo del camino: Cada paso cuesta 1, as que el costo de la ruta corresponde a la
longitud de la ruta.

Mundo de la Aspiradora
(Hay solo dos localizaciones. La aspiradora sabe
donde est y si hay suciedad no en ese lugar)
Estados: Agente est en una de las dos
localizaciones, cada una de las cuales puede estar
sucia no (en total 2 x 22 estados).
Estado inicial: Cualquiera
Acciones: Desplazarse a la izquierda, derecha y
aspirar.
Test de Objetivo: No hay suciedad en ninguna de las
celdas.
Costo del camino: Cada accin cuesta 1.

R
R

L
L
S

L
L

L
S

R
R

L
L

Cmo escoger los estados y las acciones?


Se requiere de un proceso de la eliminacin de
detalles de una representacin que se denomina
Abstraccin. Se debe abstraer tanto en la
descripcin del estado como en las acciones.
El verdadero arte de la solucin de problemas
consiste en saber decidir que es lo servir para
describir los estados y acciones y qu no.

Bsqueda de Soluciones:
Veremos algunas tcnicas que utilizan el rbol de bsqueda,
obtenido a partir del estado inicial y la funcin sucesor
-Nodo de Bsqueda (raz del rbol, estado inicial)

-Expandir: Proceso de aplicar la funcin sucesor


-Generar: Al expandir se generan nuevos estados
-Estrategia de bsqueda: El proceso de elegir cul ser el
siguiente estado a Expandir

Cada nodo del rbol de Bsqueda:


Es una estructura de datos que contiene:
-Estado (estado del espacio de estados que se corresponde con
el nodo)
-Nodo Padre (el nodo en el rbol que ha generado a ese nodo)
-Accin (la accin que se aplica al padre para generar el nodo)
-Costo del camino (el costo del camino desde el estado inicial
al nodo, denotado por g(n) )
-Profundidad (longitud del camino desde el estado inicial al
nodo)

Estrategias de bsquedas:

No informada o a ciegas.
Informadas o heursticas.

No Informadas a Ciegas: Significa que no se tiene


informacin adicional acerca de los estados. La nica
informacin es la que proporciona la formulacin del
problema. Slo generan sucesores y distinguen si han
llegado al objetivo no.
Informadas Heursticas: Estrategias en las que se sabe,
cuando un estado no es objetivo, si es mas prometedor que
otro.

Estrategias de Bsquedas No Informadas (A ciegas)

Bsqueda Primero en Anchura


Bsqueda de Costo Uniforme
Bsqueda Primero en Profundidad
Bsqueda Primero en Profundidad Limitada
Bsqueda Primero en Profundidad con profundidad iterativa
Bsqueda Bidireccional

Estrategias de Bsquedas Informadas (Heursticas):


Bsqueda Primero el Mejor

Bsqueda A*

Criterios para evaluar las estrategias:


Completitud
La estrategia garantiza encontrar una solucin, si es que
esta existe?
Complejidad en tiempo
Cunto tiempo se necesitara para encontrar una solucin?
Complejidad en espacio
Cunta memoria se necesita para efectuar la bsqueda?
Optimizacin
Con esta estrategia se encontrar una Solucin ptima?

Algoritmo General de Bsqueda


utilizando rboles
Utiliza el concepto de Frontera (Todos los nodos del
rbol que han sido generados, pero no expandidos.
Al comienzo, antes de aplicar por primera vez la
funcin Sucesor, la frontera contiene nicamente a la
raz del rbol
.

La estrategia de bsqueda consistir entonces en


determinar, de la frontera, cul ser el siguiente nodo
a expandir

Algoritmo General de Bsqueda


utilizando rboles (continuacin)
Utiliza una Lista, para representar la frontera.
-Operaciones sobre la Lista:
-Crear
-Vaca?
-Primero
-Eliminar Primero
-Insertar Uno
-Insertar Todos
-Utiliza una funcin Expandir que retorna todos los
nodos resultantes de expandir uno determinado

Algoritmo General
funcion Busqueda_Arbol(problema)
retorna Solucin
Crear(frontera)
frontera <- InsertarUno(frontera,
NodoInicial(ESTADOINICIAL(problema)))
repetir
si Vacia?(frontera) retornar Solucin Vaca
nodo <- EliminarPrimero(frontera)
si TEST_OBJETIVO(problema,nodo.Estado) es Verdadero
retornar SOLUCIN(nodo)
frontera<-InsertarTodos(frontera,Expandir(nodo, problema))

Funcin Expandir
funcion Expandir(nodo, problema) retorna Conjunto de Nodos
conjunto <- conjunto vaco
sucesores <- SUCESOR(problema,nodo.Estado)
para cada <accion,resultado> en sucesores hacer
n <- nuevo nodo
n.Estado <- resultado
n.Padre <- nodo
n.Accion <- accion
n.CostoCamino <- nodo.CostoCamino +
CostoIndividual(nodo.estado,accion,n.estado)
n.Profundidad <- n.Profundidad + 1
adicionar(n,conjunto)
retornar conjunto

Bsqueda Primero en Anchura


Es una estrategia de bsqueda sencilla. Se expande
primero el nodo raz, y luego todos los nodos sucesores
de ste; a continuacin todos los sucesores de stos
ltimos y as sucesivamente. En general, se expanden
todos los nodos de una misma profundidad, antes de
expandir cualquier nodo del prximo nivel.

Bsqueda Primero en Anchura (cont.)


Se puede implementar, mediante el Algoritmo General, considerando
la Lista, como una Cola (cuyas operaciones de Insercin y
Eliminacin funcionan en forma FIFO (primero en entrar, primero en
salir). De esta manera todos los nodos que se van generando a travs
de la expansin se van colocando al final de la Cola, garantizando
esto que los nodos de un mismo nivel profundidad se expandan
antes que los de un nivel ms bajo mayor profundidad.
Este tipo de bsqueda permitir siempre encontrar primero el estado
objetivo ms prximo.
Esta estrategia en general no es buena debido a la cantidad de tiempo
y
memoria
necesaria
para
realizar
una
bsqueda.

Bsqueda de Costo Uniforme


En lugar de expandir el nodo ms superficial, expande
aquel que tiene menor costo en su camino.
Mediante esta estrategia se puede encontrar la solucin
ms barata siempre y cuando se satisfaga un requisito
muy sencillo costo de la ruta nunca debe ir disminuyendo
conforme avanzamos por la ruta.
Notar que si todos los costos son iguales a 1, la estrategia
se comporta similar a la de Primero en Anchura.

Bsqueda de Costo Uniforme (cont)


Se puede implementar, mediante el Algoritmo General,
considerando la Lista como una Cola de Prioridad, cuyo
criterio para obtener el Primero (Eliminar) de la Cola sera
el de menor Costo.

Bsqueda Primero en Profundidad


Esta bsqueda se centra en expandir un nico camino desde la raz.
Siempre se expande el nodo ms profundo en la frontera actual.
En el caso de llegar a un callejn sin salida se retrocede hasta el
nodo ms cercano (siguiendo al nodo padre) donde se puede tomar
una rama alternativa para poder seguir avanzando.

Bsqueda

Primero

en

Profundidad

(cont)

Se puede implementar, mediante el Algoritmo General,


considerando la Lista, como una Pila (cuyas operaciones
funcionan en forma LIFO (ltimo en entrar, primero en salir). De
esta manera el siguiente nodo a expandir siempre ser el ltimo
que se haya colocado en la pila de ese nivel, garantizando esto
que la expansin vaya aumentando en la profundidad de los
nodos.
Es comn aplicar esta estrategia mediante una algoritmo
recursivo
que
recorra
el
rbol
en
Pre-Orden
Tiene modestos requisitos de memoria. Slo necesita almacenar
un camino, junto con los hermanos restantes no expandidos en
cada
nodo.

Bsqueda

de

Profundidad

Limitada

Similar a la estrategia de Primero en Profundidad,


pero se trata de eliminar el problema de que se
puedan general rboles ilimitados. Para ello
establece un lmite L a la profundidad del rbol.
Todo nodo cuya profundidad sea L, no es
expandido (se considera sin sucesores).
El problema que puede pasar es si escogemos un
valor de L menor que la profundidad del Objetivo,
en cuyo caso no llegaramos a la Solucin.

Bsqueda
Primero
Profundidad Iterativa.

en

Profundidad

con

Combina la estrategia de Primero en Profundidad con


la de Profundidad Limitada, comenzando con Lmite
igual a 0, aumentndolo de 1 en 1 hasta encontrar el
objetivo.
Combina las ventajas de las dos estrategias.

Bsqueda Bidireccional
La idea es ejecutar dos bsquedas simultneas: una
hacia delante, desde el estado inicial y otra hacia atrs,
desde el estado objetivo
La bsqueda termina cuando las dos bsquedas se
encuentren (las bsqueda deben comprobar, antes de
la expansin, si los nodos de sus fronteras coinciden)

Ejercicios:
Aplicar los Algoritmos de
Bsqueda Primero en Anchura
Bsqueda de Costo Uniforme
Bsqueda Primero en Profundidad
A los ejemplos de:
-La aspiradora, comenzando en el estado en que la aspiradora
est a la izquierda y ambas celdas estn sucias
-Ciudades, comenzado en Arab, para llegar a Bucarest

RESOLUCIN DE PROBLEMAS
MEDIANTE BSQUEDAS
BSQUEDA INFORMADA
(HEURSTICAS)

Bsquedas Informadas (Heursticas)


Utilizan conocimiento especfico del
problema, ms all de la definicin del
problema en s mismo
Pueden encontrar la solucin de manera
ms eficiente

Bsquedas Informadas
(Heursticas)
Bsqueda Primero El Mejor
- Bsqueda Voraz (Avara)
- Bsqueda A*

Bsqueda Primero el Mejor


-Caso particular del algoritmo general de
bsqueda en rboles en la cual se selecciona el
siguiente nodo a expandir en base a una
funcin de evaluacin f(n)
-La evaluacin mide la distancia al objetivo

-Se expande el nodo con la evaluacin ms


baja

Bsqueda Primero el Mejor (cont)


-Se implementa de manera similar al mtodo de Bsqueda con
Costo Uniforme, mediante una cola de prioridad
-La funcin de evaluacin nos brinda el nodo que parece ser el
mejor y por tanto el que se debe expandir
-Familia de algoritmos basados en una funcin heurstica h(n)

h(n) = costo estimado del camino ms barato desde el nodo n hasta


el Objetivo

Bsqueda Voraz (Avara) Primero el Mejor


-Expande el nodo ms cercano al Objetivo,
asumiendo que probablemente conduzca ms
rpidamente a la solucin.
-La funcin de evaluacin f(n) sera la funcin
heurstica h(n)

f(n) = h(n)
h(n) = costo estimado del camino ms barato desde el nodo n
hasta el Objetivo

Bsqueda Voraz (Avara) Primero el Mejor


-El trmino Voraz Avara es porque en cada
paso trata de ponerse tan cerca del objetivo
como pueda, seleccionando el nodo con menor
funcin de evaluacin f(n)
-No necesariamente brinda la solucin ptima
(ver ejemplo de las ciudades)
-Al igual que los otros mtodos estudiados es
necesario verificar los callejones sin salidas
(no exapandir estados repetidos)

Ejemplo. Objetivo: Estar en la ciudad Bucharest


Oradea
Neamt

71

87

Zerind

75

151
Iasi

Arad

140
Sibiu

92

Fagaras

99
118

Vaslui

80
Rimnicu Vilcea

Timisoara

142

211
111

Lugoj

97

70

Pitesti
98

146

85

Mehadia

101

Urziceni

138

75

Hirsova
86

Bucharest

Dobreta

90
120

Craiova
Giurgiu

Eforie

Consideraremos como funcin de evaluacin


(funcin heurstica):
Distancia en Lnea Recta
hDLR(n) = Distancia en Lnea Recta desde la
ciudad n hasta Bucharest

Solucin de Bsqueda Voraz (Primero el Mejor):


Arad Sibiu Fagaras Bucharest
Costo total: (140+99+211) = 450
Sin embargo:
Arad Sibiu Rimmicu Pitesti Bucharest
Costo total: (140+80+97+101) = 418

Bsqueda A* Primero el Mejor: Minimizar el


costo estimado total de la solucin:
-Evala los nodos combinando g(n) y h(n)
g(n): costo de haber alcanzado n

h(n): costo para llegar desde n hasta el objetivo


f(n) = g(n) + h(n) Costo ms barato estimado de la solucin a
travs de n
f(n) Combina el costo del camino para llegar a n y el costo
estimado para llegar desde n al objetivo.

- En cada paso se expande el nodo con el valor ms bajo de


f(n), sea, de g(n)+h(n)
- La bsqueda A* es ptima siempre y cuando la funcin
heurstica h(n) se una heurstica admisible.
-Significa que la funcin nunca sobreestime el costo de
alcanzar el objetivo
-Son funciones optimistas
-En el ejemplo hDLR es admisible ya que la distancia en lnea
recta entre dos puntos es el camino ms corto.

Otros Algoritmos:

Bsqueda A* con Profundidad Iterativa (A*PI):


Similar al algoritmo de profundidad iterativa, pero
utilizando f(n) (g+h) como criterio de corte en cada iteracin, en
lugar de la profundidad. El valor del corte es el costo f(n) ms
pequeo de cualquier nodo que haya excedido el corte de la
iteracin anterior.

Bsqueda recursiva del primero mejor (BRPM):


Similar al algoritmo de primero el mejor, pero en un espacio
lineal, sin almacenar todo el rbol, sino almacenando nicamente la
pista del mejor valor f alternativo disponible desde cualquier
antepasado del nodo actual. Si el nodo excede ese lmite se regresa
al camino alternativo.

Funciones Heursticas:
Ejemplo del juego de las 8 fichas:

h1: nmero de piezas mal colocadas. Es admisible dado que


toda pieza que est fuera de lugar, tiene que ser necesariamente
movida.

h2: suma de las distancias de las piezas a su posicin en el


objetivo (suma horizontal y vertical-Distancia Manhattan). Es
admisible porque cada movimiento de un pieza la acerca al
objetivo

Funciones Heursticas:
Ejemplo del juego de las 8 fichas:

h1: nmero de piezas mal colocadas.


=8

h2: suma de las distancias de las piezas a su posicin en el


objetivo
= 3 + 1 + 2 + 2 + 2 + 3 + 3 + 2 = 18

Ejercicio: Determinar una ruta desde A hasta I aplicando los


algoritmos:
a) Bsqueda Voraz Primero el Mejor

b) Bsqueda A*
111

114

E
47

105

50

131
125

C
75

88

147

Distancias en linea recta a I


A - 295
B - 280
C - 218
H
D - 147
E - 193
105
F - 148
G - 99
H - 105
99

Você também pode gostar