Routines for the manual and automated control. Experiments for the Jasss-paper included three procedures, implementing soft, strong and combined mode of governance: soft mode: automated-control-soft-car strong mode: automated-control-strong-car combined mode: automated-control-soft-strong-car
libs/ | Routines for the manual and automated control. |
automated-control | Triggers a control algorithm specified via GUI-switch “control-algorithm” (can be used in behaviour space experiments as well). |
automated-control-soft-car | Automated control algorithm, increasing the costs of car usage (as long as value does not raise over soft-control-max-value) if any short time limit is about <global->percentage-soft-automated-control>, decreasing otherwise (as long as value does not fall below soft-control-min-value). |
automated-control-strong-car | Automated control algorithm, banning technology car from edges and nodes if any short time limit is about <global->percentage-strong-automated-control>, re-allowing the car if limit falls below <global->percentage-strong-automated-control> again. |
automated-control-soft-strong-car | Automated control algorithm, combining automated-control-soft-car and automated-control-strong-car Used in basic Jasss experiments. |
automated-control-soft | Automated control algorithm, increasing the costs of usage of all technologies (as long as value does not raise over soft-control-max-value) if any short time limit is about <global->percentage-soft-automated-control>, decreasing otherwise (as long as value does not fall below soft-control-min-value) |
automated-control-strong | Automated control algorithm, banning most harming technology from edges and nodes if any short time limit is about <global->percentage-strong-automated-control>, re-allowing the usage of the respective technology if limit falls below <global->percentage-strong-automated-control> again. |
automated-control-strong-splitted | Automated control algorithm, banning most harming (out of all) technologies in case of exceeding capacity limits, banning the car only in case of emission problems. |
automated-control-soft-car+strong-splitted | Automated control algorithm, soft intervention on cars in case of any short time limit problems, strong intervention in case of capacity problems for all technologies, for the car in case of emission problems. |
automated-control-standard | Runs the standard version ofautomated-control, which can basically be split to two sorts of intervention a) Soft control: If degree of usage reaches <global->percentage-soft-atomated-control>, costs of that technology influencing the respective dimension of degree most negatively will be increased. |
automated-control-luebke | Runs the automated-control which can basically be split to two sorts of intervention. |
automated-control-edges | Handles automated control (soft and strong) on edges, based on edge->edge-limits-short-time/edge->edge-degree-short-time. |
automated-control-nodes | Handles automated control (soft and strong) on nodes, based on short-time-limits/degrees |
increase-technology-value | Increases technology-type->technology-type-factor value of the given dimensionen by 0.1. |
decrease-technology-value | Decreases technology-type->technology-type-factor value of the given dimensionen by 0.1. |
set-technology-value | Sets technology-type->technology-type-factor value of the given dimensionen to input value. |
set-technology-speed-factor | Sets technology speed factor for a technology on an edge-type to the given value |
worst-value-position | Report the position of the worst (i.e. |
worst-technology | Reports that technology (actually not banned) showing most negative impact with respect to the given dimension |
best-technology | Reports that technology (actually banned) showing least negative impact with respect to the given dimension |
ban-technology | Bans the given technology, reports true if technology was not banned before |
allow-technology | Allows the given technology (set item 1 to true), , reports true if technology was banned before |
change-technology-state | Change technology-available-state of my-technology to my-state, report true if state was changed to a new value |
increase-control-factor-edge | Increases the edge’s control factor (used to calculate payoffs, manipulated by soft-control-interventions) |
decrease-control-factor-edge | Decreases the edge’s control factor (used to calculate payoffs, manipulated by soft-control-interventions) |
increase-control-factor-node | Increases the node’s control factor (used to calculate payoffs, manipulated by soft-control-interventions) |
decrease-control-factor-node | Decreases the node’s control factor (used to calculate payoffs, manipulated by soft-control-interventions) |
get-dimension-to-control | Reports the worst function in terms of degree or the one indicated by the string given as “my-dimension” |
activate-low-emission-zone | Implements a low-emission zone with taxes for agents using technology car in a specified area- |
build-low-emission-zone | Builds rucursively the low emission zone as specified in function activate-low-emission-zone |
combineMoneyComfort | Helper function to be used in behaviour space, allows to specify experiments with two technology factors to be influenced easily (helping to reduce number of combinatorial options) |
to automated-control-soft-car
Automated control algorithm, increasing the costs of car usage (as long as value does not raise over soft-control-max-value) if any short time limit is about <global->percentage-soft-automated-control>, decreasing otherwise (as long as value does not fall below soft-control-min-value). Triggers changes on edges only, as nodes are used in present base scenarios to payout money to agents instead of asking them to pay fees. Used in basic Jasss experiments.
to automated-control-strong-car
Automated control algorithm, banning technology car from edges and nodes if any short time limit is about <global->percentage-strong-automated-control>, re-allowing the car if limit falls below <global->percentage-strong-automated-control> again. Used in basic Jasss experiments.
to automated-control-soft-strong-car
Automated control algorithm, combining automated-control-soft-car and automated-control-strong-car Used in basic Jasss experiments.
to automated-control-soft
Automated control algorithm, increasing the costs of usage of all technologies (as long as value does not raise over soft-control-max-value) if any short time limit is about <global->percentage-soft-automated-control>, decreasing otherwise (as long as value does not fall below soft-control-min-value)
to automated-control-strong
Automated control algorithm, banning most harming technology from edges and nodes if any short time limit is about <global->percentage-strong-automated-control>, re-allowing the usage of the respective technology if limit falls below <global->percentage-strong-automated-control> again.
to automated-control-standard
Runs the standard version ofautomated-control, which can basically be split to two sorts of intervention a) Soft control: If degree of usage reaches <global->percentage-soft-atomated-control>, costs of that technology influencing the respective dimension of degree most negatively will be increased. b) Strong control: If degree of usage reaches <global->percentage-strong-automated-control>, that technology influencing the respective dimension of degree will be banned from the respective infrastructure element.
to automated-control-luebke
Runs the automated-control which can basically be split to two sorts of intervention. This is a special version implemented to be used within the bachelor thesis of Kai Luebke. a) Soft control: If short-time-degree of usage reaches <global->percentage-soft-automated-control>, costs of that technology influencing the respective dimension of degree most negative will be increased. b) Strong control: If long-time-degree of usage reaches <global->percentage-strong-automated-control>, that technology influencing the respective dimension of degree will be banned from the respective infrastructure element.
to automated-control-edges [my-mode my-time my-dimension my-technology-name]
Handles automated control (soft and strong) on edges, based on edge->edge-limits-short-time/edge->edge-degree-short-time.
my-mode | a string (“strong”, “soft” or “both”, indicating which type of intervention shall be triggered.) |
my-time | string, “short” or “long”, indicating wether short- or long-time values shall be used to calculate “worst-degree” |
my-dimension | a string, indicating wether a distinct dimension (given by name) or all (“all”) dimensions available shall be used to calculate “worst degree” |
my-technology-name | a string, indicating wether a distinct technology (given by name) or all (“all”) technologies shall be considered for controlling interventions. |
to automated-control-nodes [my-mode my-time my-dimension my-technology-name]
Handles automated control (soft and strong) on nodes, based on short-time-limits/degrees
my-mode | a string (“strong”, “soft” or “both”, indicating which type of intervention shall be triggered.) |
my-time | string, “short” or “long”, indicating wether short- or long-time values shall be used to calculate “worst-degree” |
my-dimension | a string, indicating wether a distinct dimension (given by name) or all (“all”) dimensions available shall be used to calculate “worst degree” |
my-technology-name | a string, indicating wether a distinct technology (given by name) or all (“all”) tachnologies shall be considered for controlling interventions. |
to increase-technology-value [my-technology-type-name my-dimension-name]
Increases technology-type->technology-type-factor value of the given dimensionen by 0.1. Will be used to influence technologie’s relative costs/benefits within the GUI using the button “Increase Value”
my-technology-type-name | <technology-type-name> of that technology-type whose value shall be changed. |
my-dimension-name | string, name of dimension to be influenced |
to decrease-technology-value [my-technology-type-name my-dimension-name]
Decreases technology-type->technology-type-factor value of the given dimensionen by 0.1. Will be used to influence technologie’s relative costs/benefits within the GUI using the button “Decrease Value”
my-technology-type-name | <technology-type-name> of that technology-type whose value shall be changed. |
my-dimension-name | string, name of dimension to be influenced |
to set-technology-value [my-technology-type-name my-dimension-name my-value]
Sets technology-type->technology-type-factor value of the given dimensionen to input value. Will be used to influence technologie’s relative costs/benefits mainly in behaviour space experiments (to be used together with global variable “technology value”)
my-technology-type-name | <technology-type-name> of that technology-type whose value shall be changed. |
my-dimension-name | string, name of dimension to be influenced |
my-value | int, value to be set. |
to set-technology-speed-factor [my-technology-type-name my-edge-type my-value]
Sets technology speed factor for a technology on an edge-type to the given value
my-technology-type-name | <technology-type-name> of that technology-type whose value shall be changed. |
my-edge-type | name of the edge type to be altered |
my-value | new value to be stored |
to-report worst-technology-allowed [my-dimension]
Reports that technology (actually not banned) showing most negative impact with respect to the given dimension
my-dimension | the dimension which shall be used to compare technologies |
string | the <technology-type->technology-tape-name> of the technology-type showing most negative impact |
to-report best-technology [my-dimension]
Reports that technology (actually banned) showing least negative impact with respect to the given dimension
my-dimension | the dimension which shall be used to compare technologies |
string | the <technology-type->technology-tape-name> of the technology-type showing least negative impact |
nobody | if there was no technology banned |
to-report change-technology-state [my-technology my-state]
Change technology-available-state of my-technology to my-state, report true if state was changed to a new value
my-technology | technology to use |
my-state | state to set |
bool | true, if state was changed to a new value |
to increase-control-factor-edge [my-dimension my-factor my-max my-technology-name]
Increases the edge’s control factor (used to calculate payoffs, manipulated by soft-control-interventions)
my-dimension | the number of dimension which shall be altered |
my-factor | old-value * factor = new-factor, if old-value = 1, addition must be used instead of muliplication |
my-max | now-factor won’t exceed my-max |
my-technology-name | name of technology whose value shall be altered |
to decrease-control-factor-edge [my-dimension my-divisor my-min my-technology-name]
Decreases the edge’s control factor (used to calculate payoffs, manipulated by soft-control-interventions)
my-dimension | the number of dimension which shall be altered |
my-divisor | old value / my-divisor = new-value |
my-min | new-value won’t fall below my-min |
my-technology-name | name of technology whose value shall be altered |
to increase-control-factor-node [my-dimension my-factor my-max my-technology-name]
Increases the node’s control factor (used to calculate payoffs, manipulated by soft-control-interventions)
my-dimension | the number of dimension which shall be altered |
my-factor | old-value * factor = new-factor |
my-max | now-factor won’t exceed my-max |
my-technology-name | name of technology whose value shall be altered |
to decrease-control-factor-node [my-dimension my-divisor my-min my-technology-name]
Decreases the node’s control factor (used to calculate payoffs, manipulated by soft-control-interventions)
my-dimension | the number of dimension which shall be altered |
my-divisor | old value / my-divisor = new-value |
my-min | new-value won’t fall below my-min |
my-technology-name | name of technology whose value shall be altered |
to-report get-dimension-to-control [my-dimension my-degree-vector]
Reports the worst function in terms of degree or the one indicated by the string given as “my-dimension”
my-dimension | a string, indicating wether a distinct dimension (given by name) or all (“all”) dimensions available shall be used to calculate “worst degree” |
my-degree-vector | a vector of degree values used to calculate worst dimension in case of “my-dimension = “all”” |
int | the number of dimension to be controlled. |
to activate-low-emission-zone [my-radius my-cost-factor my-dimension]
Implements a low-emission zone with taxes for agents using technology car in a specified area-
my-radius | int, indicating the radius of the low-emission-zone (in nodes) |
my-cost-factor | int, indicating the factor of cost raise for using technology car |
my-dimension | string, indicating which dimension shall be used to calculate the most used edge (e.g. pollution/capacity etc.). |
to-report build-low-emission-zone [my-nodes my-radius]
Builds rucursively the low emission zone as specified in function activate-low-emission-zone
my-nodes | agentset of nodes actually being marked as part of the low-emission-zone |
my-radius | int, indicating the radius of the low-emission-zone (in nodes) |
agentset of <nodes> | the nodes actually being marked as part of the low-emission-zone |
Triggers a control algorithm specified via GUI-switch “control-algorithm” (can be used in behaviour space experiments as well).
to automated-control
Automated control algorithm, increasing the costs of car usage (as long as value does not raise over soft-control-max-value) if any short time limit is about global->percentage-soft-automated-control, decreasing otherwise (as long as value does not fall below soft-control-min-value).
to automated-control-soft-car
Automated control algorithm, banning technology car from edges and nodes if any short time limit is about global->percentage-strong-automated-control, re-allowing the car if limit falls below global->percentage-strong-automated-control again.
to automated-control-strong-car
Automated control algorithm, combining automated-control-soft-car and automated-control-strong-car Used in basic Jasss experiments.
to automated-control-soft-strong-car
Automated control algorithm, increasing the costs of usage of all technologies (as long as value does not raise over soft-control-max-value) if any short time limit is about global->percentage-soft-automated-control, decreasing otherwise (as long as value does not fall below soft-control-min-value)
to automated-control-soft
Automated control algorithm, banning most harming technology from edges and nodes if any short time limit is about global->percentage-strong-automated-control, re-allowing the usage of the respective technology if limit falls below global->percentage-strong-automated-control again.
to automated-control-strong
Automated control algorithm, banning most harming (out of all) technologies in case of exceeding capacity limits, banning the car only in case of emission problems.
to automated-control-strong-splitted
Automated control algorithm, soft intervention on cars in case of any short time limit problems, strong intervention in case of capacity problems for all technologies, for the car in case of emission problems.
to automated-control-soft-car+strong-splitted
Runs the standard version ofautomated-control, which can basically be split to two sorts of intervention a) Soft control: If degree of usage reaches global->percentage-soft-atomated-control, costs of that technology influencing the respective dimension of degree most negatively will be increased.
to automated-control-standard
Runs the automated-control which can basically be split to two sorts of intervention.
to automated-control-luebke
Handles automated control (soft and strong) on edges, based on edge->edge-limits-short-time/edge->edge-degree-short-time.
to automated-control-edges [my-mode my-time my-dimension my-technology-name]
Handles automated control (soft and strong) on nodes, based on short-time-limits/degrees
to automated-control-nodes [my-mode my-time my-dimension my-technology-name]
Increases technology-type->technology-type-factor value of the given dimensionen by 0.1.
to increase-technology-value [my-technology-type-name my-dimension-name]
Decreases technology-type->technology-type-factor value of the given dimensionen by 0.1.
to decrease-technology-value [my-technology-type-name my-dimension-name]
Sets technology-type->technology-type-factor value of the given dimensionen to input value.
to set-technology-value [my-technology-type-name my-dimension-name my-value]
Sets technology speed factor for a technology on an edge-type to the given value
to set-technology-speed-factor [my-technology-type-name my-edge-type my-value]
Report the position of the worst (i.e.
to-report worst-value-position [my-vector]
Reports that technology (actually not banned) showing most negative impact with respect to the given dimension
to-report worst-technology-allowed [my-dimension]
Reports that technology (actually banned) showing least negative impact with respect to the given dimension
to-report best-technology [my-dimension]
Bans the given technology, reports true if technology was not banned before
to-report ban-technology [my-technology]
Allows the given technology (set item 1 to true), , reports true if technology was banned before
to-report allow-technology [my-technology]
Change technology-available-state of my-technology to my-state, report true if state was changed to a new value
to-report change-technology-state [my-technology my-state]
Increases the edge’s control factor (used to calculate payoffs, manipulated by soft-control-interventions)
to increase-control-factor-edge [my-dimension my-factor my-max my-technology-name]
Decreases the edge’s control factor (used to calculate payoffs, manipulated by soft-control-interventions)
to decrease-control-factor-edge [my-dimension my-divisor my-min my-technology-name]
Increases the node’s control factor (used to calculate payoffs, manipulated by soft-control-interventions)
to increase-control-factor-node [my-dimension my-factor my-max my-technology-name]
Decreases the node’s control factor (used to calculate payoffs, manipulated by soft-control-interventions)
to decrease-control-factor-node [my-dimension my-divisor my-min my-technology-name]
Reports the worst function in terms of degree or the one indicated by the string given as “my-dimension”
to-report get-dimension-to-control [my-dimension my-degree-vector]
Implements a low-emission zone with taxes for agents using technology car in a specified area-
to activate-low-emission-zone [my-radius my-cost-factor my-dimension]
Builds rucursively the low emission zone as specified in function activate-low-emission-zone
to-report build-low-emission-zone [my-nodes my-radius]
Helper function to be used in behaviour space, allows to specify experiments with two technology factors to be influenced easily (helping to reduce number of combinatorial options)
to combineMoneyComfort [moneyFactor moneyTechnology comfortFactor comfortTechnology]