Позвольте мне начать с нескольких примеров. Почему так просто показать, что CVP в P, а так сложно показать, что LP в P; в то время как оба являются P-полными проблемами.
Или взять первичность. Композиты проще показывать в NP, чем простые числа в NP (что требовало Pratt) и, в конечном итоге, в P. Почему вообще должна была отображаться эта асимметрия?
Я знаю Гильберта, потребность в творчестве, доказательства в NP и т. Д. Но это не помешало мне испытать тошноту, что есть нечто большее, чем кажется на первый взгляд.
Существует ли поддающееся количественному определению понятие «работа» и существует ли «закон сохранения» в теории сложности? Это показывает, например, что, хотя CVP и LP оба являются P-полными, они скрывают свои сложности в «разных местах» - один в сокращении (Является ли CVP простым, потому что вся работа выполняется в сокращении?) И Другое в выразительности языка.
Кто-нибудь еще тошнит и с некоторыми соображениями? Или мы пожимаем плечами и говорим / принимаем, что это природа вычислений?
Это мой первый вопрос к форуму: пальцы скрещены.
Редактировать: CVP - это проблема значения схемы, а LP - линейное программирование. Спасибо Sadeq, за указание на путаницу.
источник
Ответы:
Это вопрос, который приходил мне в голову много раз.
Я думаю, что одно место, чтобы посмотреть, это теория информации. Вот мое предположение. Учитывая проблему, может быть, мы можем дать некоторую энтропийную ценность информации, предоставленной в качестве входных данных, и информации, полученной из алгоритма. Если бы мы могли это сделать, то для решения этой проблемы был бы некоторый минимальный объем информации, требуемый алгоритмом.
Есть одна связанная вещь, которую я хотел выяснить. В некоторых NP-полных задачах вы можете найти ограниченную версию в P; с гамильтоновым путем, если вы укажете, что граф является DAG, то существует алгоритм p-времени для его решения. С другими проблемами, такими как TSP, часто бывают алгоритмы p-времени, которые приближаются к оптимальным. Мне кажется, что для алгоритмов с ограниченным p-временем должна быть некоторая пропорциональная связь между предполагаемой информацией о сложении и снижением сложности во время выполнения. В случае TSP мы не принимаем дополнительную информацию, мы снижаем точность, которая, как я ожидаю, окажет аналогичное влияние на любой вид алгоритмического получения информации.
Примечание о законах сохранения
В начале 1900-х годов был малоизвестный немецко-американский математик по имени Эмили Нетер. Среди прочего, Эйнштейн и Гильберт назвали ее самой важной женщиной в истории математики. В 1915 году она опубликовала то, что сейчас известно как первая теорема Нетера . Теорема была о физических законах сохранения, и сказал, что все законы сохранения имеют соответствующую дифференциальную симметрию в физической системе. Сохранение углового момента происходит из вращательной симметрии в пространстве, сохранение линейного импульса - это перемещение в пространстве, сохранение энергии - это перемещение во времени. Учитывая, что для существования какого-либо закона сохранения сложности в формальном смысле, должна быть некоторая соответствующая дифференциальная симметрия в функции Ланграга.
источник
Я думаю, что причина кроется в логической системе, которую мы используем. Каждая формальная система имеет набор аксиом и набор правил вывода .
Длительность доказательства теоремы, если она решаема в логической системе, полностью зависит от множеств аксиом и правил вывода .
Например, рассмотрим логику высказываний, для которой существует несколько характеристик: Фреге (1879), Никод (1917) и Мендельсон (1979). (См. Этот короткий опрос для получения дополнительной информации.)
Последняя система (Мендельсон) имеет три аксиомы и одно правило вывода (modus ponens). Учитывая эту короткую характеристику, действительно трудно доказать даже самые тривиальные теоремы, скажем, . Здесь, трудно , я имею в виду минимальная длина доказательства высока.φ→φ
Эта проблема называется доказательством сложности . Чтобы процитировать Beame & Pitassi :
источник
Я думал об этом же вопросе на днях, когда я повторял несколько лекций Фейнмана по физике и пришел к уроку 4 по сохранению энергии. В лекции Фейнман использует пример простой машины, которая (посредством некоторой системы рычагов или шкивов или чего-либо еще) снижает вес одной единицы на некоторое расстояние х, и использует ее для поднятия второго веса в 3 единицы. Как высоко можно поднять вес? Фейнман отмечает, что если машина обратима, нам не нужно ничего знать о механизме машины - мы можем обращаться с ней как с черным ящиком - и она всегда поднимает вес на максимально возможное расстояние ( х / 3 в данном случае).
Есть ли у этого аналога в вычислениях? Идея обратимых вычислений напоминает работу Ландауэра и Беннетта, но я не уверен, что это смысл термина, в котором мы заинтересованы. Интуитивно понятно, что если у нас есть алгоритм для какой-то задачи, который является оптимальным, тогда не будет потрачена впустую «работа», выполняющая перемешивание битов; в то время как подход грубой силы к той же проблеме будет отбрасывать циклы процессора влево и вправо. Однако я полагаю, что можно построить физически обратимую схему для любого алгоритма.
Я думаю, что первый шаг в приближении закона сохранения к вычислительной сложности - это выяснить, что именно должно быть сохранено. Пространство и время являются важными метриками, но из наличия компромиссов между пространством и временем ясно, что ни один из них сам по себе не будет адекватным показателем того, сколько «работы» выполняется алгоритмом. Существуют и другие метрики, такие как разворот головы TM или пересечение ленточных ячеек. Кажется, что ни один из них на самом деле не близок нашему пониманию объема «работы», необходимой для выполнения вычислений.
Обратная сторона проблемы - выяснить, во что превращается эта работа. Когда у вас есть выход из программы, что именно вы получили?
источник
Некоторые наблюдения, предполагающие существование закона сохранения:
источник
Тао предполагает существование закона сохранения сложности в математике: «Чтобы доказать любой действительно нетривиальный результат, нужно где-то проделать тяжелую работу».
Он утверждает, что сложность некоторых математических доказательств предполагает более низкую оценку количества усилий, необходимых для процесса доказательства теорем.
источник