Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
В итоге почти 3 рабочих дня я потратил на решение этих задач
def genericSearch(problem, pushFn, popFn):
closed = set()
pushFn([], problem.getStartState())
while True:
actions, state = popFn()
if problem.isGoalState(state):
return actions
if not state in closed:
closed.add(state)
for succ, action, cost in problem.getSuccessors(state):
pushFn(actions + [action], succ)
def breadthFirstSearch(problem):
fringe = deque()
return genericSearch(problem,
lambda actions, state: fringe.append((actions, state)),
lambda: fringe.popleft())
def aStarSearch(problem, heuristic=nullHeuristic):
fringe = []
return genericSearch(problem,
lambda actions, state: heapq.heappush(fringe, (problem.getCostOfActions(actions) + heuristic(state, problem), actions, state)),
lambda: heapq.heappop(fringe)[1:])
Как я решил потихоньку учить питон, а попал в дебри CS188.1x Artificial Intelligence