50191

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

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

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

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

Русский

2014-01-17

68 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.

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


 

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

49206. Технико-экономические показатели работы предприятия отрасли машиностроения 609.5 KB
  Предприятие в процессе своей деятельности совершает материальные и денежные затраты на простое и расширенное воспроизводство основных фондов и оборотных средств, производство и реализацию продукции, социальное развитие трудового коллектива и др. Наибольший удельный вес во всех расходах предприятий занимают затраты на производство продукции.
49207. Проектирование электрической сети 888.18 KB
  Данный курсовой проект содержит 3 графика, 5 рисунков, 13 таблиц. В проекте будет выбрана схема распределения электроэнергии от РЭС до пяти подстанций. Эта схема выбирается по экономическому расчету, который содержит: расчет наиболее экономичного строительства, расчет передачи энергии как от РЭС, так и от подстанций к друг другу. Из четырех вариантов схем, будет выбрана одна – наиболее экономичная.
49208. Разработка автоматизированной системы учреждения администрации района 4.67 MB
  В рассматриваемой организации предъявляются высокие требования к защите информации, так как циркулирующие данные содержат кроме общедоступной информации сведения, составляющие служебную и коммерческую тайны, персональные данные и секретные сведения, которые не должны быть доступны лицам, не имеющим соответствующих полномочий...
49209. ОДНОМЕРНОЕ ДВИЖЕНИЕ ЖИДКОСТИ В НЕОДНОРОДНЫХ ПЛАСТАХ 210.21 KB
  Однако часто изменения проницаемости при переходе от одной точки пласта к другой носят столь хаотичный характер что значительные области пласта можно считать в среднем однородно проницаемыми. Наоборот движение жидкостей и газов в пластах приобретает совершенно своеобразный характер когда на большом протяжении в изменении проницаемости наблюдаются явные закономерности. Пласт разделяется по мощности на несколько слоев; в каждом из слоев проницаемость в среднем одинакова но отлична от проницаемости соседних слоев. Во всех точках пласта...
49210. Знаходження найкоротшого шляху в графі за допомогою алгоритма Дейкстри 241.53 KB
  Знаходження найкоротшого шляху - життєво необхідно і використовується практично скрізь, починаючи від знаходження оптимального маршруту між двома об'єктами на місцевості (наприклад, найкоротший шлях від дому до університету), в системах автопілота, для знаходження оптимального маршруту при перевезеннях, комутації інформаційного пакету в Internet і т. п.
49211. Одновимірні моделі розповсюдження речовини в нерухомому середовищы 118.71 KB
  Еволюція сучасної науки характеризується глибоким проникненням математичних методів дослідження у різні сфери наукової думки від суто гуманітарних дисциплін до таких як соціологія прикладна лінгвістика екологія що розвиваються на зламі кількох наукових напрямів. Справа в тому що результати навіть досить тонких експериментів далеко не завжди дозволяють відповісти на запитання які основні рушійні сили і механізми впливають на стан і розвиток тієї чи іншої природної системи. І реалізуємо розвязування...
49212. Інструменти податкового регулювання 90.94 KB
  В економічній літературі багато уваги приділяється проблемам оподаткування. Значний внесок у розробку теоретичних та прикладних основ оподаткування внесли Азаров М. Податкове регулювання це заходи впливу на економіку та соціальні процеси через зміну податків податкових ставок податкових пільг зниження чи підвищення загального рівня оподаткування тощо. Хоча податки та механізм оподаткування будуються на певному фундаменті правових відносин однак сторони не скріплюють ці відносини у формі певного договору контракту [3 c.
49213. Авторська розробка дитячого майданчику на тему «Поклик джунглів» 139.54 KB
  У своїй курсовій роботі я буду намагатися створити дитячий ігровий комплекс Поклик джунглів для дітей віком від 6 до 12 років. Врахую всі вимоги до забудови цього комплексу і вікової характеристики дітей. Необхідно на плані виділити умовні території зони для найменших і їх батьків і для дітей які вже гуляють без родичів старші дошкільнята та молодші школярі. Благоустрій територій житловими районами міста дитячими комплексами користується високої популярністю Типи дитячих ігрових майданчиків Дитячі ігрові майданчики повинні...