Great Theoretical Ideas in Computer Science

Similar documents
Lecture 7: NP-Complete Problems

CMPSCI611: Approximating MAX-CUT Lecture 20

NP-Completeness I. Lecture Overview Introduction: Reduction and Expressiveness

Near Optimal Solutions

Reductions & NP-completeness as part of Foundations of Computer Science undergraduate course

Lecture 12: More on Registers, Multiplexers, Decoders, Comparators and Wot- Nots

Outline. NP-completeness. When is a problem easy? When is a problem hard? Today. Euler Circuits

Definition Given a graph G on n vertices, we define the following quantities:

Exponential time algorithms for graph coloring

Clique coloring B 1 -EPG graphs

Guessing Game: NP-Complete?

Binary Adders: Half Adders and Full Adders

EFX Keying/Alpha plugins for After Effects

Scheduling Shop Scheduling. Tim Nieberg

Chapter. NP-Completeness. Contents

Circuit diagrams and symbols (1)

Introduction to Algorithms. Part 3: P, NP Hard Problems

Introduction Solvability Rules Computer Solution Implementation. Connect Four. March 9, Connect Four

6.080/6.089 GITCS Feb 12, Lecture 3

Midterm Practice Problems

Planar Graphs. Complement to Chapter 2, The Villas of the Bellevue

1. Nondeterministically guess a solution (called a certificate) 2. Check whether the solution solves the problem (called verification)

Vieta s Formulas and the Identity Theorem

Graph Theory Origin and Seven Bridges of Königsberg -Rhishikesh

Why? A central concept in Computer Science. Algorithms are ubiquitous.

Reminder: Complexity (1) Parallel Complexity Theory. Reminder: Complexity (2) Complexity-new

Reminder: Complexity (1) Parallel Complexity Theory. Reminder: Complexity (2) Complexity-new GAP (2) Graph Accessibility Problem (GAP) (1)

Universality in the theory of algorithms and computer science

1. Write the number of the left-hand item next to the item on the right that corresponds to it.

! X is a set of strings. ! Instance: string s. ! Algorithm A solves problem X: A(s) = yes iff s! X.

A NOTE ON OFF-DIAGONAL SMALL ON-LINE RAMSEY NUMBERS FOR PATHS

Problem Set 7 Solutions

Determine If An Equation Represents a Function

Light Bulbs in Parallel Circuits

Pigeonhole Principle Solutions

CSC 373: Algorithm Design and Analysis Lecture 16

A Hypocoloring Model for Batch Scheduling Problem

Boolean Design of Patterns

ON THE COMPLEXITY OF THE GAME OF SET.

Graph Theory Problems and Solutions

SIMS 255 Foundations of Software Design. Complexity and NP-completeness

Lecture 1: Course overview, circuits, and formulas

(Refer Slide Time: 2:03)

Tutorial 8. NP-Complete Problems

Regions in a circle. 7 points 57 regions

Notes on NP Completeness

This puzzle is based on the following anecdote concerning a Hungarian sociologist and his observations of circles of friends among children.

Chapter 19 Operational Amplifiers

Offline 1-Minesweeper is NP-complete

The application of prime numbers to RSA encryption

Chapter 15: Distributed Structures. Topology

HYBRID FIR-IIR FILTERS By John F. Ehlers

Lecture 8: Synchronous Digital Systems

CSC2420 Fall 2012: Algorithm Design, Analysis and Theory

Test Case Design Techniques

On the Unique Games Conjecture

Introduction to Metropolitan Area Networks and Wide Area Networks

Representation of functions as power series

Solving the Rubik's Revenge (4x4x4) Home Pre-Solution Stuff Step 1 Step 2 Step 3 Solution Moves Lists

One last point: we started off this book by introducing another famously hard search problem:

Mathematics of Sudoku I

Hand Crank Generator (9 May 05) Converting a Portable Cordless Drill to a Hand Crank DC Generator

Module 3: Floyd, Digital Fundamental

Let s put together a Manual Processor

Where the Really Hard Problems Are

Making a Triangle Twist Foundation in EQ5

CS311 Lecture: Sequential Circuits

Lecture 2: Types of Variables

2.2 Derivative as a Function

Take-Home Exercise. z y x. Erik Jonsson School of Engineering and Computer Science. The University of Texas at Dallas

MATH 13150: Freshman Seminar Unit 10

WE write string to mean a finite binary string. Other. Information Distance

The Euclidean Algorithm

Test case design techniques II: Blackbox testing CISS

Gate Delay Model. Estimating Delays. Effort Delay. Gate Delay. Computing Logical Effort. Logical Effort

Adder.PPT(10/1/2009) 5.1. Lecture 13. Adder Circuits

Test case design techniques I: Whitebox testing CISS

Lecture 1: Oracle Turing Machines

Formal Languages and Automata Theory - Regular Expressions and Finite Automata -

BOOLEAN ALGEBRA & LOGIC GATES

SIMPLE CROSSING - FUNCTIONAL PRACTICE

transcription networks

Counters and Decoders

1. The Fly In The Ointment

COMBINATORIAL PROPERTIES OF THE HIGMAN-SIMS GRAPH. 1. Introduction

No Solution Equations Let s look at the following equation: 2 +3=2 +7

CS101 Lecture 11: Number Systems and Binary Numbers. Aaron Stevens 14 February 2011

How to Give a Bible Study

Introduction to computer science

Gates & Boolean Algebra. Boolean Operators. Combinational Logic. Introduction

Institut für Informatik Lehrstuhl Theoretische Informatik I / Komplexitätstheorie. An Iterative Compression Algorithm for Vertex Cover

A Working Knowledge of Computational Complexity for an Optimizer

14.1 Rent-or-buy problem

Enumerating possible Sudoku grids

Pre-Algebra Lecture 6

Sudoku puzzles and how to solve them

Connectivity and cuts

The Peruvian coin flip Cryptographic protocols

CS 598CSC: Combinatorial Optimization Lecture date: 2/4/2010

EdExcel Decision Mathematics 1

Transcription:

15-251 Great Theoretical Ideas in Computer Science Complexity Theory: Efficient Reductions Between Computational Problems Lecture 26 (Nov 18, 2010) A Graph Named Gadget K-Coloring We define a k-coloring of a graph: At most k different colors are used If two nodes have an edge between them they must have different colors A 2-CRAYOLA Question! Is Gadget 2-colorable? No, it contains a triangle A 2-CRAYOLA Question! Given a graph G, how can we decide if it is 2-colorable? Answer: Enumerate all 2 n possible colorings to look for a valid 2-color How can we 2-colorable? decide if G is 1

Alternate coloring algorithm: To 2-color a connected graph G, pick an arbitrary node v, and color it white Color all v s neighbors black Color all their uncolored neighbors white, and so on If the algorithm terminates without a color conflict, output the 2-coloring Else, output an odd cycle A 2-CRAYOLA Question! A 3-CRAYOLA Question! A 3-CRAYOLA Question! Is Gadget 3-colorable? Yes! 3-Coloring Is Decidable by Brute Force A 3-CRAYOLA Try out all 3 n colorings until you determine if G has a 3-coloring 2

Better 3-CRAYOLA NO, or YES here is how: gives 3-coloring of the nodes Search Search Decision Christmas Present Christmas Present BUT I WANTED a SEARCH oracle for Christmas I am really bummed out Decision Decision Beanie s Flawed Idea What if I gave the oracle partial colorings of G? For each partial coloring of G, I could pick an uncolored node and try different colors on it until the oracle says YES 3

Beanie s Fix Let s now look at two other problems: Decision 1. K-Clique 2. K-Independent Set K-Cliques A Graph Named Gadget This graph contains a 4-clique Independent Set Given: (G, k) Question: Does G contain a k-clique? This graph contains an independent set of sie 3 4

A Graph Named Gadget Given: (G, k) Question: Does G contain an independent set of sie k? BRUTE FCE: Try out all n choose k possible locations for the k independent set Clique / Independent Set Complement of G Given a graph G, let G*, the complement of G, be the graph obtained by the rule that two nodes in G* are connected if and only if the corresponding nodes of G are not connected G G* (G,k) Let G be an n-node graph (G*, k) G has a k-clique G* has an independent set of sie k BUILD: Independent Set Clique 5

(G,k) Let G be an n-node graph Clique / Independent Set (G*, k) BUILD: Clique Independent Set Thus, we can quickly reduce a clique problem to an independent set problem and vice versa There is a fast method for one if and only if there is a fast method for the other Let s now look at two other problems: 1. Circuit Satisfiability 2. Graph Combinatorial Circuits x 1 x 2 x 3 Circuit-Satisfiability Given a circuit with n-inputs and one output, is there a way to assign 0-1 values to the input wires so that the output value is 1 (true)? 1 1 0 Yes, this circuit is satisfiable: 110 1 6

Circuit-Satisfiability Circuit Satisfiability BRUTE FCE: Try out all 2 n assignments X T F Y X Y F F F F T T T F T T T T X T F gate! x y x y 7

x y x y x y x y x y x y x y x y How do we force the graph to be 3 colorable exactly when the circuit is satifiable? C Let C be an n-input circuit Graph composed of gadgets that mimic the gates in C You can quickly transform a method to decide 3-coloring into a method to decide circuit satifiability! BUILD: SAT 3-color 8

Given an oracle for circuit SAT, how can you quickly solve 3-colorability? Can you make a circuit (based on a graph) that takes as input a node coloring, and checks if it is a valid 3-coloring? Building Blocks Building Blocks X X X G bogus color bit 9

G Let G be an n-node graph V G (Y) Circuit-SAT / BUILD: 3-color SAT Circuit-SAT / Clique / Independent Set Given an oracle for circuit SAT, how can you quickly solve k- clique? Circuit-SAT / Clique / Independent Set 10

Summary 11