2

迷路の問題に似たものを PyBrain に実装しようとしていました。ただし、非常口のある部屋に似ており、エージェントを部屋の 1 つに残して出口を見つけます。これをコンピューター方式に変換するには、部屋間の経路を示す重みを使用して双方向グラフを使用できます。

私は新しい環境を実装しようとしましたが、何をすべきかについて少し迷っています。たとえば、抽象環境クラスに基づいて、私はこれについて考えました:

#!/usr/bin/python2.7

class RoomEnv(Environment):
    # number of action values acceptable by the environment
    # Two events: go forward and go back through the door (but, how we know what room is connect to another?)
    indim = 2
    # Maybe a matrix where 0 is no connection and 1 is a connection(?)
    #            A,B,C,D,E,F
    #indim = array([[0,0,0,0,0,0],  # A
                    [0,0,0,0,0,1],  # B
                    [0,0,0,0,0,0],  # C
                    [0,0,0,0,0,0],  # D
                    [0,0,0,0,0,1],  # E
                    [0,0,0,0,0,1],  # F
                  ])

    # the number of sensors is the number of the rooms
    outdim = 6

    def getSensors(self):
        # Initial state:
        # Could be any room, maybe something random(?)

    def performAction(self, action):
        # We should look at all the states possible to learn what are the best option to go to the outside state.
        # Maybe a for loop that goes through all the paths and use some weight to know where is the best option?

        print "Action performed: ", action

    def reset(self):
        #Most environments will implement this optional method that allows for reinitialization. 

心から、

4

1 に答える 1