logic q7
This commit is contained in:
@ -515,11 +515,25 @@ def mapping(problem, agent) -> Generator:
|
|||||||
outer_wall_sent.append(PropSymbolExpr(wall_str, x, y))
|
outer_wall_sent.append(PropSymbolExpr(wall_str, x, y))
|
||||||
KB.append(conjoin(outer_wall_sent))
|
KB.append(conjoin(outer_wall_sent))
|
||||||
|
|
||||||
"*** BEGIN YOUR CODE HERE ***"
|
KB.append(PropSymbolExpr(pacman_str, pac_x_0, pac_y_0, time=0))
|
||||||
util.raiseNotDefined()
|
|
||||||
|
|
||||||
for t in range(agent.num_timesteps):
|
for t in range(agent.num_timesteps):
|
||||||
"*** END YOUR CODE HERE ***"
|
pacphysics = pacphysicsAxioms(t, all_coords, non_outer_wall_coords, known_map, sensorModel=sensorAxioms,successorAxioms=allLegalSuccessorAxioms)
|
||||||
|
KB.append(pacphysics)
|
||||||
|
action_t = agent.actions[t]
|
||||||
|
KB.append(logic.PropSymbolExpr(action_t, time=t))
|
||||||
|
percepts=agent.getPercepts()
|
||||||
|
percept_rules=fourBitPerceptRules(t,percepts)
|
||||||
|
KB.append(percept_rules)
|
||||||
|
for x, y in non_outer_wall_coords:
|
||||||
|
# Check if (x, y) is a wall
|
||||||
|
if entails(conjoin(KB), PropSymbolExpr(wall_str, x, y)):
|
||||||
|
known_map[x][y] = 1
|
||||||
|
KB.append(PropSymbolExpr(wall_str, x, y))
|
||||||
|
elif entails(conjoin(KB), ~PropSymbolExpr(wall_str, x, y)):
|
||||||
|
known_map[x][y] = 0
|
||||||
|
KB.append(~PropSymbolExpr(wall_str, x, y))
|
||||||
|
agent.moveToNextState(action_t)
|
||||||
yield known_map
|
yield known_map
|
||||||
|
|
||||||
#______________________________________________________________________________
|
#______________________________________________________________________________
|
||||||
|
Reference in New Issue
Block a user