• Greedy best-firstsearch tries to expand the node that is closest to
the goal, on the grounds that this is likely to lead to a solution
quickly.
• Thus, it evaluates nodes by using just the heuristic function; that is,
f(n) = h(n).
• we use the straightline distance heuristic, which we will call hSLD.
• This property says that the globally optimal solution can be
obtained by making a locally optimal solution (Greedy). The choice
made by a Greedy algorithm may depend on earlier choices but not
on the future. It iteratively makes one Greedy choice after another
and reduces the given problem to a smaller one.
6.
Example of Greedybest first search
• E-commerce Recommendation Systems (Greedy Best-First Search):
In recommendation systems, such as those used by Amazon or
Netflix, informed search strategies like Greedy Best-First Search can
help recommend products or movies by considering users.
• Robotic Path Planning: Robots (e.g., autonomous drones or
warehouse robots) use Greedy Best-First Search to determine the
best path to a target.
• Social Network Analysis: In social networks like Facebook or LinkedIn,
Greedy Best-First Search can be used to suggest friends or
connections.
Steps
Step1: Place thestarting node in the OPEN list.
Step 2: Check if the OPEN list is empty or not, if the list is empty then return
failure and stops.
Step 3: Select the node from the OPEN list which has the smallest value of
evaluation function (g+h), if node n is goal node then return success and
stop, otherwise
Step 4: Expand node n and generate all of its successors, and put n into the
closed list. For each successor n', check whether n' is already in the OPEN or
CLOSED list, if not then compute evaluation function for n' and place into
Open list.
Step 5: Else if node n' is already in OPEN and CLOSED, then it should be
attached to the back pointer which reflects the lowest g(n') value.
Step 6: Return to Step 2.
11.
Example for A*search
• GPS Navigation Systems:
Example: Google Maps, Waze, or Apple Maps,A* is often used in GPS
navigation systems to find the shortest or fastest route between two locations.
• Network Routing (Packet Switching in Communication Networks):
Example: Internet Routing Protocols.
• Air Traffic Control (Flight Path Optimization):
Example: Air Traffic Management Systems,A* is used in air traffic
management to optimize flight paths for aircraft. The algorithm considers various
factors, such as weather conditions, airspace restrictions, and the current position
of other aircraft, to guide planes along the most efficient and safest flight paths.
12.
Memory Bounded HeuristicSearch
• Iterative Deepening A*
• The simplest way to reduce memory requirements for A* is to adapt the
idea of iterative deepening to the heuristic search context, resulting in the
iterative-deepening A* algorithm
• The main difference between IDA* and standard iterative deepening is that
the cutoff used is the f-cost (g +h) rather than the depth; at each iteration,
the cutoff value is the smallest f-cost of any node that exceeded the cutoff
on the previous iteration
• IDA* is practical for many problems with unit step costs and avoids the
substantial overhead associated with keeping a sorted queue of nodes.
• IDA andRBFS suffer from
∗ using too little memory. Between iterations,
IDA retains only a single number: the current f-cost limit.
∗
• RBFS retains more information in memory, but it uses only linear space:
even if more memory were available, RBFS has no way to make use of it.
• Because they forget most of what they have done, both algorithms may
end up re expanding the same states many times over. Furthermore,
they suffer the potentially exponential increase in complexity associated
with redundant paths in graphs.
• Two algorithms that do this are MA (memory-bounded A ) and
∗ ∗
SMA (simplified MA ).
∗ ∗
17.
• SMA proceedsjust like A* , expanding the best leaf until memory is
∗
full. At this point, it cannot add a new node to the search tree without
dropping an old one.
• SMA* always drops the worst leaf node—the one with the highest f-
value.
• Like RBFS, SMA then backs up the value of the forgotten node to its
∗
parent. In this way, the ancestor of a forgotten subtree knows the
quality of the best path in that subtree. With this information, SMA∗
regenerates the subtree only when all other paths have been shown to
look worse than the path it has forgotten.
18.
• Autonomous Vehicles:Autonomous vehicles need to make real-time
decisions, such as adjusting the speed, steering, and path, while
considering the surrounding traffic, pedestrians, and obstacles.
• Games (AI in Board or Video Games): In competitive games like
chess, go, or real-time strategy games, the AI needs to make decisions
based on the current state and potential future states. Memory-
bounded search helps in managing the large number of possible game
states without overwhelming the system.
19.
Learning to SearchBetter
• Each state in a metalevel state space captures the internal (computational) state
of a program that is searching in an object-level state space.
• Each action in the metalevel state space is a computation step that alters the
internal state.
• For harder problems, there will be many missteps, and a metalevel learning
algorithm can learn from these experiences to avoid exploring unpromising
subtrees.
• The goal of learning is to minimize the total cost of problem solving, trading off
computational expense and path cost.
20.
Example Learning toSearch Better
• Google Search Engine: Google uses machine learning to optimize its
search engine algorithms by learning from user interactions and
feedback.
• Example: Google's search algorithm learning to better rank websites based on
relevance and user interaction, continually adjusting its search model to return
more accurate and timely results for future queries.
• Robotic Process Automation (RPA):Robotic process automation in
business workflows, such as data entry or financial transaction
verification, can learn to search better through feedback and iterative
processes.
• Example: An RPA bot in a financial institution learning from past transaction
verifications to search for and flag anomalies in future transactions more
effectively, improving over time.