Download as pdf or txt
Download as pdf or txt
You are on page 1of 10

Diskretna matematika

7. Problem trgovačkog putnika i


problem kineskog poštara

Ana Grbac [abaric@uniri.hr]

Fakultet za matematiku, Sveučilište u Rijeci

Ana Grbac Problem TP i problem KP 1 / 10


7.1. Problem trgovačkog putnika (Traveling
Salesman Problem, TSP)

Trgovački putnik ima unaprijed definirane gradove i


med̄usobne udaljenosti med̄u njima.
Mora posjetiti svaki grad točno jednom i vratiti se u početni
grad tako da ukupna duljina puta bude minimalna.
Odnosno, na potpunom težinskom grafu treba pronaći
Hamiltonov ciklus najmanje težine.
Potpun graf s n ≥ 3 vrhova je uvijek Hamiltonov, tj. sadrži
ciklus kroz sve vrhove. Problem je minimizirati težinu
Hamiltonovog ciklusa.

Ana Grbac Problem TP i problem KP 2 / 10


Rješavanje problema trgovačkog putnika

Egzaktne metode (daju točno rješenje) - pretraživanje


cjelokupnog prostora rješenja, korisne za oko 40-60 gradova.
Aproksimativne metode (daju približno rješenje) - lokalno
pretraživanje ili neki heuristički algoritam, npr. algoritam
najbližeg susjeda (eng. Nearest neighbour algorithm), pohlepni
algoritam (eng. Greedy algorithm), simulirano kaljenje,
genetički algoritam, optimizacija kolonijom mrava,
optimizacija rojem čestica i druge.

Ana Grbac Problem TP i problem KP 3 / 10


Pohlepni algoritam 1: "Najbliži susjed"
Nasumično odaberi grad, a zatim uvijek biraj najbliži od
gradova koji još nisu posjećeni. Kad su svi gradovi posjećeni,
vrati se u početni.
Rezultat ovisi o odabiru početnog grada.

Primjer 1.
Početni vrh C:
C−A−D−B−C
(udaljenost 15)

Ana Grbac Problem TP i problem KP 4 / 10


Pohlepni algoritam 1: "Najbliži susjed"
Nasumično odaberi grad, a zatim uvijek biraj najbliži od
gradova koji još nisu posjećeni. Kad su svi gradovi posjećeni,
vrati se u početni.
Rezultat ovisi o odabiru početnog grada.

Primjer 1.
Početni vrh C:
C−A−D−B−C
(udaljenost 15)
Početni vrh A:
A−D−C−B−A
(udaljenost 11)

Ana Grbac Problem TP i problem KP 5 / 10


Pohlepni algoritam 2
Biramo redom bridove najmanje težine tako da
ne biramo bridove čiji je kraj incidentan s dva već odabrana
brida (jer vrh ciklusa ne može biti incidentan s 3 brida iz
ciklusa, nego točno s 2),
ne zatvaramo ciklus dok nisu posjećeni svi vrhovi.

Primjer 2.
Bridovi poredani po težini od
najmanjeg:
AD, AB, AC, BC, CD, BD.
Biramo redom bridove: AD, AB
(AC ne smijemo jer je A incidentan
s dva već odabrana brida), BC, CD.
Hamiltonov ciklus: ABCDA,
udaljenost 11

Ana Grbac Problem TP i problem KP 6 / 10


Zadatak 1.
Pronad̄ite Hamiltonov ciklus najmanje težine na prikazanom grafu.

Ana Grbac Problem TP i problem KP 7 / 10


7.2. Problem kineskog poštara

Poštar uzima poštu u poštanskom uredu, dijeli je i vraća se u


ured.
Kod dijeljenja pošte svakom ulicom treba proći barem jednom i
pri tome prijeći što manju udaljenost.
Ulice prikazujemo bridovima, a raskršća vrhovima grafa.
Tražimo turu (zatvorena šetnja, sadrži svaki brid barem
jednom) najmanje težine (tj. optimalnu turu).
G je Eulerov ⇒ svaka Eulerova tura je optimalna (jer sadrži
svaki brid točno jednom pa je težina minimalna).
G nije Eulerov ⇒ udvostručavanjem nekih bridova prijed̄emo
na pseudograf (graf koji nije jednostavan) G0 , koji je Eulerov.
Eulerova tura na G0 je optimalna tura za G.

Ana Grbac Problem TP i problem KP 8 / 10


Problem kineskog poštara - ALGORITAM
1) Nad̄emo sve vrhove neparnog stupnja u grafu G. (Dodavat ćemo
grafu bridove tako da stupnjevi svih vrhova postanu parni, tj. da
dobijemo Eulerov graf. Moramo ih dodati tako da težina bude
minimalna.)
2) Za svaki par vrhova neparnog stupnja nad̄emo put minimalne težine
med̄u njima.
3) Uparimo sve vrhove neparnog stupnja po dva (znamo da ih ima
paran broj u svakom grafu pa to možemo), ali tako da suma težina
puteva koji spajaju parove bude minimalna.
4) Udvostručimo u G puteve minimalne težine nad̄ene u koraku 3.
Dobiveni graf je EULEROV (nema vrhova neparnog stupnja).
5) Nad̄emo Eulerovu turu novog pseudografa G0 . To je optimalna tura
na grafu G (iako nije Eulerova jer se neki bridovi ponavljaju). Kada
prelazimo višestrukim bridovima u grafu G0 , to odgovara ponovnom
prelasku preko istog odgovarajućeg brida u G.

Ana Grbac Problem TP i problem KP 9 / 10


Zadatak 2.
Nad̄ite optimalnu turu danog grafa G.

Ana Grbac Problem TP i problem KP 10 / 10

You might also like