SlideShare ist ein Scribd-Unternehmen logo
1 von 19
ВИСОКА ПОСЛОВНА ШКОЛА СТРУКОВНИХ СТУДИЈА
                      БЛАЦЕ




            СЕМИНАРСКИ РАД
              - Рачунарство и информатика -
                Вештачка интелигенција
                          Fuzzy логика




Студент: Стефан Крстић Р12/09           Ментор: др Бранислав Јевтовић

                         У Блацу, 2011. год.
Предговор
Семинарски рад из предмета вештачка интелигенција, са темом fuzzy логика састоји се
из IV поглавља у којима се настоји да се што једноставнијим приступом изврши
анализа постављене проблематике.

У првом поглављу се описују општи појмови и принципи вештачке интелигенције, као
и део историјског развоја исте.

У другом поглављу се налази детаљни опис fuzzy логике и свих неопходних
компоненти за разумевање ове подобласти вештачке интелигенције. Акценат се ставља
на особине оваквих система кроз визуелизацију путем слика, табела и графикона...

Треће поглавље настоји да опише тенденцију развоја вештачке интелигенције, и
примену технологија исте у будућности.

Четвро поглавље садржи референце коришћене у изради семинарског рада.

Abstract
Seminar thesis on the topic fuzzy logic covers the subject area of artificial intelligence
consists of IV chapters and aims to send a reader in simple terms of analysis of the problem.

First chapter describes basic terms and principles of artificial intelligence through historical
development.

Second chapter describes fuzzy logic in details while the accent is put on behaviors of fuzzy
systems through visualisation with pictures, tables and graphs...

Third chapter tends to desrcibe artificial intelligence in the future.

Fourth chapter consists of references used in making of seminar thesis.




                                                                                                   2
Садржај
    1|    Увод у вештачку интелигенцију                         |4
  1.1 |   Дефиниција и области бављења вештачке интелигенције   |5
    2|    Увод у fuzzy логику                                   |6
  2.1 |   Fuzzy логика и управљање                              |7
2.1.1 |   Избор улаза и излаза fuzzy контролера                 | 10
2.1.2 |   Лингвистичке променљиве и лингвистичке вредности      | 10
2.1.3 |   Функције припадања                                    | 11
2.1.4 |   Фазификација                                          | 15
2.1.5 |   База правила                                          | 16
    3|    Закључак                                              | 18
    4|    Референце                                             | 19




                                                                       3
1. Увод

В     ештачка интелигенција је подобласт рачунарства. Циљ истраживања вештачке
      интелигенције је развијање програма (софтвера), који ће рачунарима омогућити
      да се понашају на начин који би се могао окарактерисати интелигнентим. Прва
истраживања се вежу за саме корене рачунарства. Идеја о стварању машина које ће
бити способне да обављају различите задатке интелигентно, била је централна
преокупација научника рачунарства који су се определили за истраживање вештачке
интелигенције, током целе друге половине 20. века. Савремена истраживања у
вештачкој интелигенцији су оријентисана на експертске и преводилачке системе у
ограниченим доменима, препознавање природног говора и писаног текста, аутоматске
доказиваче теорема, као и константно интересовање за стварање генерално
интелигентних аутономних агената.

Вештачка интелигенција као појам у ширем смислу, означава капацитет једне вештачке
творевине за реализовање функција које су карактеристика људског размишљања.
Могућност развоја сличне творевине је будила интересовање људи још од античког
доба; ипак, тек у другој половини XX века таква могућност је добила прва оруђа
(рачунаре), чиме се отворио пут за тај подухват.

Потпомогнута напретком модерне науке, истраживања на пољу вештачке
интелигенције се развијају у два основна смера: психолошка и физиолошка
истраживања природе људског ума, и технолошки развој све сложенијих рачунарских
система.

У том смислу, појам вештачке интелигенције се првобитно приписао системима и
рачунарским програмима са способностима реализовања сложених задатака, оодносно
симулацијама функционисања људског размишљања, иако и дан данас, прилично
далеко од циља. У тој сфери, најважније области истраживања су обрада података,
препознавање модела различитих области знања, игре и примењене области, као на
пример медицина.

Неке области данашњих истраживања обрађивања података се концентришу на
програме који настоје оспособити рачунар за разумевање писане и вербалне
информације, стварање резимеа, давање одговoра на одређена питања или
редистрибуцију података корисницима заинтересованим за одређене делове тих
информација. У тим програмима је од суштинског значаја капацитет система за
конструисање граматички коректних реченица и успостављање везе између речи и
идеја, односно идентификовање значења. Истраживања су показала да, док је проблеме
структурне логике језика, односно његове синтаксе, могуће решити програмирањем
одговарајућих алгоритама, проблем значења, или семантика, је много дубљи и иде у
правцу аутентичне вештачке интелигенције.

Истраживања у вештачкој интелигенцији су фокусирана на следеће компоненте
интелигенције: учење, размишљање, решавање проблема, перцепција и разумевање
природног језика.




                                                                                     4
1.1 Основни појмови вештачке интелигенције

Два главна правца развоја вештачке интелигенције су:

Проучавање природне интелигенције (спознавање функција мозга, моделирање рада
мозга, симулирање човековог понашања, реаговања и резоновања). Постизање
интелигентног понашања применом другачијих приступа, какви се не могу срести у
природним системима.

Вештачку интелигенцију према приступу решавања проблема можемо класификовати
на три главна приступа и то су:

      неуронске мреже,
      моделирање еволуције и
      хеуристичко програмирање.

Класификација вештачке интелигенције према врсти решавања проблема:

системи за решавање човекових уобичајених задатака:

       препознавање слика и говора,
       разумевање, генерисање и превођење природних језика,
      сналажење у свакодневним ситуацијама,
      примена у роботици.

системи за решавање формалних задатака:

      логичке игре,
      математичка логика, геометрија, интегрални рачун,
      особине програма.

системи за решавање експертних задатака:

      конструисање, налажење грешака, планирање производње,
      научне анализе и дијагностика (биологија, медицина, хемија, право),
      финансијска анализа,
      програми за развој оваквих система.

Технике које припадају вештачкој интелигенцији морале би да користе знања које су
организована тако да омогућавају:

      генерализацију,
      представљање и пресликавање у форми разумљивој људима,
      лако модификовање,
      да се користе информације које нису комплетне,
      да помажу у смањењу броја могућности које би иначе морале бити разматране
      (хеуристике).




                                                                                    5
2. Увод у fuzzy логику

Ш          та је fuzzy логика? Да би одговорили на ово питање, упоредићемо овај
           приступ са конвенцијалном логиком. Основе класичне логике је учврстио
           још у античкој Грчкој познати филозоф Аристотел. Ова логика се заснива на
јасним и прецизно утвђеним правилима, а почива на теорији скупова. Неки елемент
може да припада неком скупу или да не припада. Скупови имају јасно одређене
границе. Тако су овакви скупови, па са њима и логика, названи енглеском речи crisp,
која има значење – јасан, бистар.
Fuzzy (/фΛзи/) је енглеска реч која би могла да се преведе као магловито, нејасно,
мутно. У fuzzy логици није прецизно дефинисана припадност једног елемента
одређеном скупу, већ се припадност мери у, рецимо, процентима. Ове мере
припадности, скалиране, могу да узимају вредности од 0 до1.
Узмимо као пример дане у недељи и направимо два скупа. Скуп радних дана и скуп
викенд. У crisp логици би се у скупу радних дана нашли: понедељак, уторак,
среда, четвртак и петак а у скупу викенд дана: субота и недеља. Тј. припадност
елемента неком скупу би се изразила бројем 1 а неприпадање бројем 0. Међутим у
fuzzy закључивању би ситуација била нешто другачија. Петак, као дан који је делом
радни дан а делом почетак викенда био би негде на граници ова два скупа. Тј. његова
припадност првом, скупу радних дана би се изражавала, рецимо бројем 0,75 док би
припадност другом, скупу викенд дана била цифра 0,25. Слично би било и за недељу
као дан који јесте викенд али не сасвим, целим својим трајањем, јер ипак се недеља
увече доживљава као припрема за нову радну недељу односно многи људи ће
га окарактерисати као не сасвим викенд дан, јер после њега долази понедељак.


Видимо да је ова логика јако блиска људској перцепцији о многим стварима у животу.
Многе сличне ситуације које нису јасно раздвојене, које су мешавина више ствари су
свакодневно присутне око нас. Овде смо на прилично нестабилном терену, јер
релевантним постаје субјективно мишљење о некој ствари. Чак и културолошко
наслеђе или генерацијске разлике имају утицаја. Али то је и поента. Да ли је
десетогодишњак који себе сматра високим стварно и висок? Овде смо представили
домен у коме јасна да – не (тачно – нетачно) логика више није употребљива. У fuzzy
логици истинитост сваког тврђења се мери у процентима.




            Улази                    Црна кутија                   Излази




                         Слика 1.1 – Пресликавање улаза у излазе




                                                                                       6
Fuzzy логику је представио Lotfi Zadeh 1965. године, а у контролу система ју је увео
Е. Mamdani 1976. године. Још тада је овај приступ привукао завидну пажњу. Иако се за
једноставније системе фуззy приступ показао као веома ефикасан и јасно прилагођен
људском поимању ствари, за компликованије системе се показао као веома захтеван.

Наиме, за реализацију контролера у том случају је потребно много ресурса, и
временских и интелектуалних. У годинама које су уследиле развијене су различите
методе за пројектовање контролера које би олакшале овај процес. Једна од тих метода
је пројектовање fuzzy PID контролера, односно задржавање концепта PID контролера и
комбиновање са fuzzy логиком закључивања. Такав приступ ћемо надаље користити. За
улазе контролера се усвајају пропорционално, интегрално и диференцијално дејство,
као до тад познате и прихваћене промењиве о чијем се понашању поседује довољно
искуственог знања. Сам fuzzy део контролера је замишљен тако да одговара понашању
конкретног система. Fuzzy контролер је контролер који врши пресликавање улаза у
излазе коришћењем фуззy логике.

2.1 Fuzzy логика и управљање

До данас су развијане многе технике пројектовања контролера које би требало да
омогуће јасну методологију за остваривање жељених перформанси и спецификација
које контролер треба да испуни. Ове технике се разликују и у приступу, па се тако
издвајају различити контролери: линеарни, робусни, нелинеарни, адаптивни, засновани
на простору стања итд. Највећи број контролера у употреби данас су PID контролери
који се често сматрају као адекватно решење које је једноставно, поуздано и у великој
мери лако разумљиво.
Сви ови приступи се ослањају на диференцијалне једначине којима се довољно добро
описује динамичко понашање система. Математичке представе физичких законитости
по којима се процес понаша, доводе до одређених закључака како да се процесом
ваљано управља. Ове једначине, наравно, описују процес са одређеним степеном
занемаривања а све у циљу да се добије што једноставнији модел процеса који
задовољавајуће представља систем и његову динамику. Да би се добили контролери
добрих перформанси развијене су разне методе подешавања контролера. Ове методе се
заснивају на хеуристичком предзнању о процесу који треба контролисати, као нпр.
најчешће коришћена метода Ziegler – Nickhols.
 Јавило се питање како би се понашао контролер у чијем развоју је примењено
искључиво хеуристичко знање, без комплексног математичког апарата за моделирање?
Fuzzy управљање обезбеђује формалну методологију за представљање, манипулацију и
имплементацију људског хеуристичког предзнања о томе како контролисати један,
одређени систем. Ово не искључује развој модела процеса јер нам је овај модел у
сваком случају потребан за детаљну симулацију понашања контролера у циљу
испитивања задовољења перформанси, стабилности система као и за испитивање
крајних ограничења самог дизајна.
Циљ fuzzy приступа је да, уместо да језиком математике покуша да што боље реши
проблем управљања системом, омогући имплементацију инжењерског искуства о
процесу у сам алгоритам контролера. Овде ћемо представити уопштену филозофију




                                                                                        7
fuzzy контролер

   оваквог приступа дизајнирању контролера.
                fuzzification     Defuzification


              Inference mechanism
референтни                                             управљање
улаз r(t)                                              u(t)                      излаз y(t)
                                                                     Процес




                           Rule-Base




                            Слика 2.1 – Структура fuzzy контролера

   • База правила садржи знање о томе како најбоље контролисати систем, и то у форми
   скупа логичких (if – then) правила.

   • Интерфејс је механизам за процењивање која контролна правила су релевантна за
   тренутно стање система и одлучује логичким склопом какав ће бити управљачки
   сигнал, тј. улаз у процес.

   • Фазификација напросто модификује сигнале улаза тако да могу бити правилно
   протумачени и упоређени са правилима у бази правила. Crisp сигнал претварамо у
   адекватан fuzzy облик.

   • Дефазификација трансформише закључак интерфејса у такав облик сигнала да овај
   може бити сигнал који представља улаз у процес.

   Ово је трансформација fuzzy облика у crisp облик сигнала, који је „разумљив“ процесу.
   У основи, на fuzzy контролер треба гледати као на вештачког доносиоца одлуке који
   ради у систему са затвореном спрегом у реалном времену. Он „сакупља“ податке излаза
   процеса, упоређује их са референцом и онда на начин својствен fuzzy логици
   „одлучује“ шта у том тренутку треба да буде улаз процеса, и то тако да се задовоље
   жељене перформансе и задати циљеви спецификације.

   Да би пројектовали један fuzzy контролер, потребно нам је пре свега одређено
   предзнање о понашању процеса. Хеуристичке информације о томе како најбоље
   управљати неким процесом могу да се прикупе на два начина. Информације најчешће
   добијамо од оператера који има довољно искуствених података о томе како на најбољи
   начин управљати процесом. Ређе закључке о управљењу процеса доносе специјално
   ангажовани инжењери који, схватајући динамику процеса, могу да одреде правила по
   којима би се процесом могло управљати.




                                                                                              8
Ова правила нам говоре какав би требао да буде улаз процеса ако се његов излаз
понаша на такав и такав начин. Количина информација не би требало да буде мања од
информација потребних за дизајн неког од конвенцијалних контролера. Иако нам
предзнање о изгледу модела процеса није неопходно за само пројектовање fuzzy
контролера, ако такву информацију и поседујемо, зашто је не искористити?

Ово је честа заблуда при првом сусрету са fuzzy контролером. Ако ни због чега
другог, модел процеса ће нам бити потребан за симулацију управљања и испитивање
квалитета контролера, пре евентуалног реалног пуштања у рад. Ако су нам већ ти
подаци доступни онда је паметно да их узмемо у обзир и искористимо. Пројектовање
фуззy контролера по дефиницији не искључује одсуство потребе за налажењем модела
процеса. Предност fuzzy начина се не огледа у томе.

При конвенцијалном пројектовању за описивање динамике система се користе
диференцијалне једначине, које се касније покушавају поједноставити и тако учине што
„разумљивије“ машинама. Тиме оне постају уједно мање разумљиве људима. Fuzzy
приступ је другачији. Он људски начин резоновања уноси у рачунарску логику –
рачунарски алгоритам постаје ближи људском закључивању и самим тим једноставнији
људима за схватање.

Уместо да ми покушавамо да мислимо на начин на који то „раде“ машине, омогућавамо
машинама да „мисле“ на наш начин. Логичка правила по којим се врши управљање су
реализована у облику „if – then“ правила и ако је развијена стратегија управљања,
систем је спреман да се провери у симулацији. Поступак реализације fuzzy контролера
ћемо објаснити на једноставном примеру контроле нивоа воде у резервоару путем
једног вентила. Ниво воде се задаје а отварањем и затварањем вентила се постиже
ваљано управљање. Прво ћемо одредити који би могли бити улази и излази нашег
контролера.




                                                                                       9
2.1.1 Избор улаза и излаза fuzzy контролера

Први корак у пројектовању представља избор улаза и излаза контролера. Променљиве
које носе информацију о понашању система треба да буду улази контролера.
Проучавањем система видимо да можемо узети различите инфомације. У нашем
примеру то може бити тренутни ниво воде у резервоару и прираштај нивоа воде, тј. ток
воде. Други избор за улазе може бити статичка грешка нивоа и извод грешке:

e(t) = r(t) - y(t),   , где је r(t) референтни улаз, а y(t) излаз процеса.

Приметићемо да нас овај избор подсећа на PID контролер. Наравно постоје многа
интуитивна решења за избор варијабли које носе довољно информација о тренутном
стању система и на којима ће се заснивати одлука контролера. Следећи корак је избор
контролне промењиве, односно улаза у процес.

Како је наш пример једноставан, као једини избор се намеће контрола вентила. Вентил
какаркетишу две особине: степен отворености и брзина којом се вентил затвара/отвара.
За комплексније системе избор улаза и излаза контролера може бити тежи. Да би
контролер могао да донесе одлуку о вредности управљачке промењиве, мора да прима
довољно информација кроз сигнале улаза.

Ако се испостави да контролер не ради добро свој посао, проблем је можда управо у
избору улазних сигнала или у недовољном броју релевантних параметара који су узети
у обзир. Такође, контролер мора имати излаз који ће управљати системом тако да га
доведе у захтевано стање са жељеним перформансама.

У лабораторијским и условима симулације, системи и њихово понашање су нам
релативно познати. Системи са којима се инжењери срећу у пракси су обично
вишеслојно компликовани и избор ових варијабли се не сме узети олако.

2.1.2 Лингвистичке промењиве и лингвистичке вредности

Једна од особина fuzzy логике је да се базира на природном језику, на основама
људског споразумевања. Обични, говорни језик, представља тријумф ефикасности
комуникације. Не примећујемо важност овога, јер се језиком служимо свакодневно.
Како је fuzzy логика изграђена од структура које се ослањају управо на квалитативним
описима којима се служимо свакодневно, у природном језику, једноставност употребе
фуззy логике се сама намеће.

Улази и излази могу имати различите лингвистичке називе. Уобичајено се промењиве
називају описним именима, попут: ниво воде, прилив воде, људи средњег раста, велике
зараде, брзи аутомобили, мала растојања итд. Ово је добар приступ, али треба бити
обазрив да се, зарад постизања што детаљније документације и што бољег описа
промењиве и њеног утицаја на систем, не направи превише компликован и дуг назив.

Трансформацију оваквих израза у облик математичке представе омогућава нам теорија
fuzzy скупова. Лингвистичке промењиве би требало да имају и лингвистичке
вредности. То могу бити: „негативно велико“, „негативно средње“, „негативно мало“,
„блиско нули“, „позитивно велико“, „добро“, „отвори брзо“ и сл.




                                                                                       10
Овим вредностима можемо да доделимо и нумеричку представу у циљу лакшег и
краћег обележавања.

Ако хоћемо да говоримо о топлоти воде, морамо да установимо опсег у ком се очекује
да температура варира као и то шта мислимо под термином „врућа“. Односно којих све
температура може да буде вода ако је назовемо „врућом“. Све ово нам користи да што
боље објаснимо динамику система кроз лингвистичку представу знања о процесу. Што
боље разумемо процес, лингвистичка представа његовог понашања ће бити прецизнија
и самим тим довести до бољег контролера.

Случај да нека лингвистичка промењива узима одређену лингвистичку вредност мора
да представља јасно одређено стање система и да се дистанцира од других случајева.
Ако је грешка система, у нашем примеру резервоара, позитивна, то може да значи само
једно: тренутни ниво воде је нижи од жељеног нивоа.

У нашем примеру задовољавајуће лингвистичке промењиве су: „ e(t) “ за грешку и
„     “ за извод грешке, а за управљачку промењиву „вентил“, јер се овом промењивом
управо управља вентилом.

2.1.3 Функције припадања

Коју вредност заправо имају лингвистичке вредности? Овде на сцену ступају функције
припадања. Ово уствари илуструје природу лингвистичких вредности. Ако кажемо да је
време данас вруће, шта то у ствари подразумева? Свакако не подразумева тачно
одређену температуру спољњег ваздуха, већ извесни интуитивни опсег температуре.

Функција припадања представља континуално мерило сигурности да ли је наша
промењива класификована као та лингвистичка вредност. Ова функција одређује
степен припадања неког објекта датом fuzzy скупу.

           1.0                                                            висок је (µ = 1.0)




           µ


                                                                          није висок (µ = 0.0)

           0.0
                                                                 висина




               Слика 2.2 – Koнвенционална функција припадања скупу високих особа



                                                                                                 11
Текст или адреса интернет стране коју Узмимо као пример одређивање припадности
скупу високих људи. Код конвенцијалног скупа граница припадности би била оштро
одређена једном прекидном функцијом (слика 2.2). Усвојена је граница до које се нека
особа сматра високом. Две особе би биле различито класификоване иако им се висина
разликује у само пар сантиметара.


                                                                        дефинитивно висока
        1.0                                                             особа (µ = 0.95)




         µ

                                                                       не баш висока
                                                                       особа (µ = 0.30)

        0.0
                                                              висина




              Слика 2.3 – Континуална функција припадања fuzzy скупу високих особа

Овај приступ би имао смисла да говоримо о некој апстрактној представи као што су,
рецимо бројеви. Можемо рећи да су сви бројеви већи од неког броја велики а мањи од
њега мали. Међутим, кад причамо о нечем што је условљено субјективним, старосним
и друштвеним одликама, као што је процена да ли је нека особа висока, постављати
овакву оштру границу је без смисла.

Зато уводимо континуалну функцију припадања која одређује да ли и у којем
степену је нека особа висока (слика 2.3). Ова функција може узети у обзир на кога се
односи, да ли на особе женског рода, да ли на децу до 12 година или на све пунолетне
особе. Једино што функција припадања мора да испуни јесте да буде скалирана и да
узима вредности од 0 до 1, као ваљане репрезенте степена припадања промењиве тој
функцији.

Ове функције могу да имају различите облике (слика 2.4). Каква ће бити функција
припадности зависи од услова и понашања система. Рецимо за све вредности
промењиве e(t) веће од неке максималне релевантне вредности функција припадности
може имати сатурацију, тј. све вредности веће од те припадају једној функцији.




                                                                                             12
μ                                                                μ

1.0                                                              1.0




0.5                                                              0.5
                                    позитивна                                                        позитивна

          (a) трапезоидна     1.5              е(t)                        (б) Гаусовска      1.5           е(t)

μ                                                                 μ

1.0                                                              1.0




0.5                                                              0.5
                                    позитивна                                                        позитивна
                             1.5               е(t)                                           1.5           е(t)
          (в) Вршна                                                        (г) асиметрична правоугаона


                       Слика 2.4 – Пример избора функције припадности за случај e(t) je позитивна

          Ако функцију припадања означимо са μA (x) oнда је fuzzy скуп А над простором X
          дефинисан као: A = {x, μA (x) | x € X}, где је μA (x) функција припадности која мапира
          степен приданости елемента x скупу А. На овај начин се уводи неодређеност, која
          потиче   од    особине     људи      да    ствари     не   посматрају   на    егзактан,
          одређен начин. Сваки елемент x скупа А има степен припадања μ A (x) = [0.1].
          Математичка представа функција припадања и особина fuzzy скупа ће бити детаљније
          представљена у поглављу 2.2.



      1




                        Слика 2.5 – Tроугаоне функције (називају се још и L, A и Г - према облику)



                                                                                                                   13
Како би се остварила рачунска ефикасност, ефикасност коришћења меморијских
ресурса (што је важно код аутономних контролних уређаја који су често скромних
хардверских могућности) и да би се оствариле жељене перформансе система, потребна
је униформна представа функције припадности. Оваква представа може се постићи
употребом функције припадности униформног облика и параметарске, односно
функционалне дефиниције. Најпопуларније су функције троугаоног, трапезоидалног и
звонастог облика. У аутоматском управљању се највише користи троугаони облик
функције припадности зато што је њен аналитички облик најједноставнији и највише
одговара постојећим контролним проблемима (слика 2.5).

         негативна                  негативно                        затвори брзо




    -1                  1    -0.1                0.1 -1                                       1




    -1                  1    -0.1                0.1 -1                                       1




    -1                  1    -0.1                0.1 -1                                       1
              а)                       б)




                                                      -1                                      1




                                                      -1                                      1
                                                                          ц)

         Слика 2.6 – Функције припадања а) за улаз е(t) б) за улаз   и ц) за излаз "вентил"

У примеру резервоара улазне промењиве и управљачка промењива имају функције
припадања приказане на слици 2.6. Приметићемо да имена функција одражавају
особину промењивих, како улазних тако и излазне, управљачке. Овим смо, дакле,
одредили и лингвистичке вредности које ове варијабле могу узимати.




                                                                                                  14
2.1.4 Фазификација

Фазификација представља само врсту представе црисп величина у такав облик да буде
примењив у фуззy логици. Често се овај поступак назива и кодирање. Ово нам
омогућавају управо функције припадности, које уствари мапирају степен истинитости
неке тврдње. Ако је е(t) = -0.3 како се то представља у једном фуззy систему? Ово је
сликовито објашњено на слици 2.7.
                                 нула




                                             е(t) = -0.3
                                               улаз 1
                         Слика 2.7 – Пример фазификација улазне променљиве e(t)

Фазификација представља пресликавање нумеричких вредности улаза x у fuzzy скуп:

F: X → XFUZ: , (2.4)

где су са XFUZ представљени сви fuzzy скупови који се могу дефинисати над доменом
X. Придруживање fuzzy скупа AiFUZ и променљивој xi можемо представити релацијом:

F (xi) = AiFUZ , (2.5)

Посебан облик фазификације представља „singleton“ фазификација. Производ овог
пресликавања је скуп AiFUZ , чија функција припадања узима само једну, дискретну
вредност:


μAFUZ (a) = {        , (2.6)

Оваква singleton функција се представља дискретном импулсном функцијом. Она се
често користи у процесу одређивања fuzzy скупа излазних промењивих fuzzy
контролера. Излази тада узимају коначан број дискретних и одређених вредности. Ово
је погодност у аутоматском управљању, јер се често вредности управљачких сигнала
морају кретати у ограниченом опсегу, да би се задржала стабилност система. Овакви
контолери се називају sugeno тип контролера.




                                                                                       15
2.1.5 База правила

    Претпоставимо да је искусни стручњак већ описао најбољи начин за управљање
    системом и то на неком природном језику (нпр. српском). Наш задатак је да пронађемо
    начин како да ово „лингвистичко“ знање о процесу унесемо у fuzzy контролер.
    Циљ fuzzy контролера је да fuzzy логиком мапира пресликавање улаза у излазе
    контролера. Примарни механизам за то је листа if – then тврђења која називамо
    правилима.

    Сва правила се извpшавају паралелно и њихов редослед није битан. Оваква листа
    правила се назива база правила (rule – base). Правила се односе на лингвистичке
    промењиве и на њихове особине. Ако смо претходно дефинисали све термине и све
    особине које дефинишу те термине, тј. промењиве, можемо да приступимо
    пројектовању система који интерпретира правила. Да би изразили последицу коју
    производе тренутне вредности улазних помењивих градимо правила.

    Ова правила имају облик:
    if <premisa> then <posledica>,

    односно: if x1 is А1,к and ... and xNx ис АNx, then y1 is B1,к , ... , yNy ис BNy,к.

    На исти начин као што теорија crisp скупова служи као основа за класичну логику ,
    теорија fuzzy скупова служи као основа за fuzzy логику. Основни појам fuzzy логике,
    као и логике crisp скупова, је тврђење (исказ) које има облик x is А.



                          A      B                      A      B                             A
  бинарна
   логика




                     A and B                         AcrB                              rdA



                                                                                 A
вредности
логика са




                 A                             A
  више




                              A and B                   acrB                     B

                       АND                           OR                              NOT
                     min (A,B)                     max (A,B)                         (1-A)


                                 Слика 2.8 Разлика између crisp и fuzzy логике




                                                                                                 16
Операције пресека, уније и комплемента имају своје коресподенте, у fuzzy логици, у
везницима „and“, „or“ и „not“, тако да се помоћу њих могу градити сложена тврђења
(слика 2.8). Више о операторима, релацијама и особинама fuzzy скупа је речено у
подглављу 2.2.

Максималано могућ број правила је одређен бројем улазних величина и бројем
лингвистичких вредности. Ако је број улаза n , а број вредности за сваку величину
понаособ m , онда је максималан број правила mn . Наравно ово је у случају свих
комбинација, мада се дешава да ако једна промењива има одређену вредност, друга
улазна промењива нема никакав утицај.

Ако број улаза у контролер није превелик, згодан начин представљања свих
случајева је у форми табеле. Ако имамо два улаза: e(t) и       и пет вредности које ове
промењиве могу узети: NB (negative big), NS (negative small), Z (zero), PS (positive small)
и PB (positive big), представа свих комбинација би била кроз табелу 2.1:



                                u

                                  NB        NS Z PS PB
                               NB NB        NB NB NS Z
                               NS NB        NB NS Z PS
                             e Z NB         NS Z PS PB
                               PS NS         Z PS PB PB
                               PB Z         PS PB PB PB

                          Tабела 2.1 - табеларна представа базе знања

Приметићемо да ова правила не могу да буду сасвим прецизна. То је зато што
промењиве узимају лингвистичке вредности и то из ограниченог скупа па самим тим
имамо и ограничени скуп правила. Она су само апстрактне представе о томе како би
требало управљати процесом. Наш циљ и није да будемо прецизни већ да представимо
ствари које имају важност, које су од значаја за наш проблем управљања процесом.

Следећи корак у пројектовању fuzzy контролера за управљање резервоаром би био
одређивање правила. Утврђена правила су:

1. IF (е(t) is нула) then (вентил is без_промене)
2. IF (е(t) is позитивна) then (вентил is отвори_брзо)
3. IF (е(t) is негативна) then (вентил is затвори_брзо)
4. IF (е(t) is нула) and (de/de is негативно) then (вентил is затвори_споро)
5. IF (е(t) is нула) and (de/de is позитивно) then (вентил is отвори_споро)




                                                                                              17
3. Закључак

О
       сновне тенденције данас, за развој система вештачке интелигенције
       представљају: развој експертских система и развој неуронских мрежа.
       Експертски системи покушавају репродуковати људско размишљањене преко
симбола. Неуронске мреже то раде више из биолошке перспективе (рекреирају
структуру људског мозга уз помоћ генетских алгоритама). Упркос сложености оба
система, резултати су веома далеко од стварног интелигентног размишљања.

Многи научници су скептици према могућности развијања истинске вештачке
интелигенције. Функционисање људског размишљања, још увек није дубље познато, из
ког разлога ће информатички дизајн интелигентних система, још дужи временски
период бити у суштини онеспособљен за представљање тих непознатих и сложених
процеса.




                                                                                   18
4. Референце

П       оред доле наведених материјала коришћене су и презентације из предмета
        Вештачка интелигенција на Високој Пословној Школи Струковних Студија из
        Блаца, те и релевантни семинарски и дипломски радови са блиском тематиком,
иако исти нису наведени на листи референци. Преузети материјали са интернета
подлежу слободној дистрибуцији и употреби у циљу едукације и израде научних
радова.

  1 | Основе вештачке интелигенције
З. Поповић, Т. Вуковић - Центар за мултидисциплинарне студије, Београд 2006
  2 | Да ли је PC научио да чита?
И. Шајић - часопис “Рачунари” бр 119, БИГЗ, Београд1996
  3 | Фази логика и неуронске мреже
П. Шубашић - Техничка Књига, Београд 1998
  4 | Вештачка интелигенција интелигентне машине и системи
М. Јоцковић - Графомед, Београд 1997
  5 | Data Structures and Algorithms in Java
Michael Waite - Release team 2001
  6 | Data Structures - University of Sussex
Petter M. Williams, 2005
  7 | Експертски системи у техничкој дијагностици
Електротехнички факултет у Београду
  8 | Форум студената факултета организационих наука у Београду
http://www.puskice.org/
  9 | Електронска библиотека
http://www.scribd.com/
 10 | Едукативни садржаји Google.com сајта
http://www.schoolar.google.com

Рад се доставља у .doc/.docx/.pdf форматима и за његово прегледање потребан је
софтвер Microsoft Word или Adobe Acrobat Reader. За прегледње рада није потребно
инсталирати додатне фонтове на рачунар. Форма рада је преузета са сајта Високе
Пословне Школе Струковних Студија из Блаца на адреси http://www.vpskp.edu.rs/




                                                                                     19

Weitere ähnliche Inhalte

Empfohlen

Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Empfohlen (20)

PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 

R1209 veštačka inteligencija - stefan krstić - fuzzy logika

  • 1. ВИСОКА ПОСЛОВНА ШКОЛА СТРУКОВНИХ СТУДИЈА БЛАЦЕ СЕМИНАРСКИ РАД - Рачунарство и информатика - Вештачка интелигенција Fuzzy логика Студент: Стефан Крстић Р12/09 Ментор: др Бранислав Јевтовић У Блацу, 2011. год.
  • 2. Предговор Семинарски рад из предмета вештачка интелигенција, са темом fuzzy логика састоји се из IV поглавља у којима се настоји да се што једноставнијим приступом изврши анализа постављене проблематике. У првом поглављу се описују општи појмови и принципи вештачке интелигенције, као и део историјског развоја исте. У другом поглављу се налази детаљни опис fuzzy логике и свих неопходних компоненти за разумевање ове подобласти вештачке интелигенције. Акценат се ставља на особине оваквих система кроз визуелизацију путем слика, табела и графикона... Треће поглавље настоји да опише тенденцију развоја вештачке интелигенције, и примену технологија исте у будућности. Четвро поглавље садржи референце коришћене у изради семинарског рада. Abstract Seminar thesis on the topic fuzzy logic covers the subject area of artificial intelligence consists of IV chapters and aims to send a reader in simple terms of analysis of the problem. First chapter describes basic terms and principles of artificial intelligence through historical development. Second chapter describes fuzzy logic in details while the accent is put on behaviors of fuzzy systems through visualisation with pictures, tables and graphs... Third chapter tends to desrcibe artificial intelligence in the future. Fourth chapter consists of references used in making of seminar thesis. 2
  • 3. Садржај 1| Увод у вештачку интелигенцију |4 1.1 | Дефиниција и области бављења вештачке интелигенције |5 2| Увод у fuzzy логику |6 2.1 | Fuzzy логика и управљање |7 2.1.1 | Избор улаза и излаза fuzzy контролера | 10 2.1.2 | Лингвистичке променљиве и лингвистичке вредности | 10 2.1.3 | Функције припадања | 11 2.1.4 | Фазификација | 15 2.1.5 | База правила | 16 3| Закључак | 18 4| Референце | 19 3
  • 4. 1. Увод В ештачка интелигенција је подобласт рачунарства. Циљ истраживања вештачке интелигенције је развијање програма (софтвера), који ће рачунарима омогућити да се понашају на начин који би се могао окарактерисати интелигнентим. Прва истраживања се вежу за саме корене рачунарства. Идеја о стварању машина које ће бити способне да обављају различите задатке интелигентно, била је централна преокупација научника рачунарства који су се определили за истраживање вештачке интелигенције, током целе друге половине 20. века. Савремена истраживања у вештачкој интелигенцији су оријентисана на експертске и преводилачке системе у ограниченим доменима, препознавање природног говора и писаног текста, аутоматске доказиваче теорема, као и константно интересовање за стварање генерално интелигентних аутономних агената. Вештачка интелигенција као појам у ширем смислу, означава капацитет једне вештачке творевине за реализовање функција које су карактеристика људског размишљања. Могућност развоја сличне творевине је будила интересовање људи још од античког доба; ипак, тек у другој половини XX века таква могућност је добила прва оруђа (рачунаре), чиме се отворио пут за тај подухват. Потпомогнута напретком модерне науке, истраживања на пољу вештачке интелигенције се развијају у два основна смера: психолошка и физиолошка истраживања природе људског ума, и технолошки развој све сложенијих рачунарских система. У том смислу, појам вештачке интелигенције се првобитно приписао системима и рачунарским програмима са способностима реализовања сложених задатака, оодносно симулацијама функционисања људског размишљања, иако и дан данас, прилично далеко од циља. У тој сфери, најважније области истраживања су обрада података, препознавање модела различитих области знања, игре и примењене области, као на пример медицина. Неке области данашњих истраживања обрађивања података се концентришу на програме који настоје оспособити рачунар за разумевање писане и вербалне информације, стварање резимеа, давање одговoра на одређена питања или редистрибуцију података корисницима заинтересованим за одређене делове тих информација. У тим програмима је од суштинског значаја капацитет система за конструисање граматички коректних реченица и успостављање везе између речи и идеја, односно идентификовање значења. Истраживања су показала да, док је проблеме структурне логике језика, односно његове синтаксе, могуће решити програмирањем одговарајућих алгоритама, проблем значења, или семантика, је много дубљи и иде у правцу аутентичне вештачке интелигенције. Истраживања у вештачкој интелигенцији су фокусирана на следеће компоненте интелигенције: учење, размишљање, решавање проблема, перцепција и разумевање природног језика. 4
  • 5. 1.1 Основни појмови вештачке интелигенције Два главна правца развоја вештачке интелигенције су: Проучавање природне интелигенције (спознавање функција мозга, моделирање рада мозга, симулирање човековог понашања, реаговања и резоновања). Постизање интелигентног понашања применом другачијих приступа, какви се не могу срести у природним системима. Вештачку интелигенцију према приступу решавања проблема можемо класификовати на три главна приступа и то су: неуронске мреже, моделирање еволуције и хеуристичко програмирање. Класификација вештачке интелигенције према врсти решавања проблема: системи за решавање човекових уобичајених задатака: препознавање слика и говора, разумевање, генерисање и превођење природних језика, сналажење у свакодневним ситуацијама, примена у роботици. системи за решавање формалних задатака: логичке игре, математичка логика, геометрија, интегрални рачун, особине програма. системи за решавање експертних задатака: конструисање, налажење грешака, планирање производње, научне анализе и дијагностика (биологија, медицина, хемија, право), финансијска анализа, програми за развој оваквих система. Технике које припадају вештачкој интелигенцији морале би да користе знања које су организована тако да омогућавају: генерализацију, представљање и пресликавање у форми разумљивој људима, лако модификовање, да се користе информације које нису комплетне, да помажу у смањењу броја могућности које би иначе морале бити разматране (хеуристике). 5
  • 6. 2. Увод у fuzzy логику Ш та је fuzzy логика? Да би одговорили на ово питање, упоредићемо овај приступ са конвенцијалном логиком. Основе класичне логике је учврстио још у античкој Грчкој познати филозоф Аристотел. Ова логика се заснива на јасним и прецизно утвђеним правилима, а почива на теорији скупова. Неки елемент може да припада неком скупу или да не припада. Скупови имају јасно одређене границе. Тако су овакви скупови, па са њима и логика, названи енглеском речи crisp, која има значење – јасан, бистар. Fuzzy (/фΛзи/) је енглеска реч која би могла да се преведе као магловито, нејасно, мутно. У fuzzy логици није прецизно дефинисана припадност једног елемента одређеном скупу, већ се припадност мери у, рецимо, процентима. Ове мере припадности, скалиране, могу да узимају вредности од 0 до1. Узмимо као пример дане у недељи и направимо два скупа. Скуп радних дана и скуп викенд. У crisp логици би се у скупу радних дана нашли: понедељак, уторак, среда, четвртак и петак а у скупу викенд дана: субота и недеља. Тј. припадност елемента неком скупу би се изразила бројем 1 а неприпадање бројем 0. Међутим у fuzzy закључивању би ситуација била нешто другачија. Петак, као дан који је делом радни дан а делом почетак викенда био би негде на граници ова два скупа. Тј. његова припадност првом, скупу радних дана би се изражавала, рецимо бројем 0,75 док би припадност другом, скупу викенд дана била цифра 0,25. Слично би било и за недељу као дан који јесте викенд али не сасвим, целим својим трајањем, јер ипак се недеља увече доживљава као припрема за нову радну недељу односно многи људи ће га окарактерисати као не сасвим викенд дан, јер после њега долази понедељак. Видимо да је ова логика јако блиска људској перцепцији о многим стварима у животу. Многе сличне ситуације које нису јасно раздвојене, које су мешавина више ствари су свакодневно присутне око нас. Овде смо на прилично нестабилном терену, јер релевантним постаје субјективно мишљење о некој ствари. Чак и културолошко наслеђе или генерацијске разлике имају утицаја. Али то је и поента. Да ли је десетогодишњак који себе сматра високим стварно и висок? Овде смо представили домен у коме јасна да – не (тачно – нетачно) логика више није употребљива. У fuzzy логици истинитост сваког тврђења се мери у процентима. Улази Црна кутија Излази Слика 1.1 – Пресликавање улаза у излазе 6
  • 7. Fuzzy логику је представио Lotfi Zadeh 1965. године, а у контролу система ју је увео Е. Mamdani 1976. године. Још тада је овај приступ привукао завидну пажњу. Иако се за једноставније системе фуззy приступ показао као веома ефикасан и јасно прилагођен људском поимању ствари, за компликованије системе се показао као веома захтеван. Наиме, за реализацију контролера у том случају је потребно много ресурса, и временских и интелектуалних. У годинама које су уследиле развијене су различите методе за пројектовање контролера које би олакшале овај процес. Једна од тих метода је пројектовање fuzzy PID контролера, односно задржавање концепта PID контролера и комбиновање са fuzzy логиком закључивања. Такав приступ ћемо надаље користити. За улазе контролера се усвајају пропорционално, интегрално и диференцијално дејство, као до тад познате и прихваћене промењиве о чијем се понашању поседује довољно искуственог знања. Сам fuzzy део контролера је замишљен тако да одговара понашању конкретног система. Fuzzy контролер је контролер који врши пресликавање улаза у излазе коришћењем фуззy логике. 2.1 Fuzzy логика и управљање До данас су развијане многе технике пројектовања контролера које би требало да омогуће јасну методологију за остваривање жељених перформанси и спецификација које контролер треба да испуни. Ове технике се разликују и у приступу, па се тако издвајају различити контролери: линеарни, робусни, нелинеарни, адаптивни, засновани на простору стања итд. Највећи број контролера у употреби данас су PID контролери који се често сматрају као адекватно решење које је једноставно, поуздано и у великој мери лако разумљиво. Сви ови приступи се ослањају на диференцијалне једначине којима се довољно добро описује динамичко понашање система. Математичке представе физичких законитости по којима се процес понаша, доводе до одређених закључака како да се процесом ваљано управља. Ове једначине, наравно, описују процес са одређеним степеном занемаривања а све у циљу да се добије што једноставнији модел процеса који задовољавајуће представља систем и његову динамику. Да би се добили контролери добрих перформанси развијене су разне методе подешавања контролера. Ове методе се заснивају на хеуристичком предзнању о процесу који треба контролисати, као нпр. најчешће коришћена метода Ziegler – Nickhols. Јавило се питање како би се понашао контролер у чијем развоју је примењено искључиво хеуристичко знање, без комплексног математичког апарата за моделирање? Fuzzy управљање обезбеђује формалну методологију за представљање, манипулацију и имплементацију људског хеуристичког предзнања о томе како контролисати један, одређени систем. Ово не искључује развој модела процеса јер нам је овај модел у сваком случају потребан за детаљну симулацију понашања контролера у циљу испитивања задовољења перформанси, стабилности система као и за испитивање крајних ограничења самог дизајна. Циљ fuzzy приступа је да, уместо да језиком математике покуша да што боље реши проблем управљања системом, омогући имплементацију инжењерског искуства о процесу у сам алгоритам контролера. Овде ћемо представити уопштену филозофију 7
  • 8. fuzzy контролер оваквог приступа дизајнирању контролера. fuzzification Defuzification Inference mechanism референтни управљање улаз r(t) u(t) излаз y(t) Процес Rule-Base Слика 2.1 – Структура fuzzy контролера • База правила садржи знање о томе како најбоље контролисати систем, и то у форми скупа логичких (if – then) правила. • Интерфејс је механизам за процењивање која контролна правила су релевантна за тренутно стање система и одлучује логичким склопом какав ће бити управљачки сигнал, тј. улаз у процес. • Фазификација напросто модификује сигнале улаза тако да могу бити правилно протумачени и упоређени са правилима у бази правила. Crisp сигнал претварамо у адекватан fuzzy облик. • Дефазификација трансформише закључак интерфејса у такав облик сигнала да овај може бити сигнал који представља улаз у процес. Ово је трансформација fuzzy облика у crisp облик сигнала, који је „разумљив“ процесу. У основи, на fuzzy контролер треба гледати као на вештачког доносиоца одлуке који ради у систему са затвореном спрегом у реалном времену. Он „сакупља“ податке излаза процеса, упоређује их са референцом и онда на начин својствен fuzzy логици „одлучује“ шта у том тренутку треба да буде улаз процеса, и то тако да се задовоље жељене перформансе и задати циљеви спецификације. Да би пројектовали један fuzzy контролер, потребно нам је пре свега одређено предзнање о понашању процеса. Хеуристичке информације о томе како најбоље управљати неким процесом могу да се прикупе на два начина. Информације најчешће добијамо од оператера који има довољно искуствених података о томе како на најбољи начин управљати процесом. Ређе закључке о управљењу процеса доносе специјално ангажовани инжењери који, схватајући динамику процеса, могу да одреде правила по којима би се процесом могло управљати. 8
  • 9. Ова правила нам говоре какав би требао да буде улаз процеса ако се његов излаз понаша на такав и такав начин. Количина информација не би требало да буде мања од информација потребних за дизајн неког од конвенцијалних контролера. Иако нам предзнање о изгледу модела процеса није неопходно за само пројектовање fuzzy контролера, ако такву информацију и поседујемо, зашто је не искористити? Ово је честа заблуда при првом сусрету са fuzzy контролером. Ако ни због чега другог, модел процеса ће нам бити потребан за симулацију управљања и испитивање квалитета контролера, пре евентуалног реалног пуштања у рад. Ако су нам већ ти подаци доступни онда је паметно да их узмемо у обзир и искористимо. Пројектовање фуззy контролера по дефиницији не искључује одсуство потребе за налажењем модела процеса. Предност fuzzy начина се не огледа у томе. При конвенцијалном пројектовању за описивање динамике система се користе диференцијалне једначине, које се касније покушавају поједноставити и тако учине што „разумљивије“ машинама. Тиме оне постају уједно мање разумљиве људима. Fuzzy приступ је другачији. Он људски начин резоновања уноси у рачунарску логику – рачунарски алгоритам постаје ближи људском закључивању и самим тим једноставнији људима за схватање. Уместо да ми покушавамо да мислимо на начин на који то „раде“ машине, омогућавамо машинама да „мисле“ на наш начин. Логичка правила по којим се врши управљање су реализована у облику „if – then“ правила и ако је развијена стратегија управљања, систем је спреман да се провери у симулацији. Поступак реализације fuzzy контролера ћемо објаснити на једноставном примеру контроле нивоа воде у резервоару путем једног вентила. Ниво воде се задаје а отварањем и затварањем вентила се постиже ваљано управљање. Прво ћемо одредити који би могли бити улази и излази нашег контролера. 9
  • 10. 2.1.1 Избор улаза и излаза fuzzy контролера Први корак у пројектовању представља избор улаза и излаза контролера. Променљиве које носе информацију о понашању система треба да буду улази контролера. Проучавањем система видимо да можемо узети различите инфомације. У нашем примеру то може бити тренутни ниво воде у резервоару и прираштај нивоа воде, тј. ток воде. Други избор за улазе може бити статичка грешка нивоа и извод грешке: e(t) = r(t) - y(t), , где је r(t) референтни улаз, а y(t) излаз процеса. Приметићемо да нас овај избор подсећа на PID контролер. Наравно постоје многа интуитивна решења за избор варијабли које носе довољно информација о тренутном стању система и на којима ће се заснивати одлука контролера. Следећи корак је избор контролне промењиве, односно улаза у процес. Како је наш пример једноставан, као једини избор се намеће контрола вентила. Вентил какаркетишу две особине: степен отворености и брзина којом се вентил затвара/отвара. За комплексније системе избор улаза и излаза контролера може бити тежи. Да би контролер могао да донесе одлуку о вредности управљачке промењиве, мора да прима довољно информација кроз сигнале улаза. Ако се испостави да контролер не ради добро свој посао, проблем је можда управо у избору улазних сигнала или у недовољном броју релевантних параметара који су узети у обзир. Такође, контролер мора имати излаз који ће управљати системом тако да га доведе у захтевано стање са жељеним перформансама. У лабораторијским и условима симулације, системи и њихово понашање су нам релативно познати. Системи са којима се инжењери срећу у пракси су обично вишеслојно компликовани и избор ових варијабли се не сме узети олако. 2.1.2 Лингвистичке промењиве и лингвистичке вредности Једна од особина fuzzy логике је да се базира на природном језику, на основама људског споразумевања. Обични, говорни језик, представља тријумф ефикасности комуникације. Не примећујемо важност овога, јер се језиком служимо свакодневно. Како је fuzzy логика изграђена од структура које се ослањају управо на квалитативним описима којима се служимо свакодневно, у природном језику, једноставност употребе фуззy логике се сама намеће. Улази и излази могу имати различите лингвистичке називе. Уобичајено се промењиве називају описним именима, попут: ниво воде, прилив воде, људи средњег раста, велике зараде, брзи аутомобили, мала растојања итд. Ово је добар приступ, али треба бити обазрив да се, зарад постизања што детаљније документације и што бољег описа промењиве и њеног утицаја на систем, не направи превише компликован и дуг назив. Трансформацију оваквих израза у облик математичке представе омогућава нам теорија fuzzy скупова. Лингвистичке промењиве би требало да имају и лингвистичке вредности. То могу бити: „негативно велико“, „негативно средње“, „негативно мало“, „блиско нули“, „позитивно велико“, „добро“, „отвори брзо“ и сл. 10
  • 11. Овим вредностима можемо да доделимо и нумеричку представу у циљу лакшег и краћег обележавања. Ако хоћемо да говоримо о топлоти воде, морамо да установимо опсег у ком се очекује да температура варира као и то шта мислимо под термином „врућа“. Односно којих све температура може да буде вода ако је назовемо „врућом“. Све ово нам користи да што боље објаснимо динамику система кроз лингвистичку представу знања о процесу. Што боље разумемо процес, лингвистичка представа његовог понашања ће бити прецизнија и самим тим довести до бољег контролера. Случај да нека лингвистичка промењива узима одређену лингвистичку вредност мора да представља јасно одређено стање система и да се дистанцира од других случајева. Ако је грешка система, у нашем примеру резервоара, позитивна, то може да значи само једно: тренутни ниво воде је нижи од жељеног нивоа. У нашем примеру задовољавајуће лингвистичке промењиве су: „ e(t) “ за грешку и „ “ за извод грешке, а за управљачку промењиву „вентил“, јер се овом промењивом управо управља вентилом. 2.1.3 Функције припадања Коју вредност заправо имају лингвистичке вредности? Овде на сцену ступају функције припадања. Ово уствари илуструје природу лингвистичких вредности. Ако кажемо да је време данас вруће, шта то у ствари подразумева? Свакако не подразумева тачно одређену температуру спољњег ваздуха, већ извесни интуитивни опсег температуре. Функција припадања представља континуално мерило сигурности да ли је наша промењива класификована као та лингвистичка вредност. Ова функција одређује степен припадања неког објекта датом fuzzy скупу. 1.0 висок је (µ = 1.0) µ није висок (µ = 0.0) 0.0 висина Слика 2.2 – Koнвенционална функција припадања скупу високих особа 11
  • 12. Текст или адреса интернет стране коју Узмимо као пример одређивање припадности скупу високих људи. Код конвенцијалног скупа граница припадности би била оштро одређена једном прекидном функцијом (слика 2.2). Усвојена је граница до које се нека особа сматра високом. Две особе би биле различито класификоване иако им се висина разликује у само пар сантиметара. дефинитивно висока 1.0 особа (µ = 0.95) µ не баш висока особа (µ = 0.30) 0.0 висина Слика 2.3 – Континуална функција припадања fuzzy скупу високих особа Овај приступ би имао смисла да говоримо о некој апстрактној представи као што су, рецимо бројеви. Можемо рећи да су сви бројеви већи од неког броја велики а мањи од њега мали. Међутим, кад причамо о нечем што је условљено субјективним, старосним и друштвеним одликама, као што је процена да ли је нека особа висока, постављати овакву оштру границу је без смисла. Зато уводимо континуалну функцију припадања која одређује да ли и у којем степену је нека особа висока (слика 2.3). Ова функција може узети у обзир на кога се односи, да ли на особе женског рода, да ли на децу до 12 година или на све пунолетне особе. Једино што функција припадања мора да испуни јесте да буде скалирана и да узима вредности од 0 до 1, као ваљане репрезенте степена припадања промењиве тој функцији. Ове функције могу да имају различите облике (слика 2.4). Каква ће бити функција припадности зависи од услова и понашања система. Рецимо за све вредности промењиве e(t) веће од неке максималне релевантне вредности функција припадности може имати сатурацију, тј. све вредности веће од те припадају једној функцији. 12
  • 13. μ μ 1.0 1.0 0.5 0.5 позитивна позитивна (a) трапезоидна 1.5 е(t) (б) Гаусовска 1.5 е(t) μ μ 1.0 1.0 0.5 0.5 позитивна позитивна 1.5 е(t) 1.5 е(t) (в) Вршна (г) асиметрична правоугаона Слика 2.4 – Пример избора функције припадности за случај e(t) je позитивна Ако функцију припадања означимо са μA (x) oнда је fuzzy скуп А над простором X дефинисан као: A = {x, μA (x) | x € X}, где је μA (x) функција припадности која мапира степен приданости елемента x скупу А. На овај начин се уводи неодређеност, која потиче од особине људи да ствари не посматрају на егзактан, одређен начин. Сваки елемент x скупа А има степен припадања μ A (x) = [0.1]. Математичка представа функција припадања и особина fuzzy скупа ће бити детаљније представљена у поглављу 2.2. 1 Слика 2.5 – Tроугаоне функције (називају се још и L, A и Г - према облику) 13
  • 14. Како би се остварила рачунска ефикасност, ефикасност коришћења меморијских ресурса (што је важно код аутономних контролних уређаја који су често скромних хардверских могућности) и да би се оствариле жељене перформансе система, потребна је униформна представа функције припадности. Оваква представа може се постићи употребом функције припадности униформног облика и параметарске, односно функционалне дефиниције. Најпопуларније су функције троугаоног, трапезоидалног и звонастог облика. У аутоматском управљању се највише користи троугаони облик функције припадности зато што је њен аналитички облик најједноставнији и највише одговара постојећим контролним проблемима (слика 2.5). негативна негативно затвори брзо -1 1 -0.1 0.1 -1 1 -1 1 -0.1 0.1 -1 1 -1 1 -0.1 0.1 -1 1 а) б) -1 1 -1 1 ц) Слика 2.6 – Функције припадања а) за улаз е(t) б) за улаз и ц) за излаз "вентил" У примеру резервоара улазне промењиве и управљачка промењива имају функције припадања приказане на слици 2.6. Приметићемо да имена функција одражавају особину промењивих, како улазних тако и излазне, управљачке. Овим смо, дакле, одредили и лингвистичке вредности које ове варијабле могу узимати. 14
  • 15. 2.1.4 Фазификација Фазификација представља само врсту представе црисп величина у такав облик да буде примењив у фуззy логици. Често се овај поступак назива и кодирање. Ово нам омогућавају управо функције припадности, које уствари мапирају степен истинитости неке тврдње. Ако је е(t) = -0.3 како се то представља у једном фуззy систему? Ово је сликовито објашњено на слици 2.7. нула е(t) = -0.3 улаз 1 Слика 2.7 – Пример фазификација улазне променљиве e(t) Фазификација представља пресликавање нумеричких вредности улаза x у fuzzy скуп: F: X → XFUZ: , (2.4) где су са XFUZ представљени сви fuzzy скупови који се могу дефинисати над доменом X. Придруживање fuzzy скупа AiFUZ и променљивој xi можемо представити релацијом: F (xi) = AiFUZ , (2.5) Посебан облик фазификације представља „singleton“ фазификација. Производ овог пресликавања је скуп AiFUZ , чија функција припадања узима само једну, дискретну вредност: μAFUZ (a) = { , (2.6) Оваква singleton функција се представља дискретном импулсном функцијом. Она се често користи у процесу одређивања fuzzy скупа излазних промењивих fuzzy контролера. Излази тада узимају коначан број дискретних и одређених вредности. Ово је погодност у аутоматском управљању, јер се често вредности управљачких сигнала морају кретати у ограниченом опсегу, да би се задржала стабилност система. Овакви контолери се називају sugeno тип контролера. 15
  • 16. 2.1.5 База правила Претпоставимо да је искусни стручњак већ описао најбољи начин за управљање системом и то на неком природном језику (нпр. српском). Наш задатак је да пронађемо начин како да ово „лингвистичко“ знање о процесу унесемо у fuzzy контролер. Циљ fuzzy контролера је да fuzzy логиком мапира пресликавање улаза у излазе контролера. Примарни механизам за то је листа if – then тврђења која називамо правилима. Сва правила се извpшавају паралелно и њихов редослед није битан. Оваква листа правила се назива база правила (rule – base). Правила се односе на лингвистичке промењиве и на њихове особине. Ако смо претходно дефинисали све термине и све особине које дефинишу те термине, тј. промењиве, можемо да приступимо пројектовању система који интерпретира правила. Да би изразили последицу коју производе тренутне вредности улазних помењивих градимо правила. Ова правила имају облик: if <premisa> then <posledica>, односно: if x1 is А1,к and ... and xNx ис АNx, then y1 is B1,к , ... , yNy ис BNy,к. На исти начин као што теорија crisp скупова служи као основа за класичну логику , теорија fuzzy скупова служи као основа за fuzzy логику. Основни појам fuzzy логике, као и логике crisp скупова, је тврђење (исказ) које има облик x is А. A B A B A бинарна логика A and B AcrB rdA A вредности логика са A A више A and B acrB B АND OR NOT min (A,B) max (A,B) (1-A) Слика 2.8 Разлика између crisp и fuzzy логике 16
  • 17. Операције пресека, уније и комплемента имају своје коресподенте, у fuzzy логици, у везницима „and“, „or“ и „not“, тако да се помоћу њих могу градити сложена тврђења (слика 2.8). Више о операторима, релацијама и особинама fuzzy скупа је речено у подглављу 2.2. Максималано могућ број правила је одређен бројем улазних величина и бројем лингвистичких вредности. Ако је број улаза n , а број вредности за сваку величину понаособ m , онда је максималан број правила mn . Наравно ово је у случају свих комбинација, мада се дешава да ако једна промењива има одређену вредност, друга улазна промењива нема никакав утицај. Ако број улаза у контролер није превелик, згодан начин представљања свих случајева је у форми табеле. Ако имамо два улаза: e(t) и и пет вредности које ове промењиве могу узети: NB (negative big), NS (negative small), Z (zero), PS (positive small) и PB (positive big), представа свих комбинација би била кроз табелу 2.1: u NB NS Z PS PB NB NB NB NB NS Z NS NB NB NS Z PS e Z NB NS Z PS PB PS NS Z PS PB PB PB Z PS PB PB PB Tабела 2.1 - табеларна представа базе знања Приметићемо да ова правила не могу да буду сасвим прецизна. То је зато што промењиве узимају лингвистичке вредности и то из ограниченог скупа па самим тим имамо и ограничени скуп правила. Она су само апстрактне представе о томе како би требало управљати процесом. Наш циљ и није да будемо прецизни већ да представимо ствари које имају важност, које су од значаја за наш проблем управљања процесом. Следећи корак у пројектовању fuzzy контролера за управљање резервоаром би био одређивање правила. Утврђена правила су: 1. IF (е(t) is нула) then (вентил is без_промене) 2. IF (е(t) is позитивна) then (вентил is отвори_брзо) 3. IF (е(t) is негативна) then (вентил is затвори_брзо) 4. IF (е(t) is нула) and (de/de is негативно) then (вентил is затвори_споро) 5. IF (е(t) is нула) and (de/de is позитивно) then (вентил is отвори_споро) 17
  • 18. 3. Закључак О сновне тенденције данас, за развој система вештачке интелигенције представљају: развој експертских система и развој неуронских мрежа. Експертски системи покушавају репродуковати људско размишљањене преко симбола. Неуронске мреже то раде више из биолошке перспективе (рекреирају структуру људског мозга уз помоћ генетских алгоритама). Упркос сложености оба система, резултати су веома далеко од стварног интелигентног размишљања. Многи научници су скептици према могућности развијања истинске вештачке интелигенције. Функционисање људског размишљања, још увек није дубље познато, из ког разлога ће информатички дизајн интелигентних система, још дужи временски период бити у суштини онеспособљен за представљање тих непознатих и сложених процеса. 18
  • 19. 4. Референце П оред доле наведених материјала коришћене су и презентације из предмета Вештачка интелигенција на Високој Пословној Школи Струковних Студија из Блаца, те и релевантни семинарски и дипломски радови са блиском тематиком, иако исти нису наведени на листи референци. Преузети материјали са интернета подлежу слободној дистрибуцији и употреби у циљу едукације и израде научних радова. 1 | Основе вештачке интелигенције З. Поповић, Т. Вуковић - Центар за мултидисциплинарне студије, Београд 2006 2 | Да ли је PC научио да чита? И. Шајић - часопис “Рачунари” бр 119, БИГЗ, Београд1996 3 | Фази логика и неуронске мреже П. Шубашић - Техничка Књига, Београд 1998 4 | Вештачка интелигенција интелигентне машине и системи М. Јоцковић - Графомед, Београд 1997 5 | Data Structures and Algorithms in Java Michael Waite - Release team 2001 6 | Data Structures - University of Sussex Petter M. Williams, 2005 7 | Експертски системи у техничкој дијагностици Електротехнички факултет у Београду 8 | Форум студената факултета организационих наука у Београду http://www.puskice.org/ 9 | Електронска библиотека http://www.scribd.com/ 10 | Едукативни садржаји Google.com сајта http://www.schoolar.google.com Рад се доставља у .doc/.docx/.pdf форматима и за његово прегледање потребан је софтвер Microsoft Word или Adobe Acrobat Reader. За прегледње рада није потребно инсталирати додатне фонтове на рачунар. Форма рада је преузета са сајта Високе Пословне Школе Струковних Студија из Блаца на адреси http://www.vpskp.edu.rs/ 19