Trouver un polynôme en deux ou trois requêtes

17

La boîte noire de f(x) signifie que je peux évaluer le polynôme f(x) à tout moment.

  • Entrée : Une boîte noire de polynôme monique de degré d .f(x)Z+[x]d

  • Sortie: les coefficients du polynôme f ( x ) .df(x)

Mon algorithme: laissez

f(x)=xd+ad1xd1++a1x+a0

Évaluez le polynôme en d plusieurs points à l'aide de la boîte noire et obtenez un système d'équations linéaires. Maintenant, je peux résoudre le système d'équations linéaires pour obtenir les coefficients souhaités.f(x)d

Cependant, dans ce cas, j'ai besoin de nombreuses requêtes dans la boîte noire. Je souhaite minimiser le nombre de requêtes . Existe-t-il un moyen de réduire le nombre de requêtes à seulement deux ou trois?O(d)

Complexité
la source
2
Vous continuez de changer la question. Vous devriez peut-être d'abord décider de votre question et ensuite seulement la poser. Sinon, cela peut être quelque peu frustrant pour le répondeur.
Yuval Filmus
2
Que signifie ? Z+
md5
1
ensemble d'entiers positifs
Complexité
1
BTW pour votre algorithme, les coefficients peuvent être calculés en au lieu de O ( n 3 ) avec la formule fermée de Lagrange. O(n2)O(n3)
md5
2
Exactement la même question, formulée différemment: math.stackexchange.com/questions/446130/…
Nayuki

Réponses:

29

Vous pouvez déterminer le polynôme à l'aide de deux requêtes. Recherchez d'abord le polynôme à pour obtenir une borne supérieure M sur la valeur des coefficients. Maintenant interrogez le polynôme à x > M de votre choix et lisez les coefficients de l' expansion de base x .x=1Mx>Mx

Curieusement, si vous autorisez les coefficients à être négatifs, vous ne pouvez pas faire mieux que requêtes. En effet, je peux toujours répondre à vos d - 1 requêtes x 1 , , x d - 1 par zéro, et cela ne fixe pas la valeur du polynôme puisque tous les polynômes de la forme ( x - x 1 ) ( x - x d - 1 ) ( x - x d ) sont conformes à mes réponses.dd1x1,,xd1(xx1)(xxd1)(xxd)

Yuval Filmus
la source
Pour les négatifs, je pense que le genre de truc du complément 2 peut fonctionner.
Complexité
4
Non sans limite supérieure de l'amplitude des coefficients. C'est ce que montre ma preuve.
Yuval Filmus
Désolé , je n'ai pas eu cette partie « Je peux toujours répondre à votre requêtes x 1 , ... , x d - 1 par zéro »d1x1,,xd1
complexité
6
C'est un argument adversaire. Votre algorithme demande à la boîte noire la valeur de à d - 1 endroits, et il répond toujours à zéro. Je montre que cela ne vous suffit pas pour déduire la valeur de f . fd1f
Yuval Filmus