Relevant articles: Validating Input With Finite Automata in Java Example of Hill Climbing Algorithm Monte Carlo Tree Search for Tic-Tac-Toe Game Binary Search Algorithm in Java Introduction to Minimax Algorithm How to Calculate Levenshtein Distance in Java? How to Find the Kth Largest Element in Java