50193

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

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

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

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

Русский

2014-01-17

68 KB

4 чел.

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

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

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


 

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

28710. Крах социалистической государственности и становление Российского демократического государства 13.6 KB
  По мере ослабления СССР и укрепления суверенитета республик поднимается волна сепаратизма движя за выход из состава СССР. СССР положение о праве союзных республик на выход из состава СССР никогда не рассмлось как осуществимое. в ряде союзных республик наблюдается движение за выход из СССР. В этих условиях Верховный Совет СССР 3 апреля 1990 г.
28711. Конституция РФ 1993 г. и ее основные положения 14.17 KB
  Конституция РФ 1993 г. Всероссийский референдум по проекту новой Конст. Конст. В конст.
28712. Совершенствование государственного аппарата. Укрепление правовой основы государственной жизни в современных условиях 12.78 KB
  Руководству России предстояло продолжить курс на демократическое преобразование общества и создание правового государства. В 19921993 в России существовало три ветви власти: законодательная съезд народных депутатов России и избираемый ими Верховный Совет; исполнительная президент и назначаемое им правительство; и судебная во главе с Конституционным судом. Ельцин издал указ в котором объявил о роспуске съезда народных депутатов РФ и Верховного Совета проведении в декабре выборов нового органа законодательной власти Федерального...
28713. Обновление законодательства и приспособление его к условиям рыночной экономики в современных условиях 12.52 KB
  Государственное регулирование экономики ставит своей целью соблюдать интересы государства общества в целом социально незащищенных слоев населения. Налоговое регулирование осуществляется путем установления тех или иных объектов налогообложения назначения и дифференциации налоговых ставок введения налоговых льгот освобождение от налогов. Денежнокредитное регулирование состоит в воздействии государства на денежное обращение и объем денежной массы. Бюджетное регулирование заключается в том что государственные органы обладают возможностью...
28714. Силовые структуры, их место и роль в Российском демократическом государстве 13.09 KB
  Помимо вопроса безопасности мирных граждан и реформирования армии есть еще один аспект который не может не волновать общество при поиске места и задач для силовиков в современных условиях. Особенности функционирования силовых институтов на современном этапе их развития предполагают некоторые выводы: вопервых функции армии и милиции как инструментов власти являются частью государственных функций и находятся в прямой зависимости от природы правящего в стране политического режима проводимой им политики; вовторых основным предназначением...
28715. Разработка и принятие Конституции СССР 1936г. Ее основные положения. Реорганизация системы Советов. Национально-государственное строительство в 1936 - 1940 гг., его правовая оценка 13.45 KB
  Разработка и принятие Конституции СССР 1936г. Новая Конституция СССР была утверждена 5 декабря 1936 г. Политой основой СССР в ней названы Советы депутатов трудящихся эккой основой социалистическая система хозва и социалистическая собствсть на орудия и средства производства. провозгласила что в СССР победили социалистические общные отношения и создались такие основы социализма как ликвидация эксплуататорских классов господство социалистической собствти наличие дружественных классов рабочих крестьян и народной интеллигенции...
28716. Развитие законодательства о колхозах и труде в предвоенные годы 14.34 KB
  На II Всесоюзном съезде колхозников ударников был принят Примерный устав сельскохозяйственной артели который впоследствии был утвержден СНК СССР и ЦК ВКПб. СНК СССР и ЦК ВКПб в целях развития животноводства приняли следующие постановления: от 8 июля 1939 г. Постановление СНК СССР ЦК ВКПб и ВЦСПС от 28 дек. О мероприятиях по упорядочению трудовой дисциплины улучшению практики госго соцго страхя и борьбе с злоупотреблениями в этом деле; Указ Президиума Верховного Совета СССР от 26 июня 1940 г.
28717. Сталинский «большой скачок» и утверждение в СССР тоталитарного режима (1929 – 1940) 13.91 KB
  Сталинский большой скачок и утверждение в СССР тоталитарного режима 1929 1940. разработанных Госпланом СССР она одобрила первый. Немало крупных объектов возводилось в национальных республиках СССР. Происходили также важные сдвиги в управлении всем промм комплексом СССР.
28718. Перестройка органов государственной власти и управления в годы Великой Отечественной войны (1941 - 1945 гг.) 12.8 KB
  Поскольку сразу встал вопрос об эвакуации промышленных предприятий в восточные районы страны был создан Совет по делам эвакуации при ГКО. был образован Комитет по эвакуации продовольственных запасов промышленных товаров и предприятий промышленности. В декабре оба органа сменило Управление по делам эвакуации. Эвакуацией людей занималось Управление по эвакуации населения.