Doublet Game Solver

Start Word: End Word: Word Bank:

Note: The first entry in the word bank must be the number of total words that will be in the word bank, and each entry should be seperated by a new line. Be sure to include the start word in the word bank.

Information

This program solves the Doublet Game, also known as Word Ladder. The objective of the game is to convert a specified initial word into a target word by altering one letter at a time, with the constraint of using a predefined vocabulary.

To utilize this program, input the starting word, the ending word, and the word bank (a dictionary of valid words). The program will generate a list of all the words used in the transformation process.

This program utilizes the A* Pathfinding Algorithm to find the optimal solution. It works by systematically exploring possible paths from the starting word to the ending word while keeping track of a heuristic cost estimation. This heuristic helps the algorithm prioritize paths that are more likely to lead to the optimal solution.

The A* Search Algorithm is implemented in C++, while the frontend is developed using HTML, CSS, and JavaScript. The entire application is hosted on a Python Django web framework, which facilitates the JSON-based communication between the frontend and the C++ algorithm.

About the Developer

Martin Estrin

This program was developed by Martin Estrin, a third-year computer science student at the University of Southern California, Viterbi School of Engineering. Martin is currently employed as a Software Engineer at Outlier, where he specializes in AI Training. He is also a course producer for CS 170, an introductory computer science class at USC. Martin's passions are in software development, algorithms and technology. He is adept in several programming languages, software development tools, database management, and machine learning. In his free time, he enjoys skiing, surfing and being in the outdoors.

Linkedln: https://www.linkedin.com/in/martinestrin/

Personal Site: https://www.martinestrin.com

Email: mzestrin@usc.edu

Phone: (206) 572-9714