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.

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


 

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

78352. Металлы и сплавы. Химические свойства металлов и сплавов 238.97 KB
  Химические свойства металлов. Добывание металлов из руд. Правда магний и алюминий сохраняют свой блеск даже будучи превращенными в порошок но большинство металлов в мелкораздробленном виде имеет черный или темносерый цвет.
78353. Комплексные соединения 531.93 KB
  Ионы некоторых элементов способны присоединять к себе другие ионы или нейтральные молекулы (например, NH3), образуя более сложные комплексные ионы. При их связывании с ионами противоположного знака получаются различные комплексные соединения. Наиболее полно свойства и строение комплексных соединений объясняет координационная теория
78354. Химические свойства элементов 157.55 KB
  При нагревании они соединяются с водородом с образованием гидридов с галогенами серой азотом фосфором углеродом и кремнием с образованием соответственно галогенидов сульфидов нитридов фосфидов карбидов и силицидов: При нагревании щелочные металлы способны реагировать с другими металлами образуя интерметаллиды. Иногда для получения щелочных металлов проводят электролиз расплавов их гидроксидов...
78355. Органические соединения. Простые и кратные связи в органических соединениях. Предельные и непредельные углеводороды 70.48 KB
  Изомерия органических соединений. Классификация органических соединений. Берцелиусу определить органическую химию как химию соединений углерода 1806 г. Именно это свойство позволяет углероду образовывать миллионы соединений изучению которых посвящена целая область органическая химия.
78356. Макроэкономическое регулирование национальной экономики 33.31 KB
  Государственная социальная политика. Это совокупность мероприятий в сфере налогообложения направленных на формирование доходной части государственного бюджета повышение эффективности функционирования всей национальной экономики обеспечение экономического роста занятости населения и стабильности денежного обращения Фискальная политика это система регулирования экономики посредством изменений государственных расходов и налогов. Фискальная политика может как благотворно так и достаточно болезненно воздействовать на стабильность...
78357. Экономический рост национальной экономики 63.55 KB
  Факторы экономического роста.Основы методологии расчетов темпов экономического роста. Показатели параметры экономического роста. Как известно темпы экономического роста определяют важнейшие характеристики хозяйствования такие как: динамика объемов производства в системе в целом отдельных ее отраслях и регионах; прогрессивные отраслевые сдвиги; скорость и степень совершенствования структуры национальной экономики; изменение величины и структуры потребления и накопления в стране; динамика уровня жизни населения страны в целом и...
78358. Конкурентоспособность национальной экономики 51.67 KB
  Понятие конкурентоспособности экономической деятельности.Оценка конкурентоспособности национальной экономики. Предпосылки конкурентоспособности национальной экономики ее отраслей и отдельных экономических агентов. Понятие конкурентоспособности экономической деятельности Что же понимать под конкурентоспособностью любого экономического агента.
78359. Региональные процессы в национальной экономике 31.27 KB
  Вместе с тем государство должно обеспечивать системные условия для устойчивого экономического развития страны благоприятной жизнедеятельности населения и рационального использования имеющегося ресурсного потенциала. Реализация вышеуказанных задач должна учитывать геоэкономические и геополитические факторы развития страны. Глобализация и усиление международной конкуренции требуют выработки эффективной стратегии позиционирования страны на мировых рынках. Настоящая Стратегия определяет стратегические направления территориального...
78360. Национальная экономическая деятельность и международные экономические отношения 39.82 KB
  Факторы влияющие на международные экономические позиции страны. Факторы влияющие на международные экономические позиции страны На международные экономические позиции нации оказывают влияние такие факторы как уровень развития национальной экономики структура национальной экономики ее экономическое могущество. Развитые и индустриальные страны занимают первое место в мировом импорте и экспорте. В то время как развитые страны импортируют главным образом сырьевые материалы и продукты питания а экспортируют в основном готовую продукцию...