Skip to content

Latest commit

 

History

History
64 lines (45 loc) · 3.19 KB

README.md

File metadata and controls

64 lines (45 loc) · 3.19 KB

European Master Team Project - AI Turing Tumble

This repository holds the code that was developed during the European Master Team Project in the spring semester of 2022 (EMTP 22). The project was supervised by Dr. Christian Bartelt and Jannik Brinkmann. The project team was composed of students from the Babeș-Bolyai University in Cluj-Napoca, Romania, and the University of Mannheim, Germany.

Introduction

In the game Turing Tumble, players construct mechanical computers that use the flow of marbles along a board to solve logic problems. As the board and its parts are Turing complete, which means that they can be used to express any mathematical function, an intelligent agent taught to solve a Turing Tumble challenge essentially learns how to write code according to a given specification.

Following this logic, we taught an agent how to write a simple programme according to a minimal specification, using an abstracted version of the Turing Tumble board as reinforcement learning training environment. This is related to the emerging field of programme synthesis, as is for example applied in GitHub’s CoPilot.

Participants

Babeș-Bolyai University

University of Mannheim

Contents of this repository

The project directory is organised in the following way:

Path Role
docs/ Supporting material to document the project
reinforcement_learning/ Everything related to Reinforcement Learning
src/ Java sources
ttsim/ Source Code of the Turing Tumble Simulator

Weights & Biases (wandb)

We used Weights & Biases to log the results of our training:

  1. Reinforcement Learning
  2. Pretraining
  3. Connect Four

Credits

We used third-party software to implement the project. Namely:

Final Project Presentation

Link to video: Final Project Presentation Video