Saya sedang mengerjakan masalah yang terkait dengan kotak Latin, dan saya ingin metode untuk apa yang intinya bermuara pada masalah keputusan:
Input : Grafis terbatas, sederhana G.
Output : YES
jika G memiliki automorfisme non-sepele, NO
jika tidak.
Karenanya...
Pertanyaan : Apakah ada algoritma yang efisien untuk menentukan apakah suatu grafik memiliki automorfisme non-sepele?
Kita dapat menggunakan Nauty atau Bliss (dan mungkin beberapa paket lain) untuk menghitung seluruh kelompok automorfisme, tetapi saya tidak membutuhkannya; yang saya perlu menentukan adalah apakah itu sepele atau tidak.
Ada kemungkinan masalah keputusan ini secara teoritis setara dalam kompleksitas untuk "menghitung seluruh kelompok automorfisme" dalam beberapa cara. Saya tidak yakin.
Untuk tujuan saya, "efisien" pada dasarnya berarti "lebih cepat dalam praktek daripada menghitung seluruh kelompok automorfisme", tetapi saya juga tertarik pada teori di baliknya.
sumber
Jawaban:
Karena Anda juga tertarik dengan teori di baliknya, saya akan memberikan Anda algoritma waktu semu-polinomial untuk masalah Anda.
Untuk setiap pasangan simpulu≠v (dengan derajat yang sama) dalam G , kami mencoba melihat apakah mungkin untuk menukar u dan v .
Untuk melakukan ini, buat salinanG , sebut saja G′ . Sekarang, hapus u dari G , hapus (salinan) v dari G′ .
Kemudian, untuk setiapw∈N(u) tempelkan padanya jalan yang sangat panjang, tetapi hanya panjang secara polinomi .
Kemudian, untuk setiap (salinan)w∈N(copy of v) lampirkan padanya jalan yang sangat panjang, tetapi hanya panjang secara polinomi .
Semua yang disebutkan di atas jalan yang sangat panjang, tetapi panjang secara polinomi , harus dari panjang yang sama.
Sebut algoritma Babai pada input dari pasangan grafik yang baru diproduksi ini.
Jika untuk setiap pasangan(u,v) , kami memiliki jawaban YES dari Babai, jawab YES dan hentikan.
Jika tidak ada yang mengembalikan jawabanYES , jawab NO dan hentikan.
Jelas, melampirkan ke semua simpul diN(u) dan N(v) memaksa grafik isomorfisme mekanisme kerja dalam Babai dari algoritme untuk hanya memetakan simpul di N(u) ke N(v) . Dengan demikian, jika jawabannya Babai adalah YES maka kita dapat dengan aman pasang di belakang u dan v memiliki automorphism non-sepele G , karena G′ adalah salinan dari G .
Kompleksitas run-time masih kuasi-poli.
sumber