가장 중요한 정수 곱셈 및 이진 결정 다이어그램


15

하자 및 Y 두 이진수 N 개의 비트 Z = X ⋅ Y 이진수 (길이 2 N 의 생성물) X 및 Y . 우리 는 곱 z = z 2 n - 1 … z 0 의 최대 시그 니 칸트 비트 z 2 n - 1 을 계산하려고합니다 .엑스와이엔지=엑스⋅와이 2엔엑스와이지2엔−1지=지2엔−1…지0

이진 결정 다이어그램 (특히 1 회 분지 분기 프로그램) 모델에서이 함수의 복잡성을 분석하기 위해 경우에 해당하는 일부 표현식을 찾으려고 노력합니다 . 가장 명백한 것은 z 2 n - 1 = 1 ⇔ x ⋅ y ≥ 2 2 n - 1입니다 (여기서 x 및 y 는 이진수에 해당하는 정수임). 입력 비트를 일정하게 설정하면 어떤 일이 발생하는지 직관을 원합니다. 예를 들어 가장 중요한 입력 비트를지2엔−1=1지2엔−1=1⇔엑스⋅와이≥22엔−1엑스와이 와 y 에서 0까지 상수 0 함수를 얻습니다. 그러나 유의성이 낮은 비트는 결과에 영향을 미치지 않습니다.엑스와이

인 경우에 대한 다른 동등한 표현이 있습니까? 입력 비트를 수정하면 어떻게되는지 더 알 수 있습니까? 도움이 될 수있는 두 개의 이진수를 곱하는 정제 된 방법이 있습니까? 아니면이 문제에 대한 다른 접근 방식이 있습니까?지2엔−1=1


마지막 단락에서 세 가지 질문이 다소 모호하다는 것을 알았습니다. 보다 구체적인 질문을 고려하십시오.
— slimton

질문은 의도적으로 모호합니다. 아마도이 문제에 대한 새로운 접근법이나 아이디어가있는 사람이있을 것입니다.
— Marc Bury

문제의 BDD 너비를 찾고 있습니까?
— Sylvain Peyronnet

BDD 크기의 하한에 관심이 있습니다.
— Marc Bury

1
다항식 하한을 의미합니까? 곱셈은 ​​L에 있으므로 균일 한 다항식 크기 ​​BDD (균일 한 이기 때문에 너비 5도 포함 )가 있습니다. 엔씨1
— Emil Jeřábek가 Monica를 지원합니다.

답변:


5

흥미로운 소스는 DE Knuth : The Art of Computer Programming, Volume 4, Fascicle 1, Bitwise Tricks & Techniques; 이진 결정 다이어그램 , Addison-Wesley, Pearson Education 2009

96 페이지에는 모든 비트 z = x⋅y에 대한 BDD가 있으며 여기서 x와 y에는 3 비트가 있습니다. 3 비트의 경우 최상위 비트를 나타내는 BDD는 7 개의 비단 말 노드를 가지고 있음을 보여준다. 아래 이미지를 참조하십시오. 지수 x = (x2, x1, x0) 및 y = (y2, y1, y0)를 사용하여 다시 그렸습니다.

Knuth의 책 140 페이지에는 무한히 많은 비트를 가진 두 숫자의 곱하기에 가장 중요한 비트를 나타내는 BDD에 대한 질문 (183 번)이 있습니다 ( "제한 선행 비트 함수"라고 함). 찾고 있습니다! 223 페이지의 대답은 결과 BDD의 첫 번째 레벨을 제공하고 모든 레벨의 노드 수에 대해 설명하지만 불행히도 그러한 BDD를 구성하는 알고리즘은 제공하지 않습니다.

두 개의 3 비트 숫자를 곱하기위한 가장 중요한 비트

그림 1 : (x2, x1, x0) 곱하기의 최상위 비트 * (y2, y1, y0)


1
이 참조에 감사드립니다. 바이너리 결정 다이어그램이이 "프로그래밍 백과 사전"의 일부라는 것을 몰랐습니다.
— Marc Bury
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.