Trova un polinomio in due o tre query


17

La casella nera di significa che posso valutare il polinomio in qualsiasi momento.f(X)f(X)

  • Input : una scatola nera di polinomio monico di grado .f(X)Z+[X]d

  • Output: i coefficienti del polinomio .df(X)

Il mio algoritmo: let

f(X)=Xd+un'd-1Xd-1++un'1X+un'0

Valutare polinomio a molti punti con la scatola nera e ottenere un sistema di equazioni lineari. Ora posso risolvere il sistema di equazioni lineari per ottenere i coefficienti desiderati.f(X)d

Tuttavia, in questo caso, ho bisogno di molte query nella casella nera. Voglio ridurre al minimo il numero di query . C'è un modo per ridurre il numero di query a solo due o tre?O(d)


2
Continui a cambiare la domanda. Forse dovresti prima decidere sulla tua domanda e solo allora farla. Altrimenti può essere alquanto frustrante per chi risponde.
Yuval Filmus,

2
Cosa significa ? Z+
md5,

1
serie di numeri interi positivi
Complessità

1
A proposito del tuo algoritmo, i coefficienti possono essere calcolati in invece di O ( n 3 ) con la formula chiusa di Lagrange. O(n2)O(n3)
md5,

2
Esatta stessa domanda, formulata diversamente: math.stackexchange.com/questions/446130/…
Nayuki

Risposte:


29

È possibile determinare il polinomio utilizzando due query. Per prima cosa interroga il polinomio su per ottenere un limite superiore M sul valore dei coefficienti. Ora interroga il polinomio su x > M di tua scelta e leggi i coefficienti dall'espansione x di base .X=1MX>MX

Curiosamente, se permetti che i coefficienti siano negativi, non puoi fare meglio di query. Anzi, posso sempre rispondere alla tua d - 1 query x 1 , ... , x D - 1 per zero, e questo non risolve il valore del polinomio dal momento che tutti i polinomi della forma ( x - x 1 ) ( x - x d - 1 ) ( x - x d ) sono coerenti con le mie risposte.dd-1X1,...,Xd-1(xx1)(xxd1)(xxd)


Per i negativi penso che il tipo di trucco del complemento di 2 possa funzionare.
Complessità

4
Non senza un limite superiore sull'entità dei coefficienti. Questo è ciò che dimostra la mia prova.
Yuval Filmus,

Mi dispiace non ho avuto questa parte "posso sempre rispondere alla tua query x 1 , ... , x D - 1 per zero"d1x1,,xd1
Complessità

6
Questo è un argomento avverso. Il tuo algoritmo richiede alla scatola nera il valore di in d - 1 posti e risponde sempre a zero. Dimostro che questo non ti basta per dedurre il valore di f . fd-1f
Yuval Filmus,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.