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

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.

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


 

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

7492. Древнейшие формы мировоззрения 49 KB
  Древнейшие формы мировоззрения. Мировоззрение - это система взглядов на мир и место в нем человека. Мировоззрению предшествуют мироощущение,миропредставление, миропонимание. Мировоззрение определяет как человек понимает мир,как относится к нему...
7493. Немецкая классическая философия, взгляды философов классиков 54 KB
  Немецкая классическая философия Иммануил Кант (1724 - 1804) - родоначальник немецкой классической философии. Родился и прожил всю жизнь в Кенигсберге (Калининград) - центр Восточной Пруссии. В 1745 г. Кант закончил Университет. После...
7494. Философские и религиозные учения Древнего Китая 46 KB
  Философские и религиозные учения Древнего Китая Китайская цивилизация непрерывна в своем развитии. Древнекитайская философия, как и любая другая, зародилась в мифологии. Два начала Ян и Инь, фигурирующие в мифологии, стали пе...
7495. Философские и религиозные учения Древней Индии 38.5 KB
  Философские и религиозные учения Древней Индии К концу II тыс. до н.э. на территорию Индии приходят с Севера, из Тибета кочевые племена ариев или арийцев. Они приносят культ поклонения животным, в частности корове, и приносят свою мифологию. Собрани...
7496. Философия Древней Греции. Космоцентризм древнегреческой философии 57.5 KB
  Философия Древней Греции. Космоцентризм древнегреческой философии Космоцентризм - это основной принцип древнегреческой философии т.к. главная проблема для философов: как устроен мир, каков мировой порядок. Одна из главных философских школ в Дре...
7497. Философия Средних Веков. Становление и развитие христианства 48.5 KB
  Философия Средних Веков. Становление и развитие христианства В средние века европейская философия теснейшим образом связана с христианством. К концу I тысячилетия до н.э. земля древнееврейских государств, Израиля и Иуде...
7498. Философия личности. Философские взгляды на личность 45.5 KB
  Философия личности Одним из первых представителей неклассической философии был немецкий мыслитель Артур Шопенгауэр (1788 г.г.). Его интересовала история Востока, восточные языки, философия Индии и Китая. Главное произведение...
7499. Философия науки 35 KB
  Философия науки Она выходит на первые места к началу XX в., потому что в XIX в. были сделаны фундаментальные открытия (Закон сохранения энергии, открытие клеточного строения живых организмов, эволюционная теория Дарвина, периодическая система ...
7500. Проект будівництва хлібопекарського заводу 1.07 MB
  Головною задачею проектування хлібопекарських підприємств є постійне підвищення технічного рівня хлібозаводів, забезпечення високої продуктивності і культури праці при найбільш ефективному використанні капітальних вкладень; утворення комплексно-механізованих хлібопекарських підприємств.