-A problem is defined in 5 ingredients.1. Initial state. 2.Transition model. 3.Goal test 4. Path cost 5.Solution.
-What makes it hard for a computer to handle the problems is the unknown fully given environment and unpredictable complex contingency problem.
So, what we do first is simplify the questions we encounter first and then add more attributes after analyzed it .(the way we look for heuristic-less restriction)
-Here we discuss the relationship and differences between tree search and graph search and it's applied in different kinds of questions.
-In ai area, we will form the tree or graph during the progress which the problem is solved.
-To be clarify ,we have the words frontier(open list) and explored set(closed list) to make sure the sequence of the search when node is expanding.
-The node is a data structure constituting part of a search tree includes state, parent node, action, path costg(x) and depth.
-There are always 4 evaluation for a particular algorithm . 1.Completeness 2.Optimality 3.Time complexity 4.Space complexity.
-The measurement include b(maximum branching factor of the search tree), d(depth of the least-cost function) m(maximum depth of the state space)
- we skip the usual search strategy that is breadth-first, uniform-cost, depth-first, depth-limited, iterative deepening, bi-direction.
-Heuristics helps you find the better node to expand.
-The main idea is using an evaluation function for each node to measure the step.
-BEST-FIRST SEARCH
•greedy best-first search (estimate of the cost from n to goal)
•A*search(cost so far to reach n and estimated cost from n to goal)
-LOCAL SEARCH
•Hill-climbing
•Simulated annealing
•Local beam search
•Genetic algorithm
(we can use more examples from the nature to make a better performance algorithm enhancement)
properties of heuristics
admissible (tree search)
consistent (graph search)
dominant