60
SDG Mittagsseminar 1 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

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

Embed Size (px)

Citation preview

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

SDG Mittagsseminar 1

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

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

SDG Mittagsseminar 2

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

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

SDG Mittagsseminar 3

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).

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

SDG Mittagsseminar 4

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

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

SDG Mittagsseminar 5

CNF{(2,0),(1,1)} raw materials

2: a2: b3: c1: d3: !a !b9: !a !c7: !b !c1: !a !d6: !b !d6: !c !d

2: a3: b1: c8: !a !b6: !b !c

1: a1: b8: !a !b

2: a2: b2: c1: !a !b1: !b !c

Find bestsatisfaction ratio

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

SDG Mittagsseminar 6

CNF{(2,0),(1,1)} raw materials,finished products

2: a2: b3: c1: d3: !a !b9: !a !c7: !b !c1: !a !d6: !b !d6: !c !d

2: a3: b1: c8: !a !b6: !b !c

1: a1: b8: !a !b

17/20=0.85

9/10=0.9

35/40 = 0.875

2: a2: b2: c1: !a !b1: !b !c

6/8=0.75

price of 0.7seems fair!?

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

SDG Mittagsseminar 7

Oops

• Our analysis was not thorough enough!

• 2 kinds of uncertainty:– worst formula?– best assignment?

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

SDG Mittagsseminar 8

Playing with the weights

x: ax: bx: cx: dy: !a !by: !a !cy: !b !cy: !a !dy: !b !dy: !c !d

x =1, y=1best assignmenta=1, b=0, c=0, d=0: (1+6)/10=7/10=0.7

x = 2, y=1best assignmenta=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

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

SDG Mittagsseminar 9

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.

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

SDG Mittagsseminar 10

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?

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

SDG Mittagsseminar 11

Seller s Buyer b

(pi,p,s)

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

SDG Mittagsseminar 12

Seller s Buyer b

(p2,0.9,s)

(p1,0.7,s)sold

R

O0.8

O0.8

R

0.7

0.8

Buyer makes profit of 0.8 - 0.7 = 0.1

R satisfies pi

Derivatives

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

SDG Mittagsseminar 13

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.

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

SDG Mittagsseminar 14

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)

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

SDG Mittagsseminar 15

To play well: solve min max

instancesselected by predicate(an infinite set)

maximumsolutions

0.8

0.91

0.618

0.62

0.619 minimum

Analysis for one Derivative

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

SDG Mittagsseminar 16

To play well: solve min max

instancesselected by predicate(an infinite set)

maximumsolutions

0.8

0.91

0.618

0.62

0.619 minimum

Analysis for one Derivative

0.62

Noise

small subset of raw materialsguaranteed to containminimum of maxima

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

SDG Mittagsseminar 17

Raw material selected

0.7

all possible finished products

Noise small subset of finished productsguaranteed to contain maximum

0.7

0.7

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

SDG Mittagsseminar 18

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)

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

SDG Mittagsseminar 19

To play SDG perfectlyeliminate risk

• buy– break-even price

• sell– break-even price

• produce – efficiently find worst case example

• process– efficiently achieve break-even quality

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

SDG Mittagsseminar 20

Goal: never lose with offer/buy

• Choose algorithms RM and FP

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

SDG Mittagsseminar 21

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

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

SDG Mittagsseminar 22

Analysis of SDG(Max)

tpred = infall raw materials rmsatisfying predicate pred maxall finished products fpproduced for rm q(fp)

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

SDG Mittagsseminar 23

Analysis of SDG(Max)

tpred = lim n -> ∞ minall raw materials rm of size nsatisfying predicate pred maxall finished products fpproduced for rm q(fp)

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

SDG Mittagsseminar 24

Spec for RM and FP

tpred = lim n -> ∞ minall raw materials rm of size nsatisfying predicate pred andhaving property WORST(rm) maxsmall subset of all finished products fp produced for rm q(fp)

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

SDG Mittagsseminar 25

Analysis of SDG(Max)

tpred = lim n -> ∞ minminallall raw materialss rm of size n produced by RMsatisfying predicate pred maxallall finished productss fp produced for rm by FP q(fp)

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

SDG Mittagsseminar 26

Hope

• Max is NP-hard

• SDG(Max) simplifies Max if our goal is to never lose.

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

SDG Mittagsseminar 27

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)

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

SDG Mittagsseminar 28

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.

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

SDG Mittagsseminar 29

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.

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

SDG Mittagsseminar 30

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)

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

SDG Mittagsseminar 31

Opportunities for learningExample 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.

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

SDG Mittagsseminar 32

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).

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

SDG Mittagsseminar 33

General Dichotomy Theorem

MAX-CSP(G,f): For each finite set G of relationsthere exists an algebraic number tG

For f ≤ tG: MAX-CSP(G,f) has polynomial solutionFor f ≥ tG+ : MAX-CSP(G,f) is NP-complete,

tG critical transition pointeasy (fluid)Polynomial

hard (solid)NP-complete

due to Lieberherr/Specker (1979, 1982)

polynomial solution:Use optimally biased coin.Derandomize.P-Optimal.

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

SDG Mittagsseminar 34

Other break-even prices(Lieberherr/Specker (1982))

• G = {R0,R1,R2,R3}; Rj : rank 3, exactly j of 3 variables are true. tG= ¼

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

SDG Mittagsseminar 35

Other break-even prices(Lieberherr/Specker (1982))

• G(p,q) = {Rp,q = disjunctions containing at least p positive or q negative literals (p,q≥1)}– Let a be the solution of (1-x)p=xq in (0,1).

tG(p,q)=1-aq

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

SDG Mittagsseminar 36

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!

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

SDG Mittagsseminar 37

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

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

SDG Mittagsseminar 38

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.

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

SDG Mittagsseminar 39

Conclusions

• SDG(Max) is an interesting tool for research.

• Does it always turn an NP-hard maximization problem into a polynomial time approximation algorithm?

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

SDG Mittagsseminar 40

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/sdg-home.html

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

SDG Mittagsseminar 41

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.

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

SDG Mittagsseminar 42

CNF{(2,0),(1,1)} raw materials,finished products

2: a2: b3: c1: d3: !a !b9: !a !c7: !b !c1: !a !d6: !b !d6: !c !d

2: a3: b1: c8: !a !b6: !b !c

1: a1: b8: !a !b

17/20=0.85

9/10=0.9

35/40 = 0.875

2: a2: b2: c1: !a !b1: !b !c

6/8=0.75

price of 0.7seems fair!?

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

SDG Mittagsseminar 43

CNF{(2,0),(1,1)} raw materials,finished products

2: a2: b3: c1: d3: !a !b9: !a !c7: !b !c1: !a !d6: !b !d6: !c !d

35/40 = 0.875

s

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

SDG Mittagsseminar 44

CNF{(2,0),(1,1)} reduction

2: a !b !c2: !a b !d3: a c1: c d3: !a !b !c9: !a !c !d7: !b !c1: !a !b !d6: !b !d6: !c !d

35/40 = 0.875

no new variables

To each interpretation I1 of T(s) corresponds an interpretationI of s which satisfies at least as many clauses in s as I1 in T(s).

T(s)

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

SDG Mittagsseminar 45

CNF{(2,0),(1,1)} reduction

2: a !b !c2: !a b !d3: a c1: c d3: !a !b !c9: !a !c !d7: !b !c1: !a !b !d6: !b !d6: !c !d

35/40 = 0.875

no new variables

To each interpretation I1 of T(s) corresponds an interpretationI of s which satisfies at least as many clauses in s as I1 in T(s).

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

SDG Mittagsseminar 46

CNF{(2,0),(1,1)} reduction

2: a !e2: b !f g3: c e h i1: d !e !g3: !a !b !h !i9: !a !c !f !g7: !b !c !g 1: !a !d !f !i6: !b !d !g !h6: !c !d

35/40 = 0.875

with newvariables!

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

SDG Mittagsseminar 47

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].

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

SDG Mittagsseminar 48

• 18. Juli 18.00 Steinbruechelstr. 45

• Edi Zehnder

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

SDG Mittagsseminar 49

After talk

• Discussion with Emo

• break-even price as Nash equilibrium

• 2 person zero sum game– distribution on clauses– distribution on assignments

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

SDG Mittagsseminar 50

SDG(Max)

• not percentage of all but percentage of maximum.

• approximation: seller knows a good solution for raw material. If buyer achieves

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

SDG Mittagsseminar 51

• 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.

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

SDG Mittagsseminar 52

• 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

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

SDG Mittagsseminar 53

• 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.

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

SDG Mittagsseminar 54

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

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

SDG Mittagsseminar 55

• 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.

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

SDG Mittagsseminar 56

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

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

SDG Mittagsseminar 57

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.

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

SDG Mittagsseminar 58

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.

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

SDG Mittagsseminar 59

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

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

SDG Mittagsseminar 60

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.