50151

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

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

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

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

Русский

2014-01-16

67.5 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.

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


 

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

75860. Лінгвістичні засоби впливу в рекламі. Маніпулятивні стратегії 56.5 KB
  Что касается грамматической организации рекламных текстов, она представляет собой удивительное своеобразие на фоне нескончаемой однородности. Относительно порядка слов следует подчеркнуть употребление инверсии и пассивных конструкций - Detroit Edison is pleased to be
75862. Визначення і методи комп. Бібліографування та реферування 24.53 KB
  К аналитическим методам относятся: Общий библиографический анализ документа осуществляемый в целях выяснения ее основной тематики формальных и содержательных особенностей достоинств и недостатков целевого и читательского назначения; Библиографическое описание документа...
75863. Термінологія та термінографія 103.5 KB
  Теорією і практикою укладання словників займається термінологічна лексикографія. Розроблення загальної класифікації документів є одним із провідних напрямків документознавства класифікація термінологічних словників розглядається в колі проблематики термінографії. Метою дослідження є встановлення видових і типологічних особливостей термінологічних словників розроблення класифікаційної схеми. Це створить передумови для розроблення методології та конкретних способів укладання спеціальних словників вироблення науково обґрунтованих принципів...
75864. Термінологія та термінографія. Термінологічні словники 25.71 KB
  Термины очень специфический предмет исследования. В отличие от слов разговорного языка и языка художественной литературы термины языковое средство профессиональной деятельности людей естественный компонент любого профессионального процесса. Термины функционируют и развиваются вместе с функционированием и развитием своей отрасли. Это придает используемым в ходе профессиональной деятельности языковым средствам среди которых доминируют термины особую значимость.
75865. Види інформаційно-пошукових систем. Ключові слова. Пошуковий образ документу. Інформаційно-пошукова мова 27.06 KB
  По характеру предоставления логической организации хранимой информации ИПС разделяются на фактографические документальные и геоинформационные. В документальных единичным элементом информации является нерасчлененный на более мелкие элементы документ и информация при вводе как правило не структурируются или структурируются в ограниченном виде. Для вводимого документа могут устанавливаться некоторые формализованные позиции дата изготовления исполнитель тематика. Некоторые виды документальных информационных систем обеспечивают установление...
75866. Соціолект. Види соціолектів 26.42 KB
  Койне. Термин койне первоначально применялся лишь к общегреческому языку который сложился в 43 вв. В современной социолингвистике койне повседневное общение которое связывает людей говорящих на разных региональных или социальных вариантах данного языка. В роли койне могут выступать наддиалектные формы языка своеобразные интердиалекты объединяющие в себе черты разных территориальных диалектов или один из языков функционирующих в данном ареале.
75867. Соціолінгвістика. Провідні поняття соціолінгвістики. Провідні поняття соціолінгвістики. Комунікативна ситуація 29.18 KB
  Под социальными условиями имеется в виду комплекс внешних обстоятельств в которых реально функционирует и развивается язык: общество людей использующих данный язык социальная структура этого общества различия между носителями языка в возрасте социальном статусе уровне культуры и образования месте проживания а также различия в их речевом поведении в зависимости от ситуации общения. Языковое сообщество это совокупность людей объединенных общими социальными экономическими политическими и культурными связями и осуществляющих в...
75868. Технічне забезпечення інтернет-комунікації. Інтернет-каталоги та пошукові машини. Інформаційно-пошукова мова. Дескриптори 31.73 KB
  Інтернеткаталоги та пошукові машини. Интернеткаталог англ. Сайты внутри каталога разбиваются по темам а внутри тем могут быть ранжированы или по индексу цитирования как в каталогах Яндекса или Google или по дате добавления или по алфавиту или по другому параметру. В зависимости от широты тематики ссылок каталоги могут быть общими и специализированными тематическими.