- •Исследованиеопераций
- •1 Литература 3
- •2 Основныепонятияисследованияопераций(исо).Классификациязадач 4
- •3 Основылинейногопрограммирования 8
- •4 Основытеорииграфов 23
- •1 Литература
- •2Основныепонятияисследованияопераций(исо).
- •2.1КлассификациязадачИсо
- •2.2Многокритериальныезадачи
- •3Основылинейногопрограммирования
- •3.1ГрафическийметодрешениязадачЛп
- •3.2 ВозможныевариантырешениязадачЛп
- •3.3 ЭквивалентныепостановкизадачЛп
- •3.4Симплекс-метод
- •3.5ТранспортнаязадачаЛп
- •3.6Задачаоназначениях
- •4Основытеорииграфов
- •4.1Основныепонятия
- •4.2 Алгоритмпостроенияэйлеровацикладлянеориентированно-гографа
- •4.3Заданиеграфов
- •4.4Топологическаясортировка
- •4.5Остовноедерево(остов)минимальноговеса
- •4.6Кратчайшиепути
- •Ij (j, еслиw0
- •Ij 0,еслиw0
- •5Сетевоепланированиеиуправлениепроектами
- •6Задачакоммивояжераиметодветвейиграниц
- •7Имитационноемоделированиенапримереметода
- •8Основытеориисложностивычислений
- •9Динамическоепрограммирование
8Основытеориисложностивычислений
Втеориисложностивычисленийвводитсяпонятиетрудноразрешимой(NP-трудной)зада-чи.Существованиеэффективного(быстрого)алгоритмарешенияхотябыоднойизтруд-норазрешимыхзадачвлечетсуществованиетакогородаалгоритмадлялюбойизтакихзадач.Изэтогоследует,чтодлятрудноразрешимыхзадачсуществованиеэффективныхалгоритмоврешениямаловероятно.
Задачираспознаванияиэкстремальныекомбинаторныезадачи.Подзадачейрас-познавания(свойствобъектов)будемпониматьнекоторыйобщийвопрос,предполагаю-щийответ”да”,еслирассматриваемыйвэтомвопросеобъектобладаетсвойствами,описан-нымивформулировкевопроса.Объектиегосвойстваописываютсяспомощьюнекоторыхпараметров,конкретныезначениякоторыхвобщейформулировкевопросаотсутствуют.Параметрамимогутбытьмножества,графы,числа,функцииит.п.
Примерзадачиполучаетсяпризаменевсехимеющихсявобщейформулировкезадачипа-раметровихконкретнымизначениями.Примерназываетсяда-примером,еслиприсоот-ветствующихзначенияхпараметровобъектобладаетуказаннымивформулировкезадачисвойствами.
Экстремальнаякомбинаторнаязадачасостоитвследующем.НаконечноммножествеX1
определенфункционалF(x),x∈X1.НеобходимовзаданномподмножествеXмножестваX1отыскатьтакойэлементx∗,чтоF(x∗)=min{F(x)|x∈X}(задачаминимизации),либотакойx0,чтоF(x0)=max{F(x)|x∈X}(задачамаксимизации).
СопоставимэкстремальнойзадачеBследующуюзадачураспознаванияB1:определить,
существуетлитакойэлементx1взаданноммножествеX,чтоF(x1)≤y(либоF(x1)≥y
вслучаезадачимаксимизации)дляданногодействительногочислаy.Очевидно,еслиx∗
решениезадачиминимизацииB,тоэлементx1∈Xтакой,чтоF(x1)≤y,существует
тогдаитолькотогда,когдаF(x∗)≤y.Такимобразом,экстремальнаязадачанепроще
соответствующейзадачираспознавания.
Разумныесхемыкодирования.Посколькузадачиинтересуютнассточкизренияраз-работкиалгоритмовихрешенияиреализацииэтихалгоритмовнаЭВМ,входныеданныезадачидолжныбытькаким-тообразомзакодированы.Схемакодированиясопоставляетцепочкусимволовкаждомупримерузадачи.
Оценкавычислительнойсложностиалгоритмарешениязадачи–этофункцияотдлинызаписивходнойинформациизадачи,т.е.оназависитотвыбраннойсхемыкодирования.
Можноподобратьсхемукодирования,котораядаеточеньдлинныекодыпримеровзадачи,такчтопочтилюбойалгоритмбудетэффективнымотносительнодлинтакихкодовимынесможемопределить,какойалгоритмлучше.Крометого,схемакодированияможетвыдаватькодысущественноразнойдлиныдляразныхпримероводнойитойжезадачи.Вэтомслучаенепонятнокакопределятьвычислительнуюсложностьалгоритма–наоднихпримерахонбудетэффективным,надругихнет.
Этиидругиепротиворечиябудутустранены,еслипользоватьсятакназываемымиразум-нымисхемамикодирования.Будемговорить,чтосхемакодированияявляетсяразумной,еслионаудовлетворяетследующимнеформальнымусловиям.
(а)Кодпримеразадачидолженбытькомпактныминедолженсодержатьнеобязатель-нуюинформациюилисимволы.
(б)Числаизпримеразадачидолжныбытьпредставленывдвоичной,либокакой-нибудьинойсистемесчислениясоснованием,отличнымотединицы.
Системасчислениясоснованием,равным1,называетсяунарной.Вэтойсистемечисло3представляетсяввиде111,число4ввиде1111ит.д.(какзарубкиудревнихлюдей).Вунарнойсистемесчислениядляпредставленияцелогочислаxтребуетсяxединицпамяти.Вдвоичнойсистемесчислениявсечислапредставляютсяввидепоследовательностейдвухчисел:0и1.Число3представляетсяввиде11,число4ввиде100,число5ввиде101ит.д.ДляпредставленияцелогочислаxтребуетсяO(log2x)нулейиединиц(единицпамяти).
ФункцияO(x)определяетсяследующимобразом:
lim
x→∞
O(x)
x
=const.
(в)Схемакодированиядолжнаобладатьсвойствомдекодируемости,т.е.длякаждогопараметразадачидолженсуществоватьполиномиальныйалгоритм,способныйвыделитькодэтогопараметраизкодалюбогопримеразадачи.
(г)Схемакодированиядолжнаобеспечиватьоднородностьприкодированииразличныхпримероводнойитойжезадачи.Однородностьозначает,чтосхемакодированиядолжнаобеспечиватьдлялюбыхдвухразличныхпримеровзадачиполучениекодов,”близких”подлине,еслиэтипримерысодержатблизкиеповеличинечислаиколичествопараметроввобоихпримерахприблизительноодноитоже.
Выполнениеусловияоднородностиможетбытьобеспеченособлюдениемследующегопро-стогоправила.Схемакодированиянедолжназаниматьсяраспознаваниемспецифическихсвойствкодируемогопримеразадачи.Припостроениикодаконкретногопримеразадачи
схемаможетиспользоватьлишьтесвойства,которыенепосредственноуказанывфор-мулировкезадачииявляютсяобщимидлявсехпримеровданнойзадачи.Такимобразом,кодпримеразадачидолженсодержатьлишьтуинформацию,которуюсодержитобщаяформулировказадачи,дополненнаяконкретнымизначениямипараметровзадачи.Условие(г)предотвращаетпоявлениеслишкомкороткихкодовдляотдельныхпримеровзадачи.Сдругойстороны,условие(а)недаетвозможностипоявлятьсяслишкомдлиннымкодам.
Вычислительная(временная)сложностьалгоритмов.Полиномиальныеипсев-дополиномиальныеалгоритмы.Подвременнойсложностьюалгоритмапонимаетсяколичествоэлементарныхопераций,необходимоедляегореализации.Дляалгоритмов,предназначенныхдляреализациинаЭВМ,подэлементарнымипонимаютсятакиемашин-ныеоперации,каксложение,умножение,сравнениедвухчисел,записьлибосчитываниечисла,расположенногопоизвестномуадресу,ит.п.
ДлялюбогопримераIнекоторойзадачивведемврассмотрениедвефункции:
–функцияLength[I],определяющаядлинукодапримераIприиспользованииразумнойсхемыкодированияи
–функцияMax[I],определяющаявеличинунаибольшегочисловогопараметравI.Еслизадачанесодержитчисел,тополагаемMax[I]=1длялюбогопримераI.
Какужеотмечалось,оценкавычислительнойсложностиалгоритмарешениязадачи–этофункцияотдлинызаписивходнойинформациизадачи.
Алгоритмрешениязадачиназываетсяполиномиальным,еслиеговременнаясложностьнепревосходитнекоторогополиномаотфункцииLength[I]длялюбогопримераIэтойзадачи.Соответствующаязадачаназываетсяполиномиальноразрешимой.
ПолиномиальноразрешимыезадачиобразуютклассP.
Алгоритмрешениязадачиназываетсяпсевдополиномиальным,еслиеговременнаяслож-
ностьнепревосходитнекоторогополиномаотдвухфункций:Length[I]иMax[I],-длялюбогопримераIэтойзадачи.Соответствующаязадачаназываетсяпсевдополиномиальноразрешимой.
КлассNPзадач.NP-полныеиNP-трудныезадачи.Задачапринадлежитклассу
NP,еслионаможетбытьрешеназаполиномиальноевремянатакназываемойнедетер-
минированноймашинеТьюринга,котораяреальнонесуществует.Натакоймашинеза
полиномиальноевремяможнореализоватькакполиномиальныетакинекоторыенеполи-номиальныеалгоритмы.
ЗадачаΠназываетсяNP-трудной,еслилюбаязадачаизклассаNPполиномиальносво-
дитсякней,т.е.имеяполиномиальныйалгоритмрешенияNP-труднойзадачи,можнополучитьполиномиальныйалгоритмрешениялюбойзадачиизклассаNP.Задачарас-познаванияΠназываетсяNP-полной,еслионаNP-труднаипринадлежитNP.
Понятиеполиномиальнойсводимоститранзитивно.ПоэтомудлядоказательстваNP-трудностинекоторойзадачидостаточнополиномиальносвестикнейнекоторуюNP-труднуюзадачу:
длялюбогопримераизвестнойNP-труднойзадачизаполиномиальноеотегоразмерно-стивремяпостроитьпримернашейзадачиипоказать,чторешениеNP-труднойзадачи
существуеттогдаитолькотогда,когдасуществуетрешениепостроенногопримеранашейзадачи.
ЭкстремальнаязадачаназываетсяNP-трудной,еслисоответствующаяейзадачараспо-знаванияявляетсяNP-трудной.
Изсуществованияполиномиальногоалгоритмарешениякакой-нибудьNP-труднойзадачиследуетсуществованиеполиномиальныхалгоритмоврешениядлявсехзадачизкласса
NP,включаявсеNP-полныезадачи.
Какужеотмечалось,всеполиномиальноразрешимыезадачиполиномиальноразрешимы
нанедетерминированноймашинеТьюринга.Поэтому
ОднаконеясноP=NPилиP/=NP.
P⊆NP.
ПосколькунидляоднойNP-труднойзадачинеразработанполиномиальныйалгоритм
решения,внастоящеевремяобщепринятойявляетсягипотезаотом,что
P/=NP.
Длятого,чтобыееопровергнуть,достаточнопостроитьполиномиальныйалгоритмре-шениялюбой(какой-нибудьодной)NP-труднойзадачи.Списоктакихзадачвключаетдесяткитысячзадачизразличныхобластейнауки.
ЗаразработкуполиномиальногоалгоритмарешениялюбойNP-труднойзадачиустановленпризв1.000.000долларов.
NP-трудныевсильномсмыслезадачи.НарядусразделениемзадачнаNP-трудныеиполиномиальноразрешимые,NP-трудныезадачи,всвоюочередь,подразделяютсянаNP-трудныевсильномсмыслезадачиизадачи,имеющиепсевдополиномиальныеалго-ритмырешения.NP-трудныевсильномсмыслезадачинеимеютпсевдополиномиальногоалгоритмарешения.
ПримерыNP-трудныхзадач.
NP-труднаязадача,имеюшаяпсевдополиномиальныйалгоритмрешения:РАЗБИЕНИЕ:
j=1
Заданыцелыеположительныечислаa1,a2,...,arиAтакие,что raj=2A.Требуется
определить,существуетлимножествоX⊂N={1,2,...,r}такое,что j∈Xaj=A.
NP-труднаявсильномсмыслезадача:
3-РАЗБИЕНИЕ:
Заданыцелыеположительныечислаa1,a2,...,a3rиAтакие,чтоA/4<aj<A/2,
j=1
j=1,...,3r,и 3raj=rA.Требуетсяопределить,существуетлиразбиениемножества
{1,2,...,3r}наrнепересекающихсяподмножествX1,X2,...,Xrтакое,что j∈Xlaj=A,
l=1,...,r.
Нетруднозаметить,еслирешениезадачи3-РАЗБИЕНИЕсуществует,токаждоеизмно-жествX1,...,Xrсодержитвточноститриэлемента.
