50022

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

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

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

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

Русский

2014-01-14

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.

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


 

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

45741. Никомахова этика 22 KB
  Никомахова этикаАристотель утверждает что предметом его этики является счастье которое он определяет как деятельность души в полноте добродетели. Аристотель делит все добродетели на нравственные или этические и мыслительные или разумные или дианоэтические. Каждая из этических добродетелей представляет собой середину между крайностями; Аристотель называет такие этические добродетели: кротость мужество умеренность щедрость величавость великодушие честолюбие ровность правдивость любезность дружелюбие справедливость...
45742. Аристотель. (Метафизика) 30.5 KB
  Форма оформляет материя оформляется. Форма есть действительность материя – возможность. При этом материя как первоматерия едина форм же много: форма то что несет в себе суть вещи. Хотя сама материя вечна вещи дает она временность преходящесть ведь природа материи такова что она может быть и может не быть.
45743. Аристотель. «Категории» 29.5 KB
  Далее Аристотель сообщает о категориях или предикатах выделяемых на основании того как тот или иной предикат относится к сущности вещи.10 категорий главы 410Десятью категориями или наиболее общими родами классами являются по списку главы 4: Субстанции или сущность Слово предикат означает предикат сущности если соответствующая ему характеристика вещи ни на чём кроме себя не основана. Количество сколько пространственночисловые характеристики вещи. Эти свойства не совпадают с природой сущностью вещи.
45744. Бахтин. Эстетика словесного творчества 28.5 KB
  Содержание: 1От составителя 2 Искусство и ответственность 3Автор и герой в эстетической деятельности 4Проблема отношения автора к герою 5Пространственная форма героя 6Временное целое героя проблема внутреннего человека души 7 Смысловое целое героя 8 Проблема автора 9 Из книги Проблемы творчества Достоевского 10 Постановка проблемы романа воспитания 11 Проблема речевых жанров I . Опыт философского анализа 13 К переработке книги о Достоевском 14 Из записей 1970 1971 годов 15К методологии гуманитарных наук В книге...
45745. Символический обмен и смерть 23.5 KB
  Установив этот факт Бодрийяр деконструирует оппозиции заявляя что принцип симуляции правит нами сегодня вместо прежнего принципа реальности. Этот эффект получил название эмансипации знака или симуляции которая характеризует современную эпоху. Отсюда Бодрийяр делает вывод что ни представительная демократия ни социальная революция в эру симуляции невозможна.
45746. Бэкон. Новый органон 28 KB
  Фрэнсис Бэкон 15611626 основатель современного индуктивного метода. Бэкон верил что он имеет метод при помощи которого индукция сможет сделать нечто большее чем это. Одна из наиболее знаменитых частей философии Бэкона это его перечисление того что он называет идолами под которыми подразумевает плохие привычки ума которые приводят людей к ошибкам.Индуктивный метод Бэкона ошибочен изза того что он недостаточно подчеркивал значение гипотез.
45747. Философия Макса Вебера 42.5 KB
  Макс Вебер отмечает несомненное преобладание протестантов среди владельцев капитала и предпринимателей. Книга включает 2 части 5 глав: Постановка проблемы Предварительные замечания и 3 главы; Профессиональная этика аскетического протестантизма 2 главы Вебер – социолог. Вебера показывает взаимосвязь протестантских религиозных ценностей и развития духа капитализма утверждая что в странах где эти ценности доминировали быстрее и легче утверждались капиталистические отношенияъВ книге М. Вебера “ПРОТЕСТАНТСКАЯ ЭТИКА И ДУХ...
45748. Философские исследования 33.5 KB
  Философские исследования - одна из двух наряду с Логико-философским трактатом важнейших работ крупнейшего философа XX века Людвига Витгенштейна суммирующая его поздние взгляды. В отличие от Трактата в данной работе объектом исследования Витгенштейна выступает не идеальный язык язык как картина мира который есть всё то что происходит а обыденный язык человеческого общения. Идеи Витгенштейна нашли отражение и в философии постмодернизма. Кроме того влияние Философских исследований прослеживается в современной литературе...
45749. Истина и метод 25 KB
  Истина и метод Whrheit und Methode 1960. Как и в сфере искусства в историческом познании истина раскрывается не только в научных суждениях выносимых с воображаемой дистанции по отношению к предмету и обеспеченных определенными правилами метода но и благодаря вовлеченности познающего в целостность исторического процесса который самим познающим и совершается. Эстетическая равно как и историческая истина есть истина которую совершают осуществляют.