İşlev ve uygulamada benzer algılama devresi


11

Let Boolean değişkenleri için bir vektör olabilir. Let iki ikili devreler olarak . Aşağıdaki durumlarda benzer olduğunu :x=(x1,,xn)C,DxCD

  1. Pr[C(x)D(x)] üstel olarak küçüktür, x \ {0,1 \} ^ n'denx rasgele bir şekilde çizildiğinde (diğer bir deyişle, neredeyse aynı işlevselliğe sahiptir); ve,{0,1}n

  2. C,D , grafik düzenleme mesafesinde küçük bir miktarda farklılık gösterir (düzenleme mesafeleri devrenin boyutundan çok daha küçüktür, örneğin, O(1) veya bazı küçük sabit), yani C'nin neredeyse tüm kapıları ve telleri Ceşleşir D'de karşılık gelen bir kapı ve tel D, sadece birkaç kapı eklendi / silindi / değiştirildi.


Benim sorun: bir devre verilen am C , ve bir devre olup olmadığını bilmek isteyen D benzer C özdeş ama C (yani vardır burada x , öyle ki C(x)D(x) ).

Herkes bu sorunu çözmek için bir algoritma önerebilir?

Eğer yardımı olacaksa, biz devrelerine dikkat kısıtlayabilirsiniz D verilen devre daha küçüktür C yani (biz bir devre olup olmadığını bilmek istiyorum D böyle D küçüktür C , D benzeyen C ve vardır x öyle ki C(x)D(x) ).

Eğer yardımcı olursa, ek olarak iyi bilinen test örnekleri verildiğini varsayabilirsiniz ( x1,,xm,y1,,ym , C(xi)=yi için tüm i tek devreler için, ve daha da dikkat kısıtlayabilir D şekilde D(xi)=yi tüm i .


Bu pratik bir uygulamadan kaynaklanır, bu nedenle bu sorunu çözemezseniz, herhangi bir varyantı veya ilginç özel durumu çözmekten çekinmeyin. Örneğin, herhangi bir parametreyi veya eşiği sizin için uygun olan herhangi bir şekilde somutlaştırmaktan çekinmeyin. Devrelerin çok büyük olmadığını (polinom boyutlu veya başka bir şey) olduğunu varsayabilirsiniz. Grafik düzenleme mesafesini, uygulamanın neredeyse eşleşmesi ölçüsüyle değiştirmekten çekinmeyin. Ayrıca, uygulamada SAT çözücüler genellikle pratikte ortaya çıkan yapılandırılmış devreler üzerinde şaşırtıcı bir şekilde etkilidir, bu nedenle bir SAT çözücüyü altyordam / kehanet olarak çağırmak muhtemelen iyidir (en azından, türetilmiş bir SAT örneği gibi bir şeye çağırıyorsanız gibi bir devreden ).C

Alternatif olarak, herhangi bir algoritmadan yoksun, ben de var olma sorusuyla ilgilenirim: "ortalama" bir devre , tüm kriterleri karşılayan bazı var olma olasılığı nedir? (Bu olasılığın çok düşük olduğunu umuyorum, ancak bu durumda hiçbir fikrim yok.)CD


Pratik uygulama, bir devresinin kötü niyetli bir arka kapı / gizli Paskalya yumurtası içerip içermediğini test etmektir . Böyle bir şeyin nasıl yerleştirilebileceği hipotezi şu şekildedir. İstenen işlevselliği hesaplayan ve gizli bir arka kapısı olmayan bir "altın" devre ile başlıyoruz . Daha sonra düşman , gizli arka kapıyı tanıtmak için de küçük bir değişiklik yapar ve değiştirilmiş bir devre elde eder . Arka kapının amacı tarafından hesaplanan işlevi bir şekilde değiştirmektir. Eğer bir düşman muhtemelen tutmaya çalışır, böylece değiştirme makul bir rasgele testi ile çok küçük tespit edilebilir değildirCDDCDPr[C(x)D(x)]Pr[C(x)D(x)]çok küçük. Benzer şekilde, den çok fazla yerde farklıysa , bu devrenin rastgele muayenesi ile fark edilebilir, bu nedenle bir rakip muhtemelen değişiklik sayısını en aza indirmeye çalışacaktır. (Ve, bir test takımı olabilir biz "altın" devresi ne olduğunu bilmek, böylece arzu edilen özelliklerin örnekleri temsil eden çiftleri , bunu karşılamaktadır olan herkes için .) Sonuçta, biz devre verilir değil "altın" devresi ( ) ve biz olmadığını bilmek istiyorum bazı değiştirilmiş bir sürümü olabilirCDxi,yiDD(xi)=yiiCDCD, bu tür gizli bir arka kapı tanıtmak için değişiklik yapıldı.


Devrenin girişini kaç bit oluşturur? Bu yeterince küçükse, kapsamlı test yapmak mantıklı olabilir.
András Salamon

@ AndrásSalamon: Maalesef, devreye girişlerin sayısı , pratikte (aklımdaki uygulamalarda) tüm olası girişler üzerinde kapsamlı test yapılmasının mümkün olmadığı kadar büyük. Düşünceyi takdir ediyorum! n2n
DW

ampirik olarak bu problem gibi bir şeye saldırmak için genetik algoritmalar kullandık. Bu durumda, belirlediğiniz algoritma, rastgele test, denemek için bir şey gibi görünüyor. Ayrıca, devredeki bir "arka kapı" nın ne olduğunu hiç tarif etmediniz gibi görünüyor (bu, kriptografiye dengesiz bir bağlantıya sahip gibi görünüyor), ancak motivasyon için biraz girişimde bulunmak için thx ... rastgele test ile algılama kaçınırken biraz arka kapı eklemek? ancak genel senaryo tam olarak tanımlanmamış gibi görünüyor.
vzn

3
@vzn, Altın devre cihazın amaçlanan işlevselliğini açıklar. giriş bitinden 100 tanesinin saldırgan tarafından seçilebildiğini / etkilendiğini varsayalım . şu şekilde çalışan gizli bir arka kapı olduğundan endişe duyuyoruz : eğer saldırgan girişlerinde 100 bitlik sihirli bir değer sağlarsa, arka kapı devresi yanlış çıkışı (trajik etki ile) hesaplar, ancak aksi takdirde tam olarak davranır . Bu, saldırganın seçtiği bir zamanda bir trajedi tetiklemesine izin verir, ancak rastgele testlerle tespit etmek zordur ( girişlerin yalnızca 1/2 trajediyi tetiklediğinden). D(x)nCCCD1/2100
DW

soru SAT "omurga" ile bir ilişkisi olabilir gibi görünüyor. Ayrıca resmi olarak ölçmediğiniz "benzerliği" ölçmenin doğal / biçimsel bir yolu olabilecek cnf vs dnf dönüşümü / hataları ile ilgili bu soruyu da inceleyin . Saldırganın kapıları ekleyerek yalnızca doğru veya yanlış olan "altın" sonucu "çevirebileceği" doğru mu? yani -xor- benzeri bir problem gibi geliyor. f(x)g(x)
vzn

Yanıtlar:


4

Bu sadece soruyu okuduktan hemen sonra aklıma gelen genişletilmiş bir yorumdur:

  • Bir 3SAT formül olduğunu varsayalım ile değişkenleri ve izin uygun devre olabilir;ϕnx1,...,xnC

  • Yeni bir devre oluşturmak'ekleme değişkenleri ve yeterli kapıları ve , orijinal çıkışı ile yeni değişkenlerin ( );Cm=nky1,y2,...,ynkmCC=ϕy1...ym

  • Yeni bir devre oluşturmak den AND ve NOT geçidi (kullanarak 0 basitçe çıkışını zorlar )DCD=C¬C

Eğer karşılanabilir sonra değil ve ne zaman aksi takdirde farklılık eşdeğerdir formülü VE tüm tatmin ancak seçebilir olasılığını yapmak büyük yeterince o çok küçük.ϕDCxiyi=1myi=1

Dolayısıyla, sorununuz için verimli bir algoritmanız varsa, 3SAT örneğini etkili bir şekilde çözebilirsiniz.

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.