This project aimed to use Virtual Trebuchet and Selenium, a browser automation tool, to systematically tweak and optimize trebuchet designs using natural selection processes.
This code was written a long time ago. Because of this, I unfortunately cannot provide instructions as to how to set it up. What I can tell you is what each of the applications are supposed to do.
- VirtualTrebuchet.py - Creates 400 random trebuchet designs and saves them to
All_Trebuchet_Data.csv. This data will be used as an initial search space for the next program that optimizes the random batch of designs, ultimately narrowing down to an optimial configuration. - VirtualTrebuchetOptimizer.py - Reads from a file called
Optimized_Sorted_Data.csvand runs 480 epochs that take the top 100 trebuchet designs and tweaks them slightly before scoring, saving, and sorting them to the sameOptimized_Sorted_Data.csvfile. To run this program you can rename theAll_Trebuchet_Data.csvtoOptimized_Sorted_Data.csvand the program will optimize the random designs.