
- •Объект информатики. Предметная область информатики как науки
- •3.Объект информатики. Предметная область информатики как науки
- •Рекуррентные соотношения
- •Частично рекурсивные функции определяются аналогичным образом, только к двум операторам подстановки и примитивной рекурсии добавляется ещё оператор минимизации аргумента.
- •Массовые задачи
- •Объединение
- •Пересечение
- •Вычитание
- •Выборка (ограничение)
- •1. Модель Мальтуса
Частично рекурсивные функции определяются аналогичным образом, только к двум операторам подстановки и примитивной рекурсии добавляется ещё оператор минимизации аргумента.
Оператор минимизации аргумента. Пусть f — функция от n натуральных переменных. Тогда результатом применения оператора минимума аргумента к функции fназывается функция h от n − 1 переменной, задаваемая следующим определением: h(x1…xn-1 )=min(y), при условии f(x1…xn-1,y)=0
То есть функция h возвращает минимальное значение последнего аргумента функции f, при котором её значение равно 0.
Интересно отметить аналогию с императивными языками программирования. Примитивные функции соответствуют программным функциям, в которых используется только арифметические операции, а также условный оператор и оператор рифметического цикла (оператор цикла, в котором число итераций известно на момент начала цикла).
Если же программист начинает использовать оператор цикла while, в котором число итераций заранее неизвестно, и в принципе, может быть бесконечным, то он переходит в класс частично рекурсивных функций. Важным моментом является то, что частично рекурсивные функции для некоторых значений аргумента могут быть не определены, так как оператор минимизации аргумента не всегда корректно определён, именно, функция f может быть не равной нулю ни при каких значениях аргументов. Собственно, оттого, что частично рекурсивные функции могут иметь корректно определённое значение лишь на части аргументов, и пошло их название. С точки зрения программиста результатом частично рекурсивной функции может быть не только число, но и исключение (Exception) или «зависание», соответствующее неопределённому значению.
Общерекурсивные функции — это подмножество частично рекурсивных функций, определённых для всех значений аргументов. Задача определения того, является ли частично рекурсивная функция с данным описанием общерекурсивной или нет, алгоритмически неразрешима.
тезис Черча: можно явно указать а) семейство простейших полувычислимых функций; б) семейство элементарных операций, которые позволяют строить по одним полувычислимым функциям другие полувычислимые функции с тем свойством, что любая полувычислимая функция получается за конечное число шагов, каждый из которых состоит в применении одной из элементарных операций к ранее построенным или к простейшим функциям.
Разрешимые (рекурсивные) и эффективно порождаемые (рекурсивно-перечислимые) множества. Частично-рекурсивные множества.
Разрешимое множество
множество, расположенное в некоторой совокупности конструктивных объектов (т. е. множество, составленное из каких-то объектов этой совокупности), для которого существует алгоритм, разрешающий это множество (относительно объемлющей совокупности) в следующем смысле: алгоритм применим к любому объекту объемлющей совокупности и даёт в качестве результата ответ на вопрос, принадлежит ли этот объект к рассматриваемому множеству или нет.
Разрешимым называется множество целых чисел для которого существует алгоритм определения принадлежности ему некоторого элемента. Можно ввести также понятие "частично разрешимое множество" для которого функция принадлежности является частичной, т.е. определённой не для всех элементов.. Тогда для некоторых элементов будет неизвестно принадлежат они множеству или нет. Рекурсивные множества это множества, для которых существует алгоритм распознавания, то есть алгоритм, позволяющий по произвольному натуральному числу отвечать на вопрос о принадлежности этого числа данному множеству. Рекурсивными будут такие множества, как множество четных чисел, множество простых чисел и другие.
Порождаемые множества – элементы возникают на отд. этапах эффективного порождающего процесса, примером эффективно порождаемого множества служит множество всех доказуемых формул к.-л. формальной системы или исчисления: базисная часть определения доказуемых формул содержит аксиомы, индуктивная часть – правила вывода (аксиомы объявляются доказуемыми по определению и далее говорится, что если какие бы то ни было формулы доказуемы, то и формулы, полученные из них по правилам вывода, также доказуемы). Порождающим процессом является здесь процесс доказательства всех доказуемых формул
Перечислимое множество — множество конструктивных объектов (например, натуральных чисел), элементы которого могут быть эффективно перенумерованы (возможно, с повторениями).
Различным формализациям представления об алгоритме отвечают различные формальные определения понятия перечислимого множества, оказывающиеся эквивалентными. Так, на основе понятия рекурсивной функции перечислимые множества натуральных чисел могут быть определены как образы частично рекурсивных функций одной переменной (поэтому перечислимые множества натуральных чисел иногда называют «рекурсивно перечислимыми множествами»). Аналогично, перечислимые множества слов в некотором алфавите A могут быть введены как множества результатов работы машин Тьюринга с внешним алфавитом A, или как множества являющихся словами в алфавите A результатов работы нормальных алгоритмов над алфавитом A.
В теории алгоритмов доказывается утверждение о том, что областями значений алгоритмов могут служить перечислимые множества, и только они. Это позволяет ввести ещё один эквивалентный способ определения понятия перечислимого множества. Так, перечислимыми множествами натуральных чисел могут считаться области значений рекурсивных функций, множествами слов — области применимости машин Тьюринга или нормальных алгоритмов с соответствующими алфавитами, и так далее.
Массовые алгоритмические проблемы и их разрешимость. Примеры неразрешимых массовых алгоритмических проблем.