AI Chapter 3

Lakukan tugas rumah & ujian kamu dengan baik sekarang menggunakan Quizwiz!

When is BFS generally more optimal? Why is it not always good?

When all nodes have the same cost, O(b^d) nodes and space = the same where b = successors and d = depth Memory requirements is the bigger problem with BFS than execution time Exponential-complexity search problems cannot be solved by uninformed methods for any but the smallest instances

Difference between general tree-search and graph-search algorithm?

A general tree-search algorithm considers all possible paths to find a solution whereas a graph-search algorithm avoids consideration of redundant paths

What data structure is good for search algorithms to keep track of the search tree?

Queue (quickly chooses next node to expand)

What is one common thing used to create DFS algorithm besides graph-search style?

Recursive

Search vs. total cost

Search cost: depends mostly on time complexity but can take space into account too Total cost: search cost + path cost of the solution found

What is the explored set?

Set keeping track of data been "explored", can be implemented with a hash table to allow efficient checking for repeated states

Uniform-cost search expands nodes in order of _______?_______

Their most optimal cost path

List off Uninformed Searches

1. Breadth-First Search: expands shallowest nodes first, complete, optimal for unit step costs but has exponential space complexity 2. Uniform-Cost Search: expands the node with lowest path cost, g(n), and is optimal for general step costs 3. Depth-first search: expands the deepest unexpanded node first. It is neither complete nor optimal, but has linear space complexity. depth-limited search adds a depth bound 4. Iterative-Deepening Search: calls depth-first search with increasing depth limits untiol a goal is found. It is complete, optimal for unit step costs, has time complexity comparable to breadth-first search, and has linear space complexity 5. Bidirectional search: can enormously reduce time complexity but it is not always applicable and may require too much space

What are the two things complexity depends on for search algos?

Branching factor in the state space b, and d the depth of the shallowest solution

What are the two main types of formulation?

Incremental (like with queen problem, starting with an empty board and slowly adding queens) and complete-state formulation: starts with all 8 queens (complete) and then moves them around

List off and describe Informed Search

Informed search uses heuristic function h(n) that estimates the cost of a solution from n - The generic best-first search algorithm selects a node for expansion according to an "evaluation function" - Greedy best-first search: expands nodes with minimal h(n) it is not optimal but often is efficient - A* search expands nodes with minimal f(n) = g(n) + h(n). A* is compelte and optimal, provided h(n) is ADMISSABLE (for tree-search) OR consistent (for graph-search), The space-complexity is still prohibitive - RBFS (recursive best-first search) and SMA* are robutst, optimal search algorithms that use limited amounts of memory, given enough time, they can solve problems that A* cannot solve because it runs out of memory

What are the five components of a problem?

Initial state, possible actions, transition model (description of what action does where successor = reachable state), goal state (determines if state == goal), path cost

What's the name of the search that finds the best depth limit?

Iterative Deepening Search: It finds the best by gradually increasing the limit closer to the top of the tree where less of the nodes are * It is preferred uninformed search method when search space is large and the depth of the solution is not known * There is also Iterative Lengthening Search which is not as efficient but increases by path-cost limits?

What kind of data structure does DFS use?

LIFO: so Stack

Difference between uninformed versus informed search

Uninformed means the strategies used ONLY know what's given to it in the problem definition, can only generate successors and goal vs. non-goal state Informed (heuristic) search you have some idea of what might be more promising

atomic vs. factored vs. structured

atomic - each state of world has no internal structure, either something is different or the same nothing in between (ex. search, game-playing) factored - two different black boxes yet can share some similarities structured - can be complex enough where two things are related to each other so it's not JUST variables like with factored

Depth-limited search

gives DFS a pre-determined depth limit, which can be difficult but diameter (in city example diameter was 9 bc all cities could be reached by any city in 9 steps) can help it

Problem-solving agent

goal based, atomic representation (considers future actions and the desirability of their outcome)

What are three ways one can construct good heuristics?

1. relaxing the problem definition 2. by storing pre-computed solution costs for subproblems in a pattern database 3. by learning from experience within the problem class

What is the main difference between graph searches and DFS?

DFS is complete for finite state spaces and space/time complexity is bounded by the size of the state space

What is bidirectional search and when is it beneficial?

Two searches occur with this, one starts from initial state and the other from goal, most significant weakness is that must store search to make sure no more optimal exists Finding predecessors for backwards search can be hard: 1. If just one goal state then working backwards easy and the same as working forwards 2. If several explicitly stated goals, can do two using dummy goal state with all goals as its predecessor 3. If n problems then we don't know the size so we CANNOT use bidirectional search


Set pelajaran terkait

Measurement of Energy in Food and During Physical Activity

View Set

OB Ch. 11 - Communication, conflict and negotiation

View Set

Identifying child abuse and neglect(DCF,CAAN)

View Set