50022
Нечеткая логика
Лабораторная работа
Информатика, кибернетика и программирование
Согласно заданным вариантам разработать программу на любом алгоритмическом языке, способную: А. Различать степени изменения лингвистической переменной в трех степенях – «Очень – Нормально – Слабо» Б. Изменять порог чувствительности
Русский
2014-01-14
67 KB
2 чел.
Системы искусственного интеллекта
Лабораторная работа №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.
Вывод: научились создавать простейшую системы нечеткой логики, реализованной на языке высокого уровня.
А также другие работы, которые могут Вас заинтересовать | |||
72843. | Промышленные источники вибраций. Биологическое действие вибраций. Нормирование вибраций | 61 KB | |
Вибрация - это механическое колебательное движение системы с упругими связями; движение точки или механической системы, при котором происходит поочередное возрастание и убывание во времени значений по крайней мере одной координаты. | |||
72844. | Инфразвук. Средства защиты от инфразвука | 58.5 KB | |
Снижение неблагоприятного воздействия инфразвука достигается комплексом инженерно-технических и медицинских мероприятий основными из которых являются: устранение причин генерации инфразвука в источнике образования повышение жесткости конструкций больших размеров устранение... | |||
72846. | Классификация энергетических загрязнений. Естественный фон. Понятие о шумах. Источники шума естественного и техногенного происхождения. Биологическое действие шумов. Нормирование шумов | 64 KB | |
В окружающую среду поступают энергетические загрязнения в виде шума вибрации электромагнитных долей радиоактивных излучений. Источники: Источники шума в окружающей человека среде могут быть разбиты на две большие группы: внешние и внутренние. | |||
72847. | Смог (восстановительный и окислительный). Условия образования смога и методы борьбы с ним | 62 KB | |
Именно жители английской столицы первыми столкнулись с проблемами связанными с загрязнением городского воздуха. Загрязнение воздуха могут вызывать и входящие в состав топлива примеси в первую очередь соединения серы. | |||
72848. | Кислотные осадки. Источники образования и негативное воздействие на биологические объекты | 60.5 KB | |
Химический анализ кислотных осадков показывает присутствие серной (H2SO4) и азотной ( HNO3) кислот. Наличие серы и азота в этих формулах показывает, что проблема связана с выбросом данных элементов в атмосферу. | |||
72849. | Озон и его свойства. Механизм образования и разрушения озонового слоя. Защитные свойства атмосферы от действия УФИ | 61 KB | |
Эти процессы компенсируются быстрыми реакциями обратного соединения атомов в молекулы поэтому концентрации атомов O и N ниже 100 км очень малы. Но лишь примерно со 100 км атомарный кислород становится одним из основных компонентов атмосферы а на высоте около 150 км концентрации... | |||
72850. | Взаимоотношения природы и общества. Парниковые газы и парниковый эффект. Возможные последствия (глобальное изменение климата). Киотский протокол | 63 KB | |
Взаимодействие общества и природы как естественный и объективный процесс необходимое условие существования человека проявляется в двух основных формах. Использование природных ресурсов выступая одной из форм взаимодействия общества и природы обеспечивает экономические интересы общества. | |||