50200

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

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

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

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

Русский

2014-01-17

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

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


 

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

40476. Время и пространство волшебных сказок 23 KB
  Время и пространство волшебных сказок. Время Время важно не только для точных наук есть и психологическая сторона времени. Мы знаем: время растяжимо Но всё зависит от того Какого рода содержимым Вы заполняете его. Время в литературе может растягиваться и сжиматься прошло 30 лет.
40477. Генезис волшебной сказки 22 KB
  Источники: самые различные мифологические представления в которых главную роль играл обряд инициации. Обряд инициации дал сюжет сказкам. Обряд инициации обряд посвящение обозначающий переход ребёнка во взрослую жизнь. Обряд инициации Обряд посвящения во взрослую жизнь т.
40478. Декабристы и фольклор 22.5 KB
  Декабристы и фольклор. Исторические условия в которых формировались взгляды декабристов на фольклорное творчество: война 1812 года усилила проблему крепостного права. Причины обращения к фольклору оставались политическими. Но декабристы не находят в фольклоре подтверждения своей догадки = весь фольклор который они имели на тот момент ненастоящий фольклор.
40479. Загадки 45 KB
  Детский фольклор область народной культуры своеобразный инструмент социализации ребёнка. его сюжетнотематической основе роли и функциях в жизни ребёнка системе поэтических средств. посвоему способствует сохранению душевного и физического здоровья ребёнка развитию его личности установлению её многообразных отношений в сообществе взрослых и детей. Колыбельные песни произведения назначение которых успокоить и усыпить ребёнка.
40480. Заговор 20.5 KB
  Заговор. Заговоры примыкают к обрядовой поэзии. Заговор словесная формула пользующаяся репутацией неотразимого средства для достижения определенных результатов. Заговор проявление мифологического сознания.
40481. Историческая школа в русской фольклористике 20 KB
  Принципы В основе фольклора история. Теория аристократического происхождения фольклора деревенские танцы Недостатки Что же тогда лежит в основе волшебных сказок.
40482. Календарная обрядовая поэзия 22 KB
  Перемены происходят так медленно что за время жизни одного человека они практически незаметны. Святки месяц перед крещением 6 декабря 6 января время отдыха и праздника у крестьян. Веселое и страшное время: самое тёмное время разрядка после тяжелого года бога надо любить и бояться Бог на радостях что сын родился открыл двери ада и выпустил нечисть погулять Рождество Христово мистическое пришествие Христа в наш мир. Жанры: колядки песни которые пели во время колядования.
40483. Литература и фольклор 21 KB
  Литературы всех народов мира сложились на основе устного народного творчества которое возникло и развилось значительно ранее письменности. Использование фольклора с развитием литературы становилось все более глубоким творческим. В истории литературы и фольклора любого народа существовали периоды сближения и отдаления: в период классицизма литература и фольклор стояли довольно далеко друг от друга. в период романтизма связи литературы и фольклора значительно расширяются что определялось принципами национальной самобытности осуществление...
40484. Миф и фольклор 28.5 KB
  Зооморфные мифы человек отождествляется с тем или иным животным. Космогонические мифы мифы о сотворении мира. Древние мифы исчезают = отношение к ним исчезает. Пустые мифы первые фольклорные тексты.