I've been crazy busy with my new course 😁
Currently I'm learning how you can define a search problem and use any search algorithm and it's like magic happens it will return the best path for the solution you need.
A search problem definition:
- A set of states, that will help you to model th current state of the world and all its possible combinations
- A set of actions, that you might perform at any state to help you reach the goal
- A successor function, that based on certain initial and end state will help you transition from one state to the next state, and it has a cost associated to it
- An initial state, where are you starting in your problem. The initial representation of where you are.
- An end state, will help you validate if you have reach the goal. It's also called the goal test
This topic is really interesting as it will help you define any problem you might have and work through a solution using search algorithms.
In between search algorithms we have seen in class so far:
- DFS or Deep first search.
- BFS or Breath First Search.
- DFS with iterative deepening, a combination of DFS with BFS.
- UCS, or Universal Cost Search
- A* , similar to UCS but use heuristic functions and move in the direction towards a goal.