Presentation is loading. Please wait.

Presentation is loading. Please wait.

SDG Mittagsseminar1 Using Artificial Markets to Teach Computer Science Through Trading Robots How to get students interested in algorithms, combinatorial.

Similar presentations


Presentation on theme: "SDG Mittagsseminar1 Using Artificial Markets to Teach Computer Science Through Trading Robots How to get students interested in algorithms, combinatorial."— Presentation transcript:

1 SDG Mittagsseminar1 Using Artificial Markets to Teach Computer Science Through Trading Robots How to get students interested in algorithms, combinatorial optimization and software development Karl Lieberherr, Northeastern University, Boston

2 SDG Mittagsseminar2 Outline Specker Derivative Game (SDG) –history –example, bottom up –top-down derivatives, raw materials, finished products Risk analysis for a derivative Problem reductions – noise elimination SDG(MAX-SAT): risk analysis using polynomials Conclusions

3 SDG Mittagsseminar3 History Around 1975: working on non-chronological backtracking for MAX-SAT for my PhD with Erwin Engeler. Ernst Specker analyzed MAX-SAT which lead to the Golden Ratio Result: joint FOCS 79 and JACM 1981 paper. Ideas applicable to MAX-CSP. 2006: sabbatical at Novartis reactivated my interest in MAX-SAT. 2007: Turned Golden Ratio Result into a game SDG(Max) parameterized by a maximization problem Max. 2007/2008: Taught SDG to students who had a lot of fun trying to produce a winning robot (class size 30).

4 SDG Mittagsseminar4 SDG Example derivative(CNF{(2,0),(1,1)}, 0.70) 4 variables maximum would you like to buy it? you will get two rights –you will receive a CNF R of the given type. –if you can satisfy fraction q of clauses in R, I will pay back q to you. CNF = SEQUENCE of clauses

5 SDG Mittagsseminar5 CNF{(2,0),(1,1)} raw materials 2: a 2: b 3: c 1: d 3: !a !b 9: !a !c 7: !b !c 1: !a !d 6: !b !d 6: !c !d 2: a 3: b 1: c 8: !a !b 6: !b !c 1: a 1: b 8: !a !b 2: a 2: b 2: c 1: !a !b 1: !b !c Find best satisfaction ratio

6 SDG Mittagsseminar6 CNF{(2,0),(1,1)} raw materials, finished products 2: a 2: b 3: c 1: d 3: !a !b 9: !a !c 7: !b !c 1: !a !d 6: !b !d 6: !c !d 2: a 3: b 1: c 8: !a !b 6: !b !c 1: a 1: b 8: !a !b 17/20=0.85 9/10=0.9 35/40 = 0.875 2: a 2: b 2: c 1: !a !b 1: !b !c 6/8=0.75 price of 0.7 seems fair!?

7 SDG Mittagsseminar7 Oops Our analysis was not thorough enough! 2 kinds of uncertainty: –worst formula? –best assignment?

8 SDG Mittagsseminar8 Playing with the weights x: a x: b x: c x: d y: !a !b y: !a !c y: !b !c y: !a !d y: !b !d y: !c !d x =1, y=1 best assignment a=1, b=0, c=0, d=0: (1+6)/10=7/10=0.7 x = 2, y=1 best assignment a=1, b=1, c=0, d=0: (4+5)/14=9/14=0.64 derivative(CNF{(2,0),(1,1)}, 0.70) LOSS: 0.06

9 SDG Mittagsseminar9 The SDG Game: Two high level views Financial: Implement trading robots that survive in an artificial derivative market through offering derivatives, and buying and processing derivatives produced by other trading robots. Biological: Implement organisms that survive in an artificial world through offering outsourced services, and consuming and processing outsourced services produced by other organisms.

10 SDG Mittagsseminar10 Derivative: (pred, p, s) bought by b Max is an NP-hard combinatorial maximization problem with objective function range [0,1]. Buyer b buys derivative at price p. Seller s delivers raw material R (instance of Max) satisfying predicate pred. Raw material R is finished by buyer with outcome O of quality q and seller pays q to buyer. Buyer only buys if she thinks q > p. Uncertainty for buyer: which raw material R will I get? Only know the predicate! What is the quality of the solution of Max I can achieve for R?

11 SDG Mittagsseminar11 Seller s Buyer b (pi,p,s)

12 SDG Mittagsseminar12 Seller s Buyer b (p2,0.9,s) (p1,0.7,s) sold R O 0.8 O 0.8 R 0.7 0.8 Buyer makes profit of 0.8 - 0.7 = 0.1 R satisfies pi Derivatives

13 SDG Mittagsseminar13 Artificial markets Trading Robots that survive in a virtual world of an artificial market of financial derivatives. –Trading Robots that don’t follow the world rules don’t survive. –Trading Robots are ranked based on their bank account. –Teaches students about problem solving, software development, analyzing and approximating combinatorial maximization problems, game design and financial derivatives.

14 SDG Mittagsseminar14 Survive in an artificial market Each robot contains a: –Derivative buying agent –Derivative offering agent –Raw material production agent –Finished product agent (solves Max) Winning in robot competitions strongly influences the final grade. Game is interesting even if robots are far from perfect. Focus today: how to play the game perfectly (never losing)

15 SDG Mittagsseminar15 To play well: solve min max instances selected by predicate (an infinite set) maximum solutions 0.8 0.91 0.618 0.62 0.619 minimum Analysis for one Derivative

16 SDG Mittagsseminar16 To play well: solve min max instances selected by predicate (an infinite set) maximum solutions 0.8 0.91 0.618 0.62 0.619 minimum Analysis for one Derivative 0.62 Noise small subset of raw materials guaranteed to contain minimum of maxima

17 SDG Mittagsseminar17 Raw material selected 0.7 all possible finished products Noise small subset of finished products guaranteed to contain maximum 0.7

18 SDG Mittagsseminar18 Risk analysis Life cycle of a derivative (pred,p) –offer risk high if I can find rm and fp with q(fp) > p –buy risk high if I can find rm and fp with q(fp) < p –raw material (rm) –finished product (fp,quality q(fp)) Two uncertainties –raw material is not the worst (uncertainty_rm) –finished product is not the best (uncertainty_fp)

19 SDG Mittagsseminar19 To play SDG perfectly eliminate risk buy –break-even price sell –break-even price produce –efficiently find worst case example process –efficiently achieve break-even quality

20 SDG Mittagsseminar20 Goal: never lose with offer/buy Choose algorithms RM and FP

21 SDG Mittagsseminar21 Concerns for SDG(Max) Robot communication –exchange language for derivatives, raw material, finished product –centralized game with administrator managing store of derivatives –decentralized game Winning in the market –clever algorithm design

22 SDG Mittagsseminar22 Analysis of SDG(Max) t pred = inf all raw materials rm satisfying predicate pred max all finished products fp produced for rm q(fp)

23 SDG Mittagsseminar23 Analysis of SDG(Max) t pred = lim n -> ∞ min all raw materials rm of size n satisfying predicate pred max all finished products fp produced for rm q(fp)

24 SDG Mittagsseminar24 Spec for RM and FP t pred = lim n -> ∞ min all raw materials rm of size n satisfying predicate pred and having property WORST(rm) max small subset of all finished products fp produced for rm q(fp)

25 SDG Mittagsseminar25 Analysis of SDG(Max)

26 SDG Mittagsseminar26 Hope Max is NP-hard SDG(Max) simplifies Max if our goal is to never lose.

27 SDG Mittagsseminar27 SDG(MAX-SAT) Predicates using clause types. Example predicate PairSat = All CNFs with clauses of any length but clauses of length 1 must contain one positive literal. What is the right price p for derivative (PairSat, p, Specker)

28 SDG Mittagsseminar28 SDG(MAX-SAT) Predicate space: any subset of clause types of PairSat t all PairSat = (√5 -1)/2 t {(2,0),(1,1)} = (√5 -1)/2 t {(100,50), (3,2), (2,0),(1,1)} = (√5 -1)/2 Noise for the purpose of constructing raw material.

29 SDG Mittagsseminar29 SDG(MAX-SAT) t {(2,0),(1,1)} = t SYM{(2,0),(1,1)} = (√5 -1)/2 SYM stands for Symmetrization: Idea: if you give me a CNF with a satisfaction ratio f, I give you a symmetric CNF with a satisfaction ratio <= f. For a CNF in SYM{(2,0),(1,1)}, the MAX- SAT problem reduces to maximizing a polynomial.

30 SDG Mittagsseminar30 Students implement trading robots Fall semester (undergraduates): SDG(MAX-SAT) Spring semester (graduates): SDG(MAX- CSP) –Predicate space: Any subset of Boolean relations of rank 3 CSP({22},4/9,robot1) CSP({17,22},1/2,robot2)

31 SDG Mittagsseminar31 Opportunities for learning Example SDG(MAX-SAT) Abstraction: What is important to play the game well. –Game reductions: To play game SDG(MAX- SAT) well, it is sufficient to play game SDG(X) well, where X is simpler than MAX-SAT.

32 SDG Mittagsseminar32 Complexity theory connection Break-even prices are not only interesting for the SDG game. They also have complexity-theoretic significance: they are critical transition points separating P from NP (for “most” predicates).

33 SDG Mittagsseminar33 General Dichotomy Theorem MAX-CSP(G,f): For each finite set G of relations there exists an algebraic number t G For f ≤ t G : MAX-CSP(G,f) has polynomial solution For f ≥ t G +  : MAX-CSP(G,f) is NP-complete,   t G  critical transition point easy (fluid) Polynomial hard (solid) NP-complete due to Lieberherr/Specker (1979, 1982) polynomial solution: Use optimally biased coin. Derandomize. P-Optimal. 

34 SDG Mittagsseminar34 Other break-even prices (Lieberherr/Specker (1982)) G = {R 0,R 1,R 2,R 3 }; R j : rank 3, exactly j of 3 variables are true. t G = ¼

35 SDG Mittagsseminar35 Other break-even prices (Lieberherr/Specker (1982)) G(p,q) = {R p,q = disjunctions containing at least p positive or q negative literals (p,q≥1)} –Let a be the solution of (1-x) p =x q in (0,1). t G(p,q) =1-a q

36 SDG Mittagsseminar36 Lessons learned from SDG Developing trading robots and make them survive in an artificial market is very motivating to students Students learn experientially about many important topics driven by the single goal of making their robots competitive –software development –problem solving by reduction (noise reduction) –combinatorial optimization –game design –sub-optimal playing is very educational too!

37 SDG Mittagsseminar37 Noise reduction: important topic seen in solving minimization and maximization problems To implement trading robots, we use a tool called DemeterF which is good at noise reduction during programming process: focus on important classes and eliminate noise classes

38 SDG Mittagsseminar38 Conclusions SDG(Max) is an interesting tool for teaching a wide variety of topics. It helps if you give your students a robot that knows the basic rules. Then the students can focus on improving the robots rather than getting all robots to communicate properly.

39 SDG Mittagsseminar39 Conclusions SDG(Max) is an interesting tool for research. Does it always turn an NP-hard maximization problem into a polynomial time approximation algorithm?

40 SDG Mittagsseminar40 References Lieberherr/Specker (1979, 1981) FOCS and Journal of the ACM Lieberherr (1982) Journal of Algorithms Recent Workshop paper: –Christine D. Hang and Ahmed Abdelmeged and Daniel Rinehart and Karl J. Lieberherr, The Promise of Polynomial-based Local Search to Boost Boolean MAX-CSP Solvers, 2007, Proceedings of Fourth International Workshop on Local Search Techniques in Constraint Satisfaction, CP2007, Providence, Rhode Island. DemeterF home page: http://www.ccs.neu.edu/research/demeter/DemeterF/ SDG home page: http://www.ccs.neu.edu/home/lieber/evergreen/specker/s dg-home.html

41 SDG Mittagsseminar41 Obstacles to finding p Try to find a CNF satisfying PairSat in which only a small percentage of the clauses can be satisfied. – Challenge of finding the worst case. –Even if we find the worst case, we might not find the maximum assignment for that case.

42 SDG Mittagsseminar42 CNF{(2,0),(1,1)} raw materials, finished products 2: a 2: b 3: c 1: d 3: !a !b 9: !a !c 7: !b !c 1: !a !d 6: !b !d 6: !c !d 2: a 3: b 1: c 8: !a !b 6: !b !c 1: a 1: b 8: !a !b 17/20=0.85 9/10=0.9 35/40 = 0.875 2: a 2: b 2: c 1: !a !b 1: !b !c 6/8=0.75 price of 0.7 seems fair!?

43 SDG Mittagsseminar43 CNF{(2,0),(1,1)} raw materials, finished products 2: a 2: b 3: c 1: d 3: !a !b 9: !a !c 7: !b !c 1: !a !d 6: !b !d 6: !c !d 35/40 = 0.875 s

44 SDG Mittagsseminar44 CNF{(2,0),(1,1)} reduction 2: a !b !c 2: !a b !d 3: a c 1: c d 3: !a !b !c 9: !a !c !d 7: !b !c 1: !a !b !d 6: !b !d 6: !c !d 35/40 = 0.875 no new variables To each interpretation I1 of T(s) corresponds an interpretation I of s which satisfies at least as many clauses in s as I1 in T(s). T(s)

45 SDG Mittagsseminar45 CNF{(2,0),(1,1)} reduction 2: a !b !c 2: !a b !d 3: a c 1: c d 3: !a !b !c 9: !a !c !d 7: !b !c 1: !a !b !d 6: !b !d 6: !c !d 35/40 = 0.875 no new variables To each interpretation I1 of T(s) corresponds an interpretation I of s which satisfies at least as many clauses in s as I1 in T(s).

46 SDG Mittagsseminar46 CNF{(2,0),(1,1)} reduction 2: a !e 2: b !f g 3: c e h i 1: d !e !g 3: !a !b !h !i 9: !a !c !f !g 7: !b !c !g 1: !a !d !f !i 6: !b !d !g !h 6: !c !d 35/40 = 0.875 with new variables!

47 SDG Mittagsseminar47 SDG(Max) Derivative = (Predicate, Price in [0,1], Player). Players offer and buy derivatives. Buying a derivative gives you the rights: –to receive raw material R satisfying the predicate. –upon finishing the raw material R at quality q (trying to find the maximum solution), you receive q in [0,1].

48 SDG Mittagsseminar48 18. Juli 18.00 Steinbruechelstr. 45 Edi Zehnder

49 SDG Mittagsseminar49 After talk Discussion with Emo break-even price as Nash equilibrium 2 person zero sum game –distribution on clauses –distribution on assignments

50 SDG Mittagsseminar50 SDG(Max) not percentage of all but percentage of maximum. approximation: seller knows a good solution for raw material. If buyer achieves

51 SDG Mittagsseminar51 derivative = (predicate,p,robot) p = price = estimate how close I can get to the maximum problem = knowing exact maximum is hard approximation: p = price = estimate how close I can get to the outcome the seller knows for an instance satisfying the predicate.

52 SDG Mittagsseminar52 payoff: seller achieves with outcome O quality q(O). I achieve seller: 18, price 15/18 I: 15: paid back 15/18 I: 16: paid back 14/18 I: 100: paid back 100/18

53 SDG Mittagsseminar53 still flavor of derivatives (pred,p,r) p is estimate how well I can solve an instance satisfying pred compared to how well r can solve it. r has more time available. Here don’t need assumption that objective function in [0,1]. now: p is an estimate how well I can solve an instance satisfying pred compared to 1.

54 SDG Mittagsseminar54 cryptography Emo’s satisfiability class: 4 algorithms for 2-Sat. For my algorithms class? r knows good solution. If I would know this good solution, could break system. any approximation would not be useful. Price would have to be 1

55 SDG Mittagsseminar55 SDG(CNF-ALL) SDG(CNF-MAX) uninteresting: eval is exponential SDG(CNF-SECRET) –owner delivers with rm a number f. –seller, after receiving fp, delivers outcome satisfying f –if buyer achieves f * price or higher, buyer receives 1, otherwise 0. all-or-nothing. Can buyer discover the secret that was put into instance by seller? –problem: price of 1 not interesting. Discount? Buyer only pays 0.9 * f.

56 SDG Mittagsseminar56 discount idea works also with SDG(CNF-ALL) price is p, but pay only 0.9*p. More realistic. Pay only 0.9, 0.1 is for effort. Use all or nothing. discount = d

57 SDG Mittagsseminar57 ABB Trading Robot development for artificial markets (to illustrate good separation of concerns from design to implementation using a traversal- based, functional implicit invocation architecture) –why trading robot: industrial IT –why good separation of concerns: always helps. –why traversal-based, functional implicit invocation architecture: built-in variability (class graph generic), support for parallelism: exploiting multi-core architecture Example: Shannon decomposition, testing history of generic SDG game.

58 SDG Mittagsseminar58 derivative[CSP] = (pred, approx (all, max, secret), robot) price = (1-d)*approx global discount d: pay only (1-d)*approx. if achieve approx of (all, max, secret): receive 1 otherwise 0. secret requires extra protocol step.

59 SDG Mittagsseminar59 derivative[CSP] = (pred, approx (all, secret), robot) price = (1-d)*approx global discount d: pay only (1-d)*approx. if achieve approx of (all, secret): receive 1 otherwise 0. secret requires extra protocol step. (delete max, because evaluation is costly. Game becomes less interesting.) good for variant of SDG game

60 SDG Mittagsseminar60 derivative[BooleanCSP] = (pred, approx, robot) price = (1-d)*approx global discount d: pay only (1-d)*approx. d is compensation for effort to produce finished product if achieve approx of all or more: receive 1 otherwise 0. good for talk: quick intro. Use BooleanCSP because it is clear what all means.


Download ppt "SDG Mittagsseminar1 Using Artificial Markets to Teach Computer Science Through Trading Robots How to get students interested in algorithms, combinatorial."

Similar presentations


Ads by Google