Рефетека.ру / Информатика и програм-ие

Курсовая работа: ЛИСП-реализация основных операций над нечеткими множествами

СОДЕРЖАНИЕ


Введение

1. Постановка задачи

2. Математические и алгоритмические основы решения задачи

2.1 Понятие нечеткого множества

2.2 Операции над нечеткими множествами

2.2.1 Содержание

2.2.2 Равенство

2.2.3 Пересечение

2.2.4 Объединение

2.2.5 Разность

2.2.6 Произведение

2.2.7 Отрицание

2.2.8 Дизъюнктивная сумма

2.2.3 Наглядное представление операций над нечеткими множествами

3. Функциональные модели и блок-схемы решения задачи

4. Программная реализация решения задачи

5. Пример выполнения программы

Заключение

Список использованных источников и литературы


ВВЕДЕНИЕ


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

Основы нечеткой логики были заложены в конце 60-х лет в работах известного американского математика Латфи Заде. Исследования такого рода было вызвано возрастающим неудовольствием экспертными системами. Хваленый "искусственный интеллект", который легко справлялся с задачами управления сложными техническими комплексами, был беспомощным при простейших высказываниях повседневной жизни, типа "Если в машине перед тобой сидит неопытный водитель - держись от нее подальше". Для создания действительно интеллектуальных систем, способных адекватно взаимодействовать с человеком, был необходим новый математический аппарат, который переводит неоднозначные жизненные утверждения в язык четких и формальных математических формул. Первым серьезным шагом в этом направлении стала теория нечетких множеств, разработанная Заде. Его работа "Fuzzy Sets", опубликованная в 1965 году в журнале "Information and Control", заложила основы моделирования интеллектуальной деятельности человека и стала начальным толчком к развитию новой математической теории. Он же дал и название для новой области науки - "fuzzy logic" (fuzzy - нечеткий, размытый, мягкий).

Чтобы стать классиком, надо немного опередить свое время. Существует легенда о том, каким образом была создана теория "нечетких множеств". Один раз Заде имел длинную дискуссию со своим другом относительно того, чья из жен более привлекательна. Термин "привлекательная" является неопределенным и в результате дискуссии они не смогли прийти к удовлетворительному итогу. Это заставило Заде сформулировать концепцию, которая выражает нечеткие понятия типа "привлекательная" в числовой форме.

Дальнейшие работы профессора Латфи Заде и его последователей заложили фундамент новой теории и создали предпосылки для внедрения методов нечеткого управления в инженерную практику.

Аппарат теории нечетких множеств, продемонстрировав ряд многообещающих возможностей применения - от систем управления летательными аппаратами до прогнозирования итогов выборов, оказался вместе с тем сложным для воплощения. Учитывая имеющийся уровень технологии, нечеткая логика заняла свое место среди других специальных научных дисциплин - где-то посредине между экспертными системами и нейронными сетями.

Свое второе рождение теория нечеткой логики пережила в начале восьмидесятых годов, когда несколько групп исследователей (в основном в США и Японии) всерьез занялись созданием электронных систем различного применения, использующих нечеткие управляющие алгоритмы. Теоретические основы для этого были заложены в ранних работах Коско и других ученых.

Третий период начался с конца 80-х годов и до сих пор. Этот период характеризуется бумом практического применения теории нечеткой логики в разных сферах науки и техники. До 90-ого года появилось около 40 патентов, относящихся к нечеткой логике (30 - японских). Сорок восемь японских компаний создают лабораторию LIFE (Laboratory for International Fuzzy Engineering), японское правительство финансирует 5-летнюю программу по нечеткой логике, которая включает 19 разных проектов - от систем оценки глобального загрязнения атмосферы и предвидения землетрясений до АСУ заводских цехов. Результатом выполнения этой программы было появление целого ряда новых массовых микрочипов, базирующихся на нечеткой логике. Сегодня их можно найти в стиральных машинах и видеокамерах, цехах заводов и моторных отсеках автомобилей, в системах управления складскими роботами и боевыми вертолетами.

В США развитие нечеткой логики идет по пути создания систем для большого бизнеса и военных. Нечеткая логика применяется при анализе новых рынков, биржевой игре, оценки политических рейтингов, выборе оптимальной ценовой стратегии и т.п. Появились и коммерческие системы массового применения.

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


1.Постановка задачи


Требуется реализовать основные операции над нечеткими множествами:

содержание;

равенство;

пересечение;

объединение;

разность;

произведение;

отрицание;

дизъюнктивная сумма.

Пример 1.

Пусть:


ЛИСП-реализация основных операций над нечеткими множествами;

ЛИСП-реализация основных операций над нечеткими множествами.


Решение:


Содержание: так как


ЛИСП-реализация основных операций над нечеткими множествами, B доминирует A.


Равенство: так как


ЛИСП-реализация основных операций над нечеткими множествами, следовательно A не равно B.

Пересечение: ЛИСП-реализация основных операций над нечеткими множествами.

Объединение: ЛИСП-реализация основных операций над нечеткими множествами.

Разность: ЛИСП-реализация основных операций над нечеткими множествами.

Произведение: ЛИСП-реализация основных операций над нечеткими множествами

Отрицание: ЛИСП-реализация основных операций над нечеткими множествами,

ЛИСП-реализация основных операций над нечеткими множествами.

Дизъюнктивная сумма: ЛИСП-реализация основных операций над нечеткими множествами.


Пример 2.

Пусть:


ЛИСП-реализация основных операций над нечеткими множествами;

ЛИСП-реализация основных операций над нечеткими множествами.


Решение:


Содержание: так как


ЛИСП-реализация основных операций над нечеткими множествами, B доминирует A.


Равенство: так как


ЛИСП-реализация основных операций над нечеткими множествами, следовательно A равно B.


Пересечение:


ЛИСП-реализация основных операций над нечеткими множествами.


Объединение:


ЛИСП-реализация основных операций над нечеткими множествами.


Разность:


ЛИСП-реализация основных операций над нечеткими множествами.


Произведение


ЛИСП-реализация основных операций над нечеткими множествами


7. Отрицание:


ЛИСП-реализация основных операций над нечеткими множествами,

ЛИСП-реализация основных операций над нечеткими множествами.


Дизъюнктивная сумма:


ЛИСП-реализация основных операций над нечеткими множествами.


2. Математические и алгоритмические основы решения задачи


2.1 Понятие нечеткого множества


Нечёткое (или размытое, расплывчатое, туманное, пушистое) множество — понятие, введённое Лотфи Заде в 1965 г. в статье "Fuzzy Sets" (нечёткие множества) в журнале Information and Control [1]. Л. Заде расширил классическое канторовское понятие множества, допустив, что характеристическая функция (функция принадлежности элемента множеству) может принимать любые значения в интервале [0,1], а не только значения 0 или 1.

Под нечётким множеством A понимается совокупность


ЛИСП-реализация основных операций над нечеткими множествами,


где— X универсальное множество, а ЛИСП-реализация основных операций над нечеткими множествами — функция принадлежности (характеристическая функция), характеризующая степень принадлежности элемента нечёткому множеству A.

Функция ЛИСП-реализация основных операций над нечеткими множествами принимает значения в некотором вполне упорядоченном множестве M. Множество M называют множеством принадлежностей, часто в качестве M выбирается отрезок ЛИСП-реализация основных операций над нечеткими множествами. Если ЛИСП-реализация основных операций над нечеткими множествами, то нечёткое множество может рассматриваться как обычное, чёткое множество.


2.2 Операции над нечеткими множествами


Пусть A и B - нечеткие множества на универсальном множестве E.


2.2.1 Содержание

Говорят, что A содержится в B, если


ЛИСП-реализация основных операций над нечеткими множествами.


Обозначение: A М B.

Иногда используют термин "доминирование", то есть в случае если A М B, говорят, что B доминирует A.


2.2.2 Равенство

A и B равны, если


ЛИСП-реализация основных операций над нечеткими множествами.


Обозначение: A = B.


2.2.3 Пересечение

Пересечением нечётких множеств A и B называется наибольшее нечёткое подмножество, содержащееся одновременно в A и B:


ЛИСП-реализация основных операций над нечеткими множествами.


2.2.4 Объединение


ЛИСП-реализация основных операций над нечеткими множествами


- наименьшее нечеткое подмножество, которое включает как А, так и В, с функцией принадлежности:


ЛИСП-реализация основных операций над нечеткими множествами


2.2.5 Разность


ЛИСП-реализация основных операций над нечеткими множествами с функцией принадлежности:

ЛИСП-реализация основных операций над нечеткими множествами.


2.2.6 Произведение

Произведением нечётких множеств A и B называется нечёткое подмножество с функцией принадлежности:


ЛИСП-реализация основных операций над нечеткими множествами.


2.2.7 Отрицание

Отрицанием множества A при ЛИСП-реализация основных операций над нечеткими множествами называется множество ЛИСП-реализация основных операций над нечеткими множествами с функцией принадлежности:


ЛИСП-реализация основных операций над нечеткими множествами.


2.2.8 Дизъюнктивная сумма

Дизъюнктивной суммой нечетких множеств A и B называется множество с функцией принадлежности:


ЛИСП-реализация основных операций над нечеткими множествами.


2.3 Наглядное представление операций над нечеткими множествами


Для нечетких множеств можно применить визуальное представление. Рассмотрим прямоугольную систему координат, на оси ординат которой откладываются значение mA(x), на оси абсцисс в произвольном порядке расположены элементы E. Если E по своей природе упорядочено, то этот порядок желательно сохранить в расположении элементов на оси абсцисс. Такое представление делает наглядными простые операции над нечеткими множествами.

Пусть A нечеткий интервал между 5 до 8 и B нечеткое число около 4, как показано на рисунке 1 и 2.


ЛИСП-реализация основных операций над нечеткими множествамиЛИСП-реализация основных операций над нечеткими множествами

Рисунок 1. Множество A Рисунок 2. Множество B


Проиллюстрируем нечеткое множество между 5 AND 8 около 4 (синяя линия).


ЛИСП-реализация основных операций над нечеткими множествами

Рисунок 3. Пересечение множеств А и В


Нечеткое множество между 5 OR 8 около 4 показано на следующем рисунке (синяя линия).


ЛИСП-реализация основных операций над нечеткими множествами

Рисунок 4. Объединение множеств А и В


Следующий рисунок иллюстрирует операцию отрицания. Синяя линия - это отрицание нечеткого множества A.


ЛИСП-реализация основных операций над нечеткими множествами

Рисунок 5. Отрицание множества А


На следующем рисунке заштрихованная часть соответствует нечеткому множеству A и изображает область значений А и всех нечетких множеств, содержащихся в A. Остальные рисунки изображают соответственно ЛИСП-реализация основных операций над нечеткими множествами.


ЛИСП-реализация основных операций над нечеткими множествамиЛИСП-реализация основных операций над нечеткими множествами

ЛИСП-реализация основных операций над нечеткими множествамиЛИСП-реализация основных операций над нечеткими множествами

Рисунок 6. Множества ЛИСП-реализация основных операций над нечеткими множествами


3. Функциональные модели и блок-схемы решения задачи


Функциональные модели и блок-схемы решения задачи представлены на рисунке 7 – 14.

Условные обозначения:

X1 – первое множество;

X2 – второе множество;

X – множество.


ЛИСП-реализация основных операций над нечеткими множествами

Рисунок 7 – Функциональная модель решения задачи для функции CONTENT (содержание)


ЛИСП-реализация основных операций над нечеткими множествами

Рисунок 8 – Функциональная модель решения задачи для функции EQUAL_ (равенство)

ЛИСП-реализация основных операций над нечеткими множествами

Рисунок 9 – Функциональная модель решения задачи для функции CROSSING (пересечение)


ЛИСП-реализация основных операций над нечеткими множествами

Рисунок 10 – Функциональная модель решения задачи для функции UNION (объединение)


ЛИСП-реализация основных операций над нечеткими множествами

Рисунок 11 – Функциональная модель решения задачи для функции SUBTR (разность)


ЛИСП-реализация основных операций над нечеткими множествами

Рисунок 12 – Функциональная модель решения задачи для функции MULT (произведение)

ЛИСП-реализация основных операций над нечеткими множествами

Рисунок 13 – Функциональная модель решения задачи для функции ADDITION (отрицание)


ЛИСП-реализация основных операций над нечеткими множествами

Рисунок 14 – Функциональная модель решения задачи для функции DIZ_SUMM (дизъюнктивная сумма)


4. Программная реализация решения задачи


;СОДЕРЖАНИЕ mA(x) < mB(x)

;РАВЕНСТВО mA(X) = mB(X)

;ПЕРЕСЕЧЕНИЕ min( mA(x), mB(x))

;ОБЪЕДИНЕНИЕ max(mA(x), m B(x))

;РАЗНОСТЬ А - B = АЗ с функцией принадлежности: mA-B(x) = mA З (x) = min( mA(x), 1 - m B(x))

;ПРОИЗВЕДЕНИЕ mA(x)* m B(x)

;ОТРИЦАНИЕ A^ = 1-mA(X)

;ДИЗЪЮНКТИВНАЯ СУММА АЕB = (А - B)И(B - А) = (А З ) И( З B) с функцией принадлежности:

;mA-B(x) = max{[min{m A(x), 1 - mB(x)}];[min{1 - mA(x), mB(x)}] }

;СОДЕРЖАНИЕ

;ЕСЛИ МНОЖЕСТВО A СОДЕРЖИТСЯ В МНОЖЕСТВЕ B - РЕЗУЛЬТАТОМ ФУНКЦИИ БУДЕТ 0

(DEFUN CONTENT (X1 X2)

(COND

((NULL X1) 0)

((ATOM X1) (IF (> X1 X2) 1 0))

(T (+ (CONTENT (CAR X1) (CAR X2)) (CONTENT (CDR X1) (CDR X2))))

)

)

;РАВЕНСТВО

;ЕСЛИ МНОЖЕСТВО A РАВНО МНОЖЕСТВУ B - РЕЗУЛЬТАТОМ ФУНКЦИИ БУДЕТ 0

(DEFUN EQUAL_ (X1 X2)

(COND

((NULL X1) 0)

((ATOM X1) (IF (EQUAL X1 X2) 0 1))

(T (+ (EQUAL_ (CAR X1) (CAR X2)) (EQUAL_ (CDR X1) (CDR X2))))

)

)

;ПЕРЕСЕЧЕНИЕ

(DEFUN CROSSING (X1 X2)

(MIN X1 X2)

)

;ОБЪЕДИНЕНИЕ

(DEFUN UNION (X1 X2)

(MAX X1 X2)

)

;РАЗНОСТЬ

(DEFUN SUBTR (X1 X2)

(MIN X1 (- 1 X2))

)

;ПРОИЗВЕДЕНИЕ

(DEFUN MULT (X1 X2)

(* X1 X2)

)

;ОТРИЦАНИЕ

(DEFUN ADDITION (X)

(- 1 X)

)

;ДИЗЪЮНКТИВНАЯ СУММА

(DEFUN DIZ_SUMM (X1 X2)

(MAX (MIN X1 (- 1 X2)) (MIN (- 1 X1) X2))

)

;РЕАЛИЗАЦИЯ ОПЕРАЦИЙ НАД МНОЖЕСТВАМИ

;С ПОМОЩЬЮ ОПИСАННЫХ РАННЕЕ ФУНКЦИЙ

;----------------------------------------------

;ПОЛУЧАЕМ МНОЖЕСТВА

(SETQ INPUT (OPEN " D:\MULTITUDE.TXT" :DIRECTION :INPUT))

(SETQ A (READ INPUT))

(SETQ B (READ INPUT))

(CLOSE INPUT)

;СОДЕРЖАНИЕ

(SETQ CONTENT_AB (IF (= (CONTENT A B)) "Mnowestvo A soderzitsya v mnowestve B" "Mnowestvo A NE soderzitsya v mnowestve B"))

;РАВЕНСТВО

(SETQ EQUAL_AB (IF (= (EQUAL_ A B) 0) "Mnowestvo A ravno B" "Mnowestvo A NE ravno B"))

;ПЕРЕСЕЧЕНИЕ

(SETQ CROSS_AB (MAPCAR 'CROSSING A B))

;ОБЪЕДИНЕНИЕ

(SETQ UNION_AB (MAPCAR 'UNION A B))

;ПРОИЗВЕДЕНИЕ

(SETQ MULT_AB (MAPCAR 'MULT A B))

;РАЗНОСТЬ

(SETQ SUBTR_AB (MAPCAR 'SUBTR A B))

;ОТРИЦАНИЕ

(SETQ A_ (MAPCAR 'ADDITION A))

(SETQ B_ (MAPCAR 'ADDITION B))

;ДИЗЪЮКТИВНАЯ СУММА

(SETQ DIZ_SUMM_AB (MAPCAR 'DIZ_SUMM A B))

;ЗАПИСЫВАЕМ РЕЗУЛЬТАТ ОПЕРАЦИЙ В ФАЙЛ

(SETQ OUTPUT (OPEN "D:\RESULT_OPERATIONS.TXT" :DIRECTION :OUTPUT))

(PRINT (LIST 'A A) OUTPUT)

(PRINT (LIST 'B B) OUTPUT)

(PRINT 'OPERATIONS OUTPUT)

(PRINT '------------------------- OUTPUT)

(PRINT (LIST 'CONTENT_AB CONTENT_AB) OUTPUT)

(PRINT (LIST 'EQUAL_AB EQUAL_AB) OUTPUT)

(PRINT (LIST 'CROSS_AB CROSS_AB) OUTPUT)

(PRINT (LIST 'UNION_AB UNION_AB) OUTPUT)

(PRINT (LIST 'MULT_AB MULT_AB) OUTPUT)

(PRINT (LIST 'SUBTR_AB SUBTR_AB) OUTPUT)

(PRINT (LIST 'A_ A_) OUTPUT)

(PRINT (LIST 'B_ B_) OUTPUT)

(PRINT (LIST 'DIZ_SUMM_AB DIZ_SUMM_AB) OUTPUT)

(TERPRI OUTPUT)

(CLOSE OUTPUT)

;КОНЕЦ


5. Пример выполнения программы


Пример 1.


ЛИСП-реализация основных операций над нечеткими множествами

Рисунок 15 – Входные данные


ЛИСП-реализация основных операций над нечеткими множествами

Рисунок 16 – Выходные данные


Пример 2.


ЛИСП-реализация основных операций над нечеткими множествами

Рисунок 17 – Входные данные


ЛИСП-реализация основных операций над нечеткими множествами

Рисунок 18 – Выходные данные


Пример 3.


ЛИСП-реализация основных операций над нечеткими множествами

Рисунок 19 – Входные данные


ЛИСП-реализация основных операций над нечеткими множествами

Рисунок 20 – Выходные данные


ЗАКЛЮЧЕНИЕ


Над нечеткими множествами можно производить различные операции, при этом необходимо определить их так, чтобы в частном случае, когда нечеткое множество является четким (обычным), эти операции переходили в обычные операции теории множеств, то есть операции над нечеткими множествами должны обобщать соответствующие операции над обычными множествами. При этом обобщение может быть реализовано различными способами, из-за чего какой-либо операции над обычными множествами может соответствовать несколько операций в теории нечетких множеств.

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


СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ и литературы


Бронштейн, И.Н. Справочник по математике для инженеров и учащихся втузов [Текст] / И.Н.Бронштейн, К.А.Семендяев. – М.: Наука, 2007. – 708 с.

Заде Л. Понятие лингвистической переменной и его применение к принятию приближенных решений [Электронный ресурс] / Заде Л. – М.: Мир, 1976. С. 166.

Кофман А. Введение в теорию нечетких множеств [Текст] / А.Кофман. – М.: Радио и связь, 1982. С. 432.

Круглов, В.В. Нечёткая логика и искусственные нейронные сети. [Текст] / В.В. Круглов, М.И. Дли, Р.Ю. Голунов. – М.: Питер, 2001. C. 224.

Нечеткое множество [Электронный ресурс] – Режим доступа: http://ru.wikipedia.org/wiki/Нечеткое_множество

Симанков, В.С. Основы функционального программирования [Текст] / В.С.Симанков, Т.Т.Зангиев, И.В.Зайцев. – Краснодар: КубГТУ, 2002. – 160 с.

Степанов, П.А. Функциональное программирование на языке Lisp. [Электронный ресурс] / П.А.Степанов, А.В. Бржезовский. – М.: ГУАП, 2003. С. 79.

Хювенен Э. Мир Лиспа [Текст] / Э.Хювенен, Й.Сеппянен. – М.: Мир, 1990. – 460 с.

Похожие работы:

  1. Нечеткие множества в системах управления
  2. • ЛИСП-реализация основных операций над базами данных
  3. • Лисп-реализация математических операций над ...
  4. • Медицинские экспертные системы
  5. • ЛИСП-реализация операций над матрицами
  6. • Нечетко-логические модели и алгоритмы
  7. • Исполняемое Win32 приложение
  8. • Инженерия знаний
  9. • ЛИСП-реализация основных способов вычисления ...
  10. • Применение теории нечетких множеств к финансовому анализу ...
  11. • Система "Aлор-Трейд"
  12. • Оценка технического состояния трансформаторных вводов на ...
  13. • Применение теории нечетких множеств в оценке экономической ...
  14. • Логика научного исследования
  15. • Теория искусственного интеллекта
  16. • Применение теории нечетких множеств в оценке экономической ...
  17. • Использование нечёткой логики в системах автоматического ...
  18. • Логический вывод на основе нечеткой метаимпликации
  19. •  ... имитации случайных чисел, относящихся к нечётким множествам
Рефетека ру refoteka@gmail.com