All posts by Hrafn


Threadneedle is a simulation framework developed to explore the behavior of the banking system. We are aiming to reproduce the behavior of banking systems using the Basel 2 and 3 Regulatory frameworks, as well as local Icelandic regulations, as exactly as possible.

The framework uses full double-entry bookkeeping for all transactions performed within the banking system, which we have documented in the paper Description of the Operational Mechanics of a Basel Regulated Banking System for validation and checking.

Threadneedle draws its name from the street in London, famous for being the site for the Bank of EnglandThreadneedle Street, London. Famous for being the site of the Bank of England.

Over the last fifty years, computer science has developed a great deal of experience in analyzing and troubleshooting distributed systems like the banking system. Viewed as a distributed system, the monetary system is an example of a relatively unusual (for computer science) closed network, where the operation of the system depends on packets of information (money) continuously circulating in the economy, and being used to determine the price signal for the economy.

By treating the banking system as a distributed system, and applying the same analytical techniques that we use when designing and engineering larger scale critical real-time systems such as the Internet, we hope to cast light on some of its ‘features’ such as the periodic credit crises that have afflicted western economies in the three hundred years since the effective introduction of modern banking.

Advanced Machine Learning for Multiple Tasks

IIIM is working to advance the development of state-of-the-art machine learning techniques to solve hard problems in artificial intelligence research, particularly with respect to scaling reinforcement learning to larger and more complex problems of the kind that will be faced by next-generation learning systems.
Humans learn many things at once. Children learn to walk and talk over a period of time during which they receive feedback for each skill intermittently and with no clearly marked time dedicated to learning only one skill or the other. This is the norm for learning amongst humans. However, to date, reinforcement learning has been limited to single, well-defined tasks arranged sequentially. Machine learning agents can learn to play checkers at champion level, and they can learn to avoid obstacles in simple robot navigation tasks, but the kind of life-long learning needed to enable vastly more flexible agents has been out of reach.
Reinforcement Learning

Reinforcement learning (RL) is a popular method for enabling autonomous agents to learn to perform new tasks using only feedback gathered through interaction with their environment. For many difficult problems in AI, this approach is desirable as we often don’t know how to define the behaviors we want the agents to learn sufficiently well to enable us to program the behaviors directly.
Transfer learning – the ability for agents to recognize similarities between learning tasks and to use skills already learned for one such task to speed acquisition of new and related skills – also plays a critical role in this project and in our abilities to scale reinforcement learning methods to the difficult problems faced in building ever more intelligent machines.

Learning Multiple Diverse Tasks

IIIM is leading the project “Large-Scale Machine Learning for Simultaneous Heterogeneous Tasks” (funding began May, 2012) to begin to address this problem. Current attempts focus only on one isolated task or at most a very small number of closely related tasks, such as robot navigation with a secondary task of keeping the batteries charged. These approaches cannot scale to the more open-ended environments in which great numbers of diverse skills must be acquired concurrently.

Currently the simulator is able to generate random problems of several different types, as well as spatial navigation problems and mazes. Ongoing work is adding additional random and real-like problem types and using the simulations to evaluate current multi-task learning methods.
Drawing from expertise in the field of multi-objective optimization and search space analysis, IIIM researchers are developing a simulation testbed for evaluation of multi-task learning algorithms and applying this knowledge to better understand how these current algorithms fail as the number of tasks increases. The goal of the project is then to use these insights to develop improved learning algorithms able to handle an order of magnitude or more concurrent and diverse tasks.


Have you ever wondered what would happen if your shadow had a life of its own? IIIM specialists Gunnar Steinn Valgardsson (Chief Technology Developer, demo author) and Hrafn Thorri Thórisson (concept author, advisor) introduced the LivingShadows project to discover just that. The LivingShadows program scans a person’s outline and transforms it into an interactive figure. Rather than being a mere projection, it is its own entity. The shadows act independently so that people can interact with their own shadows, and their shadows can interact with other shadows.

Most of IIIM projects are entirely scientifically motivated, but LivingShadows plays on the border of technology and art.

Worldwide Interconnectivity

Future versions of LivingShadows will enable people all over the world to connect their installations together.

LivingShadows: Scenario Example

Entering the hallway, the viewer sees a series of shadow figures moving along the wall. The figures are standing about, sitting down, some of them come and go on their way to unknown destinations. One shadow seems to be reading a newspaper, another paces back and forth while looking at her watch.

The only traces of their hidden world are revealed by the shadows on the wall. The viewer steps in front of the wall and see their shadow appear on the wall. The shadows stop for a moment to stare at him, then return to their business. The participant waves at the shadow reading the newspaper. The shadow puts down his paper and waves back. One by one he interacts with the other shadows in the virtual waiting room. Finally, the participant waves both his arms and suddenly it begins to rain. All of the shadows take out umbrellas to shelter them from the rain.

Impulsion Engine

Impulsion is a software platform developed to explore new concepts in social AI for lifelike interactive characters. We strive to improve virtual characters’ behaviors by making them act more realistically in social simulations. The platform represents a social AI engine that applies novel solutions to various types of interactive simulations and game environments.

“Body language, personal space, gaze attraction, and territoriality are all part of our daily social life: all are part of what makes us appear mindful and attentive.”

With knowledge from psychology and sociology, we can build lifelike interactive characters who can grasp situations, react to contingencies, and appear aware of their surroundings.

New Frontiers: Socializing Software

Tactical combat is by far the leading applicable scenario of character AI in today’s gaming industry. Demand for games with storytelling that goes beyond mere gunfire is pushing AI to its limits and expanding its versatility. Creating characters rich enough to engage in social scenarios, where we expect them to appear more lifelike, remains a problem yet to be successfully tackled by game developers.

Standing in line without rushing into others, facing a group of peers you are chatting with, sensing the comfort zone of another, and looking into each other’s eyes require a different approach than what is used for tactical combat.

Simulating Environmental Understanding

The eight-bit gaming world of yesterday left characters helplessly running into walls and awkwardly maneuvering around obstacles. The development of path-finding and local avoidance has established techniques that have given rise to a new breed character, one that no longer runs headfirst into walls but simulates an understanding of space. However, to achieve lifelike character behavior, an understanding of space is insufficient without an understanding of context. Certain locations may have an intended use that goes beyond mere topological shape. One solution would be to semantically tag locations–but what if the environment changes dynamically, such as in a space full of people who are moving around? Theories on human territoriality can help building a system that reasons about spatial affordance (what can be done in certain places or to certain objects), creating characters who can move about their environment more naturally.