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.