Понимание Poly-Time Сокращение / NP-Complete - PullRequest
1 голос
/ 25 апреля 2020

Practice question: infer from X reduces to Y

Привет, у меня проблемы с пониманием отношения X и Y, когда проблема X сводится к Y.

В вопросе на рисунке я особенно не понимаю, почему a и b не верны, если X не сложнее, чем Y, то Y, по крайней мере, так же сложно, как X (?), тогда, если X является NP-полным, не будет ли Y, по крайней мере, NP-полным тоже?

Спасибо

(источник вопроса: https://introcs.cs.princeton.edu/java/55intractability/)

1 Ответ

1 голос
/ 26 апреля 2020

Это может помочь рассуждать по аналогии здесь. Вместо того, чтобы думать о проблемах и сводимости, давайте поговорим о людях и о том, как быстро они бегут.

Давайте определим SO как всех людей, которые используют переполнение стека, а затем определим кого-то как SO -быстро, если они могут работать по крайней мере так же быстро, как любой, кто использует переполнение стека. Затем мы можем сказать, что кто-то SO -комплектен, если он использует переполнение стека (они находятся в SO ), а также может работать по крайней мере так же быстро, как кто-либо в переполнении стека (они ') re SO -быстрый).

Теперь предположим, что X может работать не быстрее, чем Y, и что Y * SO -комплектно. Означает ли это, что X определенно SO -быстр? Возможно нет. Все, что мы знаем, что X не может опередить кого-то, кто может бежать так же быстро, как и все в Stack Overflow. Возможно, это означает, что X может работать так же быстро, как Y, и поэтому он также SO -быстрый, но более вероятно, что X не так быстро. Итак, рассуждая по аналогии, понимаете ли вы, почему опция (a) неверна?

Далее, предположим, что X может работать не быстрее Y и что X является SO -полным. Означает ли это, что Y SO -полный? Ответ - нет. Я предполагаю, что Усэйн Болт не является пользователем Переполнения стека, но я могу гарантировать, что Усэйн Болт может опередить любого в Переполнении стека. Это означает, что Усэйн Болт является SO -быстрым, но не SO -полным. Помните, что SO -полнота состоит из двух компонентов: вы должны быть быстрыми, но вы также должны быть пользователем переполнения стека. Знание того, что вы можете опередить самое быстрое переполнение стека, ничего не говорит о том, находитесь ли вы на переполнении стека. Это объясняет, почему опция (b) неверна?

Надеюсь, это поможет!

...