Features: A: New capabilities =========================== 1. allow tournaments running on the web not only the intranet. 2. instead of allowing avatars to participate in tournament, allow humans to play the role of scholar (reuse code as much as possible). Use the SMTP protocol (email). We would like to run games like FoldIt or EteRNA: http://www.washington.edu/news/articles/gamers-succeed-where-scientists-fail 3. Allow definition and testing of new playgrounds through a web interface. Provide a testing mechanism for new playgrounds. 4. Allow the playground designer define the scoring function. Currently it is hard-wired. 5. Currently all avatars propose and oppose claims. It would be useful to have one "professor" avatar that proposes claims. The "student" avatars don't propose and only make oppose or agree decisions. Add the capability of professor and student avatars. All student avatars play one-on-one against the professor avatar. 6. Add a "trade-secret" period to the playground definition. The trade-secret period determines how often in a multi-tournament competition the source code of the avatars is released. If the trade-secret period is too long or too short, there is probably less innovation. When the source code is released all "boats are lifted" and the innovation starts from a new level. 7. Maintain reputation of the scholars across tournaments. Currently the reputation is computed only for one tournament. 8. Support demand-driven, ongoing playgrounds. Some playgrounds have a multi-year life maybe of 10 years. The avatars sleep most of the time but are woken up when a new clever avatar has joined which has new algorithms that need to be evaluated. Avatars need to be stored (e.g., in the cloud). 9. Support for attack tournaments in a playground that is being tested. The claim is that SCG Court and a specific playground PG are safe: only avatars that are good at refuting and defending can win in PG. Attack tournaments in PG produce "evil" avatars that try to break PG and SCG Court. This is in the spirit of applying SCG Court to itself. 10. Debugging support for avatars. Tournament histories produce a wealth of data that needs to be transformed into knowledge to improve the losing avatars. Can you provide datamining tools that help the avatar developers? 11. Currently, the welfare set is only added to. If an avatar refutes a claim in the welfare set, it should get a nice boost in reputation because it discovered a bug in the knowledge base developed by the community. How should we calculate the boost in reputation? 12. (see also 5) In order to build a larger user base for SCG, we should offer diffeent kinds of playgrounds. Currently we have tournament style playgrounds with full round-robin tournaments. It would be useful to have reinforcement learning style (RL) playgrounds for domains that are sufficiently well understood. In RL playgrounds lives a distinguished teaching avatar that is "perfect". The tournaments run normally, except that it is known when you play against the teacher. The advantage of a RL playground is that the student avatars can learn a lot from the teaching avatar by observing its exemplary behavior. In several cases, it will be impossible that true claims get refuted and false claims get defended. I would like to use RL playgrounds to teach algorithmic ideas experientially. Here is an improvement proposed by the class: The teaching avatar only opposes or agrees with claims. When a claim is strengthened, it is gradually strengthened in the correct direction. The motivation was that the student gets the information gradually and is told immediately when a claim is false (teacher refutes), true (teacher strengthens or agrees). Teacher ans student can play in one tournament. The administrator needs to be informed about the presence of the teacher avatar which has special rights (does not have to propose). B: Perfect existing capabilities ================================ 1. Do the tournaments run correctly? Is there no way of cheating? 2. Is the agreement protocol implemented correctly? 3. Is the reputation zero-sum? Add assertion. 4. Is the current playground design sufficient? Consider the protocol definitions. 5. Would using Google's Guice improve the code organization? 6. Run the Administrators in the cloud during playground competitions. We might have hundreds of playgrounds with thousands of players. Although the administrators only perform simple administrative tasks, we need scalability in performance. We might want to run all of SCG Court in the cloud (with the avatars still distributed on the web). This also includes running the playground development in the cloud. 7. Protocol negation. There is a standard procedure to negate protocols. Currently we have both: ExistsForAll and ForAllExists. Design a protocol negation method so that we can close all our playgrounds under negation. We need then only define protocol P and its negation will be automatically available. 8. Use log4J http://en.wikipedia.org/wiki/Log4j 9. Add test cases to playgrounds.