Введение к работе
АКТУАЛЬНОСТЬ ТЕМЫ. В данной работе рассматривается применение языков функционального программирования к решению задач перебора. Такие задачи, и особенно задачи перебора субоптимальных решений в дискретных экстремальных задачах ставились и решались в научной литературе многократно, например, в работах Е. Лаулера [6], в статье Мияиеки и Шира [5], в статье Катта Мурти [12]. Однако, идея применения языков функционального программирования для составления алгоритмов перебора появилась не так давно. Одной из первых работ, где упоминается о возможности применения данных языков для организации перебора, была работа [2], в которой автор, И.В.Романовский, вводит и рассматривает некоторые операции над процессами, типичные дня языков функционального программирования.
ЦЕЛЬ РАБОТЫ. Целью настоящей работы была разработка не только и не столько новых алгоритмов решения конкретных задач, сколько общих подходов и методов для их решения применительно к языкам функционального программирования. На протяжении всей работы показывается, что рассматриваемые языки удивительно хорошо подходят именно для решения задач перебора.
НАУЧНАЯ НОВИЗНА. В настоящей работе пекоторые известные алгоритмы приобретают новую трактовку, исходя из свойств языков функционального программирования. Разработаны и новые алгоритмы, которые также ориентированы на применение подобных языков.
ТЕОРЕТИЧЕСКАЯ И ПРАКТИЧЕСКАЯ ЦЕННОСТЬ. Методы программирования, рассмотренные в данной работе имеют важное практическое применение. Действительно, при решении практических задач дискретной оптимизации часто возникает необходимость не учитывать какое-либо ограничение. Это связано либо с недостаточной мощностью вычислительной техники, либо с невозможностью точно описать это ограничение. Вот тогда-то и возникает желание найти не только оптимальное решение, но и решения, близкие к нему, или, точнее, возникает желание перебирать допустимые решения в порядке ухудшения целевой функции.
ОБЩАЯ МЕТОДИКА ИССЛЕДОВАНИЯ. В качестве инструмента для реализации алгоритмов взят язык функционального программирования Miranda [1].
ПУБЛИКАЦИИ. Часть результатов диссертации содержатся в работах [IS] и [IS].
СТРУКТУРА И ОБЪЕМ РАБОТЫ. Диссертация состоит из введения, шести глав и трех приложений и занимает, включая библиографию 79 страниц. Библиография содержит 16 наименований работ.