
Internship report: Can an AI play Rummikub?
April 1st, 2021This internship project explores whether artificial intelligence can play the tile-based game Rummikub by combining computer vision with game algorithms. This contribution comes from Sander Backx at Thomas More Geel.
From screen capture to board state
The project used the official Rummikub app as a game platform, capturing screen sections with Python's Pillow library. OpenCV filtering extracted game elements and created contours to identify individual tiles. Two separate predictions occurred for each tile: digit recognition using a K-Nearest Neighbours algorithm (values 0-13, with 0 for jokers), and colour detection through RGB analysis using K-Means clustering.
Monte Carlo Tree Search for optimal moves
Monte Carlo Tree Search simulated possible game states to determine optimal moves. The algorithm evaluated action sequences using a reward function: 100 points for player victory, move count plus 0.5 for ongoing games, and 0 for opponent victories. Once the board state was reconstructed from the vision pipeline, the algorithm could explore possible moves and select the most promising strategy.
Explore more
Internship report: Solving a game of Qwirkle with Custom Vision & OpenCV
An internship project using Custom Vision and OpenCV to detect Qwirkle tiles and calculate optimal moves.

Dealing with Optimisation Problems: FitJSP
How we used genetic algorithms to solve a job-shop scheduling problem and built a drag-and-drop online tool for interactive schedule management.

Internship report: Education Recommender Bot
Intern Brecht Noyens built a chatbot that recommends the best field of study to future students, combining Microsoft Bot Framework Composer with a Python-based recommendation engine on Azure.
