Курсовая: Применение дискретной в информатике
Курсовая: Применение дискретной в информатике
Министерство Высшего и Среднего профессионального образования
Государственное образовательное учреждение высшего профессионального образования
“Хабаровский Государственный Технический Университет”
Институт экономики и управления
Специальность 351400 Прикладная информатика в экономике
Хабаровск-2003
РЕФЕРАТ
КР содержит пояснительную записку на 23 листах формата А4, включающую 13
рисунков, 10 таблиц, 5 литературных источников.
БУЛЕВА АЛГЕБРА, БУЛЕВА ФУНКЦИЯ, ТАБЛИЦЫ ИСТИННОСТИ, ДИЗЪЮНКТИВНАЯ НОРМАЛЬНАЯ
ФОРМА, КОНЪЮНКТИВНАЯ НОРМАЛЬНАЯ ФОРМА, ПОЛИНОМ ЖЕГАЛКИНА, ПРОИЗВОДНАЯ
ЛОГИЧЕСКОЙ ФУНКЦИИ, ГРАФ, АЛГОРИТМ, НЕЧЕТКОЕ МНОЖЕСТВО
Рассмотрены следующие аспекты: применение математической логики в информатике
выполнение логических операций, рассмотрено использование математической
логики на практическом примере. практическое применение алгоритмов
нахождения минимального и максимального деревьев покрытия и кратчайший
путь, решена задача коммивояжера, применение метода нечеткого отношения
предпочтения, для решения оптимизационной задачи.
При составлении работы использовались данные с разных источников, а именно
были использованы различные методические рекомендации по дискретной
математики и работы различных авторов (Воротников А.П., Новиков Ф.А., Логинов
Б.М., Яблонский С.В.), а также при решении задач выборе альтернатив на основе
нечёткого отношения предпочтения использовались данные с журнала Hard’n’Soft.
Цель работы: изучить применение методов дискретной математики в экономике, а
именно научиться находить и применять различные алгоритмы для решения
экономических задач и получить знания об использовании математической логики
в информатике: научиться составлять эффективные алгоритмы, которые отличались
бы скоростью и надежностью.
СОДЕРЖАНИЕ
Введение 4
1 Математическая логика 5
1.1 Применение математической логики в информатике 5
1.2 Применение математической логики 12
2 Графы 16
2.1 Алгоритм Дейкстра 16
2.2 Жадный алгоритм 18
2.3 Построение минимального остова 19
2.4 Задача Коммивояжера 20
3 Нечеткие множества 22
Заключение 27
Список использованных источников 28
вВЕДЕНИЕ
Курсовая работа представляет собой комплекс задач по следующим темам
дисциплины: “Дискретная математика и дискретный анализ”: “Способы задания
булевских функций”, “Теория графов”, “Стратегия нахождения минимального
остова”, “Жадный алгоритм”, “Алгоритм Дейкстра”, “Задача Коммивояжера”,
“Многокритериальный выбор альтернатив на основе нечёткого отношения
предпочтения”. Курсовая работа содержит три части: математическая логика,
графы, нечеткие множества. Первая часть рассматривает применение дискретной
математики в информатике, а также рассмотрены применение математической
логики на практических примерах: составлена таблица истинности, нахождение
двух производных, конъюнктивная и дизъюнктивная нормальная функция, а также
метод неопределенных коэффициентов для построения полинома Жегалкина. Во
второй части рассматривается применение теории графов в экономических
задачах, которые подразделяются на: алгоритм построения минимального остова,
который состоит в определении минимальных затрат на проезд от дома до
супермаркета; Жадный алгоритм – решения задачи о максимальной загруженности
линий, которые соединяют нефтеперерабатывающие заводы с новым месторождением
нефти; Алгоритм Дейкстра – задача о нахождении оптимального пути,
следовательно минимальных затрат на обеспечение отдыха своим сотрудникам;
Задача Коммивояжера – максимизация прибыли и уменьшения затрат времени. В
третьей части рассмотрен способ нахождения более предпочтительно товара с
помощью метода многокритериального выбора альтернатив на основе нечёткого
отношения предпочтения.
1 Математическая логика
1.1 Применение математической логики в информатике
Объединение математико-логической установки с иными математическими
подходами, прежде всего с вероятностно-статистическими идеями и методами – на
фоне глубокого интереса к вычислительным приборам, - было во многом
определяющим в формировании замысла кибернетики, как комплексного научного
направления, имеющего своим предметом процессы
В ряде случаев используется технический аппарат математической логики
(синтез релейно-контактных схем); сверх того, что особенно важно, идеи
математической логики это, конечно же, в теории алгоритмов, но также и всей
науки в целом и свойственный ей стиль мышления оказали и продолжают оказывать
очень большое влияние на те своеобразные области деятельности, содержанием
которых является автоматическая переработка информации (информатика),
использование в криптографии и автоматизация процессов управления
(кибернетика).
Информатика – это наука, которая изучает компьютер, а также взаимодействие
компьютера с человеком.
Строительство логических машин – интересная глава истории логики и
кибернетики. В ней запечатлены первые проекты создания искусственного разума
и первые споры о возможности этого.
Идея логических машин появилась в 13 веке у испанского схоластика Раймунда
Луллия, рассматривалась затем Лейбницем и получило новое развитие в 19 веке,
после возникновения математической логики. В 1870 году английский философ и
экономист Вильям Стэнли Джевонс построил в Манчестере “логическое пианино”,
которое извлекало из алгебраически записанных посылок следствия, выделяя
допустимые комбинации терминов. Это называют также разложением высказываний
на конституанты. Важно отметить возможность практического применения
логической машины для решения сложных логических задач.
Современные универсальные вычислительные машины являются вместе с тем
логическими машинами. Именно введение логических операций сделало их такими
гибкими; оно же позволяет им моделировать рассуждения. Таким образом,
арифметическая ветвь “разумных автоматов” соединились с логической. В 20-е
годы, однако, формальная логика представлялась слишком абстрактной о
метафизической для приложения к жизни. Между тем уже тогда можно было
предвидеть внедрение логических исчислений в технику.
Математическая логика облегчает механизацию умственного труда. Нынешние
машины выполняют гораздо более сложные логические операции, нежели их
скромные прототипы начала века.
Проблема искусственного разума сложна и многогранна. Вероятно, не ошибёмся,
если скажем, что окончательные границы механизации мысли можно установить
лишь экспериментальным путём. Заметим ещё, что в современной кибернетики
обсуждается возможность моделирования не только формальных, но и
содержательных мыслительных процессов.
1.1.1 Математическая логика в технике. Роль логической обработки бинарных
данных на современном этапе развития вычислительной техники существенно
возросла. Это связано, в первую очередь, с созданием технически систем.
реализующих в том или ином виде технологии получения и накопления знаний,
моделированием отдельных интеллектуальных функций человека. Ядром таких
систем являются мощные ЭВМ и вычислительные комплексы. Кроме того,
существует большой класс прикладных задач, которые можно свести к решению
логических задач, например, обработка и синтез изображений, транспортные
задачи. Требуемая производительность вычислительных средств достигается путем
распараллеливания и конвейеризации вычислительных процессов. Это реализуется,
как правило, на основе сверхбольших интегральных, схем (СБИС). Однако
технология СБИС и их структура предъявляет ряд специфических требований к
алгоритмам, а именно: регулярность, параллельно—поточная организация
вычислений, сверхлинейная операционная сложность (многократное использование
каждого элемента входных данных), локальность связей вычислений, двумерность
пространства реализации вычислений. Эти требования обусловливают
необходимость решения проблемы эффективного “погружения” алгоритма в
вычислительную среду, или, как еще принято говорить, — отображение алгоритма
в архитектуру вычислительных средств. В настоящее время доказана ошибочность
ранее широко распространенных взглядов, состоящих в том, что переход на
параллельно—конвейерные архитектуры ЭВМ потребуют лишь небольшой модификации
известных алгоритмов. Оказалось, что параллелилизм и конвейеризация
вычислительных процессов требует разработки новых алгоритмов даже для тех
задач, для которых существовали хорошо изученные и апробированные методы и
алгоритмы решения, но ориентированные на последовательный принцип реализации.
По прогнозам специалистов, в ближайшее десятилетие следует ожидать появления
новых концепций построения вычислительных средств. Основанием для прогнозов
являются результаты проводимых в настоящее время перспективных исследований,
в частности, в области биочипов и органических переключающих элементов.
Некоторые направления ставят своей целью создание схем в виде слоев
органических молекул и пленок с высокоразвитой структурой. Это позволит, по
мнению исследователей, “выращивать” компьютеры на основе генной инженерии
и усилить аналогию между элементами технических систем и клетками мозга.
Тем самым реальные очертания приобретают нейрокомпьютеры, которые имитируют
интеллектуальные функции биологических объектов, в том числе человека. По-
видимому, молекулярная электроника станет основой для создания ЭВМ шестого
поколения. Все это объективно обусловливает интенсивные работы по методам
синтезов алгоритмов обработки логических данных и их эффективному погружению
в операционную среду бинарных элементов. Очевидно, что бинарные элементы и
бинарные данные наиболее полно соответствуют друг другу в плане представления
и обработки последних на таких элементах, если рассматривать их по
отдельности. Действительно, положим, алгебра логики над числами (0,1)
реализуется на бинарном элементе полном использовании его операционного
ресурса. Другими словами, ставится вопрос об эффективности, а иногда вообще
возможности реализации данного алгоритма на такой сети (структуре). В этом
состоит суть погружения алгоритма в структуру.
1.1.2 Математическая логика в криптографии. Криптография изучает методы
пересылки сообщений в замаскированном виде, при которых только намеченные
отправителем получатели могут удалить маскировку и прочитать сообщение. Общая
схема защиты информации представлена на рисунке 2. Этап кодирования от ошибок
основан на внесении в передаваемое сообщение избытка информации, достаточного
для преодоления помех на линии связи. Например, допустим, передается
последовательность символов типа “0” и “1”. При этом в сети связи с некоторой
вероятностью могут происходить ошибки приема сигнала “0 “ вместо сигнала “1”
или наоборот, тогда кодер на каждый символ ai сообщения передает
пятью импульсами 00000, если ai -0 и наоборот. На приемном конце
принимаемая последовательность импульсов разбивается по пять импульсов,
называемая блоками. Если в принятом блоке содержится 2 и менее импульса 0, то
принимается решение о том, что передавался символ ai-1. Таким
образом, исходная вероятность ошибки будет значительно снижена. Более
элегантные методы кодирования, которые при достаточной надежности позволяют
вносить не такой большой избыток информации. Для выражения в информации
требуется ввести некоторый алфавит, из которого будет состоять сообщение
(конечные упорядоченные множества из этих символов). Обозначим через A –
мощность выбранного алфавита. Будем также считать, что все множества
информации или , что то же самое, множество всевозможных сообщений конечно. В
качестве меры информации в сообщении данной длины можно взять Log2
от числа всевозможных сообщений конечно. Тогда объем информации, падающий на
один символ алфавита X=log2a. Далее имеем дело со словами длинной S,
тогда всего таких слов будет N=AS (декартова S- степень алфавита), а
следовательно, количество информации в слове Y=Log2N=Log2
As=SX.
Львиную долю криптоанализа составляют методы, построенные на вероятностном
анализе криптограммы и предлагаемого исходного языка. Поскольку всякий
обычный язык имеет избыток информации, причем неравномерно размешенных в
словах , то буквы алфавита этого языка могут иметь устойчивые частные
характеристики. Например, в английском языке – это часто повторяющая буква
“e”, кроме того, частотными характеристиками могут быть буквосочетания и их
комбинации.
Общая схема криптосистемы с секретным ключом изображена на рисунке 3. Здесь Х
– открытый текст, Y- шифр текста, K – ключ шифра, R – рандомизирующая
последовательность.
Рисунок 1 – Общая схема криптосистемы
Теперь рассмотрим несколько наиболее популярных методов шифрования
криптосистем с секретным ключом.
Метод перестановки. В общем, виде это метод описывается так: текст
разбивается на равные группы по d – символов, и в группах осуществляется одна
и та же перестановка символов. Очевидно, что всевозможных ключей будет d!.
Перестановку осуществляемую таким образом, иногда называют транспозицией с
периодом d.
Пример 1. Пусть исходный текст имеет следующий набор символов x=x1,x2 ..
Пусть d=5 и k=(23154), тогда x=x1x2x3x4x5| x6x7x8x9x10;
y=x2x3x3x5x4|x7x6x8x10x9.
Примером такой же простой перестановки является шифр получивший название
маршрут Гальмитона.
1.1.3 Математическая логика в программировании. Функция одного аргумента -
это правило, ставящее соответствие любому значению, лежащему в области
изменения этого аргумента (которая будет и областью определения этой
функции), другую величину, лежащую в области значений функции.
Понятие функции было перенесено в языки программирования. В языке
программирования, как правило, предусмотрен ряд встроенных функций, например
sin, cos, sqrt и т.д. Кроме того, программист имеет возможность определять
свои собственные функции. Они могут работать не только с вещественными
числами, но и с различными типами данных, включающими обычно integer (целое),
real (вещественное), boolean (булевское), character (строковое). Они могут
также работать со структурами. В языках Паскаль, Алгол=68 и ПЛ/1 имеются,
например, типы records (записи), arrays (массивы), lists (списки), files of
records (файлы, состоящие из записей), а значениями функций могут быть
указатели этих структур. Все это согласовано с понятием области определения,
вне которой функция не определена. В языках программирования эта область
задана обычно указанием типа данных, который является некоторым множеством
величин. Так, в Паскале компилятор должен следить за тем, чтобы никакая
функция не применялась к величине неподходящего типа, которая могла бы
выйти за пределы области определения функции.
Функция многих аргументов. Теперь нужно обобщить определение, чтобы охватить
функции многих аргументов. Для этого соберем n аргументов в упорядоченный
набор, который будем рассматривать как один аргумент. Возьмем функцию вычитания
diff(x.y). Трактуется ее как отображение пар <х,у> в целые числа. В виде
множества упорядоченных пар ее можно записать следующим образом:
diff = {«5,3>, 2>. «6,3>, 3>, «4,5>, -1>...}
Если бы вместо этого у нас была функция четырех аргументов h(x,y,z,w), то
использовали бы отображение, определенное на четверках <x,y,z,w>. Этот
прием используется и в программировании. Если необходимо уменьшить количество
аргументов процедуры или функции (причем все они имеют один и тот же тип), то в
Фортране можно записать эти значения в массив и передать в качестве параметра
этот массив, а не отдельные значения. В более общем случае (например, в
Паскале), когда аргументам разрешается иметь различные типы, можно передать в
качестве параметра запись и хранить значения в виде отдельных компонент этой
записи. В действительности набор, состоящий из n элементов в математике
соответствует записи в программировании. Каждая из ее компонент берется из
своей отдельной области, как и в случае записи. Единственное отличие состоит в
том, что компонента определяется своим расположением (позицией), а не именем.
Реляционная модель данных работает с множествами упорядоченных наборов, которые
соответствуют файлам записей, хранящимся в машине. Также математическая логика
используется и в других областях информатики – это в разработке в области
моделирования и автоматизации интеллектуальных процедур – направление так
называемого искусственного интеллекта.
1.2 применение математической логики
Рассмотрим применение математической логики на примере данной функции:
(1)
Эта функции включает в себя 9 действий. Разберем применение математической
логики на практическом примере заданной функции на таких операциях, как
построение таблицы истинности, построение полинома Жегалкина, приведение
функции к конъюнктивной и дизъюнктивной формам, нахождение дифференциала от
двух переменных.
1.2.1 Построение таблицы истинности. Всякая логическая функция n
переменных может быть задана таблицей, в левой части которой перечислены все
2n наборов значений переменных (то есть всевозможных наборов
двоичных векторов длины n), а в правой части приведены значения функции
на этих наборах. Функцию (1) можно представлять через таблицу истинности,
причем все операции над переменными x и y , а именно – это конъюнкция,
дизъюнкция, прямая сумма, импликация можно заменить готовыми значениями
булевой функции./2/ Пример преобразования функции к числам 0 и 1 представлен в
таблице 1.
Таблица 1- Таблица истинности для функции (1)
x | y | | | | | | | | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 1 |
1.2.2 Конъюнктивная и дизъюнктивная нормальные формы (КНФ и ДНФ)
Дизъюнктивной нормальной формой называется формула, имеющая вид дизъюнкции
элементарных конъюнкций.
Конъюнктивной нормальной формой (КНФ) называется формула, имеющая вид
конъюнкции элементарных дизъюнкций./2/
f(e1,e2,.,en)= x1e1x2e2.xnen (2)
Для приведения функции от двух переменных f(x,y) к ДНФ следует
воспользоваться формулой 2 и таблицей 1.
Каждая булева функция f(x1,x2,.,xn), которая не
идентична нулю, может быть записана в виде всевозможных булевых выражений типа
f(x,y)=( (3)
Каждую булеву функцию f(x1,x2,.,xn), которая не
равна тождественно единице, можно представить в виде произведения всевозможных
булевых выражений вида:
f(`e1,`e2,.,`e3) = x1e1 Ú x2e2 Ú . Ú xnen (4)
Для приведения функции от двух переменных f(x,y) к КНФ следует воспользоваться
теоремой 2 и таблицей 1.Следовательно ДНФ=x&y.
1.2.1 Построение полинома Жегалкина. Полином Жегалкина определяется по формуле:
, где ki () попарно различные монотонные элементарные конъюнкции./2/
Для функции ,
которая зависит от трех переменных, полином Жегалкина будет следующий:
P(x, y) = B0ÅB1xÅB2yÅB3xy (3)
Метод неопределенных коэффициентов заключается в том, что последовательной
подстановкой x, y и соответственно значений функций при них в данный
полином, находим коэффициенты β0, β1,
β2, β3, β4, β5,
β6, β7. Значения переменных x, y и
значение функции
представлены в таблице 4:
Таблица 2 – значение функции
На основании таблицы 2 составляем систему уравнений и находим последовательно
коэффициенты:
f(00)=B0=0
f(01)=B0ÅB2=0; B2=0
f(10)=B0ÅB1=0; B1=0
f(11)=B0ÅB1ÅB2ÅB3=1; B3=1
следовательно, получили полином Жегалкина:
P(x,y)=x*y (5)
1.2.3 Нахождение производной от двух переменных. Находим две производных.
и ;
(5)
(6)
Используя формулу 6 можно построить таблицу истинности (таблица 6) для
функции (6), а также таблицу (таблица7) значений производной (5)
Таблица 3 – Таблица истинности для функции (6)
x | y | | | | | | | | | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 1 |
Таблица 4 – Значение производной (5)
f(x,y) | f( | f(x,y) | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 |
Найдем производную по x,y
- (6)
- (7)
Для нахождения дифференциала функции (1) сначала построим таблицу истинности
для функции (7) (таблица 8) и окончательным результатом будет таблица 9 для
функции 6.
Таблица 5 - Таблица Истинности для функции (7)
x | y | x&y | | | | | | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 0 |
Таблица 6 – Значение производной
f(x,y) | f( | f(x,y)Å f( | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 |
2 ГРАФЫ
2.1 Алгоритм Дейкстра
Рассмотрим экономическую задачу: одна крупная компания решила поощрить своих
работников и устроить всем работникам отдых в городе С. Для того чтобы
приехать в город С необходимо проехать несколько промежуточных городов. Перед
экспертами компании была поставлена задача найти оптимальный путь. Они
определили расстояния между городами и построили неориентированный граф.
Если задачу перевести на язык математики, то получится, имеется n вершин и
число ребер не меньше n-1. Если две вершины соединены, то они соединены
только одним ребром.
Рисунок 2 – Исходный граф
Вершине A присваиваем постоянный ярлык 0. Далее приписываем вершинам смежные
к A (B и I) временные ярлыки. Bременный ярлык вершины B равен 5; временный
ярлык вершины I равен 4. Выбираем наименьший – это будет I, и делаем его
постоянным. На рисунке он выделяется жирным шрифтом.
Рисунок 3 – Нахождения первого присоединенного ребра
L(w)=4 далее назначаем временные ярлыки H и F и они соответственно будут
равны 11 и 10, выбираем минимальный – это будет F, выделяем его и делаем его
постоянным и так далее, пока не дойдем до G .
Рисунок 4-Резулитирующий граф
В результате получается, что кратчайший путь будет равен 13 и будет
пролегать через A, I, F, G.
2.2 Жадный алгоритм
Было найдено новое месторождение нефти. Для разработки и соединения
месторождения с нефтеперерабатывающими заводами был составлен примерный
маршрут. Перед экономистами была поставлена задача определить максимальную
загруженность линий. Если всю задачу перевести на графы, то получим, что
имеется неориентированный помеченный граф.
Решить – эту задачу можно с помощью Жадного алгоритма.
Решением задачи будет следующий алгоритм. /6/
a. находится ребро с максимальным весом, из него составляется подграф. Ясно,
что таковым является ребро с весом равным 14, соединяющее вершины D и E.
б. дальнейшим шагом находится следующее ребро с максимальным весом. Это
ребро, соединяющее E и F (с весом 13)
в. присоединяется ребро, связывающее E и C (с весом 12)
г. присоединяется ребро, связывающее E и G (с весом 11)
д. присоединяется ребро, связывающее I и H (с весом 8)
е. присоединяется ребро, связывающее I и F (с весом 8)
ж. присоединяется ребро, связывающее A и B (с весом 6)
В результате получаем граф, изображенный на рисунке 5, который и будет
примером применения жадного алгоритма.
Рисунок 5 – Максимальное дерево покрытия
Следовательно, получили результирующее максимальное дерево покрытия, вес
которого равен сумме весов ребер, включенных в него:
Вес = 10+7+8+6+6+7=44
2.3 Построение минимального остова
В одном большом городе имеется один большой супермаркет(F) и существует
множество дорог к нему. Известны затраты на проезд . Требуется найти путь с
минимальными затратами.
Для решение этой задачи можно применить алгоритм минимального остова./6/
Алгоритм построения минимального остова: на первом этапе строим подграф,
состоящий из двух вершин и ребра, их соединяющего, причем ребро должно быть
минимального веса. Далее на каждом последующем этапе присоединяется ребро,
обладающее минимальным весом среди рёбер, соединяющих уже построенный
фрагмент минимального остова с вершинами, ещё не включенными во фрагмент.
Десять городов поставим в соответствие десяти вершинам графа a, b, c, d,
e, f, g, h, i, j,. Цель обозначим F, а начало пути обозначим A.
Решением задачи будет следующая последовательность этапов:
1 этап (H-J), 2 этап: (I-g) , 3 этап: (h-i), 4 этап: (I-f), 5 этап: (g-
d), 6 этап: (d-b), 7 этап:(b-a), 8 этап: (b-e). Выполнение алгоритма
завешено, так как добавление ребер без образования петель невозможно.
Осталось сложить веса ребер, составляющих подграф графа G, который образует
минимальный остов. Эта сумма будет следующая: 2+7+4+6+5+7+6+6+4=47. В
результате получаем, что существует один путь к F – это AIF и он равен = 10.
Построив граф (рисунок 6), можно увидеть, что существует только единственный
путь от начала нашего пути до указанной цели.
.
Рисунок 6 –Результирующий граф
2.4 Задача Коммивояжера
Предприятия(A) в целях увеличить свою прибыль решила открыть свои филиалы в
10 городах (B,C,D,E,F,G,I,H,J) и, чтобы минимизировать затраты и сэкономить
время экономистам была поставлена задача найти минимальный путь и так чтобы
все города были пройдены по одному разу.
Так как этот граф является Гальмитонов, то одним из способов решения будет
решение при помощи Коммивояжера./6/
а) В матрице определяем минимальный элемент строки и вычитаем его из
элементов соответствующей строки. Таким образом, получаем нулевой элемент в
каждой строке. Далее определяем минимальный элемент столбца (не включая и
нули) и вычитаем его из элементов соответствующего столбца (рисунок 2).
A1=
Подсчитываем Kпр=1+1+1+1+1+1=6.
б) Для каждого нулевого элемента определяются коэффициенты Кi,j по формуле 2.
(4)
К15=3; К26=3; К34=2; К43=2; К51=3; К62=3; К15=3
Выбираем наибольший из коэффициентов (К1,5=3). Следовательно, в наш
гамильтонов граф будет включено ребро, соединяющее 1 и 5 вершины с весом 13.
Далее вычеркиваем строку и столбец, соответствующие индексу
A2=
Повторяем шаг под буквой а и получаем:
Kпр=6+3 =9.
A3=
Далее повторяем шаг б:
К21=1; K26=2; K34=2; K43=1; K53=0; K54=0; K62=3.
Следующим ребром, которое будет включено в граф – это K62=3
Повторяем шаг а
A4= A5=
Получаем Kпр=11
Повторяем шаг б:
K21=2; K34=0; K36=3; K43=3; K53=0; K54=0
Получаем, что будет включено ребро K36=3
A6=
Добавляем к графу ребро K21=2
A7=
В ходе решения задачи были выделены элементы матрицы:
К1,5 , К6,2, К3,6 , К2,1 , К
5,4 ,К4,3, которым соответствуют ребра (1-5), (6-2), (3-6),
(2-1), (5-4), (4-3) с весами 3, 3, 3, 2.
Длина маршрута равна 11, что совпадает с суммой всех коэффициентов
приведения: 6 + 3 + 2 = 11. Построим граф (рисунок 8) и, если все вершины
соединились, следовательно, задача было решена правильно.
Рисунок 8- Результирующий граф
3 Нечеткие множества
Анализу подлежат ряд современных моделей принтеров относящихся к классу не
дорогостоящих, для этого воспользуемся многокритериальным выбором альтернатив
на основе нечёткого отношения предпочтения. /6/
Модели принтеров, которые будут подлежать анализу.
A1 – Canon S900 ; A2 – EPSON Stylus Photo 830; A3 – Hewlett Packard DeskJet
6122 ; A4 – Lexmark Z65; A5 – Lexmark Z90.
F1 - качество печати (8-10) – чем лучше качество печати, тем больше бал.
Также определяются F2,F3,F4,F5,F6,F7,F8.
F2 – скорость печати (6-10)
F3 – удобство в использовании (8-10)
F4 – аксессуары (7-9)
F5 – оправданность цены (6-10)
F6 – дизайн (7-10)
F7 – поддержка USB 2.0 (0-1)
F8 – шумность при работе (6-9)
F9,F10 – чем меньше цена тем больше спрос
F9 - стоимость картриджей (600-1103)
F10 - стоимость принтера (3600-4700)
Рассмотрим характеристики каждого принтера по критериям в задаче.
A1:F1=8,F2=7,F3=8, F4=8, F5=7, F6=9, F7=0, F8=9,F9=600, F10=4700
A2:F1=9, F2=6, F3=8, F4=9, F5=8, F6=7, F7=1, F8=7, F9=900, F10=4700
A3:F1=8,F2=9,F3=10,F4=10,F5=9,F6=9,F7=1, F8=9, F9=1103, F10=3900
A4:F1=8,F2=8,F3=9, F4=7, F5=7, F6=8, F7=1, F8=6, F9=1103, F10=5000
A5:F1=8,F2=6,F3=8, F4=7, F5=8, F6=7, F7=8, F8=6, F9=1100, F10=4700
Рассмотрим график зависимости функции принадлежности от качества печати.
Рисунок 6 – Качество печати Рисунок 7 – Скорость печати
Рисунок 8 – Удобство в
использовании Рисунок 9 – Аксессуары
Рисунок 10 – оправданность цены Рисунок 11 - Дизайн
Рисунок 12 – Поддержка USB2.0 Рисунок 13 – уровень шума
Рисунок 14 – Стоимость картриджа Рисунок 15 – Стоимость
принтера
На основании рисунков можно составить µFn
µF1 = {1/10; 0,8/9; 0,6/8; 0,6/8; 0,6/8}.
µF2 = {0,4/7; 0,2/6; 0,8/9; 0,6/8; 0,2/6}
µF3 = {0,6/8; 0,6/8; 1/10; 0,8/9; 0,6/8}
µF4 = {0,6/8, 0,8/9; 1/10; 0,4/7; 0,4/7}
µF5 = {0,4/7; 0,6/8; 0,8/9; 0,4/7; 0,6/8}
µF6 = {0,8/9; 0,4/7; 0,8/9; 0,6/8; 0,4/7}
µF7 = {0,8/0; 1/1; 1/1; 1/1; 1/1; 0,8 }
µF8 = {0,8/9; 0,6/7; 1/9; 0,4/6; 0,4/6}
µF9 = {1/600; 0,6/900; 0,8/800; 0,2/1103; 0,2/1100}
µF10 = {1/3600; 0,4/4700; 0,6/3900; 0,2/5000, 0,4/4700}
По этим данным составим матрицы нечётких отношений предпочтения R
1, ., Rn (R5).
1 | 1,02 | 0,4 | 0,4 | 0,4 | 0 | 1 | 0,2 | 0,2 | 0,2 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 |
1 | 0,2 | 0 | 0 | 0,2 | 0 | 1 | 0 | 0 | 0 | 0,4 | 0,6 | 1 | 0,2 | 0,6 | 0,2 | 0,4 | 0 | 1 | 0,4 | 0 | 0 | 0 | 0 | 1 |
R1=
1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0,4 | 0,4 | 1 | 0,2 | 0,4 | 0,2 | 0,2 | 0 | 1 | 0,2 | 0 | 0 | 0 | 0 | 1 |
1 | 0 | 0 | 0,2 | 0,2 | 0,2 | 1 | 0 | 0,4 | 0,4 | 0,4 | 0,2 | 1 | 0,6 | 0,6 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 |
1 | 0,4 | 0 | 0,2 | 0,4 | 0 | 1 | 0 | 0 | 0 | 0 | 0,4 | 1 | 0,2 | 0,4 | 0 | 0,2 | 0 | 1 | 0,2 | 0 | 0 | 0 | 0 | 1 |
1 | 0 | 0 | 0 | 0 | 0,2 | 1 | 0 | 0 | 0,2 | 0,2 | 0 | 1 | 0 | 0,2 | 0,2 | 0 | 0 | 1 | 0,2 | 0 | 0 | 0 | 0 | 1 |
1 | 0 | 0 | 0 | 0 | 0,2 | 1 | 0 | 0 | 0,2 | 0,2 | 0 | 1 | 0 | 0,2 | 0,2 | 0 | 0 | 1 | 0,2 | 0 | 0 | 0 | 0 | 1 |
1 | 0,2 | 0 | 0,4 | 0,4 | 0 | 1 | 0 | 0,2 | 0,2 | 0,2 | 0,4 | 1 | 0,6 | 0,6 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 |
1 | 0,6 | 0,4 | 0,8 | 0,6 | 0 | 1 | 0 | 0,2 | 0 | 0 | 0,2 | 1 | 0,4 | 0,2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0,2 | 1 |
1 | 0,4 | 0,2 | 0,8 | 0,8 | 0 | 1 | 0 | 0,4 | 0,4 | 0 | 0,2 | 1 | 0,6 | 0,6 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 |
Строим нечёткое отношение Q1:
Q1=F1 F2. F5, получаем матрицу
По экспертной оценке было определена степень важности всех критериев:
W1=0,25; W2=0,19; W3=0,03; W4=0,06; W5=0,095 ; W6=0,02 ; W7=0,02; W8=0,015
W9=0,15; W10=0,1
µQ2=1-max{0;0.11;-0.001;0.26;0.337}=0.663
µQ2=1-max{0;-0.11;-0.171;0.09;0.155} =0.845
µQ2=1-max{0;0.001;0.171;0.261;0.326}=0.674
µQ2=1-max{0;-0.26;-0.09;-0.261;0.065}=0.935
µQ2=1-max{0;-0.337;-0.155;-0.326;-0.065}=1
Результирующее множество недоминируемых альтернатив есть пересечение множеств
μQ1н.д. и μQ2
н.д.:
μQ1н.д.Ç μQ2н.д.=||(1 1 1 1) Ç ()||=||||
Следовательно, рациональным следует считать выбор альтернативы ai ,
имеющей максимальную степень недоминируемости.
Таким образом, с учетом всех перечисленных критериев и их относительной
важности, наилучшим будет выбор принтера Lexmark Z90.
ЗАКЛЮЧЕНИЕ
В курсовой работе было рассмотрено три части дискретной математики, а именно
применение ее на практике. Рассмотрены такие темы как математическая логика,
графы, нечеткие множества. В первой части было рассмотрено применение
дискретной математики в информатике, а именно применение ее в
программировании, в построении схем и в криптографии. Также были рассмотрены
применение математической логики на практическом примере: составлена таблица
истинности, нахождение двух производных, конъюнктивная и дизъюнктивная
нормальная функция, а также метод неопределенных коэффициентов для построения
полинома Жегалкина. Во второй части рассматривается применение теории графов
в экономических задачах, которые подразделяются на: алгоритм построения
минимального остова, в результате чего были определены минимальные затрат на
проезд от дома до супермаркета; Жадный алгоритм, где была решена задача о
максимальной загруженности линий, которые соединяют нефтеперерабатывающие
заводы с новым месторождением нефти; Алгоритм Дейкстра – задача о нахождении
оптимального пути, нахождения минимальных затрат на обеспечение отдыха своим
сотрудникам; Задача Коммивояжера – максимизация прибыли и уменьшения затрат
времени. В третьей части рассмотрен метод многокритериального выбора
альтернатив на основе нечёткого отношения предпочтения. Среди 5 анализируемых
принтеров (Canon S900; EPSON Stylus Photo 830; Hewlett Packard DeskJet 6122
; Lexmark Z65; Lexmark Z90) были определены более предпочтительный принтер
из пяти предложенных принтеров, путем построения математической модели на
основе метода многокритериального выбора. В результате чего был найден
наиболее предпочтительный принтер (Lexmark Z90).
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ:
1. Воротников А.П., Практикум по введению в математическую логику.-
СПб., 1986 – 300с.
2. Новиков Ф.А., Дискретная математика для программистов. – СПб.,
2002 – 302с.
3. Новиков Ф.А., Введение в крипторафию. – СПб, 1993 – 190 с.
4. Логинов Б.М., Лекции по дискретной математике. – Калуга, 1993 –
140с.
5. Яблонский С.В., Введение в дискретную математику .-M.:Наука, 1996
– 200с.
6. Методические указания по дискретной математике – 30с.
|