Seperti disebutkan di sini sebelumnya, contoh Tardos dengan jelas membantah buktinya; itu memberikan fungsi monoton, yang setuju dengan CLIQUE pada T0 dan T1, tetapi yang terletak pada P. Ini tidak akan mungkin jika buktinya benar, karena buktinya berlaku untuk kasus ini juga. Namun, bisakah kita menunjukkan kesalahannya? Inilah, dari sebuah posting di blog lipton, apa yang tampaknya menjadi tempat buktinya gagal:
Kesalahan tunggal adalah satu titik halus dalam bukti Teorema 6, yaitu pada Langkah 1, di halaman 31 (dan juga 33, di mana kasus ganda dibahas) - klaim yang tampaknya jelas bahwa C′g berisi semua klausa yang sesuai yang terkandung dalam dll, tampaknya salah.CNF′(g)
Untuk menjelaskan hal ini secara lebih rinci, kita perlu masuk ke metode pembuktian dan pendekatan Berg dan Ulfberg, yang menyatakan kembali bukti asli Razborov tentang kompleksitas monoton eksponensial untuk CLIQUE dalam hal sakelar DNF / CNF. Ini adalah bagaimana saya melihatnya:
Untuk setiap node / gerbang dari rangkaian logika β (hanya berisi biner ATAU / DAN gerbang), bentuk normal konjungtif C N F ( g ) , bentuk normal disjungtif D N F ( g ) , dan aproksimasi C k g dan D r g terpasang. C N F dan D N F hanyalah bentuk-bentuk normal keluaran disjungtif dan konjungtif yang sesuai. D r g dan C k ggβCNF(g)DNF(g)CkgDrgCNFDNFDrgCkgjuga merupakan bentuk disjungtif dan konjungtif, tetapi dari beberapa fungsi lain, "mendekati" output gerbang. Namun mereka wajib memiliki jumlah dibatasi variabel dalam setiap monomial untuk (kurang dari r konstan) dan di setiap klausul untukDrg (kurang dari k konstan).Ckg
Ada gagasan tentang "kesalahan" yang diperkenalkan dengan perkiraan ini. Bagaimana kesalahan ini dihitung? Kami hanya tertarik pada beberapa set T0 input yang total fungsinya mengambil nilai 0, dan T1 input yang total fungsinya mengambil nilai 1 ("janji"). Sekarang di setiap gerbang, kita hanya melihat input dari T0 dan T1, yang dihitung dengan benar (oleh dan C N F ( g ) , yang mewakili fungsi yang sama - keluaran gerbang g dalam β ) di pintu gerbang output, dan melihat berapa banyak kesalahan / kesalahan adalah untuk C k g danDNF(g)CNF(g)gβCkgDrg, dibandingkan dengan itu. Jika gerbang adalah konjungsi, maka keluaran gerbang mungkin menghitung lebih banyak input dari T0 dengan benar (tetapi input yang dihitung dengan benar dari T1 kemungkinan menurun). Untuk , yang didefinisikan sebagai konjungsi sederhana, tidak ada kesalahan baru namun pada semua masukan tersebut. Sekarang, D r g didefinisikan sebagai saklar CNF / DNF dari C k g , jadi mungkin ada sejumlah kesalahan baru pada T0, datang dari switch ini. Pada T1 juga, tidak ada kesalahan baru pada C k g - setiap kesalahan harus hadir di kedua input gerbang, dan juga di D r gCkgDrgCkgCkgDrg, sakelar tidak memperkenalkan kesalahan baru pada T1. Analisis untuk gerbang OR adalah ganda.
Jadi jumlah kesalahan untuk aproksimasi akhir dibatasi oleh jumlah gerbang dalam , dikalikan jumlah kesalahan maksimal yang dimungkinkan oleh sakelar CNF / DNF (untuk T0), atau oleh sakelar DNF / CNF (untuk T1). Tetapi jumlah total kesalahan harus "besar" dalam setidaknya satu kasus (T0 atau T1), karena ini adalah properti dari bentuk normal konjungtif positif dengan klausa yang dibatasi oleh k , yang merupakan wawasan kunci dari bukti asli Razborov (Lemma). 5 di koran Blum).βk
Jadi apa yang Blum lakukan untuk mengatasi negasi (yang didorong ke level input, sehingga sirkuit masih hanya berisi gerbang biner OR / AND)?β
Idenya adalah untuk membentuk CNF / DNF dan DNF / CNF switch secara terbatas, hanya ketika semua variabel positif. Kemudian switch akan bekerja PERSIS seperti dalam kasus Berg dan Ulfberg, memperkenalkan jumlah kesalahan yang sama. Ternyata ini adalah satu-satunya kasus yang perlu dipertimbangkan.
Jadi, ia mengikuti garis Berg dan Ulfberg, dengan beberapa perbedaan. Alih-alih melampirkan , D N F ( g ) , C k g dan D r g ke setiap gerbang g dari sirkuit β , ia melampirkan modifikasinya, C N F ′ ( g ) , D N F ′ ( g ) , C ' k g dan DCNF(g)DNF(g)CkgDrggβCNF′(g)DNF′(g)C′kg , yaitu bentuk normal "mengurangi" disjungtif dan penghubung, yang didefinisikan berbeda dariCNF(g)danDNF(g)oleh "aturan penyerapan", menghapus variabel menegasikan dari semua monomials campuran / klausul ( ia juga menggunakan untuk operasi tujuan ini yang dilambangkan oleh R, menghilangkan beberapa monomial / klausa sepenuhnya; seperti yang telah kita bahas sebelumnya, definisi R yang agak informal bukan masalah, R dapat dibuat tepat sehingga diterapkan di setiap gerbang tetapi apa dihapus tidak hanya tergantung pada dua input sebelumnya tetapi pada seluruh rangkaian yang mengarah ke gerbang itu), dan aproksimatornyaC′ rD′rgCNF(g)DNF(g) danD' r g , bahwa ia juga memperkenalkan.C′rgD′rg
Dia menyimpulkan, dalam Teorema 5, bahwa untuk fungsi monoton, mengurangi dan D N F ′ akan benar-benar menghitung 1 dan 0 pada set T1 dan T0, pada simpul akar g 0 (yang outputnya adalah output dari seluruh fungsi dalam β ). Teorema ini, saya percaya, benar.CNF′DNF′g0β
Sekarang tiba penghitungan kesalahan. Saya percaya kesalahan pada setiap node dimaksudkan untuk dihitung dengan membandingkan pengurangan dan D N F ′ ( g ) (yang sekarang mungkin dua fungsi berbeda), dengan C ′ r g dan D ′ k g saat ia mendefinisikan mereka. Definisi aproksimator definisi parrot dari C N F ′ dan D N F ′CNF′(g)DNF′(g)C′rgD′kgCNF′DNF′(Langkah 1) ketika mencampur variabel dengan variabel yang dinegasikan, tetapi ketika dia berurusan dengan variabel positif, dia menggunakan saklar seperti dalam kasus Berg dan Ulfberg (Langkah 2). Dan memang, pada Langkah 2 ia akan memperkenalkan jumlah kesalahan yang mungkin sama seperti sebelumnya (itu adalah saklar yang sama, dan semua variabel yang terlibat positif).
Tapi buktinya salah pada Langkah 1. Saya pikir Blum membingungkan , γ 2 , yang benar-benar datang, seperti yang didefinisikannya, dari aproksimasi sebelumnya (untuk gerbang h 1 , h 2 ), dengan bagian positif C N F ′ β ( h 1 ) dan C N F ′ β ( h 2 ) . Ada perbedaan, dan karenanya, pernyataan " C ′ g berisi masih semua klausa yang terkandung dalam C N F ′γ1γ2h1h2CNF′β(h1)CNF′β(h2)C′g sebelum perkiraan gerbang g yang menggunakan klausa dalam γ ′ 1 atau γ ′ 2 "tampaknya salah secara umum.CNF′β(g)γ′1γ′2