コード例 #1
0
ファイル: Robot.py プロジェクト: pedramnoori/Classical-Search
    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")
コード例 #2
0
                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())
#