Задача от дадена система с изкуствен интелект изисква наличието на необходими знания за конкретната предметна област и тяхното формализиране



Дата18.11.2017
Размер138.61 Kb.
Размер138.61 Kb.


К У Р С О В П Р О Е К Т

НА ТЕМА


Структурни представяния на данни

Изготвил: Зорница Домозетска

Специалност: Информатика

Фак. номер: 0825024

Решаването на определена задача от дадена система с изкуствен интелект изисква наличието на необходими знания за конкретната предметна област и тяхното формализиране.

Предметна област - съвкупността от обекти, събития, отношения и връзки между тях, които са достатъчна за решаването на задачите от тази област.

Предметната област включва реални и абстрактни обекти. Те се намират в определени отношения и имат определени свойства.Анализът и изучаването на предметната област ни позволява да изградим базата от знания.

Проектирането на една база от знания включва следните основни етапи:


  • придобиване на знания;

  • анализ на знанията;

  • представяне на знанията.

Придобиване на знания : става чрез използване на различни техники и подходи, чрез различни източници на общи и на специфични знания.

Анализ на знанията: включва подредба, оценка и филтрация.

Самото представяне на знанията се заключава в използването на различни схеми и подходи за формалното изобразяване на знанията върху носител.



Представяне на знанията: се осъществява чрез модели за представяне на знания:

  • декларативни

  • процедурни

  • хибридни

Декларативния формализъм е един от така наречените структурни формализми. При структурните формализми знанията се представят чрез множество структурни единици (елементи), свързани по между си чрез явно зададени връзки. Техни представители са семантичните мрежи и фреймовете, които се основават на предположения за начините, по които знанията се запазват в човешкия мозък:

  • Знанияте се пазят в човешкия мозък във вид на отделни (неголеми) единици, сварзани по между си с множество връзки.

  • Човешкият мозък съдържа обособени „порции“ от знания, сварзани с дадено централно понятие.


Същност на представянето на знания чрез семантични мрежи.
Семантичните мрежи са типичен декларативен формализъм за представяне и използване на знания.

Знанията се представят с помощта на мрежа от възли и дъги, които ги свързват. С възлите се означават обектите (фактите, понятията и т. н.) от съответната предметна област, а с дъгите – връзките (отношенията, релациите) между тях. Често възлите ( обектите ) и дъгите ( връзките ) имат имена.

По същество семантичната мрежа е граф и следователно всички резултати и алгоритми от теорията на графите могат да се използват успешно при решаване на задачи, свързани със семантични мрежи.

Бозайник


^

| е има_част

Човек------------------ Ръце

^

| екземпляр



цвят_на_екипа | състезател_на

Бял <--------------------------- Пенчо ---------------------------------Славия

Това е семантична мрежа, представяща както общи отношения – “е”, “екземпляр”, така и по-специфични за областта – “цвят_на_екипа”, “тим”. В тази мрежа може да се използува наследяване, за извод на допълнителното отношение има_част(Пенчо, Ръце). Отношението “има_част” се използва за описание на съставни обекти; често се използва и обратното му отношение “част_от” - напр.: част_от(шаси, автомобил).
Използване на знания представени чрез семантични мрежи.
Извършват се изводи за обектите и се намират техни свойства, които може да не са зададени в явен вид.Основният механизъм за извод върху семантична мрежа е свързан с проследяване на връзките между отделните възли на мрежата. Най – често се използват два подхода за извод: разпространяваща се активност и наследяване.
Разпространяваща се активност

По същество този подход е свързан с проверка дали в семантичните мрежи, които описват значението на тези думи се съдържа едни и също понятие.



Идея на подхода: Тръгва се по семантичните мрежи, които описват двете понятия. На всяка стъпка се достига до нови възли, чиито флагове на активност се вдигат. Движението се прекратява или при достигане на възел, чиито флаг на активност е вдигнат (успех), или при изчерпване и на двете семантични мрежи (неуспех).
Наследяване

Обектите и класовете могат да „наследяват“ свойства от класовете и супекласовете, към които те принадлежат. Причислчването към даден клас или супеклас обикновено става с помощта на връзки с примерни имена. Тук са възможни два подхода:



  • Връзките обект –клас и клас - суперклас да имат едно и също име;

  • Връзките обект –клас и клас - суперклас да имат различни имена.

По отношение на наследяването на свойства няма значение кой от двата подхода ще се избере.

Механизъм на наследяването: Ако се интересуваме от определено свойство на даден обект ( или клас ), най- напред проверяваме дали същото свойство е здадено в явен вид за нашия обект (клас). Ако това е така извличаме явно зададената стойност на свойството; ако не, тръгваме по пътя сочен от връзките и търсим стойност на интересуващото ни свойство, зададена за някой от класовете, към които нашият обект (клас) принадлежи. В този случай се казва че обектите наследяват свойствата на класовете, към които принадлежат.



Оценка на недостаръците и предимствата на семантичните мрежи
В сила са всички предимства и недостатъци на дакларативните формализми, както и някои специфични особености за семантичните мрежи.

Предимства на семантичните мрежи - Най – съществените предимства на семантичните мрежи са следните: Простота, естественост, нагледност, ясноте на представянето.

Недостатъци на семантичните мрежи - Основните специфични недостатъци на семантичните мрежи са следните: неудобно изразяване на произволни n-арни релации, недостатъчна изразителна сила, неясна семантика, трудно извършване на различни операции, трудно управление на наследяването.
Представяне на семантични мрежи на Лисп и Пролог

Възможни са два начина при представянето на семантичните мрежи : обект- връзка – обект и бръзка (обект, обект). В Пролог вторият подход е по - естествен. В Лисп е по – естествен първият подход, макар че вторият подход също е възможен. Възможна е също и комбинацич на двата подхода – тогава ще има известно излишество в данните, но то ще се компенсира с удобство и барзина. При реализация на първия подход, най – често възлите (обектите) се означават с атоми, а с всеки атом се свързва някакъв списък, който задава излизащите от съответния възел дъги (връзки) и възлите, които са краища на тези дъги.


Същност на представянето на знания чрез фреймове
Обща характеристика на фреймовете

Фреймовете са едно от структурните представяния на знания, което се основава на популярното предположение, свързано с представянето на знанията в човешкия мозък, според което човешкият мозък съдържа обособени „порции“, обединени около дадено понятие.



Някои съществени особености на фреймовете са:

  • Описват знания, които са общи и почти винаги са верни ( всъщност верни в общи линии);

  • Структурата на знанията и връзките между тях са заложени (отразени ) до голяма степен в структурата на самия фрейм.

Така чрез фрейм могатда се описват клас различни, но подобни ситуации или обекти, които не променят основните си характеристики, а само такива, които не влизат в структурата на фрейма.

Идеята за фреймовете е аналог на създаването и използването на представи, аналогиии натрупан ( предишен ) опит в човешкото мислене.

В най – общи линии фреймът съдържа знания за това какво би се случило в следващия момент и евентуално какво да се направи, ако очакваното събитие се случи или не се случи.

Важен специален клас фреймове са така наречените сценарии ( scripts ). Идечта за тчх е предложена от Р. Шенк. По същество сценарият е фрейм, предназначен за описание на дадена стереотипна поредица от събития. Типичен пример за сценарии е популярният сценарии „ресторант“. Той включва знания за обектите и хората, които обикновено се намират в един ресторант, за техните функции и за поредицата от събития, които са типияни при посещението на един ресторант ( заемана не места, запознаване с менюто, поръчване, хранене, плащане на сметката и напускане).

Този апарат на използване на аналогии и обобщени описания на обекти, ситуации и т. н. позволява представата за един обект да не се изгражда изцяло всеки път, а да се използват готови обобщени структури ( празни фреймове, прототипи ), които само да се допълват и конкретизират. Така новите знания се изграждат в контекста на наличните, т. е. на придобития ( натрупания ) опит.

Друга интуитивна идея, на която се основава понятието фрейм, е предположението че декларативните ( фактологическите ) и процедурните ( алгоритмичните ) знания в човешкият мозък са тясно свързани. Аналогично при фреймовете са съчетани декларативни и процедурни знания. Част от знанията са включени в статична декларативна структура фрейм. Освен това има и допълнителни знания (обикновено процедурни) за това, как да се използват описаталните (декларативните) знания от фрейма, как да се свързват тези знания със знанията от други фреймове и т.н. Следователно фреймовете съчетават особеноти (включително предимствата) на декларативните и процедурните представяния.



Същност на представянето на знания чрез фреймове

От информационна гледна точка фреймът представлява йерархична структура от данни с няколко равнища:



  • На най-високо равнище стои идентифициращата информация,която включва обикновено името на фрейма;

  • На следващото равнище се съдържат полета с описания на различни характеристики,качества или свойства на обекта или класа обекти,представян от фрейми (слотове или атрибути);

  • На най- ниско равнище се намират т.нар. фасети. Фасетите,прикрепени към даден слот, се използват за записване на допълнителни данни за описваната в слота характеристика .

Примери за често използвани имена на фасети:

Value – съдържа стойността на характеристиката(атрибута),описвана от съответния слот



Default - съдържа стойността по премълчаване (която се използва, ако във Value не е зададена конкретна стойност) на характеристиката, описвана от слота.

If-needed – съдържа име или тяло на процедура, която е възможно да се изпълни при (приблизително) изчисляване на стойността на търсената характеристика, ако тази стойност не е дадена в явен вид и не се подразбира

If-added, if-removed и др. - съдържат имена или тела на процедури, които се активират автоматично, ако бъде добавена/изтрита стойност на съответната характеристика (използват се например за контрол на коректността на въвежданите стойностти по тип,диапазон и др.). Такива процедури се наричат демони или активни стойности. Те следят постоянно достъпа до слота,към който са прикрепени, и се активират автоматично при определени условия.

Имена на слотове - Обикновено се избират така,че да съответстват на установените термини за описваните от тях характеристики. От гледна точка на процеса на логически извод при фреймовете,при който основно е наследяването на свойства , най-важна роля играе слотът с примерно име а-к-ᴏ( a Kind Of). Този слот задава имената на фреймовете ,описващи класовете, към които се причислява обектът(класът),описван от дадения фрейм. Най – често се среща следната конструкция.В дадения фрейм има слот а-к-о, а в него – фасета Value, с която е свързан например списък от имена на фреймове ,описващи класове, към които принадлежи дадения обект (клас). И тук са в сила бележките, направени в темата за темантичните мрежи, по отношение на имената на връзките (слотовете), които задават отношения от типа обект-клас и клас-суперклас.

При създаване на фрейма може част от слотовете и фасетите да нямат стойности.Конкретизирането на информацията във фреймовете се извърява чрез запълване на празните слотове и фасети,което от своя страна се нарича създаване на екземпляр на фрейма. По същество стойностите, свързани със съответните слотове могат да бъдат от следните три типа:



  • Стойности на описвани от слота атрибути(характеристики);

  • Имена/тела на процедури ,свързани със съответните характеристики;

  • Указатели от други фреймове от БЗ (имена на други фреймове от БЗ), които задават понятия свързани по определен начин с разглежданото понятие.

Процедурите които са прикрепени към даден слот, могат да бъдат от два типа. Първия тип са процедурите - демони, които се активират автоматично при определени условия. Процедурите от този тип могат да бъдат прикрепени и към фрейма като цяло. Те следят и евентуално сами изменят част от знанията във фрейма или предизвикват изпълнението на по-сложни операции върху цялата мрежа от фреймове (създаване или унищожаване на екземпляр на фрейм,промяна на друг фрейм и др.). Втория тип са процедурите - методи. За разлика от демоните, процедури - методи не се изпълняват автоматично, а се задействат или от системата за управление на фреймове, или от други процедури прикрепени към фреймовете.
Използване на знания, представени чрез фреймове

Използването на знанията,представени чрез фреймове, се свежда най-вече до две основни задачи (дейности): съпоставяне с дадено описание и логически извод.



Съпоставяне с дадено описание

Това е обобщен и значително усложнен вариант на задачата за съпоставяне по образец , при който целта е по дадено описание на някаква ситуация да се намерят вече съществуващи в БЗ фреймове,кото съответстват в задоволителна степен на това описание.

Съпоставянето при системите,основани на фреймове,е значително по – сложна задача,отколкото например при продукционни системи.Това е така,защото при фреймовите системи се съпоставят по – сложни структури, като същевременно и резултатът от съпоставянето е по-сложен - обикновено той е някаква оценка на степента, в която разглежданият фрейм съответства на даденото описание. Възможността за наследяване на свойства и наличието на средства за задаване на свойства,които са валидни по премълчаване, допълнително усложняват процеса на съпоставяне при фреймовите системи.

Най-често задачата за съпоставяне се решава, като се избира този от вече дефинираните фреймове, който има максимален брой слотове, съответни да данните за описвания обект. Ако нито един фрейм от системата не може да представи задоволително даден обект или ситуация, се налага създаването на нов фрейм. Това може да стане или чрез модифициране на вече съществуващ, или чрез създаване на напълно нов фрейм.


Основни стратегии за наследяване на свойства
И тук , както и при семантичните мрежи, логическия извод се свежда до наследяване на свойства от класове, към които принадлежи дадения обект/клас. При това могат да се наследяват не само стойности, но и процедури, не само описателните, но и поведенческите характеристики на обектите. В зависимост от особеностите на предметната област и на разглежданите обекти от нея могат да се задават и различни ограничения върху наследяването на знанията от определени слотове и фасети.

Механизъм на наследяването. Ако ни интересува стойността, свързана с даден слот на даден фрейм, можем най-напред да потърсим тази стойност последователно във фасетите value, default и if-needed на дадения слот. Ако и на трите места не открием нищо подходящо, можем след това да използваме йерархията между фреймовете, дефинирана чрез слотовете а-к-о. В слота а-к-о на даден фрейм е записано името на съответния суперфрейм, след това при суперфрейма на намерения фрейм и т.н. Възможно е в слотовете а-к-о на някои фреймове да са записани именана на повече от един суперфрейм. Тогава наследяването на свойства може да се извършва по различни начини и следователно възниква въпросът за управление на процеса на наследяване (например чрез допълнителни метазнания). И тук най-често дървото на предходниците, от които се наследяват свойства, се обхожда или в дълбочина, или в широчина.Независимо от стратегията на обхождане на предходниците на дадения обект/клас, описван в разглеждания фрейм, търсенето на необходимата стойност може да се извършва въз основа на два типа стратегии: z-търсене n-търсене.

При n-търсенето най-напред се преглеждат фасетите value на дадения фрейм и неговите предходници, след това се преглеждат фасетите default на фрейма и предходниците му и най-накрая се преглеждат фасетите if-needed на фрейма и последователните му предходници.


Основни предимства и недостатъци на фреймовете, като средство за ПИЗ

Фреймовете съчетават общите предимства на декларативните и процедурните формализми за ПИЗ. Освен това те имат и някои специфични особености ( предимства и недостатъци ).



Предимства на фреймовете - сред специфичните предимства на фреймовете като формализъм за ПИЗ, най – съществени са следните:

  • Естественост на преставянето ( представянето е близко до наяина, по който се съхраняват знания за различните понятия в човешкия мозък );

  • Модулност и йерархична структура на БЗ;

  • Добри възможности за използване ( задаване ) на свойства, които са валидни по премълчаване.

Проблеми при използването на фрймове - най – съществените недостатъци на фреймовете като основен формализъм на ПИЗ са: неясна семантика, трудно управление на наследяването, недостатъчна изразителна сила.

Неясна семантика. Фреймовете, както и семантичните мрежи, имат неясна семантика – знанията, представени чрез дадена система от фреймове, често могат да бъдат тълкувани по различни начини. Следователно и при фреймовете е задължително да се дефинира съответна семантика с еднозначно тълкуване.

Проблеми при управлението на наследяването на свойства. Съществуват сериозни проблеми при управлението на наследяването в случаите, когато се допуска задаване на повече от един клас – директен преходник на дадения обект или клас.

Недостатъчна изразителна сила. Фреймовете имат недостатъчна изразителна сила, в сравнение с предикатното смятане. Така например трудно се изразяват свойства ( твърдения ), формулировката, на които съдържа i.

Трудно се изразяват също и непълни знания, които съдържат дизюнкция от свойства на различни обекти, като например : „Колата на Петър е синя или колата на Иван е бяла.“.


Реализация на средства за работа с фреймове на ЛИСП

Ще разгледаме един от основните подходи за реализация, който е подобен на избрания при реализацията на езика FRL, който е надстройка на ЛИСП.



Представяне на фреймове. Фреймовете във FRL се представят чрез вложени асоциативни списъци от вида:
() ( ( ….)

( ….)

……..)



( ( ….)

…….))


При такова представяне cdr от представянето на фрейма е асоциативен списък, в който ключовете са имената на слотовете; cdr от представянето на даден слот също е асоциативен списък, в който ключовете са имената на фасетите; cdr от представянето на дадена фасета е списък от стойностите,записани в тази фасета.
Описание на функциите за работа с фреймове
За работа с фреймовете е полезно да бъдат предвидени следните по-важни функции:

( fget frame slot facet) – извлича от фрейма данни (списък от стойностти ) . На потребителя се предлага път за достъп от тип фрейм-слот-фасета.

(fput frame slot facet value) – включва във фрейма данни (стойност) . Пътят за достъп е същият, както при fget.

(fremove frame slot facet value) – изключва от фрейма данни(стойност).Пътят за достъп е същият , както при fget.

(fget –v-d-f frame slot) - извлича данни(списък от стойности).Пътят за достъп се състои само от имена на фрейм и слот. Най – напред се претърсва фасетата value на дадения слот.Ако няма такава фасета или в нея няма зададена стойност, използва се фасетата default. Ако и default не даде резултат, активира се (изпълнява се) процедурата, зададена във фасетата if-needed.

(fget –I frame slot) –извлича данни. Най-напред се претърсва фрасетата value на дадения слот и ако тя не даде резултат, се търси value в същия слот на фреймовете , посочени в слота а-к-о на дадения фрейм. Така започва обхождане на дървото а-к-о ,което се прекратява при намиране на първата подходяща стойност.

( fget – n frame slot) – извлича данни,като осъществява n –търсене в дървото а-к-о.

( fget-z frame slot) - извлича данни , като осъществява z-търсене в дървото а-к-о.

(fput-f frame slot facet value) – включва данни (стойност) в посочената фасета и активира демона, зададен във фасетата if-needed на същия слот.

(fremove-f frame slot facet value) изключва данни (стойност) от посочената фасета и активира демона, зададен във фасетата if-removed на същия слот.






Сподели с приятели:


©zdrasti.info 2017
отнасят до администрацията

    Начална страница