Menentukan Bit Perkalian Biner Paling Signifikan

10

Saya tertarik untuk menentukan kerumitan masalah keputusan berikut: Diberikan dua bilangan bulat dan (masing-masing dengan paling banyak m bit), putuskan apakah bit paling signifikan dari perkalian adalah 1 (di mana hasilnya dicetak dalam 2m bit dengan kemungkinan memimpin 0's)?l 2 l 1l 2l1l2l1l2

Beberapa latar belakang masalah: Jelas, masalah ini adalah kasus khusus perkalian biner yang menanyakan apakah bit ke- dari perkalian adalah 1. Dalam makalahnya, sirkuit ambang batas konstan seragam untuk pembagian dan perkalian berulang , Hesse, Allender dan Barrington membuktikan bahwa multiplikasi iterated (dan dengan demikian biner) ada di - uniform . Selain itu, tampaknya diketahui bahwa perkalian biner sudah - uniform \ mathsf {TC} ^ 0l 1l 2sayal1l2DL.HaigTsayame D L o g T i m eTC0DL.HaigTsayame TC0-keras. Namun, saya tidak dapat menemukan sumber tertentu yang membuktikan hasil kekerasan ini. Sebagai non-ahli dalam kompleksitas sirkuit, saya juga akan menghargai pointer ke hasil kekerasan umum ini. Akhirnya, dengan asumsi bahwa perkalian biner adalah DL.HaigTsayame - uniform TC0 -besar, pertanyaan saya juga dapat dibaca sebagai: Apakah tetap DL.HaigTsayame - uniform TC0 - sulit jika kita ingin memutuskan hanya penggandaan biner yang paling signifikan?

UPDATE: Jawaban Kaveh menjelaskan mengapa perkalian biner adalah TC0 -hard (pengurangan dari COUNT). Kompleksitas tepat dalam menentukan bit perkalian biner yang paling signifikan tetap terbuka (dan bayarannya untuk pertanyaan ini).

Heyheyhey
sumber
Ada bukti dalam buku Kompleksitas Deskriptif iirc. Tidak yakin apa yang Anda maksud dengan bit yang paling signifikan adalah selalu sedikit demi sedikit.
Kaveh
Ini hanya lelucon gurumu: Bit 0 atau 1, dan bit paling signifikan adalah bit non-0 di posisi tertinggi. Itu sama dengan 1 menurut definisi (kecuali salah satu faktor dan adalah nol). l 2l1l2
Gamow
@ Kaveh Terima kasih untuk referensi: Saya akan memeriksanya. Maaf atas kebingungan mengenai bit yang paling signifikan. Saya secara implisit mengasumsikan bahwa hasilnya dicetak dalam 2m-1 bit dan jika perlu dengan memimpin 0's.
Heyheyhey
@ Kaveh: Dalam Buku Kompleksitas Deskriptif, hanya batas atas yang disebutkan. Saya tidak bisa menemukan apa pun mengenai kekerasan perkalian biner.
Heyheyhey
Anda menulis: "Selain itu, tampaknya diketahui bahwa perkalian biner sudah - uniform -hard." Kenapa begitu? Saya tahu bahwa perkalian biner tidak ada di , dan hanya itu yang saya pedulikan saat ini. T C 0 A C 0DLogTime TC0AC0
Thomas Klimpel

Jawaban:

6

Perkalian selesai untuk dan ini adalah hasil yang diketahui. Pengurangannya dari Count (jumlah 1 bit dalam jumlah biner). Perbandingan angka biner dalam jadi dapat direduksi menjadi .A C 0 M a j o r i t y C o u n tTC0SEBUAHC0M.SebuahjHairsayatyCHaikamunt

Untuk mengurangi ke lakukan sebagai berikut: pertimbangkan input adalah . Masukkan 0s antara dan panggil . Multiply dengan yang seperti kecuali bahwa di dalamnya diganti dengan 1s. Pilih . Angka di bagian tengah adalah jawabannya. Pengurangan dalam dan menunjukkan bahwa .M u l t a 0 a 1 ... a n k a i a b a a i k > 3 n a b F O C o u n tF O ( M u l t )CHaikamuntM.kamultSebuah0Sebuah1...SebuahnkSebuahsayaSebuahbSebuahSebuahsayak>3nSebuahbFHAICHaikamuntFHAI(M.kamult)

Kaveh
sumber
1
Terima kasih atas jawabannya! Ya, ini memverifikasi bahwa perkalian biner selesai untuk TC0. Adapun bit paling signifikan, ada beberapa masalah yang tersisa. Bit perkalian yang paling signifikan (111 x 111) = 110001 adalah 1, dan untuk yang ini (100 x 100) = 010000, adalah 0. Perhatikan bahwa bit paling signifikan dari multiplikasi sama dalam kedua kasus. Oleh karena itu, saya tidak berpikir bahwa, secara umum, sudah cukup untuk menjumlahkan bit yang paling signifikan. Apakah saya melewatkan sesuatu?
Heyheyhey
1
Jika dan , maka MSB dari adalah 0, dan MSB dari adalah 1 , meskipun dan mungkin hanya berbeda dalam satu bit, paling tidak signifikan. x=2n+1/2y=2n+1/2x2y2xy
Emil Jeřábek
3
Hasil edit tidak benar. Karena kita menambahkan angka m, mungkin tidak hanya ada satu carry, tetapi log m. Memutuskan seberapa besar penyebarannya jauh lebih sulit.
Emil Jeřábek
1
Memang, mengabaikan segalanya: menghitung pelaksanaan posisi tunggal (katakanlah, di suatu tempat di tengah) sudah setara dengan Count, maka TC ^ 0-complete.
Emil Jeřábek
1
@Heyheyhey, rumus yang saya tulis adalah FO dan karenanya berseragam AC0.
Kaveh