50198

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

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

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

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

Русский

2014-01-17

68 KB

1 чел.

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

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

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


 

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

25634. Желчь 31 KB
  К ним относятся внутрипеченочные и внепеченочные желчные протоки. К внутрипеченочным принадлежат междольковые желчные протоки а к внепеченочным правый и левый печеночные протоки общий печеночный пузырный и общий желчный протоки. Междольковые желчные протоки вместе с разветвлениями воротной вены и печеночной артерии образуют в печени триады. На этом основании предполагают что междольковые желчные протоки выполняют секреторную функцию.
25635. ИММУННАЯ СИСТЕМА И КЛЕТОЧНЫЕ ВЗАИМОДЕЙСТВИЯ В ИММУННЫХ РЕАКЦИЯХ 37 KB
  Иммунная система объединяет органы и ткани в которых происходит образование и взаимодействие клеток иммуноцитов выполняющих функцию распознавания генетически чужеродных субстанций антигенов и осуществляющих специфическую реакцию. Иммунитет это защита организма от всего генетически чужеродного микробов вирусов от чужих клеток или генетически измененных собственных клеток. В организме взрослого человека она представлена красным костным мозгом источником стволовых клеток для иммуноцитов центральным органом лимфоцитопоэза...
25636. Иммунокомпетентные клетки 51 KB
  Лимфоциты Популяция лимфоцитов функционально неоднородна. Различают три основных вида лимфоцитов: Тлимфоциты Влимфоциты и так называемые нулевые лимфоциты 0клетки. Олимфоциты нулевые лишены поверхностных маркеров и рассматриваются как резервная популяция недифференцированных лимфоцитов. Тлимфоциты самая многочисленная популяция лимфоцитов составляющая 70 90 лимфоцитов крови.
25637. Волокнистые соединительные ткани 45 KB
  Клетки. Основными клетками соединительной ткани являются фибробласты макрофаги тучные клетки адвентициальные клетки плазматические клетки перициты жировые клетки а также лейкоциты мигрирующие из крови; иногда пигментные клетки. Фибробласты фибробластоциты клетки синтезирующие компоненты межклеточного вещества: белки коллаген эластин протеогликаны гликопротеины. Среди мезенхимных клеток имеются стволовые клетки дающие начало дифферону фибробластов: стволовые клетки полустволовые клеткипредшественники...
25638. КОЖА И ЕЕ ПРОИЗВОДНЫЕ 95 KB
  Толщина кожи вирьирует от 05 до 5 мм. У взрослого человека в сосудах кожи может задерживаться до 1 л крови. В некоторых участках кожи например на голове и кистях на 1 см2 ее поверхности насчитывается до 300 чувствительных точек. В первые недели развития зародыша эпителий кожи состоит всего из одного слоя плоских клеток.
25639. Кора большого мозга 56 KB
  Наиболее поверхностного и глубокого слоев коры. Для коры характерно расположение клеток и волокон слоями. Цитоархитектоника коры большого мозга.
25640. Костные ткани 38 KB
  В костной ткани обнаружено более 30 микроэлементов медь стронций цинк барий магний и др. Органическое вещество матрикс костной ткани представлено белками коллагенового типа и липидами. Морфофункциональные свойства костной ткани меняются в зависимости от возраста мышечной деятельности условий питания а также под влиянием деятельности желез внутренней секреции иннервации и др.
25641. Костный мозг 45.5 KB
  В данный период костный мозг накапливает стволовые клетки а клетки стромы с остеогенными потенциями создают микросреду необходимую для дифференцировки стволовых кроветворных клеток. У зародыша 36 нед развития в костном мозге диафиза трубчатых костей обнаруживаются жировые клетки. Он содержит стволовые кроветворные клетки СКК и диффероны гемопоэтических клеток эритроидного гранулоцитарного и мегакариоцитарного ряда а также предшественники В и Тлимфоцитов.
25642. Гистологическое строение трубчатой кости как органа 36 KB
  Компактное вещество образующее диафиз кости состоит из костных пластинок толщина которых колеблется от 4 до 1215мкм. Наружные общие генеральные пластинки не образуют полных колец вокруг диафиза кости перекрываются на поверхности следующими слоями пластинок. Внутренние общие пластинки хорошо развиты только там где компактное вещество кости непосредственно граничит с костномозговой полостью.