Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекц_ИТ_1.doc
Скачиваний:
119
Добавлен:
29.03.2015
Размер:
1.34 Mб
Скачать

Министерство образования и науки РФ

Федеральное государственное бюджетное образовательное учреждение

высшего профессионального образования

Самарский государственный архитектурно-строительный университет

Факультет информационных систем и технологий

Кафедра прикладной математики и вычислительной техники

Прохорова О.В.

ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ

Часть 1.

Курс лекций

Самара - 2012

УДК 62-50 (076.5 )

Информационные технологии: Учебное пособие к курсу лекций для студентов специальности Информационные системы и технологии

/ Сост. О.В. Прохорова. - Самара: СГАСУ, 2012. - 129c.

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

Оглавление

1. Модели дискретных структур. Комбинационные схемы 4

1.1. Введение 4

1.2. Функции алгебры логики 8

1.3. Булева алгебра. Функциональная полнота 13

1.4. Минимизация функции алгебры логики 16

1.5. Функции k-значной логики 19

1.6. Основные понятия трехзначной логики 22

1.7. Представление k-значных функций в виде нормальных форм 23

1.8. Двоичное кодирование переменных и функций трехзначной логики 24

1.9. Элементная база комбинационных схем 28

1.10. Программная реализация логических функций и автоматов 32

2. Формальные языки и грамматики 36

2.1. Введение в теорию формальных языков и грамматик 36

2.2. Выводы цепочек формального языка. Деревья КСГ 41

2.3. Основные понятия теории формальных языков и грамматик 43

2.4. Приведение грамматик 46

2.4. Операции над языками 52

2.5. Право-линейная и автоматная грамматики 54

3. Теория автоматов 56

3.1. Введение 56

3.2. Способы представления конечных автоматов 59

3.3. Минимизация числа состояний автомата 64

3.4. Использование сети Петри при переходе от грамматики к автомату 69

3.5. Сети Петри. Маркировка 71

3.6. Классификация сетей Петри 76

3.7. Синхронные и асинхронные автоматы 80

3.8. Модели автоматов Мили и Мура 82

3.9. Кодирование автомата 84

3.10. Элементная база синтеза комбинационных схем 91

3.11. Структурный синтез автомата 96

4. Отдельные вопросы теории вычислительных процессов 108

4.1. Автоматы с магазинной памятью 108

4.2. Комбинационные схемы обнаружения ошибок 116

4.3. Пространство сообщений. Коды обнаружения и исправления ошибок 119

Контрольные вопросы 123

Л И Т Е Р А Т У Р А 126

1. Модели дискретных структур. Комбинационные схемы

1.1. Введение

Рассмотрим некоторое устройство с n входами и m выходами. На каждый вход может быть подан произвольный символ из конечного алфавита X=(x1 .. x k ), который назовем входным алфавитом. Совокупность символов, поданных на вход устройства образует входные слова P1 над алфавитом X. Один из символов алфавита X соответствует пустому символу. Если на некоторый вход устройства подается пустой символ, то физически это означает отсутствие какого-либо возбуждения по данному входу. На выходе устройства появляются выходные слова Qj над алфавитом Y=(y 1 ... yl ), который назовем выходным алфавитом.

... m выходов

Pi —> Qj

... n входов

Элементарный такт работы устройства следующий: при появлении на входе устройства входного слова Pi устройство выдает на выходах комбинацию выходных символов, то есть слово Qj.

Пусть работа устройства полностью определяется лишь входным словом, тогда его работа может быть описана в виде следующей таблицы:

Таблица 1.1

P 1

Qj1

P 2

Qj2

......

.....

P kn

Qjkn

В таблице есть kn строк по числу различных входных слов длиной n над алфавитом X размерности k.

Определение. Устройство, условия работы которого описываются в виде табл. 1.1 называется конечным автоматом без памяти или комбинационной схемой.

Автомат такого типа может рассматриваться как устройство, кодирующее слова над алфавитом X словами над алфавитом Y. Конечный автомат без памяти является наиболее простым логическим устройством дискретного типа.

Зададимся конечным алфавитом S = (S1 ... Sq ), который называется алфавитом внутренних состояний. Пусть работа устройства полностью описывается входным словом и внутренним состоянием, в котором находится устройство в определенный такт работы, тогда пара (Pi, St) однозначно определяет выходное слово и внутреннее состояние, в которое устройство перейдет в следующий такт работы, то есть определяет пару (Qj, Sh). Работа такого устройства полностью описывается таблицами:

Таблица 1.2

S1

S2

...

Sq

P1

Qj 1

Qj 2

...

Qj q

P2

Qj q+1

Qj q+2

...

Qj 2q

. . .

...

P kn

...

...

Qj knq

Таблица 1.3

S1

S2

...

Sq

P1

Sj 1

Sj 2

...

Sj q

P2

Sj q+1

Sj q+2

...

Sj 2q

. . .

...

P kn

...

...

S knq

Табл. 1.2 определенному входному слову Pi и состоянию St ставит в соответствие выходное слово Qjt. Табл.1. 3 определяет внутреннее состояние устройства в следующий такт работы автомата.

Определение. Устройство, работа которого описывается табл.1.2 и

табл. 1.3, называется конечным автоматом с глубиной памяти q.

Конечный автомат с памятью и без нее является устройством детерминированного типа. Описание его работы в виде таблиц есть задание жесткого алгоритма его работы. Но существует более сложный класс автоматов – это автоматы стохастического типа. В автоматах стохастического типа вместо однозначного соответствия P i -> Qj или

(P i , S t) -> ( Qj , Sr ) рассматривается лишь вероятность замены Pi на Qj или (P i ,S t) на ( Qj , Sr ) . Эта вероятность для случая автомата без памяти задается с помощью следующей стохастической матрицы, представленной таблицей:

Таблица 1.4

Qj1

Qj2

Qj3

...

Qjm

P1

a1 1

a12

a13

...

a1jm

P2

a21

a22

a23

...

a2jm

. . .

P kn

akn1

akn2

a kn3

...

ak njm

Здесь элемент ai j определяет вероятность появления слова Qj на выходе автомата, если на его вход подано слово Pi . При этом действуют следующие условия:

0 ai j 1и

Пример.

Рассмотрим процедуру кодирования информации в устройстве оптического сложения двух цветов. Символы алфавита X и Y должны быть закодированы двоичным кодом и принимать значения только 0 и 1. Пусть алфавит X представлен следующим образом: X = (желтый, синий, красный), а алфавит Y представлен: Y = (желтый, синий, красный, зеленый, оранжевый, фиолетовый). В качестве устройства преобразования цвета выберем конечный автомат без памяти с двумя входами и одним выходом. Его работу зададим таблицей (алгоритмом):

Таблица 1.5

желтый + желтый —> желтый

желтый + синий —> зеленый

синий + желтый —> зеленый

желтый + красный —> оранжевый

красный + желтый —> оранжевый

синий + синий —> синий

синий + красный —> фиолетовый

красный + синий —> фиолетовый

красный + красный —> красный

Автомат в данном случае будет представлять собой устройство для оптического сложения двух цветов. Чтобы построить алгоритм его работы, пронумеруем символы алфавитов X и Y. Для этого первоначально сопоставим каждому цвету целое десятичное число от 0 до 5, а именно: желтому - 0, синему - 1, красному - 2, зеленому - 3, оранжевому - 4, фиолетовому - 5. Результаты кодировки представлены таблицей

0 0 —> 0

0 1 —> 3

1 0 —> 3

0 2 —> 4

2 0 —> 4

1 1 —> 1

1 2 —> 5

2 1 —> 5

2 2 —> 2

000000 —> 000

000001 —> 011

001000 —> 011

000010 —> 100

010000 —> 100

001001 —> 001

001010 —> 101

010001 —> 101

010010 —> 010

Двоичное кодирование алфавита заменяет каждую из 6 десятичных цифр ее эквивалентом в двоичной системе исчисления – кодом в три символа.