Usuari:Jordiventura96/proves/Algorisme de Christofides
Aquesta és una pàgina de proves de Jordiventura96. Es troba en subpàgines de la mateixa pàgina d'usuari. Serveix per a fer proves o desar provisionalment pàgines que estan sent desenvolupades per l'usuari. No és un article enciclopèdic. També podeu crear la vostra pàgina de proves.
Vegeu Viquipèdia:Sobre les proves per a més informació, i altres subpàgines d'aquest usuari |
En teoria de grafs, l'algorisme de Christofides és un algorisme que serveix per resoldre el problema del viatjant de comerç, en el cas en què les distàncies formen un espai mètric (són simètriques i compleixen la desigualtat triangular).[1] Es tracta d'un algorisme d'aproximació que garanteix que les seves solucions es trobaran en un factor màxim de 3/2 respecte la distància total de la solució òptima. i rep el nom de Nicos Christofides, que el va publicar el 1976.[2] A data de 2015, és el millor ratio d'aproximació que s'ha demostrat pel problema del viatjant de comerç en espais mètrics generals, tot i que es coneixen millors aproximacions per a alguns casos particulars.
Algorisme
[modifica]Sigui G = (V,w) un exemple del problema del viatjant de comerç. Això vol dir que G és un graf complet del conjunt V de vèrtexs, i la funció w assigna un pes real no negatiu a cada aresta de G. Segons la desigualtat triangular, per a cada tres vèrtexs u, v, i x, s'ha de complir que w(uv) + w(vx) ≥ w(ux).
Llavors l'algorisme es pot escriure en pseudocodi com segueix:[1]
- Crear un arbre generador mínim T de G.
- Sigui O el conjunt de vèrtexs amb grau senar a T. A través del lema de l'encaixada de mans, O té un nombre parell de vèrtexs.
- Trobar un aparellament perfecte de pes mínim M en el subgraf induït a partir dels vèrtexs de O.
- Combinar les arestes de M i {mvar|T}} per formar un multigraf connex H en què cada vèrtex té un grau parell.
- Formar un camí eulerià a H.
- Convertir el circuit trobat en el pas previ en un camí hamiltonià saltant vèrtexs repetits (fent dreceres).
Exemple
[modifica]La següent taula mostra un exemple d'us de l'algorisme de Christofides:
Referències
[modifica]- ↑ 1,0 1,1 Goodrich, Michael T. & Tamassia, Roberto (2015), "18.1.2 The Christofides Approximation Algorithm", Algorithm Design and Applications, Wiley, pàg. 513–514.
- ↑ Nicos Christofides, Worst-case analysis of a new heuristic for the travelling salesman problem, Report 388, Graduate School of Industrial Administration, CMU, 1976.