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

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

ЗМІСТ

Введення

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. зміст;

  2. рівність;

  3. перетин;

  4. об'єднання;

  5. різниця;

  6. твір;

  7. заперечення;

  8. діз'юнктівная сума.

Приклад 1.

Нехай:

;

.

Рішення:

  1. Зміст: так як

, B домінує A.

  1. Рівність: так як

, Отже A не дорівнює B.

  1. Перетин: .

  2. Об'єднання: .

  3. Різниця: .

  4. Твір:

  5. Заперечення: ,

.

  1. Диз'юнктивна сума: .

Приклад 2.

Нехай:

;

.

Рішення:

  1. Зміст: так як

, B домінує A.

  1. Рівність: так як

, Отже A одно B.

  1. Перетин:

.

  1. Об'єднання:

.

  1. Різниця:

.

  1. Твір

7. Заперечення:

,

.

  1. Диз'юнктивна сума:

.

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 Наочне уявлення операцій над нечіткими множинами

Для нечітких множин можна застосувати візуальне подання. Розглянемо прямокутну систему координат, на осі ординат якої відкладаються значення m A (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.

Умовні позначення:

  • X 1 - перше безліч;

  • 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 (X 1 X 2)

(* 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 AB)) "Mnowestvo A soderzitsya v mnowestve B" "Mnowestvo A NE soderzitsya v mnowestve B"))

; РІВНІСТЬ

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

; ПЕРЕСІЧЕННЯ

(SETQ CROSS_AB (MAPCAR 'CROSSING AB))

; ОБ'ЄДНАННЯ

(SETQ UNION_AB (MAPCAR 'UNION AB))

; ТВІР

(SETQ MULT_AB (MAPCAR 'MULT AB))

; РІЗНИЦЯ

(SETQ SUBTR_AB (MAPCAR 'SUBTR AB))

; ОТРИЦАНИЕ

(SETQ A_ (MAPCAR 'ADDITION A))

(SETQ B_ (MAPCAR 'ADDITION B))

; ДІЗ'ЮКТІВНАЯ СУМА

(SETQ DIZ_SUMM_AB (MAPCAR 'DIZ_SUMM AB))

; ЗАПИСУЮТЬ РЕЗУЛЬТАТ ОПЕРАЦІЙ У ФАЙЛ

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

(PRINT (LIST 'AA) OUTPUT)

(PRINT (LIST 'BB) 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 - Вихідні дані

ВИСНОВОК

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

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

СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ та літератури

  1. Бронштейн, І.М. Довідник з математики для інженерів і учнів втузів [Текст] / І. М. Бронштейн, К. А. Семендяев. - М.: Наука, 2007. - 708 с.

  2. Заде Л. Поняття лінгвістичної змінної та його застосування до прийняття наближених рішень [Електронний ресурс] / Заде Л. - М.: Світ, 1976. С. 166.

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

  4. Круглов, В.В. Нечітка логіка і штучні нейронні мережі. [Текст] / В.В. Круглов, М.І. Дли, Р.Ю. Голунь. - М.: Питер, 2001. C. 2 24.

  5. Нечітке безліч [Електронний ресурс] - Режим доступу: http://ru.wikipedia.org/wiki/Нечеткое_множество

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

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

  8. Хювенен Е. Світ Ліспу [Текст] / Е. Хювенен, Й. Сеппянен. - М.: Світ, 1990. - 460 с.

Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Курсова
64.2кб. | скачати


Схожі роботи:
Операція над множинами як основа навчання арифметичних дій над цілими невід`ємними
Лісп-реалізація математичних операцій над комплексними числами
Операції над множинами
Множини Операції над множинами
Обробка результатів психологічних тестів ЛИСП-реалізація
Знаходження коренів рівняння методом Ньютона ЛИСП-реалізація
Знаходження коренів рівняння методом простої ітерації ЛИСП-реалізація
Облік та оформлення операцій з формування статутного капіталу Облік операцій по руху основних
Виконання арифметичних операцій над числами з фіксованою комою
© Усі права захищені
написати до нас