Точные алгоритмы решения задачи о выполнимости формулы в КНФ общего вида: различия между версиями

Перейти к навигации Перейти к поиску
м
Строка 36: Строка 36:




Типичный алгоритм «разделяй и властвуй» для задачи SAT состоит из двух этапов: разбиение исходной задачи на несколько подзадач (например, редукция SAT(F) до SAT(F[x]) и SAT(F[:x])) и упрощение полученных подзадач при помощи правил преобразования с полиномиальным временем работы, не влияющих на выполнимость подзадач (т.е. заменяющих формулу другой формулой, в равной мере выполнимой). Подзадачи F1, ..., Fk для разбиения выбираются таким образом, чтобы соответствующее рекуррентное неравенство с упрощенными задачами F[,..., Fk0, к T(F) < X T(Fi0) + const ;
Типичный алгоритм «разделяй и властвуй» для задачи SAT состоит из двух этапов: ''разбиение'' исходной задачи на несколько подзадач (например, редукция SAT(F) до SAT(F[x]) и SAT(F[<math>\lnot</math>x])) и упрощение полученных подзадач при помощи правил преобразования с полиномиальным временем работы, не влияющих на выполнимость подзадач (т.е. заменяющих формулу другой формулой, в равной мере выполнимой). Подзадачи F1, ..., Fk для разбиения выбираются таким образом, чтобы соответствующее рекуррентное неравенство с упрощенными задачами F[,..., Fk0, к T(F) < X T(Fi0) + const ;
давало желаемую верхнюю границу по количеству листьев в дереве рекуррентности и, следовательно, по времени работы алгоритма. В частности, для получения границы jFjO(1) • 2°:30897m необходимо решить либо две подзадачи F[x]; F[:x] с рекуррентным неравенством
давало желаемую верхнюю границу по количеству листьев в дереве рекуррентности и, следовательно, по времени работы алгоритма. В частности, для получения границы jFjO(1) • 2°:30897m необходимо решить либо две подзадачи F[x]; F[:x] с рекуррентным неравенством
tm < tm-3 + fm-4 ]; F[:x;
tm < tm-3 + fm-4 ]; F[:x;
4446

правок

Навигация