Можно ли преобразовать CNF в другой CNF такой, чтобы
- Функция может быть вычислена за полиномиальное время из некоторого секретного случайного параметра .
- имеет решение тогда и только тогда, когда имеет решение.
- Любое решение из может быть эффективно преобразовано в решение с помощью .
- Без , решение (или любое другое свойство ) не дает какой - либо помощи в решении .
Если есть такой , то его можно использовать, чтобы заставить других решать вычислительные задачи для нас (возможно, заменив решение CNF другими проблемами - я выбрал CNF, потому что хотел сделать проблему более конкретным), в такой ситуации. таким образом, что они не могут извлечь выгоду из возможного решения, даже если они знают, какую проблему мы использовали для их решения. Например, мы могли бы встроить проблему факторизации в компьютерную игру, которая позволяет игрокам играть, только если они работают над нашей проблемой в фоновом режиме, время от времени отправляя доказательства вычисления. Возможно, программное обеспечение можно даже сделать «бесплатным» таким образом, когда «бесплатное» скрывает (возможно, более высокую) стоимость в счетах за электричество ваших родителей.