50186

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

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

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

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

Русский

2014-01-17

67.5 KB

5 чел.

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

Лабораторная работа №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.

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


 

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

54108. Базовые функции культуры 35 KB
  Человекотворческая функция. или гуманистическая функция. цицерон говорил о ней - cultura animi - возделывание, взращивание духа. бердяев считал, что судьбу нашего отечества должны решать люди с обновленным духом, иной волей к преображению жизни. все остальные функции так или иначе связаны с этой и даже вытекают из нее.
54109. День матері, Година спілкування 34 KB
  З часом воно поширилось і в інші країни світу. В Україні це свято відзначають вже 83 роки. Особливо готуються до цього свята діти. Вони дарують матусям власноруч виготовленні сувеніри та багато теплих, ласкавих та ніжних слів. Дякують за тепло, турботу та безмежну любов своїх матусь).
54111. Матусю моя дорогенька, це свято даруєм тобі 55.5 KB
  Вчитель: 8 березня – свято наших мам, бабусь, сестричок. Разом із приходом весни завітало до нас це перше весняне свято. Його ми присвячуємо найдорожчим, найріднішим людям.
54112. Свято Матері 63.5 KB
  Її любов до дитини безмежна й щира. Матусю мила найрідніша в світі Ти наше сонце щире і ясне Ти дбаєш щоб завжди ми були ситі Твоя любов дитину не мине. Найбільше щастя – мати для дитини Її любов і ласка щирий сміх.
54113. Вплив автотранспорту та сільгосптехніки на довкілля 260 KB
  Розвивати соціальні компетентно-комунікативні навички, приймати участь в дискусіях, співробітництві в групах, розвивати спостережливість, творчі, акторські здібності, розширювати кругозір студентів, викликати бажання до пошуку відповідей на запитання в книжках науково-пізнавального характеру, художній і народознавчій літературі, виховувати бережливе ставлення до природи.
54114. Мандрівка в місто культури 71.5 KB
  Раптом вибігає Поміха- Неуміха. Вона одягнена в чорне плаття, волосся розтріпане, на грудях плями, на обличчі - бруд. Вихоплює конверт, швидко продивляється лист і зловтішно викрикує:
54115. Зниклі цивілізації 52 KB
  Сьогодні ми зібралися у цій затишній кімнаті, щоб поговорити про відоме і невідоме, про знане і незнане, про фантастику і реальність. Свідомість людини швидко звикає до чогось нового, раніше незвіданого. Тунель під Ла-Маншем, пілотовані космічні польоти, всесвітня комп’ютерна мережа – усе це частина нашого сьогодення, реальності, яка ще років сто тому здалася б найсміливішою фантазією. Одначе для тих, хто народився після втілення в життя технічної новинки, воно вже не є чудом.
54116. ТЕМАТИЧНА МАНДРІВКА «МИ-УКРАЇНЦІ» 242.5 KB
  Мета: поглиблювати уявлення учнів про свою Батьківщину; розширювати поняття «громадянин», розвивати прагнення бути свідомим громадянином України, її патріотом; розвивати мовлення, уміння спостерігати; сприяти вихованню патріотичних почуттів.