210 likes | 220 Views
Explore a scenario involving Alice, Bob, and Nina in a programming challenge to determine the highest safe rung for glass jars. Follow their interactions and decisions as they engage in a coding battle based on decision tree models.
E N D
IBM Meeting Jan. 5, 2011 Karl IBM
Brian’s first question • Brian Schimpf asks: Could you provide some examples of what the students would actually program into their avatars? I assume the intelligence they add to the avatars is specific to the problem domain of the game, is that right? • http://www.ccs.neu.edu/home/lieber/evergreen/specker/software-development/faq/tasks.html • short: refute, strengthen, propose, createProblem, solveProblem. IBM
SCG Scenario • A concrete instance of a use case. • Interactions between scholars Alice and Bob. Admin Nina gives grade to performance of Alice and Bob. IBM
Highest Safe Rung • You are doing stress-testing on various models of glass jars to determine the height from which they can be dropped and still not break. The setup for this experiment, on a particular type of jar, is as follows. IBM
Highest Safe Rung Bob Alice You have a ladder with n rungs, and you want to find the highest rung from which you can drop a copy of the jar and not have it break. We call this the highest safe rung. You have a fixed ``budget'' of k > 0 jars. Only two identical bottles to determine highest safe rung (k=2) IBM
Highest Safe Rung Bob Alice HSR(9,2)≤4 I doubt it: refutation attempt! Alice constructs decision tree T of depth 4 and gives it to Bob. He checks whether T is valid. Bob wins if he finds a flaw. Only two identical bottles to determine highest safe rung IBM
HSR(n,k)≤q • There exists a valid decision tree DT-HSR(n,k) of depth q to solve HSR(n,k) so that for all ladders with n rungs and secret rung s, the decision tree DT-HSR(n,k) correctly identifies s. IBM
x Linear Search: HSR(4,1)=4 no yes y z 1 u highest safe rung 0 2 1 3 3 2 depth is 3 IBM
x no Binary Search: HSR(4,2)=2 yes y z 2 u highest safe rung 1 3 0 3 1 2 IBM
HSR Use Case: HSR(n,k) <= q • Name: HSR • Participating actors: Alice, Bob and Nina. • Entry condition: n,k,q are given; k<=n, q<=n, refuter defined: Bob. • Flow of events IBM
HSR Use Case (continued) • Flow of events • Alice claims HSR(n,k)<=q. • Bob tries to refute. Bob asks for program/algorithm for (n,k) (ProvideProblem). • Alice provides program/algorithm (SolveProblem). • Bob/Nina check correctness of program/algorithm. • Nina gives grade based on whether program/algorithm is correct and of predicted quality. IBM
HSR Use Case (continued) • Exit condition: winner and loser are determined. • Quality requirements: programming language, computational model: decision tree IBM
HSR(x,1)<=x x no yes y z 1 u highest safe rung 0 2 1 3 2 x depth is x x-1 x IBM
Bob has the following claims • HSR(4,1)<=4 • HSR(9,2)<=4 • HSR(9,2)<=3 • HSR(8,3)<=3 • HSR(4,2)<=2 • HSR(11,2)<=4 • HSR(12,2)<=4 Alice makes a decision for each claim: defendable/refutable (refute function) defendable: Alice provides decision tree and Bob cannot find a bug. refutable: Bob provides decision tree and Alice finds a bug. To make the game more interesting: defendable claims are treated first IBM
Focus on • HSR(11,2)<=4 • Alice provides decision tree. • HSR(12,2)<=4 IBM
x Highest Safe Rung Decision Tree HSR(9,2)=5 no 3 yes y z 1 6 u highest safe rung 0 2 4 9 1 2 3 5 7 9 4 5 Bob, Nina check: refutation by Bob successful. Alice loses. Alice: 2 points, Bob 10 points How could Alice have won? 8 6 7 8 IBM
Brian’s second question • Brian Schimpf: I would like to continue our discussion of SCG and in particular think together about what the technical work would be to instantiate it in Rational Team Concert. Here is a link to information about the SDK for RTC. You may need to be a registered user on jazz.net to follow this link but that registration is free. IBM
Answers in • http://www.ccs.neu.edu/home/lieber/courses/se-courses/cs5500/sp11/projects/problem-statement.html IBM
Improving RTC with SCG • Focus on computational problems. • Claims are of the form: I can solve problems in domain D with quality q and resources r. • Meta claim: SCG provides a useful software evaluation process for computational problems. IBM
Ahmed’s Connection between RTC and SCG • Tournament is part of build. Provides objective evaluation, relative to other developers, of overall quality of project. • The SCG Arena lives outside RTC but results produced by tournament flows back into RTC. • Multiple Stream Development • Merging best solvers from the tournament. • Use Jazz authentication for registering avatars in an arena. IBM
RTC • Provides Personal builds: You can test your avatar locally before you submit it to a tournament. Play against a baby avatar. • Supports Incremental software development • keep track of changes to avatar • integration streams IBM