3

現在、クラスのAI割り当てを作成していますが、デバッグを試みるたびに(ipdbまたはpdbを使用して)、pdbはすぐに閉じます。プログラムは入力としてマップを受け取り、今はテキストファイルをパイプしてstdinから行を取得しています。

python value_iteration.py < l_track.txt

これは問題なく動作しますが、閉じている原因だと思いますpdb.set_trace()。stdinが解放されていることを明示的に確認する方法はありますか?

現在のマップグラブコードセグメント:

def map_input():
...
control_line = sys.stdin.readline().rstrip('\n')
height, width = control_line.split(",")
height = int(height)
width = int(width)

print "Map:"
while row < height:
    for line in sys.stdin:
        create MDP from states
...
return mdp

それで:

def value_iteration(mdp, epsilon):
....
for state in mdp.states.keys():
     print mdp.actions[state]
     ipdborpdb.set_trace()
     utils_prime[state] = R(state) + gamma * max([
        sum([
           p * mdp.utilities[ns] for (p, ns) in T(state, a)
        ]) for a in mdp.actions[state]
     ])
     if abs(utils_prime[state] - mdp.utilities[state]) > delta:
        delta = abs(utils_prime[state] - mdp.utilities[state])
...
return mdp with utilities
4

1 に答える 1

0

これを修正する方法がわからなかったので、ファイル名入力の使用に切り替えました。

于 2013-01-05T20:37:11.900 に答える