50151

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

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

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

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

Русский

2014-01-16

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.

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


 

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

40074. Классификаторы технико-экономической и социальной информации как ИПЯ 70.5 KB
  Охарактеризовать классификаторы ТЭСИ как ИПЯ. Овладеть навыками кодирования с помощью классификаторов ТЭСИ. Определить возможности использования классификаторов ТЭСИ при упорядочении объектов и сферу их применения. Обеспечивающие средства: классификаторы ТЭСИ ББК ГРНТИ УДК Библионорматив машиночитаемый вариант УДК ГРНТИ первичные...
40075. Алфавитно-предметная классификация как ИПЯ 69.5 KB
  Приобрести навыки формулирования предметных рубрик 2. Определить возможности использования АПК Обеспечивающие средства: первичные и вторичные документы; перечни лексических единиц; приложение Правила формулирования предметных рубрик. Задание 1: Определить вид заданных предметных рубрик Требования к отчету: Итоги выполнения задания представить в виде таблицы 1: Таблица 1. Виды предметных рубрик Предметная рубрика Вид и подвид предметной рубрики Технология работы: Проанализировать структуру заданной...
40076. Сфера применения дескрипторных информационно-поисковых языков 56 KB
  Оценить возможности использования дескрипторных ИПЯ при индексировании документов и запросов. Обеспечивающие средства: дескрипторные словари отраслевые информационнопоисковые тезаурусы перечни ключевых слов. Определить необходимый для проведения операции координатного индексирования отраслевой информационнопоисковый тезаурус или дескрипторный словарь.
40077. Дескрипторные информационно-поисковые языки 63.5 KB
  Охарактеризовать дескрипторные словари и информационно поисковые тезаурусы как ИПЯ. Обеспечивающие средства: дескрипторные словари отраслевые информационнопоисковые тезаурусы перечни ключевых слов. Задание 1: Охарактеризовать дескрипторные словари и информационнопоисковые тезаурусы как информационнопоисковый язык.
40078. Технология уплотнения сигнала в волоконно-оптических линиях связи 49.08 KB
  При подходе под названием мультиплексирование по длине волны Wvelength Division Multiplexing WDM свет с разными длинами волн от нескольких лазеров передается по одному световоду. WDM работает следующим образом. WDM разбивает оптический спектр на каналы каждый с различной длиной волны. Организация потока данных в WDM.
40079. Радиолинии и системы передачи сообщений с радиоканалами 45.28 KB
  Антенны подключаются к приемопередающему оборудованию при помощи фидерных трактов Ф. Пространственная избирательность достигается за счет использования антенны обеспечивающей прием нужных радиосигналов с одного направления и ослабление радиосигналов с других направлений от посторонних источников. Антенны и фидеры Антенна представляет собой элемент сопряжения между передающим или приемным оборудованием и средой распространения радиоволн. Антенны имеющие вид проводов или поверхностей обеспечивают излучение электромагнитных колебаний при...
40080. Принципы построения радиорелейных (РРЛ) и спутниковых систем связи (ССС) 38.88 KB
  Цепочку радиорелейной линии составляют радиорелейные станции трех типов: оконечные радиорелейные станции ОРС промежуточные радиорелейные станции ПРС узловые радиорелейные станции УРС.1 Радиорелейная линия связи На оконечной радиорелейной станции начинается и заканчивается тракт передачи. Аппаратура ОРС осуществляет преобразование сигналов поступающих от разных источников информации телефонные сигналы от междугородней телефонной станции телевизионные сигналы от междугородней телевизионной аппаратной и т. Радиосигналы ОРС с помощью...
40081. РРЛ прямой видимости и тропосферные 14.75 KB
  3 признака РРсв: 1наличие ретрансляции радио сигналов 2использование диапазона УКВ 3наземная радио связь Для обеспечения РРсв строятся РРЛ. Принцип РРЛ связи заключается в последовательной передачи сообщений от одной к другой РР станции для обеспечения заданной дальности. РРЛ называют совокупность техн.
40082. Принципы построения локальных сетей (Ethernet) 14.93 KB
  Наиболее широко используемой технологией является технология Ethernet и специализированный стандарт IEEE 802.3 При работе сети Ethernet используется топология звезда в которой каждый узел устройство соединен по сети с другим узлом с помощью активного сетевого оборудования такого как коммутатор. Типы сетей Ethernet Fst Ethernet Fst Ethernet это сеть Ethernet предназначенная для передачи данных со скоростью 100 Мбит с.