50193

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

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

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

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

Русский

2014-01-17

68 KB

4 чел.

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

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

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


 

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

25518. Понятие, особенности молодой семьи 15.71 KB
  Понятие Молодая семья давно используется в демографической социологической педагогической литературе. Использовалось в постановлении ЦК КПСС и совета министров СССР от 22 января 1981 г О мерах по усилению государственной помощи семьям имеющим детей. Затем стало выделяться понятие студенческая семьясм. Молодая семья возраст каждого из супругов которой не превышает 30 лет либо не полная семья состоящая из 1 молодого родителя возраст которого не превышает 30 и одного и более детей.
25519. Семья 13.04 KB
  Существует ряд подходов определения семья: Ожегов: СЕМЬЯ это группа живущих вместе близких родственников. Традиционное определение: СЕМЬЯ это важнейшая форма организации личной жизни вид социальной общности малая группа основанная на супружеском союзе родственных связей или усыновлении т.: СЕМЬЯ это историческиконкретная система взаимоотношений между супругами между родителями и детьми малая социальная группа члены которой связаны брачными и родительскими отношениями общностью бытом и взаимной моральной ответственностью...
25520. Государственная поддержка семей с детьми 12.08 KB
  Виды пособий: По беременности и родам; Ежемесячные пособие на период отпуска по уходу за ребенком до достижения возраста 15 года; Единовременное пособие женщинам ставшим на учет в медицинское учреждение в ранние сроки беременности до 12 недель; Единовременное пособие при рождении ребенка; Ежемесячные пособия на ребенка до достижения 16 лет на учащегося в общеобразовательном учреждении до окончания им обучения но не более чем до 18 лет; Единовременное пособие беременным женам военнослужащих проходящих военную службу по призыву;...
25522. Принятая генеральной ассамблеей ООН 13.86 KB
  1994 год был объявлен ООН Международным годом семьи. Идеология и стратегия семейной политики разработанные ООН и закрепленные в ее резолюциях посвященным году семьи и других материалов заключается в следующем: 1 семья как важнейшая ячейка общества заслуживает внимания защиты и поддержки со стороны государства независимо от типов семей многообразия индивидуальных предпочтений и социальных условии. На основе анализа руководящих принципов по вопросам семьи разработанных комитетом по вопросам семьи ООН можно выделить наиболее важно...
25523. Проблемная семья: сущность, типы 17.45 KB
  Сущность психологического содержания понятия проблемная семья традиционно имеет как широкое так и узкое толкование в специальной литературе. Например к проблемным семьям в этом случае можно отнести молодую семью не решившую задачу дифференциации от родительской семьи не разрешившую конфликты между личными и кооперативными потребностями. Дисфункциональная семья семья плохо или вовсе не выполняющая основные семейные функции.
25524. Конструкционные сплавы черных металлов. Стали и чугуны 136 KB
  Легированная сталь — сталь, которая кроме обычных примесей содержит элементы, специально вводимые в определённых количествах для обеспечения требуемых физических или механических свойств. Эти элементы называются легирующими.
25526. Возможности устранения супружеских конфликтов 15.44 KB
  Как уже указывалось чтобы научиться управлять ссорой нужно научиться управлять собственным эмоциональным состоянием. Тогда получается что для того чтобы эффективно управлять ситуацией возникновения ссоры и попытаться предотвратить ее человек должен научиться управлять собственным раздражением недовольством уметь сводить их на нет. И для того чтобы эффективно управлять ситуацией возникновения ссоры и попытаться предотвратить ее человек должен научиться управлять собственным раздражением недовольством уметь сводить их на нет.