AIND 0
Heuristic: some additional piece of information — a rule, function or constraint that informs an otherwise brute-force algorithm to act in a more optimal manner.
Pruning the search tree: eliminate the choice which never contributes to a winning solution.
Adversarial Search: make choice considering other human opponents are also trying to win the game.
Mini-Max Algorithm: you are trying to maximize your chances of winning on your turn, and your opponent is trying to minimize your chances of winning on their turn.
When you rule out a move as being bad, you are actually getting rid of its potential successors from consideration.
Intelligence should be defined within the context of a task. Therefore, understand the task or problem domain is key to design intelligent systems.

Perception: the agent interacts with the environment by sensing its properties. Then it produces useful output or actions that typically change the state of the environment.
Cognition: the process by which an agent decides what action to take based on its perceived inputs.

Environment States:
Fully Observable: an environment can be fully observable like Tic-Tac-Toe where you can see the entire board.
Partially Observable: an environment can be partially observable like in Battleship where you can’t see your opponent ship positions.
Deterministic: you know for sure the result of each action.
Stochastic: there is uncertainty.
Discrete: there is a finite number of states that the environment can be in.
Continuous: number of possible states is infinite.
Benign: the agent is the only one taking actions that intentionally affect its goal.
Adversarial: there are one or more other agents that can take action to defeat our agent’s goal.
