50191

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

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

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

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

Русский

2014-01-17

68 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.

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


 

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

32814. П.Я. Чаадаев – первый русский философ. Западники и славянофилы. «Русская идея» 15.9 KB
  Русская идея. Основная идея гносеологии Чаадаева объективная обусловленность сознания. Идея соборности является центральной в его учении и обозначал свободное объединение людей на основе любви к Богу и друг к другу. Русская идея и ее современное звучание.
32815. Русская религиозная философия 2-й половины 19-20 веков. «философия всеединства» В.Соловьева 14.74 KB
  философия всеединства В. Центральной идеей русской религиозной философии выступает идея всеединства которая стала основанием для формирования целого философского направления метафизики всеединства. философия всеединства оформилась в последней четверти ХIХ века Ее основоположником является В. Соловьев 1853 1900 который в своем философском труде Кризис западной философии против позитивистов наметил основную проблематику концепции всеединства.
32816. Философия русского космизма 14.01 KB
  Основные проблемы космизма: единство человека природы и космоса; место разума во Вселенной развитие космонавтики новая космическая этика и др. Философия общего дела представляет собой проект регуляции природы обращенный на преобразование мира. Регуляция природы мыслится им как принципиально новый сознательный этап развития мира и всего космоса. Проект регуляции природы для него есть только необходимое условие исполнения высшего нравственного долга победы над смертью.
32817. Материалистическая (революционно-демократическая) традиция русской философии 14.08 KB
  Ленина 1870 1924 гг. Ленин продолжает марксистскую традицию в философии развивает учение Маркса применительно к новому этапу научного и социальнополитического развития. Основной философский труд Ленина Материализм и эмпириокритицизм. Ленин дал глубокий анализ новых достижений естествознания с позиций диалектического материализма и изложил основные принципы диалектикоматериалистической теории познания.
32818. Философское значение творчества российских ученых-естествоиспытателей 13.47 KB
  Это позволяет ученому сделать заключение о том что под влиянием научной мысли и человеческого труда биосфера неизбежно должна перейти в новое состояние в ноосферу высший завершающий и закономерный этап в эволюции биосферы. Вернадский рассматривал переход биосферы в ноосферу как явление планетарного масштаба подчеркивая что на новом этапе эволюции человечество своей жизнью стало единым целым. В статье Несколько слов о ноосфере опубликованной в 1944 году во время разрушительной мировой войны ученый тем не менее утверждает:...
32819. Особенности формирования и характерные черты западноевропейской фил. 20 в 14.25 KB
  ХХ век в мировой истории характеризуется рядом особенностей: небывалый научнотехнический прогресс результаты которого значительно изменили облик мира и человека. В то же время развитие науки и техники породило множество проблем; стремительность масштабность и радикальность изменений происходящих в мире и в жизни общества; глобализация происходящих процессов: научнотехнические достижения становятся достоянием всего мира возникающие проблемы также носят глобальный характер; демократизация политической сферы; глубокий кризис в...
32820. Философия экзистенциализма 14.78 KB
  Философия экзистенциализма. Идеи экзистенциализма оказали большое влияние на литературу театр кино многие его представители люди искусства. Философия экзистенциализма носит индивидуалистический характер. Важнейшая категория экзистенциализма смерть.
32821. «Философия жизни», как одно из основных направлений западноевропейской философии 20 в 14.13 KB
  Одним из вариантов стала философия жизни. Все существующее представители этого направления рассматривали как проявление некой первоначальной реальности жизни недоступной ни чувственному ни рациональному познанию и постигаемой только интуитивно в результате непосредственных переживаний. Противопоставляя науке и разуму интуицию и инстинкт философия жизни представляет собой антисциентистское иррационалистическое направление.
32822. Философия неопозитивизма 16.04 KB
  Бурное развитие науки и техники формирование сциентизма как особого умонастроения стали причиной формирования ряда философских направлений в центре внимания которых проблема науки как феномена культуры а также вопросы методологии научного познания. Он выступил с идеей о неспособности философии ответить на вопросы поставленные развитием науки. Неопозитивизм уходя от решения коренных философских проблем сосредотачивается на частных логикометодологических исследованиях на анализе языка науки. Логический позитивизм спекулирует на реальных...