AI Programming
Jadex DCOP Solver
Over four months in 2020, I worked in a small trio of undergraduates to create a program that uses an existing solving algorithm (Adopt) to solve Distributed Constraint Optimisation Problems (DCOP). The program used Active Components (also known as JadeX) - a framework for programming distributed concurrent systems and was modeled off of the popular Python library, PyDCOP. Below is a snippet of the console output of communication messages being sent over the multi-agent framework to begin solving the DCOP. The report linked below explains the project in greater detail.
Github Repo
Project Report
Over four months in 2020, I worked in a small trio of undergraduates to create a program that uses an existing solving algorithm (Adopt) to solve Distributed Constraint Optimisation Problems (DCOP). The program used Active Components (also known as JadeX) - a framework for programming distributed concurrent systems and was modeled off of the popular Python library, PyDCOP. Below is a snippet of the console output of communication messages being sent over the multi-agent framework to begin solving the DCOP. The report linked below explains the project in greater detail.
Github Repo
Project Report
Pictured below was a very gratifying output to read in the console, telling the team that our distributed network of agents were cooperating.
Boids & Bees Project
To learn the core principles of Games AI I tinkered around with some simple boids, and expanded on that code to create a several small projects.
The first was a classic flocking simulation. Layering forces of coupling, cohesion, and allignment in groups of agents so that they move around in flocks.
The next is a RTS style pathfinding simulation where two “beehives” deploy pathfinding bees and hornets to collect pollen and fight over flowers. The simulation used A* searches to generate paths.
The last is a trickshot simulation where an agent uses depth limited searches to find the quickest way to shoot all the other agents in a scene with the fewest shots fired. resulting in a bunch of two for one shots.
Bees Code Report
Bees Data Analysis
Trick Shots Code Report
To learn the core principles of Games AI I tinkered around with some simple boids, and expanded on that code to create a several small projects.
The first was a classic flocking simulation. Layering forces of coupling, cohesion, and allignment in groups of agents so that they move around in flocks.
The next is a RTS style pathfinding simulation where two “beehives” deploy pathfinding bees and hornets to collect pollen and fight over flowers. The simulation used A* searches to generate paths.
The last is a trickshot simulation where an agent uses depth limited searches to find the quickest way to shoot all the other agents in a scene with the fewest shots fired. resulting in a bunch of two for one shots.
Bees Code Report
Bees Data Analysis
Trick Shots Code Report
These three proof-of-concept builds were made in Python using the Pyglet library.