Fall 2019 Projects

Project: 6nimmt! and Neural Networks

Project supervisor: Benjamin Antieau

Description: 6nimmt! is a simple card game published by Amigo. Players (2-10) are dealt a random hand and aim to play through the hand while accumulating as few points as possible. This is difficult because the play is simultaneous. The aim of this project is to use basic techniques from neural networks, which have been successful in some other random games like Backgammon, to explore winning strategies for playing 6nimmt! Students will learn some game theory and play trial games in person of 6nimmt! After some discussion, they will then implement various strategies using pre-existing software to host virtual tournaments of 10,000s of games to study the success of these strategies in different environments.

Outcomes: Neural networks have been successfully used to develop strategies in games like Backgammon. Inspired by this, our project aims to make use of basic neural network techniques to explore winning strategies for 6nimmt! As a starting point, we decided to create numerous naïve strategies, which were useful for a couple reasons. These strategies gave us win rates which we could use to compare our final “smart strategy” to, as well as provide us with data to train our “smart strategy”. Some of these naïve strategies included, picking the highest card, picking the lowest card, etc.

We built our neural network using TensorFlow. We played with various structures by changing the number of layers and used the ReLu activation function and Mean Squared Error (MSE) as our loss function. We also made use of the ELO rating system to rate every strategy. Although our “smart strategy” didn’t perform as well as we’d hoped, and we have a couple theories as to why this is, we’re sure we can make improvements given more time.

Project: Designing Metamaterials

Project supervisor: David Nicholls

Description: Metamaterials are assemblies of naturally occurring substances which exhibit unusual properties such as zero permeability and/or permittivity, or negative index of refraction. Applications include high sensitivity diagnostics, superresolution imaging, and cloaking. Professor Nicholls’ group has developed a set of algorithms for simulating layered media in the optical regime, and the goal of this project is to use an implementation of this to design metamaterials. This project will focus on utilizing an open source machine learning platform (such as TensorFlow) to identify metamaterials of interest to engineers.

Outcomes: In this Project, I was able to create an instance of a Multi-Layer code (4 Layer Code) in Python that would simulate how much light would transmit and reflect through the meta-material. Depending on the users input of material and the refractive index for each material, I was able to solve the Transmittance of light in the Transverse Magnetic mode.

Using this I was able to create a graph using Python’s matplotlib to show the results on a graph and compare it to an ENZ-like material, a close to perfect material that would allow all of the light to Transmit through.

Project: Magnetic Waves

Project supervisor: Mimi Dai

Description: Magnetic fields are well known to be vitally important on the earth and in the whole universe. The Earth’s magnetic field protects our planet from the charged particles streaming out from the Sun in the form of the solar wind. Magnetic fields in outer space play a significant role in star formation. Magnetic fields are also extensively used in industry to control the motion of liquid metals. The study of the dynamics of magnetic fields in electrically conducting fluids, such as in plasmas, liquid metals, and salt water, is called magneto-hydrodynamics, or MHD for short. In this project, we will investigate a few mathematical MHD models and perform simulations to visualize different types of magnetic waves. The models involved are 1-dimensional or 2-dimensional.

Prerequisites: Math 220 and knowledge of Matlab programming.

Project: Visualizing triangulations and tessellations with 3D printing

Project supervisor: Teddy Einstein

Description: Triangulations of surfaces are useful for studying the topological properties of surfaces using combinatorial techniques. The goal of this project is to produce 3D models to help illustrate how surfaces can be tiled by triangles or other polygons. Objectives include learning how to plot 3D models of surfaces using software, 3D-printing these models, and producing tessellations by triangles and other shapes on these surfaces. These models will be used to further explore the geometry of surfaces and other related topics from geometry and topology, such as the combinatorial Gauss-Bonnet Theorem.

Prerequisites: Multivariable calculus, some familiarity with programming (e.g. Python) and/or Mathematica.