ЗАДАЧА МЕДИЦИНСКОЙ ДИАГНОСТИКИ И АЛГОРИТМ ЕЁ РЕШЕНИЯ, ДОПУСКАЮЩИЙ РАСПАРАЛЛЕЛИВАНИЕ
Автор: Ф. М. Москаленко
Источник: http://www.iam.dvo.ru/math/archive/2006/Zolotov2006.pdf
Цель данной работы – общая
постановка задачи медицинской диагностики на основе описанной выше модели
онтологии, а также поиск частной, но практически полезной постановки, для
которой сложность алгоритма ее решения может быть существенно уменьшена, в
частности, за счет его распараллеливания.
Задача медицинской
диагностики состоит в определении возможных диагнозов больного на основе знаний
предметной области и данных его обследования, к которым относят значения
признаков (в моменты их наблюдения), значения анатомо-физиологических
особенностей (постоянные во времени) и значения произошедших событий (в
моменты, когда они происходили). В терминах модели онтологии [12]
математическая постановка задачи может быть сформулирована следующим образом.
Даны медицинские знания,
удовлетворяющие ограничениям целостности знаний, – знания о наблюдениях
(признаках, событиях, анатомо-физиологических особенностях пациента), о
заболеваниях, причинно-следственных связях между заболеваниями и наблюдениями,
а также результаты наблюдений больного – наблюдавшиеся анатомо-физиологические
особенности и результаты их наблюдения (значения), наблюдавшиеся признаки,
моменты их наблюдения и их значения в эти моменты, произошедшие события,
моменты, в которые они происходили, и их значения в эти моменты. Требуется
найти диагноз пациента (множество заболеваний, которыми болен пациент),
а также построить объяснение диагноза – указать причину каждого заболевания
(этиологию или осложнение) и объяснить все наблюдаемые значения признаков
(нормальными реакциями, реакциями на воздействие событий, клиническими
проявлениями заболеваний и т.д. [12]). Связи между тем, что дано, и тем, что требуется
найти, определяются моделью онтологии.
В связи с тем, что модель онтологии, приведённая в [12], учитывает
большое число связей между процессами, происходящими в организме больного,
ожидается, что алгоритм для решения сформулированной выше задачи медицинской
диагностики, анализирующий все эти связи, будет иметь высокую вычислительную
сложность. Одним из путей повышения эффективности такого алгоритма является его
распараллеливание и выполнение на многопроцессорной вычислительной системе.
Наибольшего эффекта от распараллеливания можно достичь для частной, но практически
важной постановки задачи, при решении которой признаки можно анализировать
независимо друг от друга. Ниже рассматривается такая частная постановка задачи
медицинской диагностики и алгоритм ее решения. На модель онтологии
накладываются следующие ограничения:
·
диагноз пациента может включать не более одного заболевания (пациент
болен одним заболеванием или здоров): m(диагноз) £ 1 (при этом отпадает смысл
рассматривать осложнения);
·
каждое заболевание имеет ровно 1 период развития, т.е. в пункте 4.1.13 в
[12] число периодов развития всегда отображается в 1:
число периодов развития ® 1
·
пациент обследуется врачом только в период протекания заболевания (после
его начала и до его окончания);
·
для упрощения алгоритма не рассматривается подзадача поиска причины
заболевания.
В такой постановке при решении задачи диагностики значения разных
признаков могут обрабатываться независимо друг от друга. В следующих разделах
будет приведен алгоритм решения упрощённой задачи.
Естественным методом решения такой задачи является
перебор всех возможных значений выходных данных (отдельных заболеваний). Для каждого
заболевания выполняется решение прямой задачи – построение всех возможных
вариантов развития причинно-следственных связей (на основе информации из базы
знаний, сформированной экспертами, значений анатомо-физиологических
особенностей пациента и значений произошедших с ним событий) и поиск среди них
такого, которому соответствуют все наблюдаемые значения признаков пациента.
Результатом решения задачи
будет одно из двух:
·
либо сообщение о
том, что пациент здоров, с указанием причин наблюдаемых значений признака;
·
либо несколько
взаимоисключающих диагнозов, каждый из которых представляет собой одно
заболевание, которым болен пациент, вместе с указанием причин значений
признаков.
В данном разделе приведено
общее описание алгоритма решения упрощённой задачи медицинской диагностики. Сам
алгоритм разбит на несколько подзадач, одна из которых (подзадача 1.0) является
главной (управляющей).
1. Проверить для каждого наблюдавшегося признака
выполнение необходимого условия (см. [12]).
2. Если для какого-то из наблюдавшихся признаков не
выполнено необходимое условие, то данные о пациенте считать некорректными и
завершить работу.
3. Проверить гипотезу о том, что пациент здоров (см.
подзадачу 1.1).
4. Если гипотеза о том, что пациент здоров,
подтвердилась,
4.1. то считать результатом диагноз, в котором
отсутствуют заболевания, а также его объяснение (полученные причины наблюдаемых
значений признаков);
4.2. иначе перебрать все заболевания из базы знаний и
для каждого:
4.2.1. проверить выполнение необходимого условия для
этого заболевания (см. [12]);
4.2.2. если необходимое условие выполнено, то
проверить гипотезу о том, что пациент болен этим заболеванием (см. подзадачу
1.5), начавшимся в момент начала наблюдений, и в случае её подтверждения
добавить это заболевание вместе с его объяснением (полученными причинами
наблюдаемых значений признаков) к множеству решений;
5. Завершить работу, выдав полученные результаты
(диагноз и причины значений признака).
Гипотеза о том, что пациент здоров, считается
подтверждённой, если для каждого наблюдаемого признака подтверждена гипотезу о
том, что наблюдаемые значения этого признака могут иметь место у здорового
пациента. Если хотя бы для одного наблюдаемого признака такая гипотеза
опровергается, то, считается, что пациент не здоров.
1. Для всех наблюдавшихся признаков проверить гипотезу
о том, что все наблюдавшиеся значения этого признака могут иметь место у
здорового пациента (см. подзадачу 1.2).
2. Если для каждого такого признака подзадача 1.2
выдала положительный результат (гипотезы не опровергнуты), то считать гипотезу
о том, что пациент здоров подтверждённой, иначе – опровергнутой.
Эта гипотеза считается подтверждённой, если для
каждого наблюдавшегося значения признака найдена его причина – либо некоторый
вариант нормальной реакции, протекавшей на протяжении всего периода наблюдений,
либо, некоторый вариант реакции на воздействие события, вызванной некоторым
событием. Для осуществления этого поиска строится множество гипотез о развитии
причинно-следственных связей (далее – МГРПСС), куда входят реакции на воздействие
событий и нормальные реакции, которые могут определять значения этого признака.
Наблюдаемые значения каждого признака проверяются последовательно, начиная с
самого раннего.
1. Включить в МГРПСС все варианты нормальной реакции,
у которой следствием является рассматриваемый признак, для которых выполнены
условия на воздействующие факторы (см. [12]). Далее только один из них будет
использован в качестве причины некоторых значений признака.
2. Взять самое раннее наблюдавшееся значение признака
и проверить гипотезу о том, что это значение признака возможно у пациента в
момент его наблюдения при отсутствии заболевания (см. подзадачу 1.3).
3. Если результат решения подзадачи 1.3 положительный
(подзадача 1.3 рекурсивно проверяет все наблюдаемые значения признака), то
считать гипотезу о том, что все наблюдаемые значения рассматриваемого признака
могут иметь место у здорового пациента, подтверждённой. Иначе – опровергнутой.
Для проверки этой гипотезы из МГРПСС выбирается в
качестве причины значения признака та причинная связь, которая имеет наивысший
приоритет (в соответствии с приоритетами причинно-следственных связей,
зависящими от их типов), и, кроме того, такая, что наблюдаемое значение:
·
либо принадлежит
возможным значениям некоторого периода динамики реакции на воздействие события
(в случае, если выбранная причинная связь есть реакция на воздействие события,
произошедшего ранее рассматриваемого значения признака);
·
либо принадлежит
возможным значениям варианта нормальной реакции (в случае, если выбранная
причинная связь есть нормальная реакция).
1. Осуществить добавление новых реакций на воздействие
событий в МГРПСС и выбрать текущие периоды динамики для всех реакций на воздействие
событий и их вариантов из МГРПСС (см. подзадачу 1.4).
2. Если в МГРПСС
присутствуют реакции на воздействие события с модальностью
необходимость, не считающиеся «возможно-завершившимися», то
2.1. для каждой из них и для
каждого ее возможного варианта:
2.1.1. В цикле по всем таким периодам динамики
рассматриваемого варианта реакции на воздействие события, начиная с текущего,
которые могут иметь место в момент наблюдения рассматриваемого значения
признака, проверить:
2.1.1.1. Если этот вариант реакции на воздействие события
может являться причиной текущего значения признака и гипотеза о том, что
следующее значение признака возможно у здорового пациента (рекурсия – подзадача
1.3), не опровергнута,
то считать эту реакцию причиной рассматриваемого значения
признака и возвратить положительный результат.
2.1.2. Восстановить текущий период развития.
2.2. Возвратить
отрицательный результат.
3. Если в МГРПСС присутствуют
реакции на воздействие события с модальностью необходимость, считающиеся
«возможно-завершившимися», то:
3.1. повторить цикл проверок
2.1. для таких реакций;
3.2. удалить эти реакции из
МГРПСС.
4. Если в МГРПСС присутствуют реакции на воздействие
события с модальностью возможность, то
4.1. повторить цикл проверок
2.1. для таких реакций.
5. Если в МГРПСС присутствуют нормальные реакции, то в
цикле для каждой из них и возможных ее вариантов:
5.1. если этот вариант нормальной реакции может
являться причиной текущего значения признака и гипотеза о том, что следующее
значение признака возможно у здорового пациента (рекурсия – подзадача 1.3), не
опровергнута,
то считать эту реакцию причиной рассматриваемого
значения признака и возвратить положительный результат.
6. Возвратить отрицательный результат.
Все события, произошедшие между предыдущим наблюдением
признака и текущим, могут добавлять в МГРПСС новые реакции на воздействие
событий. Кроме того, все реакции на воздействие событий из этого множества в
момент наблюдения рассматриваемого значения признака должны находиться на
определённом периоде динамики своего варианта реакции.
1. Найти все события, произошедшие между моментом
наблюдения текущего значения признака и предыдущего (или момента начала
наблюдений, если текущее значение признака – самое раннее из всех
наблюдавшихся);
2. Для каждого найденного события добавить в МГРПСС
все реакции на воздействие события, для которых:
2.1. следствием является рассматриваемый признак,
причиной-событием – найденное событие, причём его значение попадает в область
значений причины-события варианта этой реакции на воздействие события;
2.2. выполнены необходимое условие (см. [12]) и
условие на воздействующие факторы варианта реакции (см. [12]);
причём:
2.3. текущим периодом динамики добавленной реакции
считать первый период динамики её варианта;
2.4. минимальным временем окончания текущего периода
считать момент, отстоящий от момента, когда событие произошло, на минимальную
длительность первого периода динамики;
2.5. максимальным временем окончания текущего периода
считать момент, отстоящий от момента, когда событие произошло, на максимальную
длительность первого периода динамики.
3. Для каждой реакции на воздействие события и
каждого возможного ее варианта из МГРПСС вычислить текущий для рассматриваемого
значения признака период динамики.
4. Если среди реакций на воздействие событий в МГРПСС
присутствуют те, у которых максимальное время окончания текущего периода
динамики, являющегося последним периодом динамики, меньше, чем время наблюдения
признака, то такие реакции на воздействие событий считать завершившимися и
исключить из МГРПСС.
5. Найти среди реакций на воздействие событий в МГРПСС
такие, у которых максимальное время окончания текущего периода динамики, являющегося
последним периодом динамики, больше, чем время наблюдения признака, а
минимальное – меньше. Такие реакции на воздействие событий считать
«возможно-завершившимися».
Гипотеза о том, что пациент болен некоторым
заболеванием, считается подтверждённой в том случае, если для каждого
наблюдавшегося признака не удаётся опровергнуть гипотезу о том, что его наблюдавшиеся
значения соответствует знаниям о возможном развитии этого признака при этом
заболевании.
1. Для всех наблюдавшихся признаков проверить гипотезу
о том, что все наблюдавшиеся значения этого признака могут иметь место у
пациента при рассматриваемом заболевании (см. подзадачу 1.6).
2. Если для каждого такого признака подзадача 1.6
выдала положительный результат (гипотезы не опровергнуты), то считать гипотезу
о том, что пациент болен рассматриваемым заболеванием, подтверждённой, иначе –
опровергнутой.
Эта гипотеза считается подтверждённой, если для
каждого наблюдаемого значения признака найдена его причина:
·
в случае, если
данный признак не входит в клиническую картину заболевания – либо вариант
нормальной реакции, либо вариант реакции на воздействие события;
·
в случае, если
данный признак входит в клиническую картину заболевания – либо вариант
клинического проявления заболевания, либо вариант клинического проявления
заболевания, изменённого воздействием события.
Для осуществления этого поиска строится множество
гипотез о развитии причинных связей (МГРПСС), куда входят указанные выше
причинно-следственные связи (либо из первой группы, либо из второй), которые
могут определять значения этого признака. Наблюдаемые значения каждого признака
необходимо проверять последовательно (по времени наблюдения), начиная с самого
раннего.
1. Включить в МГРПСС все клинические проявления, у
которых следствием является рассматриваемый признак, причиной – рассматриваемое
заболевание, выполнено необходимое условие (см. [12]), а для варианта выполнены
условия на воздействующие факторы (см. [12]). Такие клинические проявления
протекают на протяжении всего периода развития заболевания. В дальнейшем только
одно из них будет использовано в качестве причины некоторых значений признака.
2. Если множество МГРПСС пусто, то считается, что
развитие данного признака у пациента не может быть обусловлено рассматриваемым
заболеванием-гипотезой, значит, необходимо:
2.1. проверить гипотезу о том, что
все наблюдаемые значения этого признака могут иметь место у здорового пациента
(см. подзадачу 1.2);
2.2. завершить работу, возвратив результат,
совпадающий с результатом решения подзадачи 1.2.
3. Если в МГРПСС присутствует хотя бы одно клиническое
проявление, то
3.1. Взять самое раннее наблюдавшееся значение
признака и проверить гипотезу о том, что это значение признака возможно у
пациента в момент его наблюдения при рассматриваемом заболевании (см. подзадачу
1.7).
3.2. Если результат решения подзадачи 1.7
положительный (она рекурсивно проверяет все наблюдаемые значения признака), то
считать гипотезу о том, что все наблюдаемые значения рассматриваемого признака
могут иметь место у пациента при рассматриваемом заболевании-гипотезе,
подтверждённой. Иначе – опровергнутой.
Стратегия решения данной подзадачи аналогична той, что
приведена в подзадаче 1.3 со следующими изменениями:
·
каждое новое
событие, случившееся по времени между двумя наблюдавшимися значениями признака,
вместо добавления в МГРПСС реакций на воздействие события добавляет клинические
проявления, изменённые воздействием событий;
·
в случае
отсутствия на момент наблюдения значения признака в МГРПСС клинических
проявлений считается, что гипотеза о заболевании – опровергнута;
·
выбор из МГРПСС
причинно-следственный связей, которые имеют наивысший приоритет (а значит,
только среди них может быть причина рассматриваемого признака) ведётся с учётом
их приоритетов (см. [12]).
1. Осуществить добавление в МГРПСС новых клинических
проявлений рассматриваемого заболевания, изменённых воздействием событий, и выбрать
текущие периоды динамики для всех причинно-следственных связей из МГРПСС (см.
подзадачу 1.8).
2. Если в МГРПСС присутствуют клинические проявления
рассматриваемого заболевания, изменённых воздействием событий, с модальностью необходимость,
не считающиеся «возможно-завершившимися», то:
2.1. повторить цикл 2.1. из подзадачи 1.3. (в
результате его работы решение данной подзадачи может быть завершено и возвращён
положительный результат);
2.2. возвратить
отрицательный результат.
3. Если в МГРПСС присутствуют клинические проявления
рассматриваемого заболевания, изменённых воздействием событий, с модальностью необходимость,
считающиеся «возможно-завершившимися», то:
3.1. повторить цикл проверок
2.1. для таких проявлений;
3.2. удалить эти проявления
из МГРПСС.
4. Если в МГРПСС присутствуют клинические проявления
рассматриваемого заболевания с модальностью необходимость, не считающиеся «возможно-завершившимися»,
то:
4.1. повторить цикл 2.1. для
таких проявлений;
4.2. Возвратить
отрицательный результат.
5. Если в МГРПСС присутствуют клинические проявления
рассматриваемого заболевания с модальностью необходимость, считающиеся «возможно-завершившимися»,
то:
5.1. повторить цикл проверок
2.1. для таких проявлений;
5.2. удалить эти проявления
из МГРПСС.
6. Если в МГРПСС присутствуют клинические проявления
рассматриваемого заболевания и клинические проявления рассматриваемого заболевания,
изменённые воздействием событий, с модальностью возможность, то:
6.1. повторить цикл проверок
2.1. для таких проявлений.
7. Возвратить отрицательный результат.
Стратегия решения данной подзадачи аналогична той, что
приведена в 1.4 со следующими изменениями:
·
новые клинические
проявления, изменённые воздействием событий, добавляются в МГРПСС по схеме
добавления реакций на воздействие событий, причём также проверяется, что
рассматриваемое заболевание является причиной добавляемого клинического
проявления, изменённого воздействием события;
·
ТПД клинических
проявлений и клинических проявлений, изменённых воздействием событий,
вычисляется по схеме вычисления ТПД реакций на воздействие событий.
В работе получены следующие
результаты:
а) сформулирована задача медицинской диагностики в
терминах модели онтологии медицинской диагностики, приближенной к реальным представлениям
в области медицины;
б) сформулирована упрощённая задача медицинской
диагностики, метод решения которой допускает естественное распараллеливание.
в) описан метод и приведён алгоритм медицинской
диагностики, решающий упрощённую задачу медицинской диагностики.
Кроме того, автором была доказана
теорема о корректности полученного алгоритма [13]. Её доказательство опирается
на доказательства нескольких лемм, в каждой из которых доказывает корректность
алгоритма для решения каждой приведённой подзадачи.
Как отмечалось во введении,
реализация системы медицинской диагностики может осуществляться на
многопроцессорной вычислительной системе, так как приведённый алгоритм
допускает независимое рассмотрение гипотез о заболеваниях и независимую
обработку наблюдаемых признаков. Таким образом, распараллеленный алгоритм [13]
работает по схеме сервер-процесс « клиент-процессы. Сервер-процесс управляет работой
всей системы и клиент-процессами, а они параллельно решают подзадачи 1.1/1.5 (проверка
гипотез о заболевании) или 1.2/1.6 (проверка гипотез о возможности развития
некоторого признака при заболевании).
1. Генкин А.А. О последовательной стратегии Байеса и механизме принятия решений в интеллектуальной системе ОМИС. 1998.http://intels.spb.ru/english_med_informatiks-2.html
2.
Detmer
W.M., Shortliffe E.H. Using the Internet to Improve Knowledge Diffusion in
Medicine. 1997. http://www-smi.stanford.edu/pubs/SMI_Reports/SMI-97-0658.pdf
3. Алексеев А.В. Применение методов информатики и компьютерной техники в дифференциальной диагностике аппендицита и аппендикулярной колики. http://arkadyal.chat.ru/programs.htm
4. Бурдаев В.П. Прикладные экспертные системы, основанные на оболочке "TECHEXP". 2002. http://uacm.kharkov.ua/eng/index.shtml?eexpert.htm
5. ООО "Админ". Экспертная система "Диагностика коматозных состояний". 1992. http://www.adminru.com/start_e.htm
6. Chabat F., Hansell D.M., Guang-Zhong
Yang. Computerized Decision Support in Medical Imaging. 1997.
http://www.doc.ic.ac.uk/~gzy/pub/chabat-decision-support.pdf
7. Гаськов А.П., Валивач М.Н. Экспертная система медицинской диагностики "Консилиум". 2000. http://www.eksi.kz/consilium/librar/esmd_short.htm
8. Lhotska L., Vlcek T. Efficiency
enhancement of rule-based expert systems. Proceedings of the 15th IEEE
symposium on computer-based medical systems (CBMS 2002). pp.53-58.
9. Matsumoto T., Ueda Y., Kawaji Sh. A
software system for giving clues of medical diagnosis to clinician. Proceedings
of the 15th IEEE symposium on computer-based medical systems (CBMS
2002). pp. 65-58.
10. Filho M.M., Palombo C.R., Sabbatini
R.M. TMJ Plus: A Knowledge Base and Expert System for Diagnosis and
Therapeutics of the Temporomandibular Joint Disorders. 1994.
http://www.epub.org.br/ojdom/vol03n03.htm
11. Sawar S.J. Diagnostic Decision
Support System of POEMS. 1999.
http://www.cbl.leeds.ac.uk/sawar/projects/poems/poems-in-detail.html
12. А.С. Клещёв, Ф.М. Москаленко, М.Ю. Черняховская. Онтология и модель онтологии предметной области «Медицинская диагностика». Владивосток: ИАПУ ДВО РАН, 2005. 44с. (http://www.iacp.dvo.ru/es)
13. Москаленко
Ф.М. "Экспертная система медицинской диагностики, основанная на реальной
онтологии медицины, для многопроцессорной ЭВМ". Труды II Международной конференции «Параллельные вычисления и задачи
управления» PACO’2004
памяти Е.Г.Сухова. Москва, 4-6 октября 2004г. Институт проблем управления им.
В.А. Трапезникова РАН. М.: Институт проблем управления им. В.А. Трапезникова
РАН, 2004. 1392 с., С. 999–1084.