# Difference between revisions of "SOCR Distributome Game2"

(→UI Outputs) |
|||

(One intermediate revision by the same user not shown) | |||

Line 34: | Line 34: | ||

====UI Outputs==== | ====UI Outputs==== | ||

− | * A clever, dynamic and user-friendly interface for displaying, navigating and controlling the game (touch-interface/mobile compatible) | + | * A clever, dynamic and user-friendly interface for displaying, navigating and controlling the game (touch-interface/mobile compatible). The UI needs to provide a truly dynamic (transition, animation) for changing the collection of distributions and the stream of new sample frequency histograms. The image below just shows an example of 4 randomly selected distributions and corresponding random samples of size 100 from each of these distributions. |

+ | |||

+ | <center>[[Image:SOCR_Distributome_Game2_Fig2.png|500px]]</center> | ||

==References== | ==References== |

## Latest revision as of 16:33, 6 April 2013

## Contents

## SOCR Project - Distributome Game 2 Project

### Background

Probability mass/density functions describe the likelihood of random variables to take certain values. The Probability Distributome provides resources for exploring the intrinsic distribution characteristics and the intricate relations between different probability distributions, which are in many areas of scientific exploration. One of the aspects of the Distributome is to design and implement interactive webapps for motivation and enhancing the learning experiences of probability theory, modeling and applications. The first Distributome game provides an interactive web-game for matching real-live problems with specific probability distribution models. In this project, **Distributome Game 2**, we need to design a new webapp game that allows users to match randomly generated pairs of graphs, the first one representing the density/mass functions of different probability distribution models, and the second frequency histograms of randomly-generated samples from various distributions.

### Project Goals

Review the Probability Distributome Project, which provides an intuitive, efficient, portable and extensible infrastructure for exploring, navigating, discovering and expanding the knowledge (meta-data) about the internal distribution properties and characteristics, and inter-distributional relations. Play the first Distributome game and think of a webapp design that provides a platform agnostic and efficient interface for the new Distributome game. We need an intuitive, extensible and efficient implementation.

The idea would be to show two streams of histograms and distribution plots that the user must match pairwise (or a set of distribution graphs as bins and a stream of frequency histogram plots that the user needs to place in the right distribution bin). For example, we randomly sample/generate 100 observations each from two different distributions and user has to match the sample histograms with the distributions they came from. There may be a point/award system where players get 10 points for guessing correctly the first time, but users can also *pass*, i.e. don't make a guess and instead draw another pair of samples and then get 9 points if you guess right (now having seen two samples from each). Then user may again ask for another sample and only get 8 points for being correct etc. Players accumulate points each time they get a correct match and they get points taken off for wrong guesses. Play streaks can be as long as players want to play, but there is a timer keeping track of all plays.

The distributions are drawn randomly each time, so it also helps a little to be lucky and get easier distributions to tell apart and perhaps we might also vary parameters a bit. Simplifications may be necessary. For example, we can use the the hierarchical classification of distributions into (top, middle and all) different levels/ontologies, as in the Distributome Navigator.

### Project Specifics

#### Project Source

- Navigator
- JavaScripts: protovis-r3.2.js, common.js, distributome.js, jquery.js, splitter.js, xml2json.js, editor.js
- XML Database: Distributome.xml, Distributome.xsd, and HTML parser of the XML meta-data.
- The complete Distributome Project source-code is hosted at GoogleCode.
- The Distributome Calculators provide the resources needed to generate the dynamic distribution density/mass function graph (including the distribution parameter setters/controls)/
- The Distributome Simulators provide the necessary resources to generate the frequency histograms (given a distribution name and sample-size).

#### Webapp Inputs

- User specifies the following parameters:
- Number of Distributions to be shown (number of bins or pairs to match): K
- Sample-size for each frequency histogram: N
- General or simplified version of the game (default to be simplified)

#### Webapp controls

- Timer (improve the appearance of the first Distributome Game)
- Simplification
- Slider controls for input parameters

#### UI Outputs

- A clever, dynamic and user-friendly interface for displaying, navigating and controlling the game (touch-interface/mobile compatible). The UI needs to provide a truly dynamic (transition, animation) for changing the collection of distributions and the stream of new sample frequency histograms. The image below just shows an example of 4 randomly selected distributions and corresponding random samples of size 100 from each of these distributions.

## References

- Current Distributome XML Database and XSD Model
- Distributome Prototype (Applet)
- Leemis and McQueston's TAS Distrubutions Article (2008)
- Song's IIE Transactions Distribution Relations Paper (2004)

## See also

- Distributome Wiki Page
- Try to think of converting the Distributome HTML-embedded applet into a client-site executable Java application using Java Web-Start (see the example with Cytoscape).
- A Distribution-relationships chart
- A list of probability distributions
- A list of SOCR probability distributions
- XML DOM MathJax Parsing HTML Examples
- JavaScript By-Example Tutorial and JavaScript Object API

Translate this page: