50139

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

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

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

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

Русский

2014-01-16

67 KB

2 чел.

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

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

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


 

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

7942. Освіта у XVIII - XIX ст. та роль Києво-Могилянської академії в культурному та історичному житті 110.03 KB
  Освіта у XVIII - XIX ст.та роль Києво-Могилянської академії в культурному та історичному житті Нижча освіта в Україні у кін.17 -поч. 18ст. була дуже поширеною, бо майже кожне село мало свою школу. Існува...
7943. Витоки Української культури 119 KB
  Тема Витоки Української культури. Мета: Розглянути первісну культуру народів, що заселяли території сучасної України розвивати в ліцеїстів вміння розрізняти аспекти культурології як наукового знання виховувати патріотизм та гордість за приналежніс...
7944. Поняття суспільство,суспільне, соціальне, соціум. Суспільство як самоорганізована система 53.5 KB
  Поняття суспільство,суспільне, соціальне, соціум. Суспільство як самоорганізована система У переважній більшості суспільствознавчої літератури (як у минулому, так і тепер) подається тлумачення, що поняття суспільство і соціум є тотожними та рівн...
7945. Поняття про природу. Природа як об’єкт знання та пізнання. 68 KB
  Етимологічно, тобто відповідно до первісного значення слова, поняття природа є похідним від слів при роді (тобто родовій общині, формі спільноти людей, повязаних між собою кровною спорідненістю), при родах, при породіллі (тобто при народженні, адже природа породжує людину). Але це поняття і в літературі, і в буденній мові вживається неоднозначно
7946. Роль природно-історичного середовища і спадковості у формуванні та розвитку людини 46.5 KB
  Тема уроку: Роль природно-історичного середовища і спадковості у формуванні та розвитку людини. Мета уроку: З’ясувати роль природно-історичного середовища і спадковості у формуванні та розвитку людини, сформувати природні, соціокультурні та дух...
7947. Сутність людини та сенс людського життя 22.85 KB
  Тема Сутність людини та сенс людського життя Мета: Проаналізувати та визначити основні поняття сутності людини та сенсу людського життя розвивати вміння критично аналізувати різні точки зору на певну проблему виховувати толерантне ставлення до пра...
7948. Ценообразование. Конспект лекций 526.5 KB
  В конспекте лекций изложены основные подходы к ценообразованию на современном этапе, рассмотрены вопросы государственного регулирования цен и ценовой политики предприятия. Содержание Введение...
7949. Понятие внутренней картины болезни и здоровья 283.5 KB
  Понятие внутренней картины болезни и здоровья. Определение понятия внутренняя картина болезни. Внутренняя картина болезни = понятие, введенное отечественным терапевтом Романом Альбертовичем Лурией. Лурия Роман Альбертович, (1874-1944гг)...
7950. Педагогика. Ответы на государственный экзамен 745 KB
  № 1. Предмет и задачи педагогической науки. Методы научно-педагогического исследования. 3 № 2. Закономерности и принципы целостного пед процесса. 6 №3. Сущность воспитания. Современные подходы к воспитанию (В) 9 № 4. Биологическое и соц. в ра...