<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Coloração de Grafos Aplicado na resolução do Sudoku</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Samuel Borges</string-name>
          <email>franca_borges@hotmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Thales Lima</string-name>
          <email>thalesaguiar21@gmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Vítor Marques</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Instituto Metrópole Digital Universidade Federal do Rio Grande do Norte (UFRN) Av. Senador Salgado Filho</institution>
          ,
          <addr-line>3000 - 59078-970 - Natal - RN -</addr-line>
          <country country="BR">Brasil</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>1986</year>
      </pub-date>
      <abstract>
        <p>This paper makes a brief historical and conceptual introduction about Graph Theory and Graph Coloring, we introduce the problem of the Sudoku puzzle and show how to solve it through Graph Coloring. For this, we have molded the problem in a Graph, using an adjacency matrix, and from a small art state review of the algorithms responsible for solving this problem, we also introduce a solution using two exact algorithms, one using Backtracking and other using the Degree Saturation for choosing the visitation order of the vertex. In the end, we show the results of the algorithms after applying them to resolutions of instances of the Sudoku and Graphs from the library of benchmarks for Graph Coloring. Resumo. Este artigo faz uma breve introdução histórica e conceitual sobre a teoria de Grafos e coloração de Grafos, introduzimos o problema do jogo Sudoku e mostramos como resolvê-lo através da coloração de grafos. Para isso, modelamos o problema em Grafo, usando matriz de adjacências, e a partir de uma pequena revisão do estado da arte dos algoritmos responsáveis por resolver esse problema, introduzimos uma solução usando dois algoritmos exatos, um usando backtracking e outro usando o Degree Saturation para escolha da ordem de visitação dos vértices. Ao final, exibimos os resultados dos algoritmos após aplicá-los a resolução de instâncias de Sudoku e Grafos de uma biblioteca de benchmarks para Coloração de Grafos.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introdução</title>
      <p>A teoria de grafos teve início com o problema das pontes de Königsberg, resolvido por
Euler [Euler 1736], já a coloração de grafos surge apenas em 1853 quando Francis
Guthrie tentou colorir o mapa da Inglaterra de tal maneira que regiões com fronteiras
em comum não recebessem a mesma cor, Guthrie percebeu que seriam necessárias
quatro cores para isso, dando origem a conjectura das quatro cores, ele estende essa
questão para toda a comunidade científica com o objetivo de saber se isso era possível a
qualquer mapa ou grafo planar. O problema de confirmar a conjectura das quatro cores
passou por Appel &amp; Haken [Appel e Haken 1997] e Arthur Cayley [Cayley 1879], mas
a sua demonstração só foi aceita por toda a comunidade científica quando Gonthier
[Gonthier 2001] a realizou. A [Figura 1] mostra um exemplo de coloração de um mapa.</p>
      <p>Neste artigo abordaremos a coloração de grafos aplicado ao problema do
Sudoku. Este trabalho está dividido em blocos, inicialmente introduziremos alguns
conceitos preliminares referentes ao Sudoku, os quais serão importantes para um melhor
acompanhamento deste texto. Posteriormente modelamos o jogo Sudoku em um
problema de coloração de grafos, em seguida apresentaremos os algoritmos
implementados para a resolução do referido problema, após introduzir os algoritmos
usados apresentaremos os testes que realizamos e traremos os resultados obtidos nesses
testes, por fim concluiremos o trabalho.</p>
      <sec id="sec-1-1">
        <title>Figura 1: O mapa dos Estados Unidos da América colorido com quatro cores.</title>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>2. Sudoku</title>
      <p>O Sudoku é um jogo do gênero puzzle (quebra-cabeça), projetado por Howard Garns
[Wikipédia], um arquiteto e construtor independente de puzzles. O jogo aparece pela
primeira vez na edição de maio de 1979 da revista Dell Pencil Puzzles and Word Games
[Wikipédia]. Sendo o Sudoku um caso particular do quadrado latino, uma construção
matemática criada pelo suíço Leonhard Euler no século XVIII [Wikipédia]. O jogo
consiste em uma grade de tamanho e blocos de tamanho , onde
e . A grade vem com alguns quadrados já preenchidos, e o objetivo é preencher
os demais com números de a sem repetir números nas linhas, colunas ou blocos. A
[Figura 2] ilustra um jogo não resolvido e uma solução.</p>
      <sec id="sec-2-1">
        <title>Figura 2. Exemplo de Sudoku 9 x 9 resolvido.</title>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>2.1. Modelando o problema de resolução com grafos</title>
      <p>Para modelar o Sudoku em um grafo podemos pensar em cada quadrado da grade como
um vértice, onde dois vértices e são adjacentes se e pertencem a mesma linha,
e pertencem a mesma coluna ou e pertencem ao mesmo bloco. Portanto,
como os vértices são adjacentes, existe uma aresta ligando cada vértice aos demais
contidos no bloco, na coluna e na linha. Veja que aplicamos a coloração de vértices, ou
seja, dois vértices adjacentes não possuem a mesma cor, porém agora as cores serão
representadas por números, assim chegamos no problema da própria. A
[Figura 3] ilustra um exemplo de uma modelagem em grafo para um Sudoku .</p>
      <p>Note que podemos modelar através de grafos simples ou hipergrafos, neste
trabalho optamos pela modelagem através de grafos simples. Por exemplo, considere
um Sudoku , cada vértice está ligado a outros vértices, pois cada vértice precisa
ter cor diferente dos vértices ligados a ele (vértices adjacentes). Nessa modelagem
teremos no total arestas, como podemos ver na [Figura 4], temos a representação
em grafos simples de um vértice ligado a todos os seus adjacentes em um Sudoku .</p>
      <sec id="sec-3-1">
        <title>Figura 3. Modelagem de um Sudoku em um grafo.</title>
        <p>
</p>
        <p>Algoritmo heurístico The
[Galinier e Hao 1998];</p>
      </sec>
      <sec id="sec-3-2">
        <title>Figura 4. Modelagem de um Sudoku em um grafo simples.</title>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>2.2. Estado da arte</title>
      <p>Apresentado e modelado o problema, introduziremos algoritmos presentes na literatura
para o referido problema, sendo estes:
</p>
      <p>
        Coloração em Largura [
        <xref ref-type="bibr" rid="ref9">dos Santos Cunha et al. 2013</xref>
        ];
Coloração em Profundidade [
        <xref ref-type="bibr" rid="ref9">dos Santos Cunha et al. 2013</xref>
        ];
      </p>
      <p>Hybrid Evolutionary Algorithm (HEA)</p>
      <p>
        Algoritmo que implementa o DSATUR em
usando o algoritmo de
        <xref ref-type="bibr" rid="ref29">Welsh e Powell [Welsh e Powell 1967</xref>
        ].
      </p>
      <p>Algoritmos de coloração de vértices usando enumeração implícita
segundo modificação do algoritmo de Sewell (1996) [Segundo 2011];

[Turner 1988]</p>
    </sec>
    <sec id="sec-5">
      <title>2.3. Algoritmo proposto</title>
      <p>
        Para este trabalho implementamos um algoritmo usando a técnica de backtracking e o
algoritmo de DSatur com backtracking [
        <xref ref-type="bibr" rid="ref17">Korman 1979</xref>
        ], que pode ser acessa
        <xref ref-type="bibr" rid="ref1 ref2 ref3 ref4 ref5 ref6 ref7">do no livro
do Lewis [Lewis 2016</xref>
        ].
      </p>
      <p>
        Os códigos a seguir exibem os algoritmos desenvolvidos para solucionar o
problema de Coloração de grafos, eles foram desenvolvidos baseados em estudos dos
algoritmos encontrados na literatura e descritos anteriormente nesta seção. Note que os
códigos nessa seção podem ser obtidos a partir do github [
        <xref ref-type="bibr" rid="ref1 ref2 ref3 ref4 ref5 ref6 ref7 ref8">de França Borges et al. 2016</xref>
        ].
      </p>
      <p>
        O primeiro código, exibido no arquivo GerarMatriz.cpp [
        <xref ref-type="bibr" rid="ref1 ref2 ref3 ref4 ref5 ref6 ref7 ref8">de França Borges et
al. 2016</xref>
        ], mostra como foi gerada a estrutura de dados utilizada para modelagem do
Sudoku em grafos, como apresentada em uma seção anterior. A representação de matriz
de adjacências foi escolhida, pois essa modelagem apresenta maior facilidade de
manipulação dos dados.
      </p>
      <p>
        O segundo, Colorir.cpp [
        <xref ref-type="bibr" rid="ref1 ref2 ref3 ref4 ref5 ref6 ref7 ref8">de França Borges et al. 2016</xref>
        ], é um algoritmo de
coloração de grafos usando backtracking. Este algoritmo busca essencialmente por uma
, onde neste caso será a ordem do Sudoku ao qual o algoritmo está
sendo aplicado. A entrada é composta de um conjunto de cores e um contador. A cada
iteração o algoritmo verifica se é possível colorir aquele vértice com uma cor existente,
caso contrário ele cria uma nova cor, e assim sucessivamente até que o número de cores
seja igual a ordem do Sudoku o qual o algoritmo foi aplicado.
      </p>
      <p>
        Por último, temos o ColorirInteligente.cpp [
        <xref ref-type="bibr" rid="ref1 ref2 ref3 ref4 ref5 ref6 ref7 ref8">de França Borges et al. 2016</xref>
        ].
Nesse algoritmo usamos backtracking com o auxílio de uma heurística parecida com a
Degree Saturarion (DSatur), anteriormente citada, e que usa a saturação de vértices para
escolha da ordem de . Entretanto, diferentemente do DSatur, em caso de
empate no grau de saturação o ColorirInteligente.cpp não desempata com base no grau
do vértice, ele apenas escolhe o primeiro vértice visitado.
      </p>
      <p>void Grafo::geraMatrizAdjacencia(){
for (unsigned int i = 0; i &lt;_numeroVertices; i++){
for(unsigned int j = 0; j &lt; _numeroVertices; j++){
if(j &gt;= (i/_ordem)*_ordem &amp;&amp; j &lt; (i/_ordem)*_ordem + _ordem)
else
_matrizAdjacencia[i][j] = true;
if(j%_ordem == i%_ordem)
_matrizAdjacencia[i][j] = true;
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
true;
19.
20.
21.
22.
23.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.</p>
      <p>}
else</p>
      <p>_matrizAdjacencia[i][j] = false;</p>
      <p>GerarMatriz.cpp
bool Grafo::grafoColorindoAuxiliar(unsigned int color[], unsigned int contador){
if(contador == _numeroVertices)</p>
      <p>return true;
if(color[contador]) {
if(grafoColorindoAuxiliar(color, contador +1))</p>
      <p>return true;
else</p>
      <p>Colorir.cpp
1. bool Grafo::grafoColorindoAuxiliar(unsigned int color[], unsigned int contador, int
saturacao[]){
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.</p>
      <p>if(grafoColorindoAuxiliar(color, contador +1, saturacao))
if(!saturacaoCheia(saturacao))</p>
      <p>return true;
int cor = getSaturacaoMaior(saturacao, color);
if(color[cor]){
}
saturacao[cor] = -1;
else
return true;</p>
    </sec>
    <sec id="sec-6">
      <title>3. Testes e resultados computacionais</title>
      <p>Realizamos vários experimentos com os algoritmos implementados, todos os
exemplares foram executados no mesmo computador possuindo como especificação
técnica 8 GB de memória RAM e processador i5 4420 x64. Inicialmente vamos mostrar
os resultados referentes aos algoritmos aplicados em exemplos de Sudoku,
posteriormente em problemas de coloração de grafos em geral. Vale notar que
Algoritmo 1 corresponde ao Colorindo.cpp e o Algoritmo2 corresponde ao</p>
    </sec>
    <sec id="sec-7">
      <title>ColorindoInteligente.cpp.</title>
      <p>O experimento com exemplos do jogo foi realizado para diversos níveis do
puzzle: , e . Todos os exemplares de Sudokus foram retirados do
[sudoku download].</p>
      <p>Para o Sudoku , realizamos experimentos para 4 (quatro) níveis de
dificuldades, sendo eles fácil, médio, difícil e muito difícil. Para cada nível de
dificuldade realizamos experimentos com 5 (cinco) Sudokus diferentes, sendo sempre
as cinco primeiras configurações obtidas a partir do [sudoku download(fácil 9x9)] para
o fácil, [sudoku download(médio 9x9)] para o médio , [sudoku download(difícil 9x9)]
para o difícil e [sudoku download(muito difícil 9x9)] para o muito difícil.</p>
      <sec id="sec-7-1">
        <title>Tabela 1. Sudoku</title>
        <p>Dificuldade
Muito difícil
Difícil
Médio
Fácil</p>
        <p>Para o Sudoku 16 × 16, realizamos experimentos para dois níveis de
dificuldades, sendo eles fácil e médio. Em cada nível de dificuldade realizamos
experimentos com 5 (cinco) Sudokus diferentes, sendo sempre as cinco primeiras
configurações obtidas à partir de [sudoku-download (fácil 16x16) ] para o fácil e de
[sudoku-download (médio 16x16) ] para o médio.</p>
      </sec>
      <sec id="sec-7-2">
        <title>Tabela 2. Sudoku</title>
        <p>Dificuldade Algoritmo 1 - Tempo médio(s) Algoritmo 2 - Tempo médio(s)
Médio 0,2715000 0,1072125
Fácil 0,0618132 1,3481394</p>
        <p>Para o nível de dificuldade 25 × 25, realizamos um experimento com 5 (cinco)
configurações diferentes do jogo, sendo sempre as cinco primeiras configurações
obtidas à partir de [sudoku-download (25x25) ].</p>
      </sec>
      <sec id="sec-7-3">
        <title>Tabela 3. Sudoku</title>
        <p>Algoritmo 1 - Tempo médio(s)
9702</p>
        <p>Algoritmo 2 - Tempo médio(s)
46,3352</p>
        <p>Realizamos 24 testes com a biblioteca de benchmark [d’Angers a] [Harrisburg a]
[Trick’s a], cada arquivo de testes seguiu o padrão do DIMACS [library]. Todos os
resultados obtidos estão representados na Tabela 4 e cada caso de teste pode ser obtido</p>
      </sec>
      <sec id="sec-7-4">
        <title>Tabela 4. Biblioteca e benchmark</title>
        <p>Teste N° Vértices
Algoritmo1: Tempo - N° Cores
Algoritmo2: Tempo - N° Cores
Arestas
812
755
2940
1276
986
2360
21695
9757
16680
16750
17343
43081
43571
49629
245000
245830
246708
249826
449449
7844
9695
103368
12506
212400
0,00004800 - 12 cores
0,00004200 - 7 cores
0,00012000 - 16 cores
0,00009780 - 9 cores
0,00008721 - 12 cores
0,00013100 - 8 cores
0,00258300 - 46 cores
0,00157900 - 18 cores
0,00264300 - 30 cores
0,00256700 - 31 cores
0,00321900 - 37 cores
0,02045700 - 64 cores
0,02097800 - 64 cores
0,01199100 - 31 cores
0,09307500 - 126 cores
0,09129700 - 125 cores
0,09105600 - 125 cores
0,09766900 - 127 cores
0,13832000 - 321 cores
0,00620100 - 9 cores
0,00577200 - 6 cores
0,06986000 - 71 cores
0,01480600 - 10 cores
0,34072400 - 64 cores
0,001083 - 11 cores
0,001544 - 7 cores
0,002385 - 18 cores
0,002918 - 9 cores
0,003521 - 11 cores
0,011264 - 8 cores
0,126372 - 47 cores
0,157006 - 14 cores
0,194018 - 26 cores
0,193605 - 27 cores
0,191473 - 31 cores
1,236080 - 51 cores
1.361720 - 52 cores
1,751020 - 30 cores
4,596730 - 124 cores
4,633350 - 124 cores
4,662440 - 127 cores
4,611470 - 125 cores
2,952710 - 322 cores
2,116580 - 8 cores
3,255740 - 6 cores
8,548540 - 49 cores
8,121110 - 10 cores
56,42770 - 64 cores
nas referências.</p>
      </sec>
    </sec>
    <sec id="sec-8">
      <title>4. Conclusão</title>
      <p>Neste trabalho, introduzimos de forma simples o conceito e história dos grafos e
coloração de grafos, abordamos o problema do jogo Sudoku, fizemos uma sucinta
revisão da literatura e exibimos algoritmos que resolvem o problema, tornando esse
trabalho uma boa fonte de estudo para quem deseja iniciar o estudo de grafos voltado
para o Sudoku, reproduzir experimentos já realizados e comparar resultados.</p>
      <p>
        Além disso, realizamos vários testes de verificação para os algoritmos
apresentados, resultando em análises desses códigos com relação aos tempos de
resolução do problema. A partir dos dados coletados podemos concluir que, ao
comparar o Algoritmo1 ao Algoritmo2 eles apresentaram resultados diferentes em
alguns casos. Note que, o Algoritmo2 apresentou melhores resultados para resolução de
Sudokus mais complexos, enquanto o Algoritmo1 acabou sendo mais rápido para
problemas de coloração em Grafos Simples os quais não foram modelados a partir de
Sudokus e para Sudokus mais simples.
Figura 1.http://conteudo.icmc.usp.br/pessoas/sandra/2/MapaEUA.jpg. Accesse
        <xref ref-type="bibr" rid="ref1 ref2 ref3 ref4 ref5 ref6 ref7">d:
2016</xref>
        04-17.
      </p>
      <p>
        Figura 2. http://jogadamais.blogspot.com.br/2013_11_01_archive.html. Accesse
        <xref ref-type="bibr" rid="ref1 ref2 ref3 ref4 ref5 ref6 ref7">d:
2016</xref>
        04-17.
      </p>
      <p>
        Figura 3. http://www.rhydlewis.eu/images/su
        <xref ref-type="bibr" rid="ref1 ref2 ref3 ref4 ref5 ref6 ref7">doku.gif. Accessed: 2016</xref>
        -04-17.
Figura 4. http://vigusmao.github.io/manuscripts/su
        <xref ref-type="bibr" rid="ref1 ref2 ref3 ref4 ref5 ref6 ref7">doku.pdf. Accessed: 2016</xref>
        -04-17.
Appel, K. e Haken, W. (1997). Every planar map is four-colorable.
      </p>
      <p>Cayley, A. (1879). On the colourings of maps.
da Costa e Thiago de Melo, P. P. (2008). Dissertação: Teoria de grafos e suas aplicações.
d’Angers, D. I. U. Benchmark graph coloring.</p>
      <p>
        angers.fr/pub/porumbel/graphs/. Accesse
        <xref ref-type="bibr" rid="ref1 ref2 ref3 ref4 ref5 ref6 ref7">d: 2016</xref>
        -05-17.
http://www.info.univ
      </p>
      <p>Euler, L. (1736). Solutio problematis ad geometriam situs pertinentis.</p>
      <p>Galinier, P. e Hao, J.-K. (1998). Hybrid evolutionary algorithms for graph coloring.
Goldbarg, M. e Goldbarg, E. (2011). Grafos Conceitos, algoritmos e aplicações.
Elsevier.</p>
      <p>Gonthier, G. (2011). Formal proof—the four-color theorem.</p>
      <p>
        Harrisburg, P. S. Benchmark graph coloring. https://turing.cs.hbg.psu.edu/txn131/
file_instances/coloring/graph_color/. Accesse
        <xref ref-type="bibr" rid="ref1 ref2 ref3 ref4 ref5 ref6 ref7">d: 2016</xref>
        -05-17.
ger.
      </p>
      <p>
        Lewis, R. M. R. (2016). A Guide to Graph Colouring, algorithms and aplications.
Sprinlibrary, B. https://sites.google.com/site/graphcoloring/. Accesse
        <xref ref-type="bibr" rid="ref1 ref2 ref3 ref4 ref5 ref6 ref7">d: 2016</xref>
        -05-30.
Segundo, P. S. (2011). A new dsatur-based algorithm for exact vértex coloring.
Sloane, N. J. A. (2005). Number of inequivalent (completed) n² x n² sudokus (or
sudokus).
sudoku download. http://www.su
        <xref ref-type="bibr" rid="ref1 ref2 ref3 ref4 ref5 ref6 ref7">doku-download.net/. Accessed: 2016</xref>
        -05-30.
sudoku-download (25x25). Sudoku 25x25. http://www.sudoku-download.net/files/
12_Sudokus_25x25_Easy.p
        <xref ref-type="bibr" rid="ref1 ref2 ref3 ref4 ref5 ref6 ref7">df. Accessed: 2016</xref>
        -05-30.
sudoku-download (difícil 9x9). Sudoku 9x9, dificuldade difícil.
http://www.sudokudownload.net/ files/60_Sudokus_New_
        <xref ref-type="bibr" rid="ref1 ref2 ref3 ref4 ref5 ref6 ref7">Difficult.pdf. Accessed: 2016</xref>
        -05-30.
sudoku-download (fácil 16x16). Sudoku 16x16, dificuldade fácil.
http://www.sudokudownload.net/files/24_Sudokus_16x16_Easy.p
        <xref ref-type="bibr" rid="ref1 ref2 ref3 ref4 ref5 ref6 ref7">df. Accessed: 2016</xref>
        -05-30.
sudoku-download (fácil 9x9). Sudoku 9x9, dificuldade fácil.
http://www.sudokudownload.net/files/60_Su
        <xref ref-type="bibr" rid="ref1 ref2 ref3 ref4 ref5 ref6 ref7">dokus_New_Easy.pdf. Accessed: 2016</xref>
        -05-30.
sudoku-download (muito difícil 9x9). Sudoku 9x9, dificuldade muito difícil.
http://www.sudoku-download.net/files/30_Sudokus_Very_
        <xref ref-type="bibr" rid="ref1 ref2 ref3 ref4 ref5 ref6 ref7">Difficult.pdf. Accessed:
2016</xref>
        -05-30.
sudoku-download (médio 16x16). Sudoku 16x16, dificuldade média.
http://www.sudoku-download.net/files/24_Sudokus_16x16_Me
        <xref ref-type="bibr" rid="ref1 ref2 ref3 ref4 ref5 ref6 ref7">dium.pdf. Accessed:
2016</xref>
        -05-30.
sudoku-download (médio 9x9). Sudoku 9x9, dificuldade média.
http://www.sudokudownload.net/files/60_Sudokus_New_Me
        <xref ref-type="bibr" rid="ref1 ref2 ref3 ref4 ref5 ref6 ref7">dium.pdf. Accessed: 2016</xref>
        -05-30.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <string-name>
            <surname>d'Angers</surname>
            ,
            <given-names>D. I. U</given-names>
          </string-name>
          . Teste de número 14º . http://www.info.univ-angers.fr/pub/porumbel /graphs/dsjc1000.1.col. Accessed:
          <fpage>2016</fpage>
          -05-17.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <surname>d'Angers</surname>
            ,
            <given-names>D. I. U</given-names>
          </string-name>
          . Teste de número 15ª . http://www.info.univ-angers.fr/pub/porumbel/ graphs/flat1000_50_0.col. Accessed:
          <fpage>2016</fpage>
          -05-17.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <surname>d'Angers</surname>
            ,
            <given-names>D. I. U</given-names>
          </string-name>
          . Teste de número 16ª . http://www.info.univ-angers.fr/pub/porumbel/ graphs/flat1000_60_0.col. Accessed:
          <fpage>2016</fpage>
          -05-17.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <surname>d'Angers</surname>
            ,
            <given-names>D. I. U</given-names>
          </string-name>
          . Teste de número 17ª . http://www.info.univ-angers.fr/pub/porumbel/ graphs/flat1000_76_0.col. Accessed:
          <fpage>2016</fpage>
          -05-17.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <string-name>
            <surname>d'Angers</surname>
            ,
            <given-names>D. I. U</given-names>
          </string-name>
          . Teste de número 18ª. http://www.info.univ-angers.fr/pub/porumbel /graphs/dsjc1000.5.col. Accessed:
          <fpage>2016</fpage>
          -05-17.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <string-name>
            <surname>d'Angers</surname>
            ,
            <given-names>D. I. U</given-names>
          </string-name>
          . Teste de número 19ª. http://www.info.univ-angers.fr/pub/porumbel /graphs/dsjc1000.9.col. Accessed:
          <fpage>2016</fpage>
          -05-17.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <string-name>
            <surname>d'Angers</surname>
            ,
            <given-names>D. I. U</given-names>
          </string-name>
          . Teste de número 7ª . http://www.info.univ-angers.fr/pub/porumbel /graphs/flat300_28_0.col. Accessed:
          <fpage>2016</fpage>
          -05-17.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <string-name>
            <surname>de França Borges</surname>
            ,
            <given-names>S. N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>de Lima</surname>
            , T. A., e de Godeiro Marques,
            <given-names>V.</given-names>
          </string-name>
          (
          <year>2016</year>
          ). Implementação de algoritmos de coloração de grafos aplicados ao sudoku. https://github.com/thalesaguiar21/GraphColouring. Accessed:
          <fpage>2016</fpage>
          -05-30.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <string-name>
            <surname>dos Santos Cunha</surname>
          </string-name>
          , N.,
          <string-name>
            <surname>da Silva</surname>
            , T. G., e Jr,
            <given-names>P. D. M.</given-names>
          </string-name>
          (
          <year>2013</year>
          ).
          <article-title>Técnicas de coloração de grafos aplicadas à resolução de quebra-cabeças do tipo sudoku</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          <string-name>
            <surname>Harrisburg</surname>
          </string-name>
          , P. S. Teste de número 12ª. https://turing.cs.hbg.psu.edu/txn131 /file_instances/coloring/graph_color/wap05a.col. Accessed:
          <fpage>2016</fpage>
          -05-17.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          <string-name>
            <surname>Harrisburg</surname>
          </string-name>
          , P. S. Teste de número 13ª. https://turing.cs.hbg.psu.edu/txn131/ file_instances /coloring/graph_color/wap06a.col. Accessed:
          <fpage>2016</fpage>
          -05-17.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          <string-name>
            <surname>Harrisburg</surname>
          </string-name>
          , P. S. Teste de número 20ª . https://turing.cs.hbg.psu.edu/txn131 /file_instances/coloring/graph_color/ash608GPIA.col. Accessed:
          <fpage>2016</fpage>
          -05-17.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          <string-name>
            <surname>Harrisburg</surname>
          </string-name>
          , P. S. Teste de número 21º. https://turing.cs.hbg.psu.edu/txn131/ file_instances/ coloring/graph_color/3-Insertions_5.col. Accessed:
          <fpage>2016</fpage>
          -05-17.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          <string-name>
            <surname>Harrisburg</surname>
          </string-name>
          , P. S. Teste de número 22º. https://turing.cs.hbg.psu.edu/txn131/ file_instances/ coloring/graph_color/wap07a.col. Accessed:
          <fpage>2016</fpage>
          -05-17.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          <string-name>
            <surname>Harrisburg</surname>
          </string-name>
          , P. S. Teste de número 23º . https://turing.cs.hbg.psu.edu/txn131/ file_instances/ coloring/graph_color/ash958GPIA.col. Accessed:
          <fpage>2016</fpage>
          -05-17.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          <string-name>
            <surname>Harrisburg</surname>
          </string-name>
          , P. S. Teste de número 24º . https://turing.cs.hbg.psu.edu/txn131/ file_instances/ coloring/graph_color/qg.order60.col. Accessed:
          <fpage>2016</fpage>
          -05-17.
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          <string-name>
            <surname>Korman</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          (
          <year>1979</year>
          ).
          <article-title>Combinatorial optimization</article-title>
          .
          <source>chapter 8</source>
          , pages
          <fpage>211</fpage>
          -
          <lpage>235</lpage>
          . Wiley, New Trick's,
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>Benchmark graph coloring</article-title>
          . http://mat.gsia.cmu.edu/COLOR/instances/. Accessed:
          <fpage>2016</fpage>
          -05-17.
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          <string-name>
            <surname>Trick's</surname>
          </string-name>
          , M. Teste de número 10ª.
          <source>le450_15d.col. Accessed: 2016-05-30.</source>
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          http://mat.gsia.cmu.edu/COLOR/instances/ Trick's, M. Teste de número 11ª . http://mat.gsia.cmu.edu/COLOR/instances/ le450_25c.col. Accessed:
          <fpage>2016</fpage>
          -05-30.
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          <string-name>
            <surname>Trick's</surname>
          </string-name>
          , M. Teste de número 1ª . http://mat.gsia.cmu.edu/COLOR/instances/david.col. Accessed:
          <fpage>2016</fpage>
          -05-30.
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          <string-name>
            <surname>Trick's</surname>
          </string-name>
          , M. Teste de número 2ª . http://mat.gsia.cmu.edu/COLOR/instances/ myciel6.col. Accessed:
          <fpage>2016</fpage>
          -05-30.
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          <string-name>
            <surname>Trick's</surname>
          </string-name>
          , M. Teste de número 3ª . http://mat.gsia.cmu.edu/COLOR/instances/ queen10_
          <fpage>10</fpage>
          .col. Accessed:
          <fpage>2016</fpage>
          -05-30.
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          <string-name>
            <surname>Trick's</surname>
          </string-name>
          , M. Teste de número 4ª.
          <source>games120.col. Accessed: 2016-05-30.</source>
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          http://mat.gsia.cmu.edu/COLOR/instances/ Trick's, M. Teste de número 5ª . http://mat.gsia.cmu.edu/COLOR/instances/anna.col. Accessed:
          <fpage>2016</fpage>
          -05-30.
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          <string-name>
            <surname>Trick's</surname>
          </string-name>
          , M. Teste de número 6ª. http://mat.gsia.cmu.edu/COLOR/instances/myciel7.col. Accessed:
          <fpage>2016</fpage>
          -05-30.
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          <string-name>
            <surname>Trick's</surname>
          </string-name>
          , M. Teste de número /le450_5d.col. Accessed:
          <fpage>2016</fpage>
          -05-30.
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          <string-name>
            <surname>Trick's</surname>
          </string-name>
          , M. Teste de número 9ª.
          <source>/le450_15c.col. Accessed: 2016-05-30.</source>
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          http://mat.gsia.cmu.edu/COLOR/instances http://mat.gsia.cmu.edu/COLOR/instances Turner,
          <string-name>
            <surname>J. S.</surname>
          </string-name>
          (
          <year>1988</year>
          ).
          <article-title>Almost all k-colorable graphs are easy to color</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          <string-name>
            <surname>Welsh</surname>
            ,
            <given-names>J. A. e</given-names>
          </string-name>
          <string-name>
            <surname>Powell</surname>
            ,
            <given-names>M. B.</given-names>
          </string-name>
          (
          <year>1967</year>
          ).
          <article-title>An upper bound for the chromatic number of a graph and its application to timetabling problems</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          <string-name>
            <surname>Wikipedia</surname>
          </string-name>
          . Sudoku. https://pt.wikipedia.org/wiki/Sudoku. Accessed:
          <fpage>2016</fpage>
          -04-17.
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          <string-name>
            <surname>YATO</surname>
          </string-name>
          , T. e SETA,
          <string-name>
            <surname>T.</surname>
          </string-name>
          (
          <year>2002</year>
          ).
          <article-title>Complexity and completeness of finding another solution and its application to puzzles</article-title>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>