Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Дроздов С. Комбинаторные задачи и элементы теории вычислительной сложности.DOC
Скачиваний:
157
Добавлен:
02.05.2014
Размер:
648.7 Кб
Скачать

С.Н.Дроздов

Комбинаторные задачи и элементы теории вычислительной сложности

Министерство образования российской федерации

Таганрогский государственный радиотехнический университет

С.Н.Дроздов

Комбинаторные задачи и элементы теории вычислительной сложности

Учебное пособие

Таганрог 2000

УДК 681.142.2

С.Н.Дроздов. Комбинаторные задачи и элементы теории вычислительной сложности: Учебное пособие. Таганрог: Изд-во ТРТУ, 2000.62с.

В пособии рассмотрено понятие комбинаторной задачи, приведены примеры таких задач, основные методы их решения и оценки эффективности алгоритмов. Рассмотрены основные понятия теории вычислительной сложности и приведены в кратком изложении основные результаты теории. Рассмотрены приемы доказательства NP-полноты и примерыNP-полных задач. Предназначено для студентов, изучающих курс «Структуры и алгоритмы обработки данных», а также для специалистов, разрабатывающих алгоритмы и программы решения дискретных задач.

Табл. 11. Библиогр.: 9 назв.

Печатается по решению редакционно-издательского совета Таганрогского государственного радиотехнического университета.

Рецензенты:

В.П.Карелин, зав.кафедрой управления и информационных систем Таганрогского института управления и экономики, доктор технических наук, профессор;

Д.С.Святов, главный специалист Южно-Российского регионального кадастрового центра «Земля»;

С.А.Гитис, заведующий отделом системного программного обеспечения ГИС Южно-Российского регионального кадастрового центра «Земля».

© Таганрогский государственный радиотехнический университет, 2000

© Дроздов С.Н., 2000

Введение

Теория и практика решения комбинаторных задач (называемых также переборными задачами) представляют собой одну из важных областей информатики, интересную как с точки зрения практической ценности, так и в плане овладения некоторыми весьма важными для программиста и для системного аналитика понятиями, к числу которых относятся методы полного и сокращенного перебора, динамическое программирование, NP-полные иNP-трудные задачи. Недостаточное знакомство с этими понятиями и со стоящей за ними хорошо разработанной теорией вычислительной сложности рано или поздно приводит специалиста к серьезным ошибкам при разработке алгоритма для решения какой-либо из многочисленных практических задач комбинаторного типа.

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

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

При разработке пособия автор использовал книги, перечисленные в списке литературы. Некоторые примеры также позаимствованы из этих книг.