Game-
Used MiniMax to ens1ure perfect game (No Loss).
Added alpha-beta pruning. Greatly reduced number of branches of execution.
[IMP] Added maps to cache winners and best-moves for a specific game state. Reduced time hugely.
Chat-
Created a service to interact with game with minimum contract.
Created a web service by for dialogflow APIs wrapping the above mentioned service.
Created intents, entities and trained agent on dialogflow to understand conversations and interact with the web service.
Linked the agent to Google-Assistant and Facebook-Messenger.