Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вопросы по матлогике.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.27 Mб
Скачать
  1. Частично рекурсивные и общерекурсивные функции. Тезис Черча.

Частично рекурсивная функция определяется аналогично примитивно рекурсивной, только к двум операторам суперпозиции и примитивной рекурсии добавляется ещё третий оператор — минимизации аргумента.

  • Оператор минимизации аргумента. Пусть   — функция от n натуральных переменных. Тогда результатом применения оператора минимума аргумента к функции   называется функция   от   переменной, задаваемая следующим определением:

, при условии 

То есть функция   возвращает минимальное значение последнего аргумента функции  , при котором её значение равно 0.

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

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

Общерекурсивная функция — частично рекурсивная функция, определённая для всех значений аргументов. Задача определения того, является ли частично рекурсивная функция с данным описанием общерекурсивной или нет, алгоритмически неразрешима.

тезиса Чёрча:

Числовая функция тогда и только тогда алгоритмически (или машинно) вычислима, когда она частично рекурсивна.

  1. Машина Тьюринга. Тезис Тьюринга.

Машина Тьюринга (МТ) — математическая абстракция, представляющая вычислительную машину общего вида. Была предложена Аланом Тьюрингом в 1936 году для формализации понятия алгоритма.

Машина Тьюринга является расширением модели конечного автомата и, согласно тезису Чёрча — Тьюринга, способна имитировать (при наличии соответствующей программы) любую машину, действие которой заключается в переходе от одного дискретного состояния к другому.

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

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

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

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

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