Math for Liberal Studies Section 1.7: Coloring Graphs Maps and Colors Take a look at this map of the US Maps and Colors We can color in the states like this

Maps and Colors This is a proper coloring because no two bordering states are the same color Maps and Colors This coloring uses 6 colors; is it possible to color the map with fewer colors?

Two Colors? Can we use only two colors? Lets zoom in on a portion of the map Two Colors? We need to choose a color for Pennsylvania, say blue

Two Colors? Since New York borders PA, we cant use blue for NY, so we need a second color, say red Two Colors? But now New Jersey borders a blue state and

a red state, so it cant be red or blue We need a third color Three Colors? Are three colors enough? Lets look at another part of our US map

Three Colors? Lets start by coloring Nevada blue Now none of the states that border Nevada can be blue Three Colors?

So California needs to be a different color, lets say green Three Colors? Since Oregon and Arizona both border Nevada and California, these states

cannot be blue or green But since they dont border each other, they can be the same color, lets say red Three Colors? What about Idaho and Utah? Neither state can be blue

or red One of them could be green, but since they border each other, they cant both be green We need a 4th color! Four Colors!? It turns out four colors are enough to color

the entire map properly In fact, for any possible map, four colors will always be enough Finding a proper coloring that uses the minimum number of colors can be very difficult

Using Graphs to Color We can use graphs to model the coloring problem Using Graphs to Color Each vertex represents a state (or region on the map we want to color) We connect two vertices

with an edge if the two regions share a border Using Graphs to Color We want to color the vertices so that if two vertices have an edge between them, they are different colors

A Greedy Algorithm With a greedy algorithm, we choose some order in which to solve our problem At each step, we make the best choice we can at the time

We dont go back and change our minds A Greedy Algorithm In this case, well put the vertices in alphabetical order We have some colors we

want to use, lets say: Color #1 is blue Color #2 is green Color #3 is red Color #4 is orange A Greedy Algorithm In order, we color each vertex with the lowest numbered color we can,

following the coloring rules We only use a new color if we have to Using the Greedy Algorithm Lets start The first vertex is CT Using the Greedy Algorithm

Lets start The first vertex is CT We color it using our first color, blue If you dont have colored pens, just label the vertex with the color number (1)

Using the Greedy Algorithm Next is DE Using the Greedy Algorithm Next is DE Since DE doesnt border any vertices we have colored yet, it can be blue also

Using the Greedy Algorithm Next is ME (Maine) Using the Greedy Algorithm Next is ME (Maine), which can also be colored blue Using the Greedy Algorithm

Next is MA (Massachusetts) Using the Greedy Algorithm Next is MA (Massachusetts) Since MA is connected by an edge to a blue vertex, it cant be blue So we have use our #2

color, green Using the Greedy Algorithm Next is NH Using the Greedy Algorithm Next is NH NH borders blue and green states

So we have to use color #3: red Using the Greedy Algorithm Up next is NJ Using the Greedy Algorithm Up next is NJ NJ borders a blue state,

so we use color #2: green We could use color #3, but according to the algorithm, we use the lowest numbered color we can Using the Greedy Algorithm

Next is NY Using the Greedy Algorithm Next is NY NY borders blue and green states, but no red states So we can use red for NY Using the Greedy Algorithm

Next up is Pennsylvania Using the Greedy Algorithm Next up is Pennsylvania Since PA is connected to vertices colored with colors 1, 2, and 3, we must use color #4

Using the Greedy Algorithm Next is Rhode Island Using the Greedy Algorithm Next is Rhode Island RI borders colors 1 and 2, so we use color #3 Using the Greedy Algorithm

Finally we have Vermont Using the Greedy Algorithm Finally we have Vermont Vermont only borders colors 2 and 3, so we can use color #1 We have finished our

coloring with 4 colors Using the Greedy Algorithm This graph coloring gives us a map coloring, and we could use this method for the whole US map Not the Best Answer The greedy algorithm is easy to use, but it

doesnt always give the best answer The Greedy Coloring Algorithm 1. Choose an order for the vertices. 2.

Choose a list of colors, also in some order. 3. In order, color each vertex using the first legal color on the list, making sure that no two adjacent vertices are the same color. 4.

Continue in this way until each vertex is colored. Application: Scheduling Suppose you are in charge of assigning rooms for a small convention There are several events occurring, and each event needs its own room We can use the same room for two different

events as long as the times do not overlap Application: Scheduling For example, suppose we have 10 events A. 3:30pm 4:30pm F. 3pm 4pm B. 1pm 3pm

G. 4:30pm 6:30pm C. 5pm 7pm H. 7:30pm 9pm D. 4:30pm 5pm I. 2pm 6pm

E. 1:30pm 2:30pm J. 5pm 8pm How many rooms do we need? Application: Scheduling For example, suppose we have 10 events A. 3:30pm 4:30pm

F. 3pm 4pm B. 1pm 3pm G. 4:30pm 6:30pm C. 5pm 7pm H. 7:30pm 9pm

D. 4:30pm 5pm I. 2pm 6pm E. 1:30pm 2:30pm J. 5pm 8pm We can draw a graph to represent this

problem: each vertex represents an event, and two events are connected if they overlap Application: Scheduling A. 3:30pm 4:30pm F. 3pm 4pm B. 1pm 3pm

G. 4:30pm 6:30pm C. 5pm 7pm H. 7:30pm 9pm D. 4:30pm 5pm I. 2pm 6pm

E. 1:30pm 2:30pm J. 5pm 8pm Our graph might look something like this

Application: Scheduling A. 3:30pm 4:30pm F. 3pm 4pm B. 1pm 3pm G. 4:30pm 6:30pm C. 5pm 7pm

H. 7:30pm 9pm D. 4:30pm 5pm I. 2pm 6pm E. 1:30pm 2:30pm J. 5pm 8pm

If we properly color the graph, then each color represents a room Application: Bandwidth Allocation As another application, consider how

broadcast signals work The signals sent by radio and TV towers use different frequencies When you change the frequency on your radio, you change which station you are listening to

Application: Bandwidth Allocation If you drive your car in a particular direction, eventually you will get too far from the broadcast tower for the station you are listening to, and the station will fade out However, you may eventually get closer to another tower using the same frequency, and you will pick up a different station

Application: Bandwidth Allocation Different stations are allowed to use the same frequency as long as they are far enough apart Cell phone broadcast towers use the same principle

Application: Bandwidth Allocation This map shows the location of the cell phone broadcast towers in the Shippensburg area There is a radius around each tower that represents its broadcast area

Application: Bandwidth Allocation We will use a graph to represent this problem Each tower will be represented by a vertex Two towers are connected if their areas overlap

Application: Bandwidth Allocation Our graph looks something like this When we properly color this graph, we will be making sure that two towers that are too close to each other get different

colors Application: Bandwidth Allocation So each color represents a bandwidth that the tower can use If we color this graph Application: Bandwidth Allocation So each color represents a bandwidth that the

tower can use If we color this graph we see that we would need 4 frequencies Application: Sudoku You may have seen Sudoku puzzles before There is a 9x9 grid,

and each square should be filled in with a number from 1 to 9 so that each column, each row, and each 3x3 subsquare contains 1 through 9 exactly once

Application: Sudoku We can represent this puzzle with a graph Each of the 81 squares is a vertex We connect each to the squares that must contain different numbers

Application: Sudoku For example, the square labeled X must have a different number than the 20 shaded squares When we color our graph with 9 colors,

we will have solved the puzzle Partial Coloring A coloring problem that comes from a Sudoku puzzle is an example of a partial coloring Some of the vertices

are already colored We have to determine how to color the rest Partial Coloring For example, this graph is partially colored We could use the greedy coloring

algorithm or some other method to finish the coloring How Many Colors? The problem of figuring out how many colors are needed to properly color a map has been studied for hundreds of years It was long thought that only 4 colors are ever

needed This was finally proved in 1976 with the aid of computers How Many Colors? We can consider the graph coloring problem for many different types of graphs, not just

ones that come from maps In general, more than 4 colors might be needed if the graph doesnt come from a two-dimensional map How Many Colors? We want to find the chromatic number for a

graph, which is the smallest number of colors needed to properly color the vertices of the graph In general, this can be a very difficult problem, but there are ways to narrow the possibilities Using the Greedy Algorithm When we use the greedy algorithm, we only

need a new color when we reach a vertex that is adjacent to vertices of all the colors we already have In the worst case, the vertex with the highest degree might be this kind of vertex Using the Greedy Algorithm

In this example, our vertex has degree 5, and would force us to use a 6th color But this is the worst case So that tells us that our chromatic number can be at most equal to 1 + the highest degree in the graph

Using Cliques A clique in a graph is a collection of vertices that are all mutually adjacent to each other A clique is a complete graph inside of the larger graph Using Cliques

A clique in a graph is a collection of vertices that are all mutually adjacent to each other Each vertex in a clique must be given a different color Using Cliques If we look for the biggest clique in a graph,

that tells us we need at least that many colors What is the biggest clique in this graph? Using Cliques The biggest clique in this graph has 4 vertices That tells us that we will need at least 4 colors to properly color this graph

Upper and Lower Bounds The two principles we have just discussed give us upper and lower bounds on the chromatic number Size of the largest clique

Chromatic number 1 + highest degree in the graph However, finding the exact chromatic number

can still be quite difficult