Bit quan trọng nhất của phép nhân số nguyên và sơ đồ quyết định nhị phân


15

Đặt y hai số nhị phân có n bit và z = x y số nhị phân (độ dài 2 n ) của tích của xy . Chúng tôi muốn để tính nhất siginifcant chút z 2 n - 1 trong những sản phẩm z = z 2 n - 1 ... z 0 .xynz=xy 2nxyz2n1z=z2n1z0

Để phân tích độ phức tạp của hàm này trong mô hình sơ đồ quyết định nhị phân (cụ thể là các chương trình phân nhánh đọc một lần), tôi cố gắng tìm một số biểu thức tương đương cho trường hợp . Điều rõ ràng đầu tiên là z 2 n - 1 = 1 x y 2 2 n - 1 (ở đây xy là các số nguyên tương ứng với số nhị phân). Tôi muốn có được một trực giác những gì xảy ra nếu tôi đặt một số bit đầu vào không đổi. Ví dụ: nếu tôi đặt bit đầu vào quan trọng nhất từz2n-1= =1z2n-1= =1xy22n-1xy y đến 0 Tôi nhận được hàm 0 không đổi. Nhưng các bit có ý nghĩa thấp hơn không ảnh hưởng đến kết quả như vậy.xy

Có bất kỳ biểu thức tương đương nào khác cho trường hợp giúp nhiều hơn để xem điều gì xảy ra nếu tôi sửa một số bit đầu vào không? Có phương pháp tinh chế nào để tính tích của hai số nhị phân có thể giúp được không? Hay bạn có một số cách tiếp cận khác cho vấn đề này?z2n-1= =1


Tôi thấy ba câu hỏi trong đoạn cuối khá mơ hồ. Hãy xem xét làm một câu hỏi cụ thể hơn.
slimton

Những câu hỏi có chủ ý mơ hồ. Có lẽ ai đó có một cách tiếp cận mới hoặc ý tưởng mới cho vấn đề này.
Marc Bury

Bạn đang tìm kiếm chiều rộng của một BDD cho vấn đề?
Sylvain Peyronnet

Tôi quan tâm đến giới hạn dưới của kích thước BDD.
Marc Bury

1
Bạn có nghĩa là một đa thức thấp hơn ràng buộc? Phép nhân được tính bằng L, do đó nó có các BDD kích thước đa thức đồng nhất (thậm chí chiều rộng 5, vì nó nằm trong đồng nhất ). NC1
Emil Jeřábek hỗ trợ Monica

Câu trả lời:


5

Một nguồn thú vị là DE Knuth: Nghệ thuật lập trình máy tính, Tập 4, Fascicle 1, Thủ thuật & kỹ thuật bitwise; Sơ đồ quyết định nhị phân , Addison-Wesley, Pearson Education 2009

Trên trang 96, có một BDD cho tất cả các bit z = x⋅y, trong đó x và y có 3 bit. Nó cho thấy, trong trường hợp 3 bit, BDD đại diện cho bit quan trọng nhất có 7 nút không đầu cuối. Xem hình ảnh dưới đây, tôi đã vẽ lại bằng các chỉ số của bạn x = (x2, x1, x0) và y = (y2, y1, y0).

Trên trang 140 trong cuốn sách của Knuth, có một câu hỏi (số 183) về BDD đại diện cho bit có ý nghĩa nhất để nhân hai số với vô số bit (nó được gọi là "giới hạn hàm bit dẫn đầu") - điều này tương tự với những gì bạn đang liếm cho! Câu trả lời ở trang 223 đưa ra các mức đầu tiên của BDD kết quả và thảo luận về số lượng nút trên tất cả các cấp, nhưng không may là nó không đưa ra thuật toán để xây dựng một BDD như vậy.

Bit quan trọng nhất để nhân hai số 3 bit

Hình 1: Bit có ý nghĩa nhất cho phép nhân của (x2, x1, x0) * (y2, y1, y0)


1
Cảm ơn bạn đã tham khảo. Tôi không biết rằng sơ đồ quyết định nhị phân là một phần của "bách khoa toàn thư lập trình" này.
Marc Bury
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.