Saya sedang bekerja untuk mencoba mempartisi grafik triangulasi menjadi subgraph yang terhubung dengan beberapa jaminan pada jumlah tepi antar-partisi. Berikut adalah contoh grafik triangulasi yang telah dipartisi menjadi 4 "cluster":
Apa yang saya inginkan pada awalnya adalah algoritma yang dapat membuat partisi kira-kira segitiga k (mungkin ada beberapa kesalahan asalkan tidak terlalu besar), dan saya berhasil menemukan algoritma (di mana p adalah jumlah total partisi) yang bisa menemukan partisi seperti itu. Saya kemudian menyadari bahwa memiliki sejumlah besar tepi antar-partisi merugikan untuk aplikasi yang saya butuhkan untuk algoritma ini.
Idealnya, saya ingin algoritma yang dapat menjaga setiap partisi dalam beberapa rentang , idealnya menjadikannya sebagai faktor konstan seperti 2. Juga, saya ingin dapat membuat jumlah antar-tepi memiliki batas atas itu "rendah".
Selain itu, masalah lain yang saya miliki adalah jika saya memiliki partisi yang memiliki properti ini, dan saya memodifikasi grafik dengan melakukan salah satu dari yang berikut:
- Menambahkan satu set tepi yang terhubung ke simpul yang ada
- Menambahkan titik dan satu set tepi yang terhubung ke titik yang ditambahkan
- Menghapus satu set tepi
- Menghapus titik dan semua tepi yang terhubung ke titik ini
Saya ingin dapat mempartisi ulang grafik dan masih memiliki setiap partisi dengan ukuran dan jumlah cut edge diminimalkan. (Ini adalah solusi yang saya berikan untuk hadiah). Ini berarti bahwa dengan menggunakan algoritma ini, kita dapat membangun partisi apa pun dengan mulai dengan grafik kosong dan menambahkan simpul dan tepi satu per satu dan partisi ulang.
Berikut adalah beberapa kendala tambahan untuk masalah ini:
- Grafiknya adalah planar
- Setiap "segitiga" adalah simpul yang memiliki tepi yang tidak terarah untuk membentuk segitiga dengan tepi yang sama
- Dari pernyataan di atas, jelas bahwa setiap simpul dalam grafik ini memiliki derajat paling banyak 3
- Grafik terhubung
- Setiap subgraph dari partisi terhubung
- Setiap subgraf memiliki kira-kira k simpul
- Paling banyak tepi antar-partisi (tepi yang berisi simpul dari partisi yang berbeda). Jika Anda dapat menemukan ikatan serupa untuk tepi antar-partisi seperti atau maka itu juga bisa berfungsi. Saya tidak sepenuhnya yakin batas atas untuk tepi antar-partisi bisa kurang dari jadi jika Anda dapat membuktikan bahwa tidak mungkin untuk melakukan yang lebih baik, itu memuaskan juga. 2 √ O(logn)O(n)
Saya pada titik di mana saya mandek, jadi bantuan apa pun dengan masalah ini akan menyenangkan. Jika Anda bisa mengatasi masalah ini, Anda adalah lutut para lebah. Kalau tidak, jika Anda mengetahui makalah atau buku pelajaran atau algoritma apa pun yang bisa Anda tunjukkan, saya akan sangat menghargainya.
Beri tahu saya jika saya perlu mengklarifikasi sesuatu!
EDIT: Berikut adalah beberapa kendala tambahan jika itu membuat masalah lebih mudah.
- Kami berhadapan dengan triangulasi delaunay terbatas
- Batasan tidak akan pernah menjadi satu titik
- Grafik yang dibuat dari triangulasi dibuat sebagai berikut: setiap segitiga direpresentasikan sebagai simpul. Setiap tepi dalam grafik sesuai dengan tepi yang tidak dibatasi dalam triangulasi. Ini berarti bahwa tepi terbatas antara dua segitiga tidak akan muncul dalam representasi grafik dari segitiga.
Hal lain yang saya sadari adalah bahwa kita mungkin perlu memodifikasi untuk tumbuh seiring bertambah, jika tidak maka tidak ada sub jaminan pada jumlah tepi antar-partisi.n O ( n )