RUS  ENG
Полная версия
ЖУРНАЛЫ // Моделирование и анализ информационных систем // Архив

Модел. и анализ информ. систем, 2011, том 18, номер 4, страницы 168–180 (Mi mais207)

Верификация шаблонов алгоритмов для метода отката и метода ветвей и границ

Н. В. Шиловabc

a Новосибирский государственный университет
b Институт систем информатики им. А. П. Ершова СО РАН
c Новосибирский государственный технический университет

Аннотация: Курс проектирования и анализа алгоритмов является обязательной составляющей учебных программ по информатике всех уровней. В университетах этот курс обязательно включает изучение структур данных, методы проектирования алгоритмов, теорию сложности и т.д. Этот курс знакомит с такими методами проектирования алгоритмов, как жадные алгоритмы, динамическое программирование, метод разделяй и властвуй, метод отката, метод ветвей и границ. Обычно знакомство с этими методами происходит на примерах. Но (как показано в данной статье) они могут быть (полу)формализованы в виде “паттернов”, специфицированы условиями частичной и/или тотальной корректности и обоснованы (доказаны) методом Флойда верификации алгоритмов. Такой формализованный подход может привести к новому, более глубокому пониманию этих методов. В статье демонстрируется перспективность такого подхода на примере метода отката и метода ветвей и границ. В частности, мы доказываем, что разработанные шаблоны корректны, если граничное условие — монотонная функция, а решающее условие — антимонотонная функция от множества уже проверенных вершин.

Ключевые слова: метод отката, метод ветвей и границ, абстрактные типы данных, частичная корректность, тотальная корректность, метод верификации Флойда, задача о расстанове ферзей, дискретная задача о ранце.

УДК: 519.681+519.683.8+519.688

Поступила в редакцию: 11.10.2011



© МИАН, 2024