|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.jscience.architecture.traffic.algorithms.tlc.TLController
org.jscience.architecture.traffic.algorithms.tlc.TC1TLCFix
public class TC1TLCFix
This controller will decide it's Q values for the traffic lights according to the traffic situation on the lane connected to the TrafficLight. It will learn how to alter it's outcome by reinforcement learning. Now being fixed.
| Nested Class Summary | |
|---|---|
class |
TC1TLCFix.CountEntry
|
class |
TC1TLCFix.PEntry
|
| Nested classes/interfaces inherited from class org.jscience.architecture.traffic.algorithms.tlc.TLController |
|---|
TLController.TLCDialog, TLController.TLCSettings |
| Field Summary | |
|---|---|
protected Node[] |
allnodes
|
protected java.util.Vector[][][] |
count
|
protected static float |
gamma
|
protected static boolean |
green
|
protected static int |
green_index
|
protected Infrastructure |
infrastructure
|
protected int |
num_nodes
|
protected java.util.Vector[][][] |
pTable
|
protected float[][][][] |
qTable
|
protected static float |
random_chance
|
protected static boolean |
red
|
protected static int |
red_index
|
protected static java.lang.String |
shortXMLName
|
protected TrafficLight[][] |
tls
|
protected float[][][] |
vTable
|
| Fields inherited from class org.jscience.architecture.traffic.algorithms.tlc.TLController |
|---|
infra, num_tls, tld, trackNode |
| Constructor Summary | |
|---|---|
TC1TLCFix(Infrastructure infra)
The constructor for TL controllers |
|
| Method Summary | |
|---|---|
protected float[] |
calcPGR(int tlId,
int pos,
int desId)
|
protected float[] |
calcPGROpt(int tlId,
int pos,
int desId)
|
boolean |
canCreateInstance(java.lang.Class request)
Tell our parser if we can create an instance of a certain class |
java.lang.Object |
createInstance(java.lang.Class request)
Create an instance of a certain class for our parser |
TLDecision[][] |
decideTLs()
Calculates how every traffic light should be switched Per node, per sign the waiting roadusers are passed and per each roaduser the gain is calculated. |
float |
getColearnValue(Sign now,
Sign sign,
Node des,
int pos)
DOCUMENT ME! |
float |
getVValue(Sign sign,
Node des,
int pos)
|
java.lang.String |
getXMLName()
DOCUMENT ME! |
void |
load(XMLElement myElement,
XMLLoader loader)
DOCUMENT ME! |
protected void |
recalcP(int tlId,
int pos,
int desId,
boolean light,
int tlNewId,
int posNew,
Roaduser ru,
Drivelane dl)
|
protected void |
recalcQ(int tlId,
int pos,
int desId,
boolean light,
int tlNewId,
int posNew,
Roaduser ru,
Drivelane dl)
|
protected void |
recalcQ2(int tlId,
int pos,
int desId,
boolean light,
int tlNewId,
int posNew,
Roaduser ru,
Drivelane dl,
PosMov[] posMovs)
|
protected void |
recalcQOpt(int tlId,
int pos,
int desId,
boolean light,
int tlNewId,
int posNew,
PosMov[] posMovs)
|
protected void |
recalcV(int tlId,
int pos,
int desId)
|
protected int |
rewardFunction(int tlId,
int pos,
int tlNewId,
int posNew,
int ruSpeed)
|
void |
saveChilds(XMLSaver saver)
DOCUMENT ME! |
XMLElement |
saveSelf()
DOCUMENT ME! |
void |
setInfrastructure(Infrastructure infra)
DOCUMENT ME! |
void |
showSettings(Controller c)
To be overridden by subclasses if TLC settings are to be modified. |
void |
updateRoaduserMove(Roaduser ru,
Drivelane prevlane,
Sign prevsign,
int prevpos,
Drivelane dlanenow,
Sign signnow,
int posnow,
PosMov[] posMovs,
Drivelane desired)
DOCUMENT ME! |
| Methods inherited from class org.jscience.architecture.traffic.algorithms.tlc.TLController |
|---|
applyGainValues, createDecisionArray, doSettingsDialog, getGainValuesFromDecisionArray, getInfrastructure, getNumTLs, loadSecondStage, reset, setParentName, trackNode |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected Infrastructure infrastructure
protected TrafficLight[][] tls
protected Node[] allnodes
protected int num_nodes
protected java.util.Vector[][][] count
protected java.util.Vector[][][] pTable
protected float[][][][] qTable
protected float[][][] vTable
protected static float gamma
protected static final boolean red
protected static final boolean green
protected static final int green_index
protected static final int red_index
protected static final java.lang.String shortXMLName
protected static float random_chance
| Constructor Detail |
|---|
public TC1TLCFix(Infrastructure infra)
throws InfraException
The - model being used.
InfraException| Method Detail |
|---|
public void setInfrastructure(Infrastructure infra)
TLController
setInfrastructure in class TLControllerinfra - DOCUMENT ME!public TLDecision[][] decideTLs()
decideTLs in class TLControllerThe - TLDecision is a tuple consisting of a traffic light and a reward (Q) value, for it to be green
gld.algo.tlc.TLDecision
public void updateRoaduserMove(Roaduser ru,
Drivelane prevlane,
Sign prevsign,
int prevpos,
Drivelane dlanenow,
Sign signnow,
int posnow,
PosMov[] posMovs,
Drivelane desired)
TLController
updateRoaduserMove in class TLControllerru - DOCUMENT ME!prevlane - DOCUMENT ME!prevsign - DOCUMENT ME!prevpos - DOCUMENT ME!dlanenow - DOCUMENT ME!signnow - DOCUMENT ME!posnow - DOCUMENT ME!posMovs - DOCUMENT ME!desired - DOCUMENT ME!
protected void recalcP(int tlId,
int pos,
int desId,
boolean light,
int tlNewId,
int posNew,
Roaduser ru,
Drivelane dl)
protected void recalcQ(int tlId,
int pos,
int desId,
boolean light,
int tlNewId,
int posNew,
Roaduser ru,
Drivelane dl)
protected void recalcQ2(int tlId,
int pos,
int desId,
boolean light,
int tlNewId,
int posNew,
Roaduser ru,
Drivelane dl,
PosMov[] posMovs)
protected void recalcQOpt(int tlId,
int pos,
int desId,
boolean light,
int tlNewId,
int posNew,
PosMov[] posMovs)
protected void recalcV(int tlId,
int pos,
int desId)
protected float[] calcPGR(int tlId,
int pos,
int desId)
protected float[] calcPGROpt(int tlId,
int pos,
int desId)
protected int rewardFunction(int tlId,
int pos,
int tlNewId,
int posNew,
int ruSpeed)
public float getVValue(Sign sign,
Node des,
int pos)
public float getColearnValue(Sign now,
Sign sign,
Node des,
int pos)
Colearning
getColearnValue in interface Colearningnow - DOCUMENT ME!sign - DOCUMENT ME!des - DOCUMENT ME!pos - DOCUMENT ME!
public void showSettings(Controller c)
TLController
showSettings in class TLControllerc - DOCUMENT ME!
public void load(XMLElement myElement,
XMLLoader loader)
throws XMLTreeException,
java.io.IOException,
XMLInvalidInputException
TLController
load in interface XMLSerializableload in class TLControllermyElement - DOCUMENT ME!loader - DOCUMENT ME!
XMLTreeException - DOCUMENT ME!
java.io.IOException - DOCUMENT ME!
XMLInvalidInputException - DOCUMENT ME!
public void saveChilds(XMLSaver saver)
throws XMLTreeException,
java.io.IOException,
XMLCannotSaveException
TLController
saveChilds in interface XMLSerializablesaveChilds in class TLControllersaver - DOCUMENT ME!
XMLTreeException - DOCUMENT ME!
java.io.IOException - DOCUMENT ME!
XMLCannotSaveException - DOCUMENT ME!
public XMLElement saveSelf()
throws XMLCannotSaveException
TLController
saveSelf in interface XMLSerializablesaveSelf in class TLControllerXMLCannotSaveException - DOCUMENT ME!public java.lang.String getXMLName()
XMLSerializable
getXMLName in interface XMLSerializablepublic boolean canCreateInstance(java.lang.Class request)
InstantiationAssistant
canCreateInstance in interface InstantiationAssistantrequest - The class of the object that the parser wants
public java.lang.Object createInstance(java.lang.Class request)
throws java.lang.ClassNotFoundException,
java.lang.InstantiationException,
java.lang.IllegalAccessException
InstantiationAssistant
createInstance in interface InstantiationAssistantrequest - The class of the object that the parser wants
java.lang.ClassNotFoundException - If we don't know that class
java.lang.InstantiationException - In case something goes wrong
java.lang.IllegalAccessException - DOCUMENT ME!
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||