ЗАДАЧА МЕДИЦИНСКОЙ ДИАГНОСТИКИ И АЛГОРИТМ ЕЁ РЕШЕНИЯ, ДОПУСКАЮЩИЙ РАСПАРАЛЛЕЛИВАНИЕ 

Автор: Ф. М. Москаленко

Источник: 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.0 (основная).

1. Проверить для каждого наблюдавшегося признака выполнение необходимого условия (см. [12]).

2. Если для какого-то из наблюдавшихся признаков не выполнено необходимое условие, то данные о пациенте считать некорректными и завершить работу.

3. Проверить гипотезу о том, что пациент здоров (см. подзадачу 1.1).

4. Если гипотеза о том, что пациент здоров, подтвердилась,

4.1. то считать результатом диагноз, в котором отсутствуют заболевания, а также его объяснение (полученные причины наблюдаемых значений признаков);

4.2. иначе перебрать все заболевания из базы знаний и для каждого:

4.2.1. проверить выполнение необходимого условия для этого заболевания (см. [12]);

4.2.2. если необходимое условие выполнено, то проверить гипотезу о том, что пациент болен этим заболеванием (см. подзадачу 1.5), начавшимся в момент начала наблюдений, и в случае её подтверждения добавить это заболевание вместе с его объяснением (полученными причинами наблюдаемых значений признаков) к множеству решений;

5. Завершить работу, выдав полученные результаты (диагноз и причины значений признака).

 

Подзадача 1.1 (проверка гипотезы о том, что пациент здоров).

Гипотеза о том, что пациент здоров, считается подтверждённой, если для каждого наблюдаемого признака подтверждена гипотезу о том, что наблюдаемые значения этого признака могут иметь место у здорового пациента. Если хотя бы для одного наблюдаемого признака такая гипотеза опровергается, то, считается, что пациент не здоров.

1. Для всех наблюдавшихся признаков проверить гипотезу о том, что все наблюдавшиеся значения этого признака могут иметь место у здорового пациента (см. подзадачу 1.2).

2. Если для каждого такого признака подзадача 1.2 выдала положительный результат (гипотезы не опровергнуты), то считать гипотезу о том, что пациент здоров подтверждённой, иначе – опровергнутой.

 

Подзадача 1.2 (проверка гипотезы о том, что все наблюдаемые значения некоторого признака могут иметь место у здорового пациента).

Эта гипотеза считается подтверждённой, если для каждого наблюдавшегося значения признака найдена его причина – либо некоторый вариант нормальной реакции, протекавшей на протяжении всего периода наблюдений, либо, некоторый вариант реакции на воздействие события, вызванной некоторым событием. Для осуществления этого поиска строится множество гипотез о развитии причинно-следственных связей (далее – МГРПСС), куда входят реакции на воздействие событий и нормальные реакции, которые могут определять значения этого признака. Наблюдаемые значения каждого признака проверяются последовательно, начиная с самого раннего.

1. Включить в МГРПСС все варианты нормальной реакции, у которой следствием является рассматриваемый признак, для которых выполнены условия на воздействующие факторы (см. [12]). Далее только один из них будет использован в качестве причины некоторых значений признака.

2. Взять самое раннее наблюдавшееся значение признака и проверить гипотезу о том, что это значение признака возможно у пациента в момент его наблюдения при отсутствии заболевания (см. подзадачу 1.3).

3. Если результат решения подзадачи 1.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.4 (добавление новых реакций на воздействие событий в МГРПСС и выбор текущих периодов динамики для всех реакций на воздействие событий и их вариантов из МГРПСС).

Все события, произошедшие между предыдущим наблюдением признака и текущим, могут добавлять в МГРПСС новые реакции на воздействие событий. Кроме того, все реакции на воздействие событий из этого множества в момент наблюдения рассматриваемого значения признака должны находиться на определённом периоде динамики своего варианта реакции.

1. Найти все события, произошедшие между моментом наблюдения текущего значения признака и предыдущего (или момента начала наблюдений, если текущее значение признака – самое раннее из всех наблюдавшихся);

2. Для каждого найденного события добавить в МГРПСС все реакции на воздействие события, для которых:

2.1. следствием является рассматриваемый признак, причиной-событием – найденное событие, причём его значение попадает в область значений причины-события варианта этой реакции на воздействие события;

2.2. выполнены необходимое условие (см. [12]) и условие на воздействующие факторы варианта реакции (см. [12]);

причём:

2.3. текущим периодом динамики добавленной реакции считать первый период динамики её варианта;

2.4. минимальным временем окончания текущего периода считать момент, отстоящий от момента, когда событие произошло, на минимальную длительность первого периода динамики;

2.5. максимальным временем окончания текущего периода считать момент, отстоящий от момента, когда событие произошло, на максимальную длительность первого периода динамики.

3. Для каждой реакции на воздействие события и каждого возможного ее варианта из МГРПСС вычислить текущий для рассматриваемого значения признака период динамики.

4. Если среди реакций на воздействие событий в МГРПСС присутствуют те, у которых максимальное время окончания текущего периода динамики, являющегося последним периодом динамики, меньше, чем время наблюдения признака, то такие реакции на воздействие событий считать завершившимися и исключить из МГРПСС.

5. Найти среди реакций на воздействие событий в МГРПСС такие, у которых максимальное время окончания текущего периода динамики, являющегося последним периодом динамики, больше, чем время наблюдения признака, а минимальное – меньше. Такие реакции на воздействие событий считать «возможно-завершившимися».

 

Подзадача 1.5 (проверка гипотезы о том, что пациент болен некоторым заболеванием, начавшимся в момент начала наблюдений).

Гипотеза о том, что пациент болен некоторым заболеванием, считается подтверждённой в том случае, если для каждого наблюдавшегося признака не удаётся опровергнуть гипотезу о том, что его наблюдавшиеся значения соответствует знаниям о возможном развитии этого признака при этом заболевании.

1. Для всех наблюдавшихся признаков проверить гипотезу о том, что все наблюдавшиеся значения этого признака могут иметь место у пациента при рассматриваемом заболевании (см. подзадачу 1.6).

2. Если для каждого такого признака подзадача 1.6 выдала положительный результат (гипотезы не опровергнуты), то считать гипотезу о том, что пациент болен рассматриваемым заболеванием, подтверждённой, иначе – опровергнутой.

 

Подзадача 1.6 (проверка гипотезы о том, что все наблюдавшиеся значения некоторого признака могут иметь место у пациента  при некотором заболевании).

Эта гипотеза считается подтверждённой, если для каждого наблюдаемого значения признака найдена его причина:

·        в случае, если данный признак не входит в клиническую картину заболевания – либо вариант нормальной реакции, либо вариант реакции на воздействие события;

·        в случае, если данный признак входит в клиническую картину заболевания – либо вариант клинического проявления заболевания, либо вариант клинического проявления заболевания, изменённого воздействием события.

Для осуществления этого поиска строится множество гипотез о развитии причинных связей (МГРПСС), куда входят указанные выше причинно-следственные связи (либо из первой группы, либо из второй), которые могут определять значения этого признака. Наблюдаемые значения каждого признака необходимо проверять последовательно (по времени наблюдения), начиная с самого раннего.

1. Включить в МГРПСС все клинические проявления, у которых следствием является рассматриваемый признак, причиной – рассматриваемое заболевание, выполнено необходимое условие (см. [12]), а для варианта выполнены условия на воздействующие факторы (см. [12]). Такие клинические проявления протекают на протяжении всего периода развития заболевания. В дальнейшем только одно из них будет использовано в качестве причины некоторых значений признака.

2. Если множество МГРПСС пусто, то считается, что развитие данного признака у пациента не может быть обусловлено рассматриваемым заболеванием-гипотезой, значит, необходимо:

2.1. проверить гипотезу о том, что все наблюдаемые значения этого признака могут иметь место у здорового пациента (см. подзадачу 1.2);

2.2. завершить работу, возвратив результат, совпадающий с результатом решения подзадачи 1.2.

3. Если в МГРПСС присутствует хотя бы одно клиническое проявление, то

3.1. Взять самое раннее наблюдавшееся значение признака и проверить гипотезу о том, что это значение признака возможно у пациента в момент его наблюдения при рассматриваемом заболевании (см. подзадачу 1.7).

3.2. Если результат решения подзадачи 1.7 положительный (она рекурсивно проверяет все наблюдаемые значения признака), то считать гипотезу о том, что все наблюдаемые значения рассматриваемого признака могут иметь место у пациента при рассматриваемом заболевании-гипотезе, подтверждённой. Иначе – опровергнутой.

 

Подзадача 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.8 (добавление новых клинических проявлений рассматриваемого заболевания, изменённых воздействием событий, в МГРПСС и выбор текущих периодов динамики для всех причинно-следственных связей в МГРПСС).

Стратегия решения данной подзадачи аналогична той, что приведена в 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.