Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Алгоритмическая разрешимость




Рекурсивные функции

Алгоритм ставит в соответствие входным данным выходные, следовательно, с каждым детерминированным алгоритмом можно однозначно сопоставить функцию, которую он вычисляет.

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

Попытки описать такие вычислимые функции привели к созданию теории рекурсивной функции.

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

Пример

Рекурсивная функция для вычисления факториала (f (z) = n!):

Пример

Рекурсивная функция для вычисления набольшего общего делителя пары чисел (a, b):

 

Возникает вопрос: существует ли какая-либо стандартная форма алго­ритма, решающая данный класс задач? В ряде случаев на этот вопрос теория алгоритмов дает отрицательный ответ.

Пример

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

Алгоритмическую неразрешимость следует понимать в том смыс­ле, что не существует единого алгоритма для решения проблемы в целом. Но это вовсе не означает неразрешимость более узких классов задач данной проблемы.

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

Пример

Задачи выбора оптимальных вариантов при про­ектировании, игровые задачи и алгоритмы, основанные на простом переборе и т. п.

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

Пример

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

Аналогичный подход выработала практика и к задачам, которые относятся к нерешенным проблемам.

Пример

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

В отличие от алгоритмов, практические способы, исполь­зуемые для решения таких задач, относящихся к нерешенным проб­лемам, называют псевдоалгоритмами.

 




Поделиться с друзьями:


Дата добавления: 2014-12-27; Просмотров: 1422; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.