Skip to content

faq 36765707

Billy Charlton edited this page Sep 5, 2018 · 2 revisions

How do router/scoring influence the learning?

by Kai Nagel on 2015-10-16 12:44:08


(original question in Germany, maybe someone can translate it?)

Hallo Herr Prof. Dr. Nagel,

ich arbeite zur Zeit mit MATSim und habe mit Hilfe des Frameworks einige
neue Funktionalitäten implementiert. Unteranderem gehören dazu
Transportmodi, sowie ein neuer Router, der für das neue multimodale
Routing zuständig sein soll. Ich habe mich hierfür an das Example:
TeleportationMobsim gehalten und dies erweitert. Genauer: Ich habe einen
neuen TripRouter implementiert, neue Transportmodi, eine neue
ScoringFunction und meinen Personen mittels CustomAttributes weitere
Attribute zugeteilt. Meine ScoringFunction und mein TripRouter benutzen
nun unteranderem die  mittels A* berechneten Routen und gewichten diese
nochmal abhängig von den gewählten CustomAttributes, um Routen zu
bestimmen.

Nun frage ich mich, wie ein TripRouter und eine ScoringFunction die
Berechnung der fortführenden Iterationen beeinflusst.
Konkreter:
Meines Wissens nach sollen die Ergebnisse der ScoringFunction in
weiteren Iterationen optimiert werden abhängig von den berechneten
Routen des TripRouters, jedoch frage ich mich, wie die ScoringFunction
die neuen Routen (bspw. eine Route die mittels A*-Algorithmus berechnet
wurde) beeinflussen kann, da der Router deterministisch die LeastCost
Route berechnet.

Vielen Dank im Voraus für Ihre Bemühungen,
Igor Dudschenko


Comments: 1


Re: How do router/scoring influence the learning?

by Kai Nagel on 2015-10-16 12:49:28

If I understand the question right, it is how agents can learn when the router returns the same answer every time it runs.

The answer indeed is: If this is the case, then MATSim does NOT learn.  Innovative modules, as the router, somehow need to generate diversity.  In the normal set-up, this happens since link travel times vary from iteration to iteration, so the "best reply to previous iteration" returns different routes.

An additional mechanism is to deliberately generate diversity, for example by randomly varying the trade-off between different routing attributes.  See doi:10.1016/j.procs.2014.05.488 for an example  and matsim.org/javadoc → main distribution → RunRandomizingRouterExample for how to use this.  There are plans to eventually make this the default.

Clone this wiki locally