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.

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


 

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

20267. Поглинання звуку у в’язкопружних середовищах 80 KB
  Реологічне рівняння – це рівняння яке пов’язує тензор напруг з тензором деформацій і тензором швидкості деформацій. Для в’язкопружнього середовища реологічне рівняння: тензор напруг; тензор деформації; тензор швидкості деформації. та тоді наше рівняння буде мати вигляд: Звукова хвиля – це плоска хвиля. У в’язкопружньому середовищі на відміну від пружнього Підставляючи наше реологічне рівняння в рівняння руху отримаємо хвильове рівняння для звукової хвилі : Розв´язуючи це рівняння за умови Отримуємо вирази для швидкості...
20268. Оборудование подсистемы базовой станции (BSS) 523.5 KB
  1: контроллера базовой станции BSC Base Station Controller; базовой станции BTS Base Transceiver Station. Контроллер базовой станции BSC Контроллер базовой станции BSC центральная часть подсистемы базовой станции BSS. Контроллер BSC фирмы Ericsson рис. Контроллер BSC может контролировать радиосеть и рационально выравнивать временные дисбалансы в нагрузке на сеть.
20269. Оборудование подсистемы базовой станции (BSS). Блок приемопередатчика (TRU) 631.5 KB
  Он взаимодействует с другими компонентами через локальную шину Local Bus шину CDU шину синхронизации Timing Bus и Хшину Xbus. Блок объединения и распределения CDU CDU является интерфейсом между блоками TRU и антенной системой. CDU объединяет сигналы от нескольких приемопередатчиков и распределяет принятые сигналы ко всем приемникам. В функции CDU входит: объединение передаваемых сигналов; предусиление и распределение принимаемых сигналов; поддержка контроля антенной системы; фильтрация на радиочастоте; электропитание и контроль...
20270. ПОДСИСТЕМЫ И КОНФИГУРАЦИИ АППАРАТНЫХ СРЕДСТВ АХЕ10 893.5 KB
  Состоит из аппаратных средств модули временных TSM и пространственных SPM коммутаторов и центрального и регионального программного обеспечения; импульсный тактовый генератор Clock Pulse Generating and Timing CLT. Функциональные блоки GSS CLM Clock Module модуль тактового генератора; CLT Clock Pulse Generating and Timing импульсный тактовый генератор; GS Group Switch коммутационное поле; GSM Group Switch Maintenance техническое обслуживание коммутационного поля; NS Network Synchronization сетевая синхронизация; NSC...
20271. ОБОРУДОВАНИЕ GPRS 1.98 MB
  Между тем существуют некоторые технические особенности реализации оборудования GPRS среди которых следует выделить способ интеграции контроллеров пакетов PCU в подсистему базовых станции BSS. В качестве примера первого варианта организации оборудования GPRS может быть рассмотрено оборудование Alcatel в качестве второго Ericsson. ОБОРУДОВАНИЕ GPRS ПРОИЗВОДСТВА ALCATEL На рис.
20272. ОБОРУДОВАНИЕ GPRS. Сервисный узел поддержки услуг GPRS (SGSN) 1.58 MB
  Структурная схема SGSN В структуру SGSN входят: UNIX серверы блок маршрутизации интерфейсные модули интерфейсов на базе ОКС № 7 Gr Gd Gf Gs модули Gb интерфейса. UNIX серверы выполняют основные функции SGSN такие как управление мобильностью управление сессиями тарификация функции протокола GTP и др.Основные функции SGSN разделяются на две плоскости рис.
20273. Высокое качество передачи речевой информации 133.5 KB
  К началу 1994 года сети основанные на рассматриваемом стандарте имели уже 1. Воистину GSM шагает по планете в настоящее время телефоны этого стандарта имеют около 200 миллионов человек а GSMсети можно найти по всему миру. ОСНОВНЫЕ ЧАСТИ СИСТЕМЫ GSM ИХ НАЗНАЧЕНИЕ И ВЗАИМОДЕЙСТВИЕ ДРУГ С ДРУГОМ Начнем с самого сложного и пожалуй скучного рассмотрения скелета или как принято говорить блоксхемы сети.
20274. ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС МОБИЛЬНОЙ СТАНЦИИ 82.5 KB
  Примитивы ввода Спецификацией GSM предусмотрен следующий набор элементарных процедур ввода: 1 2 то же что и ABC 3 то же что и DEF 4 то же что и GHI 5 то же что и JKL 6 то же что и MNO 7 то же что и PQRS 8 то же что и TUV 9 то же что и WXYZ 0 то же что и SELECT ACCEPT SEND END для ввода номера в международном формате Код Страны Номер Процедура выбора страны PLMN Процедура ввода дополнительных данных о вызове голос факс данные синхронный асинхронный режим передачи и т. Индикатор...
20275. СЕТЕВЫЕ АСПЕКТЫ УПРАВЛЕНИЯ СПС 96 KB
  Третий уровень протокола обмена сигналами GSM подразделяется на три подуровня: Подуровень управления радио ресурсами Radio Resources Management. Спецификация MAP это одна из самых объемных частей в рекомендациях GSM.В системах GSM существуют четыре основных типа таких процедур: Каналы тайм слоты принадлежат одной соте. Очень важным аспектом GSM является тот факт что MSC так называемая якорная MSC является ответственной за большинство функций имеющих непосредственное отношение к соединению за исключением внутренних BSC хандоверов...