|
|||||||||
| 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.SL3TLC
public class SL3TLC
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.
| Nested Class Summary | |
|---|---|
class |
SL3TLC.CountEntry
|
class |
SL3TLC.PEntry
DOCUMENT ME! |
protected class |
SL3TLC.Target
DOCUMENT ME! |
| Nested classes/interfaces inherited from class org.jscience.architecture.traffic.algorithms.tlc.TLController |
|---|
TLController.TLCDialog, TLController.TLCSettings |
| Field Summary | |
|---|---|
protected Node[] |
allnodes
DOCUMENT ME! |
protected static float |
alpha
DOCUMENT ME! |
protected java.util.Vector |
count
DOCUMENT ME! |
protected static float |
gamma
DOCUMENT ME! |
protected static boolean |
green
DOCUMENT ME! |
protected static int |
green_index
DOCUMENT ME! |
protected Infrastructure |
infrastructure
DOCUMENT ME! |
protected int |
num_nodes
DOCUMENT ME! |
protected float[][][][] |
q_table
DOCUMENT ME! |
protected static float |
random_chance
DOCUMENT ME! |
protected static boolean |
red
DOCUMENT ME! |
protected static int |
red_index
DOCUMENT ME! |
protected static java.lang.String |
shortXMLName
DOCUMENT ME! |
protected TrafficLight[][] |
tls
DOCUMENT ME! |
| Fields inherited from class org.jscience.architecture.traffic.algorithms.tlc.TLController |
|---|
infra, num_tls, tld, trackNode |
| Constructor Summary | |
|---|---|
SL3TLC(Infrastructure infra)
The constructor for TL controllers |
|
| Method Summary | |
|---|---|
boolean |
canCreateInstance(java.lang.Class request)
DOCUMENT ME! |
java.lang.Object |
createInstance(java.lang.Class request)
DOCUMENT ME! |
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. |
java.lang.String |
getXMLName()
DOCUMENT ME! |
void |
load(XMLElement myElement,
XMLLoader loader)
DOCUMENT ME! |
void |
loadSecondStage(java.util.Dictionary dictionaries)
DOCUMENT ME! |
protected SL3TLC.Target[] |
ownedTargets(Sign tl,
int pos,
Node des,
boolean light)
DOCUMENT ME! |
protected void |
recalcQ(Sign tl,
int pos,
Node destination,
boolean light,
Sign tl_new,
int pos_new,
boolean light_new,
PosMov[] posMovs)
DOCUMENT ME! |
void |
reset()
DOCUMENT ME! |
protected int |
rewardFunction(Sign tl_new,
int pos_new,
PosMov[] posMovs)
|
void |
saveChilds(XMLSaver saver)
DOCUMENT ME! |
XMLElement |
saveSelf()
DOCUMENT ME! |
void |
showSettings(Controller c)
DOCUMENT ME! |
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, setInfrastructure, setParentName, trackNode |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected static float gamma
protected static float random_chance
protected static float alpha
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 Infrastructure infrastructure
protected TrafficLight[][] tls
protected Node[] allnodes
protected int num_nodes
protected java.util.Vector count
protected float[][][][] q_table
| Constructor Detail |
|---|
public SL3TLC(Infrastructure infra)
throws InfraException
infra - model being used.
InfraException - DOCUMENT ME!| Method Detail |
|---|
public void reset()
reset in class TLControllerpublic TLDecision[][] decideTLs()
decideTLs in class TLControllergld.algo.tlc.TLDecision
public void updateRoaduserMove(Roaduser ru,
Drivelane prevlane,
Sign prevsign,
int prevpos,
Drivelane dlanenow,
Sign signnow,
int posnow,
PosMov[] posMovs,
Drivelane desired)
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 recalcQ(Sign tl,
int pos,
Node destination,
boolean light,
Sign tl_new,
int pos_new,
boolean light_new,
PosMov[] posMovs)
tl - DOCUMENT ME!pos - DOCUMENT ME!destination - DOCUMENT ME!light - DOCUMENT ME!tl_new - DOCUMENT ME!pos_new - DOCUMENT ME!light_new - DOCUMENT ME!posMovs - DOCUMENT ME!
protected int rewardFunction(Sign tl_new,
int pos_new,
PosMov[] posMovs)
protected SL3TLC.Target[] ownedTargets(Sign tl,
int pos,
Node des,
boolean light)
tl - DOCUMENT ME!pos - DOCUMENT ME!des - DOCUMENT ME!light - DOCUMENT ME!
public void showSettings(Controller c)
showSettings in class TLControllerc - DOCUMENT ME!
public void load(XMLElement myElement,
XMLLoader loader)
throws XMLTreeException,
java.io.IOException,
XMLInvalidInputException
load in interface XMLSerializableload in class TLControllermyElement - DOCUMENT ME!loader - DOCUMENT ME!
XMLTreeException - DOCUMENT ME!
java.io.IOException - DOCUMENT ME!
XMLInvalidInputException - DOCUMENT ME!
public XMLElement saveSelf()
throws XMLCannotSaveException
saveSelf in interface XMLSerializablesaveSelf in class TLControllerXMLCannotSaveException - DOCUMENT ME!
public void saveChilds(XMLSaver saver)
throws XMLTreeException,
java.io.IOException,
XMLCannotSaveException
saveChilds in interface XMLSerializablesaveChilds in class TLControllersaver - DOCUMENT ME!
XMLTreeException - DOCUMENT ME!
java.io.IOException - DOCUMENT ME!
XMLCannotSaveException - DOCUMENT ME!public java.lang.String getXMLName()
getXMLName in interface XMLSerializable
public void loadSecondStage(java.util.Dictionary dictionaries)
throws XMLInvalidInputException,
XMLTreeException
loadSecondStage in interface TwoStageLoaderloadSecondStage in class TLControllerdictionaries - DOCUMENT ME!
XMLInvalidInputException - DOCUMENT ME!
XMLTreeException - DOCUMENT ME!public boolean canCreateInstance(java.lang.Class request)
canCreateInstance in interface InstantiationAssistantrequest - DOCUMENT ME!
public java.lang.Object createInstance(java.lang.Class request)
throws java.lang.ClassNotFoundException,
java.lang.InstantiationException,
java.lang.IllegalAccessException
createInstance in interface InstantiationAssistantrequest - DOCUMENT ME!
java.lang.ClassNotFoundException - DOCUMENT ME!
java.lang.InstantiationException - DOCUMENT ME!
java.lang.IllegalAccessException - DOCUMENT ME!
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||