December 5 – 10: GoodAI team at NIPS 2016 in Barcelona

Today I’m writing to let you know that my colleagues and I will be attending the Neural Information Processing Systems conference (NIPS 2016) in Barcelona,  December 5 – 10.

This year we will be participating in two workshops:

  • Neural Abstract Machines & Program Induction (NAMPI), Saturday, December 10th
    • My colleagues Sungmin Aum, Joseph Davidson, and Josef Strunc will present a poster about their work on Gradual Program Induction.
  • Machine Intelligence workshop (MAIN@NIPS), Friday, December 9th
    • My colleague Jan Feyereisl will be part of a panel on basic requirements for machine intelligence with Angeliki Lazaridou, Katja Hofmann, Brenden Lake, Jürgen Schmidhuber, Arthur Szlam, Rudolf Kadlec, and Armand Joulin.
    • Jan will also present our thoughts on consolidating the search for general AI, and briefly introduce:

    After the MAIN@NIPS Workshop, I would like to invite everyone interested in discussing the General AI Challenge and the AI Roadmap Institute to a party in one of the restaurants near the conference venue at 7pm, Friday, December 9th. The exact location will be confirmed several days ahead – stay tuned to our social media channels.

    We are looking forward to meeting our friends and fellow researchers at NIPS! Feel free to reach out in case you would like to catch up with us there in person.


    Read all about GoodAI’s latest achievements, technology, and initiatives on our website

    Marek Rosa
    CEO, CTO of GoodAI
    CEO of Keen Software House

    Space Engineers: Public Multiplayer Evaluations Started!

    You may know about our internal competition to rework the Space Engineers multiplayer as mentioned in my previous blog post. Our progress is now at a state where players can directly help us evaluate the new multiplayer prototypes. Today we have for you not one, not two – but three multiplayer prototypes!

    These multiple versions have been created by three different teams (two internal teams and one external team) with each one trying to solve the multiplayer from alternate perspectives, employing different methodologies.

    We need your help to work out which one of these three will provide the best multiplayer foundation moving forward… In the following weeks, we will publish a survey for you to give feedback and comments based on your experience with the different versions.

    The team that wins this competition will receive 1 million CZK (~40,000 USD) from me.

    The multiplayer prototypes are code-named “Rock”, “Paper” and “Scissors” and can be accessed via the Betas tab in Steam. (for detailed guide go here)
    You can switch from one build to another at any time – which will allow you to compare them. Saves are not compatible between the different prototype builds, but you can use saves from our live builds in any of them.

    We know that our Space Engineers community is passionate, you guys care about the game a lot and have been calling for new multiplayer code for a long time. We heard you loud and clear – so now rally your fellow engineers together, get testing and help us make Space Engineers the best multiplayer game out there! 😉

    Marek Rosa
    CEO of Keen Software House
    CEO, CTO of GoodAI

    GoodAI Releases Arnold Simulator Alpha


    In Brief

    Today we are releasing an alpha version of Arnold Simulator. The purpose of this release is to let the community know what we are working on, get feedback and allow others to start experimenting with our platform. Note that while we intend Arnold Simulator to be used for rapid prototyping, the current version implements mostly only the core simulation concepts. It is very much work in progress, and we haven’t started using it in our research team yet.

    What is Arnold Simulator?

    Arnold Simulator is a software platform designed for development of AI systems with highly dynamic neural network topologies. The software will provide tools for our research and development, but it is also designed for high performance and is transparently scalable to large computer clusters.
    Arnold Simulator is the next generation of GoodAI in-house prototyping software. It follows in the steps of GoodAI’s Brain Simulator, which focuses more on the standard machine learning algorithms. We’re designing it for large, highly dynamic, heterogeneous and heterarchical networks of lightweight actors, and with a focus on concurrency, parallelism and low-latency messaging.
    A note on Brain Simulator: we are planning to release an update next month. Stay tuned. But let’s focus on Arnold Simulator release for now.

    What is in this release?

    We’re releasing the source code on GitHub, no binaries are being released. The readme file in the GitHub repository explains the programming model, and there are two example projects included in the sources. For quick introduction into how the UI works and how it is linked to the core, we’ve prepared a short demo video:

    Technical Parameters

    Arnold Simulator consists of a simulation core and a user interface (UI) client. The core is targeted to run on a network of computers with GNU/Linux or MS Windows operating systems. For now, the UI is for MS Windows only. Both the core and the optional UI need to be compiled from the sources using the how-to instructions provided with the sources.

    For concurrency, we’re using the actor model, where independent actors communicate via messages. The simulation runs in discrete time-steps, during which the individual actors are processed in parallel. In between simulation steps, the system can interact with any virtual or real environment via sensors and actuators. The design of Arnold Simulator will allow us to effectively implement the growing general AI architectures that we are focusing on.
    Arnold Simulator is designed with the following assumptions in mind: the network is composed of heterogeneous elements, it can be manipulated to the granularity of individual elements, it can be growing or shrinking all the time on the granularity of individual elements, and it can be so large that it will not fit the memory of a single machine. This set of assumptions naturally leads to dynamic load balancing of migratable actors communicating via asynchronous messages.
    Arnold Simulator is based on Charm++, a parallel computation library which implements the actor model and has built-in load balancing that migrates actors across processing units. We intend to try coupling this technology with the latest manycore processors which we hope will allow us to scale the simulation up to millions of actors and billions of connections per machine. A preliminary check of a distributed simulation was successfully done on a cluster of 10 computers with a total of 40 CPU cores.

    The design allows for a large number of synapses per neuron, so we’ve designed the synapses to be as small as possible. Instances of neurons in our testing models take over 3 kB of memory, while synapses fit into just under 200 bytes. That means we can fit a simulation of 1 million neurons and 5 million synapses into 4 GB of memory.


    Arnold Simulator source code is licensed under Apache License version 2.0; however, it depends on the Charm++ library which has more restrictive license than Arnold Simulator itself. You are allowed to use Charm++ for research and for internal business purposes for free, but you need a special agreement with Charm++ authors for commercial distribution and use. The library is not distributed with Arnold Simulator, however you need to obtain it to build Arnold. Therefore, Charm++ license terms apply to Arnold Simulator binaries. See Charm++/Converse license or contact Charmworks for details.

    We look forward to receiving your input! please don’t hesitate to get in touch at
    Read all about GoodAI’s latest achievements, technology, and initiatives on our About page:

    Marek Rosa
    CEO, CTO of GoodAI
    CEO of Keen Software House