contact me
alsemno@ya.ru
RU
EN
Идентификаторы
PersonID 19667
Alexei Semenov
ID: semenov.alexei-l
AuthorID: 218197
Spin 2289-1720
alsemenov
0000-0002-1785-2387
S-5268-2018
AuthorID 7402499019
Alexei_Semenov
A. Semenov
AlexeySemenov
Alexei Semenov
Введение в математическую логику и теорию алгоритмов
Часть II
Теория алгоритмов

Ступень 13. Исчисления и породимые множества
Мы приступаем к рассмотрению теории алгоритмов. В этой теории центральную роль играют так называемые «конструктивные» объекты, к такому виду объектов относятся, например, конечные графы. Мы не будем пытаться дать общее определение конструктивного объекта и ограничим наше рассмотрение цепочками в конечном алфавите и их наборами. Будем использовать, как правило слово «набор», а не «цепочка» (что вполне возможно) для конечных последовательностей объектов.

Изучение теории алгоритмов начнем не с алгоритмов, а с исчислений. Понятие исчисления близко к понятию алгоритма и, в некотором смысле, параллельно ему. Важнейшие производные понятия — породимого множества для исчислений и вычислимой функции для алгоритмов — могут быть сведены одно к другому. Но в математике эти два понятия развивались параллельно и не ощущались, вплоть до XX века, как часть чего-то общего.

Мы постараемся ввести общее понятие исчисления. Оно, как и понятие алгоритма, НЕ дается в обычных математических терминах, сводимых к определениям в теории множеств, а обращается к человеческой практике. Тем не менее оно является частью математики. В какой-то момент можно его заменить, на теоретико-множественную формализацию используя убеждение, что эта формализация обеспечивает тот же объем производных понятий, как и исходное — не теоретико-множественное. Но в своих рассуждениях об исчислениях и алгоритмах человек использует первичное интуитивное, а не формальное понятие.
13.1. Исчисления

В математике, математической логике и в нашем курсе важную роль играют индуктивные определения, мы с ними уже встречались. Индуктивные определения могут использоваться при работе с различными классами объектов, в том числе и с произвольными множествами. Для нас, однако, важен случай, когда эти объекты «конструктивны», о чем мы уже говорили выше.

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

Рассмотрим, например, определении формулы логики отношений для какой-то конкретной сигнатуры, скажем, состоящей из имен объектов и и двухместного имени отношения . Также ограничим себя двумя переменными , .

Определяя формулы, мы использовали следующие классы объектов:
  • имена объектов — , ,
  • переменные , ,
  • имена двухместных отношений ,
  • атомные формулы,
  • формулы.
И правило порождения:
  • Все имена объектов и отношений и все переменные порождаются.
  • Если — имя 2-местного отношения, каждое из — это имя объекта или переменная, то , могут породить атомную формулу (можно было бы здесь выписать отдельно все комбинации имен объектов и переменных).
  • Атомная формула может породить формулу .
  • Формула может породить формулу .
  • Если — формула, — переменная, то , могут породить формулы , .
  • Если и формулы, то , может породить формулы , , , .

Обобщая эту ситуацию, в том числе, имея в виду встретившиеся уже исчисления для модальной логики, логики отношений получаем следующее определение (его частным случаем является и Теория множеств).
Определение 123. Исчисление — это однозначно понятный человеку текст, содержащий:

• (конечный) алфавит исчисления;

• конечное множество имен классов; значением имени класса является класс цепочек; о каждой из этих цепочек мы говорим, что он относится к этому классу; классы могут пересекаться; по цепочке и имени класса можно за конечное время выяснить — относится ли цепочка к этому классу;

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

Выяснение того, что данное правило порождения выполнено, занимает конечное время; можно это выяснение поручить машине.
Заметим, что мы ничем не ограничиваем те цепочки , которые могут порождаться из одного конечного набора . Также заметим, что набор может быть и пустым, это существенно.

Множество, порождаемое исчислением, — это наименьшее (требование минимальности) множество со следующим свойством: Для всякого набора элементов все, что из него порождается (такого может и не быть) лежит в (требование замкнутости).
  • Задача 241. Почему для любого исчисления существует порождаемое им множество?
Определение 124. Исчисление!породимое множество. Породимое множество — множество цепочек какого-то одного класса, порождаемое каким-то исчислением.
Нетрудно сообразить, что разные данные ранее в курсе индуктивные определения, относящиеся к логическим языкам, являются описаниями исчислений. С примера, относящегося к определению формулы логического языка, мы начали. Рассмотрим еще один типичный пример.
  • Задача 242. Покажите, что исчисление модальной логики может быть задано как исчисление в смысле настоящей главы.
Определение 125. Цепочки, которые можно породить из пустого набора (а что, если их не будет?) можно называть аксиомами, другие элементы правила порождения — правилами вывода.
13.2. Свойства породимых множеств

Введя новый класс объектов: множеств, функций и т. д., математики часто задаются вопросом о замкнутости этого класса относительно естественных операций. Вот пример такого вопроса:
  • Задача 243. Д. Будут ли объединение, пересечение и дополнение породимых множеств — породимы?
13.3. Выводы

Пусть фиксировано некоторое исчисление и мы хотим получать какие-то порождаемые его правилом объекты. Для начала нам приходится рассмотреть элементы правила, где первый элемент — пустой набор. Так мы получим какие-то порожденные элементы. Дальше, образуя из них наборы, мы будем порождать из этих наборов еще и еще цепочки. Заметим, что наша деятельность состоит из последовательности шагов, в силу линейности времени. Мы могли бы ее и «распараллелить», поручить нескольким людям. Однако и в этом случае, можно действия этих людей выстроить в некую линейную последовательность. Эти соображения формализуются в следующем определении.
Определение 126. Вывод (в данном исчислении) — конечная последовательность цепочек, такая, что для каждого элемента из нее в этой последовательности можно выбрать несколько цепочек, предшествующих , и выстроить их в набор так, что пара из этого набора и принадлежит правилу исчисления. Частным случаем является выбор пустого набора, если — аксиома.

Последний элемент последовательности называется результатом вывода, а вывод называется выводом этого результата.
  • Задача 244. Доказать, что объект порождаем исчислением у него есть вывод.
13.4. Грамматики. Тезис Поста

Грамматики — это исчисления специального вида.
Определение 127. Грамматика — это:

  • Алфавит грамматики — объединение непересекающихся основного и вспомогательного алфавитов.

  • Классы грамматики:
– Начальный символ (из вспомогательного алфавита)
– Все цепочки
– Цепочки в основном алфавите

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

Цепочка порождается грамматикой, если она в основном алфавите.

Пример грамматики.
Начальный символ .
Замены (будем использовать для обозначения замены):


  • Задача 245. Доказать, что следующие цепочки порождаемы: . Доказать, что следующие цепочки не порождаемы: .
Как мы уже отмечали, породимость определялась за пределами теории множеств: мы ссылались на человека и его деятельность.

Однако вся человеческая практика, включая применение компью-
теров, подтверждает следующее положение.

Тезис (Поста). Для всякого породимого множества существует грамматика, его порождающая.