viernes, 24 de febrero de 2012

The Tour2: reloaded!

After the first Tour model posted on december, now we are presenting its second version!

In this new release, as it was promissed in the first one, the user can play and interact with the model, testing different strategies, either individual strategies (attacking at some particular possition at each stage, going for the mountain points or competing for the final sprint) or group strategies (accelerating at a point of the race, defending the leader or responding to another's attack).
To complement this, we now have a complete punctuation system, by which there are intermediate sprint points, mountain points and the already known final points in each stage. With all these, cyclists can already compete for the yellow, green and polka-dot jerseys!

Still not satisfied? Now you can decide how to create your cyclists' profiles! You can modify your cyclists' energy abailable, as well as how it will be distributed in six different capacities (resistance, climbing, hills, sprint, attack and descent), either for your team as a whole or for each cyclist. It will be much easier to "create" your own Alberto, Andy or even Cadel!
Finally, the energy abailable for each stage is renewed as a function of the final position in the previous stage, the position in the time race and the difference made in this last race.
Having said all, now is time you get to play!

Here is the link to run the model:
http://www.runthemodel.com/models/528/

hope you enjoy it!

jueves, 9 de febrero de 2012

Make your Path

PLAY & OPTIMIZE

In mathematics, a graph is an abstract representation of a set of objects where some pairs of the objects are connected by links. The interconnected objects are represented by mathematical abstractions called nodes, and the links that connect some pairs of nodes are called edges. This is what we also know as a "network".

There are 2 challenges within networks that caught our attention: 

Simulation model Network Routing: Play and Optimize created with AnyLogic - simulation software / Routing, Network Optimization, Network Layout
Click on the image to start the model
Being able to draw it. Yes, anyone can draw some circles and lines, but the challenge is drawing them in a way that can be understood. In this model we use an adapted Kamada-Kawai algorithm that represents the graph with a physical model in order to organize and redistribute nodes. Each edge works like a spring and each node works as a charged particle. Newton's Law takes care of the rest. The user (YOU) will be able to interact with the model in order to obtain the desired layout for the graph.

Find the optimal path within any 2 nodes. In this model we use an adapted Dijkstra algorithm to obtain the best path. The user will interact with the model by trying to find the optimal path in a click-by-click approach. We are so proud of the algorithm that we defy you to find a better route. 

That's all! Just click the image to try the model and hope you enjoy!

viernes, 3 de febrero de 2012

The JAMs are back!

On last Friday, we started our JAM season for 2012. That is a series of workshops and speeches I organize on certain Friday mornings in order to train our crew in some topics. Or to simply keep our curiosity popping up!

As many C7´s work at the System Dynamics Department (at Instituto Tecnológico de Buenos Aires), we thought it would be a great idea to start this 2012 with a JAM on that subject for the team. System Dynamics is an approach to understanding the behaviour of complex systems and much of its terms our part of our jargon.
Our first 2012 JAM!
Gastón was in charge of this JAM, and he came up with a beautiful presentation for the workshop, telling us how System Dynamics can help us see the world in a different way.

A nice kick-off for the JAM year... We´ll keep on jamming!

ps: here´s one of the videos we saw at the beggining of the JAM. We like it as it is a funny example of how everything is connected!

miércoles, 25 de enero de 2012

Nace Flimbu: Keyword Portfolio Optimization para Pymes



¡Haga rendir más su inversión en AdWords!

Flimbu gestiona el portfolio de keywords de su cuenta de Google AdWords de una manera más eficiente logrando obtener desde 20% menos de costo manteniendo constante su nivel de clicks y conversiones (en comparación con la gestión de un experto).

Usted diseña sus campañas y avisos, elige sus keywords ¡Y nosotros nos encargamos de que pague menos por cada click que recibe!

¿Cómo Funciona Flimbu by Continente Siete?

lunes, 23 de enero de 2012

Construye tu cielo con curvas Bézier



Nuestro diseñador interactivo continental, Afro, necesitaba armar una curva para hacer una animación. Pero no daba lo mismo cualquier curva, necesitaba una en particular que quedara determinada por unos puntos de control y se pudiera deformar al moverlos.

Así fue como encontramos las curvas de Bézier, desarrolladas, según leímos, para diseñar partes de automóviles. Para qué partes y cómo se aplicaron no lo sabemos pero si ustedes nos quieren iluminar al respecto nos encantaría saberlo. También son utilizadas extensamente en software de diseño gráfico para dibujo vectorial, y en programas de animación para determinar aceleraciones y movimientos.

Volviendo a lo nuestro, se define un punto de inicio y un punto de fin y luego ciertos puntos que funcionan como nodos de atracción de la curva. Cuántos más puntos de este tipo ponemos, más vueltas puede dar la curva y más veces puede cambiar su curvatura. Además permiten parametrizar de manera fácil y escalable si se quieren agregar puntos de control. Una vez dispuestos estos puntos de control, se interpolan los puntos de inicio y fin, determinando así la resolución de la curva.

Ya teníamos resuelto el problema y sólo faltaba implementarlo para lo cual Afro aplicó sus dominios de diseño y programación y obtuvimos nuestras curvas.


Acá terminaría la historia si no fuese por el equipo ADN que entre sus tareas tenía la de diseñar una tarjeta de fin de año. Afro supo "unir los puntos". Decidió aplicar las curvas que acabábamos de conocer para hacer los fuegos artificiales. Mediante curvas de Bézier de tercer orden pudo crear cielos personalizados para cada tarjeta para que distintas personas recibieran distintos cielos para fin de año.

El concepto detrás de la producción de la tarjeta de fin de año fue que cada tarjeta, mandada a cada cliente, muestre un cielo diferente, tanto en estrellas como en fuegos artificiales. Que ninguna sea igual a otra, y que los empleados de C7 tengan la libertad de generar y elegir la tarjeta que más les guste.

Para esto, se decidió dividir la tarjeta en 2: una parte gráficamente estática, en donde se escribirían las típicas palabras esperanzadoras de época de fiestas, más algun dibujo lindo. La otra parte sería generada totalmente por código, con una alta aleatoriedad en su contenido. Creadas por separado, finalmente, se fusionarían.


La posición, tamaño y cantidad de estrellas y fuegos artificiales es aleatoria.

El degradado de fondo, que emula un anochecer, también es hecha por código.

Para construir cada hilo de un fuego artificial se parte de un punto de inicio en común y su punto final varía alrededor de una elipse. Esta variación radial cambia aleatoriamente por cada fuego artificial, con restricciones mínimas y máximas, generando fuegos de diferente tamaño.

Las funciones de las curvas de Bézier se utilizaron para generar la caída que traza cada hilo de fuego artificial, desde su explosión hasta su punto final de desvanecimiento.

Para añadir un grado más de "customización", se crearon funciones gráficas para cambiar el look del trazado de los hilos. De esta manera, el usuario puede elegir el tipo de fuego artificial preferido. Entre otras opciones, el usuario podía regenerar a gusto todo el cielo, sólo las estrellas o fuegos artificiales, el look de los fuegos, y guardar las imágenes generadas como JPG, a tamaño y compresión sensata para mandar por email.

Afro implementó todo gráficamente mediante un programa codeado en Processing (Java) permitiendo así que cada uno de nosotros corriese la aplicación y pudiera generar distintas tarjetas guardando las que más nos gustaran para enviar.

¡Les dejamos el link para los que quieran jugar con los distintos cielos y armar los suyos!

viernes, 20 de enero de 2012

Potts Model - Diffusion of Innovations


For the last 6 months, I have been studying the diffusion of durable innovations using an adaptation of the Potts Model, a mathematical model originally used in physics to study the behavior of ferro-magnets. This model has been adapted to study a great variety of subjects, due to its attractive mathematical formulation; in this case, we can see adoption curves for two products and modify parameters to simulate different situations.

Each person is represented by a unique agent who starts off as a potential consumer. Each agent will eventually choose between consuming product A or product B, depending on the product’s attractiveness. This attractiveness is unique for each agent, and it depends on a combination of the product’s objective advantages and the consumption pattern of the agent’s neighbors. In this way, we try to simulate the behavior of an average consumer for an innovation, where the adoption of peers is usually very important because it plays an active role in the first two stages of the innovation-decision process described by Everett Rogers: Knowledge and Persuasion.

Moreover, the model has the possibility of defining “influence areas”, zones in the map where consumers are more likely to buy one or the other product, simulating geographic convenience that could arise for certain innovations.

Agent connections are a crucial element in this model, as they define the communication channels in the network, which affect the diffusion rate of the innovations. The user can decide between different reconnection probabilities, ranging from 0 (connections are strictly distance based, to the 8 nearest neighbors) to 0.16 (many random connections between agents), using small-world concepts from Watts and Strogatz.

A version of the model can be found and tried out here:
Enjoy!

viernes, 2 de diciembre de 2011

Here comes the Tour!

At some point in July 2008, bored and watching TV at home, I came in contact for the first time with the Tour de France... And I never stopped watching it ever since!
Absolutely astonished with the strength required by the cyclists, and the rythm acquired in the different stages, I started studying every singularity included in this competition.

This way, I learned how groups were formed, and how every team played specific strategies, some aiming to win the general competition, other ones to win the Points race, and so on.
The same happened when I understood how different ground conditions were addressed, in order to reach the finish line with the better physical condition, or how other cyclists sacrificed theirselves going out in front of the group so as to win intermediate points.

Once I learned some of this particularities, I continued watching other competitions, such as La Vuelta a España, Giro d'Italia, Liège-Bastone-Liège and the Paris-Roubaix... and I decided to make my own Tour.
This is how I started working on an agent-based model, which intended to address these behaviours, and generate the basis for a future platform where different group strategies could be tested.

The Tour Model is the result of this development... and in the future will evolve to more complex behaviours and group dynamics!

Here is the link to run the model:

We hope you enjoy it!