olmak üzere iki boyutta nokta setimiz olduğunu düşünün . Sadece rotasyonla farklılık gösteriyorlarsa testin karmaşıklığı (zaman) nedir? : Rotasyon matrisi vardır , öyle ki ?
Burada gerçek değerleri temsil etme meselesi vardır - basitlik için, her bir koordinat için (kısa) bir cebirsel formül olduğunu varsayalım, böylece temel aritmetik işlemlerin maliyeti O (1) olarak kabul edilebilir.
Temel soru bu sorunun P?
İlk bakışta bu problem basit gibi görünse de - genellikle noktaların normlarını ve açılar gibi yerel ilişkileri test etmek yeterlidir , örneğin grafik izomorfizm problemine eşdeğer olduğu kötü örnekler vardır .
Özellikle, güçlü düzenli grafiklerin (SRG) bitişiklik matrisinin eigenspaces alanlarına bakarak, geometrik yorum verebiliriz . Aşağıda en basit örnek - yerel olarak aynı görünen, ancak izomorfik olmayan iki 16 köşeli SRG:
SRG'lerin bitişiklik matrisinin her zaman sadece üç özdeğer (bilinen formüllerden) vardır - yukarıdaki özdeğer 2 için öz uzaya bakarak ( çekirdeği ), yukarıda yazılı temel 6 boyutuna sahiptir. Ortonormalize (Gram-Schmidt), "dikey vektörleri" döndüren rotasyonuna göre farklılık gösteren olası ortonormal bazların geniş bir alanını elde ederiz : 16 uzunluk 6. gibi vektörleri tanımlayın , burada, buna uygun olarak ikinci grafik için - eğer söz içerisine grafik izomorfizm soru dönüştürme ve yalnızca dönme bakımından farklıdır.
Zorluk, tüm bu noktaların bir alanda olması ve orijinal ilişkileri yeniden yaratmasıdır: tüm komşular (6 burada) <90 derece sabit açılı, tüm komşu olmayanlar (9 burada) şematikte olduğu gibi> 90 derece sabit bir açıdadır yukarıdaki resim.
Bu nedenle, norm ve yerel açılara dayanan testler, izomorfizm sorununu grafiğe geri döndürmeyi gerektirir ... ancak geometrik yorum, dönme değişmezleri gibi küresel özellikler üzerinde çalışmaya izin verir .
Genel olarak, doğal bir "küresel" yaklaşım her iki seti de ( serbestlik derecesi içerir "modulo rotasyonunu" tanımlamaya çalışıyor ve sadece her iki tanımın da aynı olup olmadığını kontrol ediyor.
Genellikle rotasyon değişmezlerini tanımlayabiliriz - soru, tam bir rotasyon değişkeni seti oluşturmaktır: bir set modulo rotasyonunu tamamen belirlemek.
Doğrudan noktalar (?) Üzerinde çalışan pratik rotasyon değişmezleri için bir yol bulamamam da, polinomlar ( yığın ) için yapılabilir . Derece 2 polinom , dönme değişmezlerinin tam bir temeli örn . için . Diyagramatik olarak uzunluk döngüsü olarak temsil edilebilir ve benzer şekilde daha yüksek mertebeden polinomlar için dönüş değişmezleri oluşturabiliriz (kalan soru bağımsızlıklarıdır), örneğin aşağıdaki her grafik, 1,2,3,4 polinom derecesinin tek bir dönüş değişmezine karşılık gelir. :
Soru, bir polinomlu bir dizi noktanın nasıl tanımlanacağıdır - genellikle yüksek dereceli polinomlara ihtiyacımız var, örneğin , ancak SRG'ler için setler oldukça düzenli - sadece derece 6 polinom ile tarif edilebilir:
İki derece 6 polinomun sadece polinom zamanında rotasyonla farklılık gösterip göstermediğini test edebilir miyiz? Eğer öyleyse, SRG'ler için grafik izomorfizmi P'dir.
SRG'lerden daha zor örnekler var mı (iki setin sadece rotasyonla farklılık gösterip göstermediğini test etmek için)? Babai (?) Sayesinde yarı-polinom üst sınırına izin vermesinden şüphe ediyorum.
Güncelleme : ( Çözülmüş ) dik Procrustes problemiyle benzerlik gösterdim :
tekil değer ayrışmasından. Bu matrisleri noktalarımızdan inşa edebiliriz, ancak, bilmediğimiz ve olan siparişi bilmek gerekirolasılık.
Monte-Carlo veya genetik algoritmayı deneyebiliriz: yukarıdaki formülü kullanarak bazı noktaları değiştirmek ve mesafe iyileştirmeyi test etmekle birlikte, bu tür sezgisel algoritmanın üstel sayıda yerel minimaya sahip olabileceğinden şüpheleniyorum (?)