
f72bcdd90f24a88b41d71a842a4c7c7a.ppt
- Количество слайдов: 12
Managing Software Development Karl Lieberherr
Manage a significant program from requirements to implementation • We wrote requirements. We wrote several requirement documents that were “good” enough. • http: //www. ccs. neu. edu/home/lieber/evergr een/specker/sdg-home. html • It is hard to get them perfect.
Specker Derivative Game (SDG) • About buying and selling generative, active participation products based on partial information. • Partial information = type T of CSP formula • Generates raw material = CSP formula of given type T • Active participation = Finish raw material.
Other instances • buy a course: – raw materials: lectures, projects – active participation: you need to finish them: absorb the material, apply the material. • buy a membership in a health club – raw materials: equipment, classes – active participation: use it.
What is needed to write good code? • Understanding the application domain is important to writing good code. • Application domain topics we encountered – solving min-max problems – reductions – maximizing polynomials – minimizing functions – transition systems for solving MAX-CSP
Golden nuggets of insight • May simplify your program significantly. • Are at a conceptual level.
Application domain knowledge • dozens of relations in type – reduce to two for raw material construction!! • symmetric formulas are the worst case
Controlling complexity of raw materials • Set of relations: R(1, 1), R(pos, length): pos of length literals are positive, length >=2. • RR= {R(1, 1), R(pos, length), length >=2} • e. g. , RR = (R(1, 1), R(0, 2), R(1, 2), R(2, 2), R(0, 3), R(2, 3)} • Lemma: The worst raw material in this class only needs to use RRsimple={R(1, 1), R(0, 2)}.
Proof • Let s be an arbitrary RR-formula. We simplify it to a cnf T(S) using: – In clauses containing positive literals, drop all but one. – In clauses containing only negative literals, but more than one, drop all except two. • T(s) is in RRsimple and to each assignment I 1 of T(s) corresponds an assignment I of s which satisfies at least as many clauses as I 1 in T(s).
Example of reduction A B C A B !A !B !C A C B !C !A !B !C !D A: 1, B: 0, C: 0 all sat A B C A B !A !B !C A C B !C !A !B !C !D 3: A 2: !A !B 1: B A: 1, B: 0, C: 0 5/6 sat
¾ only abc ab d a cd bcd R = 22 abc ab d a cd can satisfy all symmetric apply all 4! = 1*2*3*4= 24 permutations
Symmetrized formula 18: a b c 18: a b d 18: a c d 18: b c d
f72bcdd90f24a88b41d71a842a4c7c7a.ppt