MYCIN одна з перших експертних систем, розроблена за 5 чи 6 років на початку 1970х років в Стенфордському університеті. Вона була написана на мові програмування Лісп як докторська дисертація Едварда Шортлайфа () під керівництвом Брюса Б'юкенана (), Стенлі Н. Коена () та інших. У цій же лабораторії була раніше створена експертна система Dendral, але цього разу увагу було зосереджено на використанні правил виведення з елементами невизначеності.
Призначення MYCIN було спроектовано для діагностування бактерій, що викликають складні інфекції, такі як бактеремія і менінгіт, а також для рекомендації необхідної кількості антибіотиків, в залежності від маси тіла пацієнта. Назва системи походить від суфіксу «-міцин», який часто зустрічається в назвах антибіотиків. Також Mycin використовувався для діагностики захворювань згортання крові.
Призначення цієї програми — бути асистентом лікаря, який не є вузьким спеціалістом в області застосування антибіотиків. В процесі роботи програма формує гіпотези діагнозу і надає їм певні ваги, але самостійно, як правило, не робить остаточного вибору.
Після 1976 року система неодноразово модифікувалася і оновлювалася, але базова версія складалася з п'яти компонентів. База знань, яка містить фактичні знання, що стосуються предметної області, і відомості про наявні невизначеності. Загальні бази даних пацієнтів, які містять інформацію про конкретних пацієнтів та їх захворювання. Консультуюча програма, яка ставить запитання, виводить укладення системи і дає поради для конкретного випадку, використовуючи інформацію про пацієнта і статичні знання. Пояснююча програма, яка відповідає на запитання і дає користувачу інформацію про те, на чому ґрунтуються рекомендації або висновки, сформульовані системою. При цьому програма приводить трасування процесу вироблення рекомендацій. Програма сприйняття знань, яка служить для оновлення знань, що зберігаються в системі, в процесі її експлуатації.
Підсистема, в яку входять перші три пункти, відповідає за вирішення проблеми. Вона будує гіпотези щодо причин захворювання і формує рекомендації, ґрунтуючись на цих гіпотезах.
Метод MYCIN оперувала на основі доволі простої машини виведення, і бази знань з ~600 правил. Після запуску, програма задавала користувачу (лікарю) довгий ряд простих «так/ні» або текстових запитань. В результаті, система надавала перелік підозрюваних бактерій, який було відсортовано за імовірністю, вказувала довірчий інтервал для імовірностей діагнозів та їх обґрунтування (тобто MYCIN надавала перелік запитань та правил, які привели її до саме такого ранжування діагнозів), а також рекомендувала курс лікування.
Незважаючи на успіх MYCIN, вона викликала дебати з приводу правомірності її машини виведення. Дослідження, проведені розробниками, показали, що ефективність системи мінімально залежить від конкретних числових особливостей реалізацій правил виводу. Вони припустили, що ефективність значно більше залежить від способу представлення знань і способу виведення. Це питання було розглянуте (Shortliffe EH and Buchanan BG. A model of inexact reasoning in medicine. Mathematical Biosciences 23:351-379, 1975) і потім в їх докладній книзі про MYCIN та зв'язаних з нею експериментах (Rule Based Expert Systems: The MYCIN Experiments of the Stanford Heuristic Programming Project, EH Shortliffe, eds. Reading, MA: Addison-Wesley, 1984).
База знань системи База знань системи MYCIN організована у вигляді безлічі правил у формі «якщо Умова_1, ..., Умова_m виконуються, то прийти до Висновок_1, ..., Висновок_n». Ці правила перетворені в оператори мови LISP.
Ось як виглядає переклад на звичайну мову типового правила MYCIN: ЯКЩО організм володіє плямистим забарвленням, і організм має форму палички, і організм аеробний, ТО є підстави припускати,з імовірністю (наприклад,0.8), що цей мікроорганізм відноситься до класу enterobacteriaceae. Такого роду правила названі оргправилами (ORGRULES) і в них сконцентровані знання про такі організмах, як streptococcus, pseudonomas і enterobacteriaceae.
Це правило говорить про те, що якщо організм має форму палички, плямисте забарвлення і активно розвивається в середовищі, насиченої киснем, то з великою ймовірністю його можна віднести до класу enterobacteriaceae. Число 0.8 називається рівнем відповідності (tally) правила, тобто заходом правдоподібності висновку, зробленого на підставі сформульованих умов. Кожне правило такого вигляду можна розглядати як подання в машинній формі деякого елемента знань експерта. Можливість застосувати правило визначається тим, чи виконуються в конкретній ситуації умови, сформульовані в першій його частині. Сформульовані умови також носять нечіткий характер і можуть задовольнятися з різним ступенем істинності. Тому в результаті імпортування правил з бази знань стосовно конкретної ситуації формується загальніше правило, що включає й оцінки рівня істинності дотримання умов: ЯКЩО Умова_1 виконується з істинністю Х1, ..., Умова_m виконується з істинністю Хм, ТО прийти до Висновку_1 зі ступенем впевненості У1, ..., до висновку n зі ступенем впевненості Уn.
Тут ступінь впевненості, пов'язана з кожним висновком, є функцією від оцінок істинності дотримання умов і рівня відповідності, що відображає ступінь впевненості експерта при формулюванні первинних оргправил. Фактично правило є парою "передумова-дія"; таке правило іноді традиційно називають "продукцією". Передумова - це сукупність умов, а впевненість у достовірності передумови залежить від того, наскільки достовірною є оцінка умов. Умови - це припущення про наявність деяких властивостей, які приймають значення істина або хиба з певним ступенем імовірності. Прикладом може служити умова в наведеному вище правилі: "Організм має форму палички".
Дія - це або висновок, або рекомендація про те, яку дію зробити. Прикладом висновку може служити висновок про те, що даний організм відноситься до певного класу. Приклад рекомендації - сформульований перелік лікувальних процедур. Крім правил, у базі знань MYCIN також зберігаються факти і визначення. Для їх збереження використовуються різні структурні форми: прості списки, наприклад, списки всіх мікроорганізмів, відомих системі; таблиці знань із записами про певні клінічні показання і значення, які ці свідчення мають при різних умовах; прикладом може служити інформація про форму мікроорганізмів, відомих системі; система класифікації клінічних параметрів відповідно контексту, в якому ці параметри розглядаються, наприклад чи є вони властивістю (атрибутом) пацієнтів або мікроорганізмів.
Значна частина знань зберігається не у вигляді правил, а у вигляді властивостей, асоційованих з 65 клінічними параметрами, відомими системі MYCIN. Наприклад, форма - це атрибут мікроорганізму, який може приймати найрізноманітніші значення, наприклад, "паличка" або "кокон". Система також привласнює значення параметрів і для власних потреб - або для спрощення моніторингу взаємодії з користувачем, або для індексації при визначенні порядку застосування правил. Інформація про пацієнта зберігається в структурі, що називається контекстним деревом. У це дерево включені три культури організмів (наприклад, отримані з аналізу крові пацієнта) та поточні призначення, які потрібно враховувати при аналізі, оскільки вони пов'язані з прийомом певних лікарських засобів. З культурами пов'язані мікроорганізми, присутність яких передбачається на підставі даних, отриманих в лабораторії, а з мікроорганізмами - лікарські засоби, що впливають на них.
Структури управління в MYCIN
Цільове правило самого верхнього рівня в системі MYCIN можна сформулювати приблизно так:
ЯКЩО : Існує мікроорганізм, який вимагає проведення курсу терапії, і Задані міркування щодо будь-яких інших мікроорганізмів, які вимагають проведення курсу терапії, ТО : Сформувати список можливих курсів терапії і виділити найкращий з них. В ході консультації виконується проста двоетапна процедура: Формується контекст пацієнта у формі самого верхнього вузла контекстного дерева; Робиться спроба застосувати цільове правило до цього контексту пацієнта.
Застосування правила включає в себе оцінку сформульованих в ньому передумов, а цей процес, в свою чергу, включає перевірку, чи існує мікроорганізм, який вимагає проведення курсу терапії. Для цього спочатку потрібно з'ясувати, чи існує взагалі факт зараження мікроорганізмами, пов'язаними з певними хворобами. Цю інформацію можна отримати або безпосередньо від користувача, або скориставшись ланцюжком міркувань, заснованих на спостережуваних симптомах і наявних даних лабораторних досліджень.
Консультація являє собою пошук на деревоподібному графі цілей. У корені дерева розташовується мета самого верхнього рівня - та частина цільового правила, в якій відображено дію - рекомендований курс лікарської терапії. На нижчих рівнях розміщуються підцілі, які являють собою, наприклад, з'ясування, які мікроорганізми виявлені в заражених тканинах і наскільки істотним є зараження кожного з них. Багато з цих підцілей розпадаються на дрібніші підцілі. Листям дерева є факти, які не потребують логічного виведення, оскільки отримані емпіричним шляхом, наприклад, факти, встановлені в лабораторії.
Для роботи програми дуже зручно представити процес породження підцілей за допомогою особливого виду структури, названої І/АБО-графом. Основна ідея полягає в тому, що кореневий вузол дерева являє головну мету, а термінальні вузли - примітивні операції, які може виконати програма. Нетермінальні (проміжні) вузли представляють підцілі, по відношенню до яких допустимо виконати подальший аналіз. Існує досить проста відповідність між аналізом таких структур і аналізом безлічі правил.
Структура управління правилами в MYCIN використовує І/АБО-граф і в порівнянні з програмами штучного інтелекту досить проста - в ній використана методика вичерпного пошуку до якої внесені тільки незначні зміни. Формулювання кожної підцілі завжди являє собою узагальнену форму вихідної мети. Так, якщо підціль полягає в тому, щоб довести справедливість судження "організм - це E.Coli", то формулювання такої підцілі, визначення типу організму. Цим ініціюється вичерпний пошук, в який залучаються всі можливі відомості про організми. В безлічі правил, придатних для сформульованої мети, вишукуються таке, яке задовольняється за визначенням. Якщо для укладення про певний параметр, наприклад про природу організму, підходить кілька правил, то їх результати об'єднуються. Якщо коефіцієнт впевненості якійсь із висунутих гіпотез виявляється в діапазоні від -0,2 до 0,2, то гіпотеза відкидається. Якщо поточна підціль являє собою лист на графі (термінальний вузол), то дані запитуються у користувача. В іншому випадку встановлюється чергова підціль і виконується перехід на крок (1).
По завершенні процесу діагностики вибирається рекомендований курс лікування. Вибір включає дві стадії: відбір рекомендованих медикаментів і найкращого варіанта або комбінації медикаментів з отриманого списку.
Комбінація гіпотез В системі MYCIN може виявитися, що для судження про певний параметр підійде не одне правило, а декілька. Застосування кожного з них - окрема гіпотеза, що характеризується деяким значенням коефіцієнта впевненості. Наприклад, з одного правила випливає, що даний мікроорганізм, це E.coli, причому коефіцієнт впевненості цієї гіпотези дорівнює 0,8. Інше правило, беручи до уваги інші властивості аналізованого об'єкта, приходить до висновку, що цей мікроорганізм - E.coli, але ця гіпотеза характеризується коефіцієнтом впевненості 0.5. Негативне значення коефіцієнта впевненості вказує, що дане правило спростовує сформульоване ув'язнення.
Нехай Х і У, коефіцієнти впевненості однакових висновків, отримані при застосуванні різних правил. В такому разі в системі MYCIN використовується наступна формула визначення результуючого коефіцієнта впевненості: {X + Y-XY при X, Y> 0 CF (X, Y) = {X + Y + XY при X, Y <0 {(X + Y) / (1-min(| X |, | у |)) при (X> 0 і Y <0) або (X <0 і Y> 0) Тут | Х | означає абсолютне значення X.