Top Banner
Formal Two Party Debates about Algorithmic Claims or How to Improve and Check your Homework Solutions Karl Lieberherr
44

Formal Two Party Debates about Algorithmic Claims or How to Improve and Check your Homework Solutions Karl Lieberherr.

Dec 29, 2015

Download

Documents

Bertram Allen
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Formal Two Party Debates about Algorithmic Claims or How to Improve and Check your Homework Solutions Karl Lieberherr.

Formal Two Party Debatesabout Algorithmic Claims

orHow to Improve and Check your

Homework SolutionsKarl Lieberherr

Page 2: Formal Two Party Debates about Algorithmic Claims or How to Improve and Check your Homework Solutions Karl Lieberherr.

Learn from your Peers

• Engage them in a dialog about the homeworks.

• Competition with Social Welfare• Collaboration

Page 3: Formal Two Party Debates about Algorithmic Claims or How to Improve and Check your Homework Solutions Karl Lieberherr.

Competition Examples

• Historical– Tartaglia and Fior 1535: solving cubic equations

• Modern– SAT competitions– Netflix prize competition

May 16, 2013 3

Intro

Page 4: Formal Two Party Debates about Algorithmic Claims or How to Improve and Check your Homework Solutions Karl Lieberherr.

Platforms Facilitating Competitions• TopCoder

– developing software• Kaggle

– data mining• FoldIt

– protein foldings• EteRNA

– protein synthesis• Project Euler, Jutge

– for education

May 16, 2013 4

Intro

Page 5: Formal Two Party Debates about Algorithmic Claims or How to Improve and Check your Homework Solutions Karl Lieberherr.

Truth and Clever Constructions

• We are not just interested in WHETHER a claim is true but WHY it is true.

• We are NOT asking for a PROOF why a claim is true but for a constructive demonstration that the claim is true.

• Having a proof is ideal but is not required for supporting a claim. It is enough knowing the CLEVER CONSTRUCTIONS without having a proof why they work.

May 16, 2013 5

Page 6: Formal Two Party Debates about Algorithmic Claims or How to Improve and Check your Homework Solutions Karl Lieberherr.

Example: Lab Definition

• φ(c C)= x X y Y : p(x,y,c)∈ ∀ ∈ ∃ ∈– B(ingran): φ(c0) true: verifier

– K(arl): φ(c0) false: falsifier

04/19/23 6

Page 7: Formal Two Party Debates about Algorithmic Claims or How to Improve and Check your Homework Solutions Karl Lieberherr.

Concrete 1Stable Marriages Lab

• φ(c C)= x X y Y : p(x,y,c)∈ ∀ ∈ ∃ ∈• X = Instances, e.g., preferences.• Y = Solutions, e.g., marriages.• C = Quality, e.g., 1 if all stable, 0 otherwise.• p(x,y,c)=quality(x,y)=c• φ(1) is true

04/19/23 7

Page 8: Formal Two Party Debates about Algorithmic Claims or How to Improve and Check your Homework Solutions Karl Lieberherr.

Concrete 2Silver Ratio Lab

• φ(c C)= x X y Y : p(x,y,c)∈ ∀ ∈ ∃ ∈• X = [0,1]• Y = [0,1]• C = [0,1]• p(x,y,c) = x*y + (1-x)*(1-y2) >= c• φ(0.5) is true• φ(0.7) is false

04/19/23 8

Page 9: Formal Two Party Debates about Algorithmic Claims or How to Improve and Check your Homework Solutions Karl Lieberherr.

Concrete 3Protein Folding / Minimization Lab

• φ(c C)= x X y X : p(x,y,c)∈ ∃ ∈ ∀ ∈• X = Solutions, e.g., protein foldings• C = Quality, e.g., energy of folded protein• φ(c C) = ∈ ∃ x in X ∀ y in X: c = quality(x) <=

quality(y) (minimum energy protein folding)• φ(0.4) is true

04/19/23 9

Page 10: Formal Two Party Debates about Algorithmic Claims or How to Improve and Check your Homework Solutions Karl Lieberherr.

Example

04/19/23 10

Page 11: Formal Two Party Debates about Algorithmic Claims or How to Improve and Check your Homework Solutions Karl Lieberherr.

Example (continued 1)

• φ(c C)= x X y Y : p(x,y,c)∈ ∀ ∈ ∃ ∈– B(ingran): φ(c0) true: verifier

– K(arl): φ(c0) true: verifier

– Experiment 1• B(ingran): φ(c0) true: verifier

• K(arl): φ(c0) false: forced falsifier– K:x1 O:y1 p(x1,y1,c0) true

» no evidence that Bingran is stronger

04/19/23 11

Page 12: Formal Two Party Debates about Algorithmic Claims or How to Improve and Check your Homework Solutions Karl Lieberherr.

Example (continued 2)

• φ(c C)= x X y Y : p(x,y,c)∈ ∀ ∈ ∃ ∈– Z(hengxing): φ(c0) true: verifier

– K(arl): φ(c0) true: verifier

– Experiment 2• K(arl): φ(c0) true: verifier

• Z(hengxing): φ(c0) false: forced falsifier– Z:x2 K:y2 p(x2,y2,c0) false

» objective evidence that Zhengxing is stronger. Karl must have made at least one mistake, while Zhengxing might have been perfect.

04/19/23 12

Page 13: Formal Two Party Debates about Algorithmic Claims or How to Improve and Check your Homework Solutions Karl Lieberherr.

Silver Ratio

claimG(c) = ForAll x in [0,1] Exists y in [0,1]: x*y + (1-x)*(1-y^2) >= cA specification of an algorithm:Write a program which takes an x as input andproduces a y as output so that the above condition holds.

Page 14: Formal Two Party Debates about Algorithmic Claims or How to Improve and Check your Homework Solutions Karl Lieberherr.

Silver RatioG(1/2)

winning strategy for verifier:f(x,y) = x*y + (1-x)*(1-y^2)

if x>1-x : y=1. f(x,y)=x > 1/2 1-x>x : y=0. f(x,y)=1-x > 1/2 1-x=x : y=1. f(x,y)=1/2

formal debate:falsifier x=0.75verifier y=10.75>0.5 verifier wins

Page 15: Formal Two Party Debates about Algorithmic Claims or How to Improve and Check your Homework Solutions Karl Lieberherr.
Page 16: Formal Two Party Debates about Algorithmic Claims or How to Improve and Check your Homework Solutions Karl Lieberherr.

Silver RatioG(0.615)

winning strategy for verifier:Choose y=x.Result: x^3-x+1

minimize x^3-x+1local minimum at x=1/sqrt(3) =min{x^3-x+1}~~0.6151 at x~~0.57735

formal debate:falsifier x=0.58verifier y=0.58

x^3-x+1 where x = 0.58Result: 0.615112 > 0.615

Page 17: Formal Two Party Debates about Algorithmic Claims or How to Improve and Check your Homework Solutions Karl Lieberherr.

Silver RatioG(0.616)

formal debate 1:falsifier x=0.3verifier y=0.3Result 0.727verifier wins

formal debate 2:x=0.57735y=0.57735Result 0.6151 < g(0.616)verifier loses!!!!!!!!!!!!!!!

Page 18: Formal Two Party Debates about Algorithmic Claims or How to Improve and Check your Homework Solutions Karl Lieberherr.

Silver RatioQuestion:Is G(0.616) really true?What is the winning strategy?The winning strategy is an algorithm which maps an x to a ysuch that f(x,y)>=0.616 holds for all x in [0,1].

Homework:Find such an algorithm.

Page 19: Formal Two Party Debates about Algorithmic Claims or How to Improve and Check your Homework Solutions Karl Lieberherr.

Silver Ratio

Page 20: Formal Two Party Debates about Algorithmic Claims or How to Improve and Check your Homework Solutions Karl Lieberherr.

Silver Ratio

Page 21: Formal Two Party Debates about Algorithmic Claims or How to Improve and Check your Homework Solutions Karl Lieberherr.

Goal of a Lab

• Teaching– If the lab is useful, the students will have fun

challenging each other and learning together

04/19/23 21

Page 22: Formal Two Party Debates about Algorithmic Claims or How to Improve and Check your Homework Solutions Karl Lieberherr.

22

Page 23: Formal Two Party Debates about Algorithmic Claims or How to Improve and Check your Homework Solutions Karl Lieberherr.

Generic Investigation

CyclesPose a Question

DesignExperiments

Find a Solution

Evaluate Results

Run Experiments

Evaluate Results

Pose another Question

Popper

04/19/23 23

Page 24: Formal Two Party Debates about Algorithmic Claims or How to Improve and Check your Homework Solutions Karl Lieberherr.

Investigation Cycles

• For questions whose solution can be automated.

• Cycles– Debug, Improve question: red right cycles– Debug, Improve solution: left gray cycle

Page 25: Formal Two Party Debates about Algorithmic Claims or How to Improve and Check your Homework Solutions Karl Lieberherr.

Important Events during Investigation Cycles

• First owner/participant who proposes popular question.

• First participant who finds a solution that is not successfully challenged by experiment.

Page 26: Formal Two Party Debates about Algorithmic Claims or How to Improve and Check your Homework Solutions Karl Lieberherr.
Page 27: Formal Two Party Debates about Algorithmic Claims or How to Improve and Check your Homework Solutions Karl Lieberherr.

Example Lab: Polynomial-time Decision Problems

• Parameters: Decision Problem, monotonic function

• LandauAlgorithmic(D:DecisionProblem, f(n)) = Exists algorithm A for D ForAll inputs i of size at most n: runningTime(A,i) in soft O(f(n)).– CobhamLandau(D:DecisionProblem,n^c)=D is in P

(solvable in polynomial time)– CobhamLandau(Primes,n^7.5) where n is the

number of digits (AKS Algorithm).

04/19/23 27

Motivating Labs

Page 28: Formal Two Party Debates about Algorithmic Claims or How to Improve and Check your Homework Solutions Karl Lieberherr.

StrassenLab

• Matrix Multiplication Algorithms• StrassenLab(c in [2,3))=Exists M in

MatrixMultiplicationAlgorithms: RunTime(M) in O(n^c) .

• StrassenLab(2.80)

04/19/23 28

Motivating Labs

Page 29: Formal Two Party Debates about Algorithmic Claims or How to Improve and Check your Homework Solutions Karl Lieberherr.

Detailed StrassenLab 2

• Matrix Multiplication Algorithms• StrassenLab(c in [2,3))=Exists M in

MatrixMultiplicationAlgorithms: Exists d in Nat: Exists n0 in Nat: ForAll inputs i of size n>n0: RunTime(M,i) < d * (n^c) .

• StrassenLab(2.80)

04/19/23 29

Motivating Labs

Page 30: Formal Two Party Debates about Algorithmic Claims or How to Improve and Check your Homework Solutions Karl Lieberherr.

Detailed StrassenLab 3

• Matrix Multiplication Algorithms• StrassenLab(c in [2,3), d in Nat, n0 in

Nat)=Exists M in MatrixMultiplicationAlgorithms: ForAll inputs i of size n>n0: RunTime(M,i) < d * (n^c) .

• StrassenLab(2.80)

04/19/23 30

Motivating Labs

Page 31: Formal Two Party Debates about Algorithmic Claims or How to Improve and Check your Homework Solutions Karl Lieberherr.

31

Decision Making Using Semantic Games (SGs)

• A semantic game for a given claim φ(p⟨ 0), A ⟩is a game played by a verifier and a falsifier, denoted SG( φ(p⟨ 0), A , verifier, falsifier), ⟩such that:– A |= φ(p0) <=> the verifier has a winning

strategy.

Related

Page 32: Formal Two Party Debates about Algorithmic Claims or How to Improve and Check your Homework Solutions Karl Lieberherr.

32

Toy Example

• S(c [0,2]) = x [0,1]: y [0,1]: x + y > c∈ ∀ ∈ ∃ ∈• S(c) is true for c [0,1) and false for c [1,2]∈ ∈• Best strategy:

– for the falsifier: x=0– for the verifier: y=1

Related

Page 33: Formal Two Party Debates about Algorithmic Claims or How to Improve and Check your Homework Solutions Karl Lieberherr.

33

Toy Example: SG Trace

SG( x [0,1]: y [0,1]: x + y > 1.5∀ ∈ ∃ ∈ , , )

SG( y [0,1]: 1 + y > 1.5∃ ∈ , , )

Provides 1 for x

SG( 1 + 1 > 1.5, , )

Provides 1 for y

Wins

Weakening (too much!)

Strengthening

Related

Page 34: Formal Two Party Debates about Algorithmic Claims or How to Improve and Check your Homework Solutions Karl Lieberherr.

34

Related

Page 35: Formal Two Party Debates about Algorithmic Claims or How to Improve and Check your Homework Solutions Karl Lieberherr.

35

Strategies

• A strategy is a set of functions, one for each potential move.

Related

Page 36: Formal Two Party Debates about Algorithmic Claims or How to Improve and Check your Homework Solutions Karl Lieberherr.

04/19/23 36

Related

Page 37: Formal Two Party Debates about Algorithmic Claims or How to Improve and Check your Homework Solutions Karl Lieberherr.

37

Example: Silver Ratio

•For

•A potential falsifier strategy is: provideX(c){ 0.5 }.

•A potential verifier strategy is: provideY(x, c){ x }.

Related

Page 38: Formal Two Party Debates about Algorithmic Claims or How to Improve and Check your Homework Solutions Karl Lieberherr.

38

Example: SG Trace

SG( , , )

SG( , , )

Provides 0.5 for x

SG( , , )

Provides 0.5 for y

Wins

Weakening (too much!)

Strengthening

Related

Page 39: Formal Two Party Debates about Algorithmic Claims or How to Improve and Check your Homework Solutions Karl Lieberherr.

39

SG Properties(Relevant to our

approach)• SG winners drive their opponents into contradiction.

• Faulty verifier (falsifier) actions can produce a false (true) claim from a true (false) one.

• Faulty actions will be exposed by a perfect opponent leading to a loss.

• Winning against a perfect verifier (falsifier) implies that the claim is false (true).

• Losing an SG implies that either you did a faulty action or you were on the wrong side.

Related

Page 40: Formal Two Party Debates about Algorithmic Claims or How to Improve and Check your Homework Solutions Karl Lieberherr.

Avatar•View lab as a language L of all claims that

can be formulated in the lab.

•Ltrue (Lfalse) is the set of true (false) claims in L.

•There is a set of required functions Strue

used to defend claims in Ltrue and another set of required functions Sfalse for Lfalse.

•The burden of demonstrating the correctness of the required functions is divided among two participants.

04/19/2340

Avatar

Page 41: Formal Two Party Debates about Algorithmic Claims or How to Improve and Check your Homework Solutions Karl Lieberherr.

Avatar•Strue and Sfalse are certificates that can be used

to defend the true and false claims.

•A perfect avatar for a claim family is a pair (Strue, Sfalse), where the side chosen by the avatar is the winner side of SG(c, Strue , Sfalse).

•An avatar (Strue , Sfalse) applied to a claim c is used to

• take a side on c

•defend the side taken

04/19/2341

Avatar

Page 42: Formal Two Party Debates about Algorithmic Claims or How to Improve and Check your Homework Solutions Karl Lieberherr.

Example Avatar forSilver Ratio Lab

•Defending SilverRatio(c)

•if SilverRatio(c)

•use Strue: when given an x, construct y

•else use Sfalse: construct x

•Issue: In practice the avatars may be buggy.

•Issue: humans might have to help the avatar.

04/19/2342

Avatar

Page 43: Formal Two Party Debates about Algorithmic Claims or How to Improve and Check your Homework Solutions Karl Lieberherr.

43

Generalizing SGs•First ask participants for their favorite side

(u is a participant).

•If both choose the same side, force one to play the devil’s advocate.

Winner ForcedPayoff(u, !u)

Truth evidence

u None (1, 0) Pos(u)u u (1, 0) Noneu !u (0, 0) Pos(u)

Page 44: Formal Two Party Debates about Algorithmic Claims or How to Improve and Check your Homework Solutions Karl Lieberherr.

Conclusions

•Use formal debates about claims to improve your solutions and learn from others.

•Works for other STEM areas.

44