49997

Нечеткая логика. Создание простейшей системы нечеткой логики

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

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

Создание простейшей системы нечеткой логики реализованной на языке высокого уровня. Задание Согласно заданным вариантам разработать программу на любом алгоритмическом языке способную: Различать степени изменения лингвистической переменной в трех степенях...

Русский

2015-01-29

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.

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


 

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

15842. ПЯТЬ ГОЛЛАНДСКИХ ФИЛЬМОВ, ПОСТАВЛЕННЫХ В ВООБРАЖЕНИИ 170 KB
  Питер Гринуэй ПЯТЬ ГОЛЛАНДСКИХ ФИЛЬМОВ ПОСТАВЛЕННЫХ В ВООБРАЖЕНИИ Фрагменты лекции Питера Гринуэя прочитанной на семинаре Воинствующее кино Утрехт Нидерланды 25 сентября 1988 года. Кино слишком богатое возможностями средство коммуник...
15843. ДОКУМЕНТАЛЬНОЕ КИНО - ИСКУССТВО СЛЕДУЮЩЕГО ТЫСЯЧЕЛЕТИЯ 51.5 KB
  Д. Луньков Л. Джулай ДОКУМЕНТАЛЬНОЕ КИНО ИСКУССТВО СЛЕДУЮЩЕГО ТЫСЯЧЕЛЕТИЯ Постфестивальные диалоги Дмитрий Алексеевич Луньков режиссер и сценарист теоретик и популяризатор документального кино. Мы знакомы так давно что я и запамятовала когда и где состо
15844. Условия интерференционного максимума и минимума. Оптическая разность хода 66 KB
  Для получения когерентных световых волн применяют метод разделения волны на 2 части, которые после прохождения разных оптических путей накладываются друг на друга и наблюдается интерференционная картина.
15845. Сочинение фильма 137.5 KB
  Отар Иоселиани СОЧИНЕНИЕ ФИЛЬМА1 Беседу ведет Татьяна Иенсен Искусство кино №4 1993г. Татьяна Иенсен. В одном из интервью вы обмолвились что снимая фильмы задаетесь целью не рассказать зрителю некую историю а показать. Отар Иоселиани. Ну что такое не расска...
15846. Кино и семиотика реальности 126.5 KB
  Имманентная биография Кино и семиотика реальности Пьера Паоло Пазолини €œДавайте внимательно просмотрим шестнадцатимиллиметровую пленку на которой заснят момент убийства президента Кеннеди. Эта пленка есть типичнейший планэпизод. Самый типичный из всех возможн...
15847. Эйзенштейн сегодня 93.5 KB
  Н.Клейман О.Косолапов Н.Сиривля ЭЙЗЕНШТЕЙН СЕГОДНЯ1 Наталья Сиривля. Со дня смерти Эйзенштейна прошло уже почти пятьдесят лет но мы до сих пор не в состоянии освоить его наследие. Отношение к нему все время меняется: мы то низвергаем его то вновь водружаем на пьеде
15848. Проблема постмодерна и фильм Питера Гринауэя «Брюхо архитектора» 154.5 KB
  Г. С. Кнабе Проблема постмодерна и фильм Питера Гринауэя Брюхо архитектора Кнабе Г.С. Древо познания древо жизни. М.: РГГУ 2006 с. 331344 Предметом настоящих заметок будет духовная и социокультурная ситуация в которой сегодня находится большая ч
15849. КИНО — ИСКУССТВО ИЗОБРАЗИТЕЛЬНОЕ 56.5 KB
  Aлександр Княжинский €œКИНО ИСКУССТВО ИЗОБРАЗИТЕЛЬНОЕ€1 Из лекции во ВГИКе Давайте начнем с самого начала... Первое к чему я вас призываю никогда не натаскивайте в павильон где вам предстоит снимать много реквизита. Что обычно происходит в процессе съемки Ас...
15850. Взрывобезопасность. Взрывозащищенное (Ex) оборудование 488 KB
  Вид взрывозащиты – специальные меры, предусмотренные в электрооборудовании с целью предотвращения воспламенения окружающей взрывоопасной среды; совокупность средств взрывозащиты электрооборудования, установленная нормативными документами.