Projects
Web-based Projects
Quantum Tic-Tac-Toe
On each players turn, they can do one of three things:
- Move Normally: This acts as regular tic-tac-toe, where you place your X or O on the board. (Note: these aren't measured moves, which mean they might move in the future! See the next item for more information.)
- Measure: When moving normally, you will notice that your symbol wiggles around a bit. This is not just for aesthetic effects, this is to indicate to you that it may either tunnel or be entangled with another symbol in the future. On your turn, you can choose to click one of these blue symbols (even your opponents) to measure it. When a symbol is measured, it will turn red and stop moving around. Once it is measured, it will never move for the rest of the game. When every square is filled up, the game will forcibly measure every square to determine the winner.
- Superposition Move: By clicking on one square and dragging to another square (with the mouse down the entire time), you can elect to place your symbol into two squares at the same time. You don't actually make two moves at the same time, you indicate that your symbol exists in one of the two squares. When it is measured, one of the squares will turn into your symbol in measured form, and the other will be empty. If you perform a superposition move where one of the squares is a blue symbol of your opponent's type, you will create an entangled pair (denoted by the + sign). What this means is that one square is an X, and the other is an O. Measuring will randomly select which square is which. You can also make a superposition move on a move that is already in superposition (again requiring it is on your opponent's symbol). When you do this, you will create an entangled system that is also in superposition. Some X's and O's will be smaller and larger than others. These indicate the probabilities that each of these squares is a particular symbol. Larger represents a higher probability.
You may notice that sometimes a blue symbol randomly changes location. This is not a bug! This was intentionally added in to add in the concept of quantum teleportation, where objects have a very low probability of "teleporting" to the otherside of nearby barriers.
This game also does not have an AI, so for maximum entertainment you will likely want to find a friend or family member to play with. However, there is also a "Random Move" button which can be used to emulate an AI which makes random moves.
Interactive Tesseract
Visualize the fourth dimension by rotating a tesseract in all four dimensions. To assist in visualization, a color gradient is introduced to show distance in the w-axis where yellow is near and red is far.
Visualize the fifth dimension by rotating a 5d-cube in all five dimensions.
Controls:
- Click+Drag: Rotate along the XZ and YZ planes.
- Shift+Click+Drag: Rotate along the XW and YW planes.
- Alt+Click+Drag: Rotate along the XY and ZW planes.
- Control+Click+Drag: Rotate along the XV and YV planes.
- Control+Shift+Click+Drag: Rotate along the WV and ZV planes.
Like the tesseract, color is used to represent distance along the w-axis. In this program, the thickness of the line also represents distance along the v-axis.
Evolving Rockets
This project is a simulation that shows how genetic algorithms can be used to create algorithms that "learn" over time. In this example, several small rockets are attempting to learn how to navigate the terrain to reach the red circle. At the beginning, they will all randomly crash in different places and not look very interesting. However, as time goes on, through the process of evolutionary computation the rockets will begin to get better and better by creating new rockets that learn from the previous round what works and what doesn't work. To reset their progress, refresh the page!
Other Projects
Notable projects:
- Allen's Interval Algebra - June 6, 2024
- QIdris - A Quantum Computer Simulator in Idris - May 18, 2024
- Snake - A 2D N-Body Simulator - April 25, 2024
- Purity - Purely Functional Terminal Shell - March 15, 2024
- Amogus - Among Us Logical Lie Detector - October 24, 2023
- Megastar - Turing Complete Esoteric Language - September 22, 2023
- Haskell Study - TUI Alternative to Quizlet - April 28, 2023
- Evolutionary Computation - Smart Rockets - April 3, 2023
- Horcrux - Unbreakable File Encryption - December 21, 2022
- Hexer - TUI Based Hex Editor - May 16, 2022