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.

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


 

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

79413. Психологический возраст и социальная зрелость личности. Подходы к определению критериев социальной зрелости личности 34.66 KB
  Следует отметить что и проблема хронологического возраста имеет большое значение для психологии при исследовании жизненного пути личности выделения его основных этапов т. Вместе с тем в современной науке все большее распространение приобретает полиизмерительный подход к изучению возраста как дифференцированной меры времени человеческой жизни. ^ Самооценка возраста. При постановке проблемы возраста которая принята в психологии практически неисследованным остается вопрос о субъективном отношении человека к собственному возрасту о том...
79414. Категория «личность» в системе наук. Междисциплинарный статус проблемы 26.59 KB
  Междисциплинарный статус проблемы Первое отличие познавательной ситуации исследования психологических закономерностей становления и развития личности состоит в том что в психологии до сих пор возникают серьезные затруднения при попытках очертить сферу эмпирических фактов относящихся к предмету психологического изучения личности. Многогранность феноменологии личности отражающая объективно существующее многообразие проявлений человека в истории развития общества и его собственной жизни превращает исходный вопрос любого познания вопрос об...
79415. Проблемы, связанные с изучением личности. Общие представление о личности в психологии 31.43 KB
  Общие представление о личности в психологии Слово личность в английском языке происходит от латинского person. Таким образом с самого начала в понятие личность был включен внешний поверхностный социальный образ который индивидуальность принимает когда играет определенные жизненные роли некая личина общественное лицо обращенное к окружающим. Эта точка зрения совпадает с мнением современного непрофессионала который обыкновенно оценивает личность по критериям обаяния умения вести себя в обществе популярности физической...
79416. Процессы планирования. Планирование ресурсов проекта 50.09 KB
  Планирование ресурсов проекта. Стандарты на процесс проектирования ПО: ограничения налагаемые на применяемые методы проектирования например распределение ресурсов использование прерываний и структур управляемых событиями использование динамических задач повторный вход использование глобальных данных механизм обработки исключительных ситуаций и обоснования для их использования; Спецификация системы подсистемы: должны быть описаны требования к ресурсам вычислителя к аппаратуре коэффициенту использования ресурсов аппаратуры ПО...
79417. Стратегии и методы проектирования информационных систем 41.51 KB
  Данный подход рекомендуется для организаций с узкоспецифическими требованиями не нуждающихся в общем совершенствовании процессов. Нисходящий подход проектирования Сверхувниз подразумевает собой разработку универсальной системы удовлетворяющей потребности нескольких предприятий. Данный подход рекомендуется для относительно зрелых организаций с устоявшимися бизнеспроцессами которые стремятся вложить все необходимые ресурсы в законченный продукт.
79418. Анализ объекта автоматизации. Методологии анализа 137 KB
  Функциональные модели удобны, когда производится автоматизация производства с хорошо описанным производственным циклом. Модель показывает управление объектом автоматизации. В данных моделях выделяем функции у объектов, основные связи между функциями, формальные ресурсы для функций, входы и выходы у функций
79419. Анализ объекта автоматизации. Инструментальные средства поддержки процессов анализа 44.84 KB
  Бесплатная версия программы поддерживает только базовые типы диаграмм, не имеет многопользовательской поддержки, не использует базу данных
79420. Процессы проектирования. Проектирование системной архитектуры 36.81 KB
  Системная архитектура или общая архитектура системы указывает состав технических объектов программных средств ручных операций; указываются требования системы между объектами. Компоненты должны быть разделены на модули системы подсистемы и т. Необходимо документально оформить привязку системных элементов архитектуры к требованиям системы.
79421. Процессы проектирования. Методики описания системной архитектуры 94.71 KB
  Методики описания системной архитектуры. IEEE 1471 IEEE 1471 Рекомендуемые методы описания архитектуры программных систем. В нем излагается концепция отношений между архитектурой описанием архитектуры заинтересованными сторонами соображениями точками зрений разрезами представлениями и моделями а также подход к работе с ними. См подробное описание ссылка Модель Захмана Модель Захмана основана на дисциплине классической архитектуры и обеспечивает общий словарь и набор перспектив или структур для описания современных сложных...