Translate

martes, 23 de noviembre de 2010

Workshops in Europe

On January 2011 there will be two Hands-on workshops on topics that
may be of your interest. The workshops are in the context of the
AMARSi Project (https://www.amarsi-project.eu/) but their are open to
the general public; feel free to
forward this message to people who you think may also be interested.
Due to space limitations we will prioritize attendees from AMARSi and
the hosting venues. Please, send your application as soon as possible.

Information about the workshops is given below.

"Hands-on introduction to Reservoir Computing", given by Tim Waegeman,
Francis Wyffels and Ken Caluwaerts from Reservoir Lab, Ghent
University

In this three day tutorial we will start with a theoretical
introduction to Reservoir Computing, an efficient training method for
recurrent neural networks. Next, an overview of OGER is given, a
python toolbox for rapidly building, training and evaluating modular
learning architectures. The emphasis of the tutorial is on practical
applications such as time series prediction, speech recognition and
robotics. Participants will have ample opportunity to bring forward
their own research problems with respect to Reservoir Computing.

Activities:
- Theoretical introduction to Reservoir computing
- Setup and use of the OGER toolbox (Reservoir Computing Toolbox for Python)
- Solution to practical problems
- Applications in robotics
- Group activity

Date: 2nd Week (10-12) January 2011
Venue: ZHAW Winterthur
Available seats: 20

"Probabilistic Inference for Motor Control", given by Gerhard Neumann
and Elmar Rückert from the Technische Universität Graz.

In this workshop we will start with an short overview over graphical
models, inference in graphical models, message passing, approximate
message passing. Subsequently we will apply the inference in graphical
models framework for motor planning. We will present the relevant
theory and also show some practical examples in MATLAB.

Activities: - Bayesian inference: theory and examples.
- Graphical models for motor planning and examples.
- Group Activity

Date: End of 2nd(13-14) Week of January 2011.
Venue: AILab Artificial Intelligence Laboratory, University of Zürich.
Available seats: 10

You can find the registration form here

https://spreadsheets.google.com/viewform?formkey=dGhyLTVURkZZOGZlcEh3eTdDeV9XMWc6MQ

For further information and questions contact Juan Pablo Carbajal
carbajal at-symbol ifi dot uzh dot ch

jueves, 10 de junio de 2010

CGAL, Python, Octave

Having a good library for computational geometry is very important for me. A year ago I found CGAL and since then I am enjoying it. Sometimes the burden of C++ can be annoying (for rapid prototyping, for example), therefore lately I was trying the Python bindings and trying to get some functions working on GNU Octave ... English Version

Para mi es fundamental tener una buena bilioteca de geometría computacional a mano. Hace un año, laburando en un programita para seguir objetos en videos, me topé con CGAL y desde entonces es mi primera referencia a la hora de programar cuestiones geométricas (mallas, manipulacion de polígonos, etc...). CGAL está escrita en C++ y a veces programar es un poco tedioso debido al caracter declarativo del lenguaje. Por esta razón, últimamente estuve probando la versión para Python y estoy tratando de hacer funciones para GNU Octave (todavía sin éxito) ... versión en Español

lunes, 7 de junio de 2010

Blinn-Phong Halfway vector and the parallelogram rule / Blinn-Phong vector a "Mediocamino" y la regla del paralelogramo

Studying for the Computer Graphics final exam I bumped into a simple, but important fact about adding vectors. Is stated everywhere that in the Blinn-Phong reflection model, the angle spanned by the Halfway vector and the normal to the surface (where the reflection is taking place) is the half of the angle spanned by the Viewer (or Eye) vector and the Reflected vector ... English Version

Preparando el examen final de la materia Computer Graphics, me topé con una propiedad relacionada a la suma de vectores que, si bien es básica, no deja de ser importante. En muchos sitos de internet (link? no he visto muchos en Español...habrá que poner en wikipedia...tendré tiempo?) se dice que el vector de "Mediocamino" en el modelo de iluminación Blinn-Phong sustiende un ángulo con la normal de la superfice (donde la reflexión ocurre) que es la mitad del ángulo entre el vector que apunta al observador y el vector que indica la dirección de reflexión de la luz ... versión en Español



Figure 1: Light incident from direction L on a surface with normal N. The light is reflected in direction R and the viewer is pointed by V. H is the Halfway vector.


Figure 2: Addition of vectors using the parallelogram rule. The addition of vectors of arbitrary length does not yields the bisector of the angle. The addition of the normalized vectors produces the angle bisector.

martes, 29 de diciembre de 2009

Sandbox / Arenero

I am trying to do something sensible with the double language posting. Now I will try I tried a solution given by Ezequiel. Now I am using Luciano's solution. English Version

Estoy tratando de resolver el problema con las publicaciones en dos idiomas. Estoy intentando Estaba usando una solución que me dió Ezequiel. Ahora estoy usando una que me pasó Luciano. Versión en Español


martes, 8 de diciembre de 2009

Steering Behaviors: Part I / Comportamientos de dirección: Parte I

(Does anybody has a better Spanish translation for the title? / ¿Mejor traducción al Español para el título?)

Usign Google Wave push a friend of mine (Ezequiel) and me to re-start with some old projects. The idea is to explore Artificial Intelligence for games. He has his programmer/gamer approach and interest and I am more into the scientific/gamer side, anyway we both share a lot of interest in common and, despite eventual arguments (:D), the project is flowing smoothly. You can check the webpage of the current project at Google Code, fell free to check out the SVN and send us your comments. / Luego de experimentar con Google Wave por un tiempo, mi amigo Ezequiel y yo, nos motivamos a re-iniciar proyectos antiguos inconclusos. La idea es explorar inteligencia artifical para juegos. Eze encara los problemas desde el punto de vista del programador/jugador mientras que yo me soy del estio científico/jugador; por suerte ambos tenemos un ben solapamiento de intereses y, dejando d elado alguna que otra discusión (jeje), el projecto está sobre ruedas. Si estás interesado podes mirar la pagina en Google Code y hacer un checkout del repositorio SVN. tus comentarios son bienvenidos.

Currently I am doing my PhD at the Artificial Intelligence Laboratory one of my research interest is to understand the difference in the behavior of an agent (and the algorithms used to program it) when we allow the use of information acquired only through sensors of the agent, without external references. In short, What is the effect of using a frame of reference fixed to the agent? Where the meaning of "fixed" is a used in a wider sense than in rigid body mechanics. At the moment I am happy if I can re-write an algorithm that was defined using variables respect to an external fixed frame of reference, to one using only local variables, and variables that can be acquired by the use of sensors, without knowing the existence of an external reference. Confusing? Well, today's post brings an example. / Actualmente estoy haciendo mi doctorado en un laboratorio de inteligencia artificial y uno de mis intereses es entender como cambia el comportamiento de un agente (y los algoritmos que usamos para programarlo) cuando la información sobre el "mundo exterior" se la obtiene solo a travéz de sensores situados en el agente mismo. En pocas palabras: ¿Cuál es el efecto de utilizar un sistema de referencia solidario al agente? Donde "solidario" lo utilizo en un sentido un poco más amplio que en la mecánica de cuerpos rígidos. Por ahora me contento con traducir algoritmos que fueron definidos utilizando variables en referencia a un sistema de coordenadas fijo, a otros donde solo se utilizan variables en el sistema de referencia local, y ademas que son adquiribles, sin necesidad de conocer el sistema de referencia fijo. Ok, un poco confuso ¿verdad? El post de hoy trae un ejemplo.

You may have heard of Craig Reynolds and his implementation of steering behaviors using agent to agent interaction (sort of molecular dynamics for agents). If you didn't check out the myriads of applets out there in the web, like this one. I won't explain here all the details (check Reynolds webpage or his paper for full details), but is enough to say that for the sake of optimization and the objectives he had in mind (games, games! bwahaha!) all the behaviors are written using the positions and velocities of the agents respect to a global fixed frame of reference; even more an agent can know its own velocity respect to that frame, something not wrong in mathematical terms but impossible if the agent doesn't know the transformation (in this case a Galilean one) from the local frame to the global one, at all times...something difficult in a real agent (without external help, like GPS)./ Quizás hayas escuchado hablar de Craig Reynolds y su implemntación de comportamientos de dirección usando interacciones entre agentes (algo como una dinámica molecular para agentes). Si no escuchaste de el, podés mirar alguno de los applets del montón, como este. No voy a entrar en detalles de todos los comprtamientos (los detalles están en la pagina de Reynolds o en su artículo (todo en inglés)) pero basta decir que, por razones de optimización y porque el tenía en mente juegos, todos los comprtameintos utilizan posiciones y velocidades definidas en un sistema fijo global, incluso un agente puede conocer su velocidad respecto a ese sistema de referencia. Si bien esto no es matemáticamente incorrecto, es imposible hacerlo si el agente no conoce la trasnformación (de Galileo en este caso) entre su sistema local y el global, en todo momento... algo que es muy dificil de tener en un agente real (si ayuda externa, como un GPS).

There is one behavior that I want to look at, the one that aligns the agent to produce flocking. Reynolds paper states: "The Alignment steering behavior gives a character the ability to align itself with other nearby characters...can be computed by finding all characters in the local neighborhood, averaging together the velocity (or alternately, the unit forward vector) of the nearby characters. This average is the desired velocity, and so the steering vector is the difference between the average and our character's current velocity (or alternately, its unit forward vector)." . Can this behavior be written in terms of local (to the agent) variables? Can we achieve an easier (in terms of time complexity) algorithm by doing that? I will try to answer the first question, and to do that lets interpret Reynolds explanation: / En particular me voy a referir a uno de los comportamientos propuestos por Reynolds, el que alinea los agentes para producir flocking. En su artículo, Reynolds nos indica que para cada agente hay que hacer lo siguiente (lo indica en palabras, por lo tanto esto es una interpretación):
  1. Get average velocity of agents nearby (or unit forward vector). / Calcule la velocidad promedio de los agentes cercanos (o el vector unitario que indica su orientación).
  2. Get the difference between that average and the agents velocity. / Tome la diferencia entre ese promedio y la velocidad del agente en cuestión.
  3. Apply a force proportional to that difference. / Aplique una fuerza al agente en cuestion proporcional al resultado de la diferencia.

I am looking to have something more like: / Yo estoy buscando algo como:

  1. Get average relative velocity of agents nearby (or relative heading); This can be achieved with distance sensors and some assumptions about the way another agents looks like or behaves (more on this to come). / Calcule la velocidad relativa promedio de los agentes cercanos (o la orientación relativa); que se puede obtener por medio de sensores de distancias y algunas hipótesis sobre el aspecto y la forma de moverse de los otros agentes.
  2. Apply a force to minimize the norm of that result. / Aplique una fuerza para reducir la norma de ese resultado.


To be continued.../ Continuará...