During the 2019-2020 academic year in team of students we set off to do some cool knot theory research. We were expecting to do typical pure mathematics research, making conjectures, proving theorems. Instead, one day while playing with knot mosaic tiles to build intuition we were inspired to create Knotris, so others can engage with knot theory through play!
This page gives a quick overview of the game and details my independent self-driven contributions.
Currently, I'm doing additional probability analyses, preparing an article about our work for publication, and preparing our paper for publication. I'm also trying to create an outreach package so folks can engage with knot theory and the game in an accessible way.
Knot mosaics were first introduced by Lomonaco and Kauffman to create a foundation for quantum knot theory. A knot mosaic is a rectangular configuration created using the 11 basic knot mosaic tiles, and can be used to represent any knot. Beyond its applications to quantum knot systems, Kauffman and Lomanoco’s work inspired curiosity about the 11 basic knot mosaic tiles as combinatorial objects, which we got to play with in our research.
knot diagram of the trefoil
11 knot mosaic tiles grouped by rotation equivalence
knot mosaic diagram of the trefoil
inspired by Tetris
To inform our game design we drew from the beloved classic, Tetris. In particular, a single tile falls at a time and can be rotated, the game has hold and drop tile features, the score increments when a row is cleared, and the game ends once a tile is placed beyond the height of the board.
some terms
connection point
is present along any edge of a tile that a strand passes through
internally suitably connected
if each of the connection points on an internal edge is satisfied
internally suitably connected
not internally suitably connected
If a row is not internally suitably connected that row, and all the rows below it are stuck on the board for the remainder of the game.
externally suitably connected
if each connection point along the upper boundary of the row to be cleared is satisfied
For the purpose of the game, we restricted our definition of externally suitably connected to only consider the upper boundary.
row A is not externally suitably connected
row B is externally suitably connected
To clear a row the player must create a row that is internally and externally suitably connected.
love this
the bottom row will clear
not this
row B is not internally suitably connected so rows A & B are stuck
boundary condition
is the trace of the external edges of a tile, row, or hole where 0 corresponds to there not being a connection point & 1 corresponds to a connection point
gamebag
Tiles are supplied to the player from a shuffled bag composed of 3 of the 7-tile bags. We found the 7-tile bag to lead to the most natural gameplay for creating rows.
scoring
The score increments when a row is cleared. Each tile in the row contributes (100 * tile multiplier) to the score. Initially each tile has a multiplier of 1, but we can increase it by creating knot or loops with that tile or clearing multiple rows at once.
clearing multiple rows
creating knots and loops
probability analysis & strategy
After determining the fundamental parameters of the game, we wanted to investigate how difficult it would be to play. More specifically, given the constraints on our gamebag...
How easily can a row be cleared with the next 6 tiles?
I created a filling a row algorithm and using Python and Excel I was able to take any bag of tiles and output all the unique suitably connected rows that could be realized and organized them by their upper boundary condition. This showed us how easily we could resolve particular game states, and informed strategies for gameplay.
Filling a Row Algorithm
Input: a tile bag
assemble all possible rows using all permutations and rotations of tiles in the bag
remove all non-internally suitably connected rows
keep unique suitably connected rows and remove redundancies
Output: unique lower boundary conditions and their respective frequency
Initially I tried to figure out using a single 7-tile bag. Since the Knotris gameboard is 6 tiles wide I defined 4 6-tile bags by omitting a single from the 7-tile bag. I applied this algorithm to each of the 6-tile bags. The aggregate outputs tell us what we can assemble using a 7-tile bag.
This was a helpful starting point, however, these 6-tile bags do not capture all 6-tile combinations our a player could encounter during gameplay. So after running the 6-tile bags I edited my code to execute the algorithm without a constraint on the bag size. and applied the algorithm to the 7-tile bag.
Once I successfully found the results for the 7-tile bag. I wanted to capture all 6-tile combinations the player could encounter during gameplay, so I applied the algorithm to the gamebag, and got the results below.
I was curious about which tile is the versatility of tiles during gameplay, so I configured 6-tile bags each composed of only tiles of a single type. For example the aElbow bag contains 6 elbow tiles. The visualization below is a good starting point at determining the most versatile tile. However I would like to do further analysis, and create a plot on an x-y axis with four data points that more clearly illustrates a tile that the player would most benefit a player to use the hold feature on.
Can we clear multiple rows at once?
Since our game's framework closely resembled Tetris we wondered if it would be possible to clear multiple row in Knotris. In order to clear multiple rows we would need to create a boundary condition that could easily be satisfied given our gamebag, and easy to keep track of during play. I proved it was possible using a proof by picture, but below is a fun example of how to clear 5 rows using the boundary condition, (1,1,1,1,1,0). In order to clear multiple rows a player must assemble rows such that they meet the conditions outlined below.
1.1all rows are internally suitably connected
3. all rows to be cleared have the same upper boundary condition
2. all rows to be cleared are not externally suitably connected
4. the row that will catalyze clearing is externally suitably connected to the rows to be cleared
How easily can a hole be filled?
We spent weeks calculating the probability of filling one-, two-, and three-tile holes with all possible boundary conditions by hand drawing tree diagrams. When we were curious about larger holes with more complicated boundary conditions doing the tree diagrams by became convoluted to draw and time consuming. So I decided to automate our tree diagrams to calculate probabilities, which was a fun and interesting challenge!
Example of a 1x2 hole tree diagram
Example of a 2x1 hole tree diagram
To begin I automated the one-tile holes and created generalized probability trees for two-and three-tile holes. I structured my functions such that they in solving the probability of a three-tile hole the function would reference two- and one-tile functions. By making generalized trees I was able to optimize my code.
hole types, where a dashed line indicates no constraint on the edge
You can check out the Python probability simulations at my GitHub!
Thinking about these generalized trees and examining the outputs helped me create a theorem that is a strategy for filling an L-shaped hole.
L-Hole Strategy Theorem
Assume a Knotris game board has an L-shaped hole as defined below. The probability of completing this L-shaped hole is maximized when the first tile is placed in position B.
Proof Idea
If the first tile is placed in position B, we are left with a 1x2 (horizontal) hole. In contrast if it is placed in position A a 2x1 (vertical) hole remains. The probability of filling a 1x2 hole has a lower bound of 5/49, meanwhile the probability of filling a 2x1 hole has an upper bound of 4/49. Therefore, the probability of completing an L-shaped hole is maximized when the first tile is placed in position B.
Dr. Allison Henrich, Alexandra Ionescu, Brooke Matthew, Isaac Ortega and our collaborators Jen Townsend, Eden Chmielewski, Andre Dennis , Kellen McKinney for creating an awesome research experience!
Math Horizons and Seattle University Undergraduate Research Journal for publishing our work.
Conferences I've had the opportunity to share our work:
Nebraska Conference for Undergraduate Women in Mathematics (NCUWM)
Shenandoah Undergraduate Mathematics and Statistics Conference (SUMS)
Seattle University Undergraduate Research Association (SUURA)
Northwest Undergraduate Mathematics Symposium/Pacific Inland Mathematics Undergraduate Conference (NUMS/PiMUC)
Center for Undergraduate Research in Mathematics (CURM) and the National Science Foundation (NSF) for funding our research.