Slide 1

Slide 1 text

Ezequiel Santos - 18/10/2023 Decision-making algorithms and Planning Algorithms Overview

Slide 2

Slide 2 text

Decision-making algorithms • Decision-making algorithms are sets of rules or processes that help a computer or a machine decide what action to take in a given situation. • In real-life scenarios, decision-making algorithms are used in things like recommendation systems (like Net fl ix suggesting movies based on your watching history), self-driving cars (deciding when to stop or change lanes), and even in medical diagnosis systems (helping doctors decide on a diagnosis based on patient symptoms).

Slide 3

Slide 3 text

Planning Algorithms • Planning algorithms are a bit more complex. Imagine you have a goal (like reaching a destination) and you need to fi gure out a series of steps to achieve that goal. Planning algorithms do just that – they help a computer or a machine come up with a sequence of actions to reach a desired outcome.
 
 In the context of robotics, planning algorithms are used to determine the best path for a robot to navigate through an environment. These algorithms consider factors like obstacles, distance, and the robot's capabilities to plan the most e ff i cient route.
 
 For example, in a warehouse, a planning algorithm for a robot might involve fi guring out the best path to take to pick up an item and deliver it to a speci fi c location. The algorithm considers the layout of the warehouse, the location of the item, and the fastest way to get there without bumping into obstacles.

Slide 4

Slide 4 text

Example of decision-making algorithms • Greedy best- fi rst search is an informed search algorithm where the evaluation function is strictly equal to the heuristic function, disregarding the edge weights in a weighted graph. To get from a start node to a target node, the lowest value resulting from some heuristic function, h(x), is considered as the successive node to traverse to. The goal is to choose the quickest and shortest path to the target node. Greedy Best-First Search

Slide 5

Slide 5 text

Example of decision-making algorithms • The evaluation function, f(x), for the greedy best- fi rst search algorithm is the following: f(x) = h(x) • Here, the evaluation function is equal to the heuristic function. Since this search disregards edge weights, fi nding the lowest-cost path is not guaranteed. Evaluation Function:

Slide 6

Slide 6 text

Example of decision-making algorithms • A heuristic function, h(x), evaluates the successive node based on how close it is to the target node. In other words, it chooses the immediate low-cost option. As this is the case, however, it does not necessarily fi nd the shortest path to the goal.
 
 Suppose a bot is trying to move from point A to point B. In greedy best- fi rst search, the bot will choose to move to the position that brings it closest to the goal, disregarding if another position ultimately yields a shorter distance. In the case that there is an obstruction, it will evaluate the previous nodes with the shortest distance to the goal, and continuously choose the node that is closest to the goal. Heuristic Function

Slide 7

Slide 7 text

Example of decision-making algorithms • 1) Initialise a tree with the root node being the start node in the open list. • 2) If the open list is empty, return a failure, otherwise, add the current node to the closed list. • 3) Remove the node with the lowest h(x) value from the open list for exploration. • 4) If a child node is the target, return a success. Otherwise, if the node has not been in either the open or closed list, add it to the open list for exploration. The Algorithm - Greedy Best-First Search

Slide 8

Slide 8 text

Example of decision-making algorithms The Algorithm - Greedy Best-First Search • Consider fi nding the path from P to S in the following graph:

Slide 9

Slide 9 text

Example of decision-making algorithms The Algorithm - Greedy Best-First Search • Consider fi nding the path from P to S in the following graph:

Slide 10

Slide 10 text

Example of decision-making algorithms The Algorithm - Greedy Best-First Search • Consider fi nding the path from P to S in the following graph:

Slide 11

Slide 11 text

Example of decision-making algorithms The Algorithm - Greedy Best-First Search • Consider fi nding the path from P to S in the following graph:

Slide 12

Slide 12 text

Example of decision-making algorithms • Consider fi nding the path from P to S in the following graph: The total cost for the path (P -> C -> U -> S) evaluates to 11. The potential problem with a greedy best- fi rst search is revealed by the path (P -> R -> E -> S) having a cost of 10, which is lower than (P -> C -> U -> S). Greedy best- fi rst search ignored this path because it does not consider the edge weights.

Slide 13

Slide 13 text

• The study focused on parallelizing GBFS (Greedy Best-First Search) using PUHF, a method that limits exploration to states expandable by GBFS under certain conditions. Previous attempts at constrained parallel GBFS showed poor performance compared to unconstrained methods. The researchers introduced PUHF2, PUHF3, and PUHF4, which improved the criteria for states in the Bench Transition System (BTS). These enhancements signi fi cantly reduced idle time, enabling rapid exploration of BTS and achieving performance comparable to unconstrained methods like KPGBFS. This development is crucial for developing principled parallel GBFS algorithms, providing a viable building block for future complex parallel algorithms, such as portfolios.

Slide 14

Slide 14 text

• PUHF (Parallel Unconstrained Heuristic Forward) is a parallelization method for the Greedy Best-First Search (GBFS) algorithm. GBFS is a popular search algorithm used in arti fi cial intelligence for graph traversal and path fi nding. PUHF restricts the search to states that can be expanded by GBFS under speci fi c conditions, focusing on the Bench Transition System (BTS), which represents states that can be explored using GBFS with certain tie-breaking policies.
 • The main challenge in parallelizing GBFS lies in ensuring that parallel threads do not waste time exploring states that are not part of the BTS. PUHF addresses this challenge by constraining the search to BTS states. However, the initial version of PUHF su ff ered from high idle time, where threads spent signi fi cant periods waiting, leading to poor search performance.
 • To improve PUHF's e ff i ciency, the researchers introduced PUHF2, PUHF3, and PUHF4, which enhanced the criteria for determining states within the BTS. These improvements reduced idle time and allowed for more rapid exploration of the BTS, resulting in better search performance compared to the original PUHF method. The enhanced PUHF variants provided a way to perform parallel GBFS e ff ectively within the constraints of the BTS, making it a valuable tool in developing parallel search algorithms.