50163

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

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

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

Блондинка - рыжая - брюнетка unit Unit1; interfce uses Windows Messges SysUtils Vrints Clsses Grphics Controls Forms Dilogs ComCtrls StdCtrlsmth TeEngine Series ExtCtrls TeeProcs Chrt; type TForm1 = clssTForm Chrt1: TChrt; Series1: TLineSeries; Series2: TLineSeries; Series3: TLineSeries; Series4: TBrSeries; TrckBr1: TTrckBr; Lbel1: TLbel; Lbel5: TLbel; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Lbel6: TLbel; Lbel2: TLbel; Lbel3:...

Русский

2014-01-17

67.5 KB

3 чел.

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

Лабораторная работа №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.

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


 

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

29451. Экономические отношения в системе всемирного хозяйства.Основные формы ЭО 15.16 KB
  Международные экономические отношения включают многоуровневый комплекс экономических отношений между отдельными странами их региональными объединениями и субъектами а также отдельными предприятиями транснациональными многонациональными корпорациями в системе мирового хозяйства. При рассмотрении международных экономических отношений с точки зрения науки объектом изучения становится не экономика зарубежныхстран а особенности их экономических отношений причем только наиболее часто повторяющиеся типичные характерные определяющие...
29452. Понятие критических точек инфляции. Инфляция в РБ. Степень развития инфляции 13.41 KB
  Понятие критических точек инфляции.Степень развития инфляции Крит.В условиях критической точки инфляции уменьшаются поступления в бюджет особенно прямых налогов так как они исчисляются с доходов и имущества имеющих оценку в предшествующий период.Следовательно на начальной стадии развития инфляции предприниматели и население выражают определенную веру в стабильность уровня цен.
29453. Потребление и сбережение, факторы на них влияющие 15.42 KB
  В условиях ее роста домашние хозяйства решают большую часть располагаемого дохода сберегать а меньшую тратить на потребление. Кейнсианцы полагают что определяющим фактором сбереженийинвестиций является вовсе не процентная ставка а сама величина располагаемого дохода. При этом первоначально из дохода вычитается сумма на потребление как необходимое условие воспроизводства человека а оставшаяся сумма идет на осуществление сбережений. Функция потребления показывающая зависимость величины потребительских расходов С от нескольких...
29454. Инвестиционный спрос и факторы на него влияющие. Модель S-I 56.48 KB
  Среди них определяющим фактором является ставка процента. Если перед предпринимателем стоит вопрос об увеличении инвестиций или другой альтернативе вложении свободных денег в банк для получения дохода то он не увеличит инвестиции если ставка процента в банке будет больше чем норма прибыли от инвестиций. Если ставка процента в банке высокая то возможность для получения кредита ограничена и инвестиции уменьшаются. Если ставка процента низкая то предприниматель может увеличить инвестиции.
29455. Модели равновесия в национальной экономике.Модель доходы-расходы. Инфляционный и рецессионный разрыв 44.95 KB
  Модель доходырасходы. Совокупные расходы включают в себя расходы всех хозяйствующих субъектов в том числе потребительские инвестиционные и государственные расходы а также чистый экспорт который мы считаем равным нулю.Модель национальный доход совокупные расходыиллюстрирует значение государственных расходов и поощрения частных инвестиций. совокупные расходы недостаточны для обеспечения полной занятости ресурсов хотя равновесие AD = AS достигнуто.
29456. Антициклическая политика и её инструменты 16.21 KB
  Особенности антициклической политики современных государств показаны на схеме Антициклическая политика государства Фазы цикла Спад Подъем Характер антициклической политики Экспансия Сдерживание Инструменты Фискальная политика Снижение налоговыхставокРост государственных расходовНалоговые льготы на новые инвестиции Повышение налоговСнижение государственных расходов Кредитноденежная политика Понижение ставки рефинансирования и уровня резервных требованийПокупка ценных бумаг Повышение ставок рефинансирования и уровня резервных...
29457. Цикличность экономики: причины, фазы и их специфика, типы циклов 14.19 KB
  Сторонники второй позиции утверждают что цикличность явление внутреннее присущее самой экономической системе и порождается: недостаточным потреблением по сравнению с производством; превышением производства средств производства над производством предметов потребления; нарушениями в области денежного обращения. Помимо уже упомянутых можно назвать еще ряд факторов и противоречий в экономику порождающих кризисы и циклы в частности: противоречие между четкой организацией современного производства и стихийным характером рынка; противоречие...