Skip to content

0.3 Structure of GTE

stengel edited this page Mar 31, 2013 · 6 revisions

This is only a very coarse description of GTE to understand what it does.

User interface

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: GTE startup screen

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: GTE game tree

The "matrix layout" tab shows a nicely drawn payoff table of this game: GTE matrix layout

This is the strategic form of the game, which also has a potentially editable version in the "strategic form" tab: GTE strategic form

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): GTE equilibrium output

Internal workings of GTE

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.