弓刀

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

本篇是sample.py

 

 1 # -*- coding: utf-8 -*-
 2 """Contains class representing an LSPI sample."""
 3 
 4 
 5 class Sample(object):
 6 
 7     """Represents an LSPI sample tuple ``(s, a, r, s', absorb)``.
 8     #表达了LSPI的采样,用tuple表示
 9     Parameters#输入参数    
10     ----------
11         
12     state : numpy.array#状态向量
13         State of the environment at the start of the sample.采样开始时环境的状态
14         ``s`` in the sample tuple.
15         (The usual type is a numpy array.)
16     action : int#执行的动作的编号
17         Index of action that was executed.
18         ``a`` in the sample tuple
19     reward : float#从环境中获得的奖励
20         Reward received from the environment.
21         ``r`` in the sample tuple
22     next_state : numpy.array#采用了采样中的动作后的下一个环境状态
23         State of the environment after executing the sample's action.
24         ``s'`` in the sample tuple
25         (The type should match that of state.)
26     absorb : bool, optional#如果这个采样终结了这个episode那么就返回True
27         True if this sample ended the episode. False otherwise.
28         ``absorb`` in the sample tuple
29         (The default is False, which implies that this is a
30         non-episode-ending sample)
31 
32 
33     Assumes that this is a non-absorbing sample (as the vast majority
34     of samples will be non-absorbing).
35     #假设这个sample是不会结束episode的,
36     #这么做:设成一个类,是为了方便不同的调用方式
37     This class is just a dumb data holder so the types of the different
38     fields can be anything convenient for the problem domain.
39 
40     For states represented by vectors a numpy array works well.
41 
42     """
43 
44     def __init__(self, state, action, reward, next_state, absorb=False):#初始化
45         """Initialize Sample instance."""
46         self.state = state
47         self.action = action
48         self.reward = reward
49         self.next_state = next_state
50         self.absorb = absorb
51 
52     def __repr__(self):#打印的时候调用该函数.
53         """Create string representation of tuple."""
54         return 'Sample(%s, %s, %s, %s, %s)' % (self.state,
55                                                self.action,
56                                                self.reward,
57                                                self.next_state,
58                                                self.absorb)

 

posted on 2016-05-13 17:18  弓刀  阅读(236)  评论(0编辑  收藏  举报