50171

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

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

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

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

Русский

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.

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


 

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

18010. БЕЗОПАСНОСТЬ КОММЕРЧЕСКОГО БАНКА: ОРГАНИЗАЦИОННО-ПРАВОВЫЕ И КРИМИНАЛИСТИЧЕСКИЕ ПРОБЛЕМЫ 2.11 MB
  В.А. Гамза И. Б. Ткачук БЕЗОПАСНОСТЬ КОММЕРЧЕСКОГО БАНКА: ОРГАНИЗАЦИОННО-ПРАВОВЫЕ И КРИМИНАЛИСТИЧЕСКИЕ ПРОБЛЕМЫ ВВЕДЕНИЕ Возникновение в современной России коммерческих банков стало объективной необходимостью связанной с переходом отечественной экономики от
18011. Биржевая деятельность 714 KB
  1. ВВОДНАЯ ЛЕКЦИЯ 1.1. Понятие биржи. История возникновения. Мировые биржевые центры 1.2. Виды бирж. Биржевые товары 1.3. Характеристика биржевых сделок 1.1. Понятие биржи. История возникновения. Мировые биржевые центры Понятие биржи Товарные биржи представляющие
18012. Биржевая деятельность. Учебник 1.95 MB
  Биржевая деятельность ПОД РЕДАКЦИЕЙ ПРОФЕССОРА А.Г. ГРЯЗНОВОЙ ПРОФЕССОРА Р.В.КОРНЕЕВОЙ ПРОФЕССОРА В.А.ГАЛАНОВА Изложены основы биржевой деятельности. Обобщена практика yпpaвлeния биpжaми. Пoкaзaнa cпeцификa paбoты тoвapныx фoндoвыx и вaлютныx биpж. Paccмoтpeны виды биpжeвыx cдeлo
18013. Психология бизнеса. БИЗНЕС. Пособие для Гениев 1.65 MB
  Психология бизнеса БИЗНЕС. Пособие для Гениев. Юрий Мороз. Не было еще гения без некоторой доли безумия. Сенека. От автора Как это видимо обычно и бывает я пишу введение после того как книга закончена. Что же важного я хочу сообщить читателю Первое...
18014. Бизнес-статистика и прогнозирование 2.23 MB
  В.Г. Минашкин Н.А. Садовникова Р.А. Шмойлова Бизнесстатистика и прогнозирование СОДЕРЖАНИЕ РАЗДЕЛ I. БИЗНЕССТАТИСТИКА..6 Глава 1. Предмет и метод статистики.6 Статистика как наука и отрасль практической д...
18015. Бренд. Боевая машина бизнеса 930 KB
  Глядя на засилье логотипов в окружающем нас пространстве — на стойке бара, на форменной одежде официантки, на посуде, столах и зонтиках, обозревая весь этот марочный мир, один из нас сделал зачин
18016. ЦЕНЫ И ЦЕНООБРАЗОВАНИЕ. Учебник 1.75 MB
  ЦЕНЫ И ЦЕНООБРАЗОВАНИЕ Учебник И.К. Салимжанова СОДЕРЖАНИЕ: [1] РАЗДЕЛ 1 [1.1] ОСНОВНЫЕ ВОПРОСЫ ЦЕНООБРАЗОВАНИЯ ПРИ ПЕРЕХОДЕ К РЫНКУ [2] ГЛАВА 1 [2.1] ЦЕНА КАК ЭКОНОМИЧЕСКАЯ КАТЕГОРИЯ В ПЕРЕХОДНЫЙ ПЕРИОД [2.1.1] Стоимо...
18017. Чистильщики московских улиц: скинхеды, СМИ и общественное мнение 556 KB
  В. А. Шнирельман Чистильщики московских улиц: скинхеды СМИ и общественное мнение Работа выполнена по проекту Анализ распространенных стереотипов в молодежной среде выработка и реализация мер по преодолению влияния их негативного аспекта в рамках среднеср
18018. Что такое политическая философия: размышления и соображения 595 KB
  Александр Моисеевич Пятигорский Что такое политическая философия: размышления и соображения Аннотация К чему приводит общее снижение уровня политической рефлексии Например к появлению новых бессмысленных слов: урегулирование политического кризиса ведь к...