ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Раздел 4. Элементы теории алгоритмовПонятие алгоритма в математике прошло большой путь развития. Общее определение алгоритма, имеющее интуитивный характер, следующее. Алгоритм — это общий, единообразный, точно установленный способ решения любой задачи из данной массовой проблемы. Таким образом, алгоритм всегда связан с решением массовой проблемы. Задачи такого класса отличаются друг от друга знамениями входящих в них параметров. Примеры алгоритмов: извлечение квадратного корня, предельный переход, нахождение производной и т. п. Приведенное понятие алгоритма нестрогое. В нем встречаются слова, точный смысл которых не установлен, например "способ". Тем не менее даже при таком определении можно выделить некоторые характерные черты алгоритма: 1. Дискретность. Каждая последующая величина получается из значений предыдущих по определенному закону. Все величины получаются последовательно друг за другом. 2. Детерминированность. Между всеми величинами, получаемыми алгоритмом, существует жесткая причинная связь. Последующие значения зависят от предыдущих. 3. Элементарность шагов алгоритма. Закон получения последующей системы величин из предшествующей должен быть простым. 4. Массовость. Начальная система величин выбирается из некоторого множества. Начальные условия могут варьироваться в бесконечных пределах. 5. Результативность. Конечный результат всегда должен быть получен. Слово «алгоритм» происходит от имени математика аль Хорезми. Интуитивное понятие алгоритма работает, когда речь идет о найденном алгоритме решения конкретной задачи. Положение существенно меняется, если возникает алгоритмическая проблема, решение которой не найдено, и требуется установить, имеет ли она решение. В этом случае надо доказать либо существование алгоритма, либо его отсутствие. Первое можно сделать путем фактического описания процесса, решающего задачу. В этом случае достаточно и интуитивного понятия алгоритма, чтобы удостовериться в том, что описанный процесс есть алгоритм. Доказать несуществование алгоритма таким путем невозможно. Для этого необходимо точное формальное определение. В уточнении понятия алгоритма выделяются три направления: 1. Уточнение понятия эффективно вычислимой функции. Этим занимались Л. Черч и К. Гедель. В результате был выделен класс частично рекурсивных функций, имеющих строгое математическое определение. 2. Машинная арифметика. Здесь сущность понятия алгоритма раскрывается путем рассмотрения процессов, осуществляемых в вычислительной машине. 3. Направление, связанное с понятием нормальных алгоритмов из работ А. Маркова. Существование различных определений понятия алгоритма имеет и свои преимущества, т. к. для решения различных задач удобно использовать различные наиболее подходящие для этого случая определения. Первое направление – уточнение понятия алгоритма – связано с точным описанием специального класса функций, называемых рекурсивными. Числовые функции, значения которых можно вычислить посредством алгоритма, называются вычислимыми функциями. Понятие алгоритма здесь не определено формально точно, поэтому понятие вычислимой функции оказывается интуитивным. Однако совокупность вычислимых функций, соответствующих условиям, т. е. удовлетворяющих характерным чертам алгоритма для многих процессов, оказалась одной и той же, легко описываемой в математических терминах. Эта точно описанная совокупность числовых функций, совпадающая с совокупностью всех вычислимых функций в самом широком понимании алгоритма, называется совокупностью рекурсивных функций. Рекурсивные функции впервые описаны Геделем, затем в 1936 г. Черч пришел к такому же классу функций. Анализ идей, лежащих в основе определения рекурсивных функций, позволил Черчу высказать гипотезу о том, что класс рекурсивных функций тождественен классу всюду определенных вы-числимых функций. Эта гипотеза известна под именем тезиса Черча, доказать ее нельзя, т. к. понятие вычислимой функции точно не определено. В силу тезиса Черча вопрос о вычислимости функции равносилен вопросу о ее рекурсивности. Понятие рекурсивной функции строгое. Поскольку в алгоритмических проблемах речь обычно идет не об алгоритмах, а о вычислимости некоторых специальным образом подобранных, решающих проблему функциях, то можно строго доказать, что решающая конкретную задачу функция не может быть рекурсивной, а следовательно, не существует и алгоритма решения этой задачи. Именно этим путем Черч доказал неразрешимость алгоритмической проблемы логики предикатов. Если первое направление уточняет понятие алгоритма через класс рекурсивных функций, то второе, связанное с машинной арифметикой, сначала уточняет понятие алгоритма, а затем определяет класс вычислимых функций. Это направление развито Постом и Тьюрингом. Основная идея этого направления заключается в том, что алгоритмические процессы — это процессы, которые могут имитироваться на подходяще построенных машинах, которые описываются в точных математических терминах. В результате оказывается, что сложные процессы можно моделировать на простых устройствах. Всякий алгоритм может быть задан некоторой функциональной схемой и реализован в соответствующей машине Тьюринга. Эта гипотеза называется тезисом Тьюринга. Его также нельзя доказать по той же причине, что и тезис Черча. Все известные до сих пор алгоритмы могут быть заданы посредством тью- ринговых функциональных схем. Третье направление — теория нормальных алгоритмов Маркова. Будем называть алфавитом А всякое непустое конечное множество символов; сами символы называются буквами. Словом в алфавите А называется всякая конечная последовательность букв этого алфавита. Простейшими действиями в нормальных алгоритмах Маркова являются последовательные замены вхождений подслов специального вида на другие слова. Нормальный алгоритм может переводить слово а в слово Р, причем на множестве слов используемого алфавита слово Р однозначно определяется этим алфавитом и словом а. Нормальный алгоритм может быть и не применим к слову а, если он не преобразует а ни в какое слово. Основное положение об «универсальности» нормальных алгоритмов — принцип нормализации, любой алгоритм над конечным алфавитом А эквивалентен относительно А некоторому нормальному алгоритму над А. Этот принцип подобен тезисам Черча и Тьюринга и недоказуем из-за неопределенности формального понятия алгоритма. На практике достаточно ограничиться алгоритмами, действующими на последовательностях натуральных чисел и выдающих в качестве значений также последовательности натуральных чисел. Действия нормальных алгоритмов Маркова похожи на действия машин Тьюринга. В последующих разделах более подробно изучим класс рекурсивных функций и процессы, происходящие в машинах Тьюринга. Нормальные алгоритмы Маркова не будут рассматриваться. Не нашли, что искали? Воспользуйтесь поиском:
|