Лабораторная
 

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

Уфимский государственный авиационный технический университет

Факультет ИРТ: Информатика и робототехника

Кафедра ПСИ: Проектирование систем информатики

Учебная дисциплина:

Математическая логика и теория алгоритмов

РГР: Расчетно-графическая работа

Общая тема:

ПАРАЛЛЕЛЬНЫЕ ЛОГИКО-АЛГОРИТМИЧЕСКИЕ СИСТЕМЫ

(алгоритмы и логика, аппаратная и программная реализация)

Часть 1

ТЕХНИКА ПОЛМОРФНЫХ СТРУКТУРНЫХ ПОСТРОЕНИЙ
ПАРАЛЛЕЛЬНЫХ АЛГОРИТМОВ

Пояснительная записка

5033.7491.0000-ПЗ

Направление подготовки:

654600: ИВТ: Информатика и вычислительная техника

Специальность:

230104: Системы автоматизированного проектирования

Курс обучения: II

Учебная группа: САПР-230

Работу выполнил

студент Манаев Р. Н.

Зачетная книжка №

Вариант задания: А580

Работу принял _____________ Житников А. П.

2007


Оглавление:

1. Исходное задание. 3

2. Восстановление стандартной СФА.. 3

2.1. Контрольная проверка. 4

2.2 Восстановление СФА с явной записью суперпозиции. 5

2.3 Восстановление СФА с неявной записью суперпозиции. 5

3. Основная структурная формула алгоритма. 6

3.1. Блок-схема алгоритма — горизонтальное исполнение. 7

3.2. Блок-схема алгоритма — вертикальное исполнение. 8

3.3. Штрих-схема алгоритма. 9

4. Общие данные структуры алгоритма: 10

5.2. Нумерация и группирование формульных оболочек схемы.. 11

6. Повышение взаимно однозначного соответствия структурных схем и структурных формул. 12

6.1. Введение явной операции fork. 12

6.2. Разделение парных операций fork и join. 13

6.3 Бесскобочная запись формул. 13


1. Исходное задание

Задан комплект структурных формул алгоритмов:

А581=Z7((Z1 & Z6(Z0&Z3Z6))& Z7(Z4 & Z5)Z7)

А582= Z7((Z1 & Z6(Z0&Z3Z6)) V Z7(Z4 & Z5)Z7)

Выполнить следующие задания:

1) По исходной формуле восстановить:

a) Стандартную СФА: полную инфиксную форму

b) Сокращенную СФА с явной записью суперпозиции

с) Сокращенную СФА с неявной записью суперпозиции

2) Провести контрольную проверку результатов.

3) Составить основнкю структурную схему алгоритма в виде:

a) БСА (ГИ): блок-схемы алгоритма (горизонтальное исполнение)

b) БСА (ВИ): блок-схемы алгоритма (вертикальное исполнение)

c) ШСА: штрих-схемы алгоритма

4) Составить таблицу общих данных штрих-схемы.

5) Составить оболочковую штрих-схему алгоритма.

6) Провести проверочную нумерацию блоков-оболочек СФА и отметить оболочки на ШСА

7) Повысить взаимно однозначное соответствие структурных формул и схем:

a) Путем введения явной операции fork.

b) Путем разделения парных операций fork-join.

с) Путем использования бесскобочной записи формул.

2. Восстановление стандартной СФА

Вариант 1

Исходная формула:

А581=Z7((Z1 & Z6(Z0&Z3Z6))& Z7(Z4 & Z5)Z7)

Поэтапная простановка операторов суперпозиции:

А581=Z7 (( Z1 & Z6 ( Z0 & Z3 Z6 )) & Z7 ( Z4 & Z5 ) Z7 )=

= Z7 — (( Z1 & Z6 — ( Z0 & Z3 — Z6 )) & Z7 — ( Z4 & Z5 ) — Z7 )

Простановка недостающих пар скобок: операторов объединения.

Z7 — (( Z1 & Z6 — ( Z0 & Z3 — Z6 )) & Z7 — ( Z4 & Z5 ) — Z7 ) =

= ( Z7 — (( Z1 & Z6 — ( Z0 & Z3 — Z6 )) & Z7 — ( Z4 & Z5 ) — Z7 ) ) =

= ( Z7 — (( Z1 & (Z6 — ( Z0 & ( Z3 — Z6 )))) & ( Z7 — ( Z4 & Z5 ) — Z7 )))

Вариант 2

Исходная формула:

А582=Z7((Z1& Z6(Z0&Z3Z6)) V Z7(Z4 & Z5)Z7)

Поэтапная простановка операторов суперпозиции:

А582=Z7 (( Z1 & Z6 ( Z0 & Z3 Z6 )) V Z7 ( Z4 & Z5 ) Z7 )=

= Z7 — (( Z1 & Z6 — ( Z0 & Z3 — Z6 )) V Z7 ( Z4 & Z5 ) — Z7 )

Простановка недостающих пар скобок: операторов объединения.

Z7 — (( Z1 & Z6 — ( Z0 & Z3 — Z6 )) V Z7 ( Z4 & Z5 ) — Z7 ) =

= ( Z7 — (( Z1 & Z6 — ( Z0 & Z3 — Z6 )) V Z7 ( Z4 & Z5 ) — Z7 ) ) =

= ( Z7 — (( Z1 & ( Z6 — ( Z0 & ( Z3 — Z6 )))) V ( Z7 — ( Z4 & Z5 ) — Z7 )))

2.1. Контрольная проверка

Вариант 1

Упрощение формулы - неявное задание оператора суперпозиции:

A581 = ( Z7 — (( Z1 & ( Z6 — ( Z0 & ( Z3 — Z6 )))) & ( Z7 — ( Z4 & Z5 ) — Z7 ))) =

= ( Z7 (( Z1 & (Z6 ( Z0 & ( Z3 Z6 )))) & ( Z7 ( Z4 & Z5 ) Z7 )))

Проверка результатов - пошаговое снятие скобок:

A581 = ( Z7 (( Z1 & (Z6 ( Z0 & ( Z3 Z6 )))) & ( Z7 ( Z4 & Z5 ) Z7 ))) =

= ( Z7 (( Z1 & (Z6 ( Z0 & Z3 Z6 ))) & Z7 ( Z4 & Z5 ) Z7 )) =

= ( Z7 (( Z1 & Z6 ( Z0 & Z3 Z6 )) & Z7 ( Z4 & Z5 ) Z7 ))

Снятие внешних скобок:

A581 = ( Z7 (( Z1 & Z6 ( Z0 & Z3 Z6 )) & Z7 ( Z4 & Z5 ) Z7 )) =

= Z7 (( Z1 & Z6 ( Z0 & Z3 Z6 )) & Z7 ( Z4 & Z5 ) Z7

Вариант 2

Упрощение формулы - неявное задание оператора суперпозиции:

A582 = ( Z7 — (( Z1 & ( Z6 — ( Z0 & ( Z3 — Z6 )))) V ( Z7 — ( Z4 & Z5 ) — Z7 ))) =

= ( Z7 (( Z1 & ( Z6 ( Z0 & ( Z3 Z6 )))) V ( Z7 ( Z4 & Z5 ) Z7 )))

Проверка результатов - пошаговое снятие скобок:

A582 = ( Z7 (( Z1 & ( Z6 ( Z0 & ( Z3 Z6 )))) V ( Z7 ( Z4 & Z5 ) Z7 ))) =

= ( Z7 (( Z1 & ( Z6 ( Z0 & Z3 Z6 ))) V Z7 ( Z4 & Z5 ) Z7 )) =

= ( Z7 (( Z1 & Z6 ( Z0 & Z3 Z6 )) V Z7 ( Z4 & Z5 ) Z7 ))

Снятие внешних скобок:

A582 = ( Z7 (( Z1 & Z6 ( Z0 & Z3 Z6 )) V Z7 ( Z4 & Z5 ) Z7 )) =

= Z7 (( Z1 & Z6 ( Z0 & Z3 Z6 )) V Z7 ( Z4 & Z5 ) Z7 )

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

2.2 Восстановление СФА с явной записью суперпозиции

Вариант 1

Исходная формула:

A581 = ( Z7 — (( Z1 V ( Z6 — ( Z0 & ( Z3 — Z6 )))) V ( Z7 — ( Z4 & Z5 ) — Z7 )))

Формула с явным указанием операции суперпозиции:

А581= ( Z7 — (( Z1 V ( Z6 — ( Z0 & ( Z3 — Z6 )))) V ( Z7 — ( Z4 & Z5 ) — Z7 ))) =

= ( Z7 → (( Z1 V ( Z6 → ( Z0 & ( Z3 →Z6 )))) V ( Z7 → ( Z4 & Z5 ) →Z7 )))

Вариант 2

Исходная формула:

A582 = ( Z7 — (( Z1 & ( Z6 — ( Z0 & ( Z3 — Z6 )))) V ( Z7 — ( Z4 & Z5 ) — Z7 )))

Формула с явным указанием операции суперпозиции:

А582= ( Z7 — (( Z1 & ( Z6 — ( Z0 & ( Z3 — Z6 )))) V ( Z7 — ( Z4 & Z5 ) — Z7 ))) =

= ( Z7 → (( Z1 & ( Z6 → ( Z0 & ( Z3 →Z6 )))) V ( Z7 → ( Z4 & Z5 ) →Z7 )))

2.3 Восстановление СФА с неявной записью суперпозиции

Вариант 1

Исходная формула:

A581 = ( Z7 — (( Z1 V ( Z6 — ( Z0 & ( Z3 — Z6 )))) V ( Z7 — ( Z4 & Z5 ) — Z7 )))

Формула с явным указанием операции суперпозиции:

А581= ( Z7 — (( Z1 V ( Z6 — ( Z0 & ( Z3 — Z6 )))) V ( Z7 — ( Z4 & Z5 ) — Z7 ))) =

= ( Z7 (( Z1 V ( Z6 ( Z0 & ( Z3 Z6 )))) V ( Z7 ( Z4 & Z5 ) Z7 )))

Вариант 2

Исходная формула:

A582 = ( Z7 — (( Z1 & ( Z6 — ( Z0 & ( Z3 — Z6 )))) V ( Z7 — ( Z4 & Z5 ) — Z7 )))

Формула с явным указанием операции суперпозиции:

А582= ( Z7 — (( Z1 & ( Z6 — ( Z0 & ( Z3 — Z6 )))) V ( Z7 — ( Z4 & Z5 ) — Z7 ))) =

= ( Z7 (( Z1 & ( Z6 ( Z0 & ( Z3 Z6 )))) V ( Z7 ( Z4 & Z5 ) Z7 )))

3. Основная структурная формула алгоритма

Исходная формула:

Вариант 1: А581=Z7((Z1 & Z6(Z0&Z3Z6))& Z7(Z4 & Z5)Z7)

Вариант 2: А582= Z7((Z1 & Z6(Z0&Z3Z6)) V Z7(Z4 & Z5)Z7)

Требуется:

1)                Составить БСА (ГИ): блок-схему алгоритма в горизонтальном исполнении.

2)                Составить БСА (ВИ): блок-схему алгоритма в вертикальном исполнении.

3)                Составить ШСА: Штрих-схему алгоритма.

Для выполнения работы был использован редактор MS Paint


3.1. Блок-схема алгоритма — горизонтальное исполнение

Вариант 1

А581=Z7((Z1 & Z6(Z0&Z3Z6)) & Z7(Z4 & Z5)Z7)

Вариант 2

А582= Z7((Z1 & Z6(Z0&Z3Z6)) V Z7(Z4&Z5)Z7)


3.2. Блок-схема алгоритма — вертикальное исполнение

Вариант 1

А581=Z7((Z1 & Z6(Z0&Z3Z6)) & Z7(Z4 & Z5)Z7)

Вариант 2

А582= Z7((Z1 & Z6(Z0&Z3Z6)) V Z7(Z4&Z5)Z7)


3.3. Штрих-схема алгоритма

Вариант 1

А581=Z7((Z1 & Z6(Z0&Z3Z6)) & Z7(Z4 & Z5)Z7)

Вариант 2

А582= Z7((Z1 & Z6Z0&Z3Z6)) V Z7(Z4&Z5)Z7)


4. Общие данные структуры алгоритма

Показатели

Значения

Примечания

Общее число команд

10

Число разных команд

7

Есть повторные
вхождения команд

Общее число элементов

18

Включая узлы вилки и сборки

Число пар операций распараллеливания

4

#& - 3 набора

#V — 1 набор

Степень параллелизма

3

Три параллельные ветви алгоритма

Наличие дизъюнктивных сборок

вариант 1 — нет

вариант 2 — есть

Нет особенностей

Есть 1 особый узел

5. Группирование элементов схемы

5.1. Группирование через оболочки схемы

Выполняется только вариант 2. Структурная формула (из п. 2):

A582 = ( Z7 — (( Z1 & ( Z6 — ( Z0 & ( Z3 — Z6 )))) V ( Z7 — ( Z4 & Z5 ) — Z7 )))

Штрих-схема алгоритма с наложением схемных оболочек:


5.2. Нумерация и группирование формульных оболочек схемы

Структурная формула в полной инфиксной форме (из п.2):

A582 = ( Z7 — (( Z1 & ( Z6 — ( Z0 & ( Z3 — Z6 )))) V ( Z7 — ( Z4 & Z5 ) — Z7 )))