다항식 평가 알고리즘
수학과 컴퓨터 과학에서 다항식 평가는 다항식의 불분명한 값을 일부 값으로 대체할 때 다항식의 값을 계산하는 것을 말한다.즉 다항식 1, ) 평가= 1 + + 1 3+ {\},1}}+} x = , = 는 계산 P ) = + + = 로 구성된다 다항식 링 § 다항식 평가 참조
For evaluating the univariate polynomial the most naive method would use multiplications to compute , use multiplic (+) 등을 계산하는 방법{n1}{n-1}{n-1}{\displaystyle {+1)}{}배수 n 추가.호너의 규칙과 같은 더 나은 방법을 사용하면 이 값을 의 승수와 의 추가로 줄일 수 있다.약간의 사전 처리가 허용된다면, 훨씬 더 많은 절감이 가능하다.null
배경
이 문제는 실제로 자주 발생한다.계산 기하학에서 다항식은 테일러 다항식을 사용하여 함수 근사치를 계산하는 데 사용된다.암호화와 해시 테이블에서 다항식은 k-독립 해싱을 계산하는 데 사용된다.null
전자의 경우 다항식을 부동소수점 산술로 평가하는데 정확하지 않다.따라서 평가의 다른 계획은 일반적으로 약간 다른 답을 줄 것이다.후자의 경우 다항식은 대개 유한한 분야에서 평가되는데, 이 경우 답은 항상 정확하다.null
일반 방법
호너의 법칙
호너의 방법은 반복된 브래킷을 사용하여 다항식을 평가한다.
이 방법을 사용하면 승수 및 추가 를 n{\만으로 줄일 수 있음 호너의 방법은 너무 흔해서 많은 컴퓨터 프로세서에 "멀티-어큐뮬레이션 연산"이라는 컴퓨터 명령이 추가되어 한 번에 덧셈과 곱셈 연산을 할 수 있게 되었다.null
다변량
다항식이 다변량일 경우 일부 변수 순서에 걸쳐 호너의 규칙을 반복 적용할 수 있다.예시
라고 쓸 수 있다.
이 접근법의 효율적인 버전은 카니커와 가스카에 의해 설명되었다.[1]null
사전 처리를 사용한 평가
다항식은 계수 ,… , 을 먼저 "preprocess"하면 호너의 규칙이 요구하는 것보다 적은 연산으로 평가할 수 있다
모츠킨이[2] 먼저 그 예를 들었다.
라고 쓸 수 있다.
여기서 ,… , 3 을 0,에 근거하여 미리 계산한다 모츠킨의 방법은 호너의 4에 비해 3배수만을 사용한다.
각 에 대한 은 P) 을(를) 확장하고 계수를 동일화하여 쉽게 계산할 수 있다.
예
Taylor exp () + / 2+ / + / )\ 약 를 계산하려면 인자 24를 기준으로 업스케일업 스케일업하고 위의 단계를 적용하고 스케일다운하면 된다.3 곱셈 계산이 가능하지
등가 호너 형태(( x)= + (+ + x( / 6+ x/ +x(1+x/24에 대해 1 곱하기.null
다중점 평가
점 , x m {\의 배수를 호너의 방법 m 사용하여 할 수 있다.위의 사전 처리 접근법을 사용하면 이 값을 m / 2 {\displaystyle 배수로 줄일 수 있다.단, 빠른 푸리에 변환을 사용하면 시간 요구사항을 ( (n+ ) (+ m로 줄일 수 있다[3]
다항식을 평가하고자 하는 지점이 어느 정도 구조를 가지고 있는 경우에는 보다 간단한 방법이 존재한다.예를 들어 Knuth는[4] 유형의 다항식 값을 표로 표시하는 방법을 제공한다.
동적평가
(로그 n)O(1)시(1){\displaystyle(n\log)^{O(1)}(\l 1+(로그 2 q)이 x1,…,)m{\displaystyle x_{1},\dots ,x_{m}}미리 알려져 있지 않는 경우, Kedlaya과 Umans[5]크기 Fq{\displaystyle F_{q}유한한 밭에 다항식을 평가하기 위한}시간의 데이터 구조를 주었다.og일부 초기 전처리 후 평가당.이것은 라르센에[6] 의해 본질적으로 최적인 것으로 보여졌다.null
The idea is to transform of degree into a multivariate polynomial , such that and the individual degrees of is at most . Since this is over , the largest value can take (over ) is . Using the Chinese remainder theorem, it suffices to evaluate modulo different primes