Изменения

Перейти к: навигация, поиск

Участник:Zerogerc

7 байт добавлено, 19:36, 14 мая 2017
Задача
В предыдущих двух примерах мы обсуждали задачи для которых известен детерминированный алгоритм работающий за полиноминильное время. Сейчас мы опишем задачу для которой такого алгоритма пока не придумали.
====Задача====
Есть полином с целыми коэффициентами. Нужно проверить, является ли полином тождественным нулем. Будем считать что полином представлен в виде арифметической схемы. Арифметическая схема похожа на логическую только вместо операций <tex>{\land, \lor, \neg}</tex> она использует операции <tex>{+, -, \times}</tex>. Формально это ориентированный граф в котором есть <tex>n</tex> источников и каждая вершина не являющаяся источником имеет два входа и один выход. Есть одна вершина являющаяся стоком. Каждая внутрення вершина помечена одной из трех aрифметических операций. Значение полинома считается путем помещения на источники целых чисел и применения всех операций в порядке заданном графом.
Заметим что исходная задача звучала как проверка двух полиномов не равенство. Мы свели ее к проверке полинома на равенство нулю путем такого преобразования. Пусть у нас было две арифметические схемы <tex>C, C'</tex> которые нужно проверить на равенство. Мы строим новую схему <tex>D : D(x_1, ..., x_n) = C(x_1, ..., x_n) - C'(x_1, ..., x_n)</tex>.
63
правки

Навигация