Львів
C
» » Процедурні та декларативні знання: приклади і опис

Процедурні та декларативні знання: приклади і опис

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


Що пов'язує людей між собою в розумінні сутності знань?

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


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

Уявлення про декларативний знанні

Описати предмет, явище, продукт харчування або верстат можна по-різному. Пошук в Інтернеті за ключовими словами «декларативні знання, приклади» дає такі відповіді: «Будь-яке знання про світ, до якого людина має усвідомлений доступ» або «Декларативні знання записані в пам'яті інтелектуальної системи так, що вони безпосередньо доступні для використання після звернення до відповідного полю пам'яті». Сказано в обох випадках красиво, але до декларативним знаннями - це має слабке відношення. По-перше, будь-яке знання про світ можна викласти декларативно, навіть якщо воно за своєю природою - очевидний алгоритм. По-друге, яке значення має наявність або відсутність «усвідомленого» доступу. Буває сприйняття інформації не усвідомленим? Але якщо сприйняття було неусвідомленим (це реально), то як би воно сприйняло саме знання, а не сигнал, не відчуття, не реакцію? Імплантувати в мозок знання поки вміють тільки фантасти за допомогою складних механізмів.
В-третіх, яке має відношення до справи пам'ять інтелектуальної системи? Називати програму інтелектуальної чи ні - питання уяви. Крім того, сьогодні немає жодної програмної системи, яку можна об'єктивно назвати інтелектуальною.

Уявлення про процедурному знанні

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

Приклади декларативних і процедурних знань

Яблуко зелене - це декларативне знання. Футбольне поле - теж. Але яблуко може бути не тільки зеленим, так і не яблуком зовсім. Щоб відрізнити справжнє яблуко від виготовленого з воску, потрібно знання того, як воно виглядає в реальності і інші відмінності (запах, текстура, форма).
Процедурні та декларативні знання: приклади і опис
З футбольним полем складніше. Визначивши певну поверхню як футбольне поле, можна зробити помилку. Приїхав друг з міста в село і йому призначено зустріч на футбольному полі. Природно, він буде шукати місце, де є ворота, трибуни і класична футбольна розмітка. Процедурне знання:
  • кулінарний рецепт;
  • збірка автомобіля;
  • написання твору або вірша.
  • В останньому випадку усе складніше. Потрібно мати певні знання, щоб писати вірші. За умовами, існують різні вимоги до риму або стилю письма.
    В алгоритмі завжди важче помилитися, ніж в описі. Процедурне знання, як правило, тестується на предмет працездатності. Декларативне теж вимагає перевірки, але який саме - визначає область використання декларативного знання. Для художника, що відображає приклади такого знання (зелене яблуко і футбольне поле) абсолютно байдуже, що він малює. Для нього важливо передати форму, колір, пропорції, відображати те, що він бачить. Для покупця на ринку зовсім інша система цінностей. Форма і колір фрукта покупця менше хвилює, ніж його споживчі якості. Для людини, якій призначили зустріч на футбольному полі важливі критерії, що дозволяють прийняти однозначне рішення.

    Програмування і знання

    Найкращий критерій для декларативного і процедурного знання - аксіоми з області програмування. Причому програмування 80 років минулого століття у цьому контексті практичніше. В ті часи було чітко зрозуміло опис даних, тобто: що таке декларативне знання. Будь-яке таке опис чітко позначено: комп'ютер ніколи не прощає помилок.
    Процедурні та декларативні знання: приклади і опис
    Сучасне програмування не зобов'язує програміста суворо декларувати те, що він має намір обробити, а в деяких випадках взагалі не пред'являє ніяких претензій, якщо він чогось описав не так. Процедурне знання завжди чітко регламентовано. Поняття синтаксису в описі алгоритму або процедури настільки важливо, що без конкретних умовностей і позначень визнати процедурних його ніяк не можна. Розглядаючи декларативні знання, приклади: «я знаю, що » можна чітко сформулювати два моменти:
  • приклад - це одне;
  • я знаю, що - це зовсім інше.
  • Приклад в більшості випадків (в освіті, на виробництві, в побуті) чітко визначено і люди, мають про нього уявлення, розуміють його зміст однаковим чином. Чоловік, який прийшов вчитися, працювати або опинився в іншому місці, визначає сенс прикладу по-своєму, у нього є два шляхи: наполягати на своєму або змінити свою власну думку про конкретному знанні.

    Інтелектуальні системи і знання

    Декларативні знання, як приклади - це описові частини програм. Мається на увазі не опис змінних, а опис реальних даних. Наприклад, штатний розклад, картка працівника, трудова книжка, подяку та інше. Будь-який з цих документів - реальне декларативне знання. Процедурні знання, як приклади - це функції (процедури) = алгоритми дій, причому не обов'язково послідовних. Процедурне знання - це не завжди рецепт, який слід виконати послідовно. Процедурне знання характеризується вкладеністю, рекурсивностью, незалежністю і взаємодією з собі подібними. Воно може враховувати декларативні знання, але правильніше буде сказати: процедурне знання витягує з декларативного тільки те, що вона розраховує отримати. При такому варіанті і реальний стан речей декларативні знання - приклади бездоганно виконаної статики. Що до процедурних, то в даному контексті вони завжди статичні. Будь-яка сверхтехнологичная сучасна інтелектуальна або експертна система не відповість на простий до божевілля питання: "Спробуйте навести приклади декларативних і процедурних знань". Класичного синього екрану від Windows не буде, але рішення - теж. Критерій інтелектуальності будь-якої програми зовсім не в тому, як її називає розробник, який він склав рейтинг, а в тому, що може робити це виріб за межами його уяви. Ймовірно, історія програмування просто замовчує про досягнення фахівців і стане відомо, коли з'явилися перші системи, які маніпулювали знаннями самі по собі, а не так, як було закладено їх автором.
    Процедурні та декларативні знання: приклади і опис
    Однак відомо, що в період чергової хвилі інтересу до штучного інтелекту була створена програма, яка імітувала ситуативну стадію інтелекту людини ("Лісі"). Розробник позиціонував її як систему накопичення ситуативних (декларативних) і репродуцирующих (процедурних) знань і самостійного їх застосування. Чому навчилася, то зробила. До системи мали доступ інші розробники. Автор навчив її простим знанням: "мама", "м'яч", "грати", "скажи тато", "м'яч круглий" та інше. Колеги по роботі вирішили інакше і навчили "Лісі" математики: 1+1 = 1; 1 x 0 = 0; 2 x 0= 0. Все це не має ніякого відношення до штучного інтелекту, але все ж факт, що правильне розуміння суті декларативних і процедурних знань дозволяє більш ефективно їх використовувати. Крім того, чітке позначення знань має важливе значення для розуміння людьми один одного.