Rumus Boolean yang terukur dengan pergantian logaritmik

15

Saya sedang mempelajari masalah yang sulit untuk kelas formula boolean yang dikuantifikasi dengan jumlah logaritmik dari pergantian quantifiers. Masalah di kelas ini akan terlihat seperti:

(x1,x2,xa1)(xa1+1,xa2),(xalogn1,xalogn)F

Di mana , dan adalah rumus boolean dari variabel .F x 1x nalogn=nFx1xn

Kelas ini jelas mengandung dan terkandung dalam . Apakah ada nama untuk kelas ini? Apakah ada yang lebih diketahui tentang itu?A P = P S P A C EPHAP=PSPACE

isaacg
sumber
3
Nah, itu lengkap untuk waktu polinomial bergantian dengan banyak alternatif secara logaritma.
Emil Jeřábek mendukung Monica
2
Notasi yang disetujui untuk kelas kompleksitas masalah ini adalah STA ( ). Di sini, STA (s (n), t (n), a (n)) adalah ukuran ruang-waktu-pergantian yang diperkenalkan oleh Berman dalam "Kompleksitas teori-teori logis" yang muncul dalam TCS pada 1980. Kelas ini berisi semua keputusan masalah dapat diputuskan oleh mesin Turing bergantian dalam waktu t (n) menggunakan spasi s (n) dan bergantian paling banyak (n) kali pada setiap cabang perhitungan. Seperti yang ditunjukkan Emil, masalah Anda harus lengkap untuk kelas ini. ,nO(1),O(logn)
Christoph Haase
2
AltTime (lg n, poly (n))
Kaveh
Bukankah itu juga analog biner dari kelas FOLL yang diperkenalkan oleh Barrington, Kadau, McKenzie dan Lange. FOLL didefinisikan dengan iterasi blok FO pada dasarnya sebuah n-input, n-output seragam AC0 loglog sirkuit n kali. Terlalu lemah untuk menghitung Paritas tetapi tidak diketahui terkandung dalam kelas yang lebih kecil dari AC ^ 1. Ia dapat melakukan sejumlah hal nontrivial termasuk menyalakan dalam kelompok komutatif yang disajikan sebagai tabel perkalian. Saya ingin memanggil kelas dalam pertanyaan PHL karena sesuai dengan blok PH iterated log n kali. Saya pikir masih belum jelas apakah ini sebanding dengan PSPACE.
SamiD
Juga jika sebuah grup abelian diberikan oleh sebuah rangkaian yang mengambil input dua nomor n-bit dan mengeluarkan nomor n-bit maka powering ada di PHL dengan bukti yang mirip dengan Barrington dkk di atas.
SamiD

Jawaban:

7

Membangun berdasarkan jawaban Michael Wehar, tampaknya Anda dapat dengan mudah menunjukkan bahwa perhitungan dapat dikodekan dalam polysize QBFs seperti: Anda menggunakan O ( log n ) bergantian, masing-masing p o l y ( n ) bit, dan lakukan argumen yang mirip dengan teorema Savitch. Setiap dua alternatif akan membagi waktu berjalan perhitungan dengan p o l y ( nNTISP(nlogn,poly(n))O(logn)poly(n) faktor.poly(n)

Saya akan memanggil kelas , mengikuti notasi dalam Fortoff's "Time-Space Tradeoffs for Satisfiability" yang juga dapat dikutip untuk argumen yang dibuat sketsa di paragraf sebelumnya (tapi silakan lihat makalah untuk referensi sebelumnya).ΣO(logn)P

Ryan Williams
sumber
Terima kasih banyak atas komentar dan jawaban tindak lanjutnya. Saya mengedit jawaban saya dan menambahkan rincian tentang generalisasi argumen. Sebenarnya ada waktu, ruang, dan pertukaran pertukaran untuk jenis perhitungan yang dapat dikodekan.
Michael Wehar
Terima kasih atas referensi yang ditambahkan! Juga, saya menambahkan jawaban yang lebih ringkas agar mudah-mudahan klarifikasi. Terima kasih lagi. :)
Michael Wehar
7

(1) Apa yang sudah kita ketahui:

Seperti yang sudah Anda nyatakan, QBF dengan bergantian dari pengukur sulit untuk setiap tingkat hirarki polinomial.log(n)

(2) Saya pikir kita juga bisa membuktikan yang berikut:

Masalahnya adalah -Hard.NSPACE(log2(n))

(3) Inilah pembenaran informal saya atas pernyataan sebelumnya:

Mengingat ruang terikat NTM dan string masukan, kita perlu menentukan apakah ada sebuah perhitungan menerima pada string masukan yang diberikan.log2(n)

Setiap konfigurasi dalam perhitungan dapat diwakili oleh dasarnya bit. Dengan kata lain, kita dapat merepresentasikan konfigurasi oleh sekelompok variabel log 2 ( n ) .log2(n)log2(n)

Idenya adalah bahwa kita memiliki konfigurasi mulai dan konfigurasi akhir dan kita perlu menebak perhitungan yang terjadi di antaranya. Kami secara rekursif menebak konfigurasi "tengah" menggunakan quantifiers yang ada dan berulang memverifikasi bahwa konfigurasi "kiri" mengarah ke konfigurasi "tengah" dan "tengah" mengarah ke "kanan" menggunakan semua kuantifiers.

Sekarang untuk membuat ini berfungsi, alih-alih memilih satu konfigurasi "tengah", kita perlu memilih sekelompok konfigurasi "perantara" yang berjarak sama antara konfigurasi "kiri" dan "kanan". Secara khusus, kita bisa menebak konfigurasi "perantara" yang sama-sama spasi menggunakan kuantifiers yang ada dengannvariabel dan kemudian recurse pada setiap kesenjangan antara konfigurasi menggunakan untuk semua bilangan dengan kasarlog(n)variabel.nlog2(n)log(n)

Rekursi hanya perlu melanjutkan ke kedalaman untuk dapat mencakup perhitungan panjang 2log(n)mana setiap konfigurasi memiliki paling banyaklog2(n)banyak bit.n2log(n)=nlog(n)=2log2(n)log2(n)

Karena rekursi memiliki kedalaman , kami hanya memiliki kelompok variabel O ( log ( n ) ) yaitu pergantian. Karena setiap kelompok bilangan hanya memiliki O(log(n))O(log(n))variabel, secara total kita memilikiO(nlog2(n)variabel.O(nlog3(n))

Jangan ragu untuk memberikan umpan balik atau koreksi. Terima kasih banyak dan saya harap ini sedikit membantu.

(4) Penegasan yang lebih umum seperti yang disarankan oleh jawaban Ryan:

Anda harus dapat melakukan konstruksi sebelumnya dengan cara yang lebih umum. Pertimbangkan yang berikut ini:

Pada setiap langkah rekursi, pisahkan menjadi kelompok konfigurasi "menengah" menggunakan c ( n ) bit per konfigurasi. Kemudian, lakukan rekursi ke kedalaman d ( n ) .g(n)c(n)d(n)

Selama kita tidak memiliki terlalu banyak variabel dan terlalu banyak pergantian, ini tampaknya berfungsi dengan baik. Secara kasar, kita perlu yang berikut ini dipenuhi:

  • g(n)c(n)d(n)n
  • d(n)log(n)

Pendekatan umum kami akan digunakan untuk mensimulasikan mesin Turing non-deterministik yang berjalan untuk langkah menggunakan c ( n ) bit memori.g(n)d(n)c(n)

Secara khusus, kami memilih yang berikut:

  • g(n)=n

  • c(n)=n2log2n

  • d(n)=2log2(n)

Ketidaksetaraan sebelumnya puas dan kami dapat melakukan konstruksi untuk mensimulasikan mesin Turing non-deterministik yang berjalan sekitar langkah menggunakan 2log2(n) bit memori.n2log2n

Dengan kata lain, kami memiliki hasil kekerasan yang lebih baik dari sebelumnya. Secara khusus, masalahnya sulit untuk .NTISP(2log2(n),n2log2n)

(5) Generalisasi lebih lanjut:

Dalam generalisasi sebelumnya, kami mensimulasikan mesin Turing yang dibatasi waktu dan ruang. Namun, kami mungkin dapat mensimulasikan waktu dan ruang yang dibatasi oleh mesin Turing.

Biarkan saya jelaskan sedikit. Jadi kami menggunakan kira-kira alternatif untuk melakukan rekursi ke kedalaman log ( n ) . Namun, kita bisa menggunakan beberapa alternatif pada awalnya, katakanlah log(n)log(n) . Kemudian, kita bisa menggunakan sisalog(n) alternatif untuk menuju kedalamanlog(n) .log(n)

Dalam hal ini, kita bisa mensimulasikan mesin Turing bergantian yang memiliki bergantian dengan panjang saksi sublinear, jalankan selama2 log 3log(n)langkah, dan gunakan2log32(n) bit memori.n2log2n

Dengan kata lain, masalahnya adalah sulit bagi AltTimeSpace(log(n),2log32(n),n2log2n) with sublinear witness lengths. Alternatively, this class could be written using the STA notation mentioned in the comments above.

Thank you for the comments and feel free to offer any further corrections or clarifications. :)

Michael Wehar
sumber
1
Wouldn't the NL2-hardness follow straightaway from PH-hardness?
Nikhil
1
How exactly do we know point (1)? Don't we need 2k variables to get to some level k of PH? Maybe I'm missing a simple point here.
Markus
1
@MichaelWehar Sure, but we do know that NL2PH right? And that means every problem in NL2 reduces to QBF with constantly many alternations, which is a special case of log-many alternations?
Nikhil
1
@MichaelWehar Oops. Of course you're right! A related question here: cstheory.stackexchange.com/questions/14159/…
Nikhil
2
Why not NTISP(nlogn,poly(n))-hard?
Ryan Williams
1

A shorter answer.

Initial observations:

  • The problem is hard for every level of the polynomial hierarchy.
  • The problem is hard for alternating Turing machines with log(n) alternations that run for polynomial time.

Deeper Insights:

  • Suggested by Kaveh's comment above, the problem can encode computations for AltTime(log(n),n) Turing machines.
  • Also, as Ryan pointed out, the problem can encode computations for NTimeSpace(2log2(n),n) Turing machines.
  • More generally, the problem can encode computations for machines corresponding to various classes of the form AltTimeSpace(a(n),t(n),s(n)) with restricted witness lengths. I'm not quite sure what the exact relationship between a(n), t(n), and s(n) has to be, but we know that:

    1. a(n)log(n)

    2. t(n)2log2(n)

    3. s(n)n

See my longer answer for more details on the trade-offs between a(n), t(n), and s(n).

Note: In the above, when I say encode computations, I mean encode the computation without blowing up the instance size too much. That is, if we blow-up from n size Turing machine input to poly(n) size formula, then I think that although the blow-up is polynomial, it is good to pay close attention to the degree of the polynomial. The reason for the semi-fine-grained perspective is to try and slightly better recognize how the different complexity measures a(n), t(n), and s(n) depend on each other.

Michael Wehar
sumber
Also, there is another factor that I omitted. That is, the witness size used with each alternation takes up variables. In other words, the larger the witnesses, the fewer variables that we have meaning that potentially we can't represent as many bits per configuration causing us to possibly require there to be less space for the machine that we encode computations for.
Michael Wehar
Basically, all witness lengths for the quantifiers are sublinear and how large we can make them depends on the choice of a(n), t(n), and s(n).
Michael Wehar
Maybe an inner most there exists quantifier doesn't need to have restricted witness size because we can guess as we go.
Michael Wehar