Base/Knowledges/IT/Алгоритмы/NP-полные задачи.md
2026-02-23 19:52:05 +03:00

48 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#todo
![[Pasted image 20250124095546.png]]
> Задача является NP-полной, если она одновременно является NP-задачей и NP-трудной задачей.
## Задачи разрешимости
Задача разрешимости подразумевает ответ «да» или «нет»
## Задачи выполнимости (SAT, Satisfiability Problem)
Задача SAT всегда ищет ответ «да» или «нет», поэтому это задача разрешимости.
Характеризуется временем выполнения $O(2^n)$.
## Классы задач P и NP
Решения задачи SAT быстро проверяются, поэтому она относится к классу NP. В класс NP входят задачи, решения которых могут быть проверены за полиномиальное время. NP-задачи могут быть простыми или трудными в решении, но их решения легко проверить. Этим они отличаются от класса P.
![[Pasted image 20250124100003.png]]
Задача относится к классу P, если ее можно решить и проверить за полиномиальное время.
![[Pasted image 20250124100009.png]]
![[Pasted image 20250124100108.png]]
## Сведе́ние
Задача, которую вы не умеете решать, сводится к задаче, которую вы решать умеете
![[Pasted image 20250124100222.png]]
## NP-трудность
типы NP-трудных задач:
- задача о покрытии множества
- задача о коммивояжере
- задача SAT
Задача называется NP-трудной, если какая-либо задача из класса NP может быть сведена к этой задаче.
Все NP-задачи также могут быть сведены к любой NP-трудной задаче. Например, все задачи NP можно свести к SAT
![[Pasted image 20250124100407.png]]
## NP-полнота
![[Pasted image 20250124100520.png]]
Источники:
- [[Адитья Бхаргава - Грокаем Алгоритмы]]