How to check if search problem has no solution in depth limit search?

Thread Starter

terabaaphoonmein

Joined Jul 19, 2020
101
Depth-limited search can be terminated with two Conditions of failure:

Standard Failure: it indicates that the problem does not have any solutions.

Cutoff Failure Value: It defines no solution for the problem within a given depth limit.

https://www.analyticsvidhya.com/blog/2021/02/uninformed-search-algorithms-in-ai/

https://www.javatpoint.com/ai-uninformed-search-algorithms

I checked for cut off failure. But I don't know how to check for standard failure. Can you guide me a bit?


Python:
# Python dictionary to act as an adjacency list
graph = {
  '7' : ['19','21', '14'],
  '19': ['1', '12', '31'],
  '21': [],
  '14': ['23', '6'],
  '1' : [],
  '12': [],
  '31': [],
  '23': [],
  '6' : []
}

goal='6'
visited = [] # List of visited nodes of graph.
def dls(visited, graph, node,depth):
    if(depth>=0):
        
        


        if node not in visited:
            visited.append(node)
        
        if(node==goal):
            print("goal found")
            print("path to goal=",visited)
            exit()


        for neighbor in graph[node]:
            dls(visited, graph, neighbor,depth-1)
        

        print(node)

# Driver Code
print("Following is the Depth-First Search")
res=dls(visited, graph, '7',1)
if(res):
    print("Path to goal node available")
    print("Path",path)
else:
    print("No path available for the goal node in given depth limit ie cut off failure")

print("visited=",visited)
 
Top