The Real Jon Zia (on Github)

Logo

Run, Debug, Repeat

View My GitHub Profile

About Me

I’m an aspiring physician-scientist based in Atlanta, GA, USA. Though I’m an electrical engineer by day, my coding hobbies involve creating A.I.-powered bots for multiplayer games and occasionally publishing various machine learning templates I create in the course of my work.

You can check out all my projects on my (admittedly sparsely-updated) GitHub Profile – or simply scroll down for project descriptions, documentation, and videos. Feel free to contact me directly for comments and questions!

I hope you find one or more of these repositories helpful!



Machine Learning Templates

Various template scripts for performing machine learning tasks.

Neural Net Studio (Matlab)

This program trains and analyzes recurrent neural networks (RNNs) as well as non-recurrent feedforward networks. It works for both recurrent and non-recurrent networks, and any number of different neural network architectures can be tested at once. The program is automatically formatted for parallel processing across computer cores.

// Documentation // Demo //


LSTM Network (Tensorflow)

This program is an LSTM network written in Python for Tensorflow.

// Documentation // Demo //


Recurrent Autoencoder (Tensorflow)

This program implements a recurrent autoencoder for time-series analysis.

// Documentation //



Games!

Sometimes I design programs for games that I have a hard time winning.

Catan RL (Matlab)

This program learns to play Settlers of Catan via reinforcement learning. The quality function is learned by training a neural network to map board states generated from Monte Carlo simulations to the ultimate number of victory points achieved by the player. The program follows an epsilon-greedy function based on the most current quality function approxmation.

// Documentation //


Chess RL (Tensorflow)

This program learns to play chess via reinforcement learning. The action-value functions are learned by training a neural network on the total return of randomly-initialized board states, determined by Monte Carlo simulations. The program follows an epsilon-greedy policy based on the most current action-value function approximations.

// Documentation // Demo //


Codenames AI (Matlab)

This program generates clues based on either 8 or 9 words entered by the user. The words must be taken from the 400-word set of the Codenames board game. The clues are generated based on an analysis of the Priceton Wordnet database. You can check out a demo of the program on YouTube!

// Documentation // Demo //



Other Projects

Random other projects related to my work and hobbies.

Swarm Robotics + RL (Matlab)

A simple project which uses reinforcement learning to teach networked agents to perform herding tasks. This software was designed for simulation in Matlab and implementation in the Robotarium laboratory at Georgia Tech.

// Documentation + Demos //


Drone Flight Controller (Arduino)

Check back soon! This project will utilize reinforcement learning as the basis for a flight controller.


Wordnet Data Capture (Java)

The purpose of this program is to scan the Princeton Wordnet database and store the hyponym and meronym data as well as full hypernym trees such that this data may be analyzed by another program. This program uses the JWI API from MIT to read and translate the Wordnet 3.0 database into workable .txt files for use in applications such as MATLAB. This program was used to build the dataset for the Codenames AI also available on GitHub.

// Documentation //