BAB 2 LANDASAN TEORI Pada bab ini akan dijelaskan himpunan dan beberapa definisi yang berkaitan dengan himpunan, serta konsep dasar dan teori graf yang akan digunakan pada bab selanjutnya. 2.1 Himpunan Sebelum mendefinisikan graf akan dijelaskan terlebih dahulu apa yang disebut dengan himpunan berdasarkan definisi-definisi yang sudah ada mengenai himpunan, karena graf merupakan bagian dari himpunan. Definisi 2.1 Objek dalam suatu himpunan disebut elemen atau anggota dari himpunan. Himpunan dinyatakan sebagai kumpulan dari elemen-elemennya.(rosen, 1999). Ada beberapa cara untuk mendeskripsikan suatu himpunan. Salah satu caranya adalah dengan mendaftar anggota dari himpunan tersebut bila hal itu mungkin dilakukan. Contoh 2.1 1. Himpunan bilangan bulat positif yang kurang dari 5 dari dapat ditulis dengan Z = {1,2,3,4}. 2. Himpunan bilangan bulat positif kurang dari 1000 dapat ditulis dengan Z = {1,2,3,...,999}. Suatu himpunan mungkin saja memiliki anggota yang sama banyaknya, bahkan mungkin memiliki anggota yang sama. Definisi 2.2 Duah buah himpunan disebut sama jika dan hanya jika memiliki elemen atau anggota yang sama. Contoh 2.2 Himpunan {a,i,u,e,o} sama dengan himpunan {o,i,e,u,a}.
Definisi 2.3 Himpunan A disebut subset dari B jika dan hanya jika setiap elemen di A juga merupakan elemen di B. Kita gunakan notasi A B untuk menyatakan A subset dari B (Rosen, 1999:41) Contoh 2.3: Misalkan himpunan A= {1,2,3,6} dan {1,2,3,4,5,6,7} maka himpunan A dapat disebut sebagai subset dari himpunan B ditulis A. Definisi 2.4 Misalkan S adalah suatu himpunan, jika terdapat tepat n buah elemen yang berbeda pada S dimana n adalah bilangan bulat tak negatif, dikatakan S adalah himpunan berhingga dan n adalah banyaknya bilangan (cardinality) dari S. Cardinality himpunan S dinotasikan dengan S.(Rosen, 1999) 2.1.1. Beda Simetri Misalkan terdapat dua buah himpunan A dan B. Maka beda simetri dari himpunan A dan B didefinisikan sebagai himpunan yang elemennya terdiri dari gabungan masingmasing elemen himpunan A dan elemen himpunan B tetapi tidak memuat elemen yang terdapat pada himpunan A sekaligus terdapat pada himpunan B. Beda simetris himpunan A dan B dapat dinotasikan dengan A (Rosen, 1999) Karena beda simetri himpunan A dan B terdiri dari gabungan masing-masing elemen himpunan A dan elemen himpunan B tetapi tidak memuat elemen yang terdapat pada himpunan A sekaligus terdapat pada himpunan B, maka beda simetri dapat dinyatakan dengan (A Pernyataan ini ekivalen dengan (A\B) ).(Rosen, 1999) Contoh 2.4: Misalkan himpunan A = {1,2,3,4,5,6,11,12,13} dan B = {2,6,7,8.9,10} maka A B = {1,3,4,5,7,8,9,10,11,12,13}. 2.2. Pengertian Graf Tulisan pertama tentang teori graf adalah karya Leonhard Eulerr pada tahun 1736. Tulisan ini menyajikan sebuah teori umum yang menyertakan sebuah solusi yang sekarang lazim dikenal dengan masalah jembatan K igsberg. Dalam masalah ini
terdapat dua pulau yang terhampar di sungai Pregel yang terletak di kota K igsberg ( kota tua di Prusia Timur yang sekarang dikenal dengan Kaliningrad) yang saling terhubung oleh tujuh buah jembatan. Permaasalahan yang muncul yaitu apakah ada sebuah rute yang memungkinkan agar ketujuh jembatan tersebut dapat dilewati tepat satu kali. Konfigurasi dari jembatan tersebut dapat dimodelkan dengan sebuah graf, yang pada akhirnya masalah tersebut terjawab bahwa tidak ada sebuah rute yang memungkinkan agar ketujuh jembatan tersebut dapat dilewati tepat satu kali.(rinaldi Munir, 2007) Ada beberapa definisi mengenai graf diantaranya: Graf G didefinisikan sebagai pasangan himpunan (V,E), ditulis dengan notasi G= (V,E), yang dalam hal ini V adalah himpunan tidak-kosong dari simpul-simpul yang sering disebut vertices atau node, dan E adalah himpunan rusuk yang sering disebut edges atau arcs yang menghubungkan sepasang simpul. Graf dapat digambarkan atau diilustrasikan dengan 3 cara, yaitu dengan himpunan simpul dan sisi, matriks atau diagram. Jika digambarkan dalam bentuk diagram, simpul diwakili oleh titik atau noktah ( yang kita gambarkan sebagai lingkaran kecil) dan rusuk e= {u,v} diwakili oleh segmen garis atau kurva yang mengaitkan titik u dan titik v. Untuk lebih jelasnya dapat dilihat contoh graf G seperti gambar 2.1. e 1 v1 e 2 e 3 v 5 e 4 e 5 e 6 e 7 v 3 e 8 Gambar 2.1 Graf G
Pada Graf G ini, yang merupakan himpunan nodenya adalahv( G) = { v1, v2, v3, v4, v5}, sedangkan himpunan edgenya E( G) = { e, e, e, e, e, e, e, e }. Jadi graf G pada Gambar 2.1 terdiri dari 5 node dan 8 edge. 1 2 3 4 5 6 7 8 Suatu edge e ditulis e={u,v} dapat juga ditulis dengan uv atau vu disebut sebagai garis penghubung antara simpul u dan v. Pada Gambar 2.1 e 1 = { v 1, }, e = { v, v }, e3 = { v2, v5} merupakan beberapa contoh edge yang dapat juga disebut 2 1 2 garis penghubung. Suatu node u dan v disebut sebagai node ujung dari edge e, jika e merupakan garis penghubung dari node u dan v. Pada gambar 2.1 dan v 5 adalah node yang merupakan simpul ujung dari edge e 7. Pada graf-graf tertentu, terkadang sebuah edge terhubung ke node yang sama, edge seperti ini dapat disebut sebagai loop. Pada gambar 2.2 graf G mempunyai 1 loop yaitu e 7. Suatu graf dikatakan mempunyai edge ganda jika pada graf tersebut minimal dua edge yang menghubungkan dua node yang berlainan. Pada Gambar 2.1, e1 dan e2 merupakan edge ganda. 2.2.1 Istilah- istilah dalam graf Pada suatu graf G node u dan v disebut sebagai node yang saling ajasen jika node u dan v merupakan node-node ujung atau node u dan v menempel pada edge yang sama. Pada Gambar 2.1, node v 1 dan v 2, v 1 dan v 3, v 3 dan v 4 adalah pasangan node yang saling ajasen. Edge e 1 dan e 2 didefinisikan sebagai edge yang saling ajasen jika salah satu node dari kedua edge tersebut sama. Pada Gambar 2.1 beberapa contoh edge yang saling ajasen yaitu: e1 dan e 2, e 2 dan e 5, e 2 dan e 6, e 5 dan e 6, e 2 dan e 6.
Node u dan edge e, node v dan edge dan rusuk e disebut berisiden, jika u dan v merupakan node ujung dari edge e. Pada Gambar 2.1, v 3 dan e 8, v 4 dan e 8 adalah contoh node dan edge yang berinsiden. Misalkan terdapat suatu graf G. Maka node pada graf G disebut node terisolasi jika node tersebut tidak berajasen dengan edge manapun. Perhatikan Gambar 2.2, dalam hal ini v 3 disebut node terisolasi. v 3 v 5 v 1 Gambar 2.2 Simpul Terisolasi Derajat (degree) dari suatu node v yang dinotasikan dengan G(V) adalah banyaknya edge pada graf G yang berinsiden dengan node v. Khusus pada loop derajatnya dihitung dua kali. Suatu node v disebut berderajat n jika mempunyai derajat sebanyak n. Contoh 2.4: Perhatikan Gambar 2.1 1. v 3 disebut berderajat 3 karena banyak edge yang berisiden dengan v 3 ada 3, yaitu e 5, e6 dan e 8. 2. v 5 disebut berderajat 4 walaupun banyaknya edge yang berisiden dengan v 5 ada 3, yaitu e 3, e 4 dan e 7, tetapi e 4 merupakan loop. Oleh karena itu, banyak derajatnya dihitung dua.
Derajat minimum dari graf G dinotasikan dengan δ(g) adalah jika banyaknya edge yang berisiden dengan node v paling sedikit dari node lain pada graf G. Sebaliknya, jika node yang berisiden dengan node v tersebut paling banyak, maka node v dikatakan mempunyai derajat maksimum dan biasa dinotasikan dengan (G). Misalkan terdapat G, jalan (walk) pada graf G didefinisikan sebagai suatu barisan yang tak kosong dan berhingga yang suku-sukunya bergantian antara node dan edge. Jalan boleh saja memuat edge dan node yang sama. Jalan dinyatakan dengan W. Pada Gambar 2.1, { vevevevev 1 5 3 6 2 6 3 8 4 } merupakan contoh jalan, dan dapat ditulis dengan W ={ vevevevev 1 5 3 6 2 6 3 8 4 }. Karena jalan pada contoh ini dimulai dari node v 1 dan berakhir pada node, maka v 1 disebut sebagai node awal dan v 4 disebut sebagai node akhir, sedangkan node-node selain v 1 dan v 4 disebut node-node internal dari W. Selanjutnya, panjang dari suatu jalan dapat didefinisikan sebagai banyaknya edge yang terdapat didalam suatu jalan. Jejak (trail) pada suatu graf G didefinisikan sebagai suatu barisan yang tak kosong dan berhingga yang suku-sukunya bergantian antara node dan edge dan masing-masing edge tidak boleh termuat lebih dari satu kali. Pada jejak, node boleh saja termuat lebih dari satu kali. Jejak dinyatakan dengan T. Pada Gambar 2.1 { vevevve 3 5 4 5 3 7 4 } adalah contoh jejak dan dapat ditulis T={ vevevve 3 5 4 5 3 7 4 }. Selanjutnya jika pada suatu jejak node awal dan node akhirnya sama maka jejak tersebut disebut jejak tertutup. Pada Gambar 2.1 T = { vevevev 1 5 3 6 2 2 1 } adalah contoh jejak tertutup karena v 1 merupakan node awal sekaligus node akhir. Jika pada suatu jejak tertutup node awal dan simpul internalnya berbeda, maka jejak tertutup tersebut dinamakan siklus (cycle). Siklus dinotasikan dengan Cn dengan n adalah banyaknya node yang termuat dalam suatu siklus. Pada Gambar 2.1 { vevevevevev} 1 5 3 8 4 7 5 3 2 2 1 merupakan contoh siklus.
Lintasan (path) dinotasikan dengan P, didefinisikan sebagai suatu barisan yang tak kosong yang suku-sukunya bergantian antara node dan edge, serta node- nodenya berlainan ( tidak ada node yang termuat lebih dari satu kali). Pada Gambar 2.1 yang merupakan contoh lintasan yaitu { vevevev 1 5 3 8 4 7 5 }, sehingga dapat ditulis P = { vevevev 1 5 3 8 4 7 5 }. Suatu graf dikatakan sebagai graf sederhana jika pada graf tersebut tidak mengandung edge ganda dan loop. Perhatikan Gambar 2.3, graf G bukanlah graf sederhana, karena mengandung edge ganda e 3 dan e 4 serta mengandung loop yaitu e 8, sedangkan Graf H merupakan contoh graf sederhana. Graf yang mengandung edge ganda dan loop biasanya disebut sebagai graf ganda. e 4 v 1 e 1 e 3 v 1 e 1 e 3 e 2 e 5 e 6 e 2 e 4 e 5 v 3 e 7 v 5 e 8 v 3 e 6 v 5 H) Graf 2.3a (Graf G) Graf 2.3b(Graf Gambar 2.3a Graf sederhana dan bukan sederhana Gambar 2.3.b Suatu graf G dikatakan sebagai graf kosong jika graf tersebut hanya terdiri dari himpunan simpul. Graf kosong yang terdiri dari n simpul dinotasikan dengan Nn. Gambar 2.4 merupakan contoh graf kosong.
N 1 N 2 N 3 N 4 Gambar 2.4 Graf Kosong Suatu graf G dikatakan sebagai graf lengkap jika tiap node pada graf tersebut berajasen dengan tiap node lainnya. Suatu graf lengkap dengan n yang menyatakan banyaknya node, dinotasikan dengan Nn. Gambar 2.5 merupakan contoh graf lengkap dengan 4 simpul. v 3 e 1 e 2 v 1 e 3 e 4 Gambar 2.5 Graf lengkap dengan 4 simpul Suatu graf G dikatakan sebagai graf berbobot jika setiap edgenya mempunyai nilai atau bobot tertentu. Bobot pada graf biasanya dinotasikan dengan wij dimana i dan j sebagai node yang berisiden dengan edge yang memiliki bobot w tersebut. Pada Gambar 2.6 bobot dari e 1 atau W vv 1 2= 4
v 1 v 3 4 13 9 Gambar 2.6 Graf Berbobot 2.2.2 Graf Bipartit Graf Bipartit didefinisikan sebagai graf yang memiliki himpunan node V yang dapat dipartisi menjadi dua himpunan bagian X dan Y, sehingga masing-masing edgenya memiliki titik ujung pada X dan titik ujung lainnya pada Y, dengan demikian {X,Y} dapat disebut sebagai bipartisi pada graf. Jika tiap node pada himpunan X berajasen dengan semua node pada Y maka graf bipartit tersebut dinamakan graf bipartit lengkap. Graf bipartit lengkap dengan banyaknya node pada X atau X = m dan banyaknya node pada Y atau Y = n, dinotasikan dengan Km,n. v 1 v 5 v 3 v 6 v 7 Gambar 2.7 Graf Bipartit lengkap K 4,3
Pada Gambar 2.7, dapat dilihat graf tersebut dapat dipartisi menjadi 2 himpunan bagian X dan Y dimana X = { v1, v2, v3, v 4} dan Y{ v 5, v 6, v 7 }. Tiap-tiap node pada himpunan X berajasensi dengan semua node pada himpunan Y. 2.2.3 Spanning Subgraph Subgraph dari G didefinisikan sebagai graf yang merupakan himpunan bagian dari himpunan node dan edge pada graf G. Sedangkan spanning subgraph dari graf G adalah subgraph yang memuat semua node dari graf G. Graf H pada Gambar 2.8 merupakan salah satu contoh spanning subgraph dari graf G pada Gambar 2.1. e 3 v 5 v 1 e 6 e 7 e 5 v 3 e 8 Gambar 2.8 Graf H (Spanning subgraph dari graf G)
2.3. Matching graf Sebelum membahas lebih jauh mengenai optimal assignment problem dan cara penyelesaiannya, akan dibahas mengenai definisi matching dan matching pada graf bipartit, karena penyelesaian optimal assignment problem akan menggunakan penerapan matching pada graf bipartit. Misalkan G=(V,E) adalah graf sederhana dan bukan graf kosong. Maka, matching M didefinisikan sebagai himpunan bagian yang tidak kosong dari edge E(G) sedemikian hingga tidak ada edge dari M yang saling ajasen di G. Selanjutnya nodenode ujung dari matching M disebut matched di bawah M. Untuk lebih jelasnya, perhatikan Gambar 2.9. M = { e1, e6, e7} adalah salah satu contoh matching yang dapat dibuat pada graf G. v 5 v 1 e 1 e 7 e 2 e 5 e 4 e 8 v 6 e 3 e 6 v 5 Gambar 2.9 Contoh Matching Jika M adalah suatu Matching, maka suatu node v i dikatakan saturated oleh matching M atau matching M saturates terhadap node v i jika ada sebuah edge dari matching M menempel pada node v i tersebut. Sebaliknya jika tidak ada maka node v i disebut unsaturated M. Perhatikan Gambar 2.9, v 1 dan v 2 disebut saturated oleh M, sebaliknya pada Gambar 2.10., v 1 disebut unsaturated karena tidak ada matching M yang menempel pada v 1.
v 1 Gambar 2.10 Contoh simpul unsaturated M Matching M disebut matching sempurna jika setiap node pada G saturated oleh matching M. Pada Gambar 2.9 semua node saturated oleh matching M, maka graf pada Gambar 2.9 merupakan contoh matching sempurna. Sedangkan pada Gambar 2.10 ada satu node yaitu v 1 yang tidak saturated oleh matching M, maka graf pada Gambar 2.10 bukan contoh matching sempurna. Dari sebuah graf G, bisa saja diperoleh lebih dari satu matching M. Suatu matching M disebut matching maksimum jika untuk setiap matching pada graf G tidak terdapat matching M dengan M M. Sehingga setiap matching sempurna adalah matching maksimum. Namun sebaliknya, jika M adalah matching maksimum belum tentu M merupakan matching sempurna. Gambar 2.9 merupakan matching sempurna sekaligus matching maksimum dan Gambar 2.10 merupakan contoh matching maksimum tetapi bukan matching sempurna. Misalkan M adalah matching dan P adalah lintasan pada graf G. Lintasan P disebut M-alternating jika edge-edgenya pada P terbentang dalam M dan berada pada E(G)\M, dengan kata lain edgenya bergantian antara M dan E(G)\M. Selanjutnya Lintasan P disebut M-augmenting jika lintasan ini M-alternating dan node awal serta
node akhir dari Lintasan P merupakan M- unsaturated. Untuk lebih jelasnya perhatikan Gambar 2.11. v 1 e 1 e 2 e 4 v 9 e 3 e 5 e 6 e 9 v 5 e7 v 8 v 3 e 8 v 7 Gambar 2.11 Contoh M-Augmenting dan M-Alternating Pada Gambar 2.11, yang merupakan contoh lintasan M-alternating yaitu { vevevevev 4 2 2 3 6 6 5 7 3}. Sedangkan { vevevevevev 8 9 6 3 2 5 5 7 3 8 7} merupakan contoh lintasan M- augmenting karena node awalnya yaitu v 8 dan node akhirnya yaitu v 7 merupakan node yang berada pada E(G)\M dan unsaturated M. Misalkan M adalah matching pada graf G, dan terdapat matching lain, sebut saja M dengan M M menunjukkan perbedaan simetris M dan M. Maka dapat diperoleh suatu graf H=G(M M ) yang merupakan graf yang direntang oleh edge M M dengan menghapus semua edge M M dan edge (G\M) (G\M ). Untuk lebih jelasnya perhatikan contoh 2.5. Contoh 2.5 Diberika graf G yang memuat matching M dan matching M seperti pada Gambar 2.12. Akan dicari H=G(M M ).
v 1 v 3 v 5 v6 v 7 v 8 v 9 v 10 v 11 Gambar 2.12 Graf G dengan matching M dan matching M Edge yang menghubungkan node v 5 dan node v 8 merupakan anggota-anggota matching M sekaligus anggota matching M (M M ). Maka, edge tersebut dihapus. Edge yang menghubungkan node v 5 dan node v 11 serta edge yang menghubungkan node v 6 dan node v 8 bukan anggota matching M sekaligus bukan anggota matching M ((G\M) (G\M )), oleh karena itu dihapus. Selanjutnya diperoleh H=G(M M ), seperti Gambar 2.13. v 1 v 5 v 6 v 3 v 7 v 8 v 9 v 10 v 11 Gambar 2.13 H= GM ( M') Lemma 2.1 Misalkan M dan M adalah dua matching yang berbeda pada G, H = G (M M ), dengan M M menunjukkan beda simetris dari M dan M. Setiap komponen dari H pasti berkaitan dengan salah satu dari ketiga bentuk dibawah ini: 1. Node terisolasi.
2. Siklus (M,M )-alternating dengan orde genap. 3. Lintasan (M,M )-alternating. Bukti: Misalkan V adalah himpunan node dan E adalah himpunan edge pada graf G dengan M dan M adalah dua matching yang berbeda, maka akan terdapat tiga kasus: 1. Node yang berisiden dengan edge M M atau edge(g\m) (G\M ) tetapi tidak berinsiden dengan matching M maupun M, maka pada graf H node tersebut merupakan node terisolasi. v 1 v 3 v 5 v 6 M M v 7 v 8 v 9 v 10 v 11 Gambar 3.14 Contoh Graf G dengan matching M dan matching M v 1 v 3 v 5 v 6 v 7 v8 v 9 v 10 v 11 Gambar 3.15 H= GM ( M') dari Graf 2. Andaikan P adalah komponen dari H. Dalam hal ini 1 P 2. Jika semua node pada P mempunyai derajat dua, maka masing-masing nodenya berinsiden
dengan satu edge pada M dan satu edge pada M. Maka dapat disimpulkan bahwa siklus (M, M )-alternating dengan orde genap. 3. Ada x V( P) sedemikian hingga dengan H(x) = 1. Maka terdapat paling sedikit satu node misalkan saja node y, dengan derajat satu selain node x. Ketika (P) 2, P adalah lintasan yang menghubungkan x dan y. Node-node internalnya (jika ada) merupakan node berderajat dua, maka P adalah lintasan (M, M )-alternating. Contoh 2.6: 1. Perhatikan Gambar 2.14 dan Gambar 2.15. Node {,, v 7 } pada graf G menjadi node terisolasi pada graf H. 2. Pada Gambar 2.15, { vvvv 1 7 3 10} adalah lintasan (M, M )-alternating. 3. Pada Gambar 2.15, { vvvv 5 8 6 1v 15}, adalah siklus (M,M )-alternating dengan orde genap. Teorema 2.1(Teorema Berge) Matching M pada graf G adalah matching maksimum jika dan hanya jika G tidak mengandung lintasan M-augmenting. Bukti: 1. Akan dibuktikan dengan kontradiksi. Misalkan M adalah matching maksimum pada graf G dan terdapat lintasan M-augmenting P. Dalam hal ini, P haruslah memiliki jumlah edge yang ganjil, karena agar suatu lintasan P merupakan lintasan M-augmenting, setiap satu edge yang merupakan matching M harus berajasen dengan dua rusuk lainnya yang bukan matching (E(G)\M). Untuk lebih jelasnya, misalkan lintasan M-augmenting P= { vvv 0 1 2... v v k 1 k }. Perhatikan bahwa k jumlah edge berjumlah ganjil, karena v 0 dan v k unsarated M, artinya vv 0 1 dan v 1 v k k harus bukan anggota matching M. Selanjutnya definisikan himpunan edge M (G) dengan M = ( M { vv, vv... v }) { vv, vv... v 1 }, maka M merupakan v k 1 2 3 4 v 1 2 k k 0 1 2 3 k matching pada graf G dengan nilai M = M +1. Hal ini kontradiksi dengan M adalah matching maksimum. Oleh karena itu, jika M adalah matching maksimum pada graf G, maka G tidak mungkin memiliki lintasan M-augmenting.
2. Akan dibuktikan dengan kontradiksi. Misalkan M bukan matching maksimum dan M adalah matching maksimum di G. Akibatnya M H=G(M M ) dengan M M menunjukkan beda simetri di M dan M. M. Definisikan, Dari pembuktian lemma 2.1, diperoleh setiap node di H berderajat 1 atau 2, karena setiap node di H berinsiden dengan paling banyak satu edge di M dan satu edge di M. Dengan demikian, komponen H adalah lintasan yang edgenya bergantian di M dan M atau siklus dengan banyak edgenya adalah genap. Karena M dimisalkan sebagai matching maksimum, dari penjelasan sebelumnya diperoleh M M. Akibatnya, H mempunyai lebih banyak edge M dibandingkan edge M. Sehingga lintasan P di H yang edge awal dan edge akhirnya adalah anggota dari M. Dengan kata lain node awal serta node akhir dari lintasan P merupakan M-unsaturated. Maka lintasan P adalah lintasan M-augmenting. Kita peroleh pernyataan, jika M bukan matching maksimum di G maka mengandung lintasan M-augmenting. Pernyataan ini ekivalen dengan jika G tidak mengandung lintasan M-augmenting, maka M adalah matching maksimum di G. Seperti yang telah dijelaskan sebelumnya, algoritma Kuhn-Munkres dapat direpresentasikan dengan graf bipartit. Representasi algoritma Kuhn-Munkres pada graf bipartit melibatkan penerapan matching, maka akan dibahas mengenai matching pada graf bipartit. 2.3.2 Matching Pada Graf Bipartit Sebelum membahas lebih jauh mengenai matching pada graf bipartit, akan dijelaskan dulu mengenai himpunan persekitaran. Misalkan terdapat graf sebarang G=(V,E), dengan V adalah himpunan node pada G dan S merupakan subset dari V(G), maka himpunan persekitaran dari S (neighbour set of S) adalah himpunan semua node yang berajasen dengan node-node di S. Himpunan persekitaran biasanya dinotasikan dengan N G (S). Teorema 2.2 (Teorema Hall) Misalkan G adalah graf bipartit dengan bipartisi {X,Y}. Maka G mengandung sebuah matching yang saturates untuk setiap node di X jika dan hanya jika S N G (S) untuk setiap S X. Bukti:
1. Misalkan G mengandung matching M yang saturated pada tiap node di X dan S adalah subset dari X. Karena tiap node pada S matched di bawah M dengan berbeda di N G (S, maka diperoleh S N G (S). 2. Akan dibuktikan dengan kontradiksi. Misalkan G adalah graf bipartit yang memenuhi S N G (S) untuk setiap S X, tetapi G tidak mempunyai matching yang saturated pada setiap node dari X. Misalkan M* adalah matching maksimum pada G, maka akan terdapat node u di X yang merupakan unsaturated M*. Selanjutnya definisikan himpunan node di G dengan Z= {v V(G): terdapat lintasan M*alternating dari u ke v}, dengan kata lain Z adalah himpunan semua node yang terhubung ke u oleh lintasan M*-alternating. Karena M* adalah matching dan u unsaturated M*, dari teorema 3.1 (teorema Berge) diperoleh u adalah satu-satunya node yang unsaturated M* pada Z. Misalkan S= Z X dan T = Z Y. Maka diperoleh node pada S\{u} matched di bawah M* dengan node pada T. Sehingga T = S -1 dari T subset dari N G (S). Lebih tepat lagi N G (S)=T karena setiap node di N G (S) terhubung ke u oleh suatu lintasan M*-alternating. Tetapi T = S -1 dan N G (S) = T, jadi diperoleh N G (S) = ( S -1< S hal ini kontradiksi dengan pernyataan S N G (S). Maka haruslah G memiliki matching yang saturates terhadap setiap node di X. Akibat 1(Teorema Marriage, Forbenius) Graf bipartit G dengan bipartisi {X,Y}, memiliki matching sempurna jika dan hanya jika X = Y dan S N G(S) untuk setiap S X atau Y. Akibat 2 (König) Jika G adalah graf bipartit k-reguler dengan k>0, maka G memiliki sebuah matching sempurna. Bukti: Misalkan G adalah graf bipartit k- reguler dengan bipartisi {X,Y}. Karena G adalah k-reguler, maka k X =k Y. Karena k>0, maka X = Y. Misalkan S subset dari X, dengan E1 adalah himpunan edge yang berinsiden dengan node di S dan E2 adalah himpunan node yang berinsiden dengan node di N G (S). Maka berdasarkan definisi N G (S) diperoleh E1 subset dari E2 oleh
karena itu diperoleh k N G (S) S, maka berdasarkan Teorema2.2 (Teorema Hall) diperoleh pernyataan bahwa G memiliki matching M yang saturates terhadap setiap simpul di X, dan karena X = Y, maka M adalah matching sempurna.