Virtual Scientific Communities for Innovation Karl Lieberherr Northeastern University College of Computer and Information Science Boston, MA joint work.

Slides:



Advertisements
Similar presentations
Verification and Validation
Advertisements

What is a CAT?. Introduction COMPUTER ADAPTIVE TEST + performance task.
Scientific Community Game Karl Lieberherr 4/29/20151SCG.
Contributions of SCG Karl Lieberherr Northeastern University College of Computer and Information Science Boston, MA joint work with Ahmed Abdelmeged and.
Algorithms and Data Review Fall 2010 Karl Lieberherr 1CS 4800 Fall /7/2010.
Specker Challenge Game (SCG): A Novel Tool for Computer Science Karl Lieberherr.
CS350/550 Software Engineering Lecture 1. Class Work The main part of the class is a practical software engineering project, in teams of 3-5 people There.
CSC 395 – Software Engineering Lecture 9: Testing -or- How I Stopped Worrying and Learned to Love the Bug.
Lecture 20: April 12 Introduction to Randomized Algorithms and the Probabilistic Method.
Reinforcement Learning (1)
The Scientific Community Game as A Crowdsourcing Platform to Distinguish Good from Bad Presentation to Clients by Software Development Organization 4/24/20111.
Meeting Skills.
T Ball (1 Relation) What Your Robots Do Karl Lieberherr CSU 670 Spring 2009.
Software Engineering Experimentation Software Engineering Specific Issues (Mostly CS as well) Jeff Offutt
 A set of objectives or student learning outcomes for a course or a set of courses.  Specifies the set of concepts and skills that the student must.
S/W Project Management
STEMCenter for Teaching & Learning™ Engineering byDesign™
CSU 670 Review Fall Software Development Application area: robotic games based on combinatorial maximization problems. Software development is about.
Poster Design & Printing by Genigraphics ® The Scientific Community Game Education and Innovation Through Survival in a Virtual World of.
The Scientific Community Game: Education and Innovation Through Survival in a Virtual World of Claims Karl Lieberherr Northeastern University College of.
The Scientific Community Game: Education and Innovation Through Survival in a Virtual World of Claims Karl Lieberherr Northeastern University College of.
Virtual Scientific Communities for Innovation Karl Lieberherr Northeastern University College of Computer and Information Science Boston, MA joint work.
Science of Security Experimentation John McHugh, Dalhousie University Jennifer Bayuk, Jennifer L Bayuk LLC Minaxi Gupta, Indiana University Roy Maxion,
Software Development using artificial markets of constructively egoistic agents Karl Lieberherr 1SD-F09.
Formal Two Party Debates about Algorithmic Claims or How to Improve and Check your Homework Solutions Karl Lieberherr.
Evaluation of software engineering. Software engineering research : Research in SE aims to achieve two main goals: 1) To increase the knowledge about.
The Scientific Community Game for STEM Innovation and Education (STEM: Science, Technology, Engineering and Mathematics) Karl Lieberherr Ahmed Abdelmeged.
Big Idea 1: The Practice of Science Description A: Scientific inquiry is a multifaceted activity; the processes of science include the formulation of scientifically.
SDG Mittagsseminar1 Using Artificial Markets to Teach Computer Science Through Trading Robots How to get students interested in algorithms, combinatorial.
Standard and Extended Form Games A Lesson in Multiagent System Based on Jose Vidal’s book Fundamentals of Multiagent Systems Henry Hexmoor, SIUC.
Software Development using artificial markets of constructively egoistic agents Karl Lieberherr 1SD-F09.
Game Driven Software Development for NPOs the Scientific Community Game (SCG)
Communications Skills (ELE 205)
Math 105: Problem Solving in Mathematics
Advanced Database Course (ESED5204) Eng. Hanan Alyazji University of Palestine Software Engineering Department.
Introduction to Science Informatics Lecture 1. What Is Science? a dependence on external verification; an expectation of reproducible results; a focus.
Science Fair How To Get Started… (
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
1 Introduction to Software Engineering Lecture 1.
UBC March The Evergreen Project: How To Learn From Mistakes Caused by Blurry Vision in MAX-CSP Solving Karl J. Lieberherr Northeastern University.
The Scientific Community Game Education and Innovation Through Survival in a Virtual World of Claims Karl Lieberherr Northeastern University College of.
SCG layers or SCG stages Karl and Yue. Layers of Constraints We can look at the process of game design as a successive layering of constraints on a game.
11/11/2015SDG1 Specker Derivative Game Karl Lieberherr Spring 2009.
The Structure of Information Retrieval Systems LBSC 708A/CMSC 838L Douglas W. Oard and Philip Resnik Session 1: September 4, 2001.
MSD 2011 Midterm Karl Lieberherr 3/28/20111MSD midterm.
A Popperian Platform for Programming and Teaching the Global Brain Karl Lieberherr Ahmed Abdelmeged Northeastern University, CCIS, PRL, Boston 11/20/20151.
UBC March The Evergreen Project: How To Learn From Mistakes Caused by Blurry Vision in MAX-CSP Solving Karl J. Lieberherr Northeastern University.
Communications Skills (ELE 205) Dr. Ahmad Dagamseh Dr. Ahmad Dagamseh.
NU ACM Talk Virtual Scientific Communities for Driving Innovation and Learning Karl Lieberherr joint work with Ahmed Abdelmeged and Bryan Chadwick 11/28/20151SCG.
BSc Honours Project Introduction CSY4010 Amir Minai Module Leader.
Data Structures and Algorithms Dr. Tehseen Zia Assistant Professor Dept. Computer Science and IT University of Sargodha Lecture 1.
Dynamic Benchmarking Software development though competition Alex Dubreuil Northeastern University
Contributions of SCG to SDG Karl Lieberherr Northeastern University College of Computer and Information Science Boston, MA joint work with Ahmed Abdelmeged.
NU ACM Talk Virtual Scientific Communities for Driving Innovation and Learning Karl Lieberherr joint work with Ahmed Abdelmeged and Bryan Chadwick 12/21/20151SCG.
The Algorithms we use to learn about Algorithms Karl Lieberherr Ahmed Abdelmeged 3/16/20111Open House 2011.
A Popperian Platform for Programming and Teaching the Global Brain Karl Lieberherr Ahmed Abdelmeged Northeastern University, CCIS, PRL, Boston 12/23/20151.
Key Points Karl Lieberherr. Challenge: old high-level description Price Set of problems 1/5/20162Summary.
Software Development using virtual scientific communities of constructively egoistic agents Karl Lieberherr 1SCG-SP20103/19/2016.
BSc Honours Project Introduction CSY4010 Amir Minai Module Leader.
A Popperian Platform for Programming and Teaching the Global Brain Karl Lieberherr Ahmed Abdelmeged Northeastern University, CCIS, PRL, Boston 6/26/20161.
Contributions of SCG to SDG Karl Lieberherr Northeastern University College of Computer and Information Science Boston, MA joint work with Ahmed Abdelmeged.
Introduction to Randomized Algorithms and the Probabilistic Method
Research Methods Dr. X.
Object-Oriented Software Engineering Using UML, Patterns, and Java,
The Scientific Community Game for STEM Innovation and Education
SCG Court: A Crowdsourcing Platform for Innovation
Market-based Dynamic Task Allocation in Mobile Surveillance Systems
Karl Lieberherr Ahmed Abdelmeged
Presentation transcript:

Virtual Scientific Communities for Innovation Karl Lieberherr Northeastern University College of Computer and Information Science Boston, MA joint work with Ahmed Abdelmeged and Bryan Chadwick Karl Lieberherr Northeastern University College of Computer and Information Science Boston, MA joint work with Ahmed Abdelmeged and Bryan Chadwick Supported by Novartis and GMO

Larger Context “Open innovation” describes a new paradigm for the management of industrial innovation (Henry Chesbrough) “Wikinomics reveals the next historic step— the art and science of mass collaboration where companies open up to the world.” How to give your problem solving software an ego !? 9/19/2015Innovation2

Applications Develop algorithms/software for new optimization problem domain X – Scientific Community Game Software Development: Describe a problem domain X so that SCG(X) provides the best algorithms and their implementations for problems in X. (best within the participating scientific community) Teach computer science, mathematics 9/19/2015Innovation3 SCG = Scientific Community Game = Specker Challenge Game

Opening the development approach Problem to be solved: Develop the best practical algorithms for solving optimization problems in domain X. Issue: There are probably hundreds of papers on the topic with isolated implementations. What are the best practical algorithms? Our solution: Use the virtual scientific agent community game SCG(X) with a suitably designed hypotheses language to compare the algorithms. The winning agent has the best practical algorithms. 9/19/20154Innovation

Plan Why is it relevant, useful? – Larger context: Open Innovation, Wikinomics – Applications: Netflix in the small, teaching What is it? What is new? – Map problem domain to “second life”, find best solution there and map it back to real life. What do we improve: benefits of SCG How to use SCG Disadvantages Experience with current implementation Related work Detailed example Conclusions 9/19/2015Innovation5

What is it: Like Reviewing Process SCG hypothesis valuation [0,1] of hypothesis competition support upon opposition as strong as possible (otherwise someone will strengthen it) Agent loses reputation when someone strengthens or successfully opposes Conference conference paper/review valuation (A,B,C,D) of paper/review committee meeting support upon opposition as strong as possible (otherwise someone will strengthen it) Scholar loses reputation when someone strengthens or successfully opposes 9/19/2015Innovation6

Experiments, Related Work SCG Goal: find correct valuation of hypothesis. Has someone else proposed this hypothesis? What was the experience? Experiment with hypothesis before you offer or oppose it. Conference Goal: find correct valuation of paper/review. Has someone else published a similar paper? What was the experience? “Experiment” with paper before you submit or oppose it. Is there software to download and experiment? 9/19/2015Innovation7

Like Reviews SCG Competition has goal to find correct valuation of agents Interactive protocol between agents involving problems and their solution. The scholars fend for themselves! Conference Program committee meeting has goal to find correct valuation of submitted papers Interactive protocol between program committee members. 9/19/2015Innovation8

Introduction (1) Problem domains to be addressed: – Optimal control of a complex system (mixed continuous and discrete variables) – Optimal assembly of a system from components hardware software – Maximum constraint satisfaction problem (MAX-CSP) – Transporting goods minimizing energy consumption – Schedule tasks minimizing cost 9/19/2015Innovation9

Introduction (2) Scientific Community Game(X) [SCG(X)] – Goal: Foster innovation and reliable software for solving optimization problems in some domain X A virtual scientific community consists of virtual scholars that propose and oppose hypotheses maximizing their reputations 9/19/2015Innovation10

Agents propose and oppose 9/19/2015Innovation11 HA1 HA2 HA3 HA4 egoistic Alice egoistic Bob reputation 1000 reputation 10 HB1 HB2 opposes (1) provides problem (2) solves problem not as well as she expected based on HA2 (3) WINS! LOSES proposed hypotheses transfer 200 social welfare Life of a scholar: (propose+ oppose+ provide* solve*)*

Hypothesis Niche N – subset of problems Confidence [0,1] Valuation [0,1] 9/19/2015Innovation12 confidence 0 1 valuation (how well problems in N can be solved)

Hypothesis 9/19/2015Innovation valuation strengthening correct valuation over strengthening

Hypothesis hypothesis by Alice: for all problems F in niche N there exists a solution J: p(F,J) Bob opposes: F’ to Alice, Alice cannot find J’:p(F’,J’) therefore she loses reputation. 9/19/2015Innovation14

Full Round Robin Tournaments or Swiss-Style Agents to play the SCG(X). Repeat a few times with feedback used to update agents. Within the group of participating agent, the winning agent has the – best solver for X-problems – best supported knowledge about X 9/19/201515Innovation

What is the purpose of SCG? The purpose of playing an SCG(X) competition is to assess the "skills" of the agents in: – "approximating" optimization problems in domain X, – "figuring-out" the wall-clock-time-bounded approximability of niches in domain X, – "figuring-out" hardest problems in a specific niche, and – "being-aware" of the niches in which their own solution algorithm works best. This multi-faceted evaluation makes SCG(X) more superior to competitions based on benchmarks that only test the player's skills in approximating optimization problems. During SCG, players cross-test each others' skills. 9/19/2015Innovation16

How to use SCG Company A provides a problem domain description X and submits it to the SCG server. The game SCG(X) runs on the web (with human algorithm/software developers involved) and company A receives good, tested software and knowledge about problem domain X 9/19/2015Innovation17

Plan Why is it relevant, useful? – Larger context: Open Innovation, Wikinomics – Applications: Netflix in the small, teaching What is it? What is new? – Map problem domain to “second life”, find best solution there and map it back to real life. What do we improve: benefits of SCG How to use SCG Disadvantages Experience with current implementation Related work Detailed example Conclusions 9/19/2015Innovation18

Benefit: Improving Benchmark-Driven Algorithm Development A number of autonomous teams Each team develops an agent that embodies their own heuristics Agents participate in a competition (various benchmarks are used) Teams develop their agents for the next competition Examples: SAT, CSP, SMT, ASP (Answer Set Programming) competitions, etc. 9/19/201519Innovation

From Benchmark-Driven to SCG-Driven Algorithm Development Hard to measure and detect what is fraud. Instead: Design a system that needs a much weaker “gentleman’s agreement” or none at all The Static Benchmark Problem is ONE problem that SCG solves. Dynamic Benchmarks Others: crowd sourcing management, new software development process that engages software developers and that fosters ease of evolution (e.g., good separation of concerns, …) 9/19/2015Innovation20

Problems with Static Benchmarks competition/index.shtml Policy against special purpose solutions The purpose of the competition is to be as informative as possible about strengths and weaknesses of … Submission of special purpose programs for solving certain benchmark problems falsifies the information that we get from the rankings and goes against the spirit of the competition. … the use of special purpose programs for certain benchmarks can rightfully be considered as scientific fraud. We appeal to participants … 9/19/2015Innovation21

SCG-Driven Algorithm Development Differences to Benchmark-Driven – You don’t rank chess players by giving them a benchmark; you let them play – We turn the algorithms into egoistic virtual scientists that fend for themselves – social welfare: constructive knowledge based on good algorithms 9/19/2015Innovation22

What is SCG(X)? Teams Design Problem Solver Develop Software Deliver Agent Agent AliceAgent Bob Administrator SCG police I am the best No!! Let’s play constructively 9/19/201523Innovation Team Alice Team Bob

What is SCG(X) 9/19/2015Innovation24 no automation human plays full automation agent plays degree of automation used by scholar our focus some automation human plays 0 1 more applications: test constructive knowledge transfer to reliable, efficient software agent robot Bob Alice

competitive / collaborative 9/19/2015Innovation25 Agent Alice: claims hypothesis H Agent Bob: challenges H, discounts: provides evidence for !H loses reputation rwins knowledge k wins reputation rmakes public knowledge k

Scholars and Agents: Same rules Are encouraged to 1.offer results that are not easily improved. 2.offer results that they can successfully support. 3.strengthen results, if possible. 4.publish results of an experimental nature with an appropriate confidence level. 5.stay active and publish new results or oppose current results. 6.be well-rounded: solve posed problems and pose difficult problems for others. 7.become famous! 9/19/201526Innovation

More Applications Special issue editors for problem domain X. publish top 15 submissions Professor teaching a software development class: students develop fighting agents for full-round robin tournament Teaching constructive topics etc. 9/19/2015Innovation27

Soundness Theorem SCG is sound: The agent with the best algorithms / knowledge wins (there is no way to cheat) – best: within the group of participating agents – issues: Does an agent win because she is good at solving? Or good at proposing, opposing and providing? Answer: proposing, opposing and providing all reduce to solving. Can an agent force a win or a tie? 9/19/2015Innovation28

Justifying benefits (1) Benefit: competitive – collaborative Game component: hypotheses propose-oppose : problems provide-solve How this game component brings the benefit – hypothesis by Alice: for all problems F in niche N there exists a solution J: p(F,J) – Bob opposes: F’ to Alice, Alice cannot find J’:p(F’,J’) therefore she loses reputation. – Alice lost but she now knows F’ where she cannot achieve what she claimed. F’ was harder than what Alice expected. 9/19/2015Innovation29

Justifying benefits (2) Benefit: competitive – collaborative Game component: hypotheses propose-oppose : problems provide-solve How this game component brings the benefit – hypothesis HA by Alice: for all problems F in niche N there exists a solution J: p(F,J) – Bob opposes by non-trivially strengthening HA to HB: HB => HA. Alice cannot discount HB. Therefore she loses reputation. – Alice lost but she now knows that her hypothesis HA might not be the strongest. 9/19/2015Innovation30

Benefits of SCG-driven Focus on understanding problem domain. – What are the niches where specialized algorithms perform well? – What are the hard problems in a niche? Knowledge maintenance system Control of niches to be explored 9/19/2015Innovation31

Reputation Gain Challenging (C) Gain for A (A supporting), Loss for A (B discounting)

Plan Why is it relevant, useful? – Larger context: Open Innovation, Wikinomics – Applications: Netflix in the small, teaching What is it? What is new? – Map problem domain to “second life”, find best solution there and map it back to real life. What do we improve: benefits of SCG How to use SCG Disadvantages Experience with current implementation Related work Detailed example Conclusions 9/19/2015Innovation33

How to use SCG(X) ABB needs new ideas about how to solve optimization problems in domain X. Define hypothesis language for X – X-problems – hypotheses, includes protocol Submit hypothesis language definition to SCG server. 9/19/201534Innovation

How to use SCG(X) Offer prize money for winner with conditions, e.g., performance must be at least 10% higher as performance of agent XY that ABB provides. 10 teams from 6 countries sign up, committing to 6 competitions. Player executables become known to other players after each competition. One team from ABB. The SCG server sends them the basic agent and the administrator for testing. 9/19/201535Innovation

How to use SCG(X) Game histories known to all. Data mining! First competition is at on day 1. Registration starts at on same day. The competition lasts 2.5 hours. Repeat on days 7, 14, … 42. The final winner is: Team Mumbai, winning Euro. Delivers source code and design document describing winning algorithm to ABB. 9/19/201536Innovation

Benefits for ABB of using SCG(X) Teams perform know-how retrieval and integration and maybe some research. – Participating teams try to find the best knowledge in the area. – Hypothesis language gives control! The non-discounted hypotheses give hints about new X-specific knowledge. A well-tested solver for X-problems that integrates the current algorithmic knowledge in field X. 9/19/201537Innovation

Plan Why is it relevant, useful? – Larger context: Open Innovation, Wikinomics – Applications: Netflix in the small, teaching What is it? What is new? – Map problem domain to “second life”, find best solution there and map it back to real life. What do we improve: benefits of SCG How to use SCG Disadvantages Experience with current implementation Related work Detailed example Conclusions 9/19/2015Innovation38

Disadvantages of SCG The game is addictive. After Bob having spent 4 hours to fix his agent and still losing against Alice, Bob really wants to know why! Overhead to learn to define and participate in competitions. The administrator for SCG(X) must perfectly supervise the game. Includes checking the legality of X-problems. – if admin does not, cheap play – watching over the admin 9/19/201539Innovation

How to compensate for those disadvantages Warn the scholars. Use a gentleman’s security policy: report administrator problems, don’t exploit them to win. Occasionally have a non-counting “attack the administrator” competition to find vulnerabilities in administrator. – both generic as well as X-specific vulnerabilities. 9/19/201540Innovation

GIGO: Garbage in / Garbage out If all agents are weak, no useful solver created. WEAK against STRONG: – STRONG accepts a hypothesis that is not discountable but WEAK cannot support it. Correct knowledge might be discounted. – STRONG strengthens a hypothesis too much that it becomes discountable, but WEAK cannot discount it. Incorrect knowledge might be supported – STRONG is discouraged to exploit WEAK by game rules 9/19/2015Innovation41

Plan Why is it relevant, useful? – Larger context: Open Innovation, Wikinomics – Applications: Netflix in the small, teaching What is it? What is new? – Map problem domain to “second life”, find best solution there and map it back to real life. What do we improve: benefits of SCG How to use SCG Disadvantages Experience with current implementation Related work Detailed example Conclusions 9/19/2015Innovation42

Experience Used for 3 years in undergraduate Software Development course. Prerequisites: 2 semesters of Introductory Programming, Object-Oriented Design, Discrete Structures, Theory of Computation. – Collect and integrate knowledge from prerequisite courses, lectures, and literature. – Teach it to the agent. 30% of grade is allocated for agent performance in weekly competitions. 9/19/201543Innovation

Mechanics of using current implementation We define X = MAX-CSP. We produce administrator and baby agent for X at beginning of course. Game flow: – Agents register with administrator – After deadline, administrator tells agents when it is their turn (1 minute) sending them all currently proposed hypotheses – After 1 minute, agent sends back transactions. 9/19/2015Innovation44

Mechanics of using current implementation 3 competitions per week. Last about 12 hours each. 75% of competitions count towards grade. 1 competition: attack the administrator. 9/19/2015Innovation45

Experience MAX-CSP MAX-CSP Problem Decompositions T-Ball (one relation), Softball (several relations, one implication tree), Baseball (several relations). ALL, SECRET 9/19/201546Innovation

Stages for SECRET T-Ball MAXCUT – R(x,y)= x!=y – fair coin ½ – maximally biased coin ½ – semi-definite programming / eigenvalue minimization /19/201547Innovation

Stages for SECRET T-Ball One-in-three – R(x,y,z) = (x+y+z=1) – fair coin: – optimally biased coin: /19/201548Innovation

Stages for ALL Baseball Propose/Oppose/Provide/Solve – based on fair coin – optimally biased coin correctly optimize polynomials – correctly eliminate noise relations – correctly implement weights – … 9/19/201549Innovation

Life with SCG with SCG structured collaboration between scholars, frequent feedback motivation: propose and oppose non-trivial hypotheses to gain reputation. Drive to win knowledge accumulation in undiscounted hypotheses target scholars on a topic without SCG collaboration is unstructured, less effective motivation: reputation gain is delayed knowledge is scattered in s, programs and minds more management effort required 9/19/201550Innovation

How to model a hypothesis A problem space. A discounting predicate on the problem space. A protocol to set the predicate through alternating “moves” (decisions) by Alice and Bob. If the predicate becomes true, Alice wins. 9/19/201551Innovation

How to model a hypothesis Proposing and challenging a hypotheses is risky: your opponent has much freedom to choose its decisions within the game rules. Alternating quantifiers. Replace “exists” by agent algorithm kept by administrator. 9/19/201552Innovation

Hypothesis [Example] 1in3 example. 9/19/201553Innovation

X = Boolean MAXCSP Given a sequence of Boolean constraints formulated using a set R of Boolean relations, find an assignment that maximizes the fraction of satisfied constraints. Niche defined by R. 9/19/201554Innovation

1in3 niche Only relation 1in3 is used. 1in3 problem F: v1 v2 v3 v4 v5 1in3( v1 v2 v3) 1in3( v2 v4 v5) 1in3( v1 v3 v4) 1in3( v3 v4 v5) secret Truth Table 1in Secret quality SQ = 3/4 9/19/201555Innovation

1in3 Hypothesis 1in3 hypothesis H proposed by Alice: exists F in 1in3 niche so that for all S Bob that opponent Bob searches in time t (small constant) seconds: Quality(F,S Bob ) < 0.4 * Quality(F,S Alice ). H = (niche = (1in3), AR =0.4, confidence = 0.8) Bob has clever knowledge that Alice does not have. He opposes the hypothesis H by challenging it using his randomized algorithm. 9/19/201556Innovation

Bob’s clever knowledge 4/9 for 1in3 4/9 for 1in3: For all F in 1in3 niche, exists S so that Quality(F,S) >= * SQ. Proof: la(p)=3*p*(1-p) 2 has the maximum 4/9. argmax p in [0,1] la(p) = 1/3. Without search, in PTIME. Derandomize Bob successfully discounts Alice gets a hint – Was Bob just lucky? Truth Table 1in /19/201557Innovation

1in3 Hypothesis Bob does not know whether 4/9 is best possible. Should check Semidefinite Programming. Bob only knows that the set of 1in3 problems having a solution satisfying 4/9 + eps, eps > 0, is NP-complete. 9/19/201558Innovation

Related Work Renaissance mathematicians Various benchmark based competitions What is new? – Software that has an ego – Holistic software with introspection – Evaluating software through a game – Scientific Community Game Software Development 9/19/2015Innovation59

Conclusions To address a problem domain X: – “map it to second life”: define a scientific community game for X on the web: SCG(X) – let the game SCG(X) run a few times and choose the winner Benefits – Evaluates fairly, frequently, constructively and dynamically. Encourages retrieval of state-of-the-art know-how, integration and discovery. – Challenges humans, drives innovation, both competitive and collaborative. – Agents point humans to what needs attention in problem solution / software. 9/19/2015Innovation60

Conclusions SCG(X) provides a structured process for developing software for optimization problems. Benefits – Social Engineering: makes it fun through game. – Fair: Only hard work makes you win. – Engage a large community on one domain X. Tools 9/19/2015Innovation61