Сидорук Андрій Васильович

Сучасні інформаційні технології, обчислювальна техніка та програмування

Сидорук Андрій Васильович

Чернівецький національний університет імені Ю. Федьковича

ТЕОРЕТИЧНИЙ МЕХАНІЗМ ВЗАЄМНОГО ПЕРЕТВОРЕННЯ ПАСИВНИХ ТА АКТИВНИХ СКЛАДОВИХ ОРГАНІЗОВАНОЇ ПАМ’ЯТІ

Проблема організованої пам’яті – тобто, проблема представлення знань (knowledge representation) зосереджена на необхідності реалізовувати, окрім самої пам’яті, також механізми її перетворення [3]. Побудова організованої пам’яті є актуальною задачею. Для реалізації моделей організованої пам’яті використовують програмування на спеціалізованих мовах, таких як Lisp та Prolog, хоча також часто застосовується і мови загального призначення C++ і т.п.

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

Проблема організованої пам’яті з’являється ще в роботах Клода Шеннона (C. E. Shannon), який вважається засновником теорії інформації і одним з перших математиків, працювавших в області штучного інтелекту [3]. Шенон, винайшов першу програму для гри в шахмати (комп’ютер MANIAC, Los Alamos, 1956) та електронну мишу для вирішення задачі лабіринту. Тобто торкнувся проблеми організації пам’яті. Крім пам’яті необхідні ще механізми перетворення, наприклад мислення, уява та ін. Організована пам’ять – це система, яка здатна ціленаправлено, в залежності від станів інформаційних входів, змінювати не лише параметри функціонування, але і сам спосіб внутрішньої поведінки, причому спосіб поведінки залежить не лише від поточного стану інформаційних входів, але і від попередніх станів системи [5].

Реалізація довільної моделі представлення знань вимагає внутрішньої взаємодії між складовими організованої пам’яті. Виходячи з наявної на даний час стану архітектури обчислювальних пристроїв – класичної фон-нейманської архітектури [2] стає очевидним обмеження сучасних програмних засобів. Обмеження полягає в тому, що в комп’ютерах фон-нейманської архітектури програми, команди і дані, при обчисленнях, розділені. Програма являє собою послідовність дій, які записані в пам’ять, по перетворенню даних для одержання необхідного результату. Програма може перетворювати себе саму, змінюючи при цьому лише послідовність своїх дій. З моменту розподілу в електроннообчислювальних машинах (ЕОМ) інформаційних одиниць, що використовуються, на дані і команди створилась ситуація, при якій дані пасивні, а команди активні.

Всі процеси, що протікають в ЕОМ, ініціюються командами, а дані використовуються цими командами лише у випадку необхідності. Для організованої пам’яті ця ситуація неприйнятна. Для актуалізації тих, чи інших дій в організованій пам’яті використовуються різні її структурні частни, що наявні в системі. Тому загальний стан організованої пам’яті повинен ініціюватися біжучим станом її структурних частин. Поява в організованій пам’яті фактів чи описів подій, встановлення зв’язків може стати джерелом активності системи. Тобто, активність – це важливий фактор, який лежить в основі моделі організованої пам’яті. Існує цілий ряд інформаційних одиниць, що визначають ту межу, за якою пам’ять перетворюється в організовану пам’ять (знання) [5].

Добре побудований механізм організованої пам’яті окрім загального алгоритму повинен мати набір певних локальних цілей, та правила їх досягнення, тобто потрібно задати не лише алгоритм «що потрібно робити», але і «як потрібно робити». Тобто частини алгоритму повинні будуватись під час досягення локальних цілей з врахуванням ситуації що складається. В якості локальних цілей в організованій пам’яті частіш за все задаються вимоги переходу системи в заданий стан, а в якості критерію ефективності – число кроків рішення. Очевидно, досягнення мети не завжди можливе без встановлення початкового стану системи [2].

Очевидно, що реалізація організованої пам’яті є складною задачею. Для вирішення такої задачі потрібно не лише вибрати модель (для певної конкретної задачі), але і засоби її реалізації. Від вибору засобів реалізації буде залежати також продуктивність організованої пам’яті та її можливості в загальному. На даному етапі, як вже було сказано вище, для реалізації організованої пам’яті використовуються мови програмування Lisp та Prolog, C++ і т.п.

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

Виникає ідея створити теоретичний механізм взаємного перетворення активних та пасивних складових в інструментальному засобі, який буде застосований при реалізації організованої пам’яті на низькому рівні. Аналізуючи вище сказане, очевидно, що обмеження створюють існуючі програмні засоби через поточний стан архітектури ЕОМ, а саме фон-нейманської архітектури. Очевидно, що теоретичний механізм, який повинен мати змогу перетворюати активні та пасивні складові, на базовому рівні повинен реалізовуватись на архітектурі, яка принципово відрізняється від фон-нейманської. Тобто, задача створення теоретичного механізму розбивається на дві взаємопов’язані задачі. Перша задача – створення архітектури, яка дозволить зняти обмеження класичної архітектури, але в той же час, дозволить вирішувати задачі, які вирішуються на базі класичної архітектури. Друга задача – засіб, який дозволить реалізувати організовану пам’ять, знявши обмеження, які обговорювались вище, але не зменшивши, при цьому, обчислювальні можливості, які надають класичні засоби.

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

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

Виходячи з існуючих систем пропонується реалізувати першу частину завдання на основі класичних ЕОМ шляхом створення віртуальної архітектури. Також очевидні переваги віртуальних архітектур в тому аспекті, який дозволить реалізувати архітектуру з довільними вимогами саме за рахунок моделювання архітектури у віртуальному просторі. Вимоги до архітектури полягають в можливості забезпечити програмування з нерозділеним кодом та даними. Також важливою є вимога можливості виконання класичних алгоритмів, які можуть виконувати програми реалізовані для класичної архітектури. Необхідно забезпечити взаємодію між програмуванням на віртуальному рівні та класичному. При реалізації подібної віртуальної архітектури з’являється можливість використання переваг від нововведень, а також, зважаючи на взаємодію з класичним рівнем — переваг, які забезпечує класична архітектура. Подібну віртуальну архітектуру можна назвати – вільною віртуальною архітектурою.

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

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

Література:

  1. Герасимов Б.М., Локазюк В.М., Оксіюк О.Г., Поморова О.В. Інтелектуальні системи підтримки прийняття рішень: Навч. посібник. – К.: Вид-во Європ. ун-ту, 2007. – 355 с.

  2. Локазюк В.М., Поморова О.В., Домінов А.О. Інтелектуальне діагностування мікропроцесорних пристроїв та систем: Навч. посібник для вузів, – Київ: Такі справи, 2001. – 286 с.

  3. Люгер Д., Искусственный интеллект: стратегии и методы решения сложных проблем, 4-е изд., М.-:Издательский дом «Вильямс», 2003.- 864 с.

  4. Metcalfe G., Olivetti N., Gabbay D. M. Lukasiewicz logic: from proof systems to logic programming. // Logic Journal of the IGPL. 2005. Vol. 13, no. 5. Pp. 561–585.

  5. Uthurusamy R. et al, Extracting knowledge from diagnostic databases //IEEE Expert. - Dec., 1993. - P. 27-38.

Статья опубликована 23.10.2010 (оригинал). Переопубликована 30.09.2018

Назад

 

TerminalCoin

2018-10-29 09:09:54