En iyi SAT çözümleyicileri kolay sayıları etkileyebilir mi?


11

Modern SAT çözücüler, SAT örneklerinin gerçek dünyadaki birçok örneğini çözmede çok iyidir. Bununla birlikte, zor olanları nasıl üreteceğimizi biliyoruz: örneğin faktoringden SAT'a bir azalma kullanın ve RSA numaralarını giriş olarak verin.

Bu şu soruyu gündeme getirir: faktoringin kolay bir örneğini alırsam ne olur? Bunun yerine iki büyük asal alma bir asal almak ne bit, üzerinde bit ve birinci sınıf bir q bit, izin kodlamak SAT örneği olarak. , çok küçük faktörlerden biri olduğundan kaba kuvvet arama veya elek yöntemleriyle kolayca hesaplanabilir; faktoring'den SAT'a bazı standart indirimleri olan modern bir SAT çözücü de bu yapıyı alıyor mu?n/2plognn/lognN=pqFACTOR(N)N

SAT çözücü 'faktör üst Can nerede hızlı?N=pq|p|=logn

Yanıtlar:


10

Mevcut algoritmaların üstel zamanda çözemediğini kanıtladığımız daha basit başka örnekler de var. Bu algoritmalar sayılamayacak durumdadır (neredeyse tamamı, Çözünürlük öneri kanıtlama sistemine karşılık gelen DPLL'nin geliştirmeleridir).

Ne yazık ki bu tür örnekler tatmin edilemez örneklerdir. Bu algoritmalar için doğal tatmin edici zor örnekler bulma sorusu ilginç bir araştırma problemidir (Russeell Impagliazzo, geçen yıl Banff'daki kanıt karmaşıklığı atölyesi sırasında bundan bahsetti). Böyle bir örnek varsa algoritmaların kötü bir şekilde başarısız olduğunu kanıtladığımız tatmin edilebilir örnekler vardır, ancak çok doğal değildirler (algoritmaların sağlamlığını ifade eden formüllere dayanırlar).

Faktoring ile ilgili olarak, sayıların boyutu küçükse (örneğin, durumunuzdaki gibi logaritmik, yani sayılar tekli olarak verilir), teorik olarak mevcut algoritmalarla çözülemeyeceğini söyleyen bir sonuç yoktur ve aslında basit yazabiliriz bu sayıları etkileyen polinom zaman algoritmaları. Dolayısıyla, belirli bir SAT çözücü programının bunları çözüp çözemeyeceği belirli algoritmaya bağlı olabilir.


İkili kullanmayı umuyordum ve normal faktoringi olabildiğince korumak için çok küçük faktörlerden birine sahiptim (sipariş , diğeri iken ) (geçiş yapmak istiyorum) unary sadece benim için çok şey değiştiriyor). Daha basit sorunlar hakkında bilgi için teşekkürler, saymaya dayalı zor tatminsiz örnekler hakkında bir makale bağlantısı sağlayabilir misiniz? logNN/logN
Artem Kaznatcheev

@Artem, Çözünürlük için daha düşük herhangi bir kanıt karmaşıklığı, örneğin güvercin deliği prensibi gibi bir örnek verecektir. Bu algoritmaların o örnek üzerindeki hesaplamasından, tatmin edilemez örnek için bir Çözüm (çürütme) kanıtı kolayca çıkarılabilir. 2007'den Nathan Segerlind tarafından IIRC'nin diğer şeyleri de kapsadığı konusunda güzel bir anket yapıldı. Orada olmadığımı bana bildirin ve size başka bir referans bulacağım.
Kaveh

@Artem, bu argümanın sadece sayılardan birinin logaritmik olması durumunda da işe yaradığını düşünüyorum, yani bunlardan birinin ürün faktörü olup olmadığını görmek için tüm küçük sayıların üzerinden geçerek polinom zamanında çözebiliriz.
Kaveh

@Kaven evet, bu yüzden logaritmik numaralardan birini yaptım. Bunu soruda açıklıyorum. Sadece 3. paragrafınızın önerdiği gibi tekil temsili varsayan bir cevap istemiyorum. Daha sonra Segerlind'e bakacağım. Bir kez daha, yorum için teşekkürler: D.
Artem Kaznatcheev

@Artem, rica ederim. :) (Ben her iki sayının küçük olduğunu ve boyutun üstel olması gerektiği ile başa çıkmak için tek başına kullanıldığını düşündüğüm için tekli kullandım, alternatif olarak sadece onları
büyütmek
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.