50186

Нечеткая логика

Лабораторная работа

Информатика, кибернетика и программирование

Согласно заданным вариантам разработать программу на любом алгоритмическом языке, способную: А. Различать степени изменения лингвистической переменной в трех степенях – «Очень – Нормально – Слабо» Б. Изменять порог чувствительности. 1. Мышонок – Лягушка – Неведома зверушка

Русский

2014-01-17

67.5 KB

8 чел.

Системы искусственного интеллекта

Лабораторная работа №1

Нечеткая логика

Цель работы: создание простейшей системы нечеткой логики, реализованной на языке высокого уровня.

Задание

Согласно заданным вариантам разработать программу на любом алгоритмическом языке, способную:

А. Различать степени изменения лингвистической переменной в трех степенях – «Очень – Нормально – Слабо»

Б. Изменять порог чувствительности.

1. Мышонок – Лягушка – Неведома зверушка

unit Unit1;

interface

uses

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

 Dialogs, ComCtrls, StdCtrls,math, TeEngine, Series, ExtCtrls, TeeProcs,

 Chart;

type

 TForm1 = class(TForm)

   Chart1: TChart;

   Series1: TLineSeries;

   Series2: TLineSeries;

   Series3: TLineSeries;

   Series4: TBarSeries;

   TrackBar1: TTrackBar;

   Label1: TLabel;

   Label5: TLabel;

   Edit1: TEdit;

   Edit2: TEdit;

   Edit3: TEdit;

   Label6: TLabel;

   Label2: TLabel;

   Label3: TLabel;

   Label4: TLabel;

   Label7: TLabel;

   TrackBar2: TTrackBar;

   procedure TrackBar1Change(Sender: TObject);

   procedure TrackBar2Change(Sender: TObject);

   procedure FormCreate(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Form1: TForm1;

 acc:integer;

implementation

{$R *.dfm}

procedure TForm1.TrackBar1Change(Sender: TObject);

var a,b,c,aq:double;

   i:integer;

begin

 label2.Caption:='';

 label3.Caption:='';

 label4.Caption:='';

 label1.Caption:=inttostr(trackbar1.position);

 a:=(1/(1+power(((trackbar1.Position-10+acc)/12),22)));

 b:=(1/(1+power(((trackbar1.Position-35+acc)/12),8)));

 c:=(1/(1+power(((trackbar1.Position-60+acc)/12),12)));

 if a<0.2 then label2.Caption:='Совсем не '+edit1.Text;

 if (a<0.4) and (a>0.2) then label2.Caption:='Чуть-чуть не '+edit1.Text;

 if (a<0.6) and (a>0.4) then label2.Caption:='Немного '+edit1.Text;

 if (a<0.8) and (a>0.6) then label2.Caption:='Весьма '+edit1.Text;

 if (a<1) and (a>0.8) then label2.Caption:='Абсолютно '+edit1.Text;

 if b<0.2 then label3.Caption:='Совсем не '+edit2.Text;

 if (b<0.4) and (b>0.2) then label3.Caption:='Чуть-чуть не '+edit2.Text;

 if (b<0.6) and (b>0.4) then label3.Caption:='Немного '+edit2.Text;

 if (b<0.8) and (b>0.6) then label3.Caption:='Весьма '+edit2.Text;

 if (b<1) and (b>0.8) then label3.Caption:='Абсолютно '+edit2.Text;

 if c<0.2 then label4.Caption:='Совсем не '+edit3.Text;

 if (c<0.4) and (c>0.2) then label4.Caption:='Чуть-чуть не '+edit3.Text;

 if (c<0.6) and (c>0.4) then label4.Caption:='Немного '+edit3.Text;

 if (c<0.8) and (c>0.6) then label4.Caption:='Весьма '+edit3.Text;

 if (c<1) and (c>0.8) then label4.Caption:='Абсолютно '+edit3.Text;

 aq:=a+b+c;

 label2.Caption:=label2.Caption+' '+inttostr(round(a/aq*100))+'%'+edit1.Text;

 label3.Caption:=label3.Caption+' '+inttostr(round(b/aq*100))+'%'+edit2.Text;

 label4.Caption:=label4.Caption+' '+inttostr(round(c/aq*100))+'%'+edit3.Text;

 series4.Clear;

 for i:=1 to 100 do if i<>trackbar1.Position then

   series4.Add(0) else series4.Add(1);

end;

procedure TForm1.TrackBar2Change(Sender: TObject);

var a,b,c:double;

   i:integer;

begin

 acc:=trackbar2.Position;

 series1.Clear;

 series2.Clear;

 series3.Clear;

 series4.Clear;

 for i:=1 to 100 do begin

   a:=(1/(1+power(((i-10+acc)/12),22)));

   series1.Add(a);

   b:=(1/(1+power(((i-35+acc)/12),8)));

   series2.Add(b);

   c:=(1/(1+power(((i-60+acc)/12),12)));

   series3.Add(c);

 end;

end;

procedure TForm1.FormCreate(Sender: TObject);

var a,b,c:double;

   i:integer;

begin

 acc:=0;

 series1.Clear;

 series2.Clear;

 series3.Clear;

 series4.Clear;

 for i:=1 to 100 do begin

   a:=(1/(1+power(((i-10+acc)/12),22)));

   series1.Add(a);

   b:=(1/(1+power(((i-35+acc)/12),8)));

   series2.Add(b);

   c:=(1/(1+power(((i-60+acc)/12),12)));

   series3.Add(c);

 end;

end;

end.

Вывод: научились создавать простейшую системы нечеткой логики, реализованной на языке высокого уровня.


 

А также другие работы, которые могут Вас заинтересовать

73906. Ленінський етап в розвитку політичної економії 33 KB
  Реалізація цієї концепції соціалістичного будівництва що розроблялась Леніним як обгрунтування курсу партії на соціалістичну революцію і базувалась на двох складових диктатурі пролетаріату та суспільній власності натрапила на неможливість негайного вирішення проблеми формування соціалістичної власності. Можливість вирішення проблеми співвідношення сил капіталізму та соціалізму на користь останнього Троцький убачав у негайному усуспільненні виробництва тобто встановленні...
73907. Українська школа марженалізму на межі 18-20 століття. М. І. Туган-Барановський, О. Білімович, р. Орженецький, М. Ковалевський, Є. Слуцький, А. Антонович 46 KB
  Він детально викладає теорію цінності Менгера підтримує критику австрійською школою трудової теорії вартості і особливо теорії вартості К. Білимович бачить заслугу австрійської школи саме в тім що вона виступила проти трудової теорії вартості завдяки чому всі теоретичні розробки Маркса положення про двоїстий характер праці робочу силу як товар додаткову вартість як і вся теорія експлуатації зависла у повітрі1. Сприйняття і пропаганду суб\'єктивнопсихологічної теорії цінності австрійської школи в Росії й Україні було доповнено...
73908. Революційно-демократичний напрям економічної думки в Україні. АС. Подолинський, І. Франко, О. Терлецький, В Навроцький 61 KB
  Франко О. Франко та інші. Франко 1856 1916 великий український письменник мислитель історик філософ літературознавець. Франко дослідженню економіки Галичини становищу селянства й робітничого класу.
73909. Ліберальні напрями економічної думки в Україні в 19 столітті. М. Зібер, М. Драгоманов, М. Довнар-Запольський 33 KB
  Драгоманов М. Михайло Петрович Драгоманов 1841 1895 видатний український мислитель історик публіцист етнограф літературний критик. Драгоманова як політично неблагонадійного було звільнено з посади викладача. Драгоманова в розвитку української і національної ідеї.
73910. Сучасний монетаризм М. Фрідмен 57.5 KB
  Монетаризм являє собою одну з найвпливовіших шкіл сучасної економічної науки, що належать до некласичного напряму. Він розглядає явища господарського життя крізь призму процесів, що відбуваються у сфері грошового обігу...
73911. Економічна думка країн Давнього Сходу й Передньої Азії. Давньоєгипетські джерела. Закони Ешнунни. Ліпіт Іштара. Хаммурапі 28.5 KB
  До нашої доби дійшли Повчання гераклеопольського царя своєму синові Мерікара Проречення Іпусера Пророцтво Неферті Повчання Ахтоя сина Дуауфа своєму синові Піопі різні адміністративногосподарські та юридичні документи. Так наприклад Повчання гераклеопольського царя своєму синові Мерікара XXII ст. Тоді вони працюватимуть задля царя як один загін і не буде серед них бунтарів1. є закони вавилонського царя Хаммурапі.
73912. Економічна думка в Україні в пореформений період 19 століття. М. Бунге, Д. Піхно, С. Вітте, І. Сокальський 22 KB
  Бунге Д. Бунге професор згодом ректор Київського університету у 80ті рр. Бунге вказував на велике значення для розвитку політичної економії правильного визначення її предмета і вважав що складність такого визначення пояснюється позицією ліберальної економічної школи та соціалістів. Бунге критикував соціалістів за те що вони засуджували існуючий порядок і вбачали свій ідеал у новій організації праці у вигаданих формах суспільного устрою3.
73913. Створення К. Марксом і Ф. Енгельсом пролетарської політекономії : початок формування економічного вчення марксизму. Структура та основні проблеми “Капіталу” Пізні наукові праці 42 KB
  Структура та основні проблеми Капіталу Пізні наукові праці . Теоретичні проблеми Капіталу К. Кілька рукописних варіантів Капіталу 1857 1865 Критика політичної економії До критики політичної економії другий та третій попередні варіанти Капіталу у вигляді нарисів та закінчених теоретичних викладок давно були готові до друку однак Маркс намагався надати цьому твору характеру вичерпної логічно закінченої теорії. Однак вихід у світ одночасно всіх томів Капіталу не пощастило забезпечити: праця тривала надалі а...
73914. Маржинальна революція: австрійська школа “граничної корисності” (К. Менгер, Ф. Візер, О. Бьом-Баверек). Принципи економікс А. Маршалла 36.5 KB
  Маржинальна революція : австрійська школа граничної корисност К. Її теоретичними принципами були субєктивний ідеалізм та теорія граничної корисності. Центральне місце в концепціях австрійської школи посідає так звана теорія граничної корисності.Візер розвивав ідеї Менгера у працях Походження й основні закони господарської цінності 1884 Природна цінність 1889 Закон влади 1926 використовуючи принцип граничної корисності для оцінки вартості витрат виробництва.