Di http://www.dharwadker.org/tevet/isomorphism/ , ada presentasi algoritma untuk menentukan apakah dua grafik isomorfis. Mengingat sejumlah hal yang akan kita katakan, klaim "menarik" oleh A Dharwadker, saya tidak cenderung mempercayainya.
Dalam penyelidikan saya, saya menemukan bahwa algoritme pasti akan menghasilkan jawaban yang benar dan memberi tahu Anda bahwa dua grafik tidak isomorfik padahal sebenarnya itu benar. Namun, tidak jelas bahwa algoritma akan secara konsisten memberi tahu Anda jika dua grafik isomorfik padahal sebenarnya. "Bukti" dari hasil mereka meninggalkan sesuatu yang diinginkan.
Namun, saya tidak mengetahui contoh tandingan. Sebelum saya mulai menulis perangkat lunak untuk menguji algoritme, saya pikir saya akan melihat apakah ada yang sudah mengetahui contoh tandingan.
Seseorang meminta sinopsis algoritma. Saya akan melakukan apa yang saya bisa di sini, tetapi untuk benar-benar memahaminya, Anda harus mengunjungi http://www.dharwadker.org/tevet/isomorphism/ .
Ada dua fase untuk algoritma: Fase "tanda tangan" dan fase pengurutan. Fase "tanda tangan" pertama (ini adalah istilah saya untuk proses mereka; mereka menyebutnya menghasilkan "matriks tanda") secara efektif mengurutkan simpul ke dalam kelas kesetaraan yang berbeda. Tahap kedua pertama memesan simpul sesuai dengan kelas ekivalensi mereka, dan kemudian menerapkan prosedur sortir dalam kelas ekivalensi untuk membangun isomorfisme antara dua grafik. Menariknya, mereka tidak mengklaim untuk membuat bentuk kanonik untuk grafik - sebagai gantinya, satu grafik digunakan sebagai semacam templat untuk yang kedua.
Fase tanda tangan sebenarnya cukup menarik, dan saya tidak akan melakukannya keadilan di sini dengan mencoba untuk memparafrasekannya. Jika Anda ingin detail lebih lanjut, saya sarankan mengikuti tautan untuk memeriksa fase tanda tangannya. "Matriks tanda" yang dihasilkan tentu saja menyimpan semua informasi tentang grafik asli dan kemudian memberikan sedikit lebih banyak informasi. Setelah mengumpulkan tanda tangan, mereka mengabaikan matriks asli karena tanda tangan berisi seluruh informasi tentang matriks asli. Cukuplah untuk mengatakan bahwa tanda tangan melakukan beberapa operasi yang berlaku untuk setiap tepi yang terkait dengan verteks dan kemudian mereka mengumpulkan multiset elemen untuk sebuah vertex untuk membentuk kelas ekivalensi untuk verteks.
Fase kedua - fase sortir - adalah bagian yang meragukan. Secara khusus, saya berharap bahwa jika proses mereka bekerja, maka algoritma yang dikembangkan oleh Anna Lubiw untuk menyediakan "Pengurutan Matriks Leksikal Ganda" (Lihat: http://dl.acm.org/citation.cfm?id=22189 ) juga akan bekerja untuk mendefinisikan bentuk kanonik untuk grafik.
Agar adil, saya tidak sepenuhnya memahami proses pengurutan mereka, meskipun saya pikir mereka melakukan pekerjaan yang wajar untuk menggambarkannya. (Saya hanya belum mengerjakan semua detail). Dengan kata lain, saya mungkin kehilangan sesuatu. Namun, tidak jelas bagaimana proses ini dapat melakukan lebih dari kebetulan menemukan isomorfisme. Tentu, mereka mungkin akan menemukannya dengan probabilitas tinggi, tetapi tidak dengan jaminan. Jika dua grafik adalah non-isomorfik, proses pengurutan tidak akan pernah menemukannya, dan proses tersebut dengan benar menolak grafik.
sumber
Jawaban:
Untuk
graphA.txt
:dan
graphB.txt
:yang diperoleh dari
graphA.txt
dengan menerapkan permutasi (acak)program C ++
isororphism.cpp
dari Gambar 6.3. Program C ++ untuk grafik algoritma isomorfisma di http://www.dharwadker.org/tevet/isomorphism/ memberikan output sebagai berikut:Jadi kita dapat berasumsi bahwa ini adalah contoh tandingan dari algoritma Isomorfisme Grafik Dharwadker-Tevet.
Seperti yang disarankan oleh Bill Province, masalahnya adalah
Keberatan Bill Province adalah bahwa bukti Proposisi 4.1. tidak menggunakan properti khusus dari matriks tanda yang juga tidak akan berlaku untuk matriks adjacency. Lebih tepatnya, langkah berikut dalam buktinya salah:
karena bahkan jika baris telah cocok dengan sempurna, itu tidak berarti bahwa label vertex sesuai dengan label yang diberikan oleh isomorfisma .φ
Karena lubang dalam bukti kebenaran diidentifikasi, contoh-contoh di atas harus cukup untuk menyangkal kebenaran yang diklaim dari algoritma yang diusulkan.
Ucapan Terima Kasih Counter-example adalah yang pertama dari pasangan grafik ke-8 dari
Untuk memanipulasi grafik, saya menggunakan dan memodifikasi kode sumber dari ScrewBoxR1160.tar ditemukan di
Untuk memahami lubang dalam bukti kebenaran, komentar András Salamon tentang Weisfeiler-Lehman sangat membantu, seperti juga penjelasan dari
Motivasi untuk menggunakan pertanyaan ini sebagai kesempatan untuk mengenal nauty / Jejak dan aspek praktis dari grafik isomorfisma disediakan oleh vzn. Manfaat belajar bagaimana menggunakan program seni untuk grafik isomorfisme membuatnya berguna untuk meluangkan waktu untuk menemukan contoh tandingan (yang saya yakini ada).
sumber