def stepCost(self, state, action): return 1 def huristic(self, state): cost = 0 cost = (state.row - state.value[0]) + (state.col - state.value[1]) return cost print("DFS : \n") C = Problem() Alg7 = Algorithms(C) Alg7.DFS(C.initialState()) print("=========================") print("UCS : \n") B = Problem() Alg6 = Algorithms(B) Alg6.UCS(B.initialState()) print("=========================") # print("BIDIRECTIONAL : \n") # D = Problem() # Alg8 = Algorithms(D) # Alg8.bidirectional(D.initialState(), D.initializeGoal()) # print("=========================") print("A_STAR : \n")
huristic = huristic + abs(goalState.get(state.value[i][j])[0] - i) + abs(goalState.get(state.value[i][j])[1] - j) return huristic def initializeGoal(self): state = State() state.value = [['0','1','2'],['3','4','5'],['6','7','8']] return state P = Problem() Alg = Algorithms(P) print("DFS : \n") Alg.DFS(P.initialState()) print("=======================") # D = Problem() Alg2 = Algorithms(D) print("UCS : \n") Alg2.UCS(D.initialState()) print("=======================") # C = Problem() Alg3 = Algorithms(C) print("BIDIRECTIONAL : \n") Alg3.bidirectional(C.initialState(), C.initializeGoal()) #