Collective neuro-evolution for evolving specialized sensor resolutions in a multi-rover task

Abstract  This article presents results from an evaluation of the collective neuro-evolution (CONE) controller design method. CONE solves
collective behavior tasks, and increases task performance via facilitating emergent behavioral speciali…

Abstract  

This article presents results from an evaluation of the collective neuro-evolution (CONE) controller design method. CONE solves
collective behavior tasks, and increases task performance via facilitating emergent behavioral specialization. Emergent specialization
is guided by genotype and behavioral specialization difference metrics that regulate genotype recombination. CONE is comparatively
tested and evaluated with similar neuro-evolution methods in an extension of the multi-rover task, where behavioral specialization
is known to benefit task performance. The task is for multiple simulated autonomous vehicles (rovers) to maximize the detection
of points of interest (red rocks) in a virtual environment. Results indicate that CONE is appropriate for deriving sets of
specialized rover behaviors that complement each other such that a higher task performance, comparative to related controller
design methods, is attained in the multi-rover task.

  • Content Type Journal Article
  • DOI 10.1007/s12065-009-0034-z
  • Authors
    • G. S. Nitschke, Computational Intelligence Research Group, Department of Computer Science, University of Pretoria, Pretoria, 0002 South Africa
    • M. C. Schut, Computational Intelligence Group, Vrije Universiteit Amsterdam, De Boelelaan 1081a, 1081 HV Amsterdam, The Netherlands
    • A. E. Eiben, Computational Intelligence Group, Vrije Universiteit Amsterdam, De Boelelaan 1081a, 1081 HV Amsterdam, The Netherlands

Meandre is going Scala

After quite a bit of experimenting with different alternatives, Meandre is moving into Scala. Scala is a general purpose programming language designed to express common programming patterns in a concise, elegant, and type-safe way. This is not a radical process, but a gradual one while I am starting to revisit the infrastructure for the next […]

Related posts:

  1. Fast REST API prototyping with Crochet and Scala
  2. Meandre: Semantic-Driven Data-Intensive Flow Engine
  3. Meandre Infrastructure 1.4 RC1 tagged

After quite a bit of experimenting with different alternatives, Meandre is moving into Scala. Scala is a general purpose programming language designed to express common programming patterns in a concise, elegant, and type-safe way. This is not a radical process, but a gradual one while I am starting to revisit the infrastructure for the next major release. Scala also generates code for the JVM making mix and match trivial. I started fuzzing around with Scala back when I started the development of Meandre during the summer of 2007, however I did fall back to Java since that was what most of the people in the group was comfortable with. I was fascinated with Scala fusion of object oriented programming and functional programming. Time went by and the codebase has grown to a point that I cannot stand anymore cutting through the weeds of Java when I have to extend the infrastructure or do bug fixing—not to mention its verbosity even for writing trivial code.

This summer I decided to go on a quest to get me out of the woods. I do not mind relying on the JVM and the large collection of libraries available, but I would also like to get my sanity back. Yes, I tested some of the usual suspects for the JVM (Jython, JRuby, Clojure, and Groovy) but not quite what I wanted. For instance, I wrote most of the Meandre infrastructure services using Jython (much more concise than Java), but still not quite happy to jump on that boat. Clojure is also interesting (functional programming) but it would be hard to justify for the group to move into it since not everybody may feel comfortable with a pure functional language. I also toyed with some not-so-usual ones like Erlang and Haskell, but again, I ended up with no real argument that could justify such a decision.

So, as I started doing back in 2007, I went back to my original idea of using Scala and its mixed object-oriented- and functional-programming- paradigm. To test it seriously, I started developing the distributed execution engine for Meandre in Scala using its Earlang-inspired actors. And, boom, suddenly I found myself spending more time thinking that writing/debugging threaded/networking code :D . Yes, I regret my 2007 decision instead of running with my original intuition, but better late than never. With a working seed of the distributed engine working and tested (did I mention that scalacheck and specs are really powerful tools for behavior driven development?), I finally decided to start gravitating the Meandre infrastructure development effort from Java to Scala—did I mention that Scala is Martin Odersky’s child? Yes, such a decision has some impact on my colleagues, but I envision that the benefits will eventually weight out the initial resistance and step learning curve. At least, the last two group meetings nobody jumped off the window while presenting the key elements of Scala, and demonstrating how concise and elegant it made the first working seed of the distributed execution engine :D . We even got in discussions about the benefits of using Scala if it delivered everything I showed. I am lucky to work with such smart guys. If you want to take a peek at the distributed execution engine (a.k.a. Snowfield) at SEASR’s Fisheye.

Oh, one last thing. Are you using Atlassian’s Fisheye? Do you want syntax highlighting for Scala? I tweaked the Java definitions to make it highlight Scala code. Remember to drop the scala.def file on $FISHEYE_HOME/syntax directory add an entry on the filename.map to make it highlight anything with extension .scala.

Related posts:

  1. Fast REST API prototyping with Crochet and Scala
  2. Meandre: Semantic-Driven Data-Intensive Flow Engine
  3. Meandre Infrastructure 1.4 RC1 tagged

Tesi/Stage Disponibili su Sviluppo di Videogiochi (Novecentogames)

Sono disponibili quattro argomenti di tesi relative al design e allo sviluppo di videogiochi presso la Novecento (http://www.novecentogames.com) una start-up del settore videoludico.

Ideazione e sviluppo di un material sytem indipendente dalla piattaforma nel contesto di un Engine 3D dedicato ad applicazioni real-time in ambito videoludico. Le librerie di riferimento sonoPhireEngine, PS3 Sdk, RVL Sdk, Nvidia […]

Sono disponibili quattro argomenti di tesi relative al design e allo sviluppo di videogiochi presso la Novecento (http://www.novecentogames.com) una start-up del settore videoludico.

  • Ideazione e sviluppo di un material sytem indipendente dalla piattaforma nel contesto di un Engine 3D dedicato ad applicazioni real-time in ambito videoludico. Le librerie di riferimento sonoPhireEngine, PS3 Sdk, RVL Sdk, Nvidia Cg Sdk e Microsoft XDK/DirectX Sdk, gli hardware di riferimento sono Sony Playstation3 Dev Kit, Microsoft Xbox360 Dev Kit, Nintendo Wii Ndev e PC.
  • Ideazione e sviluppo di un audio system indipendente dalla piattaforma nel contesto di un Engine 3D dedicato ad applicazioni real-time in ambito videoludico. Le librerie di riferimento sonoPhireEngine, PS3 Sdk, RVL Sdk, Nvidia Cg Sdk e Microsoft XDK/Directx Sdk, gli hardware di riferimento sono Sony Playstation3 Dev Kit, Microsoft Xbox360 Dev Kit, Nintendo Wii Ndev e PC.
  • Ideazione e sviluppo di un plug-In di esportazione per Autdesk Maya nel contesto di un Engine 3D dedicato ad applicazioni real-time in ambito videoludico. Le librerie di riferimento sonoAutdesk Maya Sdk, Nvidia Cg Sdk, Microsoft Directx Sdk e Nintendo RVL Sdk.
  • Sviluppo di hardware shaders multipiattaforma nel contesto di un Engine 3D dedicato ad applicazioni real-time in ambito videoludico. Le librerie di riferimento sono Nvidia Cg Sdk e Microsoft Directx Sdk, gli hardware di riferimento saranno costituiti da Sony Playstation3 Dev Kit, Microsoft Xbox360 Dev Kit e PC-Windows.

Gli interessati possono contattare il docente via mail all’indirizzo: lanzi@elet.polimi.it

The combinatorics of modeling and analyzing biological systems

Abstract  The purpose of this paper is to present a strictly mathematical model for interaction networks, to address the question of
steady-state analysis, and to outline an approach for reconstructing models from experimental data. Our expo…

Abstract  

The purpose of this paper is to present a strictly mathematical model for interaction networks, to address the question of
steady-state analysis, and to outline an approach for reconstructing models from experimental data. Our expositions require
notations and basic results from discrete mathematics. Therefore, we also introduce some elementary background material from
this field.

  • Content Type Journal Article
  • Pages 655-681
  • DOI 10.1007/s11047-009-9165-5
  • Authors
    • Annegret K. Wagler, Magdeburg Center of Systems Biology (MaCS), Otto-von-Guericke Universität Magdeburg, Magdeburg, Germany
    • Robert Weismantel, Magdeburg Center of Systems Biology (MaCS), Otto-von-Guericke Universität Magdeburg, Magdeburg, Germany

Michael Affenzeller, Stefan Wagner, Stephan Winkler and Andreas Beham: Genetic algorithms and genetic programming modern concepts and practical applications

Michael Affenzeller, Stefan Wagner, Stephan Winkler and Andreas Beham: Genetic algorithms and genetic programming modern concepts and practical applications
Content Type Journal ArticlePages 123-125DOI 10.1007/s10710-009-9095-0Authors
Gisele L. Papp…

Michael Affenzeller, Stefan Wagner, Stephan Winkler and Andreas Beham: Genetic algorithms and genetic programming modern concepts and practical applications

  • Content Type Journal Article
  • Pages 123-125
  • DOI 10.1007/s10710-009-9095-0
  • Authors
    • Gisele L. Pappa, Federal University of Minas Gerais (UFMG) Computer Science Department Av. Antônio Carlos, 6627, Pampulha Belo Horizonte MG Brazil

EvAg: a scalable peer-to-peer evolutionary algorithm

Abstract  This paper studies the scalability of an Evolutionary Algorithm (EA) whose population is structured by means of a gossiping
protocol and where the evolutionary operators act exclusively within the local neighborhoods. This makes th…

Abstract  

This paper studies the scalability of an Evolutionary Algorithm (EA) whose population is structured by means of a gossiping
protocol and where the evolutionary operators act exclusively within the local neighborhoods. This makes the algorithm inherently
suited for parallel execution in a peer-to-peer fashion which, in turn, offers great advantages when dealing with computationally
expensive problems because distributed execution implies massive scalability. In this paper we show another advantage of this
algorithm: We experimentally demonstrate that it scales up better than traditional alternatives even when executed in a sequential
fashion. In particular, we analyze the behavior of several EAs on well-known deceptive trap functions with varying sizes and
levels of deceptiveness. The results show that the new EA requires smaller optimal population sizes and fewer fitness evaluations
to reach solutions. The relative advantage of the new EA is more outstanding as problem hardness and size increase. In some
cases the new algorithm reduces the computational efforts of the traditional EAs by several orders of magnitude.

  • Content Type Journal Article
  • Pages 227-246
  • DOI 10.1007/s10710-009-9096-z
  • Authors
    • J. L. J. Laredo, University of Granada, ATC-ETSIT C. Periodista Daniel Saucedo Aranda 18071 Granada Spain
    • A. E. Eiben, Vrije Universiteit Amsterdam Department of Computer Science Amsterdam The Netherlands
    • M. van Steen, Vrije Universiteit Amsterdam Department of Computer Science Amsterdam The Netherlands
    • J. J. Merelo, University of Granada, ATC-ETSIT C. Periodista Daniel Saucedo Aranda 18071 Granada Spain