-
Notifications
You must be signed in to change notification settings - Fork 40
0.3 Structure of GTE
This is only a very coarse description of GTE to understand what it does.
A demo version of the user interface, with all GUI capabilities but without any algorithms, is at
http://www.maths.lse.ac.uk/Personal/stengel/GTE/gte/Main.html
This has been created by Alfonso, and he has produced the following youtube video how to do it if you want to do something like this at a later stage: http://youtu.be/uYJN2kmq85U
In the following we give some examples of screenshots of GTE, which are not a full user documentation. Note that these screenshots may go out of date as the GUI develops.
GTE is visible to the user via an interactive webpage. When GTE is started from a URL (which may be a local service as in the presented examples), it opens an interactive GUI in the browser window for drawing game trees. The starting configuration is a small game tree with a single root and two children:
Subsequently the user can create a game tree with players, information sets, moves, payoffs, which she can store as a file, and which may look like this:
The "matrix layout" tab shows a nicely drawn payoff table of this game:
This is the strategic form of the game, which also has a potentially editable version in the "strategic form" tab:
An solution algorithm for this game computes the Nash equilibria of this game (in this case there are only two of them) and displays them in a popup window (note that this is does not work in the above GUI-only version):
The client part of GTE provides the above user interface. It is currently written in ActionScript, a variant of JavaScript for the Adobe Flash Player. The configuration of buttons, the drawing canvas, etc. on the webpage, and the corresponding pieces of code to be executed, are encoded in certain .xml files.
The server part of GTE handles requests for solution algorithms and are written in Java. In response to certain client actions (when the user clicks on the "run" icon to start an algorithm), the server receives a description of the game that was created. It then converts this game into an internal data structure, and invokes solution algorithms that find equilibria. These might involve additional native code, such as the lrs program by David Avis, which is a C program and resides on the server as a binary executable file. The output of that file is then post-processed and sent back to the client with the result of the computation.