- •Компьютерный практикум
- •Макрокоманды программы Microsoft Word 2003
- •Макрокоманда: «Открытие окна программы Microsoft Word 2003»
- •Макрокоманда: «Установка параметров страницы»
- •Макрокоманда: «Переход на русскую раскладку клавиатуры»
- •Макрокоманда: «Переход на английскую раскладку клавиатуры»
- •Макрокоманда: «Установка автоматического переноса слов»
- •Макрокоманда: «Установка гарнитуры шрифта»
- •Макрокоманда: «Установка размера шрифта»
- •Макрокоманда: «Установка начертания шрифта»
- •Макрокоманда: «Выравнивание абзаца»
- •Макрокоманда: «Печать текста»
- •Макрокоманда: «Установка красной строки».
- •Макрокоманда: «Копирование формата»
- •Макрокоманда: «Выделение текста»
- •Макрокоманда: «Гашение выделения текста»
- •Макрокоманда: «Сохранение документа (файла) на диске»
- •Макрокоманда: «Закрытие окна программы Microsoft Word»
- •Макрокоманда: «Вставка таблицы»
- •Макрокоманда: «Выделение строк таблицы»
- •Макрокоманда: «Выделение столбцов таблицы»
- •Макрокоманда: «Выделение ячеек таблицы»
- •Макрокоманда: «Выравнивание текста ячейки таблицы по вертикали»
- •Макрокоманда: «Установка текстового курсора»
- •Макрокоманда: «Вставка пустой строки»
- •Макрокоманда: «Установка текстового курсора в ячейке таблицы»
- •Макрокоманда: «Установка заданной ширины столбцов»
- •Макрокоманда: «Автоматическое создание заголовка таблицы»
- •Макрокоманда: «Оъединение ячеек таблицы»
- •Макрокоманда: «Изменение ширины столбца»
- •М акрокоманда: «Выравнивание ширины столбцов»
- •Макрокоманда: «Создание нового документа»
- •Макрокоманда: «в ставка формулы»
- •Макрокоманда: «Выбор элемента панели инструментов «Формула»»
- •Макрокоманда: «Выбор из меню математических шаблонов и знаков»
- •Макрокоманда: «Увеличение символов формулы»
- •Макрокоманда: «Установка режима отображения сетки»
- •М акрокоманда «Установка линеек»
- •Макрокоманда: «Рисование стрелки»
- •Макрокоманда: «Рисование прямой линии»
- •Макрокоманда: «Вставка надписи»
- •Макрокоманда: «Установка цвета линии»
- •Макрокоманда: «Установка цвета заливки»
- •Макрокоманда: «Выделение объекта (объектов)»
- •Макрокоманда: «Группировка объектов»
- •Макрокоманда: «Копирование объекта»
- •Макрокоманда: «Вставка объекта»
- •Макрокоманда: «Перемещение объекта»
- •Макрокоманда: «Изменение ширины линии»
- •Макрокоманда: «Рисование кривой линии»
- •Макрокоманда: «Рисование автофигуры»
- •Макрокоманда: «Установка обтекания текстом»
- •Макрокоманда: «Замена символов в тексте»
- •Макрокоманды программы Microsoft Excel 2003.
- •1. Макрокоманда: «Включение компьютера и вход в систему».
- •2. Макрокоманда: «Запуск программы Microsoft Excel».
- •3. Макрокоманда: «Выбор активного листа».
- •4. Макрокоманда: «Занесение целых чисел в ячейку».
- •5. Макрокоманда: «Занесение целых чисел в диапазон ячеек».
- •6. Макрокоманда: «Занесение десятичных дробей в ячейку».
- •7. Макрокоманда: «Занесение десятичных дробей в диапазон ячеек».
- •8. Макрокоманда: «Занесение заголовка в ячейку».
- •9. Макрокоманда: «Активизация диапазона ячеек».
- •10. Макрокоманда «Сортировка данных».
- •11. Макрокоманда: «Активизация несвязанного диапазона ячеек».
- •12. Макрокоманда: «Форматирование ширины столбца».
- •13. Макрокоманда: «Форматирование высоты строки».
- •14. Макрокоманда: «Специальная вставка – транспонирование».
- •15. Макрокоманда: «Выбор языка клавиатуры».
- •16. Макрокоманда: «Объединение ячеек».
- •17. Макрокоманда: «Добавление нового листа в рабочую книгу Excel».
- •18. Макрокоманда «Вставка символа».
- •19. Макрокоманда: «Заполнение арифметической прогрессии».
- •20. Макрокоманда: «Закрытие программы Microsoft Excel».
- •21. Макрокоманда «Создание индекса».
- •22. Макрокоманда «Выделение границ ячейки».
- •23. Макрокоманда «Центрирование данных в ячейке».
- •24. Макрокоманда: «Копирование в буфер обмена».
- •25. Макрокоманда: «Построение диаграммы».
- •26. Макрокоманда: «Занесение формул в ячейку».
- •27. Макрокоманда: «Автозаполнение - нумерация».
- •28. Макрокоманда: «Автозаполнение - формула».
- •Технология набора текста Задание. Набрать нижеследующий текст, применяя необходимые операции форматирования, и сохранить текст на жестком диске компьютера.
- •Относительная частота.
- •Переход на русскую раскладку клавиатуры.
- •Установка автоматического переноса слов.
- •Закрытие окна программы Word.
- •Выключение компьютера.
- •Технология создания таблиц
- •Гашение выделения.
- •Переход на английскую раскладку клавиатуры.
- •Переход на русскую раскладку клавиатуры.
- •Закрытие окна программы Microsoft Word.
- •Операции над множествами
- •Последовательность макрокоманд выполнения задания
- •Переход на русскую раскладку клавиатуры.
- •Установка автоматического переноса слов.
- •Гашение выделения.
- •Переход на латинскую раскладку клавиатуры.
- •Гашение выделения.
- •Переход на русскую раскладку клавиатуры.
- •Гашение выделения.
- •Гашение выделения.
- •Гашение выделения.
- •Гашение выделения.
- •Закрытие окна программы Word.
- •Набор математических объектов и формул Задание 1. Набрать предложенную матрицу размером 3*3.
- •Последовательность макрокоманд выполнения задания.
- •Вызов редактора формул.
- •Вызов редактора формул.
- •Переход на английскую раскладку клавиатуры.
- •Вызов редактора формул.
- •Переход на английскую раскладку клавиатуры.
- •Задание 1. Набрать диаграмму Венна множеств (Рис1) .
- •Последовательность макрокоманд выполнения задания
- •Открытие окна программы Microsoft Word.
- •Частотный анализ поэтических текстов по начальной букве
- •Частотный анализ поэтических текстов по всем буквам.
- •Логические задачи в алгебре Буля
- •Где и в каком веке изготовлен сосуд? с помощью Булевой переменной введем обозначения:
- •Формальный анализ исторических явлений.
- •1. Цель проекта
- •2. Теоретическая часть.
- •Промежуточные результаты для первого блока проекта.
- •Промежуточные результаты для второго блока проекта.
- •Промежуточные результаты для третьего блока проекта.
- •Создание иллюстративных материалов к уроку с помощью программы Power Point –2000 с использованием Internet ресурсов.
- •Р Рис. 17 исование в графическом редакторе Paint.
- •Рисование шара в графическом редакторе PhotoShop.
- •Контент-анализ социологических текстов.
- •1. Теоретическая часть.
- •Лабораторная работа № 17 Создание шаблона титульного листа диплома в программе word.
Где и в каком веке изготовлен сосуд? с помощью Булевой переменной введем обозначения:
Это сосуд греческий –
;Изготовлен в 5 веке –
;Это сосуд финикийский –
;Изготовлен в 3 веке –
;Это сосуд не греческий –
;Изготовлен в 4 веке –
.
В этих обозначениях высказывания ребят кодируются логическими функциями следующим образом:
Алеша:
Боря:
Гриша:
Кроме того, ясно, что сосуд может быть изготовлен только в одном из веков и только в одной из стран. Эти условия позволяют ввести дополнительные логические функции:
,
Полученные таким образом логические
функции
представлены в совершенной дизъюнктивной
нормальной форме. Если придать всевозможные
значения наборам переменных, от которых
зависят указанные функции, то можно
получить таблицы для
.
Будем считать все
=1,
тогда получим следующую систему уравнений
Булевой алгебры:
(1)
Система (1) представляет математическую
модель искомой задачи. Один из способов
решения (1) состоит в подборе тех единичных
термов логических функций
,
наборы переменных которых удовлетворяют
системе (1), а значения переменных
из этих наборов не противоречат друг
другу.
Для нахождения всех единичных термов системы (1) необходимо произвести вычисление таблиц функций f1, f2, f3, f4, f5. Это можно сделать с помощью программы Microsoft Excel. Для этого напишем программу на языке макрокоманд. Так как любая программа требует отладки, будем проводить её посредствам сравнения получающихся в процессе написания программы результатов с образцами, представленными в виде рисунков.
1 . Включение компьютера и вход в систему. Результат выполнения представлен на рисунке 1.
Рис. 1.
2. Запуск программы Microsoft Excel.
Параметры: - рабочий стол. Результат выполнения представлен на рисунке 2.
Рис. 2.
3 . Выбор активного листа.
Параметры: - лист: «Лист1». Результат выполнения представлен на рисунке 3.
Рис. 3.
4. Занесение заголовка в ячейку.
Параметры: - ячейка: A1, B1; - данные: «X1», «X5». Результат выполнения частично представлен на рисунке 4. Рис. 4.
5. Занесение целых чисел в ячейку.
Параметры: - ячейка: A2÷A5; - данные: «1», «1», «0», «0». Результат выполнения частично представлен на рисунке 5. Рис. 5.
6
.
Занесение
целых чисел в ячейку.
Параметры: - ячейка: A2÷A5; - данные: «1», «0», «1», «0». Результат выполнения частично представлен на рисунке 6. Рис. 6.
7. Занесение заголовка в ячейку.
Параметры: - ячейка: C1, D1, E1, F1, G1; - данные: «не X1», «не X5», «X1 и не X5», «не X1 и X5», «E1 или F1». Результат выполнения частично представлен на рисунке 7.
Рис. 7.
8. Автозаполнение - формула.
Параметры: - ячейка: C2; - данные: «=НЕ(A2)» - конечная ячейка: C5. Результат выполнения представлен на рисунке 8. Рис. 8.
Аналогичным способом достроим таблицу истинности для функции f1, используя функции И, ИЛИ. В результате получим значения для х1 и х5, представленные на рис. 9.
Рис. 9.
Построим таблицы истинности для функций f2 – f5, проводя аналогичные действия с переменными (Рис. 10):
Рис. 10.
Таблица 1. Таблица 2. Таблица 3.
x1 |
x5 |
f1 |
|
x2 |
x3 |
f2 |
|
x1 |
x4 |
f3 |
|
1 |
1 |
0 |
|
0 |
1 |
1 |
|
1 |
1 |
1 |
|
1 |
0 |
1 |
|
0 |
0 |
0 |
|
1 |
0 |
0 |
|
0 |
1 |
1 |
|
1 |
1 |
0 |
|
0 |
1 |
0 |
|
0 |
0 |
0 |
|
1 |
0 |
1 |
|
0 |
0 |
1 |
|
Таблица 4. Таблица 5.
x3 |
x4 |
x5 |
f4 |
|
X1 |
x2 |
f5 |
1 |
1 |
1 |
0 |
|
1 |
1 |
0 |
1 |
1 |
0 |
0 |
|
1 |
0 |
1 |
1 |
0 |
0 |
1 |
|
0 |
1 |
1 |
0 |
0 |
0 |
0 |
|
0 |
0 |
0 |
0 |
1 |
1 |
0 |
|
|
|
|
0 |
0 |
1 |
1 |
|
|
|
|
1 |
0 |
1 |
0 |
|
|
|
|
0 |
1 |
0 |
1 |
|
|
|
|
В таблицах 1 – 5 единичные наборы определяются теми наборами переменных, при которых логические функции имеют единичные значения. Для решения поставленной задачи необходимо выбрать пять единичных термов, значения переменных в которых не противоречивы.
В качестве таковых наборов переменных возьмём следующие:
Из этих наборов переменных следует, что решение имеет вид:
(2)
Непротиворечивость решения (2) надо понимать так: значение х1=0 имеет место в наборах переменных для функций f5, f1, f3 аналогично х5=1 имеет место для f1, f4 и т.д.
Для проверки решения (2) подставим его в систему (1) и убедимся в том, что после этого уравнения системы (1) превращаются в тождества.
Для воспроизведения решения (2) в словесной форме необходимо вспомнить высказывания, которые кодировались символами хi. Из принятой кодировки следует, что х2=1 означает, что сосуд – финикийский, а х5=1 – сосуд изготовлен в 5-ом веке.
Задача 2.
В школе произошло чрезвычайное происшествие: в классе кто-то из учеников разбил окно. Учителем были опрошены четыре ученика— Лёня, Дима, Толя и Миша. Каждый из учеников сделал по три заявления (см. таблицы 6 – 9). Учитель усомнился в одном из трёх заявлений каждого из опрошенных учеников. Последнее означает, что у каждого одно из трёх заявлений неверно. Из анализа всех заявлений необходимо узнать — кто разбил окно.
Таблица 6.
№ |
Показания Лёни |
События |
Вероятности |
Переменные |
1 |
Я не виноват. |
|
|
|
2 |
Я не подходил к окну. |
|
|
|
3 |
Миша знает, кто разбил окно. |
|
|
|
Таблица 7.
№ |
Показания Димы |
События |
Вероятности |
Переменные |
1 |
Стекло разбил не я. |
|
|
|
2 |
С Мишей я не был знаком до поступления в школу. |
|
|
|
3 |
Это сделал Толя. |
|
|
|
Таблица 8.
№ |
Показания Толи |
События |
Вероятности |
Переменные |
1 |
Я не виноват. |
|
|
|
2 |
Это сделал Миша. |
|
|
|
3 |
Дима говорит неправду, что я разбил окно. |
|
|
|
Таблица 9.
№ |
Показания Миши |
События |
Вероятности |
Переменные |
1 |
Я не виноват. |
|
|
|
2 |
Стекло разбил Лёня. |
|
|
|
3 |
Дима может поручиться за меня. |
|
|
|
Для получения вычислимого логического алгоритма решения данной задачи необходимо формализовать её условие, т.е. показаниям всех учеников придать форму математических соотношений, состоящих из символов, обозначающих понятия, и знаков логических операций, выполняемых над указанными символами.
С этой целью
предположим, что каждое из показаний
Лёни есть события
,
,
,
которые могут произойти или не произойти.
Вероятности того, что каждое из названных
событий имело место, обозначим
соответственно
,
,
.
Вероятности же того, что события не
имели место, обозначим через
,
,
.
При этом предполагается, что событие
противоположно событию
и т.д. применительно к оставшимся
событиям.
Событие
,
состоящее в том, что из трёх показаний
Лёни одно не верно, называется сложным
событием. Оно составляется как комбинация
простых событий следующим образом:
(3)
Здесь операция
суммы событий заменена операцией
дизъюнкции, а операция произведения—
конъюнкцией. Такие законы обоснованы
выше. Вероятность сложного события
обозначим через
.
В теории вероятностей значения
вероятности могут принимать весь спектр
числовых значений от нуля до единицы.
Применительно к данной задаче будем
считать, что вероятности Р
принимают только предельные значения:
нуль или единица. Это позволяет
отождествлять вероятность
с Булевой переменной
,
т.е. ввести обозначения:
В этом случае
означает истинность данного
события, а
—
ложность. Аналогично
говорит об истинности сложного
события
,
а
— об его ложности.
Теперь, согласно
теоремам о вероятности суммы и произведения
нескольких событий, вероятность
сложного события
определяется следующим образом:
(4)
Проводя аналогичные рассуждения для показаний остальных учеников, и используя обозначения таблиц 2 – 4, заявления Димы, Толи и Миши представим в форме следующих математических соотношений:
(5)
(6)
(7)
Все эти логические
формулы однотипны и представляют
совершенную дизъюнктивную нормальную
форму (СДНФ) одной и той же логической
функции
.
(8)
Придавая набору,
различные
комбинации из нулей и единиц, подставляя
их в (8) и производя вычисления с помощью
таблиц операций конъюнкции и дизъюнкции,
получаем таблицу 10 логической функции
.
Таблица 10.
|
|
|
0 1 2 3 |
0 0 0 0 0 1 0 1 0 0 1 1 |
0 0 0 1 |
4 5 6 7 |
1 0 0 1 0 1 1 1 0 1 1 1 |
0 1 1 0 |
В таблице 10 через обозначен десятичный код набора переменных, представляющего множество трёхразрядных двоичных чисел.
Единичные значения
логической функции
называются единичными термами. Для них
введём новое обозначение
.
Единичные термы можно вычислять с помощью операций конъюнкции и отрицания по следующим формулам:
(9)
Поскольку в формулах (9) главной операцией считается операция конъюнкции, то единичные термы называют конъюнктивными термами. Если три конъюнктивных терма объединить знаком дизъюнкции, то согласно теории логических функций, получим аналитическое представление функции в форме СДНФ (8).
Для
получения явного вида конъюнктивных
термов логических функций
необходимо вычислить таблицы этих
функций с помощью программы Microsoft
Excel.
Для этого продолжим написание программы
на языке макрокоманд и её отладку, путём
проведения сравнения получающихся в
процессе написания программы результатов
с образцами, представленными в виде
рисунков.
9
.
Выбор
активного листа.
Параметры: - лист: «Лист2». Результат выполнения представлен на рисунке 10.
Рис. 10.
Все вычисления производятся по технологии, аналогичной той, которая была описана ранее, в пунктах 4 – 8. В результате вычислений получим таблицу, представленную на рис. 11.
Рис. 11.
Из таблицы, представленной на рис. 11, формируем таблицу 11, состоящую из конъюнктивных термов функций и соответствующих им наборов переменных.
Таблица 11.
f1 |
f2 |
f3 |
f4 |
||||||||||||
x1 |
x2 |
x3 |
F1J |
y1 |
y2 |
y3 |
F2J |
z1 |
z2 |
z3 |
F3J |
s1 |
s2 |
s3 |
F4J |
0 |
1 |
1 |
F13 |
0 |
1 |
1 |
F23 |
0 |
1 |
1 |
F33 |
0 |
1 |
1 |
F43 |
1 |
0 |
1 |
F15 |
1 |
0 |
1 |
F25 |
1 |
0 |
1 |
F35 |
1 |
0 |
1 |
F45 |
1 |
1 |
0 |
F16 |
1 |
1 |
0 |
F26 |
1 |
1 |
0 |
F36 |
1 |
1 |
0 |
F46 |
Здесь применительно к функции fi конъюнктивный терм обозначен через FiJ так, что верхний индекс i соответствует номеру логической функции.
Если никто из учеников не отказался от своих высказываний, то значение всех логических функций надо положить равными единице, после чего соотношения (4) – (7) примут вид следующей системы алгебраических уравнений для определения двенадцати неизвестных, которые представляются показаниями учеников в обозначениях таблиц 6 – 9:
(10)
Здесь для обозначения
конъюнктивных термов, входящих в
использован символ
.
Соотношения (10) представляют математическую
модель показаний учеников и их следует
называть системой уравнений Булевой
алгебры, так как они определены на
множестве М = {0;1} с использованием трёх
логических операций – дизъюнкции,
конъюнкции и отрицания.
В этой системе число неизвестных превышает число уравнений. Однако, так как 10=1, то решение системы (10) будет определяться такими четырьмя термами: F1j, F2j, F3j, F4j , (j=3, 5, 6), наборы переменных, которых после подстановки в (10) и проведения логических вычислений превратят уравнение (10) в тождества. При этом термы FiJ вычисляются по формуле (9) с учётом обозначения переменных согласно таблице 11.
Среди комбинаций из указанных четырёх термов могут оказаться такие, значения наборов переменных которых могут привести к противоречивым показаниям учеников. Например, рассмотрим термы F13, F23, F33, F43.
Наборы переменных, соответствующие указанным термам, определяются по таблице 11. В таблице 12 приведены значения переменных, найденные из полученных наборов переменных, а также показания учеников, соответствующие данным значениям переменных.
Чтобы показать, что значения переменных из таблицы 12 суть решение системы (10) необходимо для этих значений вычислить по (9) строки и подставить их в тождества.
Здесь же в таблице 12 даются высказывания мальчиков, соответствующие рассмотренному решению. Из них следует, что все ученики виноваты. Последнее противоречит условию задачи.
Такое решение задачи в дальнейшем будем называть противоречивым
Таблица 12.
F13=1 |
Показания Лёни. |
x1=0 x2=1 x3=1 |
Я виноват. Я не подходил к окну. Миша знает, кто разбил окно.
|
F23=1 |
Показания Димы. |
y1=0 y2=1 y3=1 |
Стекло разбил я. С Мишей я не был знаком до поступления в школу. Это сделал Толя. |
F33=1 |
Показания Толи. |
z1=0 z2=1 z3=1 |
Я виноват. Это сделал Миша. Дима говорит неправду, что я разбил окно.
|
F43=1 |
Показания Миши. |
s1=0 s2=1 s3=1 |
Я виноват. Стекло разбил Лёня. Дима может поручиться за меня. |
Рассмотрим другое решение: F13=1, F26=1, F35=1, F46=1. Значения переменных и показания учеников, соответствующие этому решению, приведены в таблице 13.
Таблица 13.
F13=1 |
Показания Лёни. |
x1=0 x2=1 x3=1 |
Я виноват. Я не подходил к окну. Миша знает, кто разбил окно.
|
F26=1 |
Показания Димы. |
y1=1 y2=1 y3=0 |
Стекло разбил я. С Мишей я не был знаком до поступления в школу. Это не сделал Толя. |
F35=1 |
Показания Толи. |
z1=1 z2=0 z3=1 |
Я не виноват. Это не сделал Миша. Дима говорит неправду, что я разбил окно.
|
F46=1 |
Показания Миши. |
s1=1 s2=1 s3=0 |
Я не виноват. Стекло разбил Лёня. Дима не может поручиться за меня. |
Непротиворечивые показания этой таблицы говорят о том, что Лёня виноват и он разбил окно.
Решение, приводящее к логически непротиворечивому результату, назовём непротиворечивым.
Возникает вопрос: Как из множества решений выбрать одно – непротиворечивое?
Вернёмся к первоначальным заявлениям учеников (таблицы 6 – 9) и обратим внимание на то, что из четырёх заявлений – x1, y1, z1, s1 одно не верно.
По аналогии с рассуждениями, приводящими к формулам (3) и (4), указанную особенность четырёх заявлений можно выразить так:
(11)
Теперь значения переменных из таблицы 13 подставим в правую часть формулы (11) и произведём вычисление f с помощью программы Microsoft Excel. Для этого продолжим написание программы на языке макрокоманд.
1
0.
Выбор
активного листа.
Параметры: - лист: «Лист2». Результат выполнения представлен на рисунке 11. Рис. 11.
11. Занесение заголовка в ячейку.
П
араметры:
- ячейка:
A1,
B1,
C1,
D1;
- данные:
«X1»,
«Y1»,
«Z1»,
«S1».
Результат выполнения частично представлен
на рисунке 12. Рис.
12.
1
2.
Занесение
целых чисел в ячейку.
Параметры: - ячейка: A2÷D2; - данные: «0», «1», «1», «1». Результат выполнения частично представлен на рисунке 13. Рис. 13.
13. Занесение заголовка в ячейку.
Параметры: - ячейка: E1, F1, G1, H1, I1, J1, K1, L1, M1; - данные: «не X1», «не Y1», «не Z1», «не S1», «E1 и B1 и C1 и D1», «A1 и F1 и C1 и D1», «A1 и B1 и G1 и D1», «A1 и B1 и C1 и H1», «I1 или J1 или K1 или L1». Результат выполнения частично представлен на рисунке 14.
Рис. 14.
14. Автозаполнение - формула.
Параметры: - ячейка: E2; - данные: «=НЕ(A2)» - конечная ячейка: H2. Результат выполнения представлен на рисунке 15.
Рис. 15.
1
5.
Занесение
формул в ячейку.
Параметры: - ячейка: I2; - данные: «=И(E2;B2;C2;D2)». Результат выполнения частично представлен на рисунке 16. Рис. 16.
Аналогичным образом рассчитаем значения, расположенные в ячейках J2, K2, L2 и M2. В данном случае получим: f=fmax=1. Результат выполнения частично представлен на рисунке 17.
Рис. 17.
Проведём расчёт с целью вычисления f по (11) с использованием значений переменных из таблицы 12; тогда будем иметь: f=fmin=0 (Рис. 18).
Рис. 18.
Таким образом, непротиворечивое решение приводит к максимальным значениям логической функции (11). Последнее может означать, что логическая функция (11) представляется критерием отбора непротиворечивого решения системы (10) из множества решений. По аналогии с экономическими задачами линейного и нелинейного программирования, логическую функцию (11) следует назвать целевой функцией.
Теперь алгоритм решения данной задачи (10) – (11) сводится к следующему: перебираем всевозможные комбинации из четырёх термов F1j, F2j, F3j, F4j, затем применительно к каждой выбранной комбинации по таблице 11 определяем значения переменных, по которым вычисляем целевую функцию (11).
Тот вариант из четырёх единичных термов, который определит максимальное значение целевой функции (11), следует признать в качестве непротиворечивого решения.
Очевидно,
что такой алгоритм требует большого
объёма логических вычислений. Так,
например, в рассматриваемой задаче,
число комбинаций из четырех термов
будет определяться числом сочетаний
из двенадцати термов по четыре, т.е.
=495
Задания для самостоятельной работы.
Задача 1. На заводе работали три друга: слесарь (с), токарь (т), шлифовщик (ш). Их фамилии: Борисов (Б), Иванов (В), Семенов (С).
Дополнительные сведения об указанных лицах таковы:
1 – у слесаря нет ни братьев, ни сестер;
2 – слесарь самый младший из друзей;
3 – Семенов женат на сестре Борисова;
4 – Семенов старше токаря.
Необходимо узнать: у кого какая специальность?
Ответ: Семенов – шлифовщик; Иванов – слесарь; Борисов – токарь.
Задача 2. В одном королевстве были незамужние принцессы, голодные тигры и приговоренный к казни узник. Но всякому узнику, осужденному на смерть полагалось угадать, в какой из двух комнат находиться тигр, а в какой принцесса. Хотя вполне могло быть, что король в обеих комнатах разместил принцесс, или что хуже, в обеих – тигров. Выбор надо было сделать на основании табличек на дверях комнат. Причём узнику было известно, что утверждения на табличках либо оба истинны, либо оба ложны. Надписи гласили:
По
крайней мере, в одной из этих комнат
находится принцесса
Тигр
в другой комнате.
Какую дверь должен выбрать узник?
Ответ: в первой комнате – тигр, во второй – принцесса.
Задача 3. На соревнованиях по лёгкой атлетике Андрей, Боря, Серёжа и Володя заняли первые четыре места. Но когда девочки стали вспоминать, как эти места распределились между победителями, то мнения разошлись:
Даша: Андрей был первым, а Володя – вторым.
Галя: Андрей был вторым, а Борис – третьим.
Лена: Боря был четвёртым, а Серёжа – вторым.
Ася, которая была судьёй на этих соревнованиях и хорошо помнила как распределились места сказала, что каждая из девочек сделала одно правильное и одно неправильное заявление.
Кто из мальчиков и какое место занял?
Ответ: Андрей занял первое место, Серёжа – второе, Боря – третье, Володя – четвёртое.
Лабораторная работа № 10-11
Логические задачи в алгебре Жегалкина.
Решение алгебраических уравнений методом Крамера
Повторно рассмотрим первую задачу, описанную в работе «Логические задачи в алгебре Буля»:
Задача 1. Алеша, Боря и Гриша нашли в земле сосуд. Рассматривая удивительную находку, каждый высказал по два предложения:
Алеша. Это сосуд греческий и изготовлен в 5 веке.
Боря. Это сосуд финикийский и изготовлен в 3 веке.
Гриша. Это сосуд не греческий и изготовлен в 4 веке.
Учитель истории сказал ребятам, что каждый из них прав только в одном из двух предложений. Где и в каком веке изготовлен сосуд?
Ранее было показано, что математическая модель данной задачи представляется следующей системой уравнений Булевой алгебры:
(1)
Также было найдено решение этой системы:
х1=0, х2=1, х3=0, х4=0, х5=1 (2)
Система уравнений (1) отличается от
уравнений линейной алгебры присутствием
в ней неизвестных в инверсной форме.
Чтобы избежать этого рассмотрим
логическую операцию: сложение по модулю
2, которую иногда называют псевдоплюс
и обозначают так: «
».
Правило для выполнения этой операции
представлено в таблице 1.
Таблица 1.
|
|
|
0 0 1 1 |
0 1 0 1 |
0 1 1 0 |
(3)
Вычислительным путем можно доказать, что
, (4)
(5)
Эти вычисления представлены в таблицах 2 и 3.
Таблица 2. Таблица 3.
|
|
|
|
0 0 1 1 |
0 1 0 1 |
0 1 1 1 |
0 1 1 1 |
-
0
1
1
0
1
0
Теперь с помощью формул (3) – (5) аналитическое
выражение для логической функции
можно преобразовать так:
Здесь учтено дополнительно, что
и
.
Выполнив аналогичные преобразования
и над другими функциями, будем иметь
При составлении новых алгебраических
уравнений на базе такого представления
логических функций следует иметь в виду
то, что терм
в
будет равным нулю, так как одно из
входящих в него высказываний ложно. С
учетом этого получаем следующую систему
уравнений
(6)
Третье соотношение в системе (6) требует
некоторых пояснений. Оно, как и другие,
получено из равенства
.
Но в этом равенстве, в отличие от других
из (6), слева и справа стоит единица,
которая по законам обычной алгебры
сокращается. Так как к логическим
равенствам Буль постулировал справедливость
математической аксиомы о том, что равные
количества, приложенные к равным,
производят равные суммы, то указанное
сокращение справедливо и в данном
случае.
Система алгебраических уравнений (6) линейна и ее определитель имеет вид:
Так же как операция сложения по модулю
два
эквивалентна операциям сложения и
вычитания двоичной арифметики, то при
вычислении определителя А общеизвестную
формулу разложения определителя по
элементам любой строки следует писать
так:
(7)
где
-
элемент i-ой строки и
- го столбца,
-
алгебраическое дополнение
.
При вычислении алгебраического дополнения
также учитывается, что операция сложения
по модулю два эквивалентна операции
сложения и вычитания двоичных чисел в
одном разряде. Другими словами, здесь
в отличие от обычной алгебры не обращается
внимание на знак минус при выполнении
арифметических операций.
Если определитель
вычислять разложением по элементам его
первой строки, то формула (7) принимает
вид
,
где
и
суть миноры элементов, стоящих в первом
и пятом столбцах указанной строки. Так
как
,
то определитель
будет равен сумме указанных миноров,
т.е.
(8)
Определитель удобно вычислять разложением по элементам последней строки. В этом случае будем иметь:
Для нахождения определителя по указанной выше формуле можно воспользоваться программой Microsoft Excel. Для этого напишем программу на языке макрокоманд. Так как любая программа требует отладки, будем проводить её посредствам сравнения получающихся в процессе написания программы результатов с образцами, представленными в виде рисунков.
1 . Включение компьютера и вход в систему. Результат выполнения представлен на рисунке 1.
Рис. 1.
2. Запуск программы Microsoft Excel.
Параметры: - рабочий стол. Результат выполнения представлен на рисунке 2.
Рис. 2.
3 . Выбор активного листа.
Параметры: - лист: «Лист1». Результат выполнения представлен на рисунке 3.
Рис. 3.
4
.
Занесение
целых чисел в диапазон ячеек.
Параметры: - диапазон: A1÷D4; - данные: «11 из формулы 8». Результат выполнения частично представлен на рисунке 4. Рис. 4.
5. Занесение формул в ячейку.
Параметры: - ячейка: E4; - данные: «=ОСТАТ(СУММ(B1*C2*D3;D1*B2*C3;C1*D2*B3;B1*D2*C3;C1*B2*D3;D1*C2*B3);2)». Результат выполнения представлен на рисунке 5.
Рис. 5.
6
.
Занесение
целых чисел в диапазон ячеек.
Параметры: - диапазон: A6÷D10; - данные: «15 из формулы 8». Результат выполнения частично представлен на рисунке 6. Рис. 6.
7. Занесение формул в ячейку.
Параметры: - ячейка: E9; - данные: «=ОСТАТ(СУММ(B6*C7*D8;C6*D7*B8;D6*B7*C8;B6*D7*C8;C6*B7*D8;D6*C7*B8;A6*C7*D8;C6*D7*A8;D6*A7*C8;A6*D7*C8;C6*A7*D8;D6*C7*A8);2)». Результат выполнения частично представлен на рисунке 7.
Рис. 7.
Таким образом, оказывается что
,
т.е. система (6) имеет единственное
решение. Общеизвестные формулы Крамера
в данном случае имеют вид:
(9)
в которых определитель
получается из определителя
заменой i - того столбца столбцом
свободных членов системы (6), получившие
таким образом матрицы представлены в
таблицах 4 – 8 соответственно.
Таблица 4 Таблица 5
1 |
0 |
0 |
1 |
0 |
|
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
|
0 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
|
1 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
|
1 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
Таблица 6 Таблица 7
1 |
0 |
1 |
0 |
1 |
|
1 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
|
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
|
0 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
|
1 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
Таблица 8
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
Продолжим написание программы на языке макрокоманд.
8
.
Занесение
целых чисел в диапазон ячеек.
Параметры: - диапазон: H1÷L5; - данные: «Таблица 4». Результат выполнения представлен на рисунке 8. Рис. 8.
Аналогично занесём данные из таблиц 5 – 8 в диапазоны ячеек H7÷L11, H13÷L17, H19÷L23 и H25÷L29 соответственно. Результат выполнения представлен на рисунке 9.
Рис. 9.
Проведем элементарные преобразования над столбцами или строками матриц А2 А3 и А5 (А1 и А4 оставим без изменений, т.к. в них присутствуют строки, в которых все, кроме одного элемента, содержат нули (эти строки на рис. 9 выделены жёлтым цветом). Полученные в результате преобразования матрицы представлены в таблицах 9 – 11.
Таблица 9 Таблица 10
1 |
1 |
0 |
0 |
1 |
|
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
|
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
|
0 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
|
1 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
Таблица 11
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
Разместим данные из таблиц 9 – 11 в диапазонах N7R11, N13R17, N25R29. Для этого продолжим написание программы на языке макрокоманд.
9
.
Занесение
целых чисел в диапазон ячеек.
Параметры: - диапазон: N7÷R11; - данные: «Таблица 9». Результат выполнения представлен на рисунке 10. Рис. 10.
Аналогично занесём данные из таблиц 10 – 11 в диапазоны ячеек N13R17 и N25R29 соответственно. Результат выполнения представлен на рисунке 11.
Рис. 11.
10. Занесение формул в ячейку.
Параметры: - ячейка: N5; - данные: «=ОСТАТ(СУММ(I1*K2*L4;K1*L2*I4;L1*I2*K4;I1*L2*K4;K1*I2*L4;L1*K2*I4;H1*I2*K4;I1*K2*H4;K1*H2*I4;H1*K2*I4;I1*H2;K4;K1*I2;H4);2)». Результат выполнения частично представлен на рисунке 12.
Рис. 12.
11. Занесение формул в ячейку.
Параметры: - ячейка: T11; - данные: «=ОСТАТ(СУММ(O7*Q9*R10;Q7*R9*O10;R7*O9*Q10;O7*R9*Q10;Q7*O9*R10;R7*Q9*O10;N7*Q9*R10;Q7*R9*N11;R7*N9*Q10;N7*R9*Q10;Q7*N9*R10;R7*Q9*N10);2)».
12. Занесение формул в ячейку.
Параметры: - ячейка: T17; - данные: «=ОСТАТ(СУММ(O14*Q16*R16;Q14*R15*O16;R14*O15*Q16;O14*R15*Q16;Q14*O15*R16;R14*O15*O16;O14*P15*Q16;P14*Q15*O16;Q14*O15*P16;O14*Q15*P16;P14*O15*Q16;Q14*P15*O16);2)».
13. Занесение формул в ячейку.
Параметры: - ячейка: N23 данные: «=ОСТАТ(СУММ(I20*J22*L23;J20*L22*I23;L20*I22*J23;I20*L22*J23;J20*I22*L23;L20*J22*I23;I20*J22*K23;J20*K22*I23;K20*I22*J23;I20*K22*J23;J20*I22*K23;K20*J22*I23);2)».
14. Занесение формул в ячейку.
Параметры: - ячейка: T29 данные: «=ОСТАТ(СУММ(P26*Q27*R28;Q26*R27*P28;R26*P27*Q28;P26*R27*Q28;Q26*P27*R28;R26*Q27*P28;N26*P27*Q28;P26*Q27*N28;Q26*N27*P28;N26*Q27*P28;P26*N27*Q28;Q26*P27*N28);2)». Результат выполнения пунктов 11 – 14 приведён на рисунке 13.
Рис. 13.
Вычисление определителей в (9) по формуле
(7) приводит к результатам:
Таким образом, полученное решение
(9) совпадает с решением (2), изложенным
выше, но при этом расчеты по формуле (9)
напоминают расчеты линейной алгебры.
В действительности расчеты, приведшие
к формулам (9), выполнены в, так называемой,
алгебре Жегалкина. По определению
алгебра Жегалкина – это множество
с заданными в нем операциями
сложения по модулю два и конъюнкции.
Соотношение (6) в данном случае представляет
систему линейных алгебраических
уравнений алгебры Жегалкина, и эта
система представляет математическую
модель рассматриваемой логической
задачи.
Возникает естественный вопрос о том, что если формулы Крамера с определенными оговорками применимы для решения системы (6), то применимы ли другие методы обычной алгебры в данном случае. Для ответа на этот вопрос попытаемся использовать метод Гаусса для решения уравнений (6).
Метод Гаусса решения систем линейных уравнений обычной алгебры состоит в том, что при помощи элементарных преобразований над строками расширенной матрицы системы её приводят к трапециевидной или треугольной матрице. Затем по трапециевидной матрице восстанавливают новый вид исходной системы уравнений, который позволяет легко найти решение.
В обычной алгебре под элементарными преобразованиями матрицы подразумевают следующие операции:
умножение какой-либо строки матрицы на число, отличное от нуля;
прибавление к элементам одной строки матрицы соответствующих элементов другой, умноженных на одно и то же число;
перемена местами двух строк.
Аналогичные операции выполняются и над столбцами.
Так как алгебра Жегалкина определена на множестве чисел , то из перечисленных преобразований для нее следует оставить только два:
прибавление к элементам одной строки матрицы соответствующих элементов другой;
перемена местами двух строк.
Эти же элементарные преобразования справедливы и для столбцов.
Система алгебраических уравнений (6) характеризуется двумя матрицами:
Здесь
- матрица коэффициентов системы, а
- расширенная матрица системы, включающая
столбец свободных членов системы (6).
Над строками расширенной матрицы выполним следующие элементарные преобразования:
пятую и четвертую строки поменяем местами;
элементы первой строки прибавим к соответствующим элементам третьей и четвертой строк;
элементы второй строки прибавим к соответствующим элементам четвертой строки;
элементы четвертой строки прибавим к элементам пятой строки;
элементы третьей строки прибавим к элементам пятой строки;
третью и четвертую строки поменяем местами.
В результате упрощения матрицы с применением первого и второго из указанных выше преобразований, последующего применения к полученной после второго преобразования матрице третьего и четвертого преобразований и применения к полученным результатам оставшихся двух преобразований даёт результат, представленный в таблице 12.
Таблица 12.
x1 |
x2 |
x3 |
x4 |
x5 |
|
1 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
|
|||||
1 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
Из результатов проведённых преобразований расширенной матрицы видно, что после последнего преобразования матрица приняла вид трапециевидной матрицы. Это означает, что процесс преобразования матрицы надо прекратить и по преобразованной матрице восстановить новую форму исходной системы алгебраических уравнений (6). В данном случае будем вместо (6) иметь:
(10)
Теперь система (10) легко решается так
называемым приемом снизу вверх. В
результате чего будем иметь:
.
Это решение совпадает с решением, полученным ранее по формулам Крамера, т.е. метод Гаусса применим и для систем линейных уравнений в алгебре Жегалкина.
Для решения системы (6) с помощью обратной матрицы напомним некоторые понятия линейной алгебры.
Определение. Пусть дана матрица n-го порядка
Вычеркнем в ней
-ю
строку и
-й
столбец и сдвинем, не нарушая порядка,
оставшиеся элементы. Определитель
полученной матрицы (n-1)-го
порядка называется минором элемента,
стоящего на пересечении
-ой
строки и
-го
столбца матрицы
и обозначается через
.
Определение. Пусть
- матрица n-го порядка.
Минор
элемента aik
матрицы
,
взятый со знаком
,
называется алгебраическим дополнением
этого элемента.
Если алгебраическое дополнение элемента
обозначается через
,
то, согласно определению, имеем
Очевидно, что в алгебре Жегалкина эту формулу следует переписать так:
,
(11)
причем при вычислении определителя следует пользоваться, например, формулой (7).
Определение. Пусть дана квадратная матрица и пусть обозначает алгебраическое дополнение элемента . Матрица
,
в строках которой расположены алгебраические дополнения элементов соответствующих столбцов матрицы , называется взаимной для .
Определение. Квадратная матрица
n-го порядка называется
вырожденной, если её определитель равен
нулю. Если же
,
то
называется невырожденной матрицей.
Теорема. Всякая невырожденная
матрица
имеет единственную обратную матрицу,
обозначаемую через
.
Если
,
то обратная матрица для
имеет вид
.
В алгебре Жегалкина, если
,
то
.
Следовательно, обратная матрица
определяется по формуле
(12)
В линейной алгебре стандартная форма записи n линейных уравнений с n неизвестными такова:
или в матричной форме
;
(13)
;
Здесь
-матрица
системы,
-столбец
из неизвестных,
-столбец
из свободных членов.
Решение уравнения (13) с помощью обратной матрицы записывается в виде
(14)
В алгебре Жегалкина коэффициенты
и свободные члены
равны либо 0, либо 1; а знак сложения
заменяется на знак сложения по модулю
два. Формула (14) сохраняется с соблюдением
операции умножения по правилам двоичной
арифметики.
Теперь решим систему (6) уравнений алгебры Жегалкина с помощью обратной матрицы. Для этого в соответствии с уравнением (13) перепишем её в матричном виде
(15)
Чтобы воспользоваться формулой (14) при
нахождении решения уравнения (15),
необходимо вычислить обратную матрицу.
В данном случае, согласно соотношению
(12) обратная матрица
совпадает с матрицей взаимной для
.
Взаимная матрица состоит из алгебраических
дополнений элементов матрицы
,
которые будем вычислять по формулам
(11). Проведём вычисление вычисления
алгебраического дополнения
с помощью программы Excel
для чего продолжим написание программы
на языке макрокоманд.
1
4.
Занесение
целых чисел в диапазон ячеек.
Параметры: - диапазон: H34÷K37; - данные: «11 из формулы 8». Результат выполнения частично представлен на рисунке 14. Рис. 14.
15. Занесение формул в ячейку.
Параметры: - диапазон: L38; - данные: «=ОСТАТ(СУММ(J35*K36;K35*J36);2)». Результат выполнения частично представлен на рисунке 15.
Рис. 15.
После вычисления обратной матрицы уравнение (14) для системы (15) принимает следующий вид
(16)
Для получения
по (16) необходимо использовать известное
в обычной алгебре правило умножения
матрицы на столбец следующим образом
.
Для этого продолжим написание программы
на языке макрокоманд.
16. Занесение целых чисел в диапазон ячеек.
П
араметры:
- диапазон:
H40÷L44;
- данные:
«Обратная матрица из системы 16». Результат
выполнения представлен на рисунке 16.
Рис. 16.
17. Занесение целых чисел в диапазон ячеек.
Параметры: - диапазон: N40÷N44; - данные: «Столбец из системы 16». Результат выполнения представлен на рисунке 17.
Рис. 17.
18. Автозаполнение - формула.
Параметры: - ячейка: P40; - данные: «=ОСТАТ(СУММ(H40*N$40;I40*N$41;J40*N$42;K40*N$43;L40*N$44);2)» - конечная ячейка: P44. Результат выполнения представлен на рисунке 18.
Рис. 18.
После выполнения описанных выше вычислений получим: . Эти значения неизвестных означают, что сосуд финикийский и изготовлен в 5-ом веке.
Таким образом, известные методы линейной алгебры с определенными оговорками применимы и для решения уравнений алгебры Жегалкина
Лабораторная работа № 12
