CSU 670 Review Fall 2008. Software Development Application area: robotic games based on combinatorial maximization problems. Software development is about.

Slides:



Advertisements
Similar presentations
On allocations that maximize fairness Uriel Feige Microsoft Research and Weizmann Institute.
Advertisements

C&O 355 Lecture 23 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A A A A A A A A.
ICS-271:Notes 5: 1 Lecture 5: Constraint Satisfaction Problems ICS 271 Fall 2008.
22C:19 Discrete Math Graphs Fall 2014 Sukumar Ghosh.
Introduction to CS Theory Lecture 2 – Discrete Math Revision Piotr Faliszewski
ISE480 Sequencing and Scheduling Izmir University of Economics ISE Fall Semestre.
13.4 Map Coloring and the Four Color Theorem. We started this chapter by coloring the regions formed by a set of circles in the plane. But when do we.
1 NP-Complete Problems. 2 We discuss some hard problems:  how hard? (computational complexity)  what makes them hard?  any solutions? Definitions 
Constraint Satisfaction over a Non-Boolean Domain Approximation Algorithms and Unique Games Hardness Venkatesan Guruswami Prasad Raghavendra University.
Five Problems CSE 421 Richard Anderson Winter 2009, Lecture 3.
Specker Challenge Game (SCG): A Novel Tool for Computer Science Karl Lieberherr.
Introduction to Approximation Algorithms Lecture 12: Mar 1.
1 Polynomial Church-Turing thesis A decision problem can be solved in polynomial time by using a reasonable sequential model of computation if and only.
Limitations of VCG-Based Mechanisms Shahar Dobzinski Joint work with Noam Nisan.
NP-Completeness NP-Completeness Graphs 4/17/2017 4:10 AM x x x x x x x
Computability and Complexity 24-1 Computability and Complexity Andrei Bulatov Approximation.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 22 Instructor: Paul Beame.
Black-box (oracle) Feed me a weighted graph G and I will tell you the weight of the max-weight matching of G.
The Maximum Independent Set Problem Sarah Bleiler DIMACS REU 2005 Advisor: Dr. Vadim Lozin, RUTCOR.
CS 2813 Discrete Structures
T Ball (1 Relation) What Your Robots Do Karl Lieberherr CSU 670 Spring 2009.
The Theory of NP-Completeness 1. What is NP-completeness? Consider the circuit satisfiability problem Difficult to answer the decision problem in polynomial.
Software Development using artificial markets of constructively egoistic agents Karl Lieberherr 1SD-F09.
SDG Mittagsseminar1 Using Artificial Markets to Teach Computer Science Through Trading Robots How to get students interested in algorithms, combinatorial.
SDG Mittagsseminar1 Using Artificial Markets to Teach Computer Science Through Trading Robots How to get students interested in algorithms, combinatorial.
Cs3102: Theory of Computation Class 24: NP-Completeness Spring 2010 University of Virginia David Evans.
Software Development using artificial markets of constructively egoistic agents Karl Lieberherr 1SD-F09.
Computability History. More examples. NP Hard. Homework: Presentation topics due after Thanksgiving.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin.
Specker Derivative Game Karl Lieberherr Alex Dubreuil Spring 2009.
11/11/2015SDG1 Specker Derivative Game Karl Lieberherr Spring 2009.
UBC March The Evergreen Project: How To Learn From Mistakes Caused by Blurry Vision in MAX-CSP Solving Karl J. Lieberherr Northeastern University.
Chapter 10.8 Graph Coloring
The Game Inside the Game Karl Lieberherr based on Master Thesis of Anna Hoepli at ETH Zurich in 2007 (communicated by Emo Welzl)
Bayesianism, Convexity, and the quest towards Optimal Algorithms Boaz Barak Harvard UniversityMicrosoft Research.
Dynamic Benchmarking Software development though competition Alex Dubreuil Northeastern University
Planar Graphs Lecture 10: Oct 21. This Lecture Today we will talk about planar graphs, and how to color a map using 6 colors. Planar graphs Euler’s formula.
NP-Complete Problems Algorithm : Design & Analysis [23]
Managing Software Development Karl Lieberherr. Manage a significant program from requirements to implementation We wrote requirements. We wrote several.
Support Vector Machines. Notation Assume a binary classification problem. –Instances are represented by vector x   n. –Training examples: x = (x 1,
CSE 589 Part V One of the symptoms of an approaching nervous breakdown is the belief that one’s work is terribly important. Bertrand Russell.
Strings Basic data type in computational biology A string is an ordered succession of characters or symbols from a finite set called an alphabet Sequence.
Correlations Correlations in computer science: an approach.
CPS Computational problems, algorithms, runtime, hardness (a ridiculously brief introduction to theoretical computer science) Vincent Conitzer.
Unique Games Approximation Amit Weinstein Complexity Seminar, Fall 2006 Based on: “Near Optimal Algorithms for Unique Games" by M. Charikar, K. Makarychev,
Vasilis Syrgkanis Cornell University
NPC.
CSC321: Introduction to Neural Networks and Machine Learning Lecture 23: Linear Support Vector Machines Geoffrey Hinton.
Onlinedeeneislam.blogspot.com1 Design and Analysis of Algorithms Slide # 1 Download From
Presented By Ravindra Babu, Pentyala.  Real World Problem  What is Coloring  Planar Graphs  Vertex Coloring  Edge Coloring  NP Hard Problem  Problem.
Specker Derivative Game Karl Lieberherr Spring 2009.
Theory of Computational Complexity Probability and Computing Chapter Hikaru Inada Iwama and Ito lab M1.
NP-Completeness NP-Completeness Graphs 5/7/ :49 PM x x x x x x x
Introduction to Approximation Algorithms
Greedy Method 6/22/2018 6:57 PM Presentation for use with the textbook, Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015.
What is the next line of the proof?
Intro to Theory of Computation
Intro to Theory of Computation
Introduction to Software Testing Chapter 2 Model-Driven Test Design
NP-Completeness NP-Completeness Graphs 11/16/2018 2:32 AM x x x x x x
Subhash Khot Theory Group
Chapter 10.8 Graph Coloring
Emergence of Intelligent Machines: Challenges and Opportunities
NP-Completeness NP-Completeness Graphs 12/3/2018 2:46 AM x x x x x x x
Chapter 10.8 Graph Coloring
CSE 421, University of Washington, Autumn 2006
Instructor: Aaron Roth
CSE 421 Richard Anderson Autumn 2019, Lecture 3
Presentation transcript:

CSU 670 Review Fall 2008

Software Development Application area: robotic games based on combinatorial maximization problems. Software development is about collecting enough knowledge about the application area and communicating this knowledge to the machine. –SOFTWARE DEVELOPMENT requires application experts and design/programming experts. Software developers need to talk the language of application experts.

Our Application Area Was chosen carefully to learn more about CS core topics: algorithms, complexity, optimization of continuous and discrete functions, discrete mathematics, a bit of game theory.

Application Area: SDG Classic Specker Derivative Game with potential option to extend for the Secret SDG. Two interpretations –Trading financial derivatives –Create a new world of organisms in which they need to survive by trading with each other intelligently. (a small model of what humans do.)

SDG game: Classic Generic version: derivatives, predicates, raw materials, finished products. Specialized version: choose MAX-CSP as substrate. Predicates choose subsets of MAX-CSP instances. E.g., the MAX-CSP instances that only use (22). raw materials = CSP formulae. finished product = raw material + assignment.

Flow of one match (reusing chess terminology) The game is a sequence of moves by two players, called White (W) and Black (B). A move consists of two mini moves: –W offers; B buys or reoffers; if buy, W delivers raw material; B finishes. –the same but W and B swapped. The number of moves is predetermined. Winner: most money, gets 1 point. If same amount: draw (½ point).

SDG game: Secret Generic version: derivatives, predicates, raw materials (hide secret), finished products (attempt to reveal secret). Specialized version: choose MAX-CSP, or other combinatorial maximization problem, as substrate. Predicates choose subsets of instances. raw materials = instance + quality of secret solution. finished product = raw material + solution “coming close to secret solution”.

Secret SDG Game About finding subsets of NP-hard maximization problems that can be solved or approximated efficiently. Predicate of the derivative defines the subset.

Example of secret derivative 4 coloring of graphs. As CSP problem: Encode 4 colors with 2 bits. Need one relation of arity 4 and one constraint per edge. Constraint for edge (x,y): COLOR(x1,x2,y1,y2) = ! ((x1,x2) = (y1,y2)) Predicate: Graph is planar: can be embedded in plane. derivative = (COLOR planar, price ??)

Four Color Conjecture (England, middle of 19 th century) Every planar graph can be colored with 4 colors. Became Four Color Theorem in 1976 by Appel and Haken. Proof is a simple induction on the number of regions but the induction step requires nearly 2000 complicated cases. Only a computer can check that. What should the price be for (COLOR planar, price ??)

Another secret example derivative d = ((22),p) we know that we can find efficiently a solution that is at least 4/9 the maximum. derivative d = ((22),4/9) we would buy. The raw material might now be a satisfiable formula; in a symmetric formula we could achieve the maximum in polynomial time. Maybe there is a better polynomial approximation algorithm that achieves 4/9 + epsilon of the maximum. An open problem.

Software Development Complexity of application area: needs to be “interesting” but not too hard; only basic skills should be required. SDG satisfies that. Interesting application area leads to appropriate challenges for software developers.

Challenges What are the requirements? Win at selling and buying derivatives. Architecture of player and administrator. Review Pragmatic Programmer Tips –Write Code That Writes Code –Use Assertions to Prevent the Impossible –Configure, Don’t Integrate –Estimate the Order of your Algorithms

More tips Refactor Early, Refactor Often Test Your Software, or Your Users Will