Qualia
0.2
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
src
qualia
rl
TupleDataSet.h
Go to the documentation of this file.
1
/*
2
* TupleDataSet.h
3
*
4
* (c) 2013 Sofian Audry -- info(@)sofianaudry(.)com
5
*
6
* This program is free software: you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License as published by
8
* the Free Software Foundation, either version 3 of the License, or
9
* (at your option) any later version.
10
*
11
* This program is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
* GNU General Public License for more details.
15
*
16
* You should have received a copy of the GNU General Public License
17
* along with this program. If not, see <http://www.gnu.org/licenses/>.
18
*/
19
20
#ifndef TUPLEDATASET_H_
21
#define TUPLEDATASET_H_
22
23
#include <
qualia/core/common.h
>
24
25
#include <
qualia/core/Action.h
>
26
#include <
qualia/learning/DataSet.h
>
27
#include <
qualia/rl/RLObservation.h
>
28
35
class
TupleDataSet
:
public
DataSet
{
36
public
:
37
XFile
*
file
;
38
39
// Call to setExample(t) will also set these values accordingly.
40
RLObservation
lastObservation
;
// s
41
Action
lastAction
;
// a
42
RLObservation
observation
;
// r, s'
43
44
int
currentExampleIndex
;
45
46
TupleDataSet
(
XFile
*
file
,
unsigned
int
observationDim
,
ActionProperties
* actionProperties);
47
virtual
~TupleDataSet
();
48
49
virtual
void
init
();
50
51
virtual
void
reset
();
52
53
// Sets this->example to given index t.
54
virtual
void
setExample
(
int
t);
55
56
unsigned
int
observationDim
()
const
{
return
lastObservation
.
dim
(); }
57
unsigned
int
actionDim
()
const
{
return
lastAction
.
dim
(); }
58
59
// Get tuple (s, a, r, s') elements from example.
60
static
void
tupleFromExample
(
RLObservation
*
lastObservation
,
Action
*
lastAction
,
real
* reward,
RLObservation
*
observation
,
const
real
*
example
);
61
62
// Fill up example with the (s, a, r, s') tuple.
63
static
void
tupleToExample
(
real
*
example
,
const
RLObservation
&
lastObservation
,
const
Action
&
lastAction
,
real
reward,
const
RLObservation
&
observation
);
64
};
65
66
#endif
/* TUPLEDATASET_H_ */
Generated on Fri Oct 11 2013 19:01:21 for Qualia by
1.8.3.1