LINTASAN TERPENDEK DENGAN ADANYA
LINTASAN TERLARANG
TESIS
Oleh
NENNA IRSA SYAHPUTRI 097021078/MT
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
LINTASAN TERPENDEK DENGAN ADANYA
LINTASAN TERLARANG
T E S I S
Diajukan Sebagai Salah Satu Syarat
untuk Memperoleh Gelar Magister Sains dalam Program Studi Magister Matematika pada Fakultas Matematika dan Ilmu Pengetahuan Alam
Universitas Sumatera Utara
Oleh
NENNA IRSA SYAHPUTRI 097021078/MT
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
Judul Tesis : LINTASAN TERPENDEK DENGAN ADANYA LINTASAN TERLARANG
Nama Mahasiswa : Nenna Irsa Syahputri Nomor Pokok : 097021078
Program Studi : Matematika
Menyetujui, Komisi Pembimbing
(Dr. Saib Suwilo, M.Sc) (Dr. Marwan Ramli, M.Si)
Ketua Anggota
Ketua Program Studi Dekan
(Prof. Dr. Herman Mawengkang) (Dr. Sutarman, M.Sc)
Telah diuji pada
Tanggal 19 Januari 2012
PANITIA PENGUJI TESIS
Ketua : Dr. Saib Suwilo, M.Sc
ABSTRAK
Masalah lintasan terpendek dapat diselesaikan dengan beberapa algoritma seper-ti algoritma Warshall, algoritma Dijkstra, algoritma Greedy, algoritma Bellman. Lintasan Terpendek juga dapat diselesaikan dengan adanya kendala samping-an yaitu dengsamping-an adsamping-anya lintassamping-an terlarsamping-ang. Diberiksamping-an sebuah graf berbobot G, verteks-vertekss dan t, dan sebuah himpunan X (exception) sebagai lintasan ter-larang diG, pencarian lintasan terpendekP dari s−tsehingga tidak ada lintasan bagian dariP yang mengandung X. LintasanP dijinkan mengulang tiap verteks dan edgesnya.
ABSTRACT
The Shortest path Problem can be solved with several algorithms such as Warshall’s Algorithm, Dijkstra’s Algorithm, Greedy’s Algorithm, Bellman’s Algorithm. The Shortest path can also be solved with the side constraint is the presence of
for-bidden path. Given a weighted graph G and vertices s and t, and given a set X
(exception) of forbidden paths in G, find a shortests−t path P such that no path
in X is a subpath of P. Path P is allowed to repeat vertices and edges.
KATA PENGANTAR
Puji dan syukur penulis mengucapkan puji syukur ke hadirat Allah SWT yang telah melimpahkan rahmat, hidayah, dan karunia-Nya, sehingga penulis dapat menyelesaikan tesis dengan judul: LINTASAN TERPENDEK DENGAN ADANYA LINTASAN TERLARANG. Tesis ini merupakan salah satu syarat un-tuk menyelesaikan studi pada Program Studi Magister Matematika Universitas Sumatera Utara.
Penulis menyadari bahwa terselesaikannya Tesis ini tidak lepas dari bantuan dan dukungan dari berbagai pihak. Oleh karena itu, dengan segala kerendahan hati penulis menyampaikan terimakasih sebesar-besarnya kepada :
Prof. Dr. dr. Syahril Pasaribu, DTMH, M.Sc(CTM), Sp.A(K) selaku Rektor Universitas Sumatera Utara
Dr. Sutarman, M.Sc selaku Dekan FMIPA Universitas Sumatera Utara yang telah memberikan kesempatan kepada penulis untuk mengikuti Program Studi Magister Matematika di Fakultas Matematika dan Ilmu Pengetahuan Alam Uni-versitas Sumatera Utara Medan.
Prof. Dr. Herman Mawengkang selaku Ketua Program Studi Magister Ma-tematika Universitas Sumatera Utara yang telah banyak memberikan bantuan dalam penulisan tesis ini.
Dr. Saib Suwilo, M.Scselaku Sekretaris Program Studi Magister Matematika Universitas Sumatera Utara.
Dr. Saib Suwilo, M.Sc selaku Pembimbing Utama yang telah banyak mem-berikan bimbingan dan arahan serta motivasi kepada penulis dalam penulisan tesis ini.
Dr. Marwan Ramli, M.Si selaku Pembimbing Kedua yang juga telah banyak memberikan bimbingan kepada penulis dalam penulisan tesis ini.
Prof. Dr. Opim Salim S, M.Sc dan Dra. Mardiningsih, M.Siselaku Tim Pembanding Tesis.
Saudari Misiani, S.Si selaku Staf Administrasi Program Studi Magister Ma-tematika Universitas Sumatera Utara yang telah banyak memberikan pelayanan yang baik kepada penulis selama mengikuti perkuliahan.
Seluruh rekan-rekan Mahasiswa angkatan 2009/2010pada Program Studi Magister Matematika Universitas Sumatera Utara yang telah memberikan bantu-an moril dbantu-an dorongbantu-an kepada penulis dalam penulisbantu-an
Tak lupa penulis mengucapkan terimakasih sebesar-besarnya dan penghar-gaan setinggi-tingginya kepada orangtua tercinta, Ayahanda Sarwo dan Ibunda Irianiyang telah mencurahkan kasih sayang dan dukungan kepada penulis, kepa-da kakak kepa-dan adik Nenny Asri Syahputri, S.Kom, Mimmy Sari Syahpu-tri, Amd yang telah memberikan semangat dan dorongan kepada penulis dalam penulisan tesis ini.
Kepada seluruh pihak yang tidak dapat penulis sebutkan satu persatu, penulis berterima kasih atas semua bantuan yang diberikan, semoga Allah Swt membalaskan segala kebaikan yang telah diberikan, amin.
Penulis menyadari bahwa tesis ini masih jauh dari sempurna, untuk itu penulis mengharapkan kritik saran untuk penyempurnaan tesis ini. Semoga tesis ini dapat bermanfaat bagi pembaca dan pihak-pihak lain yang memerlukannya baik perkembangan ilmu pengetahuan.
Medan, 19 Januari 2012 Penulis,
RIWAYAT HIDUP
DAFTAR ISI
Halaman
ABSTRAK i
ABSTRACT ii
KATA PENGANTAR iii
RIWAYAT HIDUP v
DAFTAR ISI vi
DAFTAR GAMBAR viii
BAB 1 PENDAHULUAN 1
1.1 Latar Belakang 1
1.2 Perumusan Masalah 2
1.3 Tujuan Penelitian 3
1.4 Manfaat Penelitian 3
1.5 Metode Penelitian 3
BAB 2 KAJIAN PUSTAKA 4
BAB 3 LINTASAN TERPENDEK 7
3.1 Permasalahan Lintasan Terpendek 7
3.1.1 Permasalahan 8
3.1.2 Proses yang Terkait 9
BAB 4 LINTASAN TERPENDEK DENGAN ADANYA LINTASAN
TER-LARANG 11
4.1 Algoritma untuk Lintasan Terpendeks−t 11
4.3 Membangun Tree 15
4.4 Koreksi dan Analisa Hasil Modifikasi Graf 16
4.4.1 Kebenaran dari Modifikasi Graf 16
4.4.2 Kebenaran dari Konstruksi Tree 18
4.4.3 Analisa Waktu dan Ruang Syarat 19
4.5 Contoh Kasus 22
BAB 5 KESIMPULAN DAN SARAN 25
5.1 Kesimpulan 25
5.2 Saran 25
DAFTAR GAMBAR
Nomor Judul Halaman
4.1 Lintasan Terpendek 11
4.2 Lintasan Terpendek menghindari x, dimana x= (s, a, b, t) 12
4.3 Replikasi verteks G′
i−1. Garis putus-putus menunjukkan 8
sali-nan dari pengecualian 14
4.4 ModifikasiGi−1 keGi, pengecualian (vr−3, vr−2, vr−1, vr, vr+1) dengan
l=3 14
4.5 Graf G 22
4.6 Tree T0 23
4.7 Graf lintasan terpendek yang mengandung x= (s, a, t) 23
4.8 Tree T1 24
ABSTRAK
Masalah lintasan terpendek dapat diselesaikan dengan beberapa algoritma seper-ti algoritma Warshall, algoritma Dijkstra, algoritma Greedy, algoritma Bellman. Lintasan Terpendek juga dapat diselesaikan dengan adanya kendala samping-an yaitu dengsamping-an adsamping-anya lintassamping-an terlarsamping-ang. Diberiksamping-an sebuah graf berbobot G, verteks-vertekss dan t, dan sebuah himpunan X (exception) sebagai lintasan ter-larang diG, pencarian lintasan terpendekP dari s−tsehingga tidak ada lintasan bagian dariP yang mengandung X. LintasanP dijinkan mengulang tiap verteks dan edgesnya.
ABSTRACT
The Shortest path Problem can be solved with several algorithms such as Warshall’s Algorithm, Dijkstra’s Algorithm, Greedy’s Algorithm, Bellman’s Algorithm. The Shortest path can also be solved with the side constraint is the presence of
for-bidden path. Given a weighted graph G and vertices s and t, and given a set X
(exception) of forbidden paths in G, find a shortests−t path P such that no path
in X is a subpath of P. Path P is allowed to repeat vertices and edges.
BAB 1
PENDAHULUAN
1.1 Latar Belakang
Ada banyak permasalahan dari optimisasi kombinatorial, salah satunya adalah pencarian lintasan terpendek pada teori graf. Pencarian lintasan terpendek dapat digunakan dengan beberapa algoritma, yang masing-masing algoritma memiliki kelebihan dan kekurangan. Apabila sebuah lintasan tidak melalui verteks lebih dari satu kali disebut dengan lintasan terpendek, dimana lintasan terpendek yang dimaksud dapat dicari dengan menggunakan graf yaitu digraf berbobot. Digraf (graf berarah) adalah suatu graf yang terdiri dari titik-titik yang dihubungkan oleh garis berarah, dimana titik-titik tersebut disebut dengan verteks dari digraf dan garis berarah yang menghubungkan titik-titik tersebut disebutarcdari digraf.
Dalam Tesis ini masalah yang akan dibahas adalah pencarian lintasan ter-pendek dari s ke t dengan adanya kendala sampingan. Kendala sampingan dari permasalahannya adalah lintasan terlarang yang tidak dapat menjadi bagian dari solusi. Lintasan terlarang adalah lintasan yang menghindari himpunan X, dima-na X adalah lintasan bagian dari P (P adalah lintasan dalam G). Permasalahan dari lintasan terpendek yaitu diberikan sebuah graf berbobot G(V, E), verteks s dan t, dan himpunanX dari lintasan terlarang dalam graf G, pencarian lintasan terpendeks−tsehingga tidak ada lintasan dalamX yang menjadi lintasan bagian dari P.
lin-2
tasan terlarang yang dihasilkan oleh verteks replikasi tidaklah penting. Villeneuve dan Desaulniers (2005) mengatasi tantangan tersebut dengan mengidentifikasikan dan meringkas lintasan terlarang yang saling tumpang tindih, dan melakukan pen-dekatan yang tidak memungkinkan karena tidak memiliki akses terhadap X.
Matthew dan Kevin (2008) mengembangkan prosedur untuk menghitung lintasan terpendek yang mengarah ke algoritma untuk masalah kendala lintasan terpendek. Permasalahan lintasan terpendek dalam jaringan dengan edge posi-tif dimana diperbolehkan beberapa edge berbobot negaposi-tif tetapi panjang cycle
tidak boleh negatif dapat diselesaikan dengan mudah dalam waktu polinomial. Fujisawa, Ota, Sugiyama dan Tsugaki (2008) membatasi permasalahan dengan graf tak berarah tanpa loopatau beberapa edge dan menggunakan kondisi dalam subgraf terlarang sebagai hasilnya. Pach dan Tardos (2006) mempertanyakan ada berapa banyak edge yang terdapat dalam graf teratur dari n verteks yang dimi-liki jika edge-edge tersebut tidak mengandung subgraf teratur H vang terlarang? Jawaban dari pertanyaan tersebut dapat dirumuskan sebagai masalah eksternal dari matriks tree menghindari pola tertentu P (submatrix).
Szeider (2002) mempelajari perhitungan lengkap dalam mencari lintasan T yang sesuai diantara dua verteks yang diberikan dari sebuah graf untuk menen-tukan transisi sistemT subset A. Kriteria dasar dalam memasukkan verteks sub-graf dimana memutuskan NP-completeatau dapat diselesaikan dalam waktu linier akan berlaku untuk setiap kelas A yang diberikan. Yinnone (1997) Menyarankan bahwa proses pengujian kode yang didahului dengan mengindentifikasi pasangan
branchdari program yang saling bertentangan, kemudian membangun lintasan
se-tiap pegujian yang memuat paling banyak satu branchdari setiap pasangan yang bertentangan. Pendekatan ini dimaksudkan untuk meningkatkan proses
penguji-an dengpenguji-an tidak mengeksekusi lintaspenguji-an pengujipenguji-annya.
1.2 Perumusan Masalah
3
1.3 Tujuan Penelitian
Adapun yang menjadi tujuan dari penelitian ini adalah mengindentifikasi algorit-ma dalam pencarian lintasan terpendek dengan adanya lintasan terlarang.
1.4 Manfaat Penelitian
Penelitian ini bermanfaat untuk memperkaya literatur tentang pencarian lintasan terpendek dengan adanya lintasan terlarang.
1.5 Metode Penelitian
Metode penelitian ini bersifat literatur dan kepustakaan dengan mengumpulkan informasi dari beberapa jurnal. langkah-langkah yang dilakukan adalah sebagai berikut:
1. Mengumpulkan informasi dari referensi buku dan jurnal.
2. Menjelaskan secara lengkap mengenai pencarian lintasan terpendek dengan adanya lintasan terlarang.
3. Membuat beberapa contoh dari masalah pencarian lintasan terpendek dengan adanya lintasan terlarang.
4. Menentukan lintasan terlarang dan mencari hasilnya.
BAB 2
KAJIAN PUSTAKA
Ahmed dan Lubiw (2009) mengatakan bahwa pencarian lintasan terpendek dapat dilakukan dengan mengindentifikasi sebuah lintasan terlarang x dimana lintasan bagian dari P tidak mengandungx sebagai bagian dari lintasannya. Permasalah-an dapat diselesaikPermasalah-an jika hPermasalah-anyaxsaja yang menjadi lintasan terlarang dalam G. Jika terdapat lebih dari satu lintasan terlarangnya maka mereka menggunakan algoritma untuk lintasan terpendek s−t. Setelah itu mereka memodifikasi graf, membangun tree, mengoreksi dan menganalisa kebenarannya. Mereka memperke-nalkan versi baru dari masalah lintasan terpendek dimana selain menghindari juga menemukan lintasan terlarang dengan memberikan implementasi algoritma dalam waktu polinomial dan penambahan dari Dijkstra. Kelemahan algoritma untuk lin-tasan terpendek s−t adalah tidak semua lintasan terlarang dapat ditemukan di X, dengan fakta lamanya waktu dari algoritma ditentukan oleh gangguan lintasan terpendek yang didapat dari s−t.
Carlyle dan Wood (2008) mengatakan bahwa prosedur yang paling efisien tersedia adalah masalah lintasan terpendek dengan satu atau lebih kendala sam-pingan dalam total bobot untuk lintasan yang optimal. Akan dilakukan pe-meriksaan prosedur alternatif pada kendala samping, mengoptimalkan hasil fungsi
Lagrang kemudian menutup kesenjangan dualitas melalui perhitungan dari lin-tasan terpendek. Pengembangan prosedur untuk perhitungan dari linlin-tasan pendek mengarah pada algoritma untuk masalah kendala samping lintasan ter-pendek. Masalah lintasan terpendek dalam jaringan dengan panjang edge tidak negatif atau panjang edge boleh negatif tetapi cyclenya tidak boleh negatif dapat diselesaikan dengan mudah. Bagaimanapun, jika masing-masing edge memiliki bobot disamping panjangnya, dan jika kendala samping tunggal ditempatkan pa-da lintasan total bobot yang optimal maka masalah ini menjadi program nonlinier lengkap (Garey dan Johnson, 1979).
5
loop atau beberapa edge. Lintasan atau cycle yang termasuk semua verteks dari graf dinamakan lintasan ataucyclehamilton. Ada banyak hasil dalam keberadaan dari lintasan atau cycle dalam graf. Meskipun subgraf terlarang adalah bagian utama dalam mencari lintasan ataucyclehamilton, terdapat bebebrapa hasil yang meggunakan kondisi dalam subgraf terlarang untuk mencari cycle yang melalui verteks tertentu. Mereka menggunakan kondisi dalam subgraf terlarang sebagai hasilnya.
Istilah-istilah baku graf dalam tulisan ini diambil dari Gross dan Yellen (2006). Siang (2009) dalam buku matematika diskrit dan aplikasinya pada il-mu komputer menerangkan bahwa notasi-O (dibaca notasi big-oh/O-besar). di-nyatakan sebagai laju pertumbuhan. Notasi-O memberikan cara untuk meny-atakan laju pertumbuhan algoritma secara global/aproksimasi dan tidak mem-perhatikan perbedaan faktor konstanta serta perbedaa-perbedaan lain yang tidak begitu berpengaruh. Pach dan Tardos (2006) membantah dugaan umum yang terkait dengan permasalahan dan menggantikannya dengan beberapa alternatif lemah. Mereka membuktikan dugaan mereka dalam kasus spesial ketikaP adalah matriks adjacent dari graf siklik dan mendiskusikan jawaban yang sama ketika pola terlarangnya adalah matriks adjacent dari cycle. Hasilnya mengarah pada bukti baru dari fakta bahwa jumlah waktu dan jarak unit dapat terjadi diantara batasan n dalam bidang O(n4/3
).
Permasalahan lintasan terpendek dengan adanya lintasan terlarang diperke-nalkan oleh Villeneuve dan Desaulniers (2005). Mereka menganggap variansi di-batasi oleh masalah lintasan terpendek dengan mengambil kendala berdasarkan bentuk lintasan terlarang (barisan dari arc) yang bukan menjadi bagian dari so-lusinya. Masalah lintasan terpendek dengan adanya lintasan terlarang (shortest
path problem with forbidden paths (SP P F P)) dapat mengijinkan atau tidaknya
6
Szeider (2002) menemukan lintasan untuk menghindaritransitionsterlarang graf mengatakan bahwa permasalahan dari menemukan lintasan diantara dua ver-teks yang diberikan menghindaritransitionsterlarang disebut dengancompatible. Mereka memasukkan sebuah kriteria subgraf terlarang yang memutuskan antara NP-complete atau penyelesaian dalam waktu inier. Dalam kasus waktu linier mereka memakai algoritma tidak hanya memutuskan existensi saja tetapi tepat-nya menemukan lintasan yang sesuai dalam waktu linier. Aplikasi dari hasil waktu linier adalah permasalahan untuk menemukan lintasan alternatif egde dalam pe-warnaan graf dan hasil yang lengkap (Jensen dan Gutin, 1998).
BAB 3
LINTASAN TERPENDEK
3.1 Permasalahan Lintasan Terpendek
Permasalahan dalam rute jaringan optik dari jaringan Nortel merupakan motivasi untuk lintasan terpendek menghindariX. Dalam sebuah jaringan optik saat sinar cahaya dari panjang gelombang mengikuti lintasan P yang terdiri dari barisan serat optik, kemungkinan akan gagal untuk mencapai titik akhir dari P karena sebabkan oleh berbagai gangguan transmisi seperti attenuation, crosstalk, dis-persi dan non-linearities. Kegagalan ini mungkin terjadi meskipun sinar mampu mengikuti subpathP′ dariP. Terjadi gangguannon-transitivekarena bergantung
pada berbagai parameter fisik lintasan yang dilalui seperti panjang lintasan, jenis serat, panjang gelombang dan jenis laser yang digunakan, lokasi dan keuntugan dari amplifier, jumlah dari titik balik, kerugian dari setiap titik baliknya dan lain-lain. Dan efek dari parameter tersebut dapat berbeda secara drastis diP daripada P′. Subpath terlarang menyediakan model straight-forwarddalam situasi ini.
Sekarang beralih ke masalah menentukan lintasan terlarang. Karena be-sarnya jumlah parameter fisik yang terlibat, dan juga karena banyaknya variasi paramenter lifetime dalam komponen, tidak mudah untuk memodelkan lintasan yang mungkin. Peneliti dari Nortel menyarankan sebuah model dimana algoritma mengidentifikasi lintasan yang mungkin, dan kemudian lintasanbya dicoba dalam jaringan sebenarnya. Dalam hal kegagalan, uji selanjutnya dapat dapat dilakukan untuk menentukan subpath minimum yang terlarang. Karena tes ini mahal, rute algoritma harus mencoba beberapa lintasan yang mungkin. Secara khusus hal ini hampir mustahil untuk mengidentifikasi semua lintasan terlarang untuk wak-tu selanjutnya dan memiliki jumlah eksponensial lintasan yang mungkin unwak-tuk diperiksa didalam jaringan. Hal ini membenarkan asumsi yaitu tidak dimilikinya kajian utama dari lintasan terlarang dan menenentukan lintasan terlarang hanya dengan menguji lintasan yang mungkin.
8
kedalam rute kendaraan. Subpath terlarang melibatkan pasangan dari edge yang sering terjadi pada permasalahan lalu lintas (tidak boleh membelok kekiri) dan dapat terjadi secara dinamis karena kendala jam sibuk, penutupan jalur, konstruk-si dan lain-lainnya. Permasalahan lintasan terlarang kurang umum, tetapi dapat muncul misalnya lalu lintas sibuk memungkinan untuk berbelok kekiri segera sete-lah memasuki jalan multi jalur dari kanan. Jika rute kendaraan tunggal secara alami dapat menemukan jalan memutar dari sudut kegagalan ketika lintasan ter-larangnya ditemukan. Hal ini berbeda dari pemodelan rute ulang dari s pada pencarian lintasan terlarang. Namun dalam situasi ketika kendaraan akan di ki-rim berulang kali, model yang akan dibahas tidak berlaku.
3.1.1 Permasalahan
Diberikan sebuah graf berarahG(V, E) dengann =|V|verteks danm=|E|edge dimana setiap edge e ∈ E memiliki bobot positif yang menunjukkan panjang. Diberikan juga verteks awals∈V, verteks tujuant∈V, dan sebuah himpunanX dari lintasan dalamG. Graf G denganXdimodelkan kedalam jaringan komunikasi dengan sebuah paket tidak dapat mengikuti lintasan di X karena kendala fisik. Asumsikan bahwa algoritma dapat mengakses himpunanXdari lintasan terlarang hanya dengan melakukan pertanyaan yang meragukan. Setiap pertanyaan dari lintasanP dan jawaban meragukan dari yang lainnya adalah penegasan bahwaP menghindariX yang merupakan subpath dari P dan titik awal dalam P.
9
lintasan terpendek menghindari Ajika panjang dari P adalah lintasan terpendek diantara semua menghindari A dari s ket.
3.1.2 Proses yang Terkait
Lintasan terpendek dari s−t dalam graf dapat dihitung dalam waktu O(n log
n+m) dan ruang linier menggunakan algoritma Dijkstra dengan deret Fibonacci jika semua bobot edge tak negatif dan sebaliknya dihitung dalam waktu O(mn) dan ruang linier menggunakan algoritma Bellman-Ford. Ketika bobot edge berni-lai tak negatif, permasalahan dapat diselesaikan dalam waktu deterministikO(m
log logn log logn)dan ruang linier jika graf berarah dan dalam waktu optimal jika
graf tidak berarah. Dalam banyak kasus, terdapat algoritma acak dengan hara-pan waktu yang lebih baik serta skema pendekatan. Dua makalah baru mengenai lintasan terpendek dalam graf, memberikan isu menghindari himpunan lintasan terlarang, mengasumsikan bahwa semua lintasan terlarang paling utama dike-tahui. Makalah pertama memberikan hasil yang sulit. Szeider menunjukkan peng-gunaan dari 3-SAT, bahwa permasalahan menemukan lintasan terpendek seder-hana menghindari X adalah NP-completebahkan ketika lintasan terlarang lainnya memiliki dua edge. Jika lintasan terlarang utamanya tidak diketahui, untuk kasus lintasan sederhana hasilnya akan sulit diperoleh karena kurangnya pengetahuan dari lintasan terlarang sehingga permasalahannya menjadi lebih sulit.
10
akan ditunjukkan dalam bab selanjutnya, algoritma dapat menyelesaikan masalah dalam waktu perkiraan yang sama tetapi dalam ruang kurang (O(n +m+L)). Sekarang dapat diambil dua permasalahan sama yang saling berhubungan, tetapi dalam kenyataannya tidak memberikan solusi. Pertama adalah mempertahankan lintasan terpendek dalam graf dinamis, dimana edge mungkin gagal, bobot edge mungkin berubah. Lintasan terlarang tidak dapat dimodelkan oleh penghapusan edge atau memodifikasi biaya edge karena semua edge didalam lintasan terlarang tertentu mungkin penting. Yang kedua permasalahan yang tampak terhubung adalah menemukan k lintasan terpendek dalam graf. Ini merupakan persoalan Martins yang memperkenalkan tkenik replikasi verteks yang digunakan dalam al-goritma ini. Tetapi permasalahan lintasan terpendek k berbeda dari situasi kare-na subpath terlarang mungkin menjadi hambatan yang ada dalam semua lintasan terpendek k untuk k ∈ω(2n/2
BAB 4
LINTASAN TERPENDEK DENGAN ADANYA LINTASAN TERLARANG
4.1 Algoritma untuk Lintasan Terpendek s−t
Algoritma dimulai dengan akar tree lintasan terpendek yaitu s, dengan menga-baikan X. Selanjutnya akan di coba lintasan dari s−t dalam bentuk tree. Jika lintasan bebas X, maka dikerjakan. Sebaliknya jika tidak untuk mengambil X ke dalam perhitungan, modifikasi graf dengan menggunakan replikasi yang telah dijelaskan pada bab sebelumnya, dan memodifikasi tree lintasan terpendek yang cocok. Secara umum, mempertahankan modifikasi graf dan tree lintasan terpen-dek dalam graf yaitu diberikan lintasan terpenterpen-dek dalam graf asli dari s untuk setiap verteks lainnya menghindari semua X yang diketahui. Pertama akan di-ilustrasikan idenya ke dalam contoh. Pandang graf G pada Gambar 4.1, dimana integernya menyatakan bobot edge, dan garis putus-putus menandakan lintasan terlarang x= (s, a, b, t). Untuk lebih sederhana menggunakan edge tidak berarah dalam Gambar untuk menunjukkan edge dua arah.
Gambar 4.1 Lintasan Terpendek
12
kegagalan karena terdapat x, jadi gunakan teknik replikasi verteks serupa salah satunya oleh Martins untuk membuat tiruan dari verteksa danb dan menghapus edge (s, a′) dan (b, t) seperti yang diperlihatkan pada Gambar 4.2.
Gambar 4.2 Lintasan Terpendek menghindari x, dimana x= (s, a, b, t)
Kemudian bentuk akar tree lintasan terpendek yaitus (tandanya menggu-nakan berat edge dalam gambar 4.2 dalam modifikasi graf, dan mencoba lintasan (s, c, a′, b′, t) yang mewakili lintasan P dalamG. Jika hanyax satu-satunya yang
merupakan lintasan terlarang dalam G, maka selesai. Perhatikan bahwa pen-dekatan dapat menggandakan jumlah lintasan terlarang yang belum ditemukan. Andai y = (c, a, b) merupakan lintasan terlarang lainnya dalam G. Terdapat dua salinan dari y dalam modifikasi graf: (c, a, b) dan (c, a′, b′) dan keduanya dapat
dihindari. Solusi permasalahan ganda telah menghasilkan tree lintasan terpendek sedemikian hingga paling banyak satu dari dua salinan yang didapatkan berikut-nya. Algoritma untuk lintasan terpendek s−t diberikan sebagai berikut:
1. Bentuk tree lintasan terpendekT0 dengan akarnya adalahs dalamG0 =G;
2. Andaii= 1;
3. Kirim paket daris ket melalui lintasan dalam T0;
13
6. Bentuk Gi dari Gi−1 oleh replikasi verteks tengah dari xi dan kemudian hapus egde yang dipilih;
7. Bentuk tree lintasan terpendekTi dengan akarnya adalahsdalamGi meng-gunakan Ti−1;
8. Kirim paket daris ket melalui lintasan Ti;
9. Andaii=i+ 1;
Pada Algoritma untuk lintasan terpendeks−t, langkah 6 dan 7 akan dibahas selanjutnya dengan rincian masing-masingnya. Walaupun difokuskan pada iterasi tertentu i > 0, dengan menggunakan notasi: (i) lintasan dari s ke t dalam Ti−1 yaitu lintasan sepanjang yang dicoba untuk mengirimkan paket ke t dari lang-kah 4 dalam iterasi (s, v1, v2, ..., vp, t) dan (ii) pengecualian yang mencegah paket mencapaitdalam iterasixi = (vr−l, vr−l+1, ..., vr, vr+1) yang terdiri dari edgel+ 1.
4.2 Modifikasi Graf
Memodifikasi dari Gi−1 kedalam Gi pada langkah 6 dalam ith iterasi menge-liminasi pengecualian xi sambil menjaga semua lintasan menghindari x dalam G′
i−1. Memodifikasi graf dapat dilakukan dengan dua tahap. Tahap pertama,
dengan membuat graf G′
i−1 oleh replikasi verteks dari xi (yaitu verteks vr−l+1, vr−l+2, ..., vr). Masukkan juga edge yang sesuai pada replikasi v′ dari verteks v. Khususnya ketika memasukkan v′ kedalam G
i−1, juga dimasukkan bobot edge
yang sesuai antara v′ dan neighbors dari v. Mudah untuk melihat jika lintasan
dalam Gi−1 dengan menggunakan l′ ≤ l verteks dari xi, kemudian terdapat tepat 2l′
salinan dari lintasan dalam G′
i−1. Sehingga lintasan dalamG′i−1 adalah menghindarixi jika tidak terdapat satupun dari 2l salinan dari xi.
Tahap kedua, bangun spanning subgrafGi dariG′i−1 dengan menghilangkan beberapa edge dari G′
i−1 sedemikian hingga semua salinan dari xi dalam G′i−1 di eliminasi, tetapi semua lintasan menghindari x− dalamG′
14
Gambar 4.3 : Replikasi verteksG′
i−1. Garis putus-putus menunjukkan 8 salinan dari pengecualian
15
(v′
j, vj−1)∀[r−l+1, r]. Edge (vr, vr+1) juga dihilangkan, semua edge keluar dariv′r selain (v′
r, vr+1), dan semua edge keluar dariVj′selain (vj′, vj′+1)∀j ∈[r−l+1, r−1]. Gambar dua menunjukkan bagaimana neighborhooddari sebuah pengecualian di-ganti dari Gi−1 keGi.
Seperti sebelumnya edge tidak berarah pada Gambar 4.1 merupakan edge dua arah. Observasi 4.2. Graf Gi tidak mempunyai salinan dari xi. Pada Bagian 4.4 akan dibuktikan bahwa Gi masih mengandung semua lintasan menghindari xi dari Gi−1. Verteks dalam Gi[G′i−1] terdapat juga didalam Gi−1 (yaitu satu-satunya bukan replikasi dari verteks)disebut verteks lama dariGi [masing-masing G′
i−1]. Perhatikan bahwa verteks dari G0 terdapat dalam Gi∀i ≥ 0. Verteks ini
disebut dengan verteks asli dari Gi.
4.3 Membangun Tree
Dalam langkah 7 Algoritma untuk lintasan terpendek s−t membentuk sebuah tree Ti, yang mengandung lintasan terpendek menghindari xi dari s untuk setiap verteks lainnya dalam Gi−1. Tree Ti akarnya adalah s dan edgenya berjalan dari s. Tidak setiap lintasan terpendek tree di s dalam G dapat dijalankan. Dalam menjamin terminasi dari algoritma,Ti harus sama dengan Ti−1 , khususnya setiap lintasan menghindarixi darisdalamTi−1berada dalamTi. Perlunya pembatasan dijelaskan dalam bagian 4.4.3. BentukTiyang diperlukan untuk memperolehTi−1 yang memungkinkan. Algoritma Dijkstra digunakan untuk memulai dari bagian Ti−1 yang mungkin diperoleh. AndaiV′ adalah himpunan dari verteks yang lebih baik dari replikasi verteks dalamGiatau turunan darivr+1dalamTi−1. Himpunan
pertama akan ditetapkan bobot dari masing-masing v ∈ V′ tidak berbatas, dan
untuk sementara himpunan Ti=Ti−1−V′. Maka untuk masing-masing v ∈ V′, meminimkan jumlah bobot dariv untuk semua edge (u, v) dari jumlah bobot dari u dan panjang dari (u, v). Pada akhirnya menginisialisasi antrian menggunakan Dijkstra dengan semua verteks dalam V′ dan menjalankan loop dari algoritma
Dijkstra. Setiap iterasi dari loopmenambahkan satu verteks dalam V′ sementara
16
4.4 Koreksi dan Analisa Hasil Modifikasi Graf
4.4.1 Kebenaran dari Modifikasi Graf
Pada bagian ini pembuktian diikuti oleh lemma, yang mana menggunakan gagasan dari lintasan korespondensi. Pertimbangkasan lintasan Pi dalam Gi. Dengan menggantikan setiap verteks dalam Pi yang tidak ada dalamGi−1 dengan verteks terdahulu yang sesuai dalamGi−1, diperoleh lintasanPi−1yang sesuai dalamGi−1. Hal ini dimungkinkan karena setiap edge yang dari di dalam Gi adalah replikasi dari edge dalam Gi−1.
Definisikan lintasanPj yang sesuai dalamGj∀j < i dengan mengulang argumen.
Lemma. Jika Pi adalah lintasan terlarang dari s ke verteks asli t dalam Gi, P0
adalah lintasan terpendek menghindari {x1, x2, ..., xi} dari s ke v dalam G0.
Untuk membuktikan lemma tersebut (mengulang seperti pada Lemma 4.4.3), yang pertama akan dibuktikan bahwa lintasan menghindari xi dalamGi−1 kemu-ngkinan berada dalamGi (Lemma 4.4.2), menggunakan karakteristik yang diikuti dari sebuah lintasan menghindarixi dalam graf G′i−1:
Lemma 4.4.1. Untuk setiap lintasan menghindari xi P dari s ke v hanya
meng-gunakan verteks terdahulu dari G′
i−1, dimana terdapat salinan dari P dalam Gi,
dimulai dan diakhiri dari verteks terdahulu s dan v secara berurutan, dan
kemu-ngkinan melalui verteks replikasi yang sesuai.
Bukti. GrafGi mengandung semua edge antara pasangan dari verteks lama dalam
G′
17
(wh, wh+1, ..., wj+1) adalah subpath darixi. Karena P adalah menghindarixi, wh verteks perantara dari xi. Ini berarti bahwa h > 1, s = w1 bukan merupakan verteks perantara dari xi karena alasan berikut ini: (i) xi adalah sebuah lintasan dalam lintasan terpendek dengan akar tree s dalam Gi, dan (ii) tidak terdapat replikasi darisdalamGi. Oleh karena itu terdapatwh−1. Akan mengulang bagian
dari P antara wh−1 dan wj+1 menggunakan replikasi verteks yang sesuai. dalam subpath (wh, ..., wj) dari xi. Perhatikan bahwa edge yang dibutuhkan dalam Gi (P tidak mengandung seluruh pengecualianxi) dan bagian dari P. Selain itu, P dimulai dan diakhiri dari verteks terdahulu s dan v secara berurutan.
Lemma 4.4.2. Lintasan menghindari xidari s ke v dalam Gi−1 mempunyai
sali-nan dalamGi dimulai dan diakhiri dari verteks terdahulusdanv secara berurutan,
dan mungkin berjalan melalui replikasi dari verteks yang sesuai.
Bukti. Andai P adalah lintasan menghindari xi dalam Gi. Karena tidak
meng-hapus edge apapun dalam pembentukan G′
i−1 dari Gi−1, P tetap tidak berubah dalam G′
i−1. Selain itu, P tidak menggunakan replikasi verteks dalam G′i−1.
Se-hingga Lemma 4.4.1. menunjukkan bahwa P terdapat dalam Gi dengan verteks terdahulu yang sama pada titik akhir. Kemungkinan akan melalui replikasi dari
verteks yang berhubungan.
Lemma 4.4.3. Jika Pi adalah lintasan terlarang dari s ke verteks asli v dalam Gi, P0 adalah lintasan terpendek menghindari{x1, x2, ..., xi}dari s ke v dalamGi.
Bukti. Untuk setiapj ∈[0,1], andai Xj ={xj+1, xj+2, ..., xi}. Akan ditunjukkan
∀j, jika Pj adalah lintasan terpendek menghindari Xjdalam Gj, kemudian Pj−1 adalah lintasan menghindariXj−1 dalamGj−1. Lemma diikuti perkenalan dari j, dengan dasarj =i, karena Xi =∅dan Pi adalah lintasan terpendek menghindari
18
Jika Pj adalah lintasan terpendek menghindari Xj dalam Gj, Pj adalah menghindari Xj−1 karena Pj adalah menghindari x oleh observasi 3.1 dan Xj ∪
{xj} = Xj−1. Jadi lintasan Pj−1 yang berhubungan juga dengan menghindari Xj−1. Jika diasumsikan dengan kontradiksi bahwa Pj−1 bukan lintasan ter-pendek menghindari Xj−1 dalam Gj−1, maka terdapat lintasan lainnyaPj′−1 dari s ke t dalam Gj−1 dimana menghindari Xj−1 lebih pendek dari Pj−1. Karena xj ∈Xj−1, menghindari Pj′−1 dan oleh karena Lemma 4.4.2., terdapat salinan Pj′ dari lintasan P′
j−1 dalam Gj dimana verteks aslinya sama dengan titik akhirnya. P′
j−1 adalah menghindari Xj, Pj′ juga menghindari Xj. Hal ini tidak mungkin karena P′
j lebih pendek dari Pj. Oleh karena ituPj−1 adalah lintasan terpendek menghindariXj−1dalamGj−1.
4.4.2 Kebenaran dari Konstruksi Tree
Untuk menunjukkan pendekatan tambahan menggunakan bagian 3.2 untuk mem-bangun Ti, yang pertama akan ditunjukan bahawa bagian dari Ti−1 tetap tidak berubah dalam Ti adalah susunan dari lintasan terpendek dari Gi:
Lemma 4.4.4. Untuk setiap verteks v yang tidak menurun darivr+1 dalamTi−1,
lintasan P dari s ke v dalam Ti−1 adalah lintasan terpendek dalam Gi.
Bukti. Pertama akan ditunjukkan bahwa P berada di Gi. Setiap verteks dalam
Ti−1 berada dalam Gi sebagai verteks terdahulu. Sehingga P berada dalam Gi melalui verteks terdahulu jika tidak ada edge dari P yang dihapus dalam Gi. Hanya sepasang edge diantara verteks terdahulu dalam Gi−1 yang dihapus diGi yaitu (vr, vr+1). Karena v turunan dari dalam vr+1 Ti−1, P tidak menggunakan
edge (vr, vr+1). Oleh karena itu tidak ada edge dari P yang dihapus dalam Gi. Sehingga P berada dalam Gi melalui verteks terdahulu.
Tidak ada modifikasi dari Gi−1 keG′i−1 dan tidak satupun G′i−1 keGi
19
antara sepasang verteks terdahulu yang berkurang setelah dimodifikasi. Oleh karena itu modifikasi tidak merubah P yang merupakan lintasan terpendek dalam Gi−1 dan P lintasan terpendek dalam Gi.
Lemma 4.4.5. Tree Ti adalah lintasan terpendek tree dalam Gi.
Bukti. Untuk setiap verteks v bukan merupakan turunan dari vr+1 dalam Ti−1,
lintasan P dari s ke v dalam Ti sama dengan dalam Ti dan karena itu merupakan lintasan terpendek dalam Gi (Lemma 4.4.4). Untuk semua verteks v dalam Gi, digunakan algoritma Dijkstra yaitu lintasan dari s ke v dalam Ti adalan lintasan
terpendek.
Lemma 4.4.3 dan 4.4.5 membuktikan algoritma kebenaran hasil akhir, yang dibangun pada bagian selanjutnya.
4.4.3 Analisa Waktu dan Ruang Syarat
Walaupun setiap iterasi menghilangkan satu pengecualian yang dimodifikasi oleh graf, diperkenalkan salinan dari pengecualian yang pasti melalui replikasi ver-teks. Algoritma tidak selalu beriterasi seperti yang ditunjukkan pada bagian ini,
pembentukan tree lintasan terpendek (pada bangian 3.2) menjamin bahwa tidak ditemukan lebih dari satu salinan dari pengecualian yang ada. Pertama akan ditunjukkan terdapat pengecualian dalam Gi−1 yang mempunyai lebih dari dua salinan dalam Gi (Lemma 4.4.6), dan kemudian dibuktikan bahwa satu dari dua salinan tidak pernah ditemukan pada iterasi berikutnya (Lemma 4.4.7):
Lemma 4.4.6. Andai y 6= xi merupakan pengecualian dalam Gi−1. Jika
ver-teks akhir dari y bukan diantara verteks dari xi, maka Gi mengandung tepatnya
satu salinan dariy. Sebaliknya, Gi berisi tepatnya dua salinan dariy. Pada kasus
20
salinan lainnya diakhiri pada replikasi v′ yang berhubungan.
Bukti. Andai π = (w1, w2, ..., wj) merupakan barisan maksimum dari verteks
dalam y sehinnga barisan bagian dari (vr−l+1, vr−l+2, ..., vr). Andaiwj′ merupakan replikasi dari wj dalam Gi. Pertama akan ditunjukkan bahwa jika terdapat se-buah verteksv dalamysetelahπ, sehingga tepat satu dari edge (wj, v) dan (w′j, v) berada dalamGi. Andaikan subgraf dari Gi dimasukkan kedalam himpunan dari replikasi verteks {v′
r−l+1, v′r−l+2, ..., v′r}: subgrafnya adalah lintasan berarah dari v′
r−l+1 ke v′r dan hanya terdapat satu edge dari subgraf yaitu (vr′, vr+1). Oleh karena itu , (i) ketika (wj, v) = (vr, vr+1),(wj′, v)∈Gi dan (wj, v)∈/ Gi. Sekarang G−i mempunyai tepat dua salinan dari π: satu melalui verteks terdahulu dan lainnya melalui replikasinya. Pernyataan tersebut menggambarkan bahwa verteks dalam y benar setelah π, Gi mempunyai lebih dari satu salinan y dari w1 ke v. Akan tetapi ketikaπ adalah akhir dari y,Gi mempunyai dua salinan y dari w1 ke wj. Kemudian lemma diikuti karena terdapat y yang mengandung verteks awal dari xi yang mempunyai tepat satu salinan dari G)i.
Lemma 4.4.7. Andai y 6=xi merupakan pengecualian dalam Gi−1 sehingga
ver-teks akhir dari y bukan diantara verver-teks v dari xi. Salinan dari y diakhiri oleh
verteks terdahulu v dalam Gi tidak ditemukan oleh algoritma dalam iterasi
selan-jutnya.
Bukti. Salinan dari lintasan (s, v1, v2, ..., vr) melalui verteks terdahulu dalam Gi yang mengandung v. Andai P bagian lintasan dari s ke v. Jelas bahwa P ∈Ti−1, dan P tidak ada pengecualian. Sehingga bentuk Tj dari Tj−1 untuk setiap iterasi j ≥ i yang memastikan bahwa P ∈ Tj. Andai y1 adalah salinan dari y yang be-rakhir di v. sekarang y1 bukan merupakan lintasan bagian dari P karena P tidak ada. Untuk setiapj ≥i, P ∈Tj, P dany1 berakhir pada verteks yang sama, oleh karena itu y1 ∈/ Tj. Sehingga paket dalam iterasi j tidak akan diikuti y1, dan y1
21
Lemma 4.4.8. Proses iterasi loop sebanyak waktu k =|X|.
Bukti. Untuk setiap iterasi i, Gi−1 mengandung xi. Setiap xi di dalam
penge-cualianGi−1 mempunyai satu atau dua salinan lainnya dalamGi (Lemma 4.4.6). Oleh Lemma 4.4.7, jika pengecualian mempunyai dua salinan dalam Gi, hanya satu dari keduanya yang relevan dalam tahap proses berikutnya. Dengan demikian banyaknya pengecualian secara efektif menurun pada setiap iterasi.
Untuk menentukan waktu proses, perhatikan jumlah dari peningkatan ver-teks dalam setiap iterasi. Namun menjalankan algoritma Dijkstra pada verver-teks n dalam setiap iterasi, karena jumlah dari replikasi verteks dimasukkan kesetiap ite-rasi yang selalu kurang dari jumlah verteks dalam bagian lintasan terpendek tree, yang dilakukan melalui tree dalam penambahan menggunakan Dijkstra. Selain itu, dapat dipastikan bahwa algoritma Dijkstra mengjaki edge m dalam iterasi i, oleh penghapusan beberapa edge dari Gi setelah menunjukkan modifikasi graf yang digambarkan pada bagian 4.1.1. Lebih khususnya, untuk setiap verteks ter-dahulu v ∈ {vr−l+1, vr−l+2, ..., vr}, karena label (yaitu jarak dari s) diletakkan dalam v oleh algoritma Dijkstra dalam iterasi sebelumnya tidak berubah, hi-langkan semua edge yang masuk dalamGi dari v tanpa mempengaruhi modifikasi berikutnya. (Perhatikan bahwa untuk setiapj ∈[r−l+ 1, r], verteks terdahuluvj dan vj+1 tidak lagi berdekatan dalam Gi, walaupun edge (vj, vj+1) masih berada dalam Ti). Tidaklah sulit untuk melihat jumlah dari edge baru dalam Gi, yang sama dengan jumlah edge yang dihilangkan dari Gi−1.
Teorema 4.4.9. Algoritma menghitung lintasan terpendek menghindari X
mem-butuhkan waktu O(kn log n+km) dan ruang O(n+m+L).
Bukti. Kebenaran algoritma mengikuti Lemma 4.4.3. dan 4.4.5.
22
n+Pki=1li < n+Lverteks dalam batasan graf. Karena setiap iterasi dari jumlah edge yang dimasukkan sama dengan jumlah edge yang dihilangkan, ruang yang dibutuhkan adalah O(n+m+L).
Setiap iterasi dari algoritma diambil waktu O(|V|log |V|+|E|) = O(n log n+m) dan total waktu yang diikuti.
4.5 Contoh Kasus
Diberikan sebuah graf berbobot G seperti gambar 4.5 berikut dimana diberikan lintasan terlarang x = (s, a, t). Carilah lintasan terpendek dari s ke semua t dengan syarat tidak boleh melewati x.
23
Langkah penyelesaian:
1. Bentuk treeT0 dari grafG dengan akarnya adalahs.
Gambar 4.6 Tree T0
Cari lintasan terpendek dari treeT0 yakni diperoleh lintasan terpendeknya yang merupakan lintasan terlarang x. Maka lintasan tersebut dinyatakan gagal karena mengandungx.
24
2. Bentuk tree baruT1 dengan akarnya adalah s.
Gambar 4.8 Tree T1
Cari lintasan terpendek dari treeT1 yakni diperoleh lintasan terpendeknya s−b−a−t. Lintasan dapat dilalui karena tidak mengandung x.
Gambar 4.9 Graf lintasan terpendek yang tidak mengandung x
BAB 5
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Termotivasi oleh masalah praktis menemukan lintasan terpendek dalam jaringan optik, diperkenalkan versi terbaru dari permasalahn lintasan terpendek dimana harus menghindari lintasan terlarang. Telah dimodelkan model pencarian lintasan terpendek dengan adanya lintasan terlarang berdasarkan kajian sebuah permasa-lahan yang diberikan dan memodelkan permasapermasa-lahan ke dalam bentuk graf kemu-dian menganalisa permasalahan dengan algoritma yang difokuskan pada langkah 6 dan 7 yaitu memodifikasi graf dan membangun tree. Walaupun dalam prakteknya algoritma tidak akan menemukan semua lintasan terlarang dalam X. Permasa-lahan yang menarik adalah jumlah batasan dari lintasannya.
5.2 Saran
DAFTAR PUSTAKA
Ahmed, M. dan Lubiw, A. 2009. Shortest path avoiding forbidden subpaths.
Sym-posium on Theoretical Aspects of Computer Science (Freiburg) : hal. 63-47.
Carlyle, W. M. dan Wood, R. K. 2008. Lagrangian relaxation and enumeration for solving constrained shortest-path problems. Proccedings of the 38th annual
ORSNZ conference.
Fujisawa, J., Ota, K., Sugiyama, T. dan Tsukagi M. 2008. Forbidden subgraph and the existence of paths and cycles passing through specified vertices.Discrete
Mathematics: Vol. 308, hal. 6111-6114.
Gross, L. J dan Yellen, J. 2006. Graph Theory and Its Applications. Chapman & Hall/CRC.
Pach, J. dan Tardos, G. 2006. Forbidden paths and cycles in ordered graphs and matrices. Israel Journal of Mathematics: Vol. 155, hal. 359-380.
Siang, Jong Jek. 2009. Matematika Diskrit dan Aplikasinya pada Ilmu Komputer. Andi. Yogyakarta.
Szeider, S. 2003. Finding path in graphs avoiding forbidden transitions. Discrete
Applied Mathematics: Vol. 126, hal. 261-273.
Villaneuve, D. dan Desaulniers, G. 2005. The shortest path problem with forbidden paths.European Journal of Operational Research: Vol.165, No.1, hal. 97-107.
Yinnone, H. 1997. On paths avoiding forbidden pairs of vertices in a graph.Discrete