title: Graph coloring Algorithm
body: <p>From wiki  <a href="http://en.wikipedia.org/wiki/Graph_coloring" rel="noreferrer">http://en.wikipedia.org/wiki/Graph_coloring</a></p>
  
  <blockquote>
    <p>In its simplest form, it is a way of
    coloring the vertices of a graph such
    that no two adjacent vertices share
    the same color; this is called a
    vertex coloring. Similarly, an edge
    coloring assigns a color to each edge
    so that no two adjacent edges share
    the same color, and a face coloring of
    a planar graph assigns a color to each
    face or region so that no two faces
    that share a boundary have the same
    color.</p>
  </blockquote>
  
  <p><strong>Given 'n' colors and 'm' vertices, how easily can a graph coloring
  algorithm be implemented in a programming language?</strong></p>
  
  <p>Language no barrier.  </p>
  
  <p>Just a brain teaser.  </p>
  
  <p>(Assume Graph and vertex objects exist) </p>
  
  <p>Edit:<br>
  After reading wiki , the problem is <strong>NP-complete</strong><br>
  Time to revisit maths books :)<br>
  <strong><em>my bad.<br>
  sorry.</em></strong>  </p>
  
  <p>Just curious,<br>
  Has this been tried ? as in writing programs for same?<br>
  I heard that this is used in optical networks?</p>
  
  <p>Isn't this similar to cube coloring??<br>
  (minimum number of colors to color faces of cube so that no two sides share the same color?)    </p>