|
|
- CSCI-331 Intro to Artificial Intelligence exam 1 review.
-
- # Chapter 1 What is AI
-
- ## Thinking vs Acting
-
- ## Rational Vs. Human like
-
- Acting rational is doing the right thing given what you know.
-
- Thinking rationality:
- - Law of though approach -- thinking is all logic driven
- - Neuroscience -- how brains process information
- - Cognitive Science -- information-processing psychology prevailing orthodoxy of hehaviorism
-
- # Chapter 2 Intelligent Agents
-
- An agent is anything that can view environment through sensors and act with actuators.
- A rational agent is one that does the right thing.
-
- ![Simple Agent](media/exam1/agent.png)
-
- ## PEAS
-
- PEAS is an acronym for defining a task environment
-
- ### Performance Measure
-
- Measure of how well agent is performing.
-
- Ex: safe, fast, legal, profits, time, etc.
-
- ### Environment
-
- Place in which the agent is acting.
-
- Ex: Roads, pedestrians, online, etc.
-
- ### Actuators
-
- Way in which agent acts.
-
- Ex: steering, signal, jump, walk, turn, etc.
-
- ### Sensors
-
- Way which the agent can see the environment.
-
- Ex: Cameras, speedometer, GPS, sonar, etc.
-
- ## Environment Properties (y/n)
-
- ### Observable
-
- Full observable if agent has access to complete state of environment at any given time.
-
- Partially observable if agent can only see part of environment.
-
- ### Deterministic
-
- If the next state of environment is completely determined by current state it is **deterministic**, otherwise it is **stochastic**.
-
- ### Episodic
-
- If agents current actions does not affect the next problem/performance then it is **episodic**, otherwise it is **sequential**
-
- ### Static
-
- If environment changes while agent is deliberating it is **dynamic** otherwise it is **static**.
-
- ### Discrete
-
- If there are a finite number of states in the environment it is **discrete** otherwise it is **continuous**.
-
- ### Single-Agent
-
- Only one agent in environment like solving a crossword puzzle. A game of chess would be **multi-agent.
-
- ## Agent Types
-
- ### Simple Reflex
-
- Simply responds to a given input based on a action rule set.
-
- ![Reflex agent](media/exam1/reflexAgent.png)
-
- ### Reflex with state
-
- Understands to some extend how the world evolves.
-
- ![Reflex with State](media/exam1/reflexWithState.png)
-
- ### Goal-based
-
- ![Goal Based](media/exam1/goalBased.png)
-
- ### Utility-based
-
- ![Goal Based](media/exam1/utilityBased.png)
-
- ### Learning
-
- ![Goal Based](media/exam1/learningAgent.png)
-
- # Chapter 3 Problem Solving Agents
-
- ## Problem Formulation
-
- Process of deciding what actions and states to consider, given a goal.
-
- ### Initial State
-
- The state that the agent starts in.
-
- ### Successor Function
-
- A description of the actions available to the agent.
-
- ### Goal Test
-
- Determines whether a given state is the goal.
-
- ### Path Cost (Additive)
-
- A function that assigns a numerical cost to each path. The step cost is the number of actions required.
-
- ## Problem Types
-
- ### Deterministic, fully observable => single-state problem
-
- Agent knows exactly which state it will be in; solution is a sequence.
-
- ### Non-observable => conformant problem
-
- Agent may have no idea where it is; solution (if any) is a sequence
-
- ### Non-deterministic and/or partially observable => Contingency problem
-
- - Percepts provide new information about current state
- - solution is a contingent plan or a policy
- - often interleave search, execution
-
- ### Unknown state space => exploration problem
-
- Exploration problem
-
- # Chapter 3 Graph and tree search for single-state problems
-
- ## Uniformed
-
- AKA blind search.
- All they can do is generate successors and distinguish a goal state from a non-goal state;
- they have no knowledge of what paths are more likely to bring them to a solution.
-
- ![Criterion summary table](media/exam1/uninformedSearches.png)
-
- ### Breadth-first
-
- General graph-search algo where shallowest unexpanded node is chosen first for expansion.
- This is implemented by using a FIFO queue for the frontier.
- The solution will be ideal if the path cost between each node is equal.
-
- ![Breadth first algo](media/exam1/breadthFirstAlgo.png)
-
-
- ### Depth-first
-
- You expand the deepest unexpanded node first.
- Implementation: the fringe is a LIFO queue.
-
- #### Depth Limited Search
-
- To avoid an infinite search space, depth limited search provides a max depth that the search algo is willing to traverse.
-
- ![Depth limited search](media/exam1/depthLimited.png)
-
- ### Uniform-cost
-
- Instead of expanding shallowest nodes, **uniform-cost search** expands the node *n* with lowest path cost: g(n).
- Implementation: priority queue ordered by *g*.
-
- ![Uniform cost search](media/exam1/uniformCostSearch.png)
-
- ## Informed
-
- Using problem-specific knowledge, applies an informed search strategy which is often more efficient than uninformed strategies.
-
- ### Greed best-fit
-
- Tries to expand node that is closest to goal. It evaluates each node by the heuristic function:
-
- $$
- f(n) = h(n)
- $$
-
- A common heuristic used is the euclidean distance (straight line distance) to the solution.
- Note: this search method can be incomplete since it can still get caught in infinite loops if you don't use a graph search method or implement an max depth.
-
- ### A*
-
- Regarded as the best best-first search algo.
- Combines heuristic distance estimate with actual cost.
-
- $$
- f(n) = g(n) + h(n)
- $$
-
- *g* gives the cost of getting from the start node to the current node.
-
- In order for this to give optimal cost, *h* must be an **admissible heuristic**: an heuristic which never overestimates the cost to reach the goal.
-
- - Complete?? no
-
- - Time?? $O(b^{d + 1})$ same as breadth first search but usually faster
-
- - Space?? $O(b^{d + 1})$ keeps every node in memory
-
- - Optimal?? Only if the heuristic is admissible.
-
- ## Evaluation
-
- ### Branching factor
-
- ### Depth of least-cost solution
-
- ### Maximum depth of tree
-
- ### Completeness
-
- Is the algo guaranteed to fina a solution if there is one.
-
- ### Optimality
-
- Will the strategy find the optimal solution.
-
- ### Space complexity
-
- How much memory is required to perform the search.
-
- ### Time complexity
-
- How long does it take to find the solution.
-
- ## Heuristics
-
- A heuristic function *h(n)* estimates the cost of a solution beginning from the state at node *n*.
-
- ### Admissibility
-
- These heuristics can be derived from a relaxed version of a problem.
- Heuristic must never overestimate the cost to reach the goal.
-
- ### Dominance
-
- If one heuristic is greater than another for all states *n*, then it dominates the other.
- Typically dominating heuristics are better for the search.
- You can form a new dominating admissible heuristic by taking the max of two other admissible heuristics.
-
- # Chapter 4 Iterative Improvement
-
- Optimization problem where the path is irrelevant, the goal state is the solution.
- Rather than searching through all possible solutions, iterative improvement takes the current state and tries to improve it.
- Since the solution space is super large, it is often not possible to try every possible combination.
-
-
- ## Hill Climbing
-
- Basic algorithm which continually moves in the direction of increasing value.
-
- ![Hill Climbing Graph](media/exam1/hillClimbing.png)
-
-
- ![Hill Climbing Algo](media/exam1/hillClimbingAlgo.png)
-
- To avoid finding a local maximum several methods can be employed:
-
- - Random-restart hill climbing
- - Random sideways move -- escapes from shoulders loop on flat maxima.
-
- ## Simulated annealing
-
- Idea: escape local maxima by allowing some bad moves but gradually decrease their size and frequency.
- This is similar to gradient descent.
- Idea comes from making glass where you start very hot and then slowely cool down the temperature.
-
- ## Beam Search
-
- Idea: keep k states instead of 1; choose top k of their successors.
-
- Problem: quite often all k states end up on same local hill. This can somewhat be overcome by randomly choosing k states but, favoring the good ones.
-
- ## Genetic Algorithms
-
- Inspired by Charles Darwin's theory of evolution.
- The algorithm is an extension of local beam search with cuccessors generated from pairs of individuals rather than a successor function.
-
- ![GA overview](media/exam1/gaOverview.png)
-
- ![Genetic Algorithm Pseudo Code](media/exam1/gaAlgo.png)
-
- # Chapter 5 Game Theory
-
- ## Minimax
-
- Algorithm to determine perfect play for deterministic, perfect information games.
- Idea: assume opponent is also a rational agent, you choose to make the choice which is the best achievable payoff against the opponents best play.
-
- ![Minimax](media/exam1/miniMax.png)
-
- ![Minimax algo](media/exam1/miniMaxAlgo.png)
-
- ### Properties
-
- - complete: yes if tree is finite
- - optimal: yes, against an optimal opponent
- - Time complexity: $O(B^m)$
- - Space Complexity: $O(bm)$ depth-first exploration
-
- This makes a game of chess with a branch factor of 35 and estimated moves around 100 totally infeasible: 35^100!
-
- ## α-β pruning
-
- Idea: prune paths which will not yield a better solution that one already found.
- The pruning does not affect the final result.
- Good move exploration ordering will improve the effectiveness of pruning.
- With perfect ordering, time complexity is: $O^{\frac{m}{2}}$.
- This doubles our solvable depth, but, still infeasible for chess.
-
- ![Alpha Beta Search Tree](media/exam1/alphaBetaTree.png)
-
- ![Alpha Beta Algo](media/exam1/alphaBetaAlgo.png)
-
- ## Resource limits
-
- Due to constraint, we typically use the **Cutoff-test** rather than the **terminal-test**.
- The terminal test requires us to explore all nodes in the mini-max search.
- The cutoff test branches out to a certain depth and then applies a evaluation function to determine the desirability of a position.
-
- ## Randomness/ Nondeterministic games
-
- Often times games involve chance such as a coin flip or a dice roll.
- You can modify the mini-max tree to branch with each probability and take the average of evaluating each branch.
-
- ![Non Deterministic game](media/exam1/nonDeterministicTree.png)
|