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.

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


 

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

82472. Налогово-бюджетная система и налогово-бюджетная политика. Кривая Лаффера 147.69 KB
  Бюджетноналоговая политика – это такая политика которая направлена на стабилизацию экки с помощью гос. От качества федерального бюджета от уровня собираемости налогов зависят инвестиционные возможности госва уровень соц. защиты граждан предпринимательская активность взаимоотношения РФ с другими странами и в целом результативность всей внутренней и внешней политики госва. Бюджетноналоговая политика представляет собой совокупность мер правительства по изменению гос.
82473. Бюджетный дефицит и способы его финансирования(дискреционная и недискреционная налогово-бюджетная политика, встроенные стабилизаторы) 34.35 KB
  Дискреционная гибкая налоговобюджетная политика – это сознательное манипулирование со стороны законодательной власти налогообложением и государственными расходами с целью воздействия на уровень экономической активности. Недискреционная налоговобюджетная политика – это автоматические изменения в уровне налоговых поступлений независимые от принятия решений правительством. Законодательный орган определяет только ставки налогов а не размер налоговых поступлений бюджетная политика является результатом действия автоматических или встроенных...
82474. Проблема сбалансированности государственного бюджета. Государственный долг и его экономические последствия 34.92 KB
  Различают два вида государственного долга: внутренний и внешний. Серьезные проблемы и негативные последствия большого государственного долга заключаются в следующем:  Снижается эффективность экономики поскольку отвлекаются средства из производственного сектора экономики как на обслуживание долга так и на выплату самой суммы долга;  Перераспределяется доход от частного сектора к государственному;  Усиливается неравенство в доходах;  Рефинансирование долга ведет к росту ставки процента что вызывает вытеснение инвестиций в...
82475. Инфляция и антиинфляционная политика. Причины и виды инфляции. Эффект Фишера. Кривая Филлипса 35.29 KB
  Причины и виды инфляции. Антиинфляционная политика это комплекс мер по государственному регулированию экономики направленный на подавление инфляции. Причины инфляции: нарушение закона денежного обращения; диспропорции между спросом и предложением; диспропорции между доходами и расходами государства; диспропорции между источниками кредитных ресурсов и их использованием; диспропорции между денежной массой в обращении и реальными потребностями. Виды инфляции...
82476. Социальная политика государства. Кривая Лоренца и коэффициент Джини 40.92 KB
  Кривая Лоренца и коэффициент Джини. Для измерения фактического распределения доходов используюткривую Лоренца и коэффициент Джинипоказывающие какая доля совокупного дохода приходится на каждую группу населения что позволяет судить об уровне экономического неравенства в данной стране. Кривая Лоренца это метод графического изображения уровня концентрации явления. Равномерное распределение признака будет представлено в таком случае диагональю называемой линией равномерного распределения а неравномерное линией Лоренца...
82477. Экономический цикл: понятие, модели, виды. Государственное антициклическое регулирование 33.31 KB
  Кейнсианский подход: государством используются финансовобюджетные инструменты денежнокредитная политика играет вспомогательную роль. В фазе кризиса и депрессии увеличиваются государственные расходы проводится политика дешевых денег. Классический подход: основным инструментом является денежнокредитная политика. Проводится политика дорогих денег кредитная рестрикция путем повышения ставок что должно содействовать борьбе с перенакоплением капитала.
82478. Финансовая система. Госбюджет и его структура. Центральный банк и кредитно-финансовые институты 28.16 KB
  Финансовая система: Финансы властных структур Федеральные финансы Бюджет Внебюджетные фонды Пенсионный фонд Фонд социального страхования Фонд обязательного медицинского страхования Финансы субъектов Федерации Бюджет Внебюджетные фонды Финансы местного самоуправления Бюджет Финансы предприятий Финансы населения Финансы властных структур делятся на государственные и муниципальные местного самоуправления. Финансы федеральной власти субъектов Федерации и муниципальные финансы делятся на бюджетные фонды или проще бюджеты и...
82479. Денежно-кредитная система. Кредиты, их формы. Предложение кредитных денег коммерческими банками 33.21 KB
  Кредиты предоставляются на основе следующих принципов: возвратности означает необходимость возврата полученных от кре дитора финансовых ресурсов в полном объеме; срочность отражает необходимость его возврата не в любое приемле мое для заемщика время а в точно определенный срок зафиксированный в кредитном договоре; платность кредита выражает необходимость не только прямого воз врата кредита но и оплаты права на его использование в виде ссудного про цента; обеспеченность кредита выражает необходимость обеспечения защи ты...
82480. Деньги: возникновение, сущность, функции. Измерение денежной массы. Денежные агрегаты 32.39 KB
  Вторая деньги появились в результате эволюционного процесса который независимо от воли людей привел к тому что некоторые предметы выделились из общей массы и заняли особое место посредника в акте обмена. Сущность денег Деньги являются самым активным элементом экономики важнейшей частью экономической деятельности связующим звеном между участниками рынка и производством. Деньги обладают свойством обмениваемости на товары включая недвижимость драгоценности и художественные произведения. Функции денег Если рассматривать функции денег...