50139

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

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

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

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

Русский

2014-01-16

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

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


 

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

22749. Зрив США Паризької наради у верхах у 1960 р 25 KB
  обследовав сверхсекретные объекты Советского Союза Семипалатинский ядерный полигон авиабазу стратегических бомбардировщиков Ту95 близ него полигон противоракетной обороны в СарыШагане ракетный полигон ТюраТам космодром Байконур U2 выскользнул из пределов СССР южнее города Мары. Отмолчались и продолжили планирование разведывательных полетов над СССР. Дело в том что в мае должно было состояться совещание большой четверки США СССР Великобритании и Франции в Париже где предстояла новая встреча главы американского государства с...
22750. Теоретичні основи зовнішньої політики адміністрації Р. Рейгана 30.5 KB
  У зовнішньополітичній діяльності президента Рейгана варто розрізнити два періоди відповідно до термінів президентства: 19811984 рокичас різкої конфронтації з СРСР курсу на військову перевагу США у світі домінування силових методів у розв'язанні міжнародних конфліктів дії доктрини Рейгана доктрини неоглобалізму тобто протистояння з СРСР у будьякому куточку планети; 19851989 рокиперіод пошуку шляхів для виходу із політики глобального протистояння з СРСР нормалізації стосунків з СРСР підписання кардинальних договорів щодо...
22751. Провал інтервенції на Кубі 1961 р. та Карибська криза 23 KB
  Поскольку он сразу занял антиамериканскую позицию США поддержали противников Кастро и помогли им организовать высадку на Кубе апрель 1961 г. США поддержали высадку контрреволюционных групп на территорию Кубы в 1961 году. Поскольку Куба была расположена в 90 милях от побережья США большая часть их территории оказалась бы в сфере досягаемости ракет. США узнали об этом только из данных военной разведки когда ракеты уже были установлены и на этот раз действовали весьма жестко.
22752. Американсько-радянські переговори і угоди на найвищому рівні у 1991 р. Договір СНО-1 22.5 KB
  Этот и другие недостатки Договора разный подход к ограничению охватываемых документом видов СНВ вывод за скобки установленных количественных пределов крылатых ракет морского базирования отказ США подтвердить свою приверженность Договору по ПРО по существу ставили под вопрос соответствие этого Договора принципу равенства и одинаковой безопасности США обеспечили себе возможность достижения военностратегического перевеса над СССР не выходя формально за рамки принятых обязательств. В соответствии с Договором СНВ1 более строгому...
22753. Участь УРСР у розвязанні територіальних проблем на Паризький мирній конференції 55.5 KB
  Підходи України до проблем реформування ООН. укладенням угоди про встановлення нового кордону між двома державами і поділом між ними зі згоди ООН Вільної території Трієст. Еритрея після проведення в ній референдуму за рішенням Генеральної Асамблеї ООН була приєднана до Ефіопії на федеративних засадах у 1952 р. Підходи України до проблем реформування ООН.
22754. Міжнародна громадськість про суть і значення конституційних змін в СРСР 1944р. Полеміка з цих питань 74 KB
  Становлення та розвиток відносин України з державами ЦСЄ. Миротворча діяльність України: досягнення та проблеми. При всьому тому членам КУК як українським патріотам імовірно імпонував вихід України на світову арену нехай і в такому ущемленому вигляді.Цегельський інформував громадськість що його делегація мала у СанФранціско зустрічі з усіма представниками Об'єднаних Націй домагаючись включення України в число учасників конференції .
22755. Участь делегації УРСР в роботі Дунайської конференції 73 KB
  право України було відновлено. У 19941996 роках ЄС ухвалив Спільну позицію щодо України 28 листопада 1994 р. Указом Президента України було затверджено Стратегію інтеграції України до ЄС€ розраховану на період до 2007 року. на Гельсінському самміті Євросоюзу була ухвалена Спільна стратегія ЄС щодо України яка спрямована на зміцнення стратегічного партнерства з Україною.
22756. Участь УРСР в роботі конференції в Сан-Франциско 55.5 KB
  Політика ЄС стосовно України. Основні проблеми безпеки України зовнішній аспект та механізми їх гарантування. Політика ЄС стосовно України. У 19941996 роках ЄС ухвалив Спільну позицію щодо України 28 листопада 1994 р.
22757. VI сесія (1944р.) Верховної Ради УРСР щодо формування союзного Наркомату закордонних справ 37 KB
  Наслідки розширення ЄС для зовнішньої політики України. питання про утворення НКЗС Українибуло розглянуто на Політбюро ЦК КПб України. Поперше було вирішено встановити дипломатичні відносини України з Великою Британією і США подруге з іншими країнами антигітлерівської коаліції. Наслідки розширення ЄС для зовнішньої політики України Розширення Європейського Союзу яке відбулося 1 травня 2004 року призвело до історичних змін політичних географічних та економічних умов для України та Євросоюзу.