Part I: Graph Coloring

Similar documents
Algorithms, Lecture 3 on NP : Nondeterministic Polynomial Time

CSC 373: Algorithm Design and Analysis Lecture 17

Post-Routing Layer Assignment for Double Patterning

CPSC 121: Models of Computation. Module 1: Propositional Logic

ORF 307 Network Flows: Algorithms

CSE 101. Algorithm Design and Analysis Miles Jones Office 4208 CSE Building Lecture 9: Greedy

ORF 307: Lecture 14. Linear Programming: Chapter 14: Network Flows: Algorithms

Lecture 3: Nondeterministic Computation

Chapter 5 Synchronous Sequential Logic

Leakage Current Reduction in Sequential Circuits by Modifying the Scan Chains. Outline

Section 6.8 Synthesis of Sequential Logic Page 1 of 8

1. Introduction. Abstract. 1.1 Logic Criteria

Broadcast Networks with Arbitrary Channel Bit Rates

VLSI Design: 3) Explain the various MOSFET Capacitances & their significance. 4) Draw a CMOS Inverter. Explain its transfer characteristics

The reduction in the number of flip-flops in a sequential circuit is referred to as the state-reduction problem.

Heuristic Search & Local Search

Peirce's Remarkable Rules of Inference

Mathematics, Proofs and Computation

FREE TV AUSTRALIA OPERATIONAL PRACTICE OP- 59 Measurement and Management of Loudness in Soundtracks for Television Broadcasting

The PeRIPLO Propositional Interpolator

A Look at Some Scrambling Techniques U sed in Various Data Transport Protocols

140 IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 12, NO. 2, FEBRUARY 2004

6.034 Notes: Section 4.1

Finding Patterns with a Rotten Core: Data Mining for Crime Series with Cores

Course Administration

CSE221- Logic Design, Spring 2003

Vagueness & Pragmatics

CS6201 UNIT I PART-A. Develop or build the following Boolean function with NAND gate F(x,y,z)=(1,2,3,5,7).

Mining Complex Boolean Expressions for Sequential Equivalence Checking

Navigate to the Journal Profile page

MVP: Capture-Power Reduction with Minimum-Violations Partitioning for Delay Testing

BIG SYNTHETIC DATA WITH MUSKETEER

mcs 2015/5/18 1:43 page 15 #23

Logic Design ( Part 3) Sequential Logic- Finite State Machines (Chapter 3)

Trial version. Analogue to Digital Conversion in Distance Measurement

CHAPTER 6 ASYNCHRONOUS QUASI DELAY INSENSITIVE TEMPLATES (QDI) BASED VITERBI DECODER

Using Scan Side Channel to Detect IP Theft

2550 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 54, NO. 6, JUNE 2008

UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering. EEC180A DIGITAL SYSTEMS I Winter 2006

EIGHTH GRADE RELIGION

Figure 1. Setup/hold definition for the sequential cells

EXPERIMENT: 1. Graphic Symbol: OR: The output of OR gate is true when one of the inputs A and B or both the inputs are true.

Learning Musicianship for Automatic Accompaniment

Optimization of Multi-Channel BCH Error Decoding for Common Cases. Russell Dill Master's Thesis Defense April 20, 2015

UNIVERSITY OF MASSACHUSSETS LOWELL Department of Electrical & Computer Engineering Course Syllabus for Logic Design Fall 2013

On-Supporting Energy Balanced K-Barrier Coverage In Wireless Sensor Networks

1360 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 59, NO. 3, MARCH Optimal Encoding for Discrete Degraded Broadcast Channels

2 nd Int. Conf. CiiT, Molika, Dec CHAITIN ARTICLES

Computer Architecture and Organization

ECE 301 Digital Electronics

Laboratory 1 - Introduction to Digital Electronics and Lab Equipment (Logic Analyzers, Digital Oscilloscope, and FPGA-based Labkit)

Example: compressing black and white images 2 Say we are trying to compress an image of black and white pixels: CSC310 Information Theory.

Automated Limit Testing

The word digital implies information in computers is represented by variables that take a limited number of discrete values.

Unit 2: Graphing Part 5: Standard Form

Low Power VLSI Circuits and Systems Prof. Ajit Pal Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Logic Design II (17.342) Spring Lecture Outline

data and is used in digital networks and storage devices. CRC s are easy to implement in binary

[2 credit course- 3 hours per week]

Design for Test. Design for test (DFT) refers to those design techniques that make test generation and test application cost-effective.

Level 1 Mathematics and Statistics, 2011

CS8803: Advanced Digital Design for Embedded Hardware

CS150 Fall 2012 Solutions to Homework 4

1. What does the signal for a static-zero hazard look like?

Appendix B. Elements of Style for Proofs

First Name Last Name November 10, 2009 CS-343 Exam 2

Beyond Worst Case Analysis in Approxima4on Uriel Feige The Weizmann Ins2tute

A combination of approaches to solve Task How Many Ratings? of the KDD CUP 2007

Power-Driven Flip-Flop p Merging and Relocation. Shao-Huan Wang Yu-Yi Liang Tien-Yu Kuo Wai-Kei Tsing Hua University

Understanding IP Video for

Bridging the Gap Between CBR and VBR for H264 Standard

Check back at the NCTM site for additional notes and tasks next week.

MULTI-CYCLE AT SPEED TEST. A Thesis MALLIKA SHREE POKHAREL

White Paper. Performance analysis: DOCSIS 3.1 cable TV headend combining systems

1 Hour Sample Test Papers: Sample Test Paper 1. Roll No.

Point-to-Point Links

CS 61C: Great Ideas in Computer Architecture

Factory configured macros for the user logic

Optimum Frame Synchronization for Preamble-less Packet Transmission of Turbo Codes

Force & Motion 4-5: ArithMachines

North Shore Community College

Lesson 25: Solving Problems in Two Ways Rates and Algebra

Keywords Xilinx ISE, LUT, FIR System, SDR, Spectrum- Sensing, FPGA, Memory- optimization, A-OMS LUT.

Chapter 12. Synchronous Circuits. Contents

A High- Speed LFSR Design by the Application of Sample Period Reduction Technique for BCH Encoder

ENGR 1000, Introduction to Engineering Design

Bachelor Level/ First Year/ Second Semester/ Science Full Marks: 60 Computer Science and Information Technology (CSc. 151) Pass Marks: 24

LAB 3 Verilog for Combinational Circuits

The Effects of Study Condition Preference on Memory and Free Recall LIANA, MARISSA, JESSI AND BROOKE

Let me tell you a story

Introduction p. 1 The Elements of an Argument p. 1 Deduction and Induction p. 5 Deductive Argument Forms p. 7 Truth and Validity p. 8 Soundness p.

branding style guide Brand Book s aim is to be a valid instrument

LSTM Neural Style Transfer in Music Using Computational Musicology

Advanced Data Structures and Algorithms

Chapter 5 Sequential Circuits

Digital Principles and Design

Scrambling and Descrambling SMT-LIB Benchmarks

Visual Encoding Design

Lesson 24: Teleconference (20-25 minutes)

Decision-Maker Preference Modeling in Interactive Multiobjective Optimization

Transcription:

Part I: Graph Coloring At some point in your childhood, chances are you were given a blank map of the United States, of Africa, of the whole world and you tried to color in each state or each country so that if two regions shared a border, you used different colors for them. Maybe you tried to figure out how many colors you needed. Could you color in the U.S. map using only three different colored crayons? What if you had four colors? In computer science, we call this question at minimum, how many colors are needed so that no two adjacent regions are the same color? the Graph Coloring problem. The problem is formally defined as follows: Graph k-coloring Input: An undirected, unweighted graph G = (V, E) A positive integer k Output: Is it possible to color each node in G using at most k colors, such that if edge (u, v) exists, then nodes u and v are different colors? Note that graph k-coloring is a decision problem, not an optimization problem. But if we can solve the decision problem, we can solve the corresponding optimization problem (what is the smallest number of colors required?) by repeatedly solving the decision problem for different values of k. For each of the graphs below, is the graph 2-colorable? 3-colorable? 4-colorable? Is there a simple rule that tells you how many colors you will need?

Recall from last time the 3-SAT problem: 3-SAT Input: A set of boolean variables X = {x 1,..., x n } A set of clauses C 1,..., C k, each of which is the disjunction of three of the variables in X Output: Is the set of clauses satisfiable? That is, is there an assignment of value true or false to each of the variables in X such that each of the k clauses evaluates to true? On Wednesday, we found a reduction from 3-SAT to Independent Set. But often (in fact, usually) it is possible to reduce the same problem to multiple different problems. One way of solving 3-SAT is to turn an instance of 3-SAT into an instance of Independent Set, and then solving the Independent Set problem. As we will see, another way of solving 3-SAT is to turn an instance of 3-SAT into an instance of Graph 3-Coloring, and then solving the Graph 3-Coloring problem. That is, we will show the following theorem: Theorem 1. 3-SAT P Graph 3-Coloring. To prove this theorem, we will take an instance of and turn it into an instance of. Once we have proved this theorem, we will know that: 1. If can be solved in polynomial time, then so can. 2. If can t be solved in polynomial time, then neither can. To reduce from 3-SAT to Independent Set, we took a clause-centric view. This time, we will take a variable-centric view. Review with your group what these two perspectives were. In each view, we imagined having to make a choice. What choices did we need to make? At this point, ask me for the next page.

Part II: Reducing 3-SAT to 3-Coloring The three colors that we use to color the nodes in the graph will be teal, fuchsia, and navy. We will imagine these colors corresponding to true, false, and null. We want the nodes and edges in the graph we construct to encode the constraints that: 1. We cannot set both x i and x i to be true; if x i is true then x i must be false, and vice versa. 2. In every clause, there must be at least one variable that is set to true. Draw a variable gadget that enforces the constraint that we cannot set both x i and x i to true. Now consider the following gadget: Connect a single copy of this gadget to all of your variable gadgets in a way that enforces the constraint that each node corresponding to a term must be set to teal (true) or fuchsia (false); we cannot set variable values to null (navy). At this point show me your work and ask me for the next page.

Part III: A Clause Gadget We have constructed a graph in which every 3-coloring corresponds to a truth assignment to the variables, and any truth assignment can be represented as a valid 3-coloring. We want it to be possible to represent a truth assignment as a valid 3-coloring only if it is a satisfying assignment. To accomplish this, we will add one gadget to our graph for each clause. Consider the following gadget, which corresponds to the clause x i xj xk : Each of the left-most nodes in the gadget has an edge to one of the terms in the corresponding clause. The teal node labeled T is the same node as the teal node in the gadget from the previous page. This is a single node that is shared among all of the clause gadgets. Show that if the clause is satisfied, then there is a valid 3-coloring of this gadget. (There are seven possible truth assignments to the three variables that satisfy the clause. You do not need to check all of the, but you should check two or three to convince yourself that this works.) Show that if the graph can be 3-colored, then there is a satisfying assignment of truth values to the variables. Do this by assuming that there is a valid 3-coloring in which all three term inputs to the gadget are colored fuchsia (false), and derive a contradiction.