Inspiration
The inspiration for this project was a youtube video by veritasium which explored the world of knot theory. When it mentioned how math algorithms exist to solve a problem Alan Turing thought undecidable, we decided to try working with this algorithm so that any person could use it without needing to know the complex math.
What it does
Our project is a website that describes how to use snapPy so that you can use a python file in our git repository to determine if a knot the user drew is a prime knot, or an unknot.
How we built it
We first created a website with HTML to describe how to use the snapPY python shell to execute python object commands to create a .py file in the downloads folder of the user. We then created an object person file to compare generated DT values to find which knot is equivalent.
Challenges we ran into
The main challenge was creating an input to output flow through the website. We wanted to use the Plink visual editor and launch it from the website with a python script, but to use the visual editor, you must have the snapPy application installed or have Sage installed, and Sage cannot be installed on Windows. Because of this, we more had to create a guide for the user to install and use snapPy, rather that creating an automated python script, which also limited our scope.
Accomplishments that we're proud of
We were able to use notoriously complex math algorithms to compare knots and we presented creating the knot to be much simpler than what was happening in all of our scripts.
What we learned
We learned how to use python object commands in a more obscure GUI and export files to compare to an object list. We also learned a bit of Regina in the process as well as the use of .tri files.
What's next for Knot or Not
Implementing more knot discriminators such as p-colorability and the HOMPFLY polynomial would allow for users to create larger and more complex knots without worrying about misidentifying different knots.
Log in or sign up for Devpost to join the conversation.