Створення експертної системи за вибором електрогітари

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Санкт-Петербурзький державний

УНІВЕРСИТЕТ шляхів сполучення

Кафедра «Математика і моделювання»

Реферат з дисципліни:

«Бази знань та експертні системи»

Тема: «Створення експертної системи

за вибором електрогітари »

Санкт-Петербург

2009р.

Мета роботи: скласти таку експертну систему, щоб будь-яка людина при зверненні до неї, міг прийняти рішення у виборі електрогітари.

Короткий опис.

Найбільш сильний вплив на людську свідомість і на емоції надає музика. Безліч різних музичних інструментів було створено людьми і ці інструменти постійно вдосконалюються, а так само створюються нові. В даний час для зручності звукозапису та обробки музики використовуються електронні музичні інструменти, в тому числі електрогітари. Дана система допоможе визначитися з характеристиками і типами даного виду інструментів, так як для кожного покупця-музиканта потрібно допомогти підібрати "його" гітару за тими основними характеристиками, які представлені в моїй експертній системі.

Висновку.

  1. Epiphone LP Studio

  2. Epiphone LP Standart

  3. ESP LTD JH-200

  4. ESP LTD M-200 FM

  5. ESP LTD H-100 FM

  6. Ibanez AF75 BS

  7. Ibanez SZ520QM GAB

  8. Washburn 30 В

  9. Washburn J9

  10. Washburn N3

  11. Washburn WG587

  12. Jackson DK2FS

  13. Jackson JS30DKT

  14. Gibson LP-100

  15. Epiphone LP Custom

  16. Fender FG -200

  17. Fender LS -11

  18. Squaer Standart

Модель предметної області.

Список питань.

  1. Форма гітари:

а) Les Paul;

б) Stratocaster;

в) Classic;

  1. Матеріал:

а) Дерево;

б) Інший;

  1. Виробник:

а) Китай;

б) Корея;

в) Індонезія;

  1. Кількість звукознімачів:

а) 2;

б) 3;

  1. Наявність важеля;

    1. є

    2. немає

  2. Наявність вбудованого ефекту;

а) є

б) немає

1

2

3

4

5

6


Les Paul

Stratocaster

Classic

дерево

немає

Китай

Корея

Індонезія

два

три

Є

НІ

Є

НІ

1. Epiphone LP Studio

+

+

+

-

-

-

-

+

2. Epiphone LP Standart

+


+


+

-

-

+

-

-

3. ESP LTD JH-200

+



+

+


-

-

-

-

+

4. . ESP LTD M-200FM


+


+

+


-

-

-

-

-

-

5. ESP LTD H-100FM

+



+

+


-

-

-

-

-

-

6. Ibanez AF75 BS

+


+


+

+

-

-

-

-

7. Ibanez SZ520 QM

+


+


+

-

-

-

-

-

-

8. Washburn 30B


+

+

+

-

-

-

-

-

-

9. Washburn J9

+

+

+

-

-

-

-

-

-

10. Washburn N3


+

+

+

-

-

-

-

-

-

11. Washburn WG587

+


+


+

+

-

-

-

-

12. JACKSON DK 2FS

+

+


+

-

-

+

-

-

13. JACKSON JS 30 DKT


+

+

+

+

-

-

-

-

14. Gibson LP Custom

+


+

+

-

-

-

-

-

-

15. Epiphone LP Custom

+



+

+

-

-

-

-

-

-

16. Fender FG - 200

+

+


+

-

-

-

-


+

17. Fender LS -11

+

+

+

-

-

-

-

+

18.Squaer Standart


+

+


+

+

-

-

-

-

Дерево виведення

Текст програми на Visual Prolog 5.2

% Ідентифікація гітари

database

db_positive (symbol, symbol)

db_negative (symbol, symbol)

predicates

do_expert% виконати експертну роботу

do_consulting% виконати консультацію

nondeterm

guitar_is (symbol)% гітара є

it_is (symbol)% це є

positive (symbol, symbol)% позитивний факт

negative (symbol, symbol)% негативний факт

remember (symbol, symbol, symbol)% запам'ятати факт в ДБД

ask (symbol, symbol)% питання користувачеві

clear_facts% очищення ДБД

goal

do_expert.

clauses

% Система користувальницького інтерфейсу

do_expert: -

nl, write ("* * * * * * * * * * * * * * * * * * * * * * * * * * * *"),

nl, write ("ЛАСКАВО ПРОСИМО в експертну систему"),

nl, write ("визначення потрібної гітари"),

nl, write ("* * * * * * * * * * * * * * * * * * * * * * * * * * * *"),

nl, write ("Будь ласка, дайте відповідь на питання про що цікавить Вас"),

nl, write ("гітарі 'y' (та), або 'n' (немає)."),

nl, nl, nl,

do_consulting,

write ("Натисніть будь-яку клавішу ... "), nl,

readchar (_),

exit.

do_consulting: -

guitar_is (X),!,

nl, nl,

write ("цікавить Вас гітара -", X),

nl, nl,

clear_facts.

do_consulting: -

nl, nl,

write ("Вибачте, не можу Вам допомогти!"),

nl, nl,

clear_facts.

ask (X, Y): -

write ("Питання:", X, "", Y, "?"),

readln (Reply),

remember (X, Y, Reply).

% Механізм виведення

positive (X, Y): -

db_positive (X, Y),!.

positive (X, Y): -

not (db_negative (X, Y)),!,

ask (X, Y).

negative (X, Y): -

db_negative (X, Y),!.

remember (X, Y, y): -

asserta (db_positive (X, Y)).

remember (X, Y, n): -

asserta (db_negative (X, Y)),

fail.

clear_facts: -

retract (db_positive (_, _)), fail.

clear_facts: -

retract (db_negative (_, _)), fail.

clear_facts.

% Продукційні правила

guitar_is ("Epiphone LP Studio"): -

it_is ("форма Les Paul"),

positive ("матеріал", "дерево"),

positive ("країна", "Китай"),

positive ("повинен бути", "вбудований ефект").

guitar_is ("Fender LS-11"): -

it_is ("форма Les Paul"),

positive ("матеріал", "дерево"),

positive ("країна", "Китай"),

negative ("повинен бути", "вбудований ефект").

guitar_is ("Gibson LP-100"): -

it_is ("форма Les Paul"),

positive ("матеріал", "дерево"),

negative ("країна", "Китай"),

positive ("країна", "Корея").

guitar_is ("jackson DK2FS"): -

it_is ("форма Les Paul"),

positive ("матеріал", "дерево"),

negative ("країна", "Китай"),

negative ("країна", "Корея"),

positive ("повинен бути", "важіль").

guitar_is ("Epiphone LP Standart"): -

it_is ("форма Les Paul"),

positive ("матеріал", "дерево"),

negative ("країна", "Китай"),

negative ("країна", "Корея"),

negative ("повинен бути", "важіль").

guitar_is ("ESP LTD H-100FM"): -

it_is ("форма Les Paul"),

positive ("матеріал", "інший"),

negative ("країна", "Китай"),

positive ("країна", "Корея").

guitar_is ("Epiphone LP Custom"): -

it_is ("форма Les Paul"),

positive ("матеріал", "інший"),

negative ("країна", "Китай"),

negative ("країна", "Корея").

guitar_is ("Washburn WG 587"): -

it_is ("форма stratocaster"),

negative ("форма", "Les Paul"),

positive ("форма", "stratocaster"),

positive ("матеріал", "дерево"),

positive ("країна", "Китай"),

positive ("кількість звукознімачів", "2").

guitar_is ("Ibanez AF75 BS"): -

it_is ("форма stratocaster"),

negative ("форма", "Les Paul"),

positive ("форма", "stratocaster"),

positive ("матеріал", "дерево"),

positive ("країна", "Китай"),

negative ("кількість звукознімачів", "2").

guitar_is ("Ibanez SZ520 QMGAB"): -

it_is ("форма stratocaster"),

negative ("форма", "Les Paul"),

positive ("форма", "stratocaster"),

positive ("матеріал", "дерево"),

negative ("країна", "Китай"),

positive ("країна", "Корея").

guitar_is ("Washburn J9"): -

it_is ("форма stratocaster"),

negative ("форма", "Les Paul"),

positive ("форма", "stratocaster"),

positive ("матеріал", "дерево"),

negative ("країна", "Китай"),

negative ("країна", "Корея").

guitar_is ("ESP LTD JH-200"): -

it_is ("форма stratocaster"),

negative ("форма", "Les Paul"),

positive ("форма", "stratocaster"),

positive ("матеріал", "інше"),

negative ("країна", "Китай"),

negative ("країна", "Корея"),

positive ("повинен бути", "вбудований ефект").

guitar_is ("Fender FG-200"): -

it_is ("форма stratocaster"),

negative ("форма", "Les Paul"),

positive ("форма", "stratocaster"),

positive ("матеріал", "інше"),

negative ("країна", "Китай"),

positive ("країна", "Корея"),

negative ("повинен бути", "вбудований ефект").

guitar_is ("Jackson JS30DKT"): -

it_is ("форма classic"),

negative ("форма", "Les Paul"),

negative ("форма", "stratocaster"),

positive ("форма", "classic"),

positive ("матеріал", "дерево"),

positive ("країна", "Китай"),

positive ("кількість звукознімачів", "2").

guitar_is ("Squaer Standart"): -

it_is ("форма classic"),

negative ("форма", "Les Paul"),

negative ("форма", "stratocaster"),

positive ("форма", "classic"),

positive ("матеріал", "дерево"),

positive ("країна", "Китай"),

negative ("кількість звукознімачів", "2").

guitar_is ("ESP LTD M-200FM"): -

it_is ("форма classic"),

negative ("форма", "Les Paul"),

negative ("форма", "stratocaster"),

positive ("матеріал", "інше"),

positive ("країна", "Китай").

guitar_is ("Washburn N3"): -

it_is ("форма classic"),

negative ("форма", "Les Paul"),

negative ("форма", "stratocaster"),

positive ("форма", "classic"),

positive ("матеріал", "інше"),

negative ("країна", "Китай"),

positive ("країна", "Корея").

guitar_is ("Washburn 30B"): -

it_is ("форма classic"),

negative ("форма", "Les Paul"),

negative ("форма", "stratocaster"),

positive ("форма", "classic"),

positive ("матеріал", "інше"),

negative ("країна", "Китай"),

negative ("країна", "Корея").

it_is ("форма Les Paul"): -

positive ("форма", "Les Paul"),!.

it_is ("форма stratocaster"): -

negative ("форма", "Les Paul"),!,

positive ("форма", "stratocaster"),!.

it_is ("форма classic"): -

negative ("форма", "Les Paul"),!,

negative ("форма", "stratocaster"),!.

Приклад роботи програми:

Текст програми на Leonardo:

1. if 'Form of the guitar' is 'Les Paul'

and 'material' is 'wood'

and 'Strana Proizvoditel' is 'China'

and 'Nalichie vstroennogo effecta' is 'yes'

then Guitar is 'Epiphone LP Studio'

2. if 'Form of the guitar' is 'Les Paul'

and 'material' is 'wood'

and 'Strana Proizvoditel' is 'China'

and 'Nalichie vstroennogo effecta' is 'no'

then Guitar is 'Fender LS11'

3 if 'Form of the guitar' is 'Les Paul'

and 'material' is 'wood'

and 'Strana Proizvoditel' is 'Korea'

then Guitar is 'Gibson LP-100'

4 if 'Form of the guitar' is 'Les Paul'

and 'material' is 'wood'

and 'Strana Proizvoditel' is 'Indonesia'

and 'nalichie rychaga' is 'yes'

then Guitar is 'JacksonDK2FS'

5 if 'Form of the guitar' is 'Les Paul'

and 'material' is 'wood'

and 'Strana Proizvoditel' is 'Indonesia'

and 'nalichie rychaga' is 'no'

then Guitar is 'Epiphone LP Standart'

6 if 'Form of the guitar' is 'Les Paul'

and 'material' is 'another'

and 'Strana Proizvoditel' is 'Korea'

then Guitar is 'ESP LTD H-200FM'

7 if 'Form of the guitar' is 'Les Paul'

and 'material' is 'another'

and 'Strana Proizvoditel' is 'Indonesia'

then Guitar is 'Epiphone LP Custom'

8 if 'Form of the guitar' is 'Stratocaster'

and 'material' is 'wood'

and 'Strana Proizvoditel' is 'China'

and 'number of hambekers' is '2 '

then Guitar is 'Washburn WG 587'

9 if 'Form of the guitar' is 'Stratocaster'

and 'material' is 'wood'

and 'Strana Proizvoditel' is 'China'

and 'number of hambekers' is '3 '

then Guitar is 'Ibanez AF75 BS'

10 if 'Form of the guitar' is 'Stratocaster'

and 'material' is 'wood'

and 'Strana Proizvoditel' is 'Korea'

then Guitar is 'Ibanez SZ520QM GAB'

11 if 'Form of the guitar' is 'Stratocaster'

and 'material' is 'wood'

and 'Strana Proizvoditel' is 'Indonesia'

then Guitar is 'Washburn J9'

12 if 'Form of the guitar' is 'Stratocaster'

and 'material' is 'another'

and 'Strana Proizvoditel' is 'Korea'

and 'Nalichie vstroennogo effecta' is 'yes'

then Guitar is 'ESP LTD JH-200'

13 if 'Form of the guitar' is 'Stratocaster'

and 'material' is 'another'

and 'Strana Proizvoditel' is 'Korea'

and 'Nalichie vstroennogo effecta' is 'no'

then Guitar is 'Fender FG-200'

14 if 'Form of the guitar' is 'Classic'

and 'material' is 'wood'

and 'Strana Proizvoditel' is 'China'

and 'number of hambekers' is '2 '

then Guitar is 'JacksonJS30DKT'

15 if 'Form of the guitar' is 'Classic'

and 'material' is 'wood'

and 'Strana Proizvoditel' is 'China'

and 'number of hambekers' is '3 '

then Guitar is 'Squaer Standart'

16 if 'Form of the guitar' is 'Classic'

and 'material' is 'another'

and 'Strana Proizvoditel' is 'China'

then Guitar is 'ESP M-200FM'

17 if 'Form of the guitar' is 'Classic'

and 'material' is 'another'

and 'Strana Proizvoditel' is 'Korea'

then Guitar is 'Washburn N3'

if 'Form of the guitar' is 'Classic'

and 'material' is 'another'

and 'Strana Proizvoditel' is 'Indonesia'then Guitar is' Washburn 30 B '

seek Guitar

Висновки:

За результатами виконаної роботи реалізації експертної системи в LEONARDO і PROLOG можна відзначити, деякі зручності і незручності програм:

1) Незручності перемикання мови в програмі LEONARDO, мова не перемикається як в системі Windows, на відміну від PROLOG, як наслідок збільшення часу на програмування ЕС в LEONARDO.

2) Незручність у LEONADRO при створенні експертної системи, треба заповнювати окремо правила та об'єкти, що збільшує час на створення експертної системи, на відміну від цього в системі PROLOG достатньо написати тест програми керуючись потрібними операторами.

3) Незручності в програмі PROLOG при виведенні результатів на екран користувачеві необхідно самому вводити відповідь на питання, а в LEONARDO досить вибрати потрібну відповідь і натиснути на ENTER.

4) Незручності в програмі LEONARDO при виведенні результатів на екран і відповіді на питання ви не бачите питань, на які вже відповіли і ваших відповідей, щоб подивитися при помилку в якому питання ви не правильно відповіли.

Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Реферат
102.4кб. | скачати


Схожі роботи:
Технологія розробки експертної системи Вибір підходящої проблеми для розробки експертної
Розробка оболонки експертної системи
Проведення діагностики виробничої системи на основі використання експертної інформації
Чисельне рішення системи лінійних рівнянь за допомогою методу виключення Гауса з вибором головного
Сутність і форми експертної профілактики
Основи судово-експертної діяльності в Російській Федерації
Курси за вибором з математики у профільній школі
Управління вибором напрямків інноваційного розвитку підприємств
Створення інформаційної системи
© Усі права захищені
написати до нас