50163

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

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

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

Блондинка - рыжая - брюнетка unit Unit1; interfce uses Windows Messges SysUtils Vrints Clsses Grphics Controls Forms Dilogs ComCtrls StdCtrlsmth TeEngine Series ExtCtrls TeeProcs Chrt; type TForm1 = clssTForm Chrt1: TChrt; Series1: TLineSeries; Series2: TLineSeries; Series3: TLineSeries; Series4: TBrSeries; TrckBr1: TTrckBr; Lbel1: TLbel; Lbel5: TLbel; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Lbel6: TLbel; Lbel2: TLbel; Lbel3:...

Русский

2014-01-17

67.5 KB

3 чел.

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

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

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


 

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

79706. Реализация права. Пробелы в праве и юридические коллизии. Акт применения права 133 KB
  Начиная рассмотрение вопроса о реализации права, следует обратить внимание на то, что издание правовых норм не является самоцелью. Нормы права издаются для того, чтобы они реализовывались, претворялись в жизнь.
79707. Понятие и признаки правоотношения. Юридические факты, их виды. Юридические презумпции и юридические фикции 94 KB
  Под правоотношением в широком смысле понимается возникшая до ее закрепления в закону особая форма социального взаимодействия участники которого обладают определенными правами и обязанностями и реализуют их в целях удовлетворения своих потребностей и интересов в особом порядке не запрещенном государством. Например в англосаксонской правовой системе сначала судьи разрешали отдельные казусы и лишь потом законодатель формулировал их в специальном акте в качестве нормы права. В узком смысле под правоотношением понимается разновидность...
79708. ПРАВОСОЗНАНИЕ И ПРАВОВАЯ КУЛЬТУРА. ПРАВОМЕРНОЕ ПОВЕДЕНИЕ И ПРАВОНАРУШЕНИЕ 63.5 KB
  Неправомерное поведение в теории права принято называть правонарушением. Последняя наступает тогда когда есть состав правонарушения то есть необходимые и достаточные признаки для наступления юридической ответственности. Отличие же правонарушения от аморального проступка проводится прежде всего по признаку противоправности.
79709. Понятие и признаки юридической ответственности. Обстоятельства, исключающие юридическую ответственность 69.5 KB
  Юридическая ответственность - это неблагоприятные последствия личного, имущественного и специального характера, налагаемые государством на правонарушителя в установленной законом процессуальной форме.
79710. Понятие правового регулирования, его предмет и методы. Пределы эффективности правового регулирования 117 KB
  В отличие от предмета правового регулирования отдельной отрасли права предметом регулирования права в целом являются общественные отношения. Регулировать общественные отношения - значит вводить их в определенные рамки, способствовать их развитию.
79711. Законность: понятие и принципы. Гарантии законности. Правопорядок 55 KB
  Гарантии законности. В юридической литературе существует несколько точек зрения относительно субъектов законности лиц на которых распространяются ее требования и сферы ее действия. По его мнению нарушения законов совершенные гражданами и другими лицами не являются нарушениями законности а лишь нарушают правопорядок. Лазарев утверждает что ограничение субъектов законности должностными лицами неоправданно: законность распространяется на всех и не содержит какихлибо изъятий.
79712. Предмет теории государства и права. Объект теории государства и права 55.5 KB
  Объект теории государства и права. Теория государства и права в системе юридических наук и ее соотношение с другими гуманитарными науками. Метод изучения теории государства и права.
79713. Основные элементы-признаки общества. Власть и ее роль в жизни общества 70 KB
  Обобщая ответы понимаем, что в первом случае под обществом понимается определенная группа людей, объединившихся для общения и совместной деятельности; во втором случае – определенный этап исторического развития; в третьем – население конкретной страны.
79714. ипы государства. Формационный подход к типологии государства. Исторические типы государства 77 KB
  Государство – это особая организация власти, располагающая специальным аппаратом управления и принуждения и способная придавать своим велениям обязательную силу для населения всей страны.