Anda di halaman 1dari 53

UTN - Universidad Tecnolgica Nacional

Facultad Regional Buenos Aires

Grupo de investigacin sobre Inteligencia Artificial

Mtodos de optimizacin, bsqueda y planificacin


Informe y comparacin sobre los diversos mtodos.

INDICE

1. INTRODUCCIN - pgina 2

2. METODOS DE BUSQUEDA NO INFORMADA - pgina 5


Diferentes tipos
Caractersticas y limitaciones
Ejemplos de aplicacin

3. METODOS DE BUSQUEDA INFORMADA - pgina 10


Mtodo del ascenso de colina
Limitacin de sucesores
Algoritmo Gentico
Data mining y Algoritmo gentico
Algoritmo A*

4. PROGRAMACION LINEAL - pgina 19

5. Problema del Viajante de comercio - pgina 21


TSP utilizando diversas metodologas de resolucin (No informada - Lineal - Algoritmo gentico -
Algoritmo A*).

6. ANEXO - SCHEDULING - pgina 27


Navegacin, misin y operacin de robots mviles.

CPM y RPWM.

Mtodos de bsqueda, optimizacin y planificacin en IA Pgina 1 de 53


1. Introduccin

Optimizar es encontrar la mejor forma de realizar una tarea. Esto normalmente involucra asignar
recursos limitados (pe. materias primas), para lograr un objetivo (pe. maximizar beneficios), en un
ambiente con limitaciones (pe. un presupuesto de gastos)

Utilizando un mtodo que se base en la fuerza bruta -construir un modelo en una hoja de clculo y
realizar cambios a mano para obtener la mejor solucin- solo puede funcionar con problemas muy
simples. Realizar el anlisis de esta forma, es una tarea larga y tediosa, y no garantiza la mejor
solucin.

Los problemas reales, necesitan del poder que pueden brindar los mtodos matemticos de
optimizacin. Estos mtodos estn automatizados en programas de computacin llamados "solvers".

Para usarlos, es necesario informar cual es la funcin objetivo, las restricciones a respetar y las
variables que se pueden controlar. El sistema encontrar automticamente la mejor solucin.

Estos sistemas tienen un campo de aplicacin muy amplio. No importa cual sea la lnea de trabajo; en
algn punto se encontrar con un problema de optimizacin. Puede ser la maximizacin de un valor
(pe. beneficios, market share, etc.) o minimizar otro (pe. costos, riesgos, etc. )

Las ltimas versiones de estos sistemas incluyen la resolucin de problemas lineales y no lineales.

Cul es la diferencia entre un problema lineal y no lineal?

Los problemas de optimizacin lineales pueden incluir la suma/resta de variables y su multiplicacin


por constantes, para luego tratarlas en conjunto.

Los problemas no lineales pueden adems tratar a variables que se multiplican entre s y operaciones
matemticas ms complejas (pe. Potenciacin), antes de tratarlas conjuntamente.

Mtodos de bsqueda y optimizacin en IA Pgina 2 de 53


Mtodos de bsqueda no informada

Estos mtodos no utilizan informacin heurstica ("Informacin peculiar de la exploracin que


posibilita reducir el costo de esta") acerca del dominio del problema. En Inteligencia Artificial, en
general, no interesan, porque expanden demasiados nodos antes de encontrar un camino.

Dos de sus tipos son:


Exploracin en profundidad.
Exploracin a lo ancho.
Mtodos de bsqueda no determinstica

Mtodos de bsqueda informada

Algoritmos Genticos
Los Algoritmos Genticos son algoritmos matemticos de optimizacin de propsito general basados
en mecanismos naturales de seleccin y gentica, proporcionando excelentes soluciones en problemas
complejos con gran nmero de parmetros.

Permite obtener soluciones a un problema que no tiene ningn mtodo de resolucin descrito de forma
precisa, o cuya solucin exacta, si es conocida, es demasiado complicada para ser calculada en un
tiempo aceptable. Es el caso particular de cuando se encuentran restricciones mltiples y complejas e
incluso contradictorias que deben ser satisfechas simultneamente como por ejemplo para formar
equipos de trabajo, planificar rondas de entregas, implantar puntos de venta de manera ptima,
construir modelos estadsticos.

Algunas caractersticas de los Algoritmos Genticos:

1. Se usan parmetros codificados como una cadena de longitud finita sobre un alfabeto finito.
2. Son algoritmos de funcionamiento paralelo.
3. Usan operadores probabilsticos.
4. Se afectan menos por los mximos locales.
5. Estn menos restringidos por continuidad, derivadas y unimodalidad.

Bsqueda de ramificacin y cota

Es un mtodo que permite encontrar trayectorias ptimas con el menos trabajo.


Consiste en seleccionar, de un grupo de trayectorias parciales la mas corta para extenderla un nivel,
crendose tantas trayectorias parciales nuevas como ramas existan. Este proceso se repite hasta llegar
a la meta a travs de una trayectoria.
Dado que la trayectoria ms corta es la que siempre se escoge para su extensin, la que primero
encuentra la meta es probable que sea la ptima.

Mtodos de bsqueda, optimizacin y planificacin en IA Pgina 3 de 53


Procedimiento A*
El procedimiento A* es una bsqueda de ramificacin y cota con una estimacin de la distancia
restante, en combinacin con el principio de programacin dinmica. Este mtodo es eficaz cuando
existe una buena subestimacin de la distancia que resta desde el nodo a la meta, y cuando muchas
trayectorias convergen en el mismo lugar.

Programacin lineal

Un programa lineal es aquel en el cual la funcin objetivo es lineal y las restricciones estn dadas por un
conjunto de ecuaciones e inecuaciones tambin lineales.

El hecho de que la funcin objetivo del problema sea lineal y el espacio de soluciones factibles sea
interseccin de hiperplanos y semiespacios, implica, entre otras cosas, que todo programa lineal es
convexo, por lo que se cumple que:

Todo ptimo es global.


Las condiciones necesarias de primer orden (condiciones de Lagrange o Kuhn-Tucker) son
adems suficientes.
Los programas lineales no son estrictamente convexos, por lo tanto no se tiene garantizada la
unicidad de solucin. Sin embargo, si existen dos soluciones distintas, tambin es solucin
cualquier combinacin lineal convexa de ellas.
Desde un punto de vista prctico, algunas de las ventajas de los programas lineales con respecto a
los no lineales son las siguientes:
Resultan ms fciles de definir y formular.
Permiten trabajar de manera eficiente con mayor nmero de variables de decisin.
Se adaptan mejor al tratamiento algortmico con computadores, aprovechando la rapidez de
clculo de stos.

Scheduling (planificacin).

La planificacin de un proyecto es establecer un plan de accin y marcos de tiempos para llevarlo a cabo.

Para la planificacin de proyectos un mtodo muy usado es dibujar un diagrama de red para las
actividades a realizar y obtener utilizando el CPM (mtodo del camino crtico) el camino crtico de
dicho proyecto.

El mtodo llamado RPWM (ranked positional weight method) es utilizado en lneas de ensamblaje. Y
ha demostrado un mejor desempeo que otros mtodos como el CPM.

Mtodos de bsqueda y optimizacin en IA Pgina 4 de 53


2. Bsqueda no informada

Todo mtodo no informado carece de material heurstico, y para ordenar sus nodos utiliza algn
criterio arbitrario.
Son mtodos de bsqueda exhaustiva, y para encontrar un camino hasta el nodo objetivo establecen
una bsqueda en algn orden prefijado, sin importar si la bsqueda se encuentra bien orientada.
Tanto el grado de eficiencia de estos algoritmos, como su costo (en clculos y memoria necesaria)
tienen relacin directa con el grado de complejidad del problema. Por ello estos mtodos son
inaplicables para problemas en que el nmero de posibles soluciones crece exponencialmente.

Estrategias retroactivas

Estas estrategias son utilizadas para problemas que requieren una bsqueda pequea. Son, normalmente, las
ms sencillas de implementar y requieren menos almacenamiento de informacin.

La manera de operar de estas estrategias se basa en un procedimiento recursivo llamado Backtrack.


Este procedimiento, toma como argumento inicial la base de datos global del sistema. A esta base se le
aplican reglas que generan otra base que a su vez es pasada nuevamente como parmetro, y as
sucesivamente hasta que se llega a la base de datos que cumple con la condicin de xito. Cuando se
termina con xito, el algoritmo devuelve una lista de reglas que, aplicadas a la base de datos inicial da
como resultado la que se buscaba. Si el procedimiento se detiene sin haber encontrado la lista de
reglas, devuelve Fallo.

El procedimiento Backtrack puede no terminar nunca, es decir, puede generar nuevas bases no
terminales indefinidamente o puede meterse en un ciclo. Esto puede subsanarse imponiendo un lmite
de profundidad a la recurrencia, y manteniendo una lista de las bases de datos producidas hasta el
momento y comprobando que las nuevas no coincidan con alguna de las de esa lista (aunque es un
poco impracticable por la cantidad de memoria que se necesita). Si se quiere agregar alguna heurstica
a este algoritmo, se podra hacer ordenando las reglas de la ms apropiada a la menos, para evitar
vueltas atrs excesivas, ya que, por definicin, si se coloca siempre una regla correcta en el primer
lugar en la ordenacin, no habr que realizar ninguna vuelta atrs.

Este control retroactivo implica olvidar todas las bases de datos de los caminos que conducen a fallos.
El algoritmo recuerda slo las bases de datos del camino que va hacia atrs desde el punto alcanzado
hasta el inicial.

Estrategias de Exploracin en grafos

Un grafo es un conjunto (no necesariamente finito) de nodos. Ciertos pares de nodos estn conectados
por arcos, y estos arcos estn dirigidos desde un miembro del par a otro. Para nuestro caso de estudio,
los nodos representarn bases de datos y los arcos a las reglas que se aplican a ellas. Algunas veces, se
le asociar un costo a cada arco, que representara el costo de aplicar esa regla a la base de datos
correspondiente. Si un arco est dirigido desde un nodo A a otro B, se dice que B es un sucesor de A y
que A es un antecesor de B. Puede ocurrir que los nodos de un par sean cada uno sucesor del otro; en
este caso, el par de arcos dirigidos que los enlazan puede reemplazarse por una arista.

Mtodos de bsqueda, optimizacin y planificacin en IA Pgina 5 de 53


Se puede especificar un grafo explcita o implcitamente. En una especificacin explcita, se dan en
una tabla, los nodos y los arcos (con sus costos asociados). La especificacin implcita, en cambio,
viene dada por el nodo de partida, s y las reglas que alteran las bases de datos. Se define operador de
sucesin al que aplicado a un nodo da como resultado todos sus sucesores (y los costos de los arcos
asociados). Al proceso de aplicar a un nodo el operador de sucesin lo llamaremos expansin o
ramificacin del nodo.

Una estrategia de control de exploracin de grafos puede, debido a todo lo anterior dicho, considerarse
como un proceso para hacer explcita una porcin de un grafo implcito, suficiente para que incluya un
nodo objetivo. Es decir, que se puede pensar a una estrategia de control de exploracin de grafos como
un medio de encontrar un camino en un grafo que vaya desde un nodo que representa la base de datos
inicial a otro que represente una base de datos que satisfaga la condicin de terminacin del sistema de
produccin.

Uno de los procedimientos existentes para encontrar la trayectoria ms corta en una red consiste en
encontrar todas las trayectorias posibles y seleccionar la mejor de ellas. Si la amplitud y profundidad
del rbol son pequeas, no hay ningn problema, pero si el rbol tiene medidas considerables, el
mecanismo se hace impracticable, por lo que a continuacin desarrollaremos otras tcnicas ms
efectivas.
Procedimientos de exploracin de grafos sin informacin

Estos mtodos son exhaustivos para encontrar caminos hasta un nodo objetivo. Ellos proporcionan una
solucin para el problema de encontrar caminos, pero suelen ser impracticables para su uso en la IA, porque el
sistema expande demasiados nodos antes de encontrar un camino. Sin embargo, detallaremos los ms comunes
slo para dar una idea de su existencia.

Exploracin en profundidad

Este mtodo se basa tomar uno de los hijos en cada nodo que se visita y avanzar a partir de ese hijo, de
esa manera, se recorre el rbol desde los nodos ms profundos hasta los menos. En previsin de que se
pueda caminar indefinidamente a lo largo de un camino infructuoso, se impone un lmite de
profundidad, por esto, los nodos con profundidad mayor que ese lmite en el rbol no se generan
nunca. El algoritmo puede terminar cuando se genere algn nodo objetivo.

El proceso de exploracin en profundidad progresa a lo largo de un camino hasta que alcanza el lmite
de profundidad y entonces comienza a considerar caminos alternativos de la misma o menor
profundidad, que difieran slo en el ltimo paso, despus los que difieren en los dos ltimos, etc.

Este mtodo resulta bueno cuando se sabe que todos los caminos llegan a callejones sin salida o al
objetivo despus de un nmero razonable de pasos. En cambio, cuando las trayectorias son muy largas
y no llegan a callejones sin salida ni al objetivo, resulta impracticable.

Exploracin a lo ancho

La expansin de los nodos en el rbol de exploracin se va realizando a lo largo de contornos de igual


profundidad. La exploracin a lo ancho garantiza el hallazgo de un camino de mnima longitud hasta
un nodo objetivo siempre que exista. La bsqueda en amplitud revisa todas las trayectorias de una
longitud dada antes de avanzar a una trayectoria ms larga.

Este mtodo funciona aun con rboles infinitamente profundos, pero constituye un desperdicio cuando
todas las trayectorias conducen a la meta aproximadamente a la misma profundidad. Adems, tampoco
es una buena idea si el factor de expansin es grande debido a la expansin exponencial de la que ya se
ha hablado. En cambio, cuando el factor de ramificacin es pequeo, es una tcnica muy
recomendable.

Mtodos de bsqueda y optimizacin en IA Pgina 6 de 53


/*Algoritmo de Bsqueda en Profundidad y a lo ancho (DeepFirst */ /*WideFist*/

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

typedef struct nodo {


int dato;
struct nodo *izq;
struct nodo *der;
}NODO;

typedef struct ncola{


NODO puntero;
struct ncola *sig;
}NCOLA;
typedef NCOLA* PNCOLA;

NODO* bcamino (NODO* raiz, int a,int*);


NODO* deepfirst (NODO*,int,int);
int widefirst (NODO*,int,int);
NODO* buscar (NODO* raiz, int a);
NCOLA* crear_cola(void);
NCOLA* insertar_cola(NODO a, NCOLA*);
NODO* sacar_cola(NCOLA* cola);

NCOLA* crear_cola(void)
{
return(NULL);}

NCOLA* insertar_cola(NODO a, NCOLA* pri)


{
NCOLA* aux;
NCOLA* cola;
cola=pri;
aux=crear_nodo(a,aux);
if (!cola)
{
cola=aux;
return(cola);
}
while (cola->sig) cola=cola->sig;
cola->sig=aux;
return(pri);}

NODO* sacar_cola(PNCOLA* cola)


{
PNCOLA aux;
if (!cola) return (NULL);
aux=*cola;
(*cola)=(*cola)->sig;
return(&aux->puntero);}

int widefirst(NODO* raiz,int a,int b){


NCOLA* cola;
int c=0;
raiz=buscar(raiz,a);
cola=crear_cola();
while (raiz)
{

if (raiz->izq || raiz->der){

Mtodos de bsqueda, optimizacin y planificacin en IA Pgina 7 de 53


if(raiz->izq->dato==b || raiz->der->dato==b) { c++;return(c);}
else
{ cola=insertar_cola(*(raiz->izq),cola);
cola=insertar_cola(*(raiz->der),cola);
} }
raiz=sacar_cola(&cola); }
return(c); }

NODO* buscar (NODO* raiz, int a){


if (raiz && raiz->dato != a)
{
if (a < raiz->dato) return (buscar(raiz->izq,a));
else return(buscar(raiz->der,a));
}
if (raiz->dato==a) return (raiz);}

NODO* bcamino (NODO* raiz, int a,int* c)


{
if (raiz->izq)
{
if (raiz->izq->dato==a) {(*c)++;
return (raiz);}
if (bcamino(raiz->izq,a,c)) (*c)++;
}
if (raiz->der)
{
if (raiz->der->dato==a) {(*c)++;
return (raiz);}
if(bcamino(raiz->der,a,c)) (*c)++;
}
return(NULL);}

NODO* deepfirst (NODO* raiz,int a, int b){


NODO* aux;
NODO* aux2;
int c;
while (raiz && raiz->dato != a)
{
aux=raiz;
if (raiz->dato < a) raiz=raiz->der;
else raiz=raiz->izq;
}
if (!raiz) return (NULL);
c=0;
bcamino(raiz,b,&c);
printf("LA CANTIDAD DE NODOS ENTRE %d Y %d ES %d",a,b,c);
getche();
return (raiz);}

Bsqueda no determinista

Cuando se tiene tan poca informacin del problema que no se puede decir si el factor de
ramificacin ser grande o si las trayectorias sern largas, lo ms deseable es buscar un trmino medio
entre la bsqueda en profundidad y la bsqueda en amplitud. Este trmino medio se denomina
bsqueda no determinista, en la cual, los nodos que se expanden, son escogidos al azar, de manera de
evitar la posibilidad de revisar infinitas ramas o niveles.

Mtodos de bsqueda y optimizacin en IA Pgina 8 de 53


3.Bsqueda informada
Exploracin heurstica en grafos

Debido a que siempre hay lmites prcticos en las cantidades de tiempo y memoria disponibles para la
exploracin, a continuacin detallaremos alternativas ms eficientes que las antes expuestas.

La posibilidad de agregarle algn tipo de heurstica al procedimiento, hace posible, en la mayora de los casos,
una considerable baja en el costo de exploracin, de sta manera, se puede mejorar en gran medida la eficiencia
de la bsqueda. Una forma de aplicar esta heurstica, es usando un mtodo para calcular cuan prometedor es
cada nodo (de manera que los nodos ms prometedores se exploren primero), por ejemplo, con una funcin de
valores reales definida sobre los nodos que se llama funcin de evaluacin, donde f(n) ser el valor de la
funcin en el nodo n.

La eleccin de la funcin de evaluacin determina crticamente los resultados de la exploracin. El uso de una
funcin de evaluacin que falla al reconocer el carcter verdaderamente prometedor de algunos nodos, puede
conducir a caminos de costo no mnimo, por el contrario, el uso de una funcin que sobrestima lo prometedor
de todos los nodos da lugar a la expansin de demasiados nodos.

Mtodo del ascenso de colina

Se procede como en el caso de bsqueda en profundidad, excepto que se ordenan las selecciones de acuerdo
con alguna medicin heurstica sobre la competitividad de cada nodo. Algunas veces, agregarle heurstica a un
algoritmo reduce el tiempo de bsqueda permitiendo replantear un problema en trminos de una red ms
pequea y fcil de explorar.
El ascenso de la colina genera problemas que afloran cuando el algoritmo se usa para optimizar parmetros
ajustables, donde se tiene una cantidad medida que indica la calidad o desempeo asociado con cualquier
disposicin particular de los parmetros ajustables.
Para efectuar un ascenso de colina orientado a parmetros, se realiza un ajuste de un paso, hacia arriba y hacia
abajo, a cada valor del parmetro, luego se mueve hacia la mejor de las alternativas resultantes de acuerdo con
la medida apropiada de calidad o desempeo, y, por ltimo, repite el proceso hasta que encuentra una
combinacin de valores de parmetros que produce una mejor calidad o desempeo que todas las alternativas
cercanas.
Los problemas que surgen con este mtodo son:

El problema de la falda de colina: Sucede cuando hay picos secundarios, es decir, se encuentra un punto ptimo, pero
ste puede ser un mximo local y no uno global, lo que puede llevar a que el algoritmo no encuentre la solucin
objetivo. Una forma de solucionar este problema puede ser realizar una bsqueda no determinista cada vez que se
encuentre un mximo local.

El problema de la meseta: Se presenta cuando hay un rea casi plana que separa picos. En ste caso, para todas las
posiciones (o casi todas) las pruebas de paso normal dejan intacta la medicin de calidad.

El problema del reborde: En este caso, cada paso normal lleva hacia abajo, aun cuando no hay ningn mximo local o
global. Esto puede solucionarse aumentando el nmero de direcciones que se utilizan en los pasos de prueba.
Bsqueda en haz

Este mtodo es parecido a la bsqueda en amplitud, ya que avanza nivel a nivel, pero se mueve hacia abajo
slo a travs de los mejores nodos de cada nivel (los otros nodos son ignorados). De esta manera, el nmero
de nodos explorados se mantiene pequeo, an cuando haya una gran cantidad de ramificaciones y el rbol
sea muy profundo.
Esta bsqueda es buena cuando se tiene una medida natural de la distancia a la meta, y es probable que una
buena trayectoria se encuentre entre los caminos parciales que parecen ser buenos en todos los niveles.

Mtodos de bsqueda, optimizacin y planificacin en IA Pgina 9 de 53


Bsqueda primero el mejor

El movimiento se realiza siempre a partir del mejor nodo sin expandir que se tiene hasta ese punto, sin
importar donde est ese nodo en el rbol.
Es probable que los caminos encontrados por sta bsqueda sean ms cortos que los hallado con otros
mtodos, ya que siempre avanza desde el nodo que parece estar ms cercano al nodo meta. Esto depende del
conocimiento que se tenga del problema.
La bsqueda primero el mejor es buena cuando existe una medida de la distancia a la meta, y una buena
trayectoria parcial puede parecer una mala opcin antes de que trayectorias parciales ms prometedoras se
hayan explorado.

Exploracin bidireccional

En este algoritmo, la exploracin se realiza simultneamente partiendo a la vez del nodo inicial y de un
conjunto de nodos objetivos. El proceso termina cuando las dos fronteras de exploracin se encuentran en
forma apropiada. Los procesos de exploracin bidireccional a lo ancho son ms ventajosas que las
unidireccionales puesto que se expanden muchos menos nodos. Sin embargo, cuando se comparan
exploraciones heursticas bidireccionales, la situacin es ms compleja, ya que si las funciones heursticas
usadas son ligeramente inseguras, las fronteras de exploracin pueden sobrepasarse una a otra sin concordar
nunca. En ese caso el proceso de exploracin puede dar lugar a la expansin del doble nmero de nodos que
unos de exploracin unidireccional.

Exploracin por etapas

Cuando el grafo es tan grande, que se agota la memoria disponible, puede ser deseable podar el grafo para
liberar el espacio de almacenamiento que se necesite para proseguir la exploracin. El proceso puede
continuar en etapas, separadas por operaciones de poda para liberar espacio. Al final de cada etapa, los
nodos con mejores funciones heursticas se marcan, y el resto del grafo se destruye. La exploracin se
reanuda con esos nodos escogidos. El proceso contina hasta que se encuentra un nodo objetivo o se agotan
los recursos nuevamente.

Limitacin de sucesores

Una tcnica para ahorrar esfuerzos consiste en considerar, despus de la expansin de un nodo slo los
sucesores con mejor valor heurstico. El problema es que en alguno de los nodos ignorados podra estar
el camino hasta el objetivo, por los que hay que descartar los nodos con mucho cuidado. Para poder
determinar que nodos podar, hay que tener un gran conocimiento sobre el dominio del problema.

Hay algunos problemas de exploracin en los que se pueden enumerar los sucesores de un nodo y
calcular sus valores de heurstica sin hallar explcitamente las correspondientes bases de datos, de esta
manera, el proceso no llega a calcular las bases de datos de los sucesores no expandidos por el
algoritmo.

Una forma relativamente ptima de utilizar este mtodo se basa en que siempre se mantiene un registro
de todas las trayectorias parciales que compiten para su consideracin posterior. La ms corta de ellas
se extiende un nivel, crendose tantas trayectorias nuevas como ramas existan. Luego se consideran las
nuevas trayectorias junto con las anteriores restantes, y se extiende la ms corta. Para asegurar que la
primera trayectoria encontrada sea la ms corta, hay que extender todas las trayectorias parciales hasta
que tengan una longitud igual o mayor que la trayectoria completa ms corta.
Una forma de mejorar este mtodo consiste en utilizar una funcin heurstica que represente una
estimacin de la distancia restante desde ese nodo hasta el objetivo, de manera que, cuando se llega a
que una trayectoria completa es ms corta que todas las estimaciones restantes, se encuentra el camino
ptimo.
Puede mejorarse an ms, si adems de una conjetura acerca de las distancias restantes, se utiliza una

Mtodos de bsqueda y optimizacin en IA Pgina 10 de 53


funcin sobre la distancia real ya recorrida. Lo malo es que las conjeturas no son perfectas, y una mala
sobrestimacin en algn lugar de la verdadera trayectoria ptima puede ocasionar que una desviacin
de tal trayectoria. Sin embargo, una subestimacin no puede hacer que la trayectoria correcta pase por
alto.

Adems, si se encuentra una trayectoria total no se necesitar seguir adelante una vez que todos los
clculos de distancias parciales sean mayores que la mejor distancia de trayectoria completa encontrada
hasta ese punto, debido a que la distancia real no puede ser menor que una subestimacin de esa
distancia.
Principio de programacin dinmica

El mejor camino a travs de un lugar intermedio especfico es el mejor camino hacia este desde el
lugar de inicio, seguido del mejor camino desde este a la meta. No hay necesidad de buscar
cualesquiera otras trayectorias hacia, o desde el punto intermedio.

Algoritmo Gentico

El Algoritmo Gentico Simple

Requiere una funcin de ajuste adaptacin al problema, la cual asigna un nmero real a cada posible
solucin codificada. Durante la ejecucin del algoritmo, los padres deben ser seleccionados para la
reproduccin, a continuacin dichos padres seleccionados se cruzarn generando dos hijos, sobre cada
uno de los cuales actuar un operador de mutacin. El resultado de la combinacin de las anteriores
funciones ser un conjunto de individuos (posibles soluciones al problema), los cuales en la evolucin
del Algoritmo Gentico formarn parte de la siguiente poblacin.

Mtodos de bsqueda, optimizacin y planificacin en IA Pgina 11 de 53


Los algoritmos genticos conforman un paradigma de bsqueda probabilstica, inspirada en la
teora de la evolucin de Darwin. Una poblacin de individuos, cada uno representando una
posible solucin a un problema, es creada inicialmente al azar.
Entonces se combinan las parejas de individuos (soluciones) para producir otro individuo (prole) para la
prxima generacin. Un proceso de mutacin, tambin generada al azar, modifica la estructura gentica de
algunos miembros de cada nueva generacin. En cada ciclo, las bondades de los individuos son evaluadas
con respecto al objetivo buscado y el sistema se vuelve a ejecutar para docenas o cientos de generaciones.

Dado que la probabilidad que un individuo se reproduzca es proporcional a la bondad de la solucin que
representa, la calidad de las soluciones mejora automticamente en las generaciones sucesivas. El proceso
se termina cuando una solucin es aceptable o se determina el ptimo para la funcin.

El objetivo principal es el de evolucionar a partir de una poblacin de soluciones para un determinado


problema, intentando producir nuevas generaciones de soluciones que sean mejores que la anterior. Estos
algoritmos operan en un ciclo simple: Creacin de la poblacin inicial, seleccin y reproduccin, ste
ltimo implicando una recombinacin y mutacin del material gentico de las soluciones.

La reproduccin, en este algoritmo, se describe a travs de tres operadores genticos:


reproduccin, cruza y mutacin.

Reproduccin. - Las cadenas con valores ms altos tienen probabilidades ms altas de contribuir con uno o
ms sucesores en la siguiente generacin. Este operador es una versin artificial de la seleccin natural de
Darwin. En las poblaciones naturales la aptitud esta determinada por la habilidad de organismo de sobrevivir
y de llegar a la madurez y su subsecuente reproduccin. En el sistema artificial, la funcin objetivo es l
arbitro final en la vida o muerte de una cadena dada.

Cruza.- Una vez que se ha realizado la reproduccin, se procede a la reproduccin sexual o cruza de los
individuos seleccionados. La poblacin nueva intercambia material cromosmico y sus descendientes forman
la siguiente generacin.

Mutacin.- Cuando un sistema se ha detenido en una estructura gentica que se sospecha no es la ptima, o
cuando el sistema se ha viciado con diversas cadenas muy parecidas, es necesario infiltrar mutaciones que
reanimen el sistema. La mutacin no permite la estabilizacin de poblaciones en soluciones locales.

Tamao de la poblacin

Una cuestin que uno puede plantearse es la relacionada con el tamao idneo de la poblacin. Parece intuitivo
que las poblaciones pequeas corren el riesgo de no cubrir adecuadamente el espacio de bsqueda, mientras
que el trabajar con poblaciones de gran tamao puede acarrear problemas relacionados con el excesivo costo
computacional.

Poblacin inicial

Habitualmente la poblacin inicial se escoge generando ristras al azar, pudiendo contener cada gen uno de los
posibles valores del alfabeto con probabilidad uniforme. Nos podramos preguntar que es lo que sucedera si
los individuos de la poblacin inicial se obtuviesen como resultado de alguna tcnica heurstica o de
optimizacin local. En los pocos trabajos que existen sobre este aspecto, se constata que esta inicializacin no
aleatoria de la poblacin inicial, puede acelerar la convergencia del Algoritmo Gentico. Sin embargo en
algunos casos la desventaja resulta ser la prematura convergencia del algoritmo, queriendo indicar con esto
la convergencia hacia ptimos locales.

Mtodos de bsqueda y optimizacin en IA Pgina 12 de 53


Funcin objetivo
Dos aspectos que resultan cruciales en el comportamiento de los Algoritmos Genticos son la determinacin de
una adecuada funcin de adaptacin o funcin objetivo, as como la codificacin utilizada.
Idealmente nos interesara construir funciones objetivo con ciertas regularidades, es decir funciones objetivo
que verifiquen que para dos individuos que se encuentren cercanos en el espacio de bsqueda, sus respectivos
valores en las funciones objetivo sean similares. Por otra parte una dificultad en el comportamiento del
Algoritmo Gentico puede ser la existencia de gran cantidad de ptimos locales, as como el hecho de que el
ptimo global se encuentre muy aislado.
La regla, general para construir una buena funcin objetivo es que sta debe reflejar el valor del individuo de
una manera real, pero en muchos problemas de optimizacin combinatoria, donde existen gran cantidad de
restricciones, buena parte de los puntos del espacio de bsqueda representan individuos no vlidos.
Para este planteamiento en el que los individuos estn sometidos a restricciones, se han propuesto varias
soluciones. La primera sera la que podramos denominar absolutista, en la que 'aquellos individuos que no
verifican las restricciones, no son considerados como tales, y se siguen efectuando cruces y mutaciones hasta
obtener individuos vlidos, o bien, a dichos individuos se les asigna una funcin objetivo igual a cero.

Otra posibilidad consiste en reconstruir aquellos individuos que no verifican las restricciones. Dicha
reconstruccin suele llevarse a cabo por medio de un nuevo operador que se acostumbra a denominar
reparador.
Otro enfoque est basado en la penalizacin de la funcin objetivo. La idea general consiste en dividir la
funcin objetivo del individuo por una cantidad (la penalizacin) que guarda relacin con las restricciones que
dicho individuo viola. Dicha cantidad puede simplemente tener en cuenta el nmero de restricciones violadas
bien el denominado costo esperado de reconstruccin, es decir el coste asociado a la conversin de dicho
individuo en otro que no viole ninguna restriccin.

Otra tcnica que se ha venido utilizando en el caso en que la computacin de la funcin objetivo sea muy
compleja es la denominada evaluacin aproximada de la funcin objetivo. En algunos casos la obtencin de n
funciones objetivo aproximadas puede resultar mejor que la evaluacin exacta de una nica funcin objetivo
(supuesto el caso de que la evaluacin aproximada resulta como mnimo n veces ms rpida que la, evaluacin
exacta).
Por qu esta tcnica es interesante?
El AG necesita un gran poder de clculo pero a la vez posee la inmensa ventaja de proporcionar soluciones no
muy lejos de lo ptimo. No exige ningn conocimiento acerca de la manera ms idnea de resolver el
problema; slo es necesario la capacidad de evaluar la calidad de una solucin. Tambin es muy ligero para
ponerlo en prctica (el "motor es comn, no hay mucha programacin especfica que hacer).

Tabla de comparacin.

Enfoque ad hoc (analtico especfico) Enfoque


gentico
Rapidez Segn la solucin, por lo general grande Dbil o media
Performance Segn la solucin Media a alta
Comprensin Necesaria No necesaria
del problema
Trabajo del De algunos minutos a algunas tesis Algunas horas
hombre
Aplicabilidad Dbil : La mayora de los problemas interesantes General
no son explotables desde el punto de vista de su
expresin matemtica, o son no calculables o NP-
Completos (demasiadas posibilidades)
Etapas No son soluciones (hay que esperar a terminar los Son soluciones, el
intermediarias clculos) proceso puede ser
retomado en
cualquier
momento.

Mtodos de bsqueda, optimizacin y planificacin en IA Pgina 13 de 53


Algoritmo gentico y data mining

Las tcnicas de anlisis estadstico, desarrolladas hace tiempo, permiten obtener ciertas
informaciones tiles, pero no inducir relaciones cualitativas generales, o leyes, previamente
desconocidas; para esto se requieren tcnicas de anlisis inteligente.

Cada vez ms investigaciones dentro de la inteligencia artificial estn enfocadas a la induccin


de conocimiento en bases de datos. Consecuencia de esta creciente necesidad ha aparecido un
nuevo campo de inters: la minera de datos (data mining), que incluye los nuevos mtodos
matemticos y tcnicas software para anlisis inteligente de datos. La minera de datos surge a
partir de sistemas de aprendizaje inductivo en ordenadores, al ser aplicados a bases de datos, y
su importancia crece de tal forma que incluso es posible que, en el futuro, los sistemas de
aprendizaje se usen de forma masiva como herramientas para analizar datos a gran escala.

e denomina descubrimiento de conocimiento en bases de datos (KDD) al proceso global de


bsqueda de nuevo conocimiento a partir de los datos de una base de datos. Este proceso
incluye no slo el anlisis inteligente de los datos con tcnicas de minera de datos, sino
tambin los pasos previos, como el filtrado y preprocesado de los datos, y los posteriores,
como la interpretacin y validacin del conocimiento extrado.

Esta figura grafica el


proceso de KDD.

En la minera de datos se utilizan diversos mtodos para representar la informacin, como


pueden ser:
Lgica de las proposiciones extendidas.
rboles de decisin.
Reglas de produccin.
Listas de decisin.
Lgica basada en predicados de primer orden.
Representacin estructurada.
Redes neuronales.
Marcos.
Redes semnticas.
Algoritmos Genticos.

Tambin es posible hacer evolucionar los datos por algoritmo gentico ("induccin").
El mecanismo de estimulacin de lo ms apto permite entonces la aparicin del previsor
que reordenar los datos lo mejor posible.

Mtodos de bsqueda y optimizacin en IA Pgina 14 de 53


Algoritmo A*

Se define una funcin de evaluacin f tal que su valor f(n) en cualquier nodo n es una
estimacin de la suma del costo mnimo del camino desde el inicio al nodo n y desde el nodo n
al nodo meta. Sea K (ni, nj) la funcin que da el costo real de un camino de mnimo costo entre
dos nodos cualquiera ni, nj, y sea h*(n) el mnimo de todos los costos K desde n hasta un nodo
meta. De esta manera, cualquier camino entre n y un nodo objetivo que alcance el costo mnimo
h*(n) es un camino ptimo desde n al objetivo.

Normalmente, encontrar un camino ptimo es lo mismo que encontrar un camino de costo


mnimo. Para realizar sto con A*, se introducir una nueva funcin g*(n)=K(s,n), donde, g*(n)
representa el costo real desde el nodo inicio al nodo n. Adems, se debe definir una funcin
f*(n) que representa el costo real de un camino ptimo desde el nodo inicio al nodo n ms el
costo de un camino ptimo desde el nodo n a un nodo objetivo.
De esta manera:
f*(n)= g*(n)+h*(n)

Si recordamos, inicialmente habamos definido la funcin f(n) como la funcin de evaluacin.


La forma de vincular esta funcin con las que conocemos en este momento, es definiendo que f
sea una estimacin de f*,
de este modo:

f(n)= g(n)+h(n)

Donde g es una estimacin de g*, y su valor se calcula como la sumatoria de los costos de los
arcos que se encuentran siguiendo el camino desde el nodo n hasta el nodo raz (la definicin
implica que g(n)>=g*(n)); y h es una subestimacin de h* (h es minorante de h*), teniendo en
cuenta que para realizar la subestimacin se utiliza la informacin heurstica sobre el dominio
del problema.

Como se ha mencionado anteriormente, la precisin de la funcin heurstica h depende de la


cantidad de conocimiento acerca del dominio del problema que se tenga. Si tenemos dos
versiones de A*, A1 y A2 que usen respectivamente las funciones de evaluacin

f1(n)=g1(n)+h1(n)

f2(n)=g2(n)+h2(n)

Mtodos de bsqueda, optimizacin y planificacin en IA Pgina 15 de 53


Se dice que A2 est mejor informado que A1 si para todo nodo no objetivo n se
cumple que h2(n)>h1(n). Debido a que h est mayorado por h* es de esperar que
el uso de valores mayores de h (y ms cercanos a h*) requiera informacin
heurstica ms precisa.

FUNCIN DE EVALUACIN:

Esta dada por:


f(n) = g(n) + h(n)

g(n) es una estimacin de g*(n) y es el costo del camino desde s a n en el arbol de


exploracin. Esto implica que g(n) >= g*(n).

h(n) es una subestimacin de h*(n) y para su estimacin utilizaremos la informacin


heurstica sobre el dominio del problema.

Mtodos de bsqueda y optimizacin en IA Pgina 16 de 53


4.Programacin lineal

Primero que nada ntese que en este contexto la programacin no se refiere a un sinnimo de
computacin sino ms bien a uno de planificacin, aunque para efectos prcticos se utilice mucho la
computacin. Luego surgen dos preguntas bsicas sobre la programacin lineal:
Cul es la naturaleza de la programacin lineal?
A qu clase de problemas esta dirigida?

Para responder a estas preguntas y dar un breve panorama Hiller y Liberman afirman que la
programacin lineal tpicamente trata del problema de asignar recursos limitados entre actividades
competidoras en la mejor forma posible(ptima). La naturaleza de los problemas que resuelve la
programacin lineal surge siempre que se deba seleccionar el nivel de ciertas actividades que
compiten por recursos escasos pero necesarios para realizar esas actividades.

La Programacin Lineal se basa en un modelo matemtico, donde se plantea el problema en funcin


de ecuaciones, y se las opera de diferentes maneras para llegar a un resultado donde los costos resulten
mnimos y las utilidades mximas. Un modelo de P.L. est formado por Condiciones de Vnculo
(CV), que son las ecuaciones que representan a la realidad, Condiciones de No Negatividad CNN), ya
que todas las variables deben tener valores positivos, y la ecuacin Funcional (Z), donde se
representan los costos a minimizar o las utilidades a maximizar, y en base a la cual se tomar la
decisin.

Propiedades de los programas lineales


En los programas lineales, los espacios de soluciones factibles son poltopos. Es adems recomendable, en
orden a garantizar la existencia de solucin, que dicho espacio sea un conjunto acotado.
Ya se ha comentado que todo programa lineal es un programa convexo, con lo cual, todo ptimo es global.
Pero adems, siempre se alcanza el ptimo, o los ptimos, en la frontera del espacio de soluciones factibles.
Con la terminologa ya conocida, esto significa que en los ptimos siempre alguna restriccin est saturada.
Pero se puede asegurar an ms, en todo programa lineal, si existe ptimo, ste se alcanza, al menos, en un
vrtice del poltopo que constituye la regin admisible.
No siempre hay unicidad de soluciones, pero al ser programas convexos, si en un programa lineal se
alcanza el ptimo en dos puntos diferentes, tambin se alcanza en cualquier punto que sea combinacin
lineal convexa de esos dos puntos. Esta propiedad se generaliza para un mayor nmero de puntos, de forma
que si varios puntos son ptimos del problema, tambin lo es cualquier combinacin lineal convexa suya.

El hecho de que, de existir ptimo, ste se alcanza al menos sobre alguno de los vrtices del espacio
de soluciones, permite establecer un primer mtodo de resolucin de programas lineales:
1. Localizar los vrtices del espacio de soluciones factibles.
2. Evaluar la funcin objetivo sobre todos los vrtices.
3. Elegir el vrtice sobre el que la funcin objetivo tome el menor valor (si el problema es de minimizacin) o
el mayor valor (si el problema es de maximizacin).
4. De existir solucin, sta se alcanza en el vrtice seleccionado. Si existen varios vrtices en los que la
funcin toma el mismo valor que en el seleccionado, tambin se alcanzara el ptimo sobre cualquier
combinacin lineal convexa de esos vrtices.

Esta forma de proceder puede resultar satisfactoria en problemas pequeos. Sin embargo para
problemas de talla media la complejidad del clculo de todos los vrtices puede desaconsejar su
utilizacin. Sirva como ejemplo que para un problema de 10 variables y 50 restricciones, podran

Mtodos de bsqueda, optimizacin y planificacin en IA Pgina 17 de 53


existir ms de 10.272.000.000 potenciales vrtices.
Mtodo de asignacin
Un problema especfico dentro de la Programacin Lineal, es el de la asignacin. En este tipo de
problemas, por ejemplo, se tienen los costos de contratar operarios, y cuantas horas se los necesita
para cada puesto y debe lograrse la asignacin ideal de operario/labor para tener costos mnimos (debe
asignarse uno y slo un operario para cada labor).
Para la resolucin de estos problemas, se plantea con las CV una matriz que debe cumplir con:
Debe ser cuadrada
Los trminos independientes deben ser 1 para todas las ecuaciones.

Sobre esa matriz, se realizan una serie de operaciones matemticas que dan como resultado la
asignacin buscada (Ver resolucin del problema de TSP por P.L.).

El mtodo Simplex

Ya se ha comentado la propiedad de que todos los programas lineales alcanzan un ptimo, si ste
existe, en una de sus soluciones bsicas factibles (vrtice del espacio de soluciones factibles). Adems
el nmero de tales soluciones bsicas es siempre finito. Por tanto, un mtodo de resolucin de este tipo
de problemas es la construccin de todas las soluciones bsicas factibles y la seleccin de aquella que
minimice la funcin objetivo. Por supuesto, este mtodo resulta claramente ineficiente cuando se
trabaja con problemas con gran nmero de variables de decisin (como ocurre en los casos que
normalmente aparecen en situaciones reales).
La idea del mtodo Simplex, ideado por G.B. Dantzing en 1947, consiste en llegar a encontrar esa
solucin bsica ptima sin necesidad de construirlas todas, nicamente seleccionando un subconjunto
de ellas que converja a la solucin. De una forma muy resumida el mtodo Simplex consiste en:

1. Debe partirse de una solucin bsica factible inicial.


2. Si dicha solucin bsica no es ptima, entonces encontrar otra que haga que el valor de la funcin objetivo
disminuya, o por lo menos que no aumente.
3. Repetir el paso anterior hasta encontrar una solucin bsica factible que sea ptima.
Al ser el nmero de soluciones bsicas finito, si en cada paso se consigue una reduccin del valor
ptimo, ninguna de ellas podr repetirse y de esta manera en un nmero finito de pasos se encontrar
un ptimo del problema (s es finito). Dos aspectos a tener en cuenta sobre este mtodo son:

Es necesario disponer de un test de optimalidad que permita reconocer cuando una solucin bsica factible
es ptima, sin necesidad de conocer el resto de soluciones bsicas.
Se necesita tambin un sistema efectivo de paso de una solucin bsica a otra, mejorando el valor de la
funcin objetivo.

Geomtricamente, el mtodo Simplex se puede interpretar de la manera siguiente: partiendo de uno de


los vrtices del poliedro, ir desplazndose a uno de los vrtices adyacentes mejorando el valor de la
funcin objetivo hasta encontrar el ptimo

Mtodos de bsqueda y optimizacin en IA Pgina 18 de 53


5- PROBLEMA DEL VIAJANTE DE COMERCIO - TSP

Este es un clsico problema de la Inteligencia Artificial donde se observa que al aumentar el nmero de
componentes el objetivo se torna inalcanzable mediante mtodos estndar de bsqueda.

Planteo:
Un viajante debe recorrer una cantidad n de ciudades las cuales se encuentran todas unidas entre s (grafo
completo) y separadas por cierto costo conocido (distancia, tiempo, etc.).

Objetivo:
Se debe lograr recorrer todas las ciudades sin pasar dos veces por ninguna y regresar a la ciudad de la que se
parti con el menor costo posible. Cualquiera de las ciudades puede ser el nodo inicial.

Ejemplo de TSP

A
6
3
Ejemplo de TSP que utilizaremos 4 1

para ilustrar la implementacin de


B D
6
los distintos mtodos.
5 7
Ejemplo con 5 ciudades.
2 9

C E

Mtodo de bsqueda no informado

Cantidad de opciones a considerar: N! - en nuestro ejemplo de 5 ciudades ser 120 posibilidades

Estructura:

Matriz de 5x5 que contiene las distancias a recorrer entre las ciudades.

Un vector en el cual guardo la ruta ptima.

Mtodos de bsqueda, optimizacin y planificacin en IA Pgina 19 de 53


Implementacin:
Mediante una bsqueda exhaustiva compara todos los caminos que existen entre las ciudades,
incluso las opciones triviales y las que contienen caminos repetidos.
Utilizando algn tipo de control se logra purificar aquellas posibilidades que no cumplen con
las condiciones del problema.

Ventajas:

Encuentra la opcin ptima porque prueba todas las combinaciones posibles y las compara entre s.

Desventajas:

Es inaplicable en problemas con crecimiento exponencial de combinaciones, porque este


mtodo de resolucin es lineal. Por ejemplo: En el caso de que fuesen 10 ciudades la cantidad
de opciones a considerar sera de 3.628.800.

Programacin lineal

Resolucin mediante la aplicacin del mtodo de asignacin.

Planteo: En una matriz cuadrada, se colocan las distancias entre los diferentes nodos (ciudades). Las
diagonales se rellenan con un numero M de muy alto valor para impedir su asignacin.

Metodologa:

a) Se buscan los mnimos de cada columna y se suman.


b) Se buscan los mnimos de cada fila y se suman
c) Se comparan los resultados de a) y b). Si a) result mayor, se restan los mnimos por
columna a todos los componentes de la matriz, idem si b) result mayor, pero el
proceso se realiza por fila.
d) Se buscan los ceros independientes por fila y por columna (sin ningn otro cero en su
fila y columna), se asignan (recuadrndolos), y se tacha su fila o columna (segn
convenga).
e) Se buscan los ceros independientes slo por fila, se asignan y se tacha su columna.
f) Se buscan los ceros independientes slo por columna, se asignan y se tacha su fila.
g) Se busca el mnimo de los valores no tachados en la matriz, y se reescribe sta
restndolo a los valores no tachados, y sumndolo a los valores doblemente tachados
(los valores tachados una sola vez no se modifican).
h) Se repite d), e), f) y g) hasta que la cantidad de ceros asignados sea igual a la cantidad
de tachas en la matriz, igual a la dimensin de sta (para una matriz de 5 x 5, debe
haber 5 ceros asignados y 5 tachas).

Resolucin:

Mtodos de bsqueda y optimizacin en IA Pgina 20 de 53


Como primera medida, se buscan mnimos por cada fila y por cada columna, y se suman:

Min 1 2 2 6 1 12
Matriz 1 A B C D E Min
A M 3 4 6 1 1
B 3 M 2 6 5 2
C 4 2 M 7 8 2
D 6 6 7 M 9 6
E 1 5 8 9 M 1

Como la suma de los mnimos da los mismo tanto para fila como para columna (12), se elije
arbitrariamente el vector a restar (en este caso se eliji restar por fila). La matriz 2 es el resultado de la
matriz 1 menos el vector columna de mnimos.
Luego de hacer la resta, se procede a la asignacin de los ceros independientes y al tachado de las
filas/columnas correspondientes:

Matriz 2 A B C D E
A M-1 2 3 5 0
B 1 M-2 0 4 3
C 2 0 M-2 5 6
D 0 0 1 M-6 3
E 0 4 7 8 M-1

Posteriormente, se toma el menor de los valores no tachados (4) y se resta a estos mismos,
obteniendose la matriz 3.
Con esta matriz se vuelve a realizar la asignacin y el tachado:

Matriz 3 A B C D E
A M-1 2 3 1 0
B 1 M-2 0 0 3
C 2 0 M-2 1 6
D 0 0 1 M-10 3
E 0 4 7 4 M-1

Se busca el valor menor no tachado, se le resta a los no tachados y se le suma a los doblemente
tachados, obtenindose la matriz 4.
Luego, se procede a hacer la asignacin de ceros.

Matriz A B C D E
4
A M-1 2 2 0 0
B 2 M-1 0 0 4
C 2 0 M-3 0 6
D 0 0 0 M-11 3
E 0 4 6 3 M-1

Debido a que la cantidad de ceros asignados es igual a la cantidad de tachas, igual a 5, la asignacin
realizada sobre la matriz 4 es el resultado buscado.

CAMINO RESULTANTE:
A-E-A
D-B-C-D

Mtodos de bsqueda, optimizacin y planificacin en IA Pgina 21 de 53


Conclusin:

Este camino es ptimo pero es desconexo, por lo tanto no cumple con los requerimientos del problema.
Por ello este mtodo, aplicado en su forma conceptual pura, es inadecuado para una efectiva resolucin
del problema.
Acotando los caminos que le problema debe considerar podemos resolver este inconveniente pero de
todos modos la cantidad de operaciones y comparaciones ha hacer hace de este mtodo imposible de
utilizar en un entorno de trabajo real.

Resolucin utilizando variables binarias

Se considera la forma cannica

Min Z= cI

Donde Z es la funcin objetivo (en este caso, el objetivo es minimizar distancias)

Sujeto a : Restricciones: AI<= b


Condiciones de No Negatividad: I>=0
Donde:

I11
I12
I= I13
:
Inn
Es el vector columna de n componentes. A este vector se le denomina vector de actividades y sus n
componentes son las variables de decisin.

c= (c11, c12,c13,......,cnn)

Es el vector rengln c, que se denomina vector de precios unitarios, y en nuestro caso, representar las
distancias entre los nodos.

b1
b2
b= b3
:
bm

Es el vector columna b, con m componentes y se le denomina vector de disponibilidad de recursos. En


nuestro caso, representar el nmero de caminos que deben existir para n nodos.

A es una matriz de m por n, llamada matriz de coeficientes tecnolgicos, y contendr 0 o 1


dependiendo si el camino Iij ser tomado en cuenta para esa restriccin o no.

Nota: Tomando en cuenta que la cantidad de nodos ser n, m(cantidad de restricciones)=n+1

El problema queda planteado como:

Mtodos de bsqueda y optimizacin en IA Pgina 22 de 53


Restricciones:

I12+I13+I14+...+Inn=n (con esto restrinjo que la solucin posea n caminos)


I12+I13+I14+.....+I1n=2
I21+I23+I24+...+I2n=2 (Esto es para que aclarar, que a cada nodo deben llegar por 2
caminos)
:
In1+In2+In3+.....+Inn=2

Condiciones de No Negatividad:

I11, I12, I13,...., Inn>=0 (son variables binarias que slo pueden tomar valores 0 o 1)

Objetivo:

Z=c12*I12+c13*I13+...+cnn*Inn -> mnimo.

Debido a que el polgono de solucin slo tiene un nmero finito de puntos extremos, para obtener la
solucin de un programa lineal habr que ver qu valor tiene la funcin objetivo en cada punto extremo
y seleccionar el mejor. Si se tiene en cuenta que la regin factible proveniente de un programa lineal
con p actividades y m restricciones puede tener un mximo de

p = p!
m m! (p-m)!

puntos extremos, se ver que para este caso particular, donde p=(n-1)*n y m=n+1, la cantidad de puntos
a evaluar puede llegar a ser, cmo mximo

(n-1)!
(n+1) (n2 -2n-1)!

Mtodos de bsqueda, optimizacin y planificacin en IA Pgina 23 de 53


Algoritmo A*

Planteo

Para desarrollar, de forma prctica,el problema del viajante utilizando el Algoritmo A* planteo
un grafo completo y voy abriendo los hijos de los nodos a medida en que cumplen con la
condicin de que
h(n)<= h*(n)
Donde h*(n) es el costo de un camino de costo mnimo desde n al nodo objetivo (es un camino
ptimo desde n al objetivo). Y h(n) es una estimacin de h*(n).

Tambin conocemos un camino ptimo entre el nodo inicio y un nodo n, esta funcin se
denomina g*(n), y su estimacin la conocemos como g(n).
Adems para abrir los nodos nos guiaremos por el principio de la programacin dinmica y la
bsqueda de ramificacin y cota.

El grfico de la resolucin se encuentra en la siguiente pgina.

Conclusin
El nmero de operatorias a realizar se ve sustancialmente reducido, pero no quita la posibilidad
de que a la solucin a la que se llegue no sea una solucin desconexa y por lo tanto que no
cumpla las condiciones del problema.

Mtodos de bsqueda y optimizacin en IA Pgina 24 de 53


Algoritmo Gentico

Planteamiento

La meta es encontrar el camino ms corto para recorrer N diferentes ciudades sin pasar dos veces por ninguna. La
complejidad de este problema nace porque todas las ciudades se encuentran relacionadas entre s, luego por cada
ciudad deben considerar N-1 caminos.

Testeando todas las posibilidades de un problema de N ciudades, esto dara en N! posibilidades.


Un problema de 30 ciudades abarcara 2.65 x 10^32 posibilidades. Analizando 1 billn de posibilidades por
segundo esto tomara alrededor de 8.000.000.000.000.000 aos.

SOLUCION UTILIZANDO AG
Un algoritmo gentico (AG) puede ser usado para encontrar una solucin en mucho menos tiempo. Pero es
probable de que esta no sea la mejor solucin, puede encontrar una casi perfecta solucin en menos de un minuto.

Pasos a considerar para la resolucin:

Se crea un grupo de caminos generados al azar llamados poblacin inicial. Estos caminos sern guardados
como una secuencia de nmeros.

Se eligen dos de los mejores (mas cortos) caminos de la poblacin inicial, ellos se aparean para obtener dos
nuevas soluciones (hijos) con la esperanza de que estas sean mejores soluciones que sus padres. El apareo se
realiza escogiendo un punto al azar de las secuencias padres y cambiando todos los nmeros de la secuencia, a
partir de ese punto.

La idea del AG es simular el modo de evolucin que usa la naturaleza, las buenas soluciones se reproducen para
formar (en lo posible) mejores soluciones en la poblacin, mientras que las malas soluciones son dejadas de lado.

Eventualmente el AG hace que todas las soluciones se vean idnticas. Esto no es ideal y para evitarlo, se puede
crear una poblacin inicial muy grande o utilizar las mutaciones. Este mtodo permite al AG cambiar de forma
aleatoria una de las soluciones. Algunas veces una mutacin llega a una mejor solucin que el apareo no habra
alcanzado.

Una de las dificultades de resolver el TSP mediante el AG es la codificacin de las soluciones.


Porque si simplemente codifico una lista de las ciudades en el orden en que estas son recorridas, el apareamiento
no funcionar correctamente.

Por ejemplo:
Todo nmero del padre 1, antes del punto de apareo es, copiado en igual orden al hijo 1 y todo nmero, despus
del punto de apareo, del padre 2 es copiado a continuacin en el mismo hijo.
Lo opuesto es hecho con el hijo 2.

Padre 1 12345
Padre 2 35214
Hijo 1 12314
Hijo 1 35245

Como se puede observar en el ejemplo el nro. 1 es usado dos veces en el hijo 1 mientras que falta el nro. 5.
Por ello se llega a la conclusin de que el esfuerzo del AG tiene que estar particularmente desarrollado en una
buena codificacin de las posibles soluciones y una funcin de apareo que sea productiva.
Para as asegurar que las adyacencias entre las ciudades sean preservadas de los padres a los hijos.
Adems un buen AG no debe considerar dos veces los recorridos que se hallen repetidos.

Mtodos de bsqueda, optimizacin y planificacin en IA Pgina 25 de 53


6. ANEXO - Scheduling

Navegacin en Robots Mviles


Introduccin.

Se define navegacin como la metodologa que permite guiar el curso de un robot


mvil a travs de un entorno con obstculos.

la percepcin del entorno a travs de sus sensores - de modo que le permita crear una abstraccin del
mundo
la planificacin de una trayectoria libre de obstculos - para alcanzar el punto destino seleccionado
el guiado del vehculo - a travs de la referencia construida.

Concepto de misin, navegacin y operacin.

El robot mvil se caracteriza por:

Navegar - realizar una serie de desplazamientos.


Realizar operaciones - llevar a cabo una interaccin con distintos elementos de su entorno de trabajo
que implican el cumplimiento de una serie de objetivos impuestos segn cierta especificacin
(misin).

En consecuencia con las definiciones del prrafo anterior, el robot mvil debe poseer una arquitectura que coordine los
distintos elementos de a bordo (sistema sensorial, control de movimiento y operacin) de forma correcta y eficaz para la
realizacin de una misin.

Esquemas de navegacin en robots mviles.

Realizar una tarea de navegacin para un robot mvil significa recorrer un camino que lo conduzca
desde una posicin inicial hasta otra final, pasando por ciertas posiciones intermedias o submetas.
El problema de la navegacin se divide en las siguientes cuatro etapas:

Percepcin del mundo: Mediante el uso de sensores externos, creacin de un mapa o modelo del
entorno donde se desarrollar la tarea de navegacin.

Planificacin de la ruta: Crea una secuencia ordenada de objetivos o submetas que deben ser
alcanzadas por el vehculo. Esta secuencia se calcula utilizando el modelo o mapa de entorno, la
descripcin de la tarea que debe realizar y algn tipo de procedimiento estratgico.

Generacin del camino: En primer lugar define una funcin continua que interpola la secuencia de
objetivos construida por el planificador.
Posteriormente procede a la discretizacin de la misma a fin de generar el camino.

Seguimiento del camino: Efecta el desplazamiento del vehculo, segn el camino generado mediante
el adecuado control de los actuadores del vehculo.

Estas tareas pueden llevarse a cabo de forma separada, aunque en el orden especificado.

Mtodos de bsqueda y optimizacin en IA Pgina 26 de 53


Mtodos de planificacin de la navegacin.
A Navegacin bsica, con mapa de entorno previo.

De un mapa de entorno y de las especificaciones de la tarea de navegacin se realiza la planificacin de


un conjunto de objetivos representados como una secuencia de puntos cartesianos dispersos que definen la
ruta. Dicho conjunto cumple los requisitos de la tarea impuesta asegurndose de que la ruta asociada est
libre de obstculos.
Mediante el uso del generador del camino se construye la referencia que utilizar el seguidor
de caminos para generar los comandos de direccionamiento y velocidad que actuarn sobre los
servocontroladores del vehculo.
Por ltimo, mediante el uso de los sensores internos del vehculo (sensores de posicin) en
conjuncin con tcnicas odomtricas, se produce una estimacin de la posicin actual, la cual
ser realimentada al seguidor de caminos.

La complejidad del sistema necesario para desarrollar esta tarea depende principalmente del
conocimiento que se posee del entorno de trabajo.

Aqu se considera que se cuenta con


un mapa del entorno que responde de
forma fiel a la realidad.
Mediante el uso adecuado del mismo
se puede construir un camino que
cumpla los requisitos impuestos por
la tarea de navegacin, sin que el
vehculo colisione con algn elemento
del entorno.

B Navegacin con mapa de entorno imperfecto, con incertidumbre.

Cuando el modelo del entorno del que dispone el robot adolece de ciertas imperfecciones al
omitir algunos detalles del mismo.
El esquema anterior resulta ineficaz, al no asegurar la construccin de un camino libre de
obstculos.
Este es un esquema de navegador utilizado
en aplicaciones, donde la informacin acerca
del entorno de trabajo vara desde un perfecto
conocimiento del mismo hasta poseer un
cierto grado de incertidumbre.
Lo novedoso reside en el desdoblamiento de
a tarea de planificacin en dos subtareas:

Planificacin global: Construir o planificar la ruta


que lleve al robot a cada una de las submetas
determinadas por el control de misin, segn las especificaciones del problema que debe resolverse.
Esta planificacin es una aproximacin al camino final que se va a seguir, ya que en la realizacin de
esta accin no se consideran los detalles del entorno local al vehculo.
Planificacin local: Resolver las obstrucciones sobre la ruta global en el entorno local al robot para
determinar la ruta real que ser seguida. El modelo del entorno local se construye mediante la fusin

Mtodos de bsqueda, optimizacin y planificacin en IA Pgina 27 de 53


de la informacin proporcionada por los sensores externos del robot mvil.

La construccin de la ruta global puede realizarse antes de que el vehculo comience a ejecutar la tarea, mientras
que la planificacin local se lleva a cabo en tiempo de ejecucin.

A Navegacin sin mapa de entorno, planificacin local intensiva.


Se utiliza para navegacin en exteriores o campo a travs.

El esquema empleado recurre a un uso ms intenso del sistema sensorial, y se responsabiliza de la coordinacin
de la percepcin, planificacin y control del vehculo para guiarlo por el camino especificado, mientras verifica el
entorno, y realizar el sorteo de obstculos.

El funcionamiento de este navegador local est


basado en la realizacin de un ciclo de constru-
ccin del mapa local del entorno inmediato al
robot mvil, la eleccin de una ruta segura por
la cual puede pasar el vehculo, de acuerdo con
la informacin suministrada, para, a continuacin
construir el camino, y por ltimo, realizar el
seguimiento. La iteracin de este ciclo ocurre
cada vez que el control de movimientos termina
de seguir el camino actual, pasndose en ese
momento a la construccin del prximo mapa
local de entorno.

B Navegacin con reaccin dinmica:

Mediante el uso intensivo de sensores de bajo coste (transductores ultrasnicos, sensores


infrarojos, sensores tctiles, etc.) con el fin de ante el entorno, con lo cual pierde relevancia el
concepto de planificacin y seguimiento de caminos.

Se trata de una descomposicin vertical del


problema de navegacin que se comporta de
forma eficiente en entornos dinmicos donde
se posee un conocimiento impreciso del
mismo.
En cada intervalo de navegacin el sistema
sensorial, segn la informacin extrada del
entorno local del robot, activa uno o varios
comportamientos simples que suman sus
actuaciones, de suerte que el comportamiento
final resulta una mezcla de los simples activados.

Planificacin de la ruta ruta segura.

Mtodos de bsqueda y optimizacin en IA Pgina 28 de 53


El concepto de ruta segura implica el clculo de un camino al menos continuo en posicin, que
sea libre de obstculos.
En virtud de esta ruta, el generador construir las referencias que se le entregan al control
de movimientos. Por ello, en la especificacin de esta ruta se obvian las caractersticas
cinemticas y dinmicas del vehculo, ya que el cmputo de una referencia adecuada que
cumpla con estos atributos es tarea del generador de caminos.

Por tanto, la ruta al tan slo asegurar continuidad en posicin, supone que nicamente los
robots mviles omnidireccionales puedan seguir una referencia de tales caractersticas.

Se define una configuracin q de un robot como


un vector cuyas componentes proporcionan
informacin completa sobre el estado actual del
mismo. Un robot es un objeto rgido al cual se le
puede asociar un sistema de coordenadas mvil.
La localizacin del vehculo en un determinado
instante de tiempo queda definido por la
relacin
existente entre el sistema de coordenadas
global F g en virtud del cual est definido todo el
entorno de trabajo y su sistema de coordenadas
locales asociado F r (Figura 2.6.).

Mtodos de planificacin de la ruta.

A) Grafos de visibilidad (Nilsson, 1.969)

Supone un entorno bidimensional en el cual los obstculos estn modelados mediante


polgonos. Para la generacin del grafo este mtodo introduce el concepto de visibilidad, segn
el cual define dos puntos del entorno como visibles si y solo si se pueden unir mediante un
segmento rectilneo que no intersecte ningn obstculo (si dicho segmento resulta tangencial a
algn obstculo se consideran los puntos afectados como visibles). En otras palabras, el
segmento definido debe yacer en el espacio libre del entorno C l .

Elige el ms cercano de los nodos visibles,


segn distancia eucldea a la posicin final,
para desplazarse posteriormente al nodo
seleccionado y marcarlo como visitado.
Desde esta nueva posicin se vuelve a
iterar el proceso hasta llegar a la posicin
final (xito), o bien no existen ms
nodos sin visitar (fracaso).

Mtodos de bsqueda, optimizacin y planificacin en IA Pgina 29 de 53


Los algoritmos desarrollados para
encontrar la ruta ptima bajo las
condiciones descritas, se basan en
enlazar los nodos situados en las
zonas convexas del entorno tal que
dos nodos consecutivos son visibles.
El uso de mtodos de planificacin basados
en grafos de visibilidad est muy extendido,
debido a que se pueden construir algoritmos
a bajo coste computacional que resuelvan el
referido problema.
Sin embargo, utilizar como nodos los vrtices de los obstculos implica que no son
inmediatamente aplicables en la prctica, ya que un robot mvil real no consiste en un punto.

B) Diagramas de Voronoi (Janich, 1.984).

Se definen como una proyeccin del espacio libre del entorno en una red de curvas
unidimensionales yacientes en dicho espacio libre.
Formalmente se definen como una retraccin con preservacin de la continuidad.
Si el conjunto C l define las posiciones libres de obstculos de un entorno, la funcin
retraccin RT construye un subconjunto C v continuo de C l .

De esta forma, se dice que existe un camino desde una configuracin inicial q a
hasta otra final q f , supuestas ambas libres de obstculos, si y solo si existe una curva
continua desde RT(q a ) hasta RT(q f ).

La idea fundamental es ampliar al


mximo
la distancia entre el camino del robot y
los obstculos.

Por ello, el diagrama de Voronoi resulta


el lugar geomtrico de las configuraciones
que se encuentran a igual distancia de los
dos obstculos ms prximos del entorno.
El diagrama estar formado por dos tipos
de segmentos: rectilneos y parablicos.

Mtodos de bsqueda y optimizacin en IA Pgina 30 de 53


Dado una configuracin q no perteneciente a
C v , existe un nico punto p ms cercano
perteneciente a un vrtice o arista de un
obstculo. La funcin RT(q) se define como
el primer corte con C v de la lnea que une p con q.

El algoritmo de planificacin, en esencia, consiste


en encontrar la secuencia de segmentos s i del
diagrama de Voronoi tal que conecten RT(q a )
con RT(q f ). Dicha secuencia conforma la ruta
buscada.

i) Calcular el diagrama de Voronoi.


ii) Calcular RT(q a ) y RT(q f ).
iii) Encontrar la secuencia de segmentos {s 1 ,...,s p } tal que RT(q a ) pertenece
a s 1 y RT(q f ) pertenece a s p .
iv) Si se encuentra dicha secuencia, devolver la ruta. Si no indicar condicin de
error.

Al igual que los grafos de visibilidad, este mtodo tambin trabaja en entornos totalmente
conocidos y con obstculos modelados mediante polgonos.

C) Modelado del espacio libre (Brooks, 1.983).

Al igual que los diagramas de Voronoi, con el uso de los cilindros rectilneos generalizados
(CRG) se pretende que el vehculo navegue lo ms alejado de los obstculos. De forma que la
ruta que lleve al robot desde una configuracin inicial hasta otra final estar compuesta por una
serie de CRG interconectados, de tal modo que la configuracin de partida se encuentre en el
primer cilindro de la sucesin y la final en el ltimo.

Para que un par de aristas 1 a i y 2 a j pertenecientes a los obstculos b 1 y b 2 respectivamente


puedan formar un cilindro generalizado, deben cumplir las siguientes condiciones:

i) La arista 1 a i est contenida en una


recta que divide al plano en dos regiones.
La arista 2 a j debe yacer por completo en
la regin opuesta en la que se encuentra
situada b 1 . Este criterio es simtrico.

ii) El producto escalar de los vectores


normales con direccin hacia el exterior
del obstculo que contiene cada arista
debe resultar negativo.

Mtodos de bsqueda, optimizacin y planificacin en IA Pgina 31 de 53


Repitiendo este proceso, se construye una red
CRG en el entorno del robot que modela el
espacio libre del mismo. El robot navegar por
el eje del cilindro, en el cual se encuentran
anotadas para cada punto el rango de
orientaciones admisibles. El paso de un CRG
a otro se produce siempre y cuando sus ejes
intersecten y la interseccin del rango de
orientaciones admisibles en el punto de corte
de ambos ejes no sea nulo.

D Descomposicin en celdas(Thorpe, 1,984).

Este tipo de mtodos se fundamenta en una descomposicin en celdas del espacio libre. As, la
bsqueda de una ruta desde una postura inicial q a hasta otra final q f , consiste en encontrar
una sucesin de celdas que no presente discontinuidades, tal que la primera de ellas contenga a
q a y la ltima a q f .
No encuentra una serie de segmentos que modele la ruta, sino una sucesin de celdas; por
ello, se hace necesario un segundo paso de construccin de un grafo de conectividad,
encargado de definir la ruta.
Para la planificacin segn el mtodo de descomposicin en celdas, se precisa la resolucin de dos problemas:

la descomposicin del espacio libre en celdas -

I mplica construir unas celdas con determinada forma geomtrica tal que resulte fcil de
calcular un camino entre dos configuraciones distintas pertenecientes a la celda, y la
comprobacin para averiguar si dos celdas son adyacentes debe disfrutar de la mayor simpleza
posible. Aparte de estas caractersticas, la descomposicin global del espacio libre implica que
no deben existir solapamientos entre celdas y que la unin de todas ellas corresponde
exactamente al espacio libre.

la construccin de un grafo de conectividad.-

Su construccin est asociada a la descomposicin en celdas efectuada en el paso anterior, del tal forma, que los nodos van a
ser cada una de las celdas, existiendo un arco entre dos celdas si y solo si son adyacentes.

Los distintos mtodos basados en este principio, se distinguen por la forma en la cual realizan
la descomposicin en celdas y como se construye el grafo de conectividad.

Mtodos de bsqueda y optimizacin en IA Pgina 32 de 53


descomposicin trapezoidal- Este mtodo
se basa en la construccin de segmentos
rectilneos paralelos al eje Y del sistema
global F g a partir de los vrtices de cada
uno de los elementos del entorno.
El final del segmento queda delimitado por
el primer corte de la lnea con un elemento
del entorno.

El grafo de conectividad se construye por


medio de la unin de los puntos medios
de los segmentos verticales definidos.

Generacin de caminos.

El camino es el grupo de consignas que se entregarn al seguidor de caminos para la ejecucin


de la tarea de navegacin. Se construye en funcin de la ruta definida por la tarea de
planificacin y debe estar libre de obstculos. Adems de esta caracterstica bsica, al
utilizarse como referencia del seguidor de caminos, debe poseer ciertas cualidades que
faciliten la accin de esta ltima tarea. La importancia de la definicin de un camino con
buenas propiedades reside en la capacidad del seguidor para realizar una ejecucin del camino
con el menor error posible. La accin del generador consiste en la conversin de una ruta en un
camino, es decir construir una sucesin de configuraciones que lleve al vehculo de la posicin
inicial a la final, de forma que elimine la restriccin de omnidireccionabilidad inherente a la
definicin de ruta.

La mayora de los mtodos de generacin de caminos supone que el camino construido se


ejecutar con una velocidad constante lo suficientemente baja para que la dinmica del
vehculo afecte lo menos posible al seguimiento del camino. Ante el problema que plantean las
aceleraciones inicial y final a las que debe someterse el vehculo para modificar su estado de
movimiento, se pondera la referencia de velocidad por una determinada atenuacin variable
(Nelson y Cox, 1.990).

Sin embargo, a menudo se precisa realizar una planificacin de la velocidad que desarrollar el
vehculo en su recorrido por el camino construido. A la fusin de una curva de velocidad con el
camino especificado se denomina construccin de la trayectoria. Esta se define como el resultado de la
composicin de una planificacin espacial (camino) con otra temporal (curva de velocidad). De esta
forma, la trayectoria engloba un conjunto de posturas temporales, las cuales resultan de la suma de
una componente de velocidad con cada una de
la posturas que conforman el camino.

En la figura se ha utilizado un mtodo


basado en grafos de visibilidad para la
realizacin de la planificacin de
velocidades. Con esta metodologa se
precisa especificar una pendiente mnima
de cada uno de los segmentos que
componen la ruta. Esta pendiente define
la velocidad mxima que puede desarrollar
el vehculo. En la mencionada figura, en
trazo grueso, se plantea una solucin al

Mtodos de bsqueda, optimizacin y planificacin en IA Pgina 33 de 53


problema de la planificacin de velocidades.
Por ltimo, si se desea recorrer el camino
en un tiempo especificado, se toma como destino el punto de la recta representada en que
corresponde a la limitacin impuesta.

Planificacin de Caminos Mediante grafos de Visibilidad.

La planificacin se define como la bsqueda de una ruta libre de obstculos desde una posicin
inicial hasta otra final a travs del entorno de trabajo del robot mvil. Esta operacin se realiza
mediante el uso de la informacin que se posee del entorno actualmente, la descripcin de la
tarea de navegacin y algn tipo de metodologa estratgica. As, el planificador se define por el
modelo del entorno y el algoritmo de bsqueda utilizado. El caso ms simple consiste en
considerar un entorno conocido en su totalidad, esttico y modelado de forma geomtrica
mediante polgonos. Con estas apreciaciones resulta factible la aplicacin un algoritmo de
bsqueda en grafos, que emplee cierta funcin de coste para la obtencin de la ruta. Sin
embargo, la aplicacin directa de esta metodologa para utilizar la ruta resultante como camino
que se debe seguir, implica efectuar ciertas consideraciones acerca del vehculo. De esta
manera, se supone un vehculo puntual, omnidireccional, y que recorre los caminos consignados
de forma perfecta.

La finalidad de la planificacin consiste en la resolucin del problema geomtrico de localizar


una ruta libre de obstculos, definida como una secuencia ordenada de objetivos, que conduzca
al robot desde la posicin inicial hasta la final.

La eleccin de esta metodologa de planificacin se fundamenta en la posibilidad de empleo de


algoritmos de bajo coste computacional con respecto al resto de los procedimientos expuestos
en el captulo anterior. Una variacin de este concepto de menor complejidad son los subgrafos
de visibilidad, los cuales se pueden utilizar en entornos conocidos de forma parcial para
encontrar una solucin (posiblemente no ptima) al problema planteado (apartado 3.3.).
Ambos tipos de grafos poseen el gran inconveniente de considerar robots puntuales para la
realizacin de su cometido.

Funcin ruta mediante grafos de visibilidad.


Los grafos de visibilidad (Nilsson, 1.969) proporcionan un enfoque geomtrico para solventar
el problema de la planificacin. Este mtodo se encuentra muy extendido debido a que opera
con modelos poligonales de entorno, con lo que existen algoritmos que construyen esta clase
de grafos con un coste computacional relativamente bajo: O(n 3 ) (Lozano-Prez y
Wesley;1.979).
Este mtodo necesita modelos de entornos definidos con polgonos, y puede trabajar tanto en
el plano como en el espacio. En este apartado slo se formaliza el primer tipo, ya que el
segundo queda fuera del mbito de esta tesis.

Un grafo de visibilidad est formado por :


N nodos (inicio, fin y vrtices de obstculos)
Conexiones entre los nodos (caminos conectores de nodos visibles entre si)

De este modo, dos nodos estn conectados si y solo si son visibles, es decir, se puede
alcanzar el segundo nodo desde el primero (o viceversa) al seguir la lnea recta que los une, sin
interceptar algn obstculo del entorno. Tambin se consideran visibles si el segmento que une
los dos nodos yace sobre una arista del polgono que modela a un obstculo.

Mtodos de bsqueda y optimizacin en IA Pgina 34 de 53


El algoritmo de planificacin basado en grafos de visibilidad

1 Construccin del grafo.


2 Bsqueda.

La ruta consiste en la sucesin de nodos por los cuales deber pasar el robot al seguir los arcos,
para llegar a la configuracin final q f partiendo desde la de inicio q a . As, esta se define por
un conjunto ordenado de nodos del grafo:

donde el nodo g i ser visitado antes que g j s y


solo s i<j.

Este algoritmo desempea su funcin en entornos conocidos en su totalidad, en el cual los


obstculos se encuentran modelados como polgonos.
Tomemos ahora en cuenta la metodologa basada en grafos de visibilidad que puede usarse con
entornos en parte especificados.

El algoritmo de planificacin basado en subgrafos de visibilidad

El algoritmo basado en subgrafos de visibilidad tiene como principal premisa l


desconocimiento, por parte del robot, del entorno en el cual efectuar su tarea. Por ello, no
encuentra una ruta ptima (s existe) sino una solucin admisible.

Se caracteriza por no generar el grafo completo, sino el subgrafo necesario para encontrar el
objetivo. Suponiendo que el robot se encuentra en el nodo inicial, desde ste elige de la gama
de nodos visibles aquel que posea la distancia eucldea menor con respecto al nodo final.
El nodo de partida y el nodo elegido se marcan como visitados, y se introducen en la ruta
solucin. En el caso de que el nodo actual no posea nodos visibles y tampoco sea el nodo meta,
se retroceder al nodo anterior y se seleccionar, entre los visibles, el ms cercano al nodo
final que no est visitado.

Existen fuertes restricciones para llevar este algoritmo a la prctica de la forma descrita, sin
embargo resulta posible utilizar una versin modificada como algoritmo de planificacin de
rutas admisibles. En algunos casos mejora la relacin existente entre el clculo de la ruta
ptima y el tiempo empleado en localizarla, ante la utilizacin conjunta de un algoritmo de
generacin de grafos de visibilidad y bsqueda heurstica tipo A * .

Las estructuras empleadas en el algoritmo forman dos conjuntos:

visitados y camino, los cuales almacenan los nodos evaluados y el camino actual
respectivamente.

Mtodos de bsqueda, optimizacin y planificacin en IA Pgina 35 de 53


Pseudocdigo del
algoritmo de planificacin
por subgrafos

Sobredimensionar los obstculos en grafos de visibilidad

El mtodo se basa en la construccin de un entorno sobredimensionado de los obstculos a


partir del original, sobre el cual se puede aplicar de la forma descrita la planificacin basada en
grafos de visibilidad.

En la siguiente figura (3.2) la ruta definida por la secuencia ordenada de nodos

G={g 1 ,g 2 ,g 3 ,g 4 ,g 5 }
ha sido planificada mediante el uso de grafos de visibilidad y una versin sobredimensionada del modelo del
entorno. La obtencin de este nuevo modelo implica la utilizacin de un factor de expansin que garantice que la
ruta planificada resulte segura. En la mencionada figura se considera un arquetipo de robot circular, por lo que se
ha utilizado un factor de expansin igual al radio de la circunferencia que lo modela. Por tanto, se procede a la
construccin de una ruta que impide la colisin del robot con algn obstculo del entorno.

Mtodos de bsqueda y optimizacin en IA Pgina 36 de 53


El modelo se compone de dos clases de cuerpos:
Los obstculos.
El polgono lmite del entorno.

Los obstculos se refieren a los cuerpos que se encuentran en un determinado entorno de


trabajo y definidos segn el conjunto B, mientras que el segundo es el polgono P que define
los lmites fsicos del espacio de trabajo del robot, y por tanto, especifica los
confines del espacio de configuraciones C.

Algoritmo de expansin del entorno.


Consiste en aplicar el tratamiento adecuado a cada uno de las partes integrantes, esta accin se
realizar en tres fases:

i) Expansin de obstculos y contraccin del polgono lmite.


ii) Clculo del nuevo polgono lmite.
iii) Clculo del nuevo conjunto de obstculos.

Expansin de obstculos y contraccin del polgono lmite.


La expansin de un obstculo b i conlleva aadir un conjunto de configuraciones adicionales
e(b i ) a b i (q), para construir la versin expandida del obstculo b * i (q) = b i (q)+e(b i )
donde e(b i ) es una funcin que aade las configuraciones inmediatamente prximas a los
lmites del obstculo. En el caso de un nico obstculo b i que est modelado mediante bp i , su
expansin significa la realizacin de una serie de modificaciones sobre el polgono que lo
modela.

Si el polgono es convexo, el algoritmo de expansin resulta fundamentalmente un escalado de


sus aristas, proceso que se realiza en dos etapas:

i) Por cada arista del polgono original construir una recta paralela a cierta distancia hacia el

Mtodos de bsqueda, optimizacin y planificacin en IA Pgina 37 de 53


exterior.
ii) Clculo del punto de corte entre dos rectas pertenecientes a dos aristas consecutivas del
polgono original. El conjunto de puntos de corte entre rectas obtenido sern los vrtices del
nuevo polgono.

Sin embargo, con polgonos no convexos, el algoritmo anterior resulta incompleto, por lo que
se precisa incorporar un paso adicional. La problemtica que conlleva realizar la
expansin se refleja a continuacin:

En esta figura, se aprecia cmo la


expansin significa aadir un conjunto
de configuraciones adicionales que no
estn contempladas por la funcin e(b i )
y que se muestran dentro de la
concavidad del obstculo.

Para la resolucin de este problema, una vez efectuado el paso i), en el paso ii) se aaden los
puntos de corte entre dos aristas no consecutivas, de forma que se construye un grafo
compuesto por dos tipos de nodos: los vrtices originales del polgono expandido, y los puntos
de corte entre dos aristas no consecutivas. Las aristas se definen como los segmentos del
polgono expandido que unen dos nodos, como se en la siguiente figura:

Se puede observar cmo el grafo define


una serie de polgonos unidos entre s:
uno exterior (punteado), y dos interiores
(sin puntear). El rea ocupada por el
obstculo expandido se constituye por la
unin de las reas definidas por los
distintos polgonos, por tanto, el tercer
paso que se incorpora al algoritmo
expuesto para polgonos convexos es el
clculo del polgono envolvente que
comprende todas las reas.

De este modo:
iii) Eliminar del grafo del polgono expandido las aristas interiores. Se define
una arista interior como aquella en la que al menos uno de los dos vrtices que
la definen es interior al polgono envolvente.

Mtodos de bsqueda y optimizacin en IA Pgina 38 de 53


Generacin de Caminos Locales: Sorteo de Obstculos.

A medida que el robot avanza, su sistema sensorial se encuentra alerta para detectar obstculos en
el camino planificado, estos pueden ser evitados utilizando tcnicas de planificacin local. As, mientras el
planificador global realiza una primera construccin del camino a recorrer, el planificador local, una vez
detectado un obstculo, debe modificar el camino original para rodearlo.

Las tcnicas de planificacin a utilizar, sern las que realizan la construccin a priori del camino
propuesto. Esta accin se efecta en dos etapas: a) especificacin de la ruta local que define una va por la
cual se evita el obstculo detectado y b) ajuste de una curva sobre la ruta construida, de tal modo que el
camino obtenido a partir de ella resulte admisible desde el punto de vista cinemtico.
Este proceso puede obtener dos resultados distintos:

La construccin de un nuevo camino local que evite el obstculo detectado.


Una indicacin de la inexistencia de una solucin, lo que producir la inmediata parada del
vehculo.
Algo que se debe tener en cuenta, es que se considera que los obstculos carecen de movimiento y que
el camino original se encuentra construido. El sistema sensorial se encargar de proporcionar un nuevo
punto de referencia que defina la nueva ruta que se ha de seguir para sortear el obstculo. Debido a las
capacidades del vehculo, existe la necesidad de realizar un mtodo que construya caminos con
caractersticas ptimas, considerando las restricciones cinemticas y dinmicas de ste. Adems, este
mtodo debe permitir una respuesta inmediata a la localizacin de la obstruccin del camino actual, para
que el robot no choque con el objeto.

Definicin formal del problema


La realizacin de un sorteo planificado de obstculos, implica la construccin de una ruta local libre de
obstculos, y de un camino (sobre ella), admisible desde el punto de vista cinemtico.
La definicin de la ruta exige una etapa previa de modelado del obstculo que se ha de evitar segn la
informacin suministrada por los sensores externos del vehculo. Se pueden considerar dos clases de arquetipos
de obstculos equivalentes entre s: emplear un crculo que lo cubra, o bien indicar un punto de referencia que
denote una zona segura para evitarlo.

Si se supone el empleo de un punto de referencia como modelo de obstculo, los parmetros utilizados para la
planificacin local seran:

Camino construido Q mediante la planificacin y generacin global. Este se considera definido a partir de la funcin
camino P().
Configuracin actual q s del robot mvil sobre el camino Q.
Punto de referencia gn que define la nueva ruta a seguir (que es proporcionado por el sistema sensorial del robot).
Configuracin de aterrizaje q e en la cual el camino local se encuentra con el global.
De este modo, la ruta libre de obstculos se define por el tro (q s , g n , q e ).

Mtodos de bsqueda, optimizacin y planificacin en IA Pgina 39 de 53


Como ya se mencion, se necesita un algoritmo que realice la replanificacin del camino en el menor
tiempo posible construyendo un camino alternativo Qo que evite el obstculo detectado y admisible desde
el punto de vista cinemtico. Este camino alternativo se define a partir de una funcin camino alternativo
Po (). Al componer la curva Po () con la funcin camino P() se crea un nueva funcin Pn() que se
encuentra libre de obstculos, resulta admisible cinemticamente y adems es continua en orientacin y
curvatura.

Curvas Beta-Spline para la construccin del camino.


Sobre la ruta libre de obstculos establecida por el tro (qs, gn, qe), resulta necesario ajustar una curva
que defina un camino con buenas propiedades. Esta curva debe estar definida en forma paramtrica, para
permitir los grados de libertad requeridos en el movimiento del robot. Se pueden utilizar mtodos
tradicionales de interpolacin en la especificacin de curva, pero resulta arduo controlar la variacin de la
curvatura en la obtencin de un camino con buenas caractersticas. Adems este tipo de procedimientos
presenta una complejidad que aumenta de manera considerable en funcin al nmero de puntos que se
desee interpolar. El uso de una funcin de tipo spline, debido a su definicin por partes resuelve el
problema de la complejidad computacional en este caso.

Por eso, el problema de la construccin del camino depende de la resolucin


de las dos siguientes cuestiones:

1) Bsqueda del polgono de control:


Una curva spline se caracteriza por su definicin por partes en virtud de unas curvas de cierto orden
m, que mantienen una continuidad de al menos hasta la segunda derivada. La curva i-sima viene dada
por la siguiente expresin:

en donde B j se denomina funcin peso, y su definicin especifica el tipo de curva spline en particular, y
los puntos cartesianos V i+j , conforman el polgono de control, que define la topologa de una
instanciacin de la curva en concreto.
De este modo, la construccin de Po () queda transformada en el clculo de un polgono Vc={v c1 ,v
c2 ,...,v cm }, a partir de un sistema de ecuaciones .

2) Discretizacin de la curva:
El segundo problema que surge con el empleo de curvas tipo spline consiste en la bsqueda del
conjunto L necesario para la realizacin de la conversin a un camino Qo de la funcin Po (). La
problemtica se debe a la necesidad que manifiesta el seguidor de caminos de que las distintas
configuraciones que forman el camino alternativo Qo se encuentren separadas por una misma distancia .
La eleccin del tipo de curva spline que se ha de utilizar resulta fundamental para la construccin del
camino. La clase de spline queda determinada por la naturaleza de las funciones peso, que confieren a la
curva ciertas caractersticas en relacin a su polgono de control.
Los criterios que pueden emplearse para la eleccin del tipo de curva que se utilizar son:
Facilidad del clculo del polgono de control.
Relacin lo mas lineal posible entre el parmetro de la curva y su longitud de arco.
La curva spline ms sencilla es la cbica. Ella se compone de funciones de tercer grado que interpolan

Mtodos de bsqueda y optimizacin en IA Pgina 40 de 53


el polgono de control, preservando en sus uniones una continuidad de hasta la segunda derivada. Cada
funcin viene definida por dos vrtices consecutivos del polgono de control y la orientacin con la que se
debe intercalar en cada uno de ellos. Slo se pueden imponer las orientaciones inicial y final al primer y al
ltimo punto del polgono ya que las del resto se calcula para proporcionar la continuidad hasta la
segunda derivada.

La figura representa una curva spline cbica P(t), formada por dos segmentos P k (t) y P k+1 (t) que
mantienen su continuidad hasta la segunda derivada en el punto de unin P k+1 . Ello se debe al hecho de
haber calculado un vector tangente P k+1 que define la orientacin en dicho punto.
Debido a que las curvas Spline presentan grandes problemas al ser utilizadas para problemas reales, se
utilizar un tipo de curva llamada -Spline que posee las siguientes ventajas:

Est construida en base a segmentos de un mismo orden, lo que implica que cualquier modificacin en el
polgono de control de la curva slo requiere una reconstruccin de la curva local en los segmentos
afectados.
Posee la posibilidad de introducir vrtices de control adicionales para la imposicin de condiciones
iniciales, lo que permite que el camino comience o termine en ciertas en ciertas posturas especificadas.
Posee un parmetro que controla el grado del polinomio y por lo tanto la suavidad del mismo.
Estas propiedades se deben a la sencillez y flexibilidad de la definicin de las funciones peso,
modeladas como polinomios de tercer orden, teniendo en cuenta, que el orden de la curva se mantiene
constante e independiente del nmero de vrtices de control.
Las mejores prestaciones de las curvas Spline, en lo referido a la variabilidad lineal de la
curvatura, se obtienen utilizando su versin cbica (1=1, 2=0).

Descripcin del mtodo


Un ejemplo de cmo utilizar stas curvas se presenta en la figura siguiente, en la cual, el camino
alternativo para esquivar el obstculo presente en el camino original, puede aproximarse con el uso de tres
arcos circulares.

La principal ventaja que presenta esta aproximacin consiste en la acotacin de la curvatura en lo que
se refiere al recorrido a travs de los diferentes arcos circulares.

En la siguiente propiedad se expone una importante caracterstica de las curvas Splines cuando el
polgono de control que las define yace sobre un arco circular.

Mtodos de bsqueda, optimizacin y planificacin en IA Pgina 41 de 53


Propiedad: Acotacin cartesiana de la curva Beta-Spline

Sea V={V -2 , V -1 ,V 0 ,V 1 } un conjunto de los cuatro vrtices de control situados sobre el permetro
de un crculo de radio , y separados entre s por una distancia , que es menor o igual a la mitad del
radio por Pi. El segmento de curva -Spline definido por V se encuentra acotado entre el crculo en el que
yace dicho conjunto y otro concntrico al anterior con radio definido por:

Esta propiedad proporciona un rea en el plano en la cual se incluye la curva -Spline cuando viene
definida a travs de un conjunto de vrtices de control que cumplen las especificaciones mencionadas. La
distancia introducida en la definicin de esta propiedad asegura que los vrtices de control se
encuentran equidistantes en el crculo de radio .
Los cuatro puntos de control de V abarcan un arco de crculo de longitud D, el cual define una seccin
de crculo de ngulo .

Acotacin de un segmento de curva -Spline.

La conclusin directa de esta propiedad consiste en la posibilidad de asegurar una zona en la cual se
situar la curva cuando el polgono de control yace sobre un crculo. Por otra parte, mediante
comprobaciones experimentales, se demuestra que la curva adopta la forma de un arco circular de
curvatura constante igual a la inversa del radio .

El mtodo de sorteo de obstculos efecta una etapa previa de construccin de un camino de


referencias continuo en posicin y orientacin. En segundo lugar, sobre los arcos de despegue,
circunnavegacin y aterrizaje construye un polgono de control a partir del cual se define la curva -Spline
que ajusta el camino de referencias. Este ltimo paso facilita la continuidad en curvatura buscada.

Construccin del crculo de circunnavegacin.


Considrese un obstculo modelado por el crculo Cb de radio b y centro cb . Sea q b ={x b ,y b , b ,b }
la postura del camino global Q ms cercano a cb . Sea la recta que pasa por (x b ,yb ), perpendicular a la
tangente en dicho punto, y definida por el ngulo b que forma con respecto al eje Y del sistema de

Mtodos de bsqueda y optimizacin en IA Pgina 42 de 53


referencias global. Si W es el vector de direccin de dicha recta, esta queda definida como sigue:

El crculo de circunnavegacin Cm se define como aquel que tiene su centro situado en la recta y que
pasa a travs de un punto a situado a una distancia d sobre dicha recta.

Definicin del crculo de circunnavegacin.

El centro del crculo viene dado por:

Adems, la distancia d desde qb hasta el punto a se considera como:

Donde representa la distancia de seguridad definida para que la curva no


intercepte el crculo que modela el obstculo.

Construccin de los crculos de despegue y aterrizaje.

Una vez construido el crculo encargado de esquivar el obstculo rodendolo, se procede al clculo de los crculos
de despegue y aterrizaje. Dichos crculos deben contener las siguientes caractersticas:

Tangente al crculo de circunnavegacin C m .


Tangente a la primera derivada del camino en el punto de despegue o aterrizaje segn sea el caso.
La formalizacin analtica de las propiedades, que deben verificar cada uno de estos crculos, conduce a la
resolucin de ecuaciones no lineales, que presentan varias posibles soluciones. Por ello, para reducir la
complejidad de la bsqueda del resultado en particular deseado, se ha utilizado un planteamiento geomtrico.

Mtodos de bsqueda, optimizacin y planificacin en IA Pgina 43 de 53


Planteamiento de la solucin geomtrica.

Sea Cs el crculo de despegue, Cm el de circunvalacin y qs la postura inicial del robot, se define a s ()


como la recta tangente al camino en qs, y a s() como su recta perpendicular, por lo cual, el centro
cs del crculo Cs est contenido en s().
Idntico razonamiento se emplea para la construccin del circulo de aterrizaje Ce de radio e y centro ce.

La recta s () divide al plano en dos regiones, de tal modo que el crculo que se ha de calcular (Cs Ce )
estar contenido por completo en una de estas dos regiones. Hay que tener en cuenta, que por cuestiones de planteo
matemtico, alguna porcin del crculo de circunnavegacin debe localizarse en la regin donde se desea construir
el crculo de despegue o aterrizaje. En caso contrario, el resultado obtenido no sera el correcto, es decir, no puede
suceder ninguna de las siguientes cosas:

Generacin del camino


Para realizar esto se utiliza la definicin la una curva -Spline que se ajuste sobre los tres arcos y que
soluciona los problemas de discontinuidad entre las uniones de los mismos.
Esta curva definir la funcin camino alternativo P o (). El primer paso en la delimitacin de esta
curva, consiste en la especificacin de su polgono de control. Este se hallar constituido por vrtices
situados sobre cada uno de los tres arcos pertenecientes a los tres crculos calculados.

Mtodos de bsqueda y optimizacin en IA Pgina 44 de 53


Puntos de control de la curva -Spline a construir.

La construccin del polgono de control de la curva se realiza a partir de numerosos vrtices separados
entre s por una misma distancia . Esta configuracin del polgono de control permite un mayor control
de las variaciones de la curvatura. Adems, la separacin homognea de los vrtices evita saltos
indeseados en la curvatura.

Teniendo en cuenta la propiedad de acotacin cartesiana de la curva -Spline cuando los vrtices de
control se encuentran sobre un arco circular de radio , sta comprende una curvatura acotada por los
valores -1 y -1. De esta forma, la curvatura del camino se encuentra acotada. Por lo tanto, si se conocen
los valores de los radios de los crculos de despegue, circunnavegacin y aterrizaje, se puede determinar si
el camino especificado resulta admisible desde el punto de vista cinemtico. Sin embargo, queda por
determinar que el nuevo camino libre de obstculos P n (), definido por la composicin del camino
original P() y del camino alternativo P o () cumpla con las restricciones de continuidad en posicin,
orientacin y curvatura. El problema consiste en la definicin de ciertas condiciones de inicio sobre el
primer segmento de curva -spline, y otras finales que debe cumplir el ltimo segmento de P o (). Estas
condiciones salen a la luz con el clculo de una serie de puntos de control adicionales que se aadirn al
inicio y al final de los ya construido sobre los tres crculos.

Gracias a propiedades especiales que poseen las curvas -Spline se pueden calcular los puntos de
control precisos para que al inicio y al final de la curva se verifiquen las restricciones de posicin,
orientacin y curvatura. Con ello, se asegura que no se presentarn discontinuidades entre el camino
original y el alternativo que esquiva el obstculo en los puntos de unin.

El ltimo paso que debe llevarse a cabo, una vez construida la curva P o () que define el nuevo
camino, consiste en la discretizacin de la misma para convertirla en un conjunto de posturas que pueda
emplear el algoritmo de seguimiento. Esta discretizacin debe realizarse de modo que la posturas
generadas resulten aproximadamente equidistantes.

Luego, hay que elaborar un algoritmo para que el robot lo ejecute. Este algoritmo, en el caso de no
obtener ninguna situacin errnea, debe devolver el conjunto de posturas Q o que representa el camino
alternativo que esquiva el obstculo aparecido en el camino original. Por otro lado debe asegurarse con ello
que este nuevo camino, libre de obstculos, se muestra continuo en posicin, orientacin y curvatura en
relacin al original en los puntos de unin de despegue y aterrizaje. Sin olvidar que debe asegurar una
curvatura acotada entre ciertos valores proporcionados por el modelo cinemtico del vehculo, de tal modo
que el nuevo camino resulte admisible desde los supuestos cinemticos.

Generacin de Caminos Globales Mediante Curvas -Splines.

Ajuste de las propiedades de las curvas -Spline.


La propiedad de la acotacin cartesiana hace mencin a la regin geomtrica en la cual se encuentra
situada la curva con respecto a sus vrtices de control, siempre que estos se hallen situados sobre un crculo de un
determinado radio . Sin embargo se debe exigir que los vrtices de la ruta planificada pertenezcan a la funcin
camino. Ello requiere que la acotacin cartesiana de la curva -Spline sea ms precisa.

Mtodos de bsqueda, optimizacin y planificacin en IA Pgina 45 de 53


En la descripcin del camino resulta de importancia que ste comience y termine en ciertas posturas
previamente determinadas. As se posibilita la unin de dos caminos globales, confiriendo al camino resultante una
continuidad en posicin, orientacin y curvatura. Esta cuestin cobra especial relevancia en las dos situaciones
siguientes:

Navegacin en entornos conocidos de forma parcial donde la planificacin y generacin de caminos se


efectan a medida que se avanza en el conocimiento del mismo.
Regeneracin del camino a partir del estado actual del vehculo debido al error acumulado de
posicionamiento.

Ante estas dos cuestiones resulta necesario adoptar cierta postura inicial o final oportunas para la
curva -Spline. El objetivo consiste en encontrar una expresin que relacione los valores de las
derivadas (x,y) y (x,y). Los valores de estas derivadas deben ser tales que impongan una
configuracin inicial o final a la funcin camino y permitan una transicin de curvatura sin cambios
bruscos.

Camino de referencias continuo en posicin y orientacin.

La construccin del camino de referencias se constituye en el primer paso para llevar a


cabo la generacin de un camino. Se trata de la especificacin de una serie de segmentos y arcos
que interpolan los vrtices g i de la ruta planificada G, de tal modo que mantenga continuidad
tanto en la posicin como en la orientacin en sus uniones. El mtodo planteado consiste en la
construccin de unos crculos de giro C i sobre los vrtices {g 2 ,...,g p-1 }de la ruta, para unirlos
posteriormente con rectas tangentes.

Como
se puede constatar, la figura ilustra una ruta G={g 1 ,g 2 ,g 3 ,g 4 ,g 5 } calculada mediante grafos de
visibilidad en un entorno expandido (lnea discontinua). Sobre ella se muestra el mtodo utilizado para la
construccin del camino de referencias (en trazo grueso) mediante la concatenacin de segmentos y arcos
circulares.

En la mencionada figura se encuentra representada una ruta de cinco vrtices. Sobre el polgono
G, se ha construido una serie de crculos de giro C i , separados cierta distancia de los vrtices del camino
de referencia. Esta separacin se crea por la distancia existente entre el crculo de circunnavegacin C m y
el crculo que modela el obstculo C o. Todo ello permite que la curva -Spline, que se construir en un
segundo paso, interpole los vrtices g i . Por otra parte, la continuidad en posicin y orientacin, se
garantiza mediante el uso de rectas tangentes para la unin de dos crculos consecutivos.

Mtodos de bsqueda y optimizacin en IA Pgina 46 de 53


Construccin de los crculos de giro.

Estos crculos permiten el cambio de direccin entre dos segmentos consecutivos de la ruta
proporcionada por el planificador. El primer paso de la construccin de un crculo C i , queda reflejado la
siguiente figura:

Este crculo tiene un radio


inicial i, y su centro est situado
en la bisectriz D i del menor de los
ngulos i, que forman dos
segmentos consecutivos. El radio i
se define en una fase previa de
anlisis dinmico y cinemtico del
vehculo. De este modo, el valor
mnimo se halla acotado por el
menor radio de giro que puede
desarrollar el vehculo (condicin
de admisibilidad cinemtica), y de
l depende la velocidad mxima que puede acusar al navegar sobre el crculo. El radio mximo permitido
resulta aquel que asegura que el crculo definido no contenga en su interior vrtices adyacentes de la ruta
calculada por el planificador.
Construccin de las rectas tangentes.

Con esta expresin se denomina a la unin de los crculos consecutivos, que no sean tangentes,
mediante rectas que proporcionen una continuidad en la posicin y la orientacin. Al finalizar este paso
queda definido un camino compuesto por arcos circulares y segmentos rectilneos que conforman el
denominado camino de referencias.

Entre dos crculos consecutivos C i y C i+1 , se puede trazar el conjunto de rectas tangentes
representado en la siguiente figura:

De este modo, el problema consiste


en identificar y calcular el tipo de
tangente 1), 2), 3) 4) que se ha de
aplicar en cada caso, segn la disposicin
de los crculos.

En la identificacin del tipo de recta


tangente que se ha de construir, resulta
suficiente el estudio de la posicin
relativa de la recta 1 (), que se
especifica en virtud de los centros de los dos crculos c i y c i+1 , con la recta 2 ().
Esta ltima se determina como aquella que contiene el segmento de ruta comn contenido en los
crculos C i y C i+1.

Se supone que ambas rectas se encuentran especificadas en su forma paramtrica normalizada, de


tal modo que en el caso de 1 () se cumple que 1 (0)=c i , 1 (1)=c i+1 , y de forma igualitaria con 2 ()
se verifica que 2 (0)=g i y 2 (1)=g i+1 . Si el sistema de ecuaciones compuesto por las expresiones de
ambas rectas tiene solucin con un valor del parmetro contenido en el intervalo [0,1], resulta la
situacin expresada en la figura a) En el caso contrario, la situacin se ilustra en b). Distinguir el subcaso
concreto, resulta una operacin obvia debido a la simetra del problema. La recta tangente en particular se
expresar en su forma punto pendiente. Con ello la solucin geomtrica buscada ofrecer como resultado
la pendiente del segmento de unin, y el punto de la ruta g i.

Mtodos de bsqueda, optimizacin y planificacin en IA Pgina 47 de 53


Los casos de rectas tangentes 1) y 2) quedan esquematizados en la siguiente figura:

Como se puede constatar, la pendiente de la recta buscada queda definida como la tangente del ngulo .
Ya que las rectas que contienen a los radios i y i+1 resultan ser paralelas, los tringulos formados por c i
A D, c i+1 E B y EAC son semejantes, por lo que se deduce que el valor de la pendiente se define como
sigue:

El parmetro n de la ecuacin de la recta y=mx+n , se


calcula mediante el punto de tangencia A de la recta sobre el crculo C i.
De la misma forma, los casos 3) y 4) se representan con el uso de un sistema local de coordenadas.
Esto implica que la solucin calculada, al igual que en el caso anterior, debe ser transformada para
expresarla en el sistema de referencias global empleado.

En la figura se
distinguen los
siguientes tringulos
semejantes: c i AD, c i AC, c i+1 CB y c i+1 BE. As pues, la pendiente de la recta buscada se identifica por la
tangente del ngulo . Dicha razn trigonomtrica se define por la expresin:

Mtodos de bsqueda y optimizacin en IA Pgina 48 de 53


Camino continuo en posicin, orientacin y curvatura.

Este paso resulta similar al descrito en el sorteo de obstculos. Se trata de la construccin de una
curva -spline a partir de un conjunto de vrtices de control
equidistantes, definidos sobre los arcos y segmentos que conforman el camino de referencia. Para la
imposicin de una postura inicial y una final, se utilizan vrtices de control adicionales al comienzo y final
del conjunto generado sobre el camino de referencias. Para garantizar una mayor suavidad en la transicin
de la curvatura, se utiliza un crculo de despegue sobre g 1 y uno de aterrizaje sobre g p , lo que confiere a
este mtodo un aspecto de algoritmo de sorteo de obstculos generalizado. El uso de estos crculos al
comienzo y final del camino facilita la unin entre dos caminos globales, en el caso de estar navegando con
una informacin limitada del entorno.
Una vez definida la curva a partir de su polgono de control, se procede a la discretizacin de la
misma para formar el camino. Para ello se sigue el mismo criterio que en la generacin de caminos locales.

El algoritmo que construye caminos globales se puede esquematizar del modo siguiente:

1.- Especificacin del camino continuo en posicin y orientacin.

a) Construir un conjunto de crculos C i sobre los vrtices de G.


b) Trasladar cada crculo C i a una distancia desde g i+1 sobre D i .
c) Determinar los segmentos tangentes entre los crculos.
d) Construir un crculo de despegue sobre g 1 , y un crculo de aterrizaje sobre g p .

2.- Consecucin de la continuidad en la curvatura.

a) Construccin del polgono de control sobre los arcos y segmentos definidos.


b) Clculo de los puntos adicionales de control para conferir una postura al principio
y final del camino.
c) Construir la funcin camino P( ) como una curva -spline definida a partir de los
puntos de control calculados.
d) Discretizar la curva -Spline en el conjunto Q de posturas q i .

Integracin del mtodo de generacin de caminos con la planificacin


basada en grafos de visibilidad

La ruta calculada por un planificador de caminos, basado en grafos de visibilidad, se encuentra


libre de obstculos. Sin embargo, presenta el inconveniente de no poder ser ejecutada por un robot no
omnidireccional. Aunque la ruta inicial resulta libre de obstculos, ello no puede garantizarse con el
camino construido a partir de ella. De este modo, se precisa modificar en cierta medida tanto el mtodo de
planificacin basado en grafos de visibilidad como el mtodo de generacin de caminos. El objetivo
consiste en garantizar que en virtud a una ruta libre de obstculos se genera un camino que tambin lo sea.

Mtodos de bsqueda, optimizacin y planificacin en IA Pgina 49 de 53


La principal ventaja de un planificador basado en grafos de visibilidad, en el supuesto de un
entorno conocido, se constituye en la posibilidad de realizar un procesamiento previo al modelo del
entorno, consistente en la construccin del grafo de visibilidad. De esta forma, mientras el entorno
permanezca esttico, resulta del todo innecesario la reconstruccin del grafo que se asocia al mismo y, en
consecuencia, la bsqueda del camino solucin se agiliza. Esta caracterstica se emplea para conferir al
grafo de visibilidad original determinada informacin cinemtica, de manera que, esta sea empleada por el
algoritmo de bsqueda en grafos para localizar la ruta solucin. El resultado de la planificacin consiste en
una ruta sobre la cual se puede construir un camino admisible de forma cinemtica, libre de obstculos y
de longitud mnima. Por otro lado, no ser preciso calcular de nuevo la informacin cinemtica mientras el
entorno permanezca invariable. El procesamiento previo al que se somete el modelo del entorno consiste
en la expansin del mismo, y en la construccin de un grafo de visibilidad con informacin cinemtica.
Asimismo, para incrementar la eficiencia del algoritmo desarrollado para la bsqueda en este tipo de
grafos, se trasladan algunos de los nodos del mismo.
Por las caractersticas del mtodo de generacin de caminos no todas las modificaciones necesarias
para lograr la integracin se pueden llevar a cabo en tiempo de preprocesamiento. Por esta razn, algunas
operaciones deben ejecutarse mientras se realiza la bsqueda de la ruta solucin. Ello retarda el mtodo de
planificacin-generacin de forma computacional, pero sin degradar de manera sensible sus caractersticas
de rapidez.
Construccin del grafo de visibilidad cinemtico.

La admisibilidad cinemtica de un camino, construido por el mtodo descrito, se


determina por el radio de los crculos de giro, ya que estos son los responsables de acotar la
curvatura a ciertos valores. De este modo, la inclusin de la informacin suministrada por los
crculos de giro en el grafo de visibilidad, conlleva aadir al grafo la referencia cinemtica
necesaria para decidir a priori si el camino definido a partir de cierta ruta resultar admisible
de forma cinemtica.
Un crculo de giro se determina por tres puntos consecutivos de la ruta. Este indica, segn el
mtodo de generacin de caminos, el giro que debe efectuar el vehculo para trasladarse de un segmento al
siguiente de la ruta. Por tanto, este crculo proporcionar la informacin cinemtica asignada a dicho par
de segmentos.

El conjunto de tramos realizables T r se define como la agrupacin de aquellos que pueden ser
empleados en la construccin de la ruta solucin. Estos se caracterizan por permitir la construccin de un
camino. Por lo tanto, se denomina grafo de visibilidad cinemtico GVC a la terna (T r ,, ), donde T r es el
conjunto de tramos realizables, es la funcin radio (que en este caso, toma en cuenta si existe algn
obstculo en el entorno)y la funcin de visibilidad entre tramos.

Algoritmo V * : Bsqueda en el grafo de visibilidad cinemtico.


Una vez precisado el grafo de visibilidad cinemtico como versin del grafo de visibilidad al cual
se le ha aadido la informacin cinemtica, el problema de la planificacin consiste en la bsqueda de una
sucesin de tramos realizables de tal modo que se conecte la posicin inicial con la final y que el camino de
referencias, construido a partir de ella, resulte libre de obstculos.
La solucin empleada se fundamenta en el algoritmo de bsqueda en grafos A *. Sin embargo,
debe sufrir ciertas modificaciones que no alteren su naturaleza, para su adaptacin en la bsqueda en GVC
y su garanta de que el camino de referencias construido est contenido en el rea libre del entorno.

Los nodos en un grafo de visibilidad cinemtico resultan ser tramos, y por lo tanto el algoritmo de
bsqueda se fundamentar en la expansin de tramos. Esta expansin debe realizarse de tal forma que los
nuevos tramos aadidos al rbol de bsqueda del camino solucin pertenezcan al conjunto de los tramos
realizables.
Al igual que el algoritmo A * , el propuesto emplea un conjunto de nodos abiertos y otro conjunto
de nodos cerrados. Con el primer conjunto quedan indicadas las prximas direcciones de bsqueda, y con
el segundo se especifican los tramos que ya han sido visitados. La funcin de coste heurstica f(t i )
utilizada para concluir la bsqueda, se define como la suma de las funciones g(t i ) y h(t i ), donde

La funcin g(t i ) es la distancia recorrida sobre la ruta hasta el final del tramo actual.
La funcin h(t i ) es la distancia eucldea desde el nodo del tramo actual hasta el nodo destino.

Debido a que la funcin h(t i ) resulta una estimacin optimista de la distancia que resta por recorrer

Mtodos de bsqueda y optimizacin en IA Pgina 50 de 53


para alcanzar el destino, la funcin especificada cumple la restriccin de monotona exigida por el
algoritmo A * .

En el tiempo de bsqueda tambin es necesario corroborar que la sucesin de tramos que forma la
ruta solucin se componga por tramos realizables. Asimismo se verifica que el camino de referencias
generado a partir de la ruta resulta admisible. Esta admisibilidad se fundamenta en la comprobacin de
que es libre de obstculos.
La generacin del camino de referencias asociado a un tramo consiste en la unin del crculo de giro
del tramo anterior con el actual mediante un segmento tangente a ambos
crculos. Si dicho segmento
est libre de obstculos, yace por completo en el espacio libre del entorno, ste se evala como
admisible, ya que, en caso contrario, se procede a reducir el radio de los crculos de giro al
valor mnimo admisible y se realiza una segunda comprobacin. Si en este segundo intento el
segmento no yace por completo en el espacio libre, entonces el camino de referencias se
califica como inadmisible y, por tanto, se obvia el tramo asociado.

CPM

Critical Path Method mtodo del camino crtico

Este mtodo toma en cuenta:


Tiempos de las tareas.
Precedencias entre las tareas.

Dejando de lado un factor muy importante en la planificacin como ser los recursos. El CPM
considera a los recursos como inagotables.

El mtodo se basa en un diagrama de red que define un camino crtico el cual pasa por tareas
crticas las cuales al retrasare harn que todo el proyecto tambin lo haga.

Implementacin:

1. Establecer los tiempos y precedencias de todas las tareas (o subtareas).

Cada estado se representa de forma grfica como nodos donde cada nodo est dividido en
fecha comienzo/fin temprana y fecha de comienzo/fin tarda. Y cada tarea se
representa en forma de flechas que van de un estado a otro.

2. Dependiendo de las tareas se completan las fechas tempranas y tardas de


cada uno de los nodos del sistema.

3. Luego queda definidas las tareas crticas, las cuales al unirse forman uno o
ms caminos crticos.
Mtodos de bsqueda, optimizacin y planificacin en IA Pgina 51 de 53
Los nodos que forman el camino crtico adems de ser tareas crticas,
deben cumplir con que:

fecha de fin tarda duracin de la tarea = fecha de inicio tarda

RPWM
Ranked positional weight method - Mtodo de peso relativo ordenado

Este mtodo fue desarrollado para lneas de ensamblaje. Es ms fcil de aplicar que el CPM
(mtodo del camino crtico).
La principal diferencia es que el CPM considera a todos los recursos como ilimitados.
Planificar es crear un plan de accin y un marco de tiempo para llevar adelante las actividades
del trabajo en un proyecto.

Cmo funciona?
1. Se establecen elementos de trabajo, y s grafican mediante la implementacin de
una red de trabajo lgica que muestra en forma grfica las precedencias entre
tareas.

2. Se averigua la duracin de cada actividad (subtareas).

3. A cada elemento se le asigna un peso que denominaremos como peso relativo


(positional weight). Este define la importancia relativa de la tarea con respecto a
las otras, este peso se determina por la sumatoria de los tiempos de las tareas,
que en lnea de precedencia, faltan realizar.

4. Se ordenan las actividades por su peso relativo en orden descendiente con las ms
pesadas primero.

Para realizar el planeamiento propiamente dicho se comienza con la tarea de


mayor peso, dicha tarea debe requerir menor o igual cantidad de recursos que los
disponibles para poder ser llevada adelante.

Luego si los recursos no se han agotado se prosigue con la tarea con el prximo
mayor peso, pero antes de todo esta debe cumplir todas las condiciones de
Mtodos de bsqueda y optimizacin en IA Pgina 52 de 53
precedencia para poder ser llevada adelante.

La duracin del proyecto y requerimientos de recursos, por da, puede ser


obtenida de un RPWM (aunque los recursos sean variables).

Mtodos de bsqueda, optimizacin y planificacin en IA Pgina 53 de 53

Anda mungkin juga menyukai