Реферати українською » Информатика, программирование » Поняття лінгвістичної змінної. Мова програмування Prolog


Реферат Поняття лінгвістичної змінної. Мова програмування Prolog

Зміст

1.Нечеткая лінгвістична змінна

2. Пролог - мову програмування ЕС

Використовувана література


Питання 24.Нечеткая лінгвістична змінна

Поняття лінгвістичної перемінної

>Лингвистическая змінна відрізняється від числової перемінної тим, що її значеннями не є числа, а слова чи речення у природній чи формальному мові. Оскільки слова, загалом, менш точні, ніж числа, поняття лінгвістичної перемінної дає можливість наближено описувати явища, які настільки складні, що ні піддаються опису в загальноприйнятих кількісних термінах. Зокрема, нечітке безліч, яке є обмеження, пов'язану з значеннями лінгвістичної перемінної, можна як сукупну характеристику різних підкласів елементів універсального безлічі. У цьому сенсі роль нечітких множин аналогічна тієї ролі, що її відіграють слова пропозиції у природній мові. Наприклад, прикметник "ГАРНИЙ" відбиває комплекс характеристик зовнішності індивідуума. Це прикметник можна також ознайомитися розглядати, як назва нечіткого безлічі, що є обмеженням, зумовленим нечіткою перемінної "ГАРНИЙ". З цього погляду терміни "ДУЖЕ ГАРНИЙ", ">НЕКРАСИВЫЙ", ">ЧЕРЕЗВЫЧАЙНО ГАРНИЙ", ">ВПОЛНЕ ГАРНИЙ" тощо. — назви нечітких множин, освічених шляхом дії модифікаторів "ДУЖЕ, НЕ,ЧЕРЕЗВЫЧАЙНО,ВПОЛНЕ" тощо. на нечітке безліч "ГАРНИЙ". По суті, ці нечіткі безлічі разом із нечітким безліччю "ГАРНИЙ" грають роль значень лінгвістичної перемінної ">ВНЕШНОСТЬ".

Важливий аспект поняття лінгвістичної перемінної у тому, що ця змінна вищого порядку, ніж нечітка змінна, тому, що значеннями лінгвістичної перемінної є нечіткі перемінні. Наприклад, значеннями лінгвістичної перемінної "ВІК" може бути: "МОЛОДІЙ,НЕМОЛОДОЙ, СТАРИЙ, ДУЖЕ СТАРИЙ, НЕ МОЛОДІЙ І НЕ СТАРИЙ" тощо. Кожна з цих значень є назвою нечіткою перемінної. Якщо — назва нечіткою перемінної, то обмеження, обумовлене цією назвою, можна інтерпретувати як сенс нечіткою перемінної .

Інше важливе аспект поняття лінгвістичної перемінної у тому, що лінгвістичної перемінної притаманні два правила:

1.Cинтаксическое, що може бути поставлено у вигляді граматики, породжує назва значень перемінної;

2.Cемантическое, яка визначає алгоритмічну процедуру для обчислення сенсу кожного значення.

3.Лингвистическая змінна характеризується набором властивостей , у якому:

4. — назва перемінної;

5. позначаєтерм-множество перемінної , тобто. безліч назв лінгвістичних значень перемінної , причому кожна з таких значень є нечіткою перемінної зі значеннями з універсального безлічі з базовою перемінної ;

6. — синтаксичне правило, породжує назви значень перемінної ;

7. — семантична правило, що ставить у відповідність кожної нечіткою перемінної вона має сенс , тобто. нечітке підмножина універсального безлічі .

8. Конкретне назва , породжене синтаксичним правилом , називаєтьсятермом.Терм, що складається з слова або з кількох слів, завжди фігуруючих разом друг з одним, називаєтьсяатомарнимтермом.Терм, що складається з більш як одного атомарноїтерма, називається складовимтермом.

Приміром, поставимо лінгвістичну зміну W = «Вік працівника».Определим синтаксичне правило G як визначення «оптимальний»,налагаемое на зміну W. Тоді повнетерм-множество значень T = {T1 = Оптимальний вік працівника,T2 =Неоптимальний вік працівника }. Носієм U виступає відрізок [20, 70], вимірюваний літній людського життя. І в цьому носії визначено дві функції приналежності: для значенняT1 -mT1(u), вона зображено на рис. 2.2, дляT1 -mT2(u), причому перша їх відповідає непевномуподмножеству M1, а друга –M2. Отже, конструктивне опис лінгвістичної перемінної завершено.

>prolog програмування мову лінгвістичний перемінний

Питання 54. Пролог - мову програмування ЕС

>Prolog (від “>PROgramming inLOGic”) — декларативний мову програмування загального призначення.Prolog було створено 1972 із єдиною метою поєднувати використання логіки з наданням знань. З того часу в нього виник ряд діалектів, які розширюють основу мови різними можливостями. Стандарт мови дано вISO/IEC 13211-1 (1995 рік).

>Prolog — одне із найстаріших і ще одне з найбільш популярних мов логічного програмування, але він значно менш популярна, ніж основні імперативні мови. Він використовують у системах обробки природних мов, дослідженнях штучного інтелекту, експертних системах,онтологиях та інших предметних областях, котрим природно використання логічного парадигми.

>Prolog створили під впливом більш раннього мовиPlanner і запозичив потім із нього такі ідеї:

· зворотний логічний висновок (виклик процедур по шаблоном, з цілей);

· побудова структура керуючої логіки як обчислень з відкотами;

· принцип “заперечення як невдача”;

· використання різних імен до різних сутностей тощо.

Головною парадигмою, реалізованої у мовіProlog, є логічне програмування. САМІ Як і більшість старих мов, пізніші реалізації, наприклад,VisualProlog, додають у мову пізніші парадигми, наприклад,объектно-ориентированное чи керовану подіями програмування, іноді і з елементами імперативного стилю.

>Prolog використовує один тип даних, терм, який буває один кількох типів:

·  атом — ім'я без особливого сенсу, що використовується для побудови складовихтермов;

·  числа і рядки таку ж, як та інших мовами;

·  змінна позначається ім'ям,начинающимся з великої букви, і використовують яксимвол-заполнитель будь-якого іншоготерма;

·  складовою терм складається затома-функтора, котрого супроводжує кілька аргументів, кожен із що у своє чергу є атомом.

Програми, написані чистомуProlog, описують відносини міжобрабативаемими сутностями з допомогоюклаузХорна.Клауза — це формула виду Голова :- Тело., яка читається як “щобдоказать/решить Голову, сліддоказать/решить Тіло”. Тілоклаузи складається з кількох предикатів (цілейклаузи), скомбінованих з допомогоюконъюнкции і диз'юнкції.Клаузи з порожнім тілом називаються фактами і еквівалентніклаузам виду Голова :- true. (>true — не атом, в інших мовами, а вмонтований предикат).

Ще одна важлива частиноюProlog є предикати.Унарние предикати висловлюють властивості їх аргументів, тоді як предикати з кількома аргументами висловлюють відносини з-поміж них. Ряд вбудованих предикатів мови виконують таку ж роль, як і функції за іншими мовами, наприклад, ….Предикати з кількома аргументами можуть діяти у декількох напрямах залежно від цього, які з аргументів вже пов'язані, а які — немає. Нарешті, у тому, щоб бути мовою загального призначення,Prolog повинен надавати ряд сервісних функцій, наприклад, процедурввода/вивода. Вони реалізовані як предикати без спеціального логічного сенсу, що завжди оцінюються як справжні виконують свої сервісні функції як побічний ефект оцінювання.

Метою виконання програми наProlog є оцінювання одного цільового предиката. Маючи цей предикат й створили набір правив і фактів, заданих у програмі,Prolog намагається знайти прив'язки (значення) змінних, у яких цільової предикат приймає значення істинності.

Структура програми на Пролозі відрізняється від структури програми, написаної на процедурному мові.Пролог-программа є зібранням правив і фактів. Рішення завдання досягається інтерпретацією цих правив і фактів. У цьому користувачеві непотрібен забезпечувати детальну послідовність інструкцій, аби вказати, як здійснюється управління ходом обчислень шляху до результату. Натомість він управі лише визначає можливі виконання завдання і відданість забезпечує програму фактами і правилами, що дозволяють їй відшукати необхідну рішення.

У інших відносинах Пролог не відрізняється від традиційних мов програмування. Як і разі програми написаної будь-якому іншому мові,Пролог-программа варта рішення окремої завдання.

Пролог (>Prolog) — мову логічного програмування, заснований на логіцідизъюнктовХорна, що є підмножина логіки предикатів першого порядку. Початок історії мови належить на початок 70-х років ХХ століття. Будучи декларативним мовою програмування, Пролог сприймає як програми деяке опис завдання, і саме виробляє пошук рішення, користуючись механізмомбектрекинга і уніфікацією.

Пролог належить до так званим декларативним мовам, вимагає від автора вміння скласти формальне опис ситуації. Програма на Пролозі такою у традиційному розумінні, бо містить управляючих конструкцій типуif …then,while …do; немає оператора присвоювання. У передмові задіяні інші механізми. Завдання описується в термінах фактів і керував, а пошук рішення Пролог перебирає у вигляді вбудованого механізму логічного висновку.

Перелік можливих синтаксичних конструкцій Прологу невеликий, й у сенсі мову простий вивчення. З іншого боку, декларативний стиль програмування виявляється настільки незвичним і новою як на досвідчених програмістів, що викликає шок та низці випадків виявляється гальмом.

Пролог реалізований практично всім відомих операційними системами і платформ. До операційними системами входятьOS длямейнфреймов, все сімейство Unix, Windows,OS для мобільних платформ. Багато сучасні реалізації мови мають внутрішнє розширення з допомогоюООП-архитектури. Крім пропрієтарних рішень, існують вільні реалізації Пролог. Пролог критикується насамперед упродовж свого недостатню гнучкість, чому рішення на звичайних мовами програмування (типу З++, Java) разом із базами даних виявляються технологічнішими, ніж аналогічні рішення на Пролозі.Негибкость залежить від труднощі вивчення мови, вищих вимоги до кваліфікації програміста на Пролозі, труднощі налагодження програми, нерозвиненості технології програмування, поганий контрольованості проміжних результатів.

Основні віхи розвитку мовиProlog

>Prolog став втіленням ідеї використання логіки як мовою програмування, яка зародилася на початку 70-х років, і сама назва є скороченням від слів “>programming inlogic” (програмування в термінах логіки). Першими дослідниками, котрі вмить зайнялися розробкою цієї ідеї, були РобертКовальски (>RobertKowalski) з Единбурга (теоретичні основи),Маартен ванЭмден (>MaartenvanEmden) з Единбурга (експериментальна демонстраційна система) і АленКолмерое (>AlainColmerauer) з Марселя (реалізація).Популяризации мовиProlog багато чому сприяла ефективна реалізація цієї мови у середині 70-х років Девідом Д. Р.Уорреном (DavidD.H.Warren) з Единбурга. До новітніх набутків у цій галузі ставляться кошти програмування з урахуванням логіки обмежень (>ConstraintLogicProgramming —CLP), які зазвичай реалізуються у складі системиProlog. КоштиCLP заявили себе практично як виключно гнучкий інструмент вирішення завдань складання розкладів і планування матеріально-технічного постачання. А 1996 року було опубліковано офіційну стандарт ISO мовиProlog.

Найбільш помітні тенденції історія розвитку мовиProlog

У розвитку мовиProlog спостерігаються дуже цікаві тенденції. Її швидко набув популярності у Європі як інструмент практичного програмування. У Японії навколо мовиProlog зосереджувалися все розробки комп'ютерів п'ятого покоління. З іншого боку, США цю мову загалом прийняли із невеликим запізненням у зв'язку з деякими історичними причинами. Один із них зводилася до того, Сполучені Штати спочатку ознайомилися з мовоюMicroplanner, який був близький до ідеї логічного програмування, але неефективно реалізований. Деяка частка низьку популярністьProlog у країні пояснюється також реакцією на що існувала спочатку “ортодоксальну школу” логічного програмування, представники якої наполягали на використанні чистої логіки й вимагали, щоб логічний підхід ні “заплямований” практичними засобами, не які належать до логіці. У минулому це призвело до значному поширенню невірних поглядів мовоюProlog. Наприклад, деякі вважали, що у етой мовє можна програмувати лише міркування із конкретним висновком від цілей до фактів. Але істина у цьому, щоProlog — універсальну мистецьку мову програмування і ним може бути реалізований будь-який алгоритм. Далека від реальності позиція “ортодоксальної школи” подолано практиками мовиProlog, котрі прийняли більш прагматичний підхід, скориставшись плідним об'єднанням нового, декларативного підходу із традиційною, процедурним.

Елементи синтаксису:

Коментар остаточно рядки %
>Регистрозависимость так
Регулярне вираз ідентифікатора перемінної [_>A-Z][_a-zA-Z0-9]*
Регулярне вираз ідентифікатора функції [_>a-z][_a-zA-Z0-9]*
Угруповання висловів ( ... )

Список використовуваної літератури

1.sedok.narod/fuzzy.html - Ключові поняття теорії нечітких множин.

2.ru.wikipedia.org/wiki/Лингвистическая_переменная

3.intuit/department/ds/fuzzysets/9/

4.progopedia/language/prolog/


Схожі реферати:

Навігація