The code for the given repo is private.
The private repo contains implementation of different AI algorithms such as
-
SEARCH:
Problem Statement: calculate a route between two points in Romania while seeking to minimize time and space cost. Algorithms:
- Implemented Priority Queue to order search frontier.
- Implemented Breadth first search on the graph. It returns a path of nodes from a given start node to a given end node, as a list.
- Impelmented uniform-cost search, using PriorityQueue as the frontier. It return a path from the start to the goal node as a list of nodes.
- Implemented A-star search using Euclidean distance as heuristic.
- Implemented bidirectional uniform-cost search. This requires starting the search at both the start and goal nodes.
- Implemented bidirectional A-star search. Here we calculate a heuristic for both the start-to-goal search and the goal-to-start search. Optimal path calculated is the same path found via unidirectional UCS and A*.
- Implemented tridirectional search using UCS. Starting from each goal node, performed a uniform-cost search and keep on expanding until two of the three searches meet.
-
GAME PLAY: Problem statement: AI that can play and win a game of Castle Isolation. Algorithm:
- Implemented Minimax algorithm. Defeated a Random Player >=90% of the time.
- Implemnted Alpha Beta pruning. Minimax level 2 >= 70% of the time.
-
BAYES NETWORK: Problem Statement: Build a Bayesian networks to efficiently calculate the answer to probability questions concerning discrete random variables.
- Setting the probabilities, performing inference, sampling and finally building the network. Perfomed Posterior distribution.
- Implemented Gibbs sampling and Metropolis-Hastings sampling to idenitfy which works better.
-
DECISION TREE: Algorithms:
- Implemnted Decision tree from scratch.
- Implemented Random forest from scratch.
-
GAUSSIAN MIXTURE MODEL:
- k-Means Clustering
- Gaussian Mixture Model
- Bayesian Information Criterion: Balance the goodness of fit of a model with the complexity of the model, penalizing models that are more complex