960 likes | 1.1k Views
SCG Court: A Crowdsourcing Platform for Innovation. Supported by Novartis. Karl Lieberherr Northeastern University College of Computer and Information Science Boston, MA joint work with Ahmed Abdelmeged. SOLVE ORGANIZATIONAL PROBLEM HOW TO COMBINE THE WORK OF HUNDREDS
E N D
SCG Court: A Crowdsourcing Platform for Innovation Supported by Novartis • Karl Lieberherr • Northeastern University • College of Computer and Information Science • Boston, MA • joint work with Ahmed Abdelmeged
SOLVE ORGANIZATIONAL PROBLEM HOW TO COMBINE THE WORK OF HUNDREDS OF SCHOLARS? Crowdsourcing
Organizational Problem Solved • How to organize a loosely coupled collaboration among several scholars to agree on claims that can be refuted or defended constructively using a dialog. • fair recognition of scholars • strong scholars cannot be ignored • output: answer: “is claim refuted” plus the dialog • When game is over: interested in • know-how! • list of claims that scholars agree with. defend(Alice,Bob,c) = ! refute(Alice,Bob,c) Crowdsourcing
happy = no scholar is ignored. Organizational Problem Solved • How to design a happy scientific community that creates the science that society needs. • Classical game solution: Egoistic scholars produce social welfare: knowledge base and know-how how to defend it. • Control of scientific community • SCG rules • Specific domain, claim definition to narrow scope. Crowdsourcing
What is a loose collaboration? • Scholars can work independently on an aspect of the same problem. • Problem = decide which claims in playground to oppose or agree with. • How is know-how combined? Using a protocol. • Alice claimed that for the input that Alice provides, Bob cannot find an output of quality q. But Bob finds such an output. Alice corrects. • Bug reports that need to be addressed and corrections. Playground = Instantiation of Platform Crowdsourcing
Claims • Protocol. Defines scientific discourse. • Scholars make a prediction about their performance in protocol. • Predicate that decides whether refutation is successful. Refutation protocol collects data for predicate. • As a starter: Think of a claim as a mathematical statement: EA or AE. • all planar graphs have a 4 coloring. Crowdsourcing
Benefits Return On Investment for playground designers: a small investment in defining a playground (Domain=(Instance,Solution,valid,quality), Claim=(Protocol, etc.)) produces an interactive environment to assimilate and create domain knowledge. Crowdsourcing
Benefits • Return on Investment for scholars and avatar designers: The SCG rules need to be learned only once because they are the same across playgrounds. A small investment in learning the SCG rules and a domain etc. leads to numerous learning and teaching and innovation opportunities. The more a scholar teaches, the higher the scholar’s reputation. Crowdsourcing
Global Warming • Alice’ Claim: The earth is warming significantly. • Refutation protocol: Bob tries to refute. • Alice must provide a data set DS satisfying a property defined precisely by the refutation protocol. • Bob applies one of the allowed analysis methods M defined precisely by the refutation protocol. • Bob wins iff M(DS) holds. Crowdsourcing
Independent Set • Protocol / claim: At Least As Good • Bob provides undirected graph G. • Bob computes independent set sB for G (secret). • Alice computes independent set sA for G. • Alice wins, if size(sA) >= size(sB). Crowdsourcing
Overview • Organizational problem that SCG solves • What is SCG in detail? • Crowdsourcing • Formal Properties of SCG • Applications • Disadvantages • Conclusions Crowdsourcing
What is SCG(X) avatar Bob scholar Alice degree of automation used by scholar 1 0 no automation human plays some automation human plays full automation avatar plays transfer to reliable, efficient software more applications: test constructive knowledge Crowdsourcing
A Virtual WorldAvatar’s View Avatar does complex work Claims, Instances, Solutions Opponents’ communication, Feedback Administrator does simple checking (usually efficient) Results • Agreed Claims: statements about algorithms • = Social welfare • Algorithms in Avatar Crowdsourcing
Life of an avatar: (propose+ (oppose |agree)+ provide* solve*)* Avatars propose and (oppose|agree) proposed claims egoistic Alice egoistic Bob CB1 opposes (1) CA1 CB2 provides instance (2) CA2 solves instance LOSES WINS! not as well as she expected based on CA2 (3) CA3 reputation 10 reputation 1000 transfer 200 CA4 Crowdsourcing
What Scholars think about! • If I propose claim C, what is the probability that • C is successfully refuted • C is successfully strengthened • If I try to refute claim C, what is the probability that I will fail. • If I try to strengthen claim C, what is the probability that I will fail? Crowdsourcing
blamed decisions: propose(Alice,c) refute(A,B,c) strengthen(Alice,Bob,c,cs) agree(A,B,c) Essence of Game Rules • actors: • proposer=verifier (1. arg to refute, usually Alice), • opposer=falsifier (2. arg to refute, usually Bob) • LifeOfClaim(c) = propose(Alice,c) followed by (oppose(Alice,Bob,c)|agree(Alice,Bob,c)). • oppose(Alice,Bob,c) = (refute(Alice,Bob,c)|strengthen(Alice,Bob,c,cs)), where stronger(c,cs). • strengthen(Alice,Bob,c,cs) = !refute(Bob,Alice,cs). • agree(Alice,Bob,c) = !refute(Alice,Bob,c) and !refute(Bob,Alice,c) and refute(Alice,Bob,!c) and refute(Bob,Alice,!c) Crowdsourcing
Winning/Losing • propose(Alice,c), refutationTry(Alice,Bob,c) • If Alice first violates a game rule, Bob is the winner. • If Bob first violates a game rule, Alice is the winner. • If none violate a game rule: the claim predicate c.p(Alice,Bob,in,out) decides. Crowdsourcing
Game Rules for Playground • legal(in) • legal(out) • valid(in,out) • belongsTo(in, instanceSet) • each move must be within time-limit Crowdsourcing
Protocol Language ProtocolSpec = <steps> List(Step). Step = <action> Action "from" <role> Role. interface Role = Alice | Bob. Alice = "Alice". Bob = "Bob". interface Action = ProvideAction | SolveAction. ProvideAction = "instance". // solve the instance provided in // step # stepNo. // stepNo is 0-based. SolveAction = "solution" "of" <stepNo> int. Crowdsourcing
How to achieve loosely coupled collaboration? • Information exchange is based on values. Knowledge how to produce values is secret. • Assign blame correctly to Alice or Bob based on outcome of refutation protocol. • Every claim has a negation (using the idea of Hintikka’s dual game). Crowdsourcing
Dual Game / Negation • Each game G has a dual game which is the same as G except that the players ∀ and ∃ are transposed in both the rules for playing and the rules for winning. The game G(¬φ) is the dual of G(φ). Crowdsourcing
A claim is • Meta information about one’s performance when interacting with another clever being. • Meta information about the performance of one’s program. Crowdsourcing
How is collaboration working? • Scholars make claim about their performance in a given context. • Scholars make claim about the performance of their avatar in a given context. • Opponent finds input in context that contradicts claim. Claim is refuted. Crowdsourcing
Playground Design • Define several languages • Instance • Solution • Claim • InstanceSet • Define protocol or reuse existing protocol. • Implement interfaces for corresponding classes. Crowdsourcing
Who are the scholars? • Students in a class room • High school • University • Members of the Gig Economy • Between 1995 and 2005, the number of self-employed independent workers grew by 27 percent. • Potential employees • Anyone with web access; Intelligent crowd. Crowdsourcing
How to engage scholars? • Several binary games between Alice and Bob. • Alice must propose C or !C for one of the allowed C. • Bob must agree with or oppose what Alice proposes. • Agree(C) • Bob defends C against Alice. • Bob refutes !C against Alice. • Alice defends C against Bob. • Alice refutes !C against Bob. Crowdsourcing
How to engage scholars?Opposition • Central to opposition is refutation. • Claim defined by protocol. • Simplest protocol: • Alice provides Input in. • Bob computes Output out: valid(in,out) • Alice defends if quality(in,out)<q. • Bob refutes if quality(in,out)>=q. • Claims: C(q), q in [0,1]. Crowdsourcing
Overview • Organizational problem solved by SCG • What is SCG in detail? • Crowdsourcing • Formal Properties of SCG • Applications • Disadvantages • Conclusions Crowdsourcing
Crowdsourcing • Active area: Recent Communication of the ACM article. • Wikipedia, FoldIt, TopCoder, … • We want a family of crowdsourcing systems with provable properties. Crowdsourcing
Crowdsourcing Platform • Crowdsourcing • is the act of taking a job traditionally performed by a designated agent (usually an employee) and outsourcing it to an undefined, generally large group of people in the form of an open call. • enlists a crowd of humans to help solve a problem defined by the system owners. • A crowdsourcing platform is a generic tool that makes it easy to develop a crowdsourcing system. Crowdsourcing
Crowdsourcing Platform • The job, target problem is • to solve instances of a problem and make claims about the solution process. • to build knowledge base of claims and techniques to defend the claims Crowdsourcing
Requirements for Crowdsourcing Platform • Find a good way to combine user contributions to solve the target problem. • Find a good way to evaluate users and their contributions. • Find a good way to recruit and retain users. Crowdsourcing
SCG Court • Web application • Software developers register with SCG Court and choose playgrounds they want to compete in. • They register their avatars in the appropriate playgrounds in time for the next tournament. • Avatars get improved between tournaments based on ranking achieved and game history. Crowdsourcing
Combine user contributions • Users build on each others work: strengthening and checking. • Users check each others claims for correct judgment. • Claims are defended and refuted. • Users trade reputation for information. Crowdsourcing
Learning cycle • Alice wins reputation with claim c because Bob made a wrong decision • Alice gives information about artifact related to c. Alice teaches Bob. • Bob integrates information into his know-how. Bob learns from Alice. • Bob hopefully has learned enough and will no longer make a wrong decision about c. Crowdsourcing
Voting with Justification • I vote • for this claim (agree) because I can defend it and refute its negation. • against this claim because I can oppose it (refute or strengthen). Crowdsourcing
Evaluate users and their contributions • Calculate reputation • confidence by the proposer that a claim is good (gc) • confidence by the opposer (refute or strengthen) that the claim is bad (bc) • The scholars are encouraged to set their confidences truthfully. Otherwise they don't gain enough reputation or they lose too much reputation. Crowdsourcing
Reputation Update up: if you are good, there is a chance that you win down: if the other is good, there is a chance that you lose up: reputation goes up, but has to provide knowledge that might reveal secret technique. down: reputation goes down, but might gain knowledge that reveals secret technique. Crowdsourcing
Reputation Update up: if you are good, there is a chance that you win down: if the other is good, there is a chance that you lose • confidence: • proposer: claim is good: gc • opposer: claim is bad: bc • r = result of reputation protocol. • Reputation update: r*gc*bc (various refinements are possible) Crowdsourcing
Perfect • Being perfect means to make perfect decisions. • up: if you are perfect, you will not lose. • down: if the other is perfect, you will not win. up: if you are good, there is a chance that you win down: if the other is good, there is a chance that you lose Crowdsourcing
Overview • Organizational problem solved by SCG • What is SCG in detail? • Crowdsourcing • Formal Properties of SCG • Applications • Disadvantages • Conclusions Crowdsourcing
Formal Properties of SCG • Soundness: • Only false claims are refuted. • Only true claims are defended. • SCG is not sound because it adapts to the skill level of the scholars. E.g., • Alice proposes a false claim and still defend it, because Alice and Bob are weak, or • Alice proposes a true claim and not defend it, because Alice is weak. • We want to prove formal properties that don’t imply soundness. Crowdsourcing
Formal Properties • Properties • Community Property • Equilibrium • Convergence • Assumption: claims are bivalent (true or false); disallow indeterminate claims. Crowdsourcing
For every faulty decision action there exists an exposing reaction. • decision propose(A,c): if c is not true, refute(A,B,c) or strengthen(A,B,c,cs) expose. • decision oppose(Alice,Bob,c)|agree(Alice,Bob,c): • if Bob decides to oppose but does not oppose successfully, his oppose action is blamed. Bob discouraged to attack without good reason. • if Bob decides to agree but does not agree successfully, his agree action is blamed. Crowdsourcing
Community Property • For every faulty decision action there exists an exposing reaction that blames the bad decision. • Reasons: • We want the system to be egalitarian. • It is important that clever crowd members can shine and expose others who don’t promote the social welfare of the community. • Faulty decisions must be exposable. It may take effort. Crowdsourcing
Community PropertyAlternative formulation • If all decisions by Alice are not faulty, there is no chance of Alice losing against Bob. • if Alice is perfect, there is no chance of losing. • If there exists a faulty decision by Alice, there is a chance of Alice losing against Bob. • egalitarian game Crowdsourcing
Summary: faulty decisions • propose(Alice,c),c=false • propose(Alice,c),c=not optimum, c=true • refute(Alice,Bob,c),c=true • strengthen(Alice,Bob,c,cs),c=optimum • strengthen(Alice,Bob,c,cs),c=false • agree(Alice,Bob,c),c=false • agree(Alice,Bob,c),c=not optimum, c=true Crowdsourcing
Community PropertyCase 1 • Alice’ decision propose(Alice,c) proposes claim c as a claim that is true. Let’s assume c is false. Alice introduced a fault into the knowledge base. • There must be a reaction that assigns blame to Alice’ decision. Here it is: Bob decides to oppose: oppose(Alice,Bob,c), specifically to refute: refute(Alice,Bob,c). There must be a successful refutation. 1. propose(Alice,c),c=false Crowdsourcing
Community PropertyCase 2 • Alice’ decision propose(Alice,c) proposes claim c as a claim that is optimum. Let’s assume c is not optimum, but true, and can be strengthened. Alice introduced a fault into the knowledge base. • There must be a reaction that assigns blame to Alice’ decision. Here it is: Bob decides to oppose: oppose(Alice,Bob,c), specifically to strengthen: strengthen(Alice,Bob,c,cs). There must be a choice for cs so that refute(Bob,Alice,cs) returns false, independent of Alice’ strategy. 2. propose(Alice,c),c=not optimum, c=true Crowdsourcing
Community PropertyCase 3 • Bob’s decision refute(Alice,Bob,c) is wrong, if c is true. Bob tries to introduce a fault into the knowledge base. • There must be a reaction by Alice that assigns blame to Bob’ decision to refute. Because c is true, there must be a defense of c by Alice, i.e., refute(Alice,Bob,c) returns false independent of Bob’s strategy. Bob’s decision to refute is blamed. 3. refute(Alice,Bob,c),c=true Crowdsourcing