50209

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

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

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

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

Русский

2014-01-18

68 KB

2 чел.

Системы искусственного интеллекта

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

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

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

Задание

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

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

Б. Изменять порог чувствительности.

1. Казанова – Генрих VIII – верный лебедь

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.

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


 

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

25909. Забезпечення подальшого стійкого енергопостачання 161.44 KB
  На Україні прийнято закон про енергозбереження, який вимагає вирішення питань використання енергії з урахуванням економічних аспектів. На підприємствах ефективність заходів стосовно енергозбереження вимагають документи, в яких потребується скорочувати рівень платежів за забруднення навколишнього середовища.
25910. Система и структура органов исполнительной власти в РФ 105.5 KB
  Система и структура органов исполнительной власти в РФ. Структура: Органы исполнительной власти разрабатывают основные направления социальноэкономической политики государства его обороноспособности безопасности обеспечения общественного порядка и организуют их осуществление; организуют управление государственной собственностью; вырабатывают меры по проведению внешней политики и выполняют иные функции возложенные законодательством страны. Органы исполнительной власти осуществляют деятельность которая по своему содержанию является...
25911. Предохранители. Назначение предохранителей. Конструкция. Условия выбора предохранителей 81.5 KB
  Процесс срабатывания предохранителя делится на несколько стадий: нагревание вставки до температуры плавления плавление и испарение вставки возникновение и гашение электрической дуги с восстановлением изоляционных свойств образующегося изоляционного промежутка. ТРЕБОВАНИЯ ПРЕДЪЯВЛЯЕМЫЕ К ПРЕДОХРАНИТЕЛЯМ Времятоковая характеристика предохранителя зависимость времени перегорания плавкой вставки от тока должна проходить ниже но возможно ближе к времятоковой характеристике защищаемого объекта это важнейшая характеристика. Конструкция...
25912. Автоматические выключатели. Основные типы. Принцип действия. Основные типы расцепителей. Механизм свободного расцепления. Условия выбора 42 KB
  Конструктивная схема автомата На рисунке дана условная конструктивная схема универсального автомата в упрощенном изображении. Создается усилие которое перемещая рычаги 4 и 5 вправо будет поворачивать основную несущую деталь 6 автомата вокруг неподвижной оси О по часовой стрелке. Замыкаются и включают цепь тока вначале дугогасительные 8 и 10 а затем главные 7 и 11 контакты автомата. Отключающая пружина 2 взводится при включении автомата.
25913. Выключатели переменного тока высокого напряжения. Назначение, основные требования. Номинальный ток отключения. Классификация высоковольтных выключателей по виду дугогасительной среды и изоляции межконтактного промежутка. Использование АПВ. Условия выбора 45.5 KB
  Выключатели переменного тока высокого напряжения. Параметры В соответствии с ГОСТ Р 525652006 выключатели характеризуются следующими параметрами: номинальное напряжение Uном напряжение сети в которой работает выключатель; номинальный ток Iном ток через включённый выключатель при котором он может работать длительное время; номинальный ток отключения Iо.ном наибольший ток короткого замыкания действующее значение который выключатель способен отключить при напряжении равном наибольшему рабочему напряжению при заданных условиях...
25914. Конструкция и принцип действия малообъемных масленых выключателей. Достоинства и недостатки. Условия выбора. Сравнение с другими высоковольтными выключателями 329 KB
  Масляные выключатели В дугогасительных устройствах масляных выключателей гашение дуги осуществляется путем эффективного ее охлаждения в потоке газопаровой смеси вырабатываемой дугой в результате разложения и испарения масла. В зависимости от назначения масла можно выделить 2 основные группы масляных выключателей: 1. В состав газопаровой смеси возникающей в результате разложения масла под действем дуги входит до 70 водорода обладающего по сравнению с воздухом в 8 раз более высокой теплопроводностью но меньшей предельной электрической...
25915. Конструкция и принцип действия вакуумных выключателей. Достоинства и недостатки. Условия выбора. Сравнение с другими высоковольтными выключателями 22.5 KB
  Таким образом дуга в вакууме существует изза ионизации паров контактного материала вначале за счет материала контактного мостика а затем в результате испарения материала электродов под воздействием энергии дуги. Поэтому если поступление паров контактного материала будет недостаточно вакуумная дуга должна погаснуть.
25916. Тепловые процессы в электрических аппаратах. Источники теплоты. Поверхностный эффект и эффект близости. Способы распространения теплоты в пространстве. Термическая стойкость электрических аппаратов 292 KB
  ТЕРМИЧЕСКАЯ СТОЙКОСТЬ ЭЛЕКТРИЧЕСКИХ АППАРАТОВ НАГРЕВ ПРИ КЗ Под термической стойкостью аппарата понимают его способность выдерживать без повреждений и перегрева свыше норм термическое действие токов короткого замыкания определенной длительности. Термическая стойкость характеризуется током термической стойкости т. Для выключающих аппаратов термическая стойкость задается обычно 10секундным током и...
25917. Контактные явления в электрических аппаратах. Классификация контактов их конструкция и материал исполнения. Понятия переходного сопротивления контакта 49 KB
  Классификация контактов их конструкция и материал исполнения. Чем больше контактов в цепи тем сильнее сопротивление. При точечном контакте контактные нажатия небольшие и для уменьшения сопротивления контактов применяют драгоценные металлы не образующие окиси. Для этих контактов применяют медь.