Znajdź wielomian w dwóch lub trzech zapytaniach


17

Czarna ramka oznacza, że ​​mogę ocenić wielomian w dowolnym punkcie.f(x)f(x)

  • Dane wejściowe : czarne pole wielomianu monicznego stopnia .f(x)∈Z+[x]d

  • Wydajność: W współczynniki wielomianu .df(x)

Mój algorytm: let

f(x)=xd+ad−1xd−1+⋯+a1x+a0

Oszacuj wielomian w wielu punktach za pomocą czarnej skrzynki i uzyskaj układ równań liniowych. Teraz mogę rozwiązać układ równań liniowych, aby uzyskać pożądane współczynniki.f(x)d

Jednak w tym przypadku potrzebuję wielu zapytań do czarnej skrzynki. Chcę zminimalizować liczbę zapytań . Czy istnieje sposób na ograniczenie liczby zapytań do zaledwie dwóch lub trzech?O(d)


2
Zmieniasz pytanie. Być może powinieneś najpierw zdecydować o swoim pytaniu, a dopiero potem go zadać. W przeciwnym razie może to być nieco frustrujące dla osoby odpowiadającej.
— Yuval Filmus

2
Co oznacza ? Z+
— md5

1
zestaw liczb całkowitych dodatnich
— złożoność

1
BTW dla twojego algorytmu, współczynniki można obliczyć w zamiast z zamkniętą formułą Lagrange'a. O ( n 3 )O(n2)O(n3)
— md5

2
Dokładnie to samo pytanie brzmi inaczej: math.stackexchange.com/questions/446130/...
— Nayuki

Odpowiedzi:


29

Możesz określić wielomian za pomocą dwóch zapytań. Najpierw zapytaj wielomian przy aby uzyskać górną granicę M na wartości współczynników. Teraz zapytaj wielomian w wybranym przez ciebie x > M i odczytaj współczynniki z podstawowego rozszerzenia x .x=1Mx>Mx

Co ciekawe, jeśli pozwolisz, aby współczynniki były ujemne, nie możesz zrobić lepiej niż zapytań. Rzeczywiście, zawsze mogę odpowiedzieć na twoje zapytania d - 1 x 1 , … , x d - 1 przez zero, a to nie naprawia wartości wielomianu, ponieważ wszystkie wielomiany postaci ( x - x 1 ) ⋯ ( x - x d - 1 ) ( x - x d ) są zgodne z moimi odpowiedziami.dd−1x1,…,xd−1(x−x1)⋯(x−xd−1)(x−xd)


W przypadku negatywów myślę, że sztuczka dopełniacza 2 może działać.
— Złożoność

4
Nie bez górnej granicy wielkości współczynników. To pokazuje mój dowód.
— Yuval Filmus

Niestety nie dostałem tę rolę "zawsze mogę odpowiedzieć na zapytań x 1 , ... , x d - 1 przez zero"d−1x1,…,xd−1
— Complexity

6
To jest argument przeciwnika. Twój algorytm prosi czarną skrzynkę o wartość w miejscach d - 1 i zawsze odpowiada zero. Pokazuję, że to nie wystarczy, aby wywnioskować wartość f . fd−1f
— Yuval Filmus
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.