- •Введение
- •1. Элементы теории множеств
- •1.1.Понятие множества.
- •1.2. Способы задания множеств.
- •1.3. Свойства множеств.
- •1.4. Конечные и бесконечные множества.
- •1.5. Подмножества.
- •1.6. Множество как абстракция.
- •1.7. Операции над множествами.
- •1.8.Декартово произведение множеств
- •1.9. Контрольные задания
- •2. Отношения
- •2.1. Общие положения
- •2.2. Задание отношений.
- •2.3. Виды отношений.
- •2.3.1. Рефлективность.
- •2.3.2. Симметричность.
- •2.3.3. Транзитивность.
- •2.4. Отношение эквивалентности
- •2.5. Функция.
- •2.6. Отношение как базовое понятие в реляционных
- •2.7. Контрольные задания
- •3. Элементы алгебры логики
- •3.1. Силлогизмы Аристотеля.
- •3.2. Высказывания.
- •3.3. Исчисление высказываний и
- •3.4. Функции алгебры логики
- •3.5. Равносильности алгебры логики
- •3.6. Одна логическая задача
- •3.7. Реализация функций в элементных базисах
- •3.9. Совершенная конъюнктивная нормальная форма
- •3.10. Реализация операции суммирования в компьютере
- •3.11. Контрольные задания
- •4. Элементы теории графов
- •4.1. История возникновения
- •4.2. Основные понятия
- •4.3. Матрицы графа
- •4.4. Деревья
- •4.5. Раскраска
- •5. Элементы теории алгоритмов
- •5.1. Интуитивное понятие алгоритма
- •5.2. Свойства алгоритмов
- •5.3. Вычислительные и комбинаторные алгоритмы
- •5.5. Асимптотические оценки сложности алгоритма
- •Порядки сложности алгоритма
- •5.6. Комбинаторный взрыв
- •6. Полиномиальные алгоритмы
- •6.1. Построение минимального остовного дерева.
- •6.1.1. Жадный алгоритм
- •6.1.2. Алгоритм Прима
- •6.2. Контрольные задания
- •7. Эвристические алгоритмы
- •7.1. Алгоритм последовательной раскраски
- •7.2. Контрольные задания
- •8. Сетевое планирование
- •8.1. Основные понятия
- •8.2 Параметры сетевого планирования
- •8.3. Вычисление параметров сетевого графика
- •8.4. Контрольные задания
- •9. Элементы абстрактной теории автоматов
- •9.1. Определение абстрактного автомата
- •9.2. Методы задания автоматов
- •9.3. Связь между моделями Мили и Мура.
- •9.4.1. Преобразование автомата Мура в автомат Мили
- •9.4.2. Преобразование автомата Мили в автомат Мура
- •9.5. Контрольные задания
- •10. Уточнение понятия алгоритма
- •10.1. Машина Тьюринга
- •Для каждого алгоритма u из класса к1 существует равносильный ему алгоритм l из класса к2.
- •10.2. Нормальный алгоритм Маркова
Для каждого алгоритма u из класса к1 существует равносильный ему алгоритм l из класса к2.
Обычно доказательство состоит в описании процедуры, по заданному алгоритму( или программе) U класса К1 строят такой алгоритм(программу) L класса К2, который средствами, доступными в классе К2, имитирует работу U.
10.2. Нормальный алгоритм Маркова
Алгоритмическая система – это всякий общий способ задания алгоритма.
Алгоритмическая система, созданная А.А.Марковым, основана на соответствии между словами в абстрактном алфавите. Она включает в себя объекты двоякой природы: элементарные операторы и элементарные распознаватели.
Алгоритм задают в виде граф-схемы - ориентированного графа, вершинами которого являются элементарные операторы и распознаватели. На вход граф - схемы алгоритма (ГСА) подается некоторое входное слово р.
Кроме того, задана система подстановок, реализующих отображение
рi qi, i=1,…,k.
Распознаватель проверяет условие – имеет ли место вхождение рi во входное слово р. Если ДА, то алфавитный оператор заменяет первое слева вхождение слова рi на слово qi. Если НЕТ, то управление передается на вход следующего распознавателя.
Например ГСА для трех подставок (К=3) имеет три вершины распознавателя(РВ1,РВ2,РВ3) и три операторные вершины (ОП1,ОП2,ОП3).
Граф имеет два типа
вершин:
а) вершины – распоз -
наватели;
б) операторные вер-
шины;
Кроме того, имеются
входная и выходная
вершины.
Этот алгоритм может быть задан и в виде блок – схемы алгоритма, используемой при программировании на алгоритмических языках.
И з схемы следует, что каждая подстановка рi qi, i=1,…,k циклически применяется до тех пор, пока имеются вхождения pi в p.
После первого применения подстановки pi qi, i=1,…,k входное слово p = p(1) преобразуется в слово p(1), после второго применения - в слово p(2) и так далее, пока после последнего применения подстановки не преобразуется в выходное слово p(4) = q .
Алгоритм применим к слову p, если оно преобразуется в слово q через конечное число шагов.
Например, если р=bcbaab, а подстановки заданы как ba ab, bc ba,
bb ac, то работа алгоритма будет иметь следующий вид.
р=bcbaab bcabab bcaabb baaabb baaaac=q.
Нормальными алгоритмами называются алгоритмы, ГСА которых удовлетворяют следующим условиям:
1. Номера вершин – распознавателей упорядочиваются от 1 до n.
2. Дуги, исходящие из операторных вершин, подсоединяются либо к первой вершине – распознавателю, либо к выходной вершине. В первом случае подстановка называется обычной, во втором – заключительной.
3. Входная вершина связана дугой с первым распознавателем.
Рассмотренная выше ГСА для трех подстановок, может быть преобразована в ГСА , соответствующей нормальному алгоритму, например, следующим образом:
р=bcbaab bcabab bcaabb
baaabb abaabb aababb
aaabbb
aaaacb.
Для нормального алгоритма преобразование входного слова р=bcbaab в выходное слово q будет иметь следующий вид:
Пример. Задан алфавит А={+, 1} и система подстановок:
‘1+1’
‘11’ , ‘1’
.
Обычная Заключительная
подстановка подстановка
Пусть дано входное слово р=’11+11+1’. Оно перерабатывается алгоритмом в строку:
‘11+11+1’
‘1111+1’ ‘11111’
Алгоритм реализует сложение единиц.
Эквивалентный ему алгоритм можно задать с помощью системы подстановок:
‘+’ ,
‘1’
Преобразование слова р в q будет аналогично.
Либо же система подстановок может иметь и такой вид:
‘ 1+’ ‘+1’ , ‘+1’ ‘1’, ‘1’
Тезис Маркова
Для любого алгоритма в произвольном конечном алфавите А можно построить эквивалентный ему нормальный алгоритм.
Все известные до сих пор алгоритмы нормализуемы.
ЛИТЕРАТУРА
1. Алферова З.В. Теория алгоритмов. – М.: Статистика, 1973. – 164 с.
2. Баранов С.И. Синтез микропрограммных автоматов. – Л.: Энергия, 1974. – 216 с.
3. Горбатов В.А. Основы дискретной математики. - М.: Высшая школа, 1986. - 311c.
4. Знакомьтесь: компьютер. - М.: 1989. - 240c.
5. Информатика в понятиях и терминах /под ред. Извозчикова В.А. - М.: Просвещение, 1991. - 208c.
6. Информатика: Энциклопедический словарь для начинающих/Сост. Д.А.Поспелов. - М.: Педагогика - Пресс, 1994. - 352c.
7. Кормен Т., Лейзерсон Ч., Ривест Р. Алгоритмы: построение и анализ. – М.: МЦНМО, 2000. – 960 с.
8. Кузнецов О.П., Адельсон-Вельский Г.М. Дискретная математика для инженера. - М.: Энергия, 1980. - 344c.
9. Некрасов В.П. Теоретическая информатика. Ч.2. Элементы дискретной математики: учебное пособие. – Екатеринбург: УГГГА, 1996. - 54 с.
10. Некрасов В.П. Теоретическая информатика. Ч.4. Комбинаторные алгоритмы: учебное пособие. – Екатеринбург: УГГГА, 1997. - 55 с.
11. Нефедов В.Н., Осипова В.А. Курс дискретной математики: Учеб. Пособие. – М.: МАИ, 1992. – 264 с.
12. Поспелов Д.А. Фантазия или наука. На пути к искусственному интеллекту. - М.: Наука, 1982. - 224c.
13. Рейнгольд Э., Нивергельт Ю., Део Н. Комбинаторные алгоритмы. Теория и практика. – М.: Мир, 1980. – 478 с.
14. Свами М., Тхуласираман К. Графы, сети и алгоритмы. – М.: Мир, 1984. – 455 с.
15. Сигорский В.П. Математический аппарат инженера. - Киев: Технiка, 1977. - 768c.
16. Теория и методы автоматизации проектирования вычислительных систем. /Под ред. Брейера М. - М.: Мир, 1977. - 285c.
17. Ульман Дж. Основы систем баз данных. - М.: Финансы и статистика, 1983. - 336с.
18. Харари Ф. Теория графов. - М.: Мир, 1973. - 302с.
19. Шевченко В.Е. Некоторые способы решения логических задач. - Киев: Вища школа, 1979. - 80с.
20. Яглом И.М. Необыкновенная алгебра. - М.: Наука, 1968. - 72с.
