R1 / XCON
R1 / XCON (XCON - eXpert CONfigurer) - була однією з перших успішних спроб застосування експертних систем в промисловості на початку 1980-х років.
Опис системи
Ця система призначена для допомоги розробникам при визначенні конфігурації обчислювальної системи на базі обчислювальних пристроїв і блоків сімейства VAX. Спочатку програма перевіряє повноту специфікації вимог до проектованої системи, яка представлена замовником. На другому етапі програма визначає конфігурацію системи, що відповідає цим вимогам. Комерційна версія системи, розроблена спільно університетом Карнегі-Меллон і корпорацією Digital Equipment, отримала найменування XCON.
Першим практичним застосуванням системи XCON була розробка конфігурації обчислювального комплексу VAX-11/780 на заводі фірми DEC в Салемі, шт. Нью-Гемршір. Потім послідувала розробка конфігурацій інших типів обчислювальних комплексів, таких як VAX-11/750 і наступних модифікацій продукції DEC. Інтерес до цієї експертної системі пояснюється тим, що вона продемонструвала, чого можна досягти при використанні навіть відносно слабкого методу розв'язання проблем, якщо є достатньо знань про предметну область. Історія розвитку цієї системи також показує, як розширюється сфера застосування комерційної експертної системи при правильному менеджменті та як системи такого типу "вростають" в виробниче середовище.
Задачу системи R1 не можна віднести до типу тривіальних. Типовий обчислювальний комплекс включає 50-100 компонентів, головними з яких є центральний процесор, пристрій управління оперативною пам'яттю, блоки управління інтерфейсом по шинам UNIBUS і MASSBUS, причому всі ці компоненти підключені до єдиної платі синхронізації. Шинні інтерфейси підтримують обмін з широкою номенклатурою периферійних пристроїв - пристроями зовнішньої пам'яті на магнітних стрічках і дисках, принтерами і т.п. У результаті є можливість будувати системи самої різної конфігурації.
Отримавши замовлення зі специфікацією характеристик обчислювального комплексу, система R1 повинна прийняти рішення про те, які пристрої потрібно включити до складу комплексу і як їх об'єднати в єдину систему. Прийняти рішення про те, чи відповідає певна конфігурація тим характеристикам, які представлені в замовленні, не так просто, оскільки для цього потрібно володіти знаннями про можливості і характеристики всіх компонентів і відносинах між різними компонентами. Не менш складне і завдання оптимальної компоновки комплексу з обраного набору компонентів, оскільки при його вирішенні потрібно брати до уваги безліч обмежень на взаємне розташування компонентів у структурі комплексу. Наприклад, підключення модулів розширення UNIBUS до пристрою синхронізації вимагає враховувати обмеження по струмовому навантаженні, що існують для пристрою синхронізації, і розподіл пріоритетів переривань для модулів розширення. Таким чином, задачу вибору конфігурації можна з повним правом вважати класичною конструктивною проблемою, яка вимагає для свого рішення значного обсягу експертних знань.
Метод
Основний метод вирішення проблем у системі R1 можна віднести до виду запропонуй-і-застосуй (англ. propose-and-apply), який складається з наступних кроків.
- Ініціалізація ланцюга. Формується елемент керування для поточного завдання і віддаляються всі застарілі елементи керування для тих задач, які вже завершені.
- Пропозиція. Пропонуються можливі варіанти подальших дій і відкидаються неприйнятні варіанти. Варіанти представляються у вигляді операторів.
- Видалення зайвого. Видаляються зайві оператори згідно з глобальним критерієм, наприклад заздалегідь визначеним пріоритетом операторів.
- Вирішення конфліктів. Виконується попарне порівняння конкуруючих операторів і приймається рішення, який з двох залишити.
- Вибір єдиного оператора. Аналізується результат виконання кроків 2-4 і з усіх решти операторів вибирається єдиний.
- Застосування оператора. Обраний оператор застосовується до поточного стану проблеми і таким чином формується розширення часткової конфігурації.
- Оцінка мети. Перевіряється, не досягнута сформульована мета. Якщо мета досягнута, процес завершується, в іншому випадку цикл повторюється.
Удосконалення системи
Протягом 1986-1987 років система XCON зазнала докорінної модернізації на основі методології RIME. Принцип спадного розкладання проблеми на підзадачі (останні отримали у новій термінології найменування простору системи-problem spaces) в процесі обчислень, який був реалізований в системі R1, залишився в недоторканності, але була змінена система класифікацій правил. За основу нової системи класифікації були взяті етапи виконання алгоритму запропонуй-і-застосуй, на яких використовується те чи інше правило. Кожне простір проблеми представляє відносно незалежну підзадачі і специфікується трьома параметрами:
- керуюча структура, яка описує метод вирішення проблем, що застосовується в цьому просторі;
- знання, які використовуються для прийняття рішення про те, який простір проблеми має бути активним у будь-який даний момент часу;
- оператори, які дозволяють маніпулювати об'єктами в даному просторі, якщо воно стає активним.