50209

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

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

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

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

Русский

2014-01-18

68 KB

2 чел.

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

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

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

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

Задание

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

А. Различать степени изменения лингвистической переменной в трех степенях – «Очень – Нормально – Слабо»

Б. Изменять порог чувствительности.

1. Казанова – Генрих VIII – верный лебедь

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.

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


 

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

81883. Организация как система управления 75 KB
  Организация в менеджменте - это объединение людей, совместно реализующих некоторую программу или достигающих определенной цели и действующих на основе определенных процедур и правил. В общем смысле под организацией имеют в виду способы упорядочения и регулирования действий отдельных индивидов и социальных групп.
81885. Внешняя среда организации 41.32 KB
  Подвижность среды это скорость с которой происходят изменения в окружении организации. Среда прямого воздействия включает факторы которые непосредственно влияют на операции организации и испытывают на себе прямое влияние операций организации. Зависимость между организацией и сетью поставщиков обеспечивающих ввод указанных ресурсов один из наиболее ярких примеров прямого воздействия среды на операции и успешность деятельности организации.
81886. Понятие и классификация структур управления 34.87 KB
  В рамках структуры управления протекает весь управленческий процесс в котором участвуют менеджеры всех уровней категорий и профессиональной специализации. Структура управления – простая совокупность способов посредством которых процесс труда сначала разделяется на отдельные рабочие задачи а затем достигается координация действий по решению задачи. Типы организационных структур: Иерархический тип – структура которая характеризуется высокой степенью разделения труда иерархией управления многочисленными нормами и правилами поведения.
81887. Основные элементы структуры управления 39.32 KB
  Под структурой управления организацией понимается упорядоченная совокупность взаимосвязанных элементов находящихся между собой в устойчивых отношениях обеспечивающих их развитие и функционирование как единого целого. Элементами структуры управления являются. Структура управления характеризуется наличием связей между её элементами.
81888. Иерархические структуры управления 38.72 KB
  Соблюдение этого принципа должно обеспечивать единство управления. Такая организационная структура образуется в результате построения аппарата управления из взаимоподчинённых органов в виде иерархической лестницы т. Функциональная организационная структура основана на создании подразделений для выполнения определённых функций на всех уровнях управления.
81889. Принципы «рациональной бюрократии» Макса Вебера как основа иерархических структур управления 38.18 KB
  Бюрократия рассматривалась им как некий идеальный образ наиболее эффективный инструмент управления социальными структурами и отдельными структурными единицами. Бюрократию как рациональную машину управления характеризуют: жесткая ответственность за каждый участок работы: координация во имя достижения организационных целей; оптимальное действие безличных правил; четкая иерархическая зависимость. Однако позже Вебер стал различать бюрократию в позитивном смысле западная рациональная система управления и в негативном смысле восточная...
81890. Достоинства и недостатки линейной структуры управления 36.39 KB
  Другими словами все функции управления и подчинения сосредотачиваются у руководителя создается вертикальная линия управления и прямой путь воздействия на подчиненных Преимущества линейной структуры управления: Создает реальные условия для единоначалия обеспечивает единство распоряжения в системе управления ориентирует руководителей в основном на решение оперативных задач. Простота управления один канал связи. Недостатки линейной структуры управления: Высокие требования к руководителю который должен быть подготовлен всесторонне.
81891. Достоинства и недостатки линейно-функциональной системы управления 35.61 KB
  Преимущества линейнофункциональной структуры управления: Обеспечивает соблюдение принципа единоначалия и в то же время предполагает рациональную специализацию управленческих звеньев. Недостатки линейнофункциональной структуры управления: Отсутствие тесных взаимосвязей и взаимодействия на горизонтальном уровне между производственными отделениями.