Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лачинов В.М., Поляков А.О. Інформодинаміка [укр.язык].doc
Скачиваний:
22
Добавлен:
02.05.2014
Размер:
5.23 Mб
Скачать

5.3. Комп’ютер фон Нойманівської архітектури в системах високих рівнів складності

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

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

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

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

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

Функція розстановки - функція, яка уведена для виключення суцільного перебору при роботі з інформаційними базами, трактується тут у ширшому сенсі характеристики внутрішніх зв’язків у базі знань. Вона ще обговорюватиметься як проблема структурного резонансу (див. частина III), а поки відзначимо, що проблема структур зберігання породжує значну частину труднощів при реалізації спроб поступового підвищення складності оброблювальних алгоритмів, які зазвичай виникають, коли професійному програмістові починає здаватися, що можна примусити обчислювальну машину робити все що завгодно {92. Ми переконалися на своєму досвіді, що популяризатори мов програмування примудряються вводити в такий стан молодих фахівців ще на шкільній лаві. Частина з них приходить у ВНЗ із переконанням, що запрограмувати можна все і лише “спочатку закладена в людину тяга до мінімізації своєї діяльності” утримує їх від таких спроб, а не від інтуїтивної віри в могутність операторів “І”, “АБО”, “НЕ”, “ЯКЩО”. Чи не пора всі посібники починати з вказівки “чого не може” чергова мова програмування? Або завжди простіше описати, що вона може, а на все інше ніякого обсягу публікації не вистачить?}. Саме у таких ситуаціях система, створена програмістом, показує, що у неї є своє власне життя і вона безумовно виходить із під контролю.

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

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

Можливе рішення проблеми, що розглядається в прикладній теорії ІСУ, полягає в наступному.

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

Виходячи з цього, в прикладній теорії ІСУ пропонується концепція, що базується на тому, щоб не вирішувати проблему налагодження, а забезпечувати коректність конструкцій для завдання знань. Ставиться питання про розробку такого формального апарату, щоб сам акт запису інформації став одночасно і актом доведення її коректності (наприклад, у межах поточного значення функції розстановки чи її нового значення, породженого цим актом).

Для цього можливо використовувати формалізм типу “перетворювача предикатів” - фактично деяка підмножина мови числення предикатів, наприклад, першого порядку, сформована з урахуванням аксіом, визначуваних скінченністю пам’яті і швидкодії комп’ютера і оформлена як мова фіксації поточного знання. До певної міри така мова може бути запропонована і як вхідна мова, і як мова опису системи високого рівня.

Відзначимо, що йдеться тут про розробку програм і виразів у рамках апарату числення предикатів, із яких складається система і що є, зрештою, самою системою (принаймні до тих пір, поки вона не отримає іншого опису, який буде визнано замість попереднього). Це, наприклад, системи, що реалізуються як семантичні конструкції. Для значного числа систем подання на рівні числення предикатів першого порядку може бути достатнє для їх адекватного сприйняття {93. Не критикуйте нас за використання предикатів першого порядку. Квантори є не перешкодою, а лише ускладненням побудов, а у нас вистачає складнощів і з нашою основною тематикою.}.

Якщо послідовно застосовувати формалізм “перетворювачів предикатів”, то, побудувавши скільки завгодно розгалужену багаторівневу систему, ми отримаємо механізм, що знову є “перетворювачем предикатів”, тобто механізм, що володіє важливими для нас властивостями: завжди правильно завершувати роботу і бути розпізнаваним за скінченне число кроків.

“Правильне завершення роботи” означає, що конструкція (програма) за скінченних час приходить чи то до стану, що є задовільним з погляду логіки системи рішенням, чи то до стану “невизначеність” із видачею діагностики про причину невизначеності. Викладена методологія одержала своє практичне розв’язання при створенні прикладної мови для роботи з описово заданими об’єктами (див. р. 3), причому можливість її використання в різних галузях знань залежить лише від наявності інформаційних масивів.

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