Теория нечеткой логики с применением в Delphi

Автор работы: Пользователь скрыл имя, 17 Апреля 2011 в 15:16, курсовая работа

Описание

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

Работа состоит из  1 файл

logic.doc

— 323.00 Кб (Скачать документ)

Формалізація  цього опису може бути проведена за допомогою лінгвістичної змінної <b, T, X, G, M>, де

· b - товщина виробу;

· T - {"маленька товщина", "середня товщина", "велика товщина"};

· X - [10, 80];

· G - процедура утворення нових термів за допомогою в'язок "и", "або" і модифікаторів типа "дуже", "не", "злегка" і ін. Наприклад, "маленька або середня товщина", "дуже маленька товщина" і др.;

· М - процедура завдання на X = [10, 80] нечітких підмножин А1="маленька товщина", А2 = "середня товщина", А3="велика товщина", а також нечітких множин для термів з G(T) відповідно правилам трансляції нечітких в'язок і модифікаторів "и", "або", "не", "дуже", "злегка", операції над нечіткою безліччю вигляду: А З C, АИ C, , CON А = А2, DIL А = А0,5 і ін.

Разом з розглянутими вище базовими значеннями лінгвістичної змінної "товщина" (Т={"маленька товщина", "середня товщина", "велика товщина"}) існують значення, залежні від області визначення Х. В даному випадку значення лінгвістичної змінної "товщина виробу" можуть бути визначені як "близько 20 мм", "близько 50 мм", "близько 70 мм", тобто у вигляді нечітких чисел.

Функції приналежності нечітких множин:

"маленька товщина" = А1, "середня товщина"= А2 " велика товщина"= А3.

Функція приналежності:

нечітка множина "маленька або середня товщина" = А1ИА1.  

    1. Нечіткі вислови і нечіткі  моделі систем

Нечіткими висловами називатимемо вислови  наступного вигляду:

1. Висловлення <b є b'>, де b - ім'я лінгвістичної змінної, b' - її значення, якому відповідає нечітка безліч на універсальній безлічі Х. Наприклад, вислів <тиск велике> передбачає, що лінгвістичній змінній "тиск" надається значення "великий", для якого на універсальній безлічі Х змінній "тиск" визначений, відповідно даному значенню "великий", нечітка безліч.

2. Висловлення <b є mb'>, де m - модифікатор, якому відповідають слова "ДУЖЕ", "Більш менш", "НАБАГАТО БІЛЬШЕ" і ін.

3. Складні висловлення, утворені з висловлень вигляду 1. і 2. і союзів "І", "АБО", "ЯКЩО.., ТОДІ...", "ЯКЩО.., ТОДІ.., ІНАКШЕ".

Висловлення на множині значень фіксованої лінгвістичної змінної

Якщо  значення фіксованої лінгвістичної змінної відповідають нечіткій безлічі однієї універсальної безлічі Х, можна ототожнювати модифікатори "дуже" чи ні" з операціями "CON" і "доповнення", а союзи "І", "АБО" з операціями "пересічення" і "об'єднання" над нечіткою безліччю.

Для ілюстрації поняття лінгвістичною змінною ми як приклад розглядали лінгвістичну змінну "товщина виробу" з базовим терм-безліччю Т = {"маленька", "середня", "велика"}. При цьому на Х = [10, 80] ми визначили нечітку безліч А1, А2, А3, відповідні базовим значенням: "маленька", "середня", "велика".

В цьому випадку вислову <товщина  виробу дуже маленька> відповідає нечітка  безліч CONA = A2; вислову <товщина виробу не велика або середня> - нечітка безліч А2И ; вислову <товщина виробу не маленька і не велика> А1З .

Нечіткі множини в системах управління

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

Спільна структура нечіткого мікроконтролера

Спільна структура мікроконтролера, що використовує нечітку логіку, показана на рис.1. Вона містить:

· блок фаззификации;

· базу знань;

· блок рішень;

· блок дефаззификации.

Блок  фаззификации перетворить чіткі величини, виміряні на виході об'єкту управління, в нечіткі величини, які описані лінгвістичними змінними в базі знань.

Блок  рішень використовує нечіткі умовні ( if - then ) правила, закладені в базу знань, для перетворення нечітких вхідних даних в необхідні впливи, що управляють, які також носять нечіткий характер.

Блок  дефаззификации перетворює нечіткі дані з виходу блоку рішень в чітку величину, яка використовується для управління об'єктом.

Мал. 1. Спільна структура нечіткого мікроконтролера

Як  приклад відомих мікроконтролерів, що використовують нечітку логіку можна назвати 68HC11, 68HC12 фірм Motorola, MCS-96 фірми Intel, а також деякі інші.

Всі системи з нечіткою логікою функціонують за одним принципом: свідчення вимірювальних приладів: фаззифікуються (перетворюються на нечіткий формат), обробляються, дефаззифікуються і у вигляді звичайних сигналів подаються на виконавчі пристрої.

Розглянемо  випадок управління мобільним роботом, завданням якого є об'їзд перешкод. Введемо дві лінгвістичні змінні: ДИСТАНЦІЯ (відстань від робота до перешкоди) і НАПРЯМ (кут між подовжньою віссю робота і напрямом до перешкоди).

Розглянемо  лінгвістичну змінну ДИСТАНЦІЯ. Її значення можна визначити термами ДАЛЕКО, СЕРЕДНЬО, БЛИЗЬКО і ДУЖЕ БЛИЗЬКО. Для фізичної реалізації лінгвістичної  змінної необхідно визначити точні фізичні значення термів цієї змінної. Хай змінна ДИСТАНЦІЯ може набувати будь-яких значень з діапазону від нуля до безкінечності. Згідно теорії нечіткої безлічі, у такому разі кожному значенню відстані з вказаного діапазону може бути поставлено у відповідність деяке число від нуля до одиниці, яка визначає міру приналежності даної фізичної відстані (допустимо 40 см) до того або іншого терму лінгвістичної змінної ДИСТАНЦІЯ. Міру приналежності визначаємо функцією приналежності М-коду(d), де d - відстань до перешкоди. У нашому випадку відстань 40 див. Можна задати міру приналежності до терму ДУЖЕ БЛИЗЬКО рівне 0,7, а до терму БЛИЗЬКО - 0,3 (мал. 2.). Конкретне визначення міри приналежності проходить лише при роботі з експертами. 

Мал. 2. Лінгвістична змінна і функція  приналежності

Змінній НАПРЯМ, яка набуває значень в  діапазоні від 0 до 360 градусів, задамо терми ЛІВИЙ, ПРЯМИЙ і ПРАВИЙ.

Тепер необхідно задати вихідні змінні. У даному прикладі досить однієї, яку  назвемо РУЛЬОВИЙ КУТ. Вона може містити  терми: РІЗКО ВЛІВО, ВЛІВО, ПРЯМО, ВПРАВО, РІЗКО ВПРАВО. Зв'язок між входом і виходом запам'ятовується в таблиці нечітких правил.

Таблиця нечітких правил 

Кожен запис в даній таблиці відповідає своєму нечіткому правилу, наприклад "Якщо дистанція близько і напрям правий, тоді рульовий кут різко вліво".

Таким чином, мобільний робот з нечіткою логікою працюватиме за наступним  принципом: дані від сенсорів про  відстань до перешкоди і напрям до нього будуть фаззифіковані, оброблені згідно табличним правилам, дефаззифіковані, і отримані дані, у вигляді сигналів, що управляють, поступають на приводи робота. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Розділ 2 

2.1. Постановка задачі

Розрахувати дохід фірми,якщо вважати прибуток менший від 1000 гривень – маленьким,більшим 1000 і меншим 10000 – нормальним, більшим 10000 – високим. Дана ціна и кількість товару. 
 

unit Unit1; 

interface 

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls; 

type

  TForm1 = class(TForm)

    Label1: TLabel;

    Label2: TLabel;

    Edit1: TEdit;

    Label3: TLabel;

    Edit2: TEdit;

    Memo1: TMemo;

    Button1: TButton;

    procedure Button1Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end; 

var

  Form1: TForm1; 

implementation 

{$R *.dfm} 

procedure TForm1.Button1Click(Sender: TObject);

var x,y,C: real;

begin

x:=StrToFloat(edit1.Text);

y:=StrToFloat(edit2.Text);

C:=(x*y)*0.2;

Memo1.Clear;

begin

if C<1000 then

Memo1.Lines.Add('Прибуток  дуже маленький'+ FloatToStr(C))

else

if (C>1000) and (C<10000) then

Memo1.Lines.Add('Прибуток  нормальний'+ FloatToStr(C))

else

if C>10000 then

Memo1.Lines.Add('Прибуток  високий'+ FloatToStr(C));

end; 

end;

end. 

 
 
 
 
 
 
 
 
 
 

Висновки

 В данній курсовій роботі я розглянула нечітку логіку та основи теорії нечітких множин.

Коротко перерахую переваги fuzzy-систем в порівнянні з іншими:

· можливість оперувати нечіткими вхідними даними: наприклад, значення (динамічні завдання), що безперервно змінюються в часі, значення, які неможливо задати однозначно (результати статистичних опитів, рекламні компанії і так далі);

· можливість нечіткої формалізації критеріїв оцінки і порівняння: операція критеріями "більшість", "можливо", переважно" і т.д.;

· можливість проведення якісних оцінок як вхідних даних, так і вихідних результатів: ви оперуєте не лише значеннями даних, але і їх мірою достовірності (не плутати з вірогідністю!) і її розподілом;

· можливість проведення швидкого моделювання складних динамічних систем і їх порівняльний аналіз із заданою мірою точності: оперуючи принципами поведінки системи, описаними fuzzy-методами, ви по-перше, не витрачаєте багато часу на з'ясування точних значень змінних і складання рівнянь, що описують, по-друге, можете оцінити різні варіанти вихідних значень.

Вживання нечітких систем

Що  стосується вітчизняного ринку комерційних  систем на основі нечіткої логіки, то його формування почалося в середині 1995 року. Популярними є наступні пакети:

Информация о работе Теория нечеткой логики с применением в Delphi