Anda di halaman 1dari 8

[165] Karena kita berbicara tentang kenalan, wajar untuk menggambarkan situasi dengan

grafik (atau paling tidak, bayangkan grafik yang menggambarkannya). Begitu Kami
menggambar 300 node, masing-masing mewakili seorang siswa, dan menghubungkan dua dari
mereka jika mereka saling mengenal. Sebenarnya, kita bisa membuat grafik sedikit lebih
sederhana: Kenyataan bahwa dua anak laki-laki, atau dua perempuan, saling mengenal tidak
berperan sama sekali Dalam masalah ini: jadi kita tidak perlu menarik tepi yang sesuai dengan
itu kenalan seperti itu. Kita kemudian bisa mengatur simpul, dengan mudah, sehingga simpul
yang mewakili anak laki-laki ada di sebelah kiri, dan simpul mewakili anak perempuan berada di
sebelah kanan; maka setiap edge akan menghubungkan node di sebelah kiri ke node di kanan.
Kita harus menunjukkan himpunan simpul di sebelah kiri oleh A, himpunan node di sebelah
kanan oleh B.
Dengan cara ini kita mendapatkan jenis grafik khusus, yang disebut grafik bipartit.
Gambar 10.1 menunjukkan grafik semacam itu (tentu saja, yang menggambarkan partai yang
lebih kecil). Itu Tepi tebal menunjukkan satu cara untuk memasangkan orang menari. Seperti
satu set tepi disebut pencocokan sempurna.

GAMBAR 10.1

[166] Tepatnya, mari kita definisikan definisi istilah ini: Grafik adalah bipartit Jika simpulnya
bisa dipartisi menjadi dua kelas, katakanlah A dan B, sedemikian rupa sehingga setiap edge
menghubungkan simpul di A ke simpul di B. Pencocokan sempurna adalah satu set ujung-
ujungnya sedemikian rupa sehingga setiap node mengalami salah satu dari sisi-sisi ini.
Setelah ini, kita bisa merumuskan masalah kita dalam bahasa teori graf sebagai berikut:
Kami memiliki grafik bipartit dengan 300 node, dimana setiap node memiliki gelar 50. Kami
ingin membuktikan bahwa itu berisi pencocokan sempurna.
Seperti sebelumnya, adalah ide bagus untuk menggeneralisasi pernyataan ke sejumlah
node. Mari kita berani dan tebak angka 300 dan 50 tidak ada peran apapun Satu-satunya syarat
yang penting adalah bahwa semua node memiliki derajat yang sama (dan ini bukan 0). Jadi kami
menetapkan untuk membuktikan hal berikut Teorema, dinamai dengan matematikawan Hungaria
D. Konig (yang menulis buku pertama tentang teori graf).

Teorema 10.1.1 Jika setiap simpul dari graf bipartit memiliki derajat yang sama d 1, maka itu
berisi pencocokan sempurna .

Sebelum membuktikan teorema, akan bermanfaat untuk menyelesaikan beberapa latihan, dan
kemudian diskusikan masalah lain di bagian selanjutnya.

10.1.1 Jelas bahwa untuk grafik bipartit mengandung pencocokan sempurna, itu adalah perlu
bahwa | A | = | B |. Tunjukkan bahwa jika setiap node memiliki derajat yang sama, maka ini
memang begitu

10.1.2 Tunjukkan dengan contoh bahwa kondisi yang dirumuskan dalam teorema tidak dapat
dijatuhkan:
(a) Grafik nonbipartit dimana setiap node memiliki tingkat yang sama tidak perlu berisi
pencocokan sempurna.
(b) Grafik bipartit dimana setiap simpul memiliki derajat positif (tapi tidak semua sama) tidak
perlu mencocokkan sempurna.

10.1.3 Buktikan Teorema 10.1.1 untuk d = 1 dan d = 2.

GAMBAR 10.2

[167] 10.2 Masalah lain yang cocok

Sebuah pulau dihuni oleh enam suku. Mereka dalam kondisi baik dan berpisah pulau di
antara mereka, sehingga masing-masing suku memiliki wilayah perburuan 100 mil persegi
Seluruh pulau ini memiliki luas 600 mil persegi.
Suku-suku memutuskan bahwa mereka semua harus memilih totem baru. Mereka
memutuskan bahwa setiap suku harus memilih satu dari enam spesies kura-kura yang hidup
Pulau. Tentu saja, mereka ingin memilih totem yang berbeda, dan dengan cara seperti itu bahwa
totem masing-masing suku harus terjadi di suatu tempat di wilayah mereka,
Hal ini mengingat bahwa wilayah dimana berbagai spesies kura-kura hidup tidak
tumpang tindih, dan mereka memiliki area yang sama, 100 mil persegi (jadi begitu Juga
mengikuti bahwa setiap bagian pulau ini dihuni oleh beberapa jenis penyu). Tentu saja, cara
kura-kura membagi pulau itu mungkin sama sekali berbeda dengan cara yang dilakukan suku-
suku (Gambar 10.2)
Kami ingin membuktikan bahwa pilihan totem seperti itu selalu mungkin dilakukan.
Untuk melihat pentingnya kondisi, mari kita asumsikan bahwa kita tidak melakukannya
menetapkan bahwa luas masing-masing spesies kura-kura adalah sama. Lalu beberapa Spesies
bisa menempati lebih, katakanlah, 200 mil persegi. Tapi kemudian hal itu bisa terjadi bahwa dua
suku tinggal di tempat persis 200 mil persegi ini, dan begitu juga dengan mereka hanya
kemungkinan pilihan totem akan menjadi satu dan spesies yang sama.
Mari kita coba untuk mengilustrasikan masalah kita dengan sebuah grafik. Kita bisa
mewakili masing-masing suku oleh sebuah simpul, dan juga setiap spesies kura-kura oleh sebuah
simpul. Mari kita menghubungkan tribenode ke nodus kura-kura jika spesies tersebut terjadi di
suatu tempat di wilayah Indonesia suku (kita bisa juga mengatakan bahwa suku tersebut terjadi
di wilayah [168] Spesies, kalau-kalau kura-kura juga ingin mengambil totem). Menggambar
simpul suku di sebelah kiri dan nodus kura-kura di sebelah kanan membuatnya jelas bahwa kita
mendapatkan grafik bipartit (Gambar 10.3). Dan apa yang kita inginkan untuk membuktikan?
Grafik ini memiliki pencocokan sempurna!

GAMBAR 10.3

Jadi ini sangat mirip dengan masalah yang dibahas (tapi tidak dipecahkan!) Di Bagian
sebelumnya: Kami ingin membuktikan bahwa grafik bipartit tertentu memiliki a pencocokan
sempurna Teorema 10.1.1 mengatakan bahwa untuk kesimpulan ini sudah cukup untuk
mengetahui bahwa setiap node memiliki derajat yang sama. Tapi ini terlalu kuat kondisi; itu
sama sekali tidak terpenuhi dalam contoh kita (suku B hanya memiliki dua kura-kura untuk
dipilih, sedangkan suku D memiliki empat).
Jadi apa properti dari grafik ini yang harus menjamin pencocokan yang sempurna ada?
Mengubah pertanyaan ini: Apa yang akan mengecualikan yang sempurna sesuai?
Misalnya, akan buruk jika sebuah suku tidak dapat menemukan kura-kura apapun di
dalamnya wilayah sendiri Dalam grafik, ini akan sesuai dengan simpul dengan derajat 0.
Sekarang ini bukan bahaya, karena kita tahu bahwa kura-kura terjadi di mana-mana di Pulau.
Ini juga akan buruk (dan ini sudah terjadi) jika dua suku bisa melakukannya hanya
memilih satu dan kura-kura yang sama. Tapi kura kura-kura ini pasti area seluas setidaknya 200
mil persegi, yang tidak demikian. Agak Permasalahan yang lebih halus akan muncul jika tiga
suku hanya memiliki dua kura-kura di wilayah gabungan mereka. Tapi ini juga tidak mungkin:
Dua spesies kura-kura akan mencakup area seluas setidaknya 300 mil persegi, jadi salah satunya
harus mencakup lebih dari 100. Secara umum, kita dapat melihat bahwa Wilayah gabungan dari
setiap suku k memegang setidaknya k spesies kura-kura. Di Dari segi grafik, ini berarti bahwa
untuk setiap simpul k di sebelah kiri, ada [169] setidaknya k node di sebelah kanan terhubung ke
setidaknya satu dari mereka. Kita lihat saja nanti Pada bagian selanjutnya inilah yang perlu kita
amati tentang grafik ini.

10.3 Teorema Utama

Sekarang kita nyatakan dan buktikan sebuah teorema mendasar tentang pencocokan
sempurna. Ini akan menyelesaikan solusi dari masalah tentang suku dan kura-kura, dan (dengan
beberapa pekerjaan tambahan) tentang masalah menari di prom (dan beberapa masalah lebih jauh
di jalan dari prom, sebagai nama menunjukkan).

Teorema 10.3.1 (The Marriage Teorema) Grafik bipartit memiliki a Cocok sempurna jika dan
hanya jika | A | = | B | dan untuk subset dari (katakanlah) k simpul A setidaknya ada k node B
yang terhubung setidaknya salah satu diantara mereka.

Teorema penting ini memiliki banyak variasi; beberapa hal ini terjadi di latihan. Ini
ditemukan oleh ahli matematika Jerman G. Frobenius, oleh Hungaria D. Konig, American P.
Hall, dan lain-lain.
Sebelum membuktikan teorema ini, mari kita bahas satu pertanyaan lagi. Jika kita
perselisihan "kiri" dan "benar," pertandingan yang sempurna tetap merupakan pertandingan yang
sempurna. Tapi apa yang terjadi dengan kondisi yang tercantum dalam teorema? Mudah dilihat
itu tetap berlaku (sebagaimana mestinya). Untuk melihat ini, kita harus berdebat bahwa jika kita
pilihlah set S dari k node di B, maka mereka terhubung ke setidaknya k node di A. Misalkan n = |
A | = | B | dan mari kita warna node di A terhubung ke node di S hitam, nodus lainnya berwarna
putih (Gambar 10.4). Kemudian simpul putihnya terhubung ke paling banyak n-k node (karena
mereka tidak terhubung ke node manapun di S). Karena kondisinya berlaku "dari kiri ke kanan,"
jumlah putih node paling banyak n - k. Tapi kemudian jumlah black nodes setidaknya k, yang
membuktikan bahwa kondisinya juga berlaku "dari kanan ke kiri."
Bukti. Sekarang kita bisa beralih ke bukti Teorema 10.3.1. Kita harus melakukannya
mengacu pada kondisi yang diberikan dalam teorema begitu sering sehingga akan mudah Untuk
memanggil grafik memuaskan kondisi ini "baik" (hanya untuk durasi ini bukti). Jadi grafik
bipartit "bagus" jika memiliki jumlah node yang sama kiri dan kanan, dan setiap k "kiri" node
terhubung ke setidaknya k "benar"node.
Jelas bahwa setiap grafik dengan matching sempurna adalah "bagus", jadi apa Yang
perlu kita buktikan adalah kebalikannya: Setiap grafik "bagus" berisi yang sempurna sesuai.
Untuk grafik hanya pada dua simpul, menjadi "bagus" berarti ini dua node terhubung Jadi untuk
grafik memiliki matching yang sempurna Artinya bisa dipartisi menjadi grafik "bagus" dengan 2
node. (Untuk Membagi sebuah grafik berarti kita membagi node menjadi kelas, dan menyimpan
sebuah tepi antara dua node hanya jika mereka berada di kelas yang sama.)

[170] GAMBAR 10.4

Teorema penting ini memiliki banyak rencana Sekarang adalah memartisi grafik kita
menjadi dua bagian "bagus" partisi masing-masing menjadi dua "baik" bagian, dll, sampai kita
mendapatkan "baik" bagian dengan 2 node Kemudian ujung-ujungnya tetap membentuk
pencocokan sempurna. Untuk melaksanakan rencana ini, sudah cukup untuk membuktikannya.

Jika grafik bipartit "bagus" memiliki lebih dari 2 simpul, maka bisa dipartisi menjadi
dua grafik bipartit yang baik.

Mari kita coba partisi yang sangat sederhana dulu: Pilih node a A dan b B yang
dihubungkan oleh tepi; Biarkan kedua simpul ini menjadi bagian pertama, dan sisanya node yang
lain. Tidak ada masalah dengan bagian pertama: itu adalah "baik." Tapi bagian kedua mungkin
tidak baik: Ini bisa memiliki beberapa set S dari k node di sebelah kiri terhubung ke kurang dari
k node di sebelah kanan (Gambar 10.5). Dalam grafik asli, k node ini terhubung setidaknya k
simpul di B; ini hanya bisa bertahan jika kth node tersebut adalah simpul b. Biarkan T
menunjukkan himpunan tetangga S dalam grafik asli. Apa yang penting Yang perlu diingat
adalah bahwa | S | = | T |.
Sekarang kita mencoba cara lain untuk mempartisi grafik: Kita mengambil S T
(bersama-sama dengan ujung di antara mereka) sebagai satu bagian, dan sisa simpul seperti yang
lainnya. (Istirahat ini tidak kosong: Simpul miliknya, misalnya.)

[171] GAMBAR 10.5

Untuk grafik kedua, berikut juga bahwa ada baiknya jika kita bertukar "Kiri" dan
"benar." Ini melengkapi buktinya. Apakah ini?
Kita masih harus membuktikan Teorema 10.1.1. Ini sekarang cukup mudah dan
dibiarkan ke pembaca sebagai Latihan 10.3.1.
10.3.1 Buktikan bahwa jika dalam grafik bipartit setiap node memiliki derajat yang sama d = 0,
maka grafik bipartit "bagus" (dan karenanya mengandung pencocokan sempurna; ini
membuktikan Teorema 10.1.1).
10.3.2 Anggaplah bahwa dalam grafik bipartit, untuk subset X dari simpul A di sana setidaknya |
X | node di B yang terhubung ke salah satunya (tapi sebaliknya ke Teorema 10.3.1, kita tidak
menganggap bahwa | A | = | B |). Buktikan bahwa ada satu set dari tepi yang cocok dengan setiap
simpul A dengan simpul B, di mana simpul yang berbeda dari A disesuaikan dengan nodus B
yang berbeda (namun beberapa nodus B mungkin tetap ada tiada bandingan).

10.4 Cara Menemukan Pencocokan Sempurna

Kita memiliki kondisi untuk adanya matching yang sempurna dalam grafik itu
diperlukan dan cukup. Apakah kondisi ini menyelesaikan masalah ini sekali dan untuk semua?
Agar lebih tepat: Anggaplah seseorang memberi kita grafik bipartit; apa cara yang baik untuk
memutuskan apakah itu berisi pencocokan sempurna? Dan bagaimana kita menemukan
pencocokan sempurna jika ada?

[172] Kita dapat mengasumsikan bahwa | A | = | B | (dimana, seperti sebelumnya, A adalah


himpunan simpul di sebelah kiri dan B adalah himpunan node di sebelah kanan). Ini mudah
untuk diperiksa, dan jika gagal, maka jelas bahwa tidak ada pencocokan sempurna, dan kita tidak
ada hal lain yang harus dilakukan
Satu hal yang bisa kita coba adalah melihat semua himpunan bagian dari tepi, dan
lihatlah apakah salah satu dari ini adalah pencocokan sempurna. Cukup mudah melakukannya;
tapi ada banyak himpunan bagian untuk diperiksa! Katakanlah, dalam contoh pengantar kami,
kita memiliki 300 node, jadi | A | = | B | = 150; Setiap simpul memiliki derajat 50, jadi jumlah
tepi adalah 150 50 = 7500; jumlah himpunan bagian dari rangkaian ini Ukurannya 27500>
102257, angka yang lebih banyak dari astronomi.
Kita bisa melakukan sedikit lebih baik jika bukannya memeriksa semua himpunan
bagian dari Tepi, kita melihat semua cara yang mungkin untuk memasangkan elemen A dengan
elemen dari B, dan periksa apakah salah satu dari pasangan ini cocok dengan simpul saja
terhubung satu sama lain dengan tepi. Sekarang jumlah cara untuk berpasangan simpulnya
"hanya" 150! 10263. Masih putus asa.
Bisakah kita menggunakan Teorema 10.3.1? Untuk mengecek apakah itu perlu dan
cukup Kondisi untuk eksistensi pencocokan sempurna sudah terpenuhi, kita harus lihatlah setiap
subset S dari A, dan lihat apakah jumlah itu ada di dalamnya B setidaknya sama besarnya dengan
S itu sendiri. Karena himpunan A memiliki 2150 1045 himpunan bagian, ini membutuhkan
jumlah kasus yang jauh lebih kecil daripada yang sebelumnya kemungkinan, tapi tetap
astronomi!
Jadi Teorema 10.3.1 tidak terlalu banyak membantu dalam menentukan apakah Grafik
yang diberikan memiliki pencocokan sempurna. Kami telah melihat hal itu membantu
membuktikan bahwa sifat tertentu dari grafik menyiratkan bahwa grafiknya sempurna
Pencocokan Kita akan kembali ke teorema ini nanti dan membahas maknanya. Saat ini, kita
harus menemukan cara lain untuk mengatasi masalah kita.
Mari kita perkenalkan satu ekspresi lagi: Dengan pencocokan yang kita maksud satu set
tepi yang tidak memiliki titik akhir yang sama. Pencocokan sempurna adalah spesial Kasus bila,
di samping itu, ujung-ujungnya menutupi semua simpul. Tapi bisa cocok jauh lebih kecil: set
kosong, atau tepi dengan sendirinya, adalah pencocokan.
Mari mencoba membuat pencocokan sempurna di grafik kami dengan memulai set
kosong dan bangun yang serasi satu per satu. Jadi kita pilih dua node yang terhubung, dan
menandai tepi di antara keduanya; maka kita pilih dua node lain yang terhubung, dan menandai
tepi antara mereka dll. Kita bisa melakukan ini sampai tidak ada dua node yang tak tertandingi
yang dihubungkan oleh sebuah edge. Tepi-tepi yang telah kita tandai bentuknya yang cocok M.
Ini sering disebut dengan serakah serakah, karena dibangun dengan rakus, tanpa pertimbangan
konsekuensi masa depan pilihan kita. Kalau kita beruntung, maka serakah Pencocokan itu
sempurna, dan tidak ada lagi yang bisa dilakukan. Tapi apa yang kita lakukan jika M tidak
sempurna? Bisakah kita simpulkan bahwa grafik tidak memiliki matching sempurna sama
sekali? Tidak, kita tidak bisa; mungkin terjadi bahwa grafik memiliki pencocokan sempurna, tapi
kami membuat beberapa pilihan yang tidak beruntung saat memilih tepi dari M.
[173] 10.4.1 Tunjukkan dengan sebuah contoh bahwa hal itu mungkin terjadi pada graf bipartit G
Pencocokan sempurna, tapi jika kita tidak beruntung, pencocokan serakah M dibangun diatas
tidak sempurna.
10.4.2 Buktikan bahwa jika G memiliki matching yang sempurna, maka setiap serakah serasi
cocok setidaknya setengah dari node.

Jadi anggaplah kita telah membuat M yang serasi yang tidak sempurna. Kita harus
mencoba meningkatkan ukurannya dengan "mundur," yaitu dengan menghapus beberapa dari
ujung-ujungnya dan menggantinya dengan lebih banyak ujungnya. Tapi bagaimana kita
menemukan tepi yang ingin kita ganti?
Caranya adalah sebagai berikut. Kami mencari jalur P di G berikut ini tipe: P dimulai
dan berakhir pada node u dan v yang tidak ada bandingannya dengan M; dan setiap tepi kedua P
adalah milik M (Gambar 10.6). Jalan seperti itu disebut jalan augmenting. Jelas bahwa jalur
tambahan P berisi hal yang aneh jumlah tepi, dan nyatanya, jumlah tepinya tidak di M adalah
satu yang lebih besar dari pada jumlah ujungnya di M.

GAMBAR 10.6

[174] Jika kita menemukan jalan afermenting P, kita bisa menghapus ujung-ujung P itu di M
dan menggantinya dengan tepi P yang tidak ada di M. Jelas bahwa ini menghasilkan M yang
cocok yang lebih besar dari M dengan satu sisi. (Itu Fakta bahwa M adalah pencocokan berikut
dari pengamatan yang tersisa tepi M tidak dapat berisi simpul P: Dua titik akhir P adalah
Seharusnya tak tertandingi, sementara simpul interior P dicocokkan tepi M yang kita hapus.) Jadi
kita bisa mengulanginya sampai kita mendapatkan a pencocokan sempurna atau M yang cocok
yang tidak ada jalan augmenting ada.
Jadi kita memiliki dua pertanyaan untuk dijawab: bagaimana kita menemukan jalan
yang menambah apakah itu ada Dan jika tidak ada, apakah ini berarti tidak ada yang sempurna
cocok sama sekali? Akan muncul jawaban untuk pertanyaan pertama juga menyiratkan jawaban
(afirmatif) untuk yang kedua.
Misalkan U adalah himpunan simpul tak tertandingi di A dan misalkan W adalah
himpunan simpul tak tertandingi di B. Seperti yang kita catat, setiap jalan yang harus ditambah
pasti ada jumlah ganjil tepi, dan karenanya harus menghubungkan simpul di U ke simpul di W.
Mari kita mencoba untuk menemukan jalan augmenting seperti yang dimulai dari beberapa node
di U. Misalkan saja, jalan Q hampir bertambah jika dimulai pada simpul di U,
berakhir di sebuah simpul di A, dan setiap tepi kedua itu milik M. An hampir augmenting path
harus memiliki genangan genap, dan harus diakhiri dengan tepi dari M.
Yang ingin kita lakukan adalah menemukan kumpulan simpul dalam A yang bisa
dicapai di jalan yang hampir bertambah. Mari kita sepakati bahwa kita menganggap sebuah
simpul di U menjadi jalan yang hampir bertambah dengan sendirinya (dengan panjang 0); maka
kita tahu itu setiap simpul di U memiliki properti ini. Dimulai dengan S = U, kita membangun
satu set S secara bertahap. Pada tahap apapun, himpunan S akan terdiri dari node yang sudah kita
ketahui dapat dicapai oleh beberapa jalur yang hampir bertambah. Kami menunjukkan dengan T
set dari simpul di B yang cocok dengan simpul di S (Gambar 10.7). Sejak Simpul U tidak ada
yang cocok dengan mereka dan mereka semua ada di S, kita punya
| S | = | T | + | U |.
Jika kita menemukan augmenting path P, kita Kita mencari edge yang menghubungkan
node s S ke beberapa node r B yang tidak di T. Misalkan Q adalah jalur yang hampir
bertambah mulai dari beberapa simpul
u U dan berakhir pada s. Sekarang ada dua kasus yang perlu dipertimbangkan:
Jika r tidak tertandingi (yang berarti milik W), maka dengan menambahkan tepi sr ke Q
kita mendapatkan jalan augmenting P. Jadi kita bisa Tingkatkan ukuran M (dan lupakan S
dan T).
Jika r cocok dengan sebuah simpul q A, maka kita dapat menambahkan ujung sr dan rq
ke Q untuk mendapatkan jalur yang hampir bertambah dari U ke q. Jadi kita dapat
menambahkan q ke S.
Jadi jika kita menemukan sebuah edge yang menghubungkan sebuah simpul di S ke
simpul yang tidak ada di T, kita bisa Tingkatkan baik ukuran M atau set S (dan tinggalkan M
seperti dulu). Cepat atau Kemudian kita harus menghadapi situasi di mana M adalah pencocokan
sempurna [175] (dan kita selesai), atau M tidak sempurna, tapi tidak ada sisi yang
menghubungkan S ke simpul manapun di luar T.

[175] GAMBAR 10.7

Jadi apa yang harus kita lakukan dalam kasus ini? Tidak ada! Jika ini terjadi, bisa kita
simpulkan bahwa tidak ada pencocokan sempurna sama sekali. Padahal, semua tetangga set S
ada di T, dan | T | = | S | - | U | <| S |. Kita tahu bahwa ini menyiratkan bahwa di sana sama sekali
tidak cocok sama sekali dalam grafik.
Gambar 10.8 menunjukkan bagaimana algoritma ini menemukan pencocokan di
bipartit grafik yang merupakan subgraf dari "grid".
Singkatnya, kami melakukan hal berikut. Pada suatu saat, kita akan memiliki a
pencocokan M dan satu set S dari simpul dalam A yang kita tahu dapat dihubungi hampir
menambah jalan. Jika kita menemukan edge yang menghubungkan S ke node tidak Cocok
dengan simpul manapun di S, kita bisa meningkatkan ukuran M atau
set S, dan ulangi. Jika tidak ada tepi seperti itu, maka M adalah sempurna atau tidak Pencocokan
sempurna ada sama sekali.
Ucapan. Dalam bab ini kami membatasi perhatian kami pada pertandingan di bipartit
grafik. Orang bisa, tentu saja, menentukan pencocokan secara umum (nonbipartit) grafik.
Ternyata kondisi yang dibutuhkan dan cukup baik diberikan dalam Teorema 10.3.1 dan
algoritma yang dijelaskan di bagian ini dapat diperpanjang untuk grafik nonbipartit. Namun, ini
membutuhkan metode yang ada sedikit lebih terlibat, yang berada di luar cakupan buku ini.

10.4.3 Ikuti bagaimana algoritma bekerja pada grafik pada Gambar 10.9.

10.4.4 Tunjukkan bagaimana deskripsi dari algoritma di atas berisi bukti baru Teorema 10.3.1

[176] GAMBAR 10.8

GAMBAR 10.8. (a) Grafik di mana kita ingin menemukan pencocokan sempurna. (b) Pilih
pencocokan awal, dan tandai nodus yang tak tertandingi. Ada 3 hitam dan 3 simpul putih tak
tertandingi. Garis patah menunjukkan jalan yang menambah. (c) Pencocokan baru dan simpul tak
tertandingi setelah augmentasi. Garis yang rusak menunjukkan jalan augmenting baru (jauh lebih
lama saat ini). (d) Situasi akhir: Simpul yang dapat diakses pada jalur yang hampir diperbesar
ditandai hitam. Mereka memiliki lebih sedikit tetangga daripada jumlah mereka, jadi
pencocokannya maksimal.

Anda mungkin juga menyukai