Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Объединение 3-х и более алгоритмов




 

Задача. Автомат должен выполнять три алгоритма U 1, U 2 и U 3 в зависимости от значений набора логических условий r1, r2.

Получить минимизированный объединенный алгоритм U об, в котором отсутствуют повторяющиеся операторы.

Алгоритм решения.

1. Составить граф-схему и логическую схему каждого алгоритма.

2. Оценить эффективность минимизации объединенного алгоритма по количеству общих (одинаковых) операторов и логических переменных исходных алгоритмов. Если это количество меньше 2, то минимизация неэффективна, U об = r1­1r2­2 U 13 ¯1 U 23¯2 U 3¯3, иначе перейти к п. 3.

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

4. Построить объединенную МСА, каждый элемент которой

где

Определяющие функции вычисляются по формуле:

Здесь Ri - определяющие конъюнкции для всех объединяемых МСА.

Оператор Аi входит только в ЛСА U i, поэтому есть выбор R/0, который позволяет минимизировать систему формул перехода и объединенную ЛСА.

Практика объединения алгоритмов показывает, что МСА с наибольшим числом совпадающих элементов желательно приписывать определяющие конъюнкции с соседним кодированием.

Совпадающие элементы:

- элементы, состоящие из одинаковых логических функций;

- элементы строки оператора Аi, если он отсутствует в другой МСА.

 

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

4.2. Закодировать определяющие конъюнкции алгоритмов набором логических переменных r1r2, используя соседнее кодирование для пар МСА с наибольшим числом совпадающих элементов.

4.3. Построить набор определяющих функций для каждого оператора каждого алгоритма.

4.4. Построить объединенную МСА.

 

5. Составить систему формул перехода, провести ее минимизацию и упрощение.

6. По системе схемных формул перехода составить объединенную ЛСА.

7. Проверить выполнение каждого алгоритма в объединенной ЛСА, подставляя соответствующие значения r1, r2. Если алгоритм имеет большое количество элементарных выражений и безусловных переходов, то проверку рекомендуется проводить по объединенной ГСА.

 

Пример. U 1 – вывести максимум массива из 10 элементов.

U 2 – вывести минимум массива из 10 элементов.

U 3 – вывести номер первого элемента массива, равного 4.

 

1)

U 1 =A0A11¯2p11­11A21¯11A3p2­2A41Aк

U 2 =A0A12¯2p12­12A22¯12A3p2­2A42Aк

U 3 =A0A13¯2p13­13A23ω­3¯13A3p2­2¯3Aк

 

2) Общие операторы и логические переменные – A0 , A3 , p2 , Aк . Минимизация должна быть эффективна.

 

3)

U 1

  A11 A21 A3 A41 Aк
A0          
A11   p11 !p11    
A21          
A3   !p2p11 !p2!p11 p2  
A41         1

U 2

  A12 A22 A3 A42 Aк
A0          
A12   p12 !p12    
A22          
A3   !p2p12 !p2!p12 p2  
A42         1

U 3

  A13 A23 A3 Aк
A0        
A13   p13 !p13  
A23        
A3   !p2p13 !p2!p13 p2

 

 

4) Определяющие конъюнкции и функции

 

4.1) Граф с числами совпадающих элементов


U 1- U 2: строки А112112224142 = 2+1+2+1+1+1 = 8.

U 1- U 3: строки А1121411323 = 2+1+1+2+1 = 7.

U 2- U 3: строки А1222421323 = 2+1+1+2+1 = 7.

Для большей минимизации введена пустая МСА U ø , число совпадающих с ней элементов равно числу элементов всей матрицы.

 

4.2) Определяющие конъюнкции

 

Наибольшее число совпадающих элементов у пар матриц U 1- U 2 , U 1- U ø , U 2- U ø .

Закодируем определяющие конъюнкции для U 1 , U 2 , U ø соседними кодами:

R1 = r1r2, R2 = r1!r2, R ø =!r1r2, R3 =!r1!r2.

 

4.3) Определяющие функции

 

Определяющие функции операторов А0 и А3 первого алгоритма (присутствуют во всех алгоритмах кроме пустого):

.

Определяющие функции остальных операторов первого алгоритма (присутствуют только в нем):

.

Аналогично для остальных алгоритмов:

;

;

.

 

4.4) Объединенная недоопределенная МСА

 

  A11 A12 A13 A21 A22 A23 A3 A41 A42 Aк
A0 (r1/1)r2 r1!r2 !r1(!r2/1)              
A11       p11     !p11      
A12         p12   !p12      
A13           p13 !p13      
A21                    
A22                    
A23                    
A3       !p2p11 (r1/1)r2 !p2p12r1!r2 !p2p13!r1(!r2/1) !p2!p11(r1/1)r2v !p2!p12r1!r2 v !p2!p13!r1(!r2/1) p2(r1/1)r2 p2r1!r2 p2!r1 (!r2/1)
A41                    
A42                    

 

Доопределяем МСА, сокращая число и сохраняя полноту логических условий.

 

  A11 A12 A13 A21 A22 A23 A3 A41 A42 Aк
A0 r1r2 r1!r2 !r1              
A11       p11     !p11      
A12         p12   !p12      
A13           p13 !p13      
A21                    
A22                    
A23                    
A3       !p2p11 r1r2 !p2p12r1!r2 !p2p13!r1 !p2!p11r1r2v !p2!p12r1!r2 v !p2!p13!r1 p2r1r2 p2r1!r2 p2!r1
A41                    
A42                    

 

 

5) Скобочная система формул перехода S2

 

A0 → r1r2A11 V r1!r2A12 V!r1A13 → r1(r2A11 V!r2A12) V!r1A13

A11 → p11A21 V!p11A3

A12 → p12A22 V!p12A3

A13 → p13A23 V!p13A3

A21 → A3

A22 → A3

A23 → Aк

A3 →!p2r1r2(p11A21 V!p11A3) V!p2r1!r2(p12A22 V!p12A3) V!p2!r1(p13A23 V!p13A3) V p2(r1(r2A41 V!r2A42) V!r1Aк) → p2(r1(r2A41 V!r2A42) V!r1Aк) V!p2(r1(r2(p11A21 V!p11A3) V!r2(p12A22 V!p12A3)) V!r1(p13A23 V!p13A3))

A41 → Aк

A42 → Aк

 

Схемная система формул перехода S3

 

A0 → r1­1r2­2A11 * ¯2A12 * ¯1A13

A11 → p11­11A21 * ¯11A3

A12 → p12­12A22 * ¯12A3

A13 → p13­13A23 * ¯13A3

A21 → A3

A22 → A3

A23 → Aк

A3 → p2­3 r1­4 r2­5A41 * ¯5A42 * ¯4Aк * ¯3 r1­6 r2­7 p11­11A21 * ¯11A3 * ¯7 p12­12A22 * ¯12A3 * ¯6 p13­13A23 * ¯13A3

A41 → Aк

A42 → Aк

 

Преобразованная схемная система формул перехода S3'

 

A0 → r1­1 r2­2 A11 * ¯2A12 * ¯1A13

A11 → ¯3 r1­6 r2­7 p11­8A21

A12 → ¯7 p12­8A22

A13 → ¯6 p13­8A23

A21 → ω­8

A22 → ¯8A3

A23 → ω­9

A3 → p2­3 r1­9 r2­5A41 * ¯5A42

A41 → ω­9

A42 → ¯9Aк

 

6) Объединенная ЛСА

U об = A0 r1­1 r2­2A11¯3 r1­6 r2­7 p11­8A21ω­8¯2A12¯7 p12­8A22¯8A3ω­10¯1A13¯6 p13 ­8A23ω­9 ¯10 p2­3 r1­9 r2­5A41ω­9¯5A42¯9Aк

 

7) Проверка:

 

r1=1, r2=1 U1 = A0A11¯3p11­8A21¯8A3p2­3A41Aк

r1=1, r2=0 U2 = A0A12¯3p12­8A22¯8A3p2­3A42Aк

r1=0, r2=0 U3 = A0A13¯3p13­8A23ω­9¯8A3p2­3¯9Aк

 

При подстановке соответствующих значений r все 3 алгоритма выполняются правильно, следовательно объединенная ЛСА составлена верно.

В объединенной ЛСА 21 элементарное выражение, а в необъединенной – 25. Минимизация эффективна.

 

Задача для подготовки.

Объединить 3 алгоритма:

U 1 – вывести максимум массива из 10 элементов.

U 2 – вывести номер первого элемента массива, большего 5.

U 3 – упорядочить массив в порядке возрастания и вывести последний элемент.

Первый оператор А0 – инициализация массива и переменных.

Последний оператор Ак – вывод искомого значения на экран.

 




Поделиться с друзьями:


Дата добавления: 2015-05-26; Просмотров: 703; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.057 сек.