• Tidak ada hasil yang ditemukan

Matriks atas Aljabar Max-Plus dan Teori Graf

2. Elemen tersebut berada pada kolom yang sama dengan lone-one

3.5 Matriks atas Aljabar Max-Plus dan Teori Graf

Dalam subbab ini diberikan pengantar singkat teori graf, dan interpretasi beberapa operasi dan konsep dasar aljabar max-plus dalam teori graf. Konsep ini akan menjadi dasar pembahasan pada sistem persamaan linear iteratif max-plus, nilai eigen max-plus dan vektor eigen max-plus.

Suatu graf didefinisikan sebagai suatu pasangan (V, E) dengan V adalah suatu himpunan berhingga tak kosong yang anggotanya disebut titik (vertices) dan E adalah suatu himpunan pasangan (takterurut) titik-titik. Anggota E disebut rusuk (edges). Suatu graf berarah didefinisikan sebagai suatu pasangan (V, A) dengan V adalah suatu himpunan titik-titik dan A adalah suatu himpunan pasangan terurut titik-titik. Anggota A disebut busur (arc). Untuk busur (v, w)  A, v disebut titik awal busur dan w disebut titik akhir busur. Suatu loop adalah busur (v, v)  A.

Jika suatu graf disajikan dalam gambar, titik digambarkan sebagai noktah yang diberi label dengan nama titik yang diwakilinya. Rusuk digambarkan sebagai kurva atau ruas garis yang menghubungkan noktah-noktah yang bersesuaian pada rusuk atau loop. Busur digambarkan sebagai kurva atau ruas garis berarah yang menghubungkan noktah-noktah yang bersesuaian dengan titik awal dan titik akhir busur, dengan tanda panah pada ujungnya yang menandakan arah busur.

Contoh 3.5.1

Diperhatikan graf berarah yang direpresentasikan dalam Gambar 3.5.1 di bawah ini yang direpresantasikan graf berarah G = (1 V , 1 A ), dengan 1 V = {1, 2, 3} dan 1

A = {(1, 1 ), (1, 2), ( 2, 1), ( 2, 3 ), ( 3, 1), ( 3, 3)}. 1

Gambar 3.5.1 Graf Berarah Contoh 3.5.1

Diberikan G = (V, A) adalah graf berarah dengan V = {1, 2, , ... , n }. Suatu

lintasan dalam G adalah suatu barisan berhingga busur (i , 1 i ), (2 i , 2 i3), ... , (il1,il) dengan (ik,ik1)  A untuk suatu l  N dan k = 1, 2, ... , l  1 (Wilson,

1972). Lintasan ini direpresentasikan dengan i1i2  ...  il. Titik i1 disebut titik awal lintasan dan titik i disebut titik akhir lintasan. Untuk suatu lintasan , l panjang lintasan  didefinisikan sebagai banyak busur yang menyusun  dan dinotasikan dengan

l. Suatu lintasan disebut sirkuit jika titik awal dan titik akhirnya sama. Sirkuit elementer adalah sirkuit yang titik-titiknya muncul tidak lebih dari sekali, kecuali titik awal yang muncul tepat dua kali. Suatu graf berarah G = (V, A) dengan V = {1, 2, , ... , n} dikatakan terhubung kuat jika untuk setiap i, j  V , i  j , terdapat suatu lintasan dari i ke j. Suatu graf yang memuat sirkuit disebut graf siklik, sedangkan suatu graf yang tidak memuat sirkuit disebut graf taksiklik.

Contoh 3.5.2

Diperhatikan graf berarah dalam Contoh 3.5.1. Barisan busur (2, 1), (1, 1), (1, 2), (2, 3) merupakan suatu lintasan dalam G1 yang dapat direpresentasikan dengan 2

1

2

3

1 1 2  3. Busur ini mempunyai panjang 4 karena tersusun atas 4 busur.

Lintasan 2 1 2  3 1 2 merupakan suatu sirkuit dengan panjang 5.

Lintasan 1 2  3  1 merupakan suatu sirkuit elementer dengan panjang 3.

Diperhatikan bahwa untuk setiap titik yang berbeda dalam graf berarah tersebut selalu terdapat suatu lintasan, sehingga graf berarah tersebut terhubung kuat.

Diberikan graf berarah G = (V, A) dengan V = {1, 2, ... , p}. Graf berarah G dikatakan berbobot jika setiap busur (j, i)  A dikawankan dengan suatu bilangan realAij. Bilangan real Aij disebut bobot busur (j, i), dinotasikan dengan w(j, i). Dalam penyajiannya dengan gambar untuk graf berarah berbobot, busur diberi label dengan bobotnya. Dari pengertian graf berbobot ini, setiap matriks A  Rnmaxn bersesuaian dengan suatu graf berarah berbobot seperti diberikan dalam definisi berikut.

Definisi 3.5.3 (Graf Bobot (Precedence Graph), Schutter, 1996)

Diberikan A Rnmaxn. Graf bobot dari A adalah graf berarah berbobot G(A) = (V, A) dengan V = {1, 2, ... , n} dan A = {(j, i) | w(i, j) = Aij  }.

Contoh 3.5.4

Diberikan A =





 

 0

4 2

2 3 1

.

Graf bobot dari A adalah graf berarah berbobot G(A) = (V, A) dengan V = {1, 2, 3}

dan A = {(1, 1), (2, 1), (3, 1), (2, 2), (3, 2), (2, 3)} yang disajikan dalam Gambar 3.5.2 di bawah ini. Perhatikan sebaliknya bahwa untuk setiap graf berarah berbobot G = (V, A) selalu dapat didefinisikan suatu matriks A Rnmaxn dengan

Aij =



 . A ) ( jika

A ) ( jika ) (

i , j

i , j i

, j w

Matriks A seperti ini disebut matriks bobot dari graf G(A). Jelas bahwa graf berarah berbobot tersebut merupakan graf bobot dari A. Terlihat bahwa graf berarah

berbobot dalam Gambar 3.5.2 di bawah ini bersesuaian dengan matriks A yang diberikan dalam Contoh 3.5.4.

Gambar 3.5.2 Graf Berarah Berbobot Contoh 3.5.4

Diberikan graf berarah berbobot G = (V, A) dengan V = {1, 2, ... , n}. Bobot suatu lintasan  = i1i2  ...  il didefinisikan sebagai jumlahan bobot busur-busur yang menyusun  . Bobot lintasan  dinotasikan dengan w. Untuk matriks A  Rnmaxn, bobot suatu lintasan lintasan  = i1i2  ...  il dalam graf bobot G(A) adalah

w =

1 2 i

Ai , +

2 3 i

Ai , + ... +

1 l l i

Ai , . Bobot rata-rata lintasan , dinotasikan dengan  , didefinisikan sebagai

l

1

w (dengan operasi pembagian dan perkalian pada bilangan real).

Contoh 3.5.5

Diperhatikan graf bobot G(A) dalam Contoh 3.5.4. Panjang suatu lintasan

 = 2 3 2  1  1 adalah l = 4 . Bobot lintasan  adalah

w= w(3, 2) + w(2, 3) + w(1, 2) + w(1, 1) = A32 + A23 + A + 12 A11= 0 + 4 + 3 + 1 = 8.

Bobot rata-rata lintasan  adalah  =

l

1

w= 4

1( 8 ) = 2.

3

1

1

2

3 2

4 0

-2

Berikut diberikan suatu interpertasi dalam teori graf untuk pangkat k matriks

As, ) adalah bobot lintasan dengan panjang k dengan t sebagai titik awal dan s sebagai titik akhirnya dalam G(A), maka

st

A k)

( adalah bobot maksimum semua lintasan dalam G(A) dengan panjang k, dengan t sebagai titik awal dan s sebagai titik akhirnya. Jika tidak ada lintasan dengan panjang k dari t ke s, maka bobot maksimum didefinisikan sama dengan .

Contoh 3.5.6

Diambil matriks A dalam Contoh 3.5.4. Bobot maksimum semua lintasan dalam G(A) dengan panjang k untuk setiap pasangan titik awal dan titik akhir lintasan dapat ditentukan dari unsur-unsur matriks Ak. Misalkan diperhatikan untuk k =

2, 3, 4 berikut:A2 = lintasan dalam G(A) dengan panjang 2, dengan 2 sebagai titik awal dan 1 sebagai titik akhirnya adalah 5. Hal ini karena (A2)12= max(1+3, 3+2, 2+0) = max (3+1, 3+2, 0+(2)) = max(4, 5, 2). Situasi ini sesuai dalam G(A), dimana ada 3 lintasan dengan panjang 2, dengan 2 sebagai titik awal dan 1 sebagai titik akhirnya, yaitu:

2  1  1, 2  2  1 dan 2  3  1 yang berturut turut mempunyai bobot 4, 5 dan 2. Unsur (A3)31 =  yang berarti tidak ada lintasan dengan panjang 3, dengan 1 sebagai titik awal dan 3 sebagai titik akhirnya. Karena (A4)33 = 8, hal ini berarti bobot maksimum semua sirkuit dalam G(A) dengan panjang 4, dengan 3 sebagai

titik awal dan titik akhirnya adalah 8, yang bersesuaian dengan sirkuit 3  2  3

 2  3.

Sekarang diperhatikan bobot rata-rata maksimum sirkuit elementer, dengan maksimum diambil atas semua sirkuit elementer dalam graf. Diberikan A Rnmaxn dengan graf bobotnya G (A) = (V, E ). Bobot maksimum dari semua sirkuit dengan panjang k dengan titik i sebagai titik awal dan titik akhir dalam G(A) dituliskan sebagai (Ak)ii. Maksimum dari bobot maksimum semua sirkuit dengan panjang k dengan titik i sebagai titik awal dan titik akhir dalam G(A) atas seluruh titik i

1 trace(Ak) . Kemudian diambil maksimum atas sirkuit dengan panjang k  n, yaitu atas semua sirkuit elementer, diperoleh suatu rumus untuk bobot rata-rata maksimum sirkuit elementer dalam G(A) (dinotasikan dengan max(A)),

Suatu sirkuit dalam graf G disebut sirkuit kritis jika bobot rata-ratanya sama dengan bobot rata-rata maksimum sirkuit elementer dalam G. Suatu graf yang terdiri dari semua sirkuit kritis dari graf G disebut graf kritis dari G dan dinotasikan dengan Gc.

. Graf bobot G(A) dinyatakan dalam Gambar 3.5.3.

Akan ditentukan max(A), bobot rata-rata maksimum sirkuit elementer dalam G(A)

di atas. Diperhatikan bahwa: A2 =

Gambar 3.5.3 Graf Bobot Contoh 3.5.7

max(A) =

3

1

k (

k

1 trace(Ak)) = max(

1 1(1),

2 1(4),

3

1(5) ) = 2

1(4) = 2.

Sirkuit kritis dalam G(A) di atas adalah sirkuit 1  2  1 dan 2  1  2, sehingga graf kritis Gc(A) dapat disajikan dalam Gambar 3.5.4 berikut.

Gambar 3.5.4 Graf Kritis Contoh 3.5.7

Teorema 3.5.8 (Baccelli, et.al., 2001)

Diberikan A  Rnxnmax. Jika semua sirkuit dalam G(A) mempunyai bobot takpositif, maka p  n , Ap

m E  A  ...  An1 .

Bukti:

Karena banyak titik dalam G(A) adalah n maka semua lintasan dengan panjang p

 n tersusun dari k sirkuit dengan jumlah panjang seluruh sirkuit kurang dari p dan

3

2

3

1

2

1 1

1 2

1

3

2

1

1

satu lintasan dengan panjang kurang dari n. Hal ini berarti untuk setiap p  n dan untuk setiap s, t  {1, 2, ..., n}, , terdapat r  {1, 2, ..., n} sehingga (Ap)st = (Al)st +

k

i

r , r m

i i

i )

A

( dengan 0  l  n1, 1  mi  n , 1  ri  n dan k = 1, 2, 3, ... .

Karena semua sirkuit mempunyai bobot nonpositif maka untuk setiap p  n dan untuk setiap s, t  {1, 2, ..., n} berlaku (Ap)st  (Al)st dengan 0  l  n1.

Akibatnya Ap

m A  ...  An1, p  n.

Karena untuk setiap A  Rnxnmax berlaku E  A

mA, maka

Ap

m E  A  ...  An1, p  n. ■ Berdasarkan Teorema 3.5.8 di atas didefinisikan operasi bintang () untuk matriks berikut ini.

Definisi 3.5.9

Diberikan A Rnxnmax dengan semua sirkuit dalam G(A) berbobot takpositif.

Didefinisikan A* : = E  A  ...  AnAn1 ...

dan A+ : = A  A*.

Berikut diberikan definisi untuk istilah lain matriks yang sirkuit dalam G(A) mempunyai bobot takpositif dan negatif. Istilah ini akan digunakan dalam masalah penyelesaian sistem persamaan linear iteratif max-plus pada pembahasan subbab berikutnya.

Definisi 3.5.10

Suatu matriks A Rnmaxn dikatakan semi-definit jika semua sirkuit dalam G(A) mempunyai bobot takpositif dan dikatakan definit jika semua sirkuit dalam G(A) mempunyai bobot negatif.

Berikut ini list program MATLAB untuk menghitung matriks A+ dan A* .

% Program Matlab Menghitung A+ dan A*

% Oleh: M. Andy Rudhito FKIP Universitas Sanata Dharma

% input: A = matriks batas bawah dan atas max-plus Anxn

% output: Matriks A+ dan A*

A1 = input(' Masukkan matriks Anxn = ');

A1

[m, n]= size(A1);

% Menghitung A pangkat dan A+

G1=A1;

A1_plus = A1;

for s=1:100 s+1;

for i = 1: m

for j = 1: n

F1(i, j) = -Inf;

for p = 1: n

F1(i, j) = max( F1(i, j) , A1(i, p) + G1(p, j) );

end;

end;

end;

G1 = F1;

F1;

A1_plus = max(A1_plus, F1);

end;

disp(' Matriks A+ '), disp(A1_plus)

% Menghitung matriks E dan A*

for i = 1 : n for j = 1 : n if i ~= j E(i,j) = -Inf;

end;

end;

end;

A1_star= max(E, A1_plus);

disp(' Matriks A* '), disp(A1_star)

Gambar 3.5.5 List Program MATLAB untuk Menghitung Matriks A+ dan A*.

Berikut diberikan beberapa contoh matriks dan hasil perhitunganya dengan program di atas.

Contoh 3.5.11.

Diperhatikan matriks A seperti pada Contoh 3.5.7 di atas. Hasil perhitungan sebagai berikut, dengan mengambil pangkat tertinggi 100.

Masukkan matriks Anxn = [-2 3 1; 1 1 -Inf;-Inf 2 1]

A1 =

-2 3 1 1 1 -Inf -Inf 2 1 Matriks A+

201 203 201 201 201 199 200 202 200 Matriks A*

201 203 201 201 201 199 200 202 200

Nampak bahwa hasil perhitungan akan membesar dan tidak akan konvergen. Hal ini nampak juga sesuai dengan G(A) di mana terdapat sirkuit dengan bobot positif.

Contoh 3.5.12.

Dari G(A) pada Contoh 3.5.7 jika sedikit dimodifikasi bobot busurnya, sedemikian hingga semua bobot sirkuitnya berbobot nonnegatif dan diperoleh matriks bobot A

berikut, A =







1 2 1 1

1 3 2

 .

Dengan program di atas diperoleh hasil perhitungan berikut.

Masukkan matriks Anxn = [-2 -3 1;1 0 -Inf;-Inf -2 0]

A1 =

-2 -3 1 1 0 -Inf -Inf -2 0 Matriks A+

0 -1 1 1 0 2 -1 -2 0 Matriks A*

0 -1 1 1 0 2 -1 -2 0

Nampak bahwa dengan perhitungan sampai pangkat sampai ke-100, matriks tidak membesar melainkan konvergen.

Contoh 3.5.13.

Diberikan matriks A =









8 7 6

10 9

5 . Nampak bahwa graf bobot matrik tersebut

tidak memuat sirkuit atau semua sirkuitnya berbobot , sehingga matriks tersebut juga merupakan matriks definit. Dengan program di atas diperoleh hasil perhitungan berikut.

Masukkan matriks Anxn = [-Inf -Inf -Inf -Inf;5 -Inf -Inf -Inf; 9 10 -Inf -Inf; 6 7 8 -Inf]

A1 =

-Inf -Inf -Inf -Inf 5 -Inf -Inf -Inf 9 10 -Inf -Inf 6 7 8 -Inf Matriks A+

-Inf -Inf -Inf -Inf 5 -Inf -Inf -Inf 15 10 -Inf -Inf 23 18 8 -Inf Matriks A*

0 -Inf -Inf -Inf 5 0 -Inf -Inf 15 10 0 -Inf 23 18 8 0

Nampak bahwa dengan perhitungan sampai pangkat sampai ke-100, matriks tidak membesar melainkan konvergen.