5 research outputs found
Surrogate Search As a Way to Combat Harmful Effects of Ill-behaved Evaluation Functions
Recently, several researchers have found that cost-based satisficing search
with A* often runs into problems. Although some "work arounds" have been
proposed to ameliorate the problem, there has been little concerted effort to
pinpoint its origin. In this paper, we argue that the origins of this problem
can be traced back to the fact that most planners that try to optimize cost
also use cost-based evaluation functions (i.e., f(n) is a cost estimate). We
show that cost-based evaluation functions become ill-behaved whenever there is
a wide variance in action costs; something that is all too common in planning
domains. The general solution to this malady is what we call a surrogatesearch,
where a surrogate evaluation function that doesn't directly track the cost
objective, and is resistant to cost-variance, is used. We will discuss some
compelling choices for surrogate evaluation functions that are based on size
rather that cost. Of particular practical interest is a cost-sensitive version
of size-based evaluation function -- where the heuristic estimates the size of
cheap paths, as it provides attractive quality vs. speed tradeoffsComment: arXiv admin note: substantial text overlap with arXiv:1103.368
Finding acceptable solutions faster using inadmissible information
Bounded suboptimal search algorithms attempt to find a solution quickly while guaranteeing that its cost does not exceed optimal by more than a desired factor. Typically these algorithms use a single admissible heuristic evaluation function for both guiding search and bounding solution quality. In this paper, we present a new approach to bounded suboptimal search that separates these roles, consulting inadmissible information to determine search order and using admissible information to guarantee quality. Unlike previous proposals, it explicitly estimates expected solution cost and search distance in an attempt to reach a solution within the suboptimality bound as quickly as possible. We show how to construct these estimates during search using information that is readily available yet often overlooked. In an empirical evaluation across six diverse benchmark domains, the new techniques have better overall performance than When resources are plentiful or an optimal solution is required, A * search [1] using a consistent heuristic will find an optimal solution as fast as any equally informed search [2]. However, in many practical settings we must accept suboptimal solution
Influence-based motion planning algorithms for games
In games, motion planning has to do with the motion of non-player characters (NPCs)
from one place to another in the game world. In today’s video games there are two
major approaches for motion planning, namely, path-finding and influence fields.
Path-finding algorithms deal with the problem of finding a path in a weighted search
graph, whose nodes represent locations of a game world, and in which the connections
among nodes (edges) have an associated cost/weight. In video games, the most employed
pathfinders are A* and its variants, namely, Dijkstra’s algorithm and best-first
search. As further will be addressed in detail, the former pathfinders cannot simulate
or mimic the natural movement of humans, which is usually without discontinuities,
i.e., smooth, even when there are sudden changes in direction.
Additionally, there is another problem with the former pathfinders, namely, their lack
of adaptivity when changes to the environment occur. Therefore, such pathfinders
are not adaptive, i.e., they cannot handle with search graph modifications during path
search as a consequence of an event that happened in the game (e.g., when a bridge
connecting two graph nodes is destroyed by a missile).
On the other hand, influence fields are a motion planning technique that does not suffer
from the two problems above, i.e., they can provide smooth human-like movement and
are adaptive. As seen further ahead, we will resort to a differentiable real function to
represent the influence field associated with a game map as a summation of functions
equally differentiable, each associated to a repeller or an attractor. The differentiability
ensures that there are no abrupt changes in the influence field, consequently, the
movement of any NPC will be smooth, regardless if the NPC walks in the game world in
the growing sense of the function or not. Thus, it is enough to have a spline curve that
interpolates the path nodes to mimic the smooth human-like movement.
Moreover, given the nature of the differentiable real functions that represent an influence
field, the removal or addition of a repeller/attractor (as the result of the destruction
or the construction of a bridge) does not alter the differentiability of the global
function associated with the map of a game. That is to say that, an influence field is
adaptive, in that it adapts to changes in the virtual world during the gameplay.
In spite of being able to solve the two problems of pathfinders, an influence field may
still have local extrema, which, if reached, will prevent an NPC from fleeing from that
location. The local extremum problem never occurs in pathfinders because the goal
node is the sole global minimum of the cost function. Therefore, by conjugating the
cost function with the influence function, the NPC will never be detained at any local
extremum of the influence function, because the minimization of the cost function
ensures that it will always walk in the direction of the goal node. That is, the conjugation
between pathfinders and influence fields results in movement planning algorithms which, simultaneously, solve the problems of pathfinders and influence fields.
As will be demonstrated throughout this thesis, it is possible to combine influence fields
and A*, Dijkstra’s, and best-first search algorithms, so that we get hybrid algorithms
that are adaptive. Besides, these algorithms can generate smooth paths that resemble
the ones traveled by human beings, though path smoothness is not the main focus of
this thesis. Nevertheless, it is not always possible to perform this conjugation between
influence fields and pathfinders; an example of such a pathfinder is the fringe search
algorithm, as well as the new pathfinder which is proposed in this thesis, designated as
best neighbor first search.Em jogos de vídeo, o planeamento de movimento tem que ver com o movimento de
NPCs (“Non-Player Characters”, do inglês) de um lugar para outro do mundo virtual
de um jogo. Existem duas abordagens principais para o planeamento de movimento,
nomeadamente descoberta de caminhos e campos de influência.
Os algoritmos de descoberta de caminhos lidam com o problema de encontrar um caminho
num grafo de pesquisa pesado, cujos nós representam localizações de um mapa
de um jogo, e cujas ligações (arestas) entre nós têm um custo/peso associado. Os
algoritmos de descoberta de caminhos mais utilizados em jogos são o A* e as suas variantes,
nomeadamente, o algoritmo de Dijkstra e o algoritmo de pesquisa do melhor
primeiro (“best-first search”, do inglês). Como se verá mais adiante, os algoritmos de
descoberta de caminhos referidos não permitem simular ou imitar o movimento natural
dos seres humanos, que geralmente não possui descontinuidades, i.e., o movimento é
suave mesmo quando há mudanças repentinas de direcção.
A juntar a este problema, existe um outro que afeta os algoritmos de descoberta de
caminhos acima referidos, que tem que ver com a falta de adaptatividade destes algoritmos
face a alterações ao mapa de um jogo. Ou seja, estes algoritmos não são
adaptativos, pelo que não permitem lidar com alterações ao grafo durante a pesquisa
de um caminho em resultado de algum evento ocorrido no jogo (e.g., uma ponte que
ligava dois nós de um grafo foi destruída por um míssil).
Por outro lado, os campos de influência são uma técnica de planeamento de movimento
que não padece dos dois problemas acima referidos, i.e., os campos possibilitam um
movimento suave semelhante ao realizado pelo ser humano e são adaptativos. Como
se verá mais adiante, iremos recorrer a uma função real diferenciável para representar
o campo de influência associado a um mapa de um jogo como um somatório de
funções igualmente diferenciáveis, em que cada função está associada a um repulsor
ou a um atractor. A diferenciabilidade garante que não existem alterações abruptas
ao campo de influência; consequentemente, o movimento de qualquer NPC será suave,
independentemente de o NPC caminhar no mapa de um jogo no sentido crescente ou
no sentido decrescente da função. Assim, basta ter uma curva spline que interpola os
nós do caminho de forma a simular o movimento suave de um ser humano.
Além disso, dada a natureza das funções reais diferenciáveis que representam um campo
de influência, a remoção ou adição de um repulsor/atractor (como resultado da destruição
ou construção de uma ponte) não altera a diferenciabilidade da função global associada
ao mapa de um jogo. Ou seja, um campo de influência é adaptativo, na medida
em que se adapta a alterações que ocorram num mundo virtual durante uma sessão de
jogo.
Apesar de ser capaz de resolver os dois problemas dos algoritmos de descoberta de caminhos, um campo de influência ainda pode ter extremos locais, que, se alcançados,
impedirão um NPC de fugir desse local. O problema do extremo local nunca ocorre
nos algoritmos de descoberta de caminhos porque o nó de destino é o único mínimo
global da função de custo. Portanto, ao conjugar a função de custo com a função de
influência, o NPC nunca será retido num qualquer extremo local da função de influência,
porque a minimização da função de custo garante que ele caminhe sempre na direção
do nó de destino. Ou seja, a conjugação entre algoritmos de descoberta de caminhos
e campos de influência tem como resultado algoritmos de planeamento de movimento
que resolvem em simultâneo os problemas dos algoritmos de descoberta de caminhos e
de campos de influência.
Como será demonstrado ao longo desta tese, é possível combinar campos de influência
e o algoritmo A*, o algoritmo de Dijkstra, e o algoritmo da pesquisa pelo melhor
primeiro, de modo a obter algoritmos híbridos que são adaptativos. Além disso, esses
algoritmos podem gerar caminhos suaves que se assemelham aos que são efetuados por
seres humanos, embora a suavidade de caminhos não seja o foco principal desta tese.
No entanto, nem sempre é possível realizar essa conjugação entre os campos de influência
e os algoritmos de descoberta de caminhos; um exemplo é o algoritmo de pesquisa
na franja (“fringe search”, do inglês), bem como o novo algoritmo de pesquisa proposto
nesta tese, que se designa por algoritmo de pesquisa pelo melhor vizinho primeiro (“best
neighbor first search”, do inglês)
Estrategia de enrutamiento para la maniobra del enlace a un convoy de vehículos en entornos urbanos, robusta a la incertidumbre en los tiempos de recorrido
Esta tesis propone una estrategia de enrutamiento óptima para unidades de transporte inteligente que se mueven de manera autónoma por un entorno urbano conocido. El entorno está definido por un conjunto de calles y cruces (nodos), y en su interior un grupo de unidades móviles independientes se encuentran realizando tareas específicas. Dicho entorno está rodeado por una ruta periférica por la que se mueve continuamente un convoy compuesto por un líder y un número determinado de unidades seguidoras, sin enlace mecánico entre ellos. La misión del convoy es concentrar las unidades independientes antes y después de que hayan realizado, de forma independiente, su tarea. Básicamente, el trabajo se centra en dar solución a la maniobra de enlace consistente en lograr que la unidad independiente (perseguidora), partiendo de su ubicación actual en el interior del mapa, logre alcanzar el nodo periférico idóneo para unirse al convoy. Considerando que este último está limitado a circular por la ruta externa y por tanto no tiene acceso al interior del entorno, el enlace se realizará en uno de los nodos periféricos. El convoy sigue indefinidamente su trayectoria, por lo que la maniobra se considera exitosa siempre que la unidad independiente alcance el nodo de enlace antes que el convoy. El primer objetivo es resolver la maniobra de enlace considerando conocidos los tiempos de recorrido entre los nodos del mapa. Objetivo que incluye dos fases: cálculo del nodo óptimo de enlace y de la ruta que lleve a la unidad perseguidora hasta el mismo. Se entiende por nodo óptimo de enlace aquél que garantiza un tiempo mínimo de maniobra. Además, se ha diseñado un algoritmo de enrutamiento que explora el menor número de nodos posibles lo que garantiza su eficiencia computacional y su idoneidad para su ejecución en tiempo real, de especial interés en entornos complejos. El segundo objetivo es extender estos algoritmos a un entorno donde los tiempos de recorrido entre nodos no son conocidos. Esta incertidumbre, inherente a los tiempos de recorrido de todas las unidades, es propia de escenarios de transporte reales y tiene su origen en diversas fuentes como densidad variable de tráfico, condiciones meteorológicas, momento del día, etc. Para caracterizarla se ha propuesto un modelo gaussiano, donde los tiempos de recorrido son tratados como variables aleatorias parametrizadas por su valor medio y varianza. Por otra parte, este comportamiento no determinista impide garantizar de forma absoluta el éxito seguridad la maniobra de enlace. Por ello, se introduce el parámetro de diseño "Factor de Riesgo", que limita la probabilidad de fallo de la maniobra de enlace. Este factor condiciona además el tiempo de maniobra y el número de re-planificaciones intermedias hasta llegar al nodo final. En la solución propuesta se incluye un centro remoto al que están conectadas de forma inalámbrica todas las unidades de transporte. En el centro remoto se registran los tiempos de recorrido entre nodos consecutivos proporcionados por las unidades de transporte y se estiman los parámetros estadísticos temporales entre nodos no consecutivos mediante técnicas recursivas de Programación Dinámica. Finalmente, se ha procedido a la validación experimental de la propuesta global. En una primera fase se ha recurrido a la herramienta Player/Stage para validar mediante simulación los cálculos desarrollados a partir de un mapa diseñado al efecto. Superada esta, se ha utilizado un demostrador real donde la función de unidad líder y unidad perseguidora ha sido desarrollada por robots Pioneer P3-DX
Estrategia de enrutamiento para la maniobra del enlace a un convoy de vehículos en entornos urbanos, robusta a la incertidumbre en los tiempos de recorrido
Esta tesis propone una estrategia de enrutamiento óptima para unidades de transporte inteligente que se mueven de manera autónoma por un entorno urbano conocido. El entorno está definido por un conjunto de calles y cruces (nodos), y en su interior un grupo de unidades móviles independientes se encuentran realizando tareas específicas. Dicho entorno está rodeado por una ruta periférica por la que se mueve continuamente un convoy compuesto por un líder y un número determinado de unidades seguidoras, sin enlace mecánico entre ellos. La misión del convoy es concentrar las unidades independientes antes y después de que hayan realizado, de forma independiente, su tarea. Básicamente, el trabajo se centra en dar solución a la maniobra de enlace consistente en lograr que la unidad independiente (perseguidora), partiendo de su ubicación actual en el interior del mapa, logre alcanzar el nodo periférico idóneo para unirse al convoy. Considerando que este último está limitado a circular por la ruta externa y por tanto no tiene acceso al interior del entorno, el enlace se realizará en uno de los nodos periféricos. El convoy sigue indefinidamente su trayectoria, por lo que la maniobra se considera exitosa siempre que la unidad independiente alcance el nodo de enlace antes que el convoy. El primer objetivo es resolver la maniobra de enlace considerando conocidos los tiempos de recorrido entre los nodos del mapa. Objetivo que incluye dos fases: cálculo del nodo óptimo de enlace y de la ruta que lleve a la unidad perseguidora hasta el mismo. Se entiende por nodo óptimo de enlace aquél que garantiza un tiempo mínimo de maniobra. Además, se ha diseñado un algoritmo de enrutamiento que explora el menor número de nodos posibles lo que garantiza su eficiencia computacional y su idoneidad para su ejecución en tiempo real, de especial interés en entornos complejos. El segundo objetivo es extender estos algoritmos a un entorno donde los tiempos de recorrido entre nodos no son conocidos. Esta incertidumbre, inherente a los tiempos de recorrido de todas las unidades, es propia de escenarios de transporte reales y tiene su origen en diversas fuentes como densidad variable de tráfico, condiciones meteorológicas, momento del día, etc. Para caracterizarla se ha propuesto un modelo gaussiano, donde los tiempos de recorrido son tratados como variables aleatorias parametrizadas por su valor medio y varianza. Por otra parte, este comportamiento no determinista impide garantizar de forma absoluta el éxito seguridad la maniobra de enlace. Por ello, se introduce el parámetro de diseño "Factor de Riesgo", que limita la probabilidad de fallo de la maniobra de enlace. Este factor condiciona además el tiempo de maniobra y el número de re-planificaciones intermedias hasta llegar al nodo final. En la solución propuesta se incluye un centro remoto al que están conectadas de forma inalámbrica todas las unidades de transporte. En el centro remoto se registran los tiempos de recorrido entre nodos consecutivos proporcionados por las unidades de transporte y se estiman los parámetros estadísticos temporales entre nodos no consecutivos mediante técnicas recursivas de Programación Dinámica. Finalmente, se ha procedido a la validación experimental de la propuesta global. En una primera fase se ha recurrido a la herramienta Player/Stage para validar mediante simulación los cálculos desarrollados a partir de un mapa diseñado al efecto. Superada esta, se ha utilizado un demostrador real donde la función de unidad líder y unidad perseguidora ha sido desarrollada por robots Pioneer P3-DX