searching for solutions representing search problems search problem consists ofa start node neighbors function that given nodereturns an enumeration of the arcs from the node specification of goal in terms of boolean function that takes node and returns true if the node is goal (optionalheuristic function thatgiven nodereturns non-negative real number the heuristic function defaults to zero as far as the searcher is concerned node can be anything if multiple-path pruning is useda node must be hashable in the simple examplesit is stringbut in more complicated examples (in later it can be tuplea frozen setor python object in the following code raise notimplementederror(is way to specify that this is an abstract method that needs to be overridden to define an actual search problem searchproblem py -representations of search problems class search_problem(object)""" search problem consists ofa start node neighbors function that gives the neighbors of node specification of goal (optionalheuristic function