This was a project that I, along with my team at YHack, Jessica Yang, Albert Shin, and Jeff Qiu, created in the Fall of 2013. I created the algorithm the site uses to create cocktails, and used a graph generated by scraping DrinksMixer, a large online catalog of mixed drinks, as input.
Shot Roulette considers a graph over the known ingredients that go into mixed drinks, drawing an edge between two vertices if they are seen together in enough different drinks. We found that fifteen was a decent number experimentally. It assigns to each edge a weight proportional to the number of drinks that pair appears in. When the user selects an ingredient to start, ShotRoulette looks up the vertex corresponding to the drink and takes a weighted random walk three steps out, returning its path as a drink.
Click here to see the project!