50209

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

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

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

Различать степени изменения лингвистической переменной в трех степенях – «Очень – Нормально – Слабо» Б. Изменять порог чувствительности. 1. Казанова – Генрих VIII – верный лебедь

Русский

2014-01-18

68 KB

2 чел.

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

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

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

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

Задание

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

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

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

1. Казанова – Генрих VIII – верный лебедь

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.

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


 

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

77509. Землетрясения и сейсмическая опасность 31.5 KB
  При недостаточной прочности сейсмостойкости конструкций происходят их повреждения различной степени или разрушения. Анализ последствий землетрясений показывает что здания различной конструкции получают следующие повреждения если сейсмические воздействия превышают расчетные для зданий запроектированных с учетом требований...
77510. ПОЖАРЫ И ВЗРЫВЫ 29.08 KB
  Результат распределения энергии по видам характеризует степень опасности для человека и окружающей территории далее объекта безопасности которая обусловлена негативным воздействием на объект безопасности и заключается в формировании опасных факторов часть из которых может быть поражающими Объекты на которых могут возникать опасные явления со взрывами и пожарами относят к классу взрывопожароопасных. В физикохимической основе пожара лежит процесс горения. Продвижение людей и техники по застроенной территории между отдельными пожарами...
77511. Повышение устойчивости объектов экономики 25.02 KB
  Принципы разработки и реализации мероприятий по повышению устойчивости объекта экономики. Поскольку на промышленном объекте с течением времени условия обстановка характеристики отдельных элементов оборудование технологический процесс могут меняться то необходимо периодически по планам министерств и ведомств в установленные сроки проводить исследования и оценку устойчивости функционирования объекта в ЧС в том числе в военное время. Цель исследования состоит в том чтобы выявить уязвимые места в функционировании объекта в ЧС особенно в...
77512. Природные факторы опасности 27.27 KB
  Классификация природных факторов опасности. Стихийные бедствия и явления. Геологические ЧС. Метеорологические опасности. Гидрологические опасности. Природные пожары. Лесные пожары. Торфяные пожары. Степные пожары.
77513. Оценка обстановки при природных ЧС 23.4 KB
  Планирование и заблаговременное проведение предупредительных мероприятий по борьбе с заторами льда необходимо осуществлять на основе прогнозирования максимальных уровней воды при ледоходе. В основном мероприятия связаны со способами влияния на толщину льда перед вскрытием. Подобное воздействие на процесс образования зажоров позволит снизить уровни воды периода ледостава а также снизить толщину льда в местах где традиционно образуются зажоры а затем заторы. В случае установления ледостава с высоким уровнем воды зажорно заторного характера...
77514. Техногенные ЧС. Классификация АХОВ 30.9 KB
  Классификация АХОВ. Классификация АХОВ. Выбросы аварийных химически опасных веществ АХОВ могут произойти при повреждениях и разрушениях емкостей при хранении транспортировке или переработке. Кроме того некоторые нетоксичные вещества в определенных условиях взрыв пожар в результате химической реакции могут образовать АХОВ Химически опасный объект ХОО предприятие народного хозяйства при аварии или разрушении которого могут произойти массовые поражения людей животных и растений АХОВ.
77515. Внутривидовые взаимоотношения, опосредованные сигнальными веществами 380.5 KB
  Первая группа вещества участвующие во внутривидовых взаимодействиях: аутотоксины отбросы токсичные для организмапродуцента и не приносящие пользы другим видам; аутоингибиторы адаптации сдерживают численность популяции в таких пределах чтобы она находилась в равновесии с окружающей средой; феромоны выполняют различные функции например половые феромоны общественные феромоны феромоны тревоги и обороны феромоныметчики. К ним можно отнести экохемомедиаторы различного типа: половые феромоны и аттрактанты обнаруженные у грибов...
77516. Межвидовые взаимоотношения, опосредованные сигнальными веществами. Алломоны и кайромоны 547 KB
  Межвидовые взаимоотношения опосредованные сигнальными веществами. К первой группе относятся: метаболиты выделяемые потенциальным грибомхозяином индуцирующие и направляющие рост гиф паразита; вещества выделяемые паразитическим грибом и вызывающие рост гиф хозяина по направлению к колонии микопаразита. Ко второй группе относятся вещества с помощью которых оказывается противодействие паразитам: антифунгальные вещества и антибиотики обладающие антифунгальным действием синтезируются как грибами которые являются непосредственными...
77517. Химические основы коммуникации у человека 461 KB
  Химические основы коммуникации у человека. Вомероназальный орган его происхождение и функции у позвоночных и человека. Феромонная коммуникация у человека. У млекопитающих животных и человека вкусовые органы помещаются главным образом на сосочках языка и отчасти на мягком нёбе и задней стенке глотки.