Рис. 1.6. Частичный порядок

Определение.

Рефлексивным частичным порядком называется отношение R, если

1)  R – транзитивно;

2)  R – рефлексивно;

3)  если aRb, то a=b.

Последнее свойство называется антисимметричностью.

Каждый частичный порядок можно графически представить в виде ориентированного ациклического графа.

Линейный порядок R на множестве А – это такой частичный порядок, что, если а и bÎА, то либо aRb, либо bRa, либо a=b. Удобно это понять из следующего.

Пусть А представлено в виде последовательности а1, а2,…,an, для которых тогда и только тогда, когда i<j.

Аналогично определяется рефлексивный линейный порядок.

Из традиционных систем отношение < (меньше) на множестве неотрицательных целых чисел – это линейный порядок, отношение £ - рефлексивный линейный порядок.

Отображение

Отображением (функцией преобразования) М множества А во множество В называют такое отношение из А в В, что, если (a, b) и (а, с) принадлежат М, то b=c. Если (a, bM, то обычно пишут М(а)=b.

М(а) определено, если существует такое bÌ B, что (a, bM.

Если М(а) определено для всех аÎА, то М всюду определено.

Если М(а) определено не для всех аÎА, то М – частичное отображение

Если отображение М:А®В таково, что для каждого bÎB существует не более одного аÎА такого, что М(а)=b, то М называется инъективным (взаимно однозначным) отображением.

Если М всюду определено на А и для каждого bÎB существует точно одно аÎА такое, что М(а)=b, то М называют биективным отображением.

НЕ нашли? Не то? Что вы ищете?

Обратное отображение обозначается .

Определение.

Два множества А и В называются равномощными, если существует биективное отображение А в В.

Определения:

1)  множество S конечно, если оно равномощно множеству {1, 2,…, n} для некоторого целого n;

2)  множество S бесконечно, если оно равномощно некоторому своему собственному подмножеству;

3)  множество S счетное, если оно равномощно множеству положительных чисел.

1.3.  Множества цепочек

Алфавитом будем называть любое множество символов (оно не обязательно конечно и даже счетно), но в наших приложениях оно конечно. Предполагается, что слово «символ» имеет достаточно ясный интуитивный смысл.

Символ – (синонимы: буква, знак) элемент алфавита.

Пример:

01011 – цепочка в бинарном алфавите {0, 1}.

Особый вид цепочки – пустая цепочка, обозначается e. Пустая цепочка не содержит символов.

Соглашение.

·  Прописные буквы греческого алфавита – алфавиты.

·  a, b, c и d – отдельные символы.

·  t, u, v, w, x, y и z – цепочка символов.

Если цепочку из i символов обозначить a®, тогда a0=e – пустая цепочка.

Определение:

Цепочки в алфавите S определяются следующим образом:

1)  е – цепочка в S;

2)  если x цепочка в S и аÎS, то xa – цепочка в S;

3)  y – цепочка в S тогда и только тогда, когда она является таковой в силу 1) и 2).

Операции над цепочками

Пусть x, y – цепочки.

·  Цепочка xy – называется сцепленной (конкатенацией). Например, x=ab; y=cd; xy=abcd. Для любой цепочки x xе=еx=x.

·  Обращением цепочки x называется цепочка x, записанная в обратном порядке: , ,.

·  Пусть x, y, z – цепочки в некотором алфавите S, тогда:

x – префикс цепочки xy;

y – суффикс цепочки xy;

y – называется подцепочкой цепочки xyz.

Префикс и суффикс цепочки являются ее подцепочками.

Если x¹y, x – префикс (суффикс) цепочки y, то x - собственный префикс (суффикс) цепочки y.

Длина цепочки – это число символов в ней. Если , то длина цепочки n. Длину цепочки обозначают |x|, например |abc|=3; |e|=0.

1.4.  Языки

Языком в алфавите S называют множество цепочек в S.

Определение.

Через S* обозначается множество, содержащее все цепочки в алфавите, включая е.

Например. S - бинарный алфавит {0,1}, тогда S*={e, 0, 1, 00, 01, 10, 11, 000, …,}.

Каждый язык в алфавите S является подмножеством S*. Множество всех цепочек в S, за исключением е, обозначают S+.

Определение. Если язык L таков, что полная цепочка в L не является собственным подмножеством (суффиксом) никакой другой цепочки в L, то L обладает префиксным (суффиксным) свойством.

Операции над языком

Так как языки являются множествами, то все операции над множествами применимы к ним. Операцию конкатенации можно применять к языкам так же, как и к цепочкам.

Определение.

Пусть L1 язык в S1., L2 язык в S2. Тогда язык L1L2 называется конкатенацией языков L1 и L2 - это язык . Итерация языка L обозначается L*, определяется:

1)  L0={e};

2)  для n³1;

3)  .

Позитивная итерация языка L обозначается L+ - это язык , т. е.

Определение.

Пусть S1 и S2 - алфавиты. Гомоморфизмом называется любое отображение h: S1 ® S*2.

Область гомоморфизма можно расширить до полагая h(e)=e и h(xa)=h(x)h(a) для всех xÎ, и аÎ.

Пример.

Если мы хотим заменить каждое вхождение в цепочку символа 0 на а, а каждое вхождение символа 1 на bb, то можно определить гомоморфизм h так: h(0)=a, h(1)=bb. Если , то .

Определение.

Если h: S1 ® , то отношение h-1: ® P() называется обращением гомоморфизма.

Если yÎ, то h-1(y) – это множество цепочек в алфавите S1, т. е. . Если L – язык в алфавите S2, то - язык в алфавите состоящий из тех же цепочек, которые h отображает в цепочки из L. Формально

Пример.

h – гомоморфизм h(0)=a и h(1)=а, тогда

1.5.  Алгоритмы

Алгоритм - центральное понятие в компиляции и программировании, поэтому важно его формальное определение.

Частичные алгоритмы

Неформальное определение.

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

Для того чтобы быть точным, необходимо определить термин «команда». Кроме того, частичный алгоритм имеет любое число входов и выходов. Эти переменные тоже требуют определения.

Пример.

Алгоритм Евклида (наибольший общий делитель)

Вход : p и q положительные числа

Выход: g – наибольший общий делитель p и q

Метод.

Шаг 1. Найти r - остаток от деления p и q.

Шаг 2. Если r=0, положить g=q и остановиться. В противном случае положить p=q, затем q=r и перейти к шагу 1.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47