#
The Scientific Community Game

by Karl Lieberherr, Ahmed Abdelmeged and Yue Liu and members of the
"Spring 2011 Managing Software Development CS 5500" class.

The Scientific Community Game (SCG) is a family
of scientific games parameterized by a playground
occupied by scholars.
The playground defines the domain of scientific discourse
as well as the argumentation that must be used by the scholars
to defend and refute their claims.
The scholars are constructive virtual beings: they like to turn
problem instances or raw materials into high quality solutions or products
and make predictions about the quality of their solutions or products.

## Domain

A scientific domain is defined by Instance and Solution.
The set of instances is called Instance.
Elements in Instance are solved and yield a valid solution
in Solution.
A solution has a quality between [0,1].
Examples of
Instance / Solution:
Raw Materials / Product,
Algorithm / Input,
Number / Graph,
Network / Flow,
Expression / Assignment,
Number / Number,
Graph / Path,
Numbers / Decision Tree,
Terrain / Trajectory,
Program / Type Error,
Program with Spec / Correctness Proof.

The claims the scholars make are typically about sets of instances
but can also be about a singleton instance. Sets of instances
are defined by InstanceSet, also defined in Domain.

###
Example

Domain: MinMax.
The objective of MinMax is to have a simple calculus example. Maximal strengthening
requires calculus skills.
The Claim C-pos(t) is defined by:
ForAll [x a real number in [0,1]] Exists[y a real number in [0,1]]
(x*y + (1-x)*(1-y^2)) >= t. t in [0,1] is a real number.
C-pos(t) is true for t=0 and false for t=1 and there is one number where it switches
which is (sqrt(5) - 1)/2.
The domain is called MinMax, because Bob will try to find an x0 so that
(x0*y + (1-x0)*(1-y^2)) is minimum for the maximum y and Alice will try
to find a y0 so that (x0*y0 + (1-x0)*(1-y0^2))
is maximum. Bob tries to minimize and Alice tries to maximize.

Instance = [0,1] real numbers.
Solution = [0,1] real numbers.
InstanceSet = [0,1] real numbers.

## Protocol

Orthogonal to domains are protocols.
While a domain defines what the scholars talk about,
a protocol defines the order of scientific discourse
and who defends or refutes a claim. Protocol is
parameterized by Instance and Solution and it
is specified by a protocol definition language.
Several predefined protocols are available.
###
Example

In mathematical form, the protocol is:
ForAll [x in Instance] Exists[y in Solution] p(x,y).
If Alice is the proposer, and Bob tries to refute,
instance x from Bob
solution y from Alice
!p(x,y) means that Bob refuted successfully.

## Claim

A claim is built on a domain and a protocol.
A claim includes an instance set, a protocol
about how to exchange instances and solutions and, a quality and a confidence.
Some claims are mathematical and correspond to predicate calculus
statements. For mathematical claims it is often possible
to find a winning strategy (proof), showing that a claim
has never a refutation.
For other claims, the game has to be played.
###
Example of mathematical claim

Alice claims Claim C-pos(t):
ForAll [x in [0,1]] Exists[y in [0,1]]
(x*y + (1-x)*(1-y^2)) >= t. t in [0,1] is a real number.
C-pos(0.55) is true but not strong enough.
The same for C-pos(0.60).
C-pos(0.65) is wrong and can be refuted.
Where is the switch-over point from true to false?
Answer: t = (sqrt(5) - 1)/2. An exercise in calculus.
## Playground

A playground is based on one domain (with one instance set),
one or more protocols and one or more claim kinds.
The playground also defines a baby avatar if the role of scholar
is played by software.
###
Example of mathematical playground

Domain = MinMax
Claim 1: C-pos(t).
Claim 2: C-neg(t) (the negated version of Claim 1, automatically generated).
##
ROI for SCG

A significant, multi-year investment has gone into the development
of the generic SCG software culminating in
the "Spring 2011 Managing Software Development" course that
implemented the current system. Thanks to this investment
into the generic software
there is, we claim, a significant benefit to users of SCG,
be they playground designers or scholars.
###
ROI for playground designers

Why would a teacher or editor or manager develop a playground?
With a small investment of defining a few languages and simple functions,
the playground designer gets:
(1) a virtual world that fosters innovation and experiential learning in
the scientific domain of interest,
(2) a focused scientific community where the scholars both collaborate
and compete,
(3) a knowledge maintenance system. As byproduct of the scientific discourse,
the scholars will agree on claims. Those are claims that are candidates for truth
modulo the strength of the participating scholars,
(4) once a playground has been designed, it is easy to design more
because they all follow the same pattern. The playground design
knowledge is quickly amortized.
###
ROI for scholars or avatar designers

Why would a student or researcher participate as a scholar or avatar developer?
(1) There is an immediate reward for clever innovations that
help to solve the instances more efficiently or with better quality,
(2) SCG provides a second order learning environment where what a scholar does
has to be taken seriously by all other scholars,
(3) it is fun to learn and innovate and try to figure out
the clever techniques that others use,
(4) even an unknown scholar has a chance to come up with an innovation
and prove its value by beating the other scholars in the game,
(5) the SCG rules knowledge is quickly amortized because all games
follow the same rules.
###
Interesting AI Experiment:

We have a playground with
several learning baby avatars, plus one strong or even perfect avatar.
Can the learning avatars learn the behavior
from the strong avatar? Which avatar has the best
learning algorithm?
The avatar ranking produced by the tournament will tell.
Can we build a learning avatar that will learn as fast as a human?