Behaviour Blending

    Goal

    Create a tool that can be used by artists to manipulate the behaviour of crowds by changing some parameters.

Implementation

    Study how Reinforcement Learning can be used for crowd simulation. This was an effort to blend two simple behaviours, the flee and seek behaviour. The two behaviours were trained separately using Reinforcement Learning. Afterwards, we used the user defined weights to blend the outputs of the two policies.

Results

    Required a different approach.
Tools: Unity, C#, Unity ML-Agents Toolkit

Interaction Fields

    Goal

    Use a force field to guide crowds.

Implementation

    This was an effort to study how an interaction field that exists in the environment can be used to guide crowds. We used Reinforcement Learning to train a force field instead of individual agents, which guides multiple agents from a starting point to a goal.

Results

    It is more efficient to train individual agents.
Tools: Unity, C#, Unity ML-Agents Toolkit

Object-Oriented Programming Projects

    Battleship

    Implementation of an adapted version of the Battleship game where the user plays against the computer.

World of Ants

    Implementation of a simulation that takes place in a 2D environment where ants, termites and wood exist following the given rules.
Tools: Java, Eclipse IDE

AI Projects

  • Implementation of A* algorithm to solve puzzles.
  • Solve various problems using propositional logic.
  • Implementation of Neural Networks using Back Propagation for the XOR problem and for the recognition of handwritten letters.
  • Implementation of a Neural Network using the Kohonen (unsupervised learning) algorithm for clustering the data of handwritten letters.

  • Tools: C, Java, Python

    Data Structures and Algorithms

      Implemented several algorithms that uses data structures like Arrays, Linked Lists, Stacks, Queues, Binary Trees, AVL Trees etc to solve different kinds of problems.
    Tools: Java, Eclipse IDE

    Database Project

      Implementation of a database for questionnaires that are developed by multiple companies and showcasing the results in a webpage. The project was a team effort. Unfortunatelly, the access to the database is no longer available.
    URL: page
    Tools: Microsoft SQL, PHP, HTML

    Visual Computing Projects

  • Created a 3D scene with cars in OpenGL, in which the lighting and materials were set and the user can manipulate the movement of the cars and of the camera.
  • Implementation of the Canny Edge Detector Algorithm to detect the edges in a picture using Python and OpenCV.
  • Composition of a panorama from two different images that illustrate the same 3D scene from slightly different viewpoints, using the RANSAC algorithm in Python and OpenCV.

  • Tools: C++, OpenGL, Python, OpenCV