Диссертация - РГГУ - Российский государственный

advertisement
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Государственное образовательное учреждение высшего профессионального
образования
«Российский государственный гуманитарный университет»
Отделение интеллектуальных систем в гуманитарной сфере
Кафедра математики, логики и интеллектуальных систем в гуманитарной сфере
На правах рукописи
Волкова Анна Юрьевна
РАЗРАБОТКА АЛГОРИТМИЧЕСКИХ И ПРОГРАММНЫХ СРЕДСТВ ДЛЯ
РЕАЛИЗАЦИИ СТРАТЕГИЙ ДСМ-МЕТОДА АВТОМАТИЧЕСКОГО
ПОРОЖДЕНИЯ ГИПОТЕЗ
05.13.17 – Теоретические основы информатики
Диссертация на соискание ученой степени кандидата
технических наук
Научный руководитель:
д.т.н., профессор
В.К. Финн
Москва 2014
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ ..............................................................................................................................5
1 ДСМ-РЕШАТЕЛЬ ДЛЯ АНАЛИЗА ДАННЫХ РАЗЛИЧНЫХ ПРЕДМЕТНЫХ
ОБЛАСТЕЙ ...........................................................................................................................22
1.1
Внутреннее представление данных ........................................................................ 23
1.2 ОБЩАЯ СТРУКТУРА ДСМ-РЕШАТЕЛЯ И РЕАЛИЗАЦИЯ СТРАТЕГИЙ
ДСМ-МЕТОДА АПГ .......................................................................................................... 28
1.2.1
Общая структура ДСМ-Решателя ...................................................................28
1.2.2
ДСМ-РАССУЖДЕНИЯ ....................................................................................31
1.2.2.1 ИНДУКТИВНЫЙ ВЫВОД ДСМ-РАССУЖДЕНИЙ ................................32
1.2.2.1.1 Базовые методы ДСМ-рассуждений ......................................................33
1.2.2.1.1.1 Простой метод сходства ...................................................................34
1.2.2.1.1.2 Единственность причины (следствия) ..............................................49
1.2.2.1.1.3 Запрет на контрпримеры ....................................................................51
1.2.2.1.2.1 Метод различия: миллевский вариант ..............................................53
1.2.2.1.2.2 Метод различия: упрощение метода сходства – различия .............58
1.2.2.1.2 Метод соединенного сходства – различия..............................................60
1.2.2.1.2.1 Метод соединенного сходства-различия с единственной причиной
................................................................................................................................61
1.2.2.1.2.2 Общий метод соединенного сходства-различия .............................64
1.2.1.1.3 Метод остатков ..........................................................................................72
1.2.1.1.3.1 Общий метод остатков .......................................................................72
1.2.2.1.3.2 Усеченный метод остатков ................................................................77
1.2.2.2 ПРАВИЛА ПРАВДОПОДОБНОГО ВЫВОДА ПО АНАЛОГИИ ..............78
1.2.2.3 АБДУКЦИЯ И СТЕПЕНЬ АБДУКТИВНОСТИ ........................................82
1.2.3 ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕДУРЫ ...............................................................86
1.2.3.1 Фильтры ............................................................................................................86
1.2.3.2 Доопределение по одному ..............................................................................89
1.2.3.3 «Дерево» гипотез .............................................................................................90
1.2.3.4 Проверка непротиворечивости гипотез .........................................................93
2 ВИЗУАЛЬНОЕ ПРЕДСТАВЛЕНИЕ ДАННЫХ ..........................................................99
2
2.1 Представление данных в фармакологии................................................................... 101
2.2 Представление данных в медицине .......................................................................... 105
2.2.1 Представление в Microsoft Office Excel .............................................................105
2.2.2 Представление в Microsoft Office Access ...........................................................109
2.3 Представление данных в социологии ....................................................................... 120
3 ГРАФИЧЕСКИЙ ИНТЕРФЕЙС ДСМ-РЕШАТЕЛЯ ...............................................125
4 АНАЛИЗ ФАРМАКОЛОГИЧЕСКИХ И МЕДИЦИНСКИХ ДАННЫХ:
ЭКСПЕРИМЕНТАЛЬНАЯ ПРОВЕРКА ........................................................................136
4.1
Стандартные стратегии ДСМ-метода АПГ .............................................................151
4.1.1 Простой метод сходства .......................................................................................... 151
4.1.2 Единственность (+)-причины ................................................................................ 154
4.1.3 Запрет на контрпримеры ....................................................................................... 155
4.2
Метод различия ..........................................................................................................159
4.2.1 Метод различия: миллевский вариант ................................................................. 159
4.2.2 Метод различия: упрощение метода сходства – различия ................................. 162
4.3
Метод соединенного сходства – различия ..............................................................170
4.4
Метод остатков ..........................................................................................................175
4.4.1 Общий метод остатков ............................................................................................ 175
4.4.2 Усеченный метод остатков ..................................................................................... 176
4.5
Проверка непротиворечивости гипотез ...................................................................177
5 ДСМ-СИСТЕМА JSM-SOCIO ДЛЯ АНАЛИЗА СОЦИОЛОГИЧЕСКИХ
ДАННЫХ ..............................................................................................................................181
5.1 ДСМ-система JSM-Socio и современные программы для качественного анализа
социологических данных ................................................................................................. 182
5.2 Описание возможностей ДСМ-системы JSM-Socio ................................................ 191
5.3 Применение ДСМ-системы JSM-Socio на практике .............................................. 198
5.4 Средства предсказания изучаемых эффектов ДСМ-системы JSM-Socio.............. 201
ЗАКЛЮЧЕНИЕ...................................................................................................................206
Список литературы ............................................................................................................209
3
Список иллюстраций .........................................................................................................215
Приложение А. Классы для реализации процедур и стратегий ДСМ-метода АПГ .......219
Приложение Б. ДСМ-Решатель: Руководство пользователю ...........................................241
Приложение В. Компьютерная интеллектуальная система JSM-Socio: Руководство
пользователю .........................................................................................................................250
4
ВВЕДЕНИЕ
Огромную роль в развитии направления исследований «искусственный
интеллект» играет интеллектуальный анализ данных (ИАД). В англоязычной
литературе ему обычно соответствуют термины «data mining» и «knowledge discovery»,
однако, по-видимому, это верно лишь при широком толковании ИАД как извлечения
нового полезного знания из неформализованных данных посредством различных
формальных методов (статистические процедуры, нейронные сети, генетические
алгоритмы, деревья решений и др.). Мы же под ИАД понимаем анализ данных
посредством интеллектуальной системы (ИС) [1].
Структуру интеллектуальной системы можно представить в виде трех основных
блоков: Информационная среда, Решатель задач и Интеллектуальный интерфейс [2].
Информационная среда состоит из базы фактов (БФ) и базы знаний (БЗ). БФ содержит
множество фактов, которые являются результатами эмпирического исследования. БЗ
включает аксиомы, характеризующие исследуемую предметную область, аксиомы
структуры данных и процедуры, которые реализует Решатель задач.
Решатель задач в свою очередь состоит из трех модулей: Рассуждатель,
Вычислитель и Синтезатор. Они осуществляют, соответственно, правдоподобные
выводы, вычисления, необходимые для решения поставленной задачи, объединение
рассуждений, вычислений и комбинаторных алгоритмов. Синтезатор также выбирает
стратегии решения задач [3].
Интеллектуальный интерфейс является средством общения пользователя с ИС и
выполняет такие функции, как [4]: диалог на естественном языке (обычно
ограниченном), автоматический синтез программы (в данном случае речь идет
способность
вызывать
процедуры
Решателя
задач),
обоснование
полученных
результатов и обучение работе с системой.
Интеллектуальные системы типа ДСМ (ДСМ-системы) являются примером ИС,
которые реализуют когнитивные правдоподобные эмпирические (КПЭ) рассуждения
типа «индукция + аналогия + абдукция» (с возможным применением дедукции). Как
рассмотрено в [1], КПЭ-рассуждения можно эффективно использовать для имитации
познавательных способностей естественного интеллекта, а именно – цикла «анализ
данных – порождение гипотез (предсказание) - объяснение» [3].
5
ДСМ-рассуждения формализуются средствами бесконечнозначной логики
предикатов с кванторами по кортежам переменной длины [5] и реализуются в ИС с
использованием машинного (индуктивного) обучения для knowledge discovery в базах
фактов [3].
ДСМ-метод автоматического порождения гипотез (АПГ) включает 6 компонент
[3, 6]: условия применимости, правдоподобные рассуждения, квазиаксиоматические
теории как средство организации БФ и БЗ, исследования предметной области
(дедуктивная имитация индукции, аналогии и абдукции, определения исходных
предикатов, препроцессинг), средства распознавания эмпирических закономерностей и
интеллектуальные системы типа ДСМ (ИС-ДСМ). Все компоненты ДСМ-метода
представлены в диссертации.
ДСМ-метод
является
мощным
логико-комбинаторным
методом
интеллектуального анализа данных, который применим в различных предметных
областях при выполнении следующих условий [7]:
(а) Знания предметной области могут быть плохо формализованы, но данные
хорошо структурированы, что позволяет определить на изучаемых объектах операцию
сходства.
(б) База фактов содержит описание предметной области и «..образована
фактоподобными высказываниями вида «объект C имеет множество свойств А»,
которым приписаны оценки «фактически истинно» (1), «фактически ложно» (-1),
«фактически противоречиво» (0), «неопределенно» (τ)» [7, С.400]. Множество свойств
А называют эффектом. Положительные примеры (с типом истинностного значения,
равным 1) обладают исследуемым эффектом, отрицательные примеры (с типом
истинностного значения, равным -1) – не обладают. Неопределенные примеры (с типом
истинностного значения, равным τ) – это примеры, требующие доопределения.
(в) В БФ неявно должны содержаться зависимости причинно-следственного
типа: (±)-причины исследуемых эффектов.
ДСМ-метод АПГ отвечает принципам компьютерного интеллектуального
анализа данных (knowledge discovery), а именно [6]:
1. ДСМ-метод является синтезом познавательных процедур для извлечения знаний
из баз фактов (БФ).
6
2. ДСМ-системы
удовлетворяют
принципу качественного
анализа
данных:
«сходство фактов в БФ влечет наличие (отсутствие) изучаемого эффекта и его
повторяемость». Мы можем задать алгебраическую операцию нахождения сходства
двух фактов, так как в БФ реализуется определенная структура данных.
Правдоподобные рассуждения используют отношение сходства.
3. ДСМ-метод
включает
несколько
этапов
фальсификации,
встроенные
в
процедуры индукции и аналогии.
4. ДСМ-рассуждение завершается применением абдукции – процедуры объяснения
исходного множества фактов и принятия на этом основании порождённых гипотез.
5. Знания в базах знаний (БЗ) представлены в виде квазиаксиоматических теорий
(КАТ), которые содержат формализованное представление множества аксиом
(частично характеризующих предметную область), расширяемые БФ и множество
гипотез, а также множество правил вывода.
6. ДСМ-метод АПГ фактически реализует схему роста знаний эволюционной
эпистемологии К.Р. Поппера [8, С. 164-165].
Таким образом, ДСМ-метод АПГ является формализованной эвристикой,
которая позволяет создавать компьютерные системы, решающие определенный круг
задач для различных предметных областей. ДСМ-системы успешно применялись к
таким предметным областям, как фармакология, медицинская и техническая
диагностика, социология, криминалистика, робототехника [5, 7, 9, 10, 11, 12]. Перечень
основных публикаций можно найти в [12].
Эффективность ИС-ДСМ зависит как от возможностей Решателя, так и
представления данных в БФ и знаний в БЗ. Созданные ранее ДСМ-системы обычно
применялись для решения практических задач одной предметной области и имели
Решатель, реализующий базовые методы ДСМ-рассуждений: простой метод сходства и
его усиления – запрет на контрпримеры.
Созданная в ходе диссертационного исследования ДСМ-система не только
предоставила реализацию стандартных методов, но и расширила возможности
Решателя новыми стратегиями. На практике удалось провести анализ данных на разных
предметных областях, удовлетворяющих условиям применимости ДСМ-метода. Было
разработано представление данных трех предметных областей: фармакологии,
7
медицинской диагностики и социологии. Архитектура системы позволила применить к
ним один и тот же Решатель, что делает систему универсальной относительно
рассматриваемых БФ и БЗ.
В Решателе впервые было реализовано четыре индуктивных метода Д.С. Милля
[13]. Созданные методы были протестированы на данных фармакологии и медицинской
диагностики.
Проведенные
эксперименты
показали
интересные
результаты
и
позволили сравнить различные стратегии между собой. В процессе работы с
социологическими данными были реализованы процедуры обратного ДСМ-метода и
предусмотрена поддержка ситуационного расширения ДСМ-рассуждений.
Концепция ИС-ДСМ и архитектура Решателя были специализированы для
решения социологических задач. Была создана автономная компьютерная ИС JSMSocio, посредством которой были исследованы задачи с новым представлением знаний:
описание субъекта (социальный характер субъекта, индивидуальные черты личности,
биографические данные), мнение субъекта (о ситуации, о возможном поведении),
ситуация (контекст поведения). JSM-Socio является подспорьем социологам для
решения задач качественного анализа социологических данных.
Актуальность диссертационного исследования обусловлена необходимостью
создания Решателя задач, применимого к сериям компьютерных ИС для различных
предметных областей и обладающего эффективными средствами для извлечения
знаний из баз фактов. Такие ИС должны предоставить реализацию новых стратегий
ДСМ-рассуждений, способных облегчить работу эксперта по анализу результатов
работы системы.
Таким образом, предметом исследования диссертации являются методы
анализа данных посредством правдоподобных рассуждений типа ДСМ и их
применимость для задач фармакологии, медицинской диагностики и социологии.
Средства анализа данных включают различные логические процедуры ДСМрассуждений, подходящую структуру представления данных и комфортный интерфейс
для работы эксперта.
Цель диссертационной работы – создание Решателя задач и компьютерной
интеллектуальной системы, реализующих ДСМ-метод АПГ для различных предметных
областей в науках о жизни и социальном поведении, а также обоснование того факта,
что разработанная ИС может эффективно применяться в конкретной предметной
области – социологии. В связи с этим необходимо было разработать не зависящие от
8
предметной области алгоритмы и программы, реализующие ДСМ-рассуждения; создать
компьютерную ДСМ-систему, допускающую широкий выбор возможных ДСМстратегий; провести эксперименты (с использованием реализованных программных
средств) на данных различных предметных областей
и сравнить полученные
результаты; создать спецификацию ИС для качественного анализа социологических
данных.
Для достижения указанной цели были поставлены и решены следующие задачи:
 разработана ДСМ-система с гибкой архитектурой, допускающей расширение ее
функциональных возможностей, для анализа данных различных предметных областей;
 реализованы различные версии ДСМ-метода АПГ (прямой [13] /обратный [14]
ДСМ-метод, ситуационное расширение [15] ДСМ-метода);
 создана программная реализация
различных
методов ДСМ-рассуждений
(в том числе четырех индуктивных методов Д.С. Милля [13]);
 созданы различные дополнительные процедуры ДСМ-рассуждений (например,
реализация фильтров для гипотез (специальные ограничения на структуру гипотез,
требующие присутствие определенных признаков в «теле» гипотезы), процедура
«доопределение по одному» (процедура, позволяющая охарактеризовать исходную
базу фактов относительно выбранной стратегии), построение дерева гипотез,
вычисление непротиворечивости массивов гипотез);
 реализованы структуры данных для различных предметных областей и
разработаны представления и форматы данных, обрабатываемых ДСМ-системой, для
фармакологии, медицинской диагностики и социологии;
 разработан базовый графический интерфейс пользователя для «универсального»
ДСМ-Решателя с целью проведения экспериментов с данными указанных выше
областей;
 проведено
сравнение
результатов
экспериментов,
полученных
разными
стратегиями на фармакологических и медицинских данных;
 создана независимая ДСМ-система JSM-Socio для качественного анализа
социологических данных с удобным графическим интерфейсом и апробация системы
на практическом материале.
9
Для
решения
указанных
задач
использовались
следующие
методы:
многозначная логика с целью представления знаний и формализации рассуждений,
алгоритмы порождения сходств, технологии создания баз данных.
Информационной базой исследования стали многочисленные публикации по
ДСМ-методу АПГ, приведенные в списке используемой литературы, а также знания,
полученные в процессе тесного взаимодействия с экспертами в данной области.
Основные научные результаты, полученные в ходе исследования:

Разработана архитектура ДСМ-системы, позволяющая применять ее для различных
предметных областей. Архитектура ИС представлена в первой главе «ДСМРешатель для анализа данных различных предметных областей». Графический
интерфейс ИС рассмотрен в третьей главе «Графический интерфейс ДСМРешателя». «Руководство пользователю» представлено в Приложении Б.

Разработано представление данных фармакологии, медицинской диагностики и
социологии, адекватное для применения процедур ДСМ-рассуждений. Внутреннее
представление данных рассмотрено в первой главе, а внешнее (формат
необходимые
характеристики
данных)
–
во
второй
главе
«Визуальное
представление данных».

Впервые был реализован ДСМ-Решатель, отличающийся наличием широкого
выбора методов и стратегий ДСМ-рассуждений (в том числе четырех индуктивных
методов Д.С. Милля [13]: метод простого сходства, метод различия, метод
сходства-различия, метод остатков). Методы алгоритмически и программно были
реализованы впервые, тем самым удалось расширить существующий арсенал
методов машинного обучения. Все созданные процедуры ДСМ-рассуждений
рассмотрены в первой главе. Основные классы для реализации процедур и
стратегий ДСМ-метода АПГ представлены в Приложении А.

Была осуществлена симметризация ДСМ-процедур в Решателе (все методы можно
применять как для (+)-, так и для (–)-предикатов). Появилась возможность
проводить эксперименты, выбирая одинаковые или разные по силе методы, и
сравнивать результаты относительно исследуемой БФ. Реализация процедур
рассмотрена в первой главе.

Был установлен тот факт, что метод различия Д.С.Милля [13], который он считал
наиболее полезным для выявления причинно-следственных закономерностей, не
дает
полезных
результатов
в
практических
10
исследованиях.
Результаты
представлены в четвертой главе «Анализ фармакологических и медицинских
данных: экспериментальная проверка».

Проведено сравнение результатов применения различных стратегий ДСМ-метода
(среди
которых
ряд стратегий
программно был реализован
впервые)
к
фармакологическим и медицинским данным. Эксперименты проводились на
реальных данных, для анализа которых ранее использовали только базовые методы
ДСМ-рассуждений (метод простого сходства и запрет на контрпримеры). Были
получены интересные результаты, хотя порой данные не удовлетворяли условиям
ДСМ-процедур. Эксперименты с применением новых методов рассмотрены в
четвертой главе.

В ходе исследования медицинских (онкологических) данных была реализована
процедура, упрощающая метод остатков. С ее помощью была подтверждена важная
причинно-следственная связь на данных больных меланомой между протеином
S100 и продолжительностью жизни больного: при значении уровня S100 меньше
0,12 нг/мл продолжительность жизни больного – больше 5 лет, при значении
уровня S100 больше 0,12 нг/мл – меньше 5 лет. (Впервые эта связь была
обнаружена Добрыниным Д.А. и Панкратовой Е.С. в результате компьютерных
экспериментов с использованием ДСМ-системы, созданной в ВИНИТИ РАН [26]).
Реализация этой процедуры рассмотрена в первой главе, детали эксперимента – в
четвертой главе.

Удалось выявить связь между протеином S100 и продолжительностью жизни
больных меланомой с помощью преобразования метода сходства-различия,
образующего
современную
формализацию
индуктивного
метода
различия
Д.С.Милля (что означает большее правдоподобие этой гипотезы). Этот результат
представлен в четвертой главе.

В результате практических экспериментов на данных фармакологии была
скорректирована формулировка метода сходства-различия (с заменой отношения
невложения
друг
в
друга
найденных
причин
на
неравенство).
Это
продемонстрировано в четвертой главе.

Созданы средства распознавания непротиворечивости гипотез, которые могут
применяться в связи с задачами поиска эмпирических закономерностей [44] и для
объединения результатов разных стратегий. Реализация процедуры рассмотрена в
первой главе, пример применения – в четвертой главе.
11

Реализована компьютерная поддержка качественного (нестатистического) анализа
социологических данных посредством интеллектуальной системы (ИС-ДСМ JSMSocio).
Разработанное
представление
социологических
данных
позволяет
анализировать примеры со сложной структурой, включающей описание субъекта,
его мнение и ситуацию. Продемонстрировано, что JSM-Socio может эффективно
использоваться на практике. Система рассмотрена в пятой главе «ДСМ-система
JSM-Socio для анализа социологических данных». Кроме того, в Приложении В
представлено «Руководство пользователю».
Первые
системы,
предназначенные
для
решения
задач
медицинской
диагностики, были разработаны в 1970-х годах и являлись экспертными [16].
Экспертная система (ЭС) является частным случаем интеллектуальной системы. На
основе сообщений эксперта строятся база фактов (проверенные знания, которые
публикуются в статьях и справочниках) и база знаний (эмпирические правила,
эвристики, которые представляют собой методы и правила, которые эксперт применяет
в своей практике). Разработчики ЭС формализуют полученные знания в виде
продукционных правил вида {«условия» -> «действия»} или {антецедент ->
консеквент}, представленных в языке логики предикатов I-ого порядка и его усилений,
с помощью семантических сетей и проч. [16, С.61] и реализуют устройство вывода,
которое использует имеющиеся формализованные знания. В системе продукций для
реализации вывода используется вывод, «определяемый условиями» (condition-driven
inference) или вывод, «определяемый действием» (action-driven inference) [16, С.61-62].
Когда пользователь задает вопрос системе, устройство вывода дает ответ на основе БФ,
БЗ и стратегий, которые были в него заложены. Очевидно, что эффективность работы
ЭС в этом случае зависит только от тех знаний, которые удалось получить от эксперта.
Одна из наиболее известных систем такого типа – это
разработанная
в
начале
1970-х
(http://ru.wikipedia.org/wiki/MYCIN).
годов
Система
в
система MYCIN,
Стэнфордском
была
университете
предназначена
для
диагностирования бактерий, вызывающих тяжелые инфекции (бактериемия, менингит),
для рекомендации необходимого количества антибиотиков в зависимости от массы
тела пациента и для диагностики заболеваний свертываемости крови. MYCIN
оперировала с помощью базы знаний из около 600 правил и машины вывода, которая
осуществляла процедуры обратного поиска (вывод, «определяемый действием»).
12
Другой пример подобных систем - это система CASNET, предназначенная для
диагноза и терапии глазных заболеваний [16, С.65]. Знания в системе были
формализованы с помощью причинно-следственной семантической сети, посредством
которой устройство вывода определяло эффективность терапии и стадию заболевания
пациента.
Недостатки ЭС (трудность формализации знаний эксперта, неспособность
обучаться
и
порождать
новые
знания)
послужили
толчком
к
развитию
интеллектуальных экспертных систем (ИЭС), которые способны автоматически
порождать правила и эмпирические зависимости [16, С.68]. На сегодняшний день в
литературе можно найти много примеров таких систем. Они предназначены для
решения различных задач и используют самые разные методы, в том числе методы
искусственного
интеллекта,
например:
машинное
обучение,
нейронные
сети,
генетические алгоритмы, распознавание образов и т.д. Стоит отметить, что одно из
крупнейших зарубежных издательств Elsevier публикует журнал, который так и
называется «Искусственный Интеллект в Медицине» (Artificial Intelligence in Medicine,
http://www.aiimjournal.com).
В 1980-90-х годах был создан ряд отечественных медицинских систем: ДИАГЕН
для диагностики наследственных болезней, ЭСТЕР для диагностики лекарственных
отравлений, ГЕНРОСТ для диагностики заболеваний с нарушением роста, ДИН для
диагностики неотложных состояний у детей, ВЕСТ-СИНДРОМ для диагностики
судорожных состояний (эпилепсии) и др. [17]
Извлечение
знаний
в
этих
системах
осуществлялось
с
привлечением
интеллектуальной составляющей, например, введение ассоциативных знаний о
симптомах заболевания, представленных в виде двунаправленного взвешенного графа,
определение степени значимости каждого признака, выступающей в роли априорной
вероятности для байесовского метода, введение признаков-отрицаний, однозначно
отсекающих заболевания с альтернативным проявлением признаков (ДИАГЕН);
построение таблицы запрещенных значений «диагностический признак – класс
решений» (ЭСТЕР); использование технологии виртуальных статистик, которые
формировались с использованием теоремы Байеса и учитывали диагностические
оценки экспертов по обобщенным проявлениям болезни [17].
Другой
пример
отечественной
медицинской
системы,
использующей
непосредственно методы искусственного интеллекта, – это ДИАКОР-КС для
диагностики и коррекции коммуникативного стресса [18]. Система использует
13
оригинальное матричное представление данных и знаний и алгоритмы логикокомбинаторного выявления закономерностей с использованием и без использования
генетических алгоритмов, а также включает механизмы проверки обучающей выборки
на непротиворечивость и определения ее репрезентативности. На основе результатов
системы ДИАКОР-КС была построена система ДИАПРОД для экспресс-диагностики и
профилактики 3-х степеней тяжести депрессии. Инструментальный аппарат ДИАПРОД
базируется на пороговой и нечеткой логике [19].
Наиболее
распространенные
средства,
которые
используют
зарубежные
медицинские системы, – это нейронные сети, теория вероятностей, нечеткая логика,
генетические алгоритмы, деревья принятий решений [20]. Интеллектуальные системы
широко используются для решения различных задач клинической диагностики и
прогнозирования заболеваний, для назначения необходимого лечения пациентам, для
анализа
изображений
в
рентгенографии
и
гистопатологии,
для
анализа
электроэнцефалограмм [21, 22], а также при создании медицинских интеллектуальных
роботов [23, 24]. Примеры таких систем – это PERFEX для автоматического анализа
снимков, полученных с помощью компьютерной томографии сердца и сосудов (1991);
GIDEON для диагностики тропических и инфекционных заболеваний (1994); PAIRS
для диагностики сложных случаев более 7000 заболеваний (2001); ERA для
диагностики онкологических больных (2001); LISA для предоставления консультаций о
дозах лекарств при лечении острого лимфобластного лейкоза у детей (2004);
медицинские роботы Aesop (1994) и EndoAssist (2002), система da Vinci® (2001),
которые используются врачами для проведения хирургических операций.
ДСМ-метод
АПГ
использует
формализацию
рассуждений
и
реализует
познавательный цикл «анализ данных – порождение гипотез (предсказание) объяснение» с использованием машинного (индуктивного) обучения [3].
Первая ДСМ-система для анализа данных медицинской диагностики была
создана в ВИНИТИ РАН. ДСМ-метод применялся для прогнозирования и диагностики
различных заболеваний. Решались следующие задачи [7, 9, 25, 26]:
1. Прогнозирование высокопатогенных типов вируса папилломы человека (ВПЧ)
по цитологическим результатам исследования мазков (Кафедра клинической и
лабораторной диагностики Российской медицинской академии последипломного
образования).
14
2. Диагностика
наследственных
двух
заболеваний
витреоретинальных
глаз:
дегенеративного
дистрофий
ретиношизиса
(Лаборатория
и
клинической
физиологии зрения МНИИ глазных болезней им. Гельмгольца).
3. Диагностика системной красной волчанки (Отделение нефрологии Городской
клинической больницы им. Боткина).
4. Прогнозирование продолжительности жизни больных меланомой и оценка
прогностического
биохимического
маркера
–
протеина
S100
(Российский
Онкологический Научный Центр РАМН имени Н.Н. Блохина).
Применялись стратегии простого метода сходства и сходства с запретом на
контрпримеры.
На текущий момент в ВИНИТИ РАН действующие системы для анализа
медицинских данных программно были реализованы Д.А. Добрыниным и О.П.
Шестерниковой [27]. Системы реализуют прямой ДСМ-метод АПГ. Множество
свойств изучаемого объекта атомарно, то есть оно может включать только одно
свойство. Для проведения экспериментов доступны процедуры простого метода
сходства и запрета на контрпримеры. Среди дополнительных характеристик систем
следует отметить возможность вводить ограничения на число родителей гипотез, на
структуру гипотез (фильтры), а также проводить процедуру «доопределение по
одному». Каждая система имеет развитый предметно-ориентированный графический
интерфейс. Необходимо также упомянуть, что официально была зарегистрирована
"Компьютерная интеллектуальная система прогнозирования клинического течения
меланомы", предназначенная для применения в качестве компьютерного инструмента
для врача-онколога (Свидетельство №2012615098). Система используется в РОНЦ им.
Н.Н.Блохина РАМН для формирования группы риска больных меланомой. Система
такого типа создана впервые.
Первым примером задач, для решения которых применялся ДСМ-метод, было
выявление причинно-следственных закономерностей в фармакологии [5, 7, 9]. Эти
задачи представляли собой прогнозирование биологических активностей химических
соединений
(например,
антилепрозной,
противоопухолевой,
канцерогенной,
мутагенной
психотропной,
и
антибактериальной,
токсичной
активностей),
прогнозирование канцерогенного эффекта при совместном введении двух химических
соединений, а также прогнозирование путей биотрансформации (преобразование
введенного в организм вещества в другие соединения).
15
Действующая система для анализа фармакологических данных программно
была реализована Д.А. Добрыниным. ДСМ-Решатель системы поддерживает прямой
атомарный ДСМ-метод АПГ, включающий процедуры простого метода сходства и
запрета на контрпримеры.
В социологии ДСМ-системы применялись для решения таких задач, как
изучение поведения рабочих на примере участия или неучастия в забастовках [28, 29,
30, 31], анализ и предсказание электоральных предпочтений студентов старших курсов
Российского Государственного Гуманитарного Университета накануне декабрьских
выборов в Государственную Думу в 2003 и 2007 годах [9].
Первая ДСМ-система для анализа социологических данных была разработана
М.А. Михеенковой [30], а ее первое программное обеспечение было реализовано
С.С. Московским [31]. Позже разработкой программных средств в этой области
занимались
Д.В. Панкратов
[32],
Ж.И. Бурковская
[33],
Т.Л. Феофанова
[34].
Необходимо заметить, что на текущий момент существуют программы (с достаточно
ограниченными
функциональными
социологических
данных,
возможностями)
реализующие
метод
для качественного анализа
«сравнительного
качественного
анализа» QCA (Qualitative Comparative Analysis) [35]. Метод QCA использует логику
высказываний, тогда как ДСМ-метод – логику предикатов и машинное обучение.
Поэтому применение метода QCA, обладающего более слабыми выразительными
средствами, достаточно ограничено.
Программа, разработанная С.С. Московским, была лишена графического
интерфейса и позволяла проводить эксперименты только с помощью стандартных
средств прямого ДСМ-метода.
В работе Д.В. Панкратова был создана ДСМ-система, в которой впервые были
представлены прямой и обратный ДСМ-метод; для выбора стратегии доступны
процедуры простого метода сходства и запрета на контрпример(ы); создан первый
графический
пользовательский
интерфейс
для
проведения
экспериментов,
визуализации исходных данных и порождаемых гипотез; предложены средства для
кластеризации гипотез (с помощью диаграммы Хассе), создан блок преобразования
исходных данных («правила сворачивания» признаков). Система была способна
обрабатывать только текстовые файлы. Представление данных допускало введение
ситуационных параметров, но практических экспериментов с использованием
ситуационного ДСМ-метода не проводилось.
16
Целью
диссертационного исследования Ж.И. Бурковской
было создание
системы, которая могла бы автоматизировать значительную часть работы экспертасоциолога. Были разработаны Информационная Среда ДСМ-системы (представляющая
базу фактов и базу знаний), которая обеспечивает хранение данных и предоставляет
различные инструменты формирования исходной БФ, и Интерфейс для навигации по
Информационной
Среде.
Также
был
интегрирован
Решатель,
разработанный
Д.В. Панкратовым.
В работе Т.Л. Феофановой была создана обучающая ДСМ-система на языке
Prolog, позволяющая ознакомить эксперта-социолога с работой самого метода.
Научная
новизна
диссертационного
исследования
работы
включает
следующее:
 Разработанный ДСМ-Решатель отличается от созданных ранее набором
возможных стратегий и параметров для проведения экспериментов. Обычно все
системы включали стандартные стратегии (простой метод сходства, запрет на
контрпримеры, единственность причины/ следствия) . Впервые была создана система, в
которой реализовано сразу четыре индуктивных метода Д.С. Милля [13]: простой
метод сходства, метод различия, метод сходства-различия, метод остатков [36].
Архитектура системы позволяет применять ее к различным предметным областям:
фармакологии, медицинской диагностики и социологии. Исследователь может
пробовать различные стратегии и сравнивать полученные результаты. Представленный
ДСМ-Решатель на текущий момент предоставляет наиболее богатый инструментарий
для анализа данных посредством ДСМ-рассуждений и является новым средством
машинного обучения.
 Было на практике установлено, что миллевский метод различия не пригоден для
анализа данных [37, также см. 4 главу «Анализ фармакологических и медицинских
данных: экспериментальная проверка»]: на медицинских данных не удалось получить
ни одной гипотезы, на фармакологических данных были порождены гипотезы, которые
характеризуют небольшое количество примеров, а значит, не поддаются интерпретации
относительно всего массива. Метод различия Д.С. Милля не позволяет найти
причинно-следственные зависимости, так как нарушает основной принцип индукции –
«сходство фактов влечет наличие (отсутствие) эффекта и его повторяемость».
 В результате анализа данных фармакологии и медицинской диагностики была
определена наилучшая стратегия относительно рассмотренных массивов данных. Ею
был признан упрощенный метод соединенного сходства-различия (метод различия) с
17
запретом на контрпримеры в качестве (+)-предиката и запрет на контрпримеры
в
качестве (–)-предиката [37].
 Использование упрощения метода сходства-различия (новая версия метода
различия) и процедуры упрощения метода остатков в медицине подтвердило связь
между протеином S100 и продолжительностью жизни больных меланомой.
 Впервые было разработано представление медицинских данных, позволяющее
применять неатомарный ДСМ-метод (исследуемый эффект может состоять из
множества свойств).
 Были реализованы средства для распознавания непротиворечивости множеств
порожденных гипотез.
 Было разработано представление социологических данных, допускающее
разбиение характеристик респондента на четыре компоненты (описание респондента,
мнение по заданным вопросам, ситуация (контекст, внешние обстоятельства),
исследуемый эффект(ы)), удовлетворяющее условиям применимости ДСМ-метода и не
поддающееся статистическому анализу в силу небольших размеров исходных массивов
данных.
 Как было отмечено, впервые создан Решатель задач, реализующий ДСМрассуждения, которые используют четыре метода индукции: сходства, различия,
сходства-различия, остатков с возможностью добавления условий запрета на
контрпримеры и единственности причины/следствия (ранее методы различия,
сходства-различия и остатков не были реализованы посредством программ). Этот
Решатель задач является главным модулем впервые созданной компьютерной
интеллектуальной системы типа ДСМ JSM-Socio для качественного анализа
социологических данных. JSM-Socio позволяет использовать упомянутые методы, а,
кроме того,
в этой ИС разработано многокомпонентное представление знаний о
субъекте поведения, включающее описание субъекта (социальный характер субъекта,
индивидуальные черты личности биографические данные), его мнение (о ситуации, о
возможном поведении), ситуацию (контекст поведения) и эффект поведения (действие
или установка к действию). ИС JSM-Socio является эффективным практическим
инструментом
для
социологических
исследований.
Она
обладает
важными
функциональными возможностями, обеспечивающими комфортную работу для
социолога-исследователя. Среди них следует отметить следующее: автоматический
перевод файлов с данными из формата программы SPSS в формат, используемый
18
системой (MS Excel); разделение вопросов анкеты на компоненты; автоматическое
разделение респондентов на группы в соответствии с эффектом, выделенным для
исследования; применение различных стратегий (прямой/ обратный, ситуационный
ДСМ-метод); графический интерфейс, разработанный с учетом требований эксперта
[38]. С помощью JSM-Socio были исследованы данные с многокомпонентной
структурой, сформированные на материале анкет работников промышленных
предприятий, а также проведены эксперименты для сравнения стран по уровню
одобрения населением протестного поведения.
Полученные результаты и программные средства могут служить базой для
дальнейших научных исследований. Архитектура системы допускает расширение
существующих модулей и добавление новых классов, а значит возможно ее
применение и в других предметных областях.
Практическая значимость диссертационного исследования состоит в
следующем:

Создана компьютерная интеллектуальная система типа ДСМ, которая позволяет
исследователю проводить анализ данных различных предметных областей
(фармакология, медицинская диагностика, социология) с помощью различных
стратегий.

В разработанном Решателе реализованы методы ДСМ-рассуждений, в том числе
методы, отсутствующие в других системах: метод различия, метод сходстваразличия, метод остатков [13]. В системе доступны прямой и обратный тип ДСМрассуждений, а для анализа социологических данных предусмотрено применение
ситуационного расширения ДСМ-метода.

Созданные средства позволили сравнить новые стратегии на разных предметных
областях. Кроме того, при исследовании медицинских данных посредством новых
методов удалось подтвердить связь между протеином S100 и продолжительностью
жизни больных меланомой.

Создана специализация разработанной ИС-ДСМ в виде отдельной компьютерной
ДСМ-системы для качественного анализа социологических данных, которая
обладает развитым предметно-ориентированным интерфейсом и используется
экспертами для решения практических социологических задач.
19
Изучение данных с использованием разнообразных стратегий может не только
упростить процесс оценки экспертом полученных результатов ДСМ-системы (так как
позволяет сократить количество найденных причинно-следственных зависимостей,
выделив наиболее существенные), но и выявить зависимости, которые не могут быть
получены с помощью базовых стратегий (эту возможность предоставляет метод
остатков).
Апробация результатов диссертации. Основные положения диссертационной
работы были изложены на российско-британской конференции “J. S. Mill's ideas on
Induction and Logic of the Humanities in Cognitive Research and Artificial Intelligence
Systems” (15 – 17 июля 2011 г., РГГУ). Во время выступления была представлена
презентация «Интеллектуальная система, реализующая четыре индуктивных метода
Д.С. Милля» и продемонстрирована ДСМ-система для анализа разных предметных
областей: фармакологии и медицинской диагностики. Результаты, полученные в ходе
работы с социологическими данными, были представлены на
межвузовской
конференции «20 лет научных исследований и образовательных программ отделения
интеллектуальных систем в гуманитарной сфере» (14 декабря 2012 г., РГГУ). В рамках
выступления «Интеллектуальные системы типа ДСМ и их приложения» было
продемонстрировано
приложение-интерфейс,
созданное
для
просмотра
социологических данных, обработанных с использованием реализованной ДСМсистемы.
Итогом
работы
над
социологическими
данными
стала
компьютерная
интеллектуальная система для качественного анализа социологических данных (JSMSocio), реализующая стратегии ДСМ-метода АПГ. Система была официально
зарегистрирована
Федеральной
службой
по
интеллектуальной
собственности
(РОСПАТЕНТ) и внесена в Реестр программ для ЭВМ (№ 2013614978, от 24 мая 2013
года).
Система JSM-Socio была представлена на XVI-м Междисциплинарном
ежегодном научном семинаре «Математическое моделирование и информатика
социальных процессов» им. Героя Социалистического труда академика А.А.
Самарского (21 ноября 2013 г., МГУ им. М.В.Ломоносова, факультет ВМиК) в рамках
доклада «О подходах к формализации качественного анализа социологических
данных». Кроме того, система была продемонстрирована на семинаре «Принципы,
логические средства и опыт применения в социологии ДСМ-метода автоматического
20
порождения гипотез» (6 декабря 2013 г., Институт социологии РАН, Центр
теоретических и историко-социологических исследований).
Интеллектуальная система JSM-Socio используется в Институте социологии
РАН для решения задач формализованного качественного анализа социологических
данных: выявления детерминаций социального поведения и мнений, учёта влияния
ситуационных параметров на социальное поведение, прогнозирования социального
поведения и общественного мнения.
Публикации. По теме диссертации в настоящее время опубликовано 5 статей в
сборниках Научно-техническая информация, Серия 2 (Информационные процессы и
системы), из которых 3 статьи переведены на английский язык и опубликованы в
журнале Automatic Documentation and Mathematical Linguistic.
Структура диссертационного исследования. Текст диссертации состоит из
введения, пяти глав, заключения, списка литературы, списка иллюстраций (рисунков и
таблиц) и трех приложений.
21
1 ДСМ-РЕШАТЕЛЬ ДЛЯ АНАЛИЗА ДАННЫХ РАЗЛИЧНЫХ
ПРЕДМЕТНЫХ ОБЛАСТЕЙ
ДСМ-Решатель для анализ данных различных предметных областей был создан
на языке программирования C++ с использованием библиотеки классов MFC (Microsoft
Foundation Classes) и библиотеки стандартных шаблонов STL (Standard Template
Library), а также интерфейса для доступа и манипулирования внешними данными ADO
и языка запросов SQL.
Структуру ДСМ-системы можно представить в виде трех блоков:
Представление данных
ДСМ-Решатель
Графический интерфейс
пользователя
Модуль «Представление данных» необходим для внутреннего описания данных
различных предметных областей. В текущей реализации определены классы для
представления фармакологических, медицинских и социологических данных.
«ДСМ-Решатель» отвечает за реализацию различных стратегий и процедур
ДСМ-метода АПГ. При этом допускается использование только обобщенных классов,
никак не зависящих от конкретной предметной области.
«Графический интерфейс пользователя» предоставляет пользователю системы
возможности настройки параметров и проведения экспериментов.
Язык С++ позволяет обеспечить следующие важные принципы системы:
Независимость модуля «ДСМ-Решатель» от модуля «Представление
данных» (предметной области). Этот принцип реализуется благодаря возможностям
языка С++: поддержка объектно-ориентированного программирования, поддержка
виртуальных функций и возможность динамического приведения типов наследуемых
классов к базовому [39]. Таким образом, все процедуры ДСМ-Решателя используют
один и тот же класс для представления объекта-факта и тела гипотезы, который
является базовым для всех классов предметных областей.
Оптимизация скорости выполнения процедур (временнáя сложность).
Необходимо
минимизировать
время
формирования
гипотез.
Технически
это
достигается благодаря использованию динамических массивов данных, передачи в
качестве входных/ выходных параметров указателей (ссылок) на объекты [39],
сохранению ссылок на зависимые данные. Например, все объекты исходной базы
22
фактов подаются на вход ДСМ-Решателю в виде динамического массива (контейнера
vector библиотеки STL) указателей базового класса, что позволяет иметь быстрый
доступ к каждому объекту, значительно ускоряет разбиение массива на подмассивы (+),
(–), (0) и (τ)-примеров и обеспечивает хорошую скорость при получении пересечений
примеров (алгоритм Норриса), наиболее затратному по времени алгоритму в цикле
ДСМ-рассуждений.
Оптимизация
расхода
памяти
(ёмкостная
сложность).
Это
свойство
достигается благодаря использованию динамических массивов данных и указателей на
объекты,
динамическому
выделению
памяти
и
освобождению
памяти
от
неиспользуемых объектов во время выполнения.
1.1 Внутреннее представление данных
Блок «Представление данных» включает классы, описывающие объекты
предметной области. С одной стороны, это абстрактные классы, которые затем
используются в решателе, а с другой стороны, это классы, представляющие объекты
конкретных предметных областей.
В текущей реализации с помощью атомарного (изучаемый эффект представлен
одним свойством) ДСМ-метода возможна обработка медицинских, социологических и
фармакологических данных, для неатомарного – медицинских и социологических.
Таким образом, для компьютерной обработки фактов необходимо было создать
такую структуру данных, которая, с одной стороны, позволяла бы изменять
представление объекта, а с другой, не влияла бы на процедуры ДСМ-Решателя.
Была
разработана
структура,
которая
позволяет
сделать
решатель
универсальным, то есть не зависящим от предметной области.
В основе представления лежит иерархия классов, представленная на рисунке 1.
Здесь
представляет отношение «родительский – производный классы»,
– отношение «содержит».
Опишем структуру каждого класса. Объявления классов представлены в
Приложении А.
23
objectX – класс, который используется в модуле ДСМ-Решателя и представляет
собой объект, не зависящий от предметной области.
В классе objectX определены виртуальные функции, которые вызываются в
решателе: функции пересечения (hyp_similarity), вложения (weak_enclosure_h1_in_h2),
равенства (hyp_equal), разности (obj_difference), объединения (hyp_union) и др. В
классах-потомках эти функции переопределены в соответствии со спецификой
рассматриваемой предметной области, кроме того, у каждого класса-потомка есть свои
дополнительные функции (считывание/запись из файла и проч.). Также класс objectX
содержит наиболее общие поля-переменные: идентификатор объекта, имя, тип («+», «», «0» или «?» для (τ)-примеров) и шаг ДСМ-рассуждений. Для (τ)-примеров шаг – это
номер такта, на котором последний раз была попытка доопределения, для остальных
примеров шаг равен 0, что соответствует понятию факта в ДСМ-терминологии.
Рисунок 1– Иерархия классов внутреннего представления данных
objectPharma – класс, который описывает объект фармакологических данных. В
исходных базах фактов примеры – это химические соединения, представленные как
набор дескрипторов ФКСП (Фрагментарный Код Суперпозиции Подструктур). Каждое
соединение имеет в составе каждый дескриптор 0 или более раз.
В программе объект класса objectPharma - это динамический массив, хранящий
количество вхождений дескрипторов. Существует вспомогательный класс descriptor,
который применяется для представления дескрипторов. Данные на вход программы
24
поступают в виде .xls файла особого вида. В файле присутствуют листы для описания
дескрипторов и объектов, а также листы, куда записываются полученные гипотезы,
результат
доопределения
(τ)-примеров
(примеров
с
истинностным
значением
«неопределенно») и общая информация об эксперименте (какие стратегии ДСМ-метода
АПГ были применены в эксперименте, использовались ли фильтры, количество
примеров и полученных гипотез, количество необъясненных гипотезами примеров и
др.). Структура такого файла описана подробно в главе «Визуальное представление
данных».
objectMed_atomic – класс, который описывает объект медицинских данных. Он
используется с целью представления данных для атомарного ДСМ-метода.
Объект медицинских данных – это пациент, которому сопоставлен набор
признаков. Каждый признак имеет свой тип [7, C. 420-424]. Все типы в программе
сводимы к трем общим типам: кортеж заданной длины, признак иерархической
структуры («дерево»), интервал («указывается норма признака или интервал
отклонения от нормы с указанием направления отклонения» [7, С. 421]).
Для описания типов признаков в системе присутствуют вспомогательные
классы: simple_descr для описания кортежа, norma_descr для описания интервала и
tree_descr для описания «дерева».
Сам признак представлен классом element, в котором присутствуют функции для
считывания признаков и их обработки в зависимости от типа.
Например, в случае типа дерева присутствие/отсутствие значения признака на
дочернем элементе влечет присутствие/отсутствие значения родительского признака. В
качестве признака пациента, мы рассмотрим «Проведенное ранее лечение». Если в
иерархической структуре
1. Химиоиммунотерапия
1.1 Араноза+Реаферон
1.2 Дакарбазин + Интерферон
у пациента присутствуют значения 1.1 или 1.2, то это означает, что присутствует
и значение 1.
Если же 1.1 и 1.2 отсутствуют, то отсутствует и 1. В исходных данных подобные
зависимости не отмечены, поэтому требуется отметить эти связи на стадии считывания
данных для эксперимента.
25
Подобная предобработка данных позволяет свести описание пациента к набору
кортежей, где каждый элемент - это ‘+’ (обозначает «присутствие признака»), или ‘х’
(«отсутствие признака»), или ‘t’ (в зависимости от типа признака трактуется, как
«значение признака неизвестно» или «отсутствие признака»).
Приведем таблицу (Таблица 1) соответствий между обозначениями типов
признаков в программе и кодированием кортежей.
Таблица 1 – Типы признаков медицинских данных
Обозначение типа
Краткое описание
признака
Указывается одно из возможных значений, в строке помечается
single
«+», невыбранные пункты помечаются «t».
Допускается выбор нескольких значений признака: «+» – признак
korteg2
присутствует, «t» – значения нет.
Допускается выбор нескольких значений признака: «+» – признак
korteg3
присутствует, «x» – признак отсутствует, «t» – значения нет.
Указывается норма признака или интервал отклонения от нормы,
norma
в строке помечается «+», невыбранные пункты помечаются «t».
Признак иерархической структуры: «+» – признак присутствует,
tree2
«t» – значения нет.
Признак иерархической структуры: «+» – признак присутствует,
tree3
«x» – признак отсутствует, «t» – значения нет.
Набор
всех
значений
признаков
пациента
кодируется
с
помощью
32-битовых машинных слов. Это обеспечивает минимизацию памяти и времени при
работе решателя.
Для анализа медицинских данных с помощью неатомарного ДСМ-метода
используется класс objectMed_nonAtomic.
Как следует из представленной выше диаграммы, этот класс основан на
атомарном классе objectMed_atomic. В его состав входят два объекта класса
objectMed_atomic: один для представления правой части, другой – левой.
Функции неатомарного объекта усложняются, так как требуется выполнять
различные операции либо применительно к левой и правой частям, либо
применительно только к одной из частей, при этом некоторые операции, например,
пересечение или разность, могут создавать новую гипотезу или изменять уже
26
полученную. Для этого все необходимые операции реализованы как для целого
объекта, так и для его частей.
Медицинские данные на вход программы поступают либо в виде .mdb файла,
либо в виде .xls и .txt файлов определенного вида. Структура файлов описана в главе
«2 Визуальное представление данных».
Что
же
касается
обработки
социологических
данных,
то
структура
представления объекта выглядит сложнее. Здесь каждый объект – это респондент,
представленный набором признаков-ответов на вопросы анкеты. Признаки могут
делиться на группы. В проводимых экспериментах было выделено три компоненты
объекта: признаки, соответствующие описанию объекта, признаки, описывающие
мнение, и признаки, описывающие ситуацию.
objectSocio – класс, который представляет собой одну из выделенных
компонент. Вспомогательные классы необходимы для описания вопросов (в программе
это класс question), а также компонент (класс component_info).
При считывании
вопросов заносятся код и текст вопроса, а также хранится информация о его
принадлежности к одной из компонент объекта. В классе, представляющем
компоненту, мы храним такую информацию, как её тип (описание, мнение, ситуация),
положение в объекте (левая/ правая часть), обязательно ли или нет ее присутствие в
гипотезе.
objectX_unary_compound – класс, который представляет собой объект или
изучаемые свойства объекта и содержит динамический массив элементов класса
objectX. При заполнении данных в качестве элемента класса objectX создается объект
класса objectSocio.
Таким образом, представление объекта становится легко
конфигурируемым: мы можем с легкостью выбирать, какую из компонент необходимо
определить в правую или левую часть, и добавлять новые компоненты.
objectX_binary_compound – класс, который используется для применения
неатомарного ДСМ-метода. В качестве членов класса он включает два объекта типа
objectX_unary_compound.
Для
атомарного
ДСМ-метода
класс
objectX_unary_compound
можно
использовать в качестве класса, который описывает факт.
Социологические данные на вход программы поступают в виде .xls файла
определенной структуры [см. главу «Визуальное представление данных»].
27
1.2 ОБЩАЯ СТРУКТУРА ДСМ-РЕШАТЕЛЯ И РЕАЛИЗАЦИЯ
СТРАТЕГИЙ ДСМ-МЕТОДА АПГ
1.2.1 Общая структура ДСМ-Решателя
Прежде чем перейти к детальному описанию процедур ДСМ-метода и их
реализации, опишем структуру ДСМ-Решателя.
Характеристиками ДСМ-Решателя являются:
- независимость ДСМ-Решателя от предметной области;
- поддержка атомарной/неатомарной версии ДСМ-метода;
- поддержка прямой/обратной версии ДСМ-метода;
- поддержка простой / ситуационной версии ДСМ-метода;
- реализация 4-х индуктивных методов Д.С. Милля [13]: простой метод сходства,
метод различия (миллевский метод различия и новый метод различия – упрощение
метода сходства-различия), метод соединенного сходства-различия, метод остатков;
- реализация процедуры, упрощающей метод остатков (неформально процедура
называется «усеченный метод остатков»);
-
реализация
ограничений
на
простой
метод
сходства:
единственность
причины/следствия, запрет на контрпримеры, установка значения на порог родителей
гипотез;
- реализация алгоритма определения (не)противоречивости гипотез (для двух и
более массивов с полученными гипотезами);
- реализация алгоритма восстановления связей между гипотезами (построение
дерева гипотез);
-
поддержка
конъюнктивных
и
дизъюнктивных
(±)
фильтров
(выделение
конъюнктивных признаков, обязательно присутствующих в гипотезе, и дизъюнктивных
признаков, из которых присутствовать в гипотезе должен хотя бы один);
-
реализация
процедуры
аналогии
(доопределение
фактов,
требующих
прогнозирования);
- реализация процедуры «доопределение по одному»;
- реализация процедуры абдукции (объяснение исходного множества фактов
порожденными гипотезами).
28
Опишем классы модуля «ДСМ-Решатель». Полное объявление этих классов
содержится в Приложении А.
algorithmJSM – это базовый класс реализации ДСМ-метода, который содержит
общие настройки и необходим для унифицированной работы с разными версиями
ДСМ-метода.
Класс включает параметры эксперимента (выбранные стратегии, порог
родителей
для
гипотез,
массивы
примеров,
участвующих
в
эксперименте),
вспомогательные массивы для хранения полученных пересечений, шаг итерации ДСМметода (индукция-аналогия), а также поля, в которых записываются итоговые
результаты. Таким образом, после работы ДСМ-Решателя доступны массивы гипотез,
результаты доопределения, массивы с идентификаторами дочерних гипотез для каждой
гипотезы с целью их возможной последующей визуализации по "кустовому" принципу,
номера необъясненных полученными гипотезами (+)-, (–)- и (0)-примеров.
Класс algorithmJSM содержит виртуальную функцию startJSM (начать алгоритм
ДСМ-метода), а также функции, общие для классов-потомков. Среди общих функций
есть процедуры, отвечающие за реализацию алгоритмов (например, алгоритм ДСМметода для процедуры «доопределение по одному», алгоритм проверки в гипотезах
признаков, определенных в фильтры, алгоритм запрета на контрпримеры), а также
вспомогательные функции (например, delete_hyps для удаления пересечений после
окончания работы алгоритма и записи результата или fillArrayWithHypothesis для
заполнения массива полученными гипотезами).
algorithmJSM_atomicDirect – это подкласс algorithmJSM, который содержит
процедуры атомарного прямого ДСМ-метода.
algorithmJSM_nonAtomicDirect – это подкласс algorithmJSM, который включает
процедуры неатомарного прямого ДСМ-метода.
algorithmJSM_reverse
–
это
подкласс
algorithmJSM,
процедуры обратного ДСМ-метода.
Общая диаграмма классов представлена на рисунке 2.
29
который
содержит
Рисунок 2 - Иерархия классов ДСМ-метода
С помощью возможности языка C++ динамического приведения типов
наследуемых классов к базовому такая иерархия классов позволяет одинаково
заполнять и удалять необходимые параметры для всех версий ДСМ-метода, а также
определить все общие алгоритмы в базовый класс. Так для режима работы с
пользователем понадобилось написать одну общую функцию заполнения параметров
ДСМ-метода, а при записи результатов, общих для всех предметных областей
(например,
общая
информация
об
эксперименте,
заполнение
результатов
доопределения и др.), был создан общий класс output. Кроме того, имеется общая
функция для освобождения памяти – удаление пересечений.
Вспомогательными классами для реализации всех необходимых процедур ДСМрассуждений являются:
hypothesis (класс, представляющий гипотезу),
truncResid (класс, который реализует усеченный метод остатков),
filter (класс, который содержащит информацию о фильтрах, применяемых в
эксперименте),
ContradictionCalculation_Algorithm (алгоритм подсчета (не)противоречивости
массивов гипотез),
algorithm_HypothesesBush (алгоритм для восстановления данных о «дереве»
гипотез).
При реализации ДСМ-метода используется класс, представляющий абстрактный
объект (класс objectX). Особенности класса objectX подробно описаны в разделе
«Внутреннее представление данных».
30
1.2.2 ДСМ-РАССУЖДЕНИЯ
В основе ДСМ-метода АПГ лежит синтез трех познавательных процедур
«эмпирическая индукция – структурная аналогия – абдукция». Эти процедуры
представляют собой реализацию когнитивных правдоподобных рассуждений. ДСМсистемы основаны на следующем принципе: «сходство фактов вызывает наличие
эффекта и его повторяемость, а не наоборот». [7, 9, 13].
Данные предметной области должны быть хорошо структурированы, что
предполагает представление их в виде отдельных объектов с описанием, допускающим
определение операции сходства, вложения, объединения и разности на объектахфактах. Среди признаков, описывающих факт, должно присутствовать некоторое
множество свойств («эффект»), по которому мы можем разделить факты на
положительные (+) и отрицательные (–) примеры (обладающие и не обладающие
«эффектом»), а также, возможно, противоречивые примеры (0-примеры, то есть
обладающие и не обладающие эффектом одновременно) и неопределенные (τ)-примеры
(факты, требующие доопределения) [7, C. 399 – 400].
На шаге индукции мы находим сходства фактов (гипотезы),
применяя
различные процедуры ДСМ-метода и их комбинации – стратегии [13]. На шаге
аналогии происходит попытка доопределить (τ)-примеры полученными гипотезами о
причинах, то есть сделать прогноз, обладают ли эти факты исследуемым «эффектом».
Наконец, абдукция предполагает проверку обоснованности полученных гипотез путём
объяснения начальной базы фактов найденными гипотезами.
Очевидно, что успешное применение ДСМ-метода возможно только в том
случае, если в исходных данных действительно содержатся скрытые причинноследственные зависимости.
ДСМ-метода АПГ отличается от статистических методов анализа данных не
только тем, что способен учитывать индивидуальные особенности исследуемых
объектов, но и тем, что он работает с открытыми массивами данных, позволяет
использовать различные стратегии, включает несколько этапов фальсификации и
может порождать полезные гипотезы на небольших массивах.
В [13] представлена структура ДСМ-рассуждения, которая включает следующие
понятия:
31
1.
Шаг
ДСМ-рассуждения
–
это
однократное
применение
правил
правдоподобного вывода - 1 (п.п.в.-1) (индукции) или правил правдоподобного
вывода - 2 (п.п.в.-2) (аналогии).
2.
Такт ДСМ-рассуждения – это упорядоченное последовательное применение
п.п.в.-1 и п.п.в.-2.
3.
Этап I ДСМ-рассуждения – это последовательное применение тактов (п.п.в.-1
 п.п.в.-2)1 (п.п.в.-1  п.п.в.-2)2  (п.п.в.-1  п.п.в.-2)n такое, что
множество порожденных гипотез на такте n совпадает с множеством гипотез,
порожденных на такте n + 1, где n – номер первого такого совпадения [13].
Этот такт с номером n назовем тактом стабилизации Этапа I
ДСМ-
рассуждения.
4.
Этап II ДСМ-рассуждения – это проверка абдуктивной сходимости или
расходимости процесса ДСМ-рассуждения, результатом которых является
принятие или непринятие порождаемых гипотез.
В данной главе будут представлены различные процедуры ДСМ-рассуждений и
описана их программная реализация.
1.2.2.1
ИНДУКТИВНЫЙ ВЫВОД ДСМ-РАССУЖДЕНИЙ
Индуктивный вывод ДСМ-рассуждений реализуется посредством правил
правдоподобного вывода – 1. Существуют четыре правила ДСМ-рассуждения (I)(), где
{+, , 0, }, которые определяются посредством предикатов позитивного и
негативного сходства М a, n (V,W) и М a, n (V,W), соответственно. Эти предикаты образуют
минимальную (по выразительной силе) версию ДСМ-метода АПГ. Посредством
добавления к ней дополнительных условий ее можно усилить.
Стратегия ДСМ-рассуждения Strx,y характеризуется парой М x, n (V,W), М y, n (V, W)
[13], где х, у – имена предикатов. Стратегия Strx,y называется однородной, если x равно y
(то есть используются симметричные (+)- и (–)-предикаты), и неоднородной, иначе.
В языке ДСМ-метода АПГ каждый факт представляется с помощью двуместного
предиката 1, означающего, что «объект обладает множеством свойств» [5].
Структурно это предполагает, что у каждого объекта есть «левая» (описание объекта) и
«правая» (множество свойств, образующих изучаемый эффект) часть. Отталкиваясь от
32
этого определения, назовем ДСМ-метод атомарным в том случае, если правая часть
объекта – это одноэлементное множество, и неатомарным, иначе.
Например, в качестве объекта выступает пациент, описание объекта – это
определенные характеристики такие, как пол, возраст, хронические болезни и проч.
Пусть в исследуемой задаче описания пациентов можно разделить на (+)-, (–)- и (τ)примеры, например, по наличию/отсутствию некоторой болезни. В этом случае
применим
атомарный
ДСМ-метод.
Если
же
исследуемая
болезнь
допускает
представление в виде набора характеристик, то эти свойства можно отнести в правую
часть. Тогда применим неатомарный ДСМ-метод.
На этапе индукции операцию сходства фактов можно применять сначала к
левым частям объектов (описание пациента), а затем к правым (характеристики
болезни), если правая часть присутствует. В этом случае ДСМ-метод мы назовем
прямым. Если же операция сходства выполняется сначала на правых частях объекта, а
затем на левых, то назовем ДСМ-метод обратным. Подробное описание решающих
предикатов прямого ДСМ-метода можно найти, например, в [5], обратного – в [14].
Следует также отметить, что представление фактов может предполагать
разделение как левой, так и правой части на группы. Например, описание респондента
может включать группу характеристик, включающих какие-либо биографические
данные человека, и группу характеристик, описывающих некоторые ситуационные
характеристики (место работы, зарплата и проч.), группу свойств, описывающих
мнение респондента по некоторым вопросам. При таком представлении данных
необходимо уже использовать ситуационный ДСМ-метод [15].
В данном разделе будут рассмотрены различные методы ДСМ-рассуждений,
которые могут применяться для индуктивного вывода прямого атомарного /
неатомарного и обратного ДСМ-метода АПГ.
1.2.2.1.1 Базовые методы ДСМ-рассуждений
В этом разделе будут описаны стандартные предикаты ДСМ-метода АПГ: метод
простого сходства, единственность причины/следствия и запрет на контрпримеры. Для
каждого метода в этой и последующих разделах будут приведены формальные
описания с помощью соответствующих предикатов, сформулированы основные этапы
алгоритмов и перечислены функции программы, их реализующие.
33
1.2.2.1.1.1
Простой метод сходства
Базовым предикатом ДСМ-метода АПГ является простой метод сходства. Этот
метод является формализацией первого правила Д.С. Милля:
«Если два или более случая подлежащего исследованию явления имеют общим
лишь одно обстоятельство, то это обстоятельство, в котором только и согласуются все
эти случаи, есть причина (или следствие) данного явления» ([40, стр. 313]).
Метод простого сходства для прямого ДСМ-метода АПГ определяется
посредством М-предикатов ({+, }), которые служат для формализации индукции и
порождения утверждений о возможных причинах наличия изучаемых свойств [13, 41].
~

М a, n (V,W) ⇌k M a, n (V,W,k), где
~
M a, n (V,W,k)⇌Z1ZkU1Uk ((J(1,n)(Z11U1)&&J(1,n)(Zk1Uk)&(Z1 Zk
=V) &(V) &ij(((ij)&(1 i, j  k))(ZiZj))&XY ((J(1,n)(X1Y)& (VX))
k
((WY) &(W)&(  (X=Zi))))& (k 2));
i 1
~

М a, n (V,W) ⇌k M a, n (V,W,k), где
~
M a, n (V,W,k)⇌Z1ZkU1Uk ((J(1,n)(Z11U1)&& J(1,n)(Zk1Uk) & (Z1Zk
=V) &(V) &ij(((ij)&(1  i, j  k))(ZiZj))&XY ((J(1,n)(X1Y)& (WY))
k
((VX) &(  (X=Zi))))& (k 2)).
i 1
Важными являются подформулы, выражающие экзистенциальное условие ЭУ
(существование k (+)-фактов вида J(1,n)(Zi1Ui) / существование k (–)-фактов вида J(1,n)(Zi1Ui),
где i = 1, …, k,), условие сходства (+)-фактов (или (–)-фактов) (Z1Zk
=V) &(V), эмпирические зависимости причины V и следствия W (ЭЗ), условия
исчерпываемости сходных фактов (УИ):
k
(ЭЗ)+ XY ((J(1,n)(X1Y)& (VX)) ((WY) &(W)&(  (X=Zi)))),
i 1
k
(ЭЗ) XY ((J(1,n)(X1Y)& (WY)) ((VX) &(  (X=Zi)))),
i 1
k
(УИ) (  (X=Zi)),
i 1
34
и нижняя граница для числа сходных примеров  k  2 (при проведении
экспериментов нижняя граница является одним из параметров, поэтому может быть
увеличена).
Для порождения гипотез используется правило правдоподобного вывода – 1
(индуктивный вывод):
J ( , n ) (V  2 W ), M a , n (V, W ) & M a , n (V, W )
J 1,n 1 (V  2 W )
+
(I)
,
аналогично формулируются п.п.в.-1 - (I)–, (I)0, (I):
(I)
–
(I)0
(I)

J ( , n ) (V  2 W ), M a , n (V, W ) & M a , n (V, W )
J -1,n 1 (V  2 W )
J ( , n ) (V  2 W ), M a , n (V, W ) & M a , n (V, W )
J 0,n 1 (V  2 W )
,
,
J ( , n ) (V 2 W), M a , n (V, W) & M a , n (V, W)
J ( , n 1) (V 2 W)
.
Аналогично М+-предикату можно сформулировать М0-предикат:
~
0
М 0a ,n (V,W) ⇌k M a , n (V,W,k), где
~
M 0a , n (V,W,k)⇌Z1ZkU1Uk ((J(0,n)(Z11U1)&&J(0,n)(Zk1Uk)&(Z1 Zk
=V) &(V) &ij(((ij)&(1 i, j  k))(ZiZj))&XY ((J(0,n)(X1Y)& (VX))
k
((WY) &(W)&(  (X=Zi))))& (k 2)).
i 1
М0-предикат необходим для нахождения сходства (0)-примеров. (0)-факты в
исходной базе могут присутствовать, например, в социологических данных и
выражают
фактические
противоречия
или
конфликты,
образованные
«противодействием» (+)- и (–)-причин [15]. Так исследуемый признак (эффект), по
которому респонденты разбиваются на (+)-, (–)-, (0)- и (τ)-примеры, может иметь
следующие ответы на вопросы в анкете: 1 -Да; 0 - И да, и нет; -1 - Нет; τ - Нет данных
(нет ответа).
Также (0)-примеры могут появляться в результате доопределения (τ)-примеров и
участвовать в порождении (0)-гипотез на Этапе I ДСМ-рассуждения.
Тогда П.п.в.-1 (индуктивный вывод) будут иметь вид:
35
+
J ( ,n ) (V  2 W), M a ,n (V, W) & M a ,n (V, W) & M 0a ,n (V, W)
–
J ( ,n) (V  2 W), M a ,n (V, W) & M a ,n (V, W) & M 0a ,n (V, W)
(I)
(I)
0
(I)
J 1,n 1 (V  2 W)
J
-1,n 1
( V  2 W)
J ( ,n ) (V  2 W), (M a ,n (V, W) & M a ,n (V, W))  M 0a ,n (V, W)
J
0,n 1
,
(V  2 W)
,
J ( ,n ) (V  2 W ), M a ,n (V, W ) & M a ,n (V, W ) & M 0a ,n (V, W )
(I) 
J
 ,n 1
,
(V  2 W )
.
В зависимости от структуры данных и исследуемой задачи может быть
использован и обратный метод сходства. В работе [41] представлены основные
положения для обратного ДСМ-метода, изложенные в [14].
Для обратного ДСМ-метода принцип сходства формулируется, как «сходство
эффектов (следствий) влечет сходство фактов и его повторяемость».

M -предикатов ({+, }) простого обратного сходства определяются как:

~ 
Ma, n (V, W) ⇌k M a, n (V,W, k), где
k
k
k
~
M a, n (V,W,k)⇌X1XkY1Yk (( & J(1,n)(Xh1Yh))&(  Xh=V)&(V)&( 
h 1
h 1
h 1
Yh=W) & (W) &ij (((i  j)&(1i,j k)) ( XiXj))&XY((J(1,n)(X1Y)&(WY))
k
((VX) &(  (Y=Yh))))&(k 2)).
h 1
Э З 
+
для простого метода сходства обратного ДСМ-метода АПГ представимо
подформулой:
k
XY((J(1,n)(X1Y)&(WY)) ((VX) &(  (Y=Yh))).
h 1


Аналогично определяются Ma, n (V, W) и M 0a , n (V, W).
Аналогично формулируются правила правдоподобного индуктивного вывода (п.п.в.1):


 + J ( , n ) ( Wз  V), M a , n (V, W ) & M a , n (V, W )
,
(I)
J 1,n 1 ( Wз  V)
где Wз  V - предикат «W есть следствие V».
36

Соответственно формулируются п.п.в.-1 ( I ), где {, 0, }.

Как предикаты М a, n (V,W), так и предикаты Ma, n (V,W) допускают усиление
посредством дополнительных условий.
Наряду с существующими прямым и обратным методом ДСМ-рассуждений,
существует ситуационное расширение ДСМ-метода АПГ, подробно описанное в [15].
При исследовании социологических данных необходимо обратить внимание на
структуру объекта. При решении некоторых задач вводится понятие ситуации –
«контекста поведения». В исходной БФ влияние ситуации отображается тернарным
предикатом P(X,Y,S) – «субъект X демонстрирует эффекты поведения Y в ситуации S»,
а предикат причинности принимает вид Ri(V, S,W)
– «пара подмножество
характеристик субъекта V и характеристики ситуации S есть причина эффектов
поведения W» [38].


Для индуктивного порождения причин R s (V, S, W) или R р (V, W, S)


используются предикаты 2s M a,n (V,W,S) или 2р M a,n (V,W,S) [15], соответственно (или их
усиления;  = +, –, 0), входящие в посылки индуктивных правил правдоподобного
вывода I рода. Основой эмпирических зависимостей в этих предикатах является
сходство не только субъектов поведения и их мнений, но и ситуации проявления этих
мнений [38]. Аналогично формулируются правила правдоподобного вывода II рода
(вывод по аналогии), а также аксиомы каузальной полноты [см. разделы «Правила
правдоподобного вывода по аналогии», «Абдукция и степень абдуктивности»].
В диссертации впервые была создана программа, которая реализует вариант
стратегии простого сходства, допускающего наличия в БФ (0)-примеров, поэтому на
всех этапах ДСМ-рассуждений («индукция – аналогия - абдукция») учитываются
условия, задаваемые решающими предикатами М0 прямого, обратного и ситуационного
ДСМ-метода. Так впервые были проведены эксперименты на социологических данных,
БФ которых включала (0)-факты.
Необходимо было учесть возможность наличия (0)-примеров в базе фактов.
Кроме того, была создана итеративная версия ДСМ-метода, поэтому (0)-примеры
могли появиться в результате доопределения (τ)-примеров.
Фактически суть стратегии простого метода сходства для всех предикатов,
представленных выше, состоит в том, что необходимо найти все пересечения примеров
(сходства фактов) соответствующего знака (+, -, 0); определить пересечения,
удовлетворяющие условиям, которые представлены в подформулах, в «кандидаты» в
37
(+)-, (–)- и (0)-гипотезы; проверить «кандидатов» в гипотезы на непротиворечивость
друг другу; все равные пересечения разных знаков определить в (0)-гипотезы;
доопределить (τ)-примеры из базы фактов; расширить исходную базу фактов успешно
доопределенными (τ)-примерами; повторить предыдущие этапы, пока возможно
доопределить хотя бы один (τ)-пример; проверить достоверность полученных гипотез
(проверить выполнимость аксиом каузальной полноты для исходного состояния БФ).
Теперь опишем программную реализацию стратегии прямого простого метода
сходства. Описание также было представлено в [38, 42].
В основе алгоритма лежит алгоритм нахождения пересечений примеров.
Просмотр всех примеров гарантирует выполнение условия исчерпываемости. Каждое
пересечение является кандидатом в гипотезы. Для того чтобы получить пересечения,
был реализован алгоритм Норриса [43].
Структура объекта зависит от конкретной предметной области. Например,
объект может быть представлен набором признаков, по которым происходит
пересечение. Каждый пример может состоять из нескольких компонент (в случае
социологии это описание объекта, мнение и ситуация), то есть набор признаков разбит
еще и на подгруппы. Структура объекта скрыта от Решателя, поэтому в описании
алгоритма назовем её «телом» объекта. Аналогично структуру гипотезы назовем
«телом» гипотезы. Приведем алгоритм Норриса для прямого атомарного ДСМ-метода,
учитывая эту особенность.
1. Организуем 2 цикла: один по примерам, другой по полученным пересечениям.
Пусть Examples – множество примеров, Hypotheses – множество пересечений, flag –
переменная, которая может принимать два значения (true или false).
2. Поместим первый пример в множество Hypotheses, так как на первом шаге оно
пусто.
3. Возьмем следующий пример (внешний цикл по примерам). Также установим
переменную flag в значение true. Если в множестве Examples элементов больше нет,
закончим алгоритм .
4. Возьмем j-е пересечение, полученное на предыдущих этапах (внутренний цикл по
пересечениям). Если в множестве Hypotheses элементов больше нет, перейдем к шагу 9.
5. Если «тело» i-го примера совпадает с «телом» j-го пересечения, добавим ссылку
на i-й пример в множество родителей пересечения. Также установим переменную flag в
значение false. flag, равный false, будет означать, что не нужно добавлять пример
38
отдельно в множество Hypotheses, так как он уже войдет в некоторое пересечение.
Перейдем к шагу 4.
6. Если «тело» j-го пересечения вкладывается в «тело» i-го примера, добавим ссылку
на i-й пример в множество родителей пересечения. Перейдем к шагу 4.
7. Если «тело» i-го примера вкладывается в «тело» j-го пересечения, добавим ссылку
на i-й пример в множество родителей пересечения и присвоим «тело» i-го примера j-му
пересечению. Также установим переменную flag в значение false. Перейдем к шагу 4.
8. Если ни один из пунктов 5-7 не выполнился найдем пересечение «тела» i-го
примера и j-го пересечения. Если пересечение не пусто, то добавим его в множество
Hypotheses только в том случае, если все рассмотренные ранее примеры, в которые это
пересечение вкладывается, являются родителями j-го пересечения (тем самым мы
гарантируем, что будет порождено пересечение с максимальным количеством
родителей). Множество родителей нового пересечения – это множество родителей j-го
пересечения и i-й пример. Перейдем к шагу 4.
9. Если переменная flag равна false, добавим пример в качестве пересечения в
множество Hypotheses. Перейдем к шагу 3.
Таким
образом,
алгоритм
нахождения
пересечений
соответствует
экзистенциальному условию М-предикатов и условию сходства фактов (шаги 5-8).
k
Условие исчерпываемости сходных фактов (  (X=Zi)) выполняется за счет того, что мы
i 1
просматриваем все примеры данного знака (шаг 3) и ищем максимальное пересечение
(шаг 8).
Эмпирические зависимости для атомарного ДСМ-метода сводятся только к
выполнению условия исчерпываемости, так как правая часть примера не учитывается.
Для неатомарной версии ДСМ-метода необходимо учитывать наличие правой
части. Здесь необходимо включить проверку эмпирических зависимостей между
причиной и свойством пересечений. Что касается дополнительных проверок для
реализации шагов 5-8 алгоритма, то если на каком-то примере возникла ситуация, что
ранее полученное пересечение – подмножество очередного примера по левой части, но
по правой их пересечение пусто, статус пересечения помечается как false, и оно
удаляется из множества Hypotheses.
Для (ЭЗ)+ мы находим пересечение на левых частях (что гарантирует
выполнение подформулы (VX)), затем – на правых (выполнение подформулы
39
(WY)). Также проверяем, что пересечение на правых частях не пусто (подформула
(W)). Шаги 3 и 8 алгоритма гарантируют условие исчерпываемости.
Отсутствие же свойства может объясняться как наличием (–)-причины, так и
отсутствием каких-либо оснований для наличия этого свойства. Поэтому для
выявления (–)-причин необходимо более жёсткое условие. Для (ЭЗ) мы проверяем
наличие пересечения примеров по свойствам (выполнение подформулы (WY)) и по
причинам (подформула (VX)). Шаги 3 и 8 алгоритма гарантируют условие
исчерпываемости. В алгоритме нахождения пересечений «отсутствие каких-либо
оснований для наличия исследуемого свойства»
поэтому
в
программе
порядок
поверки
порождает пустое пересечение,
подформулы
(ЭЗ)
оказывается
несущественным. Пересечение с пустой левой или правой частью отбрасывается.
Для обратной версии ДСМ-метода сначала мы рассматриваем отношение

правых частей примера, затем левых, что гарантирует выполнения ЭЗ . Шаги 5-8
 
модифицируются
соответствующим
образом:
необходимо
для
каждого
шага
рассмотреть отношение на правых частях, а затем добавить к каждому шагу условия
проверки отношения (равенство, вложение, пересечение) на левых частях.
Для реализации ситуационной версии ДСМ-метода не требовалось вносить
изменения в модуль ДСМ-Решателя. Операции сходства, равенства и вложения, в
которых необходимо учитывать наличие ситуации, находятся в модуле «Представление
данных», а в процедурах ДСМ-Решателя эти операции возвращают результат в виде
обобщенного объекта objectX. Таким образом, ситуационная версия автоматически
поддерживается и для прямого, и для обратного ДСМ-метода. Заметим, что
алгоритмическая и программная реализации ситуационной версии ДСМ-метода АПГ
осуществлены впервые.
Допустим, что пример представлен тремя компонентами: описание респондента,
мнение и ситуация. Ссылаясь на представленный выше алгоритм Норриса для прямого
атомарного ДСМ-метода, на этапе выполнения программы шаги 5-8 конкретизируются
следующим образом:
5. Если все компоненты i-го примера совпадают с компонентами j-го
пересечения, добавим ссылку на i-й пример в множество родителей
пересечения. Также установим переменную flag в значение false. flag, равный
false, будет означать, что не нужно добавлять пример отдельно в множество
40
Hypotheses, так как он уже войдет в некоторое пересечение. Перейдем к шагу
4.
6. Если все компоненты j-го пересечения вкладываются во все компоненты i-го
примера, добавим ссылку на i-й пример в множество родителей пересечения.
Перейдем к шагу 4.
7. Если все компоненты i-го примера вкладываются во все компоненты j-го
пересечения, добавим ссылку на i-й пример в множество родителей
пересечения и присвоим множество компонент, образующих i-й пример, j-му
пересечению. Также установим переменную flag в значение false. Перейдем к
шагу 4.
8. Если ни один из пунктов 5-7 не выполнился найдем пересечение компонент iго примера и j-го пересечения. Пересечение будем искать сначала по
описанию объекта, затем по ситуациям, затем по мнению. Если пересечение
не пусто, то добавим его в множество Hypotheses только в том случае, если
все рассмотренные ранее примеры, в которые это пересечение вкладывается,
являются родителями j-го пересечения. Множество родителей нового
пересечения – это множество родителей j-го пересечения и i-й пример.
Перейдем к шагу 4.
Приведем небольшой пример нахождения сходства примеров с помощью
рассмотренного алгоритма. Пусть в анкете представлены вопросы, которые можно
разбить на три группы: описание респондента, мнение и ситуация (Таблица 2).
Таблица 2 - Вопросы анкеты, разбитые на группы (компоненты)
Номер
вопроса
Вопрос анкеты
Варианты ответа на
вопрос, встречающиеся
в примере
(числовое значение и
его расшифровка)
2 = «К рабочим 4–6
разряда»
3 = «К специалистам
первой категории»
1
К какой категории работников
Вы относитесь?
2
Как долго Вы работаете на
этом предприятии?
1 = «До 1 года»
2 = «От 1 до 3 лет»
3
Ваш возраст.
1 = «18-35 лет»
41
Компонента
Описание
респондента
4
Соотношение среднедушевого
дохода респондента и личных
доходов в Вашем городе в
среднем.
1 = «Менее 0,3»
2 = «От 0,3 до 0,5»
5
Соответствие заработной
платы работника и средней
зарплаты по предприятиям
обрабатывающих производств.
2 = «От 0,3 до 0,5»
3 = «От 0,6 до 0,8»
6
Соответствие реальной
заработной платы работника и
среднемесячной заработной
платы в соответствующем
сегменте производств.
1 = «Менее 0,3»
3 = «От 0,6 до 0,8»
7
Можно ли сказать, что Вы
освоились на этом
предприятии, привыкли к
нему?
1 = «Полностью
освоился»
2 = «Пожалуй, освоился»
8
Удовлетворены ли Вы в целом
своей нынешней работой?
2 = «Пожалуй,
удовлетворен»
4 = «Совершенно не
удовлетворен»
Как Вы думаете, если бы Вы
захотели уйти с предприятия,
Вам было бы легко или трудно
найти сейчас новое место
работы с лучшими, чем здесь,
условиями?
1 = «Легко найти работу с
лучшими условиями»
9
Ситуация
Мнение
Пусть даны варианты ответов респондентов (числовые значения ответов):
Таблица 3.
«n» означает отсутствие ответа по данному вопросу. Id – идентификатор
примера (факта), Sort – «сорт» (оценка) примера. Заголовки остальных столбцов (1-9)
соответствуют номерам вопросов.
Допустим, что данные по респондентам, представленные в Таблице 3, – это (+)примеры и мы хотим найти их сходства, при этом в параметрах эксперимента указано,
что присутствие всех компонент в пересечении обязательно (пересечения с пустым
описанием респондента, или ситуацией, или мнением не допускаются).
Ответы на вопрос у респондентов равны, если значения ответов равны
(отношение равенства). Если числовые значения ответов различны, то пересечение по
данному вопросу равняется «n»; если значения ответов равны, то пересечение и есть
это значение (операция нахождения пересечения). Если значения ответов равны, то они
42
вкладываются друг в друга; если значение ответа равно «n», то оно вкладывается в
любое числовое значение (операция вложения).
Компоненты равны, если все ответы по вопросам, входящим в компоненту,
равны. Компонента j-го пересечения вкладывается в компоненту i-го примера, если по
тем вопросам, по которым их ответы не равны, значения ответов у j-го пересечения
вкладывается в значения ответов у i-го примера. Компонента i-го примера
вкладывается в компоненту j-го пересечения, если по тем вопросам, по которым их
ответы не равны, значения ответов у i-го примера вкладывается в значения ответов у jго пересечения.
Таблица 3 - Социология: пример внутреннего представления данных
респондентов
Id
1
2
3
4
Sort
+
+
+
+
1
2
2
3
2
2
1
1
2
1
3
1
1
1
1
4
1
2
n
n
5
2
2
n
3
6
3
3
1
3
7
2
2
1
2
8
2
2
2
4
9
n
n
n
1
Так как вопросы разбиты на три компоненты, при считывании данных каждому
респонденту будет соответствовать три группы характеристик, что можно представить
схематично: Таблица 4.
Таблица 4 - Социология: пример покомпонентного представления данных
респондентов
Id
Sort
1
2
3
4
+
+
+
+
Описание
респондента
<2, 1, 1>
<2, 1, 1>
<3, 2, 1>
<2, 1, 1>
Ситуация
Мнение
<1, 2, 3>
<2, 2, 3>
<n, n, 1>
<n, 3, 3>
<2, 2, n>
<2, 2, n>
<1, 2, n>
<2, 4, 1>
При первом проходе алгоритма в массив пересечений будет добавлен пример с
Id, равным 1 (шаг 2 алгоритма). Далее найдем пересечение примера с Id, равным 2, и
единственного
элемента,
присутствующего
в
массиве
пересечений.
Находим
пересечение по компоненте «описание респондента». По всем вопросам ответы равны,
43
а значит, компоненты равны. Находим пересечение по компоненте «ситуация». По
вопросам 5 и 6 ответы равны, а по вопросу 4 ответы различны (причем значения
ответов отличны от «n»), значит необходимо применить операцию пересечения: <1, 2,
3> пересекаем с <2, 2, 3> и получаем <n, 2, 3>. Наконец, находим пересечение по
компоненте «мнение». По всем вопросам ответы равны, а значит, компоненты равны.
Таким образом, у 2-го примера и 1-го пересечения компоненты «описание», «мнение»
равны, а для компоненты «ситуация» ни условие равенства, ни условие вложения не
выполняются, то есть срабатывает шаг 8 приведенного алгоритма. При этом, согласно
шагу 9 алгоритма 2-й пример будет добавлен в множество пересечений. На текущий
момент в массиве пересечений имеем три пересечения (Таблица 5).
Таблица 5- Социология: пример получения множества пересечений
(для фактов 1 и 2)
Номер
пересечения
1
2
3
Возьмем
Номера
родителей
1
1, 2
2
3-й
пример.
Описание
респондента
<2, 1, 1>
<2, 1, 1>
<2, 1, 1>
Пересечение
его
Ситуация
Мнение
<1, 2, 3>
<n, 2, 3>
<2, 2, 3>
<2, 2, n>
<2, 2, n>
<2, 2, n>
компоненты
«ситуация»
с
соответствующей компонентой уже полученных пересечений равно <n, n, n>, что
означает пустое пересечение. Так как одно из условий эксперимента состоит в том, что
присутствие всех компонент в пересечении обязательно, ни один из шагов алгоритма 58 не выполняется. Пример просто добавляется в массив пересечение (шаг 9 алгоритма).
Теперь в массиве пересечений имеем четыре пересечения (Таблица 6).
Таблица 6- Социология: пример получения множества пересечений
(для фактов 1, 2 и 3)
Номер
пересечения
1
2
3
4
Номера
родителей
1
1, 2
2
3
Описание
респондента
<2, 1, 1>
<2, 1, 1>
<2, 1, 1>
<3, 2, 1>
44
Ситуация
Мнение
<1, 2, 3>
<n, 2, 3>
<2, 2, 3>
<n, n, 1>
<2, 2, n>
<2, 2, n>
<2, 2, n>
<1, 2, n>
Возьмем 4-й пример. Действуя аналогичным образом, на выходе получим 6
пересечений (Таблица 7).
Таблица 7- Социология: пример получения множества пересечений
(для фактов 1, 2, 3 и 4)
Номер
пересечения
1
2
3
4
5
6
Номера
родителей
1
1, 2
2
3
1, 2, 4
4
Описание
респондента
<2, 1, 1>
<2, 1, 1>
<2, 1, 1>
<3, 2, 1>
<2, 1, 1>
<2, 1, 1>
Ситуация
Мнение
<1, 2, 3>
<n, 2, 3>
<2, 2, 3>
<n, n, 1>
<n, n, 3>
<n, 3, 3>
<2, 2, n>
<2, 2, n>
<2, 2, n>
<1, 2, n>
<2, n, n>
<2, 4, 1>
Дополнительным параметром для отбора полученных пересечений является
минимальное количество (порог) родителей – примеров, участвующих в пересечении
(параметр индукции k в предикате сходства). Чем больше родителей у потенциальной
гипотезы, тем большую ценность она представляет (хотя в предельном случае наличия
общего сходства всех примеров это не так).
По умолчанию порог родителей равен двум (подформула М-предикатов (k 2)),
поэтому в рассмотренном примере на выходе имеем только два пересечения (с
номерами 2, 5).
Таким образом, общая схема алгоритма применения стратегии простого метода
сходства в качестве (+)- и (–)-предиката состоит из следующих шагов:
1.
Заполнение массивов указателей на (+)-, (–)-, (0)- и ()-примеры.
2.
Алгоритм Норриса для (+)-примеров.
3.
Отсев пересечений, у которых количество родителей меньше порогового
значения для (+)-гипотез.
4.
Алгоритм Норриса для (–)-примеров.
5.
Отсев пересечений, у которых количество родителей меньше порогового
значения для (–)-гипотез.
6.
Алгоритм Норриса для (0)-примеров.
7.
Отсев пересечений, у которых количество родителей меньше порогового
значения для (0)-гипотез.
45
8.
Проверка пересечений на противоречивость: (+)- и (–)-пересечений, (+)- и (0)пересечений,
(–)-
и
(0)-пересечений.
Непротиворечивые
пересечения
становятся гипотезами соответствующих знаков. В случае столкновения (+)и (–)-пересечений формирование (0)-гипотез.
9.
Доопределение
()-примеров
полученными
гипотезами
и
помещение
доопределенных примеров в массивы примеров соответствующего знака.
Если доопределенных примеров нет – перейти к шагу 10. Иначе – шаг 2.
10. Проверка выполнимости аксиом каузальной полноты и подсчет степеней
абдуктивности.
Был реализован итеративный алгоритм ДСМ-метода, поэтому если удалось
доопределить хотя бы один ()-пример, процесс порождения гипотез повторяется (шаги
2 – 8). Шаг 1 на последующих тактах ДСМ-метода не нужен: если пример удалось
доопределить, то он добавляется в массив соответствующих примеров.
Шаги 2, 3 реализуют выполнение (+)-предиката простого метода сходства, шаги
4,5 – (–)-предиката простого метода сходства, шаги 6-7 – (0)-предиката простого метода
сходства. Шаг 8 отвечает за выполнение правила правдоподобного вывода – 1.
Шаги 9 и 10 алгоритма – это неотъемлемая часть реализации любой стратегии
ДСМ-рассуждений. Шаг 9 алгоритма – доопределение примеров (вывод по аналогии) –
представлен в разделе «Правила правдоподобного вывода по аналогии». Шаг 10
алгоритма – процедура абдукции – описан в разделе «Абдукция и степень
абдуктивности». Схемы алгоритмов были опубликованы и в [38].
Перейдем к описанию программы на уровне функций.
Шаг 1 простого метода сходства выполняется в функции
void fillAllArrays_beforeStart(vector<objectX*> objXs);
На вход поступает массив объектов и заполняются массивы-члены класса
algorithmJSM vector<hypothesis*> plusEx, minusEx, zeroEx, tEx для (+)-, (–)-, (0)- и ()примеров соответственно. Кроме того, в переменных nPlExBegin, nMinExBegin,
nZeroExBegin запоминаются количество примеров.
Для выполнения шагов 2, 4 и 6 реализована функция алгоритма Норриса
(реализация функции зависит от выбранного вида ДСМ-метода):
46
void algorithmNorris(
vector<hypothesis*>& hyps, //результат – массив пересечений
vector<hypothesis*>& arr, //входной массив
int nPredArr);//номер примера, с которого следует начать выполнять
алгоритм
Последний
аргумент
необходим
при
выполнении
итерации
ДСМ-рассуждений. Пересечения хранятся до окончания алгоритма, поэтому если
массив hyps не пуст, то нужно изменить этот массив в соответствии с новыми
появившимися объектами. Если удалось доопределить какие-то из имеющихся ()примеров, то они помещаются в массив примеров соответствующего знака, и параметр
nPredArr указывает на позицию первого такого примера во входном массиве arr.
Указатели на пересечения хранятся во вспомогательных массивах plusHyp,
minusHyp, zeroHyp.
Вспомогательные функции:
/*является ли объект с идентификатором x членом множества set*/
bool isMember(short x, std::vector <hypothesis*>& set);
/*добавить к гипотезе родителя*/
hypothesis* join_parent_to_target(hypothesis*base, hypothesis*par);
В неатомарной версии ДСМ-метода (классы algorithmJSM_nonAtomicDirect,
algorithmJSM_reverse) добавлена также функция:
/*пометить повторяющиеся гипотезы как false, функция возвращает число
повторов*/
short mark_repeatedHyps_afterNorris (vector<hypothesis*>& lstHyp);
Для реализации общего метода сходства-различия в версии прямого ДСМметода (классы algorithmJSM_atomicDirect, algorithmJSM_nonAtomicDirect) вместо
функции algorithmNorris используется алгоритм Норриса с сохранением у примеров
ссылок на гипотезы, в порождении которых они участвовали:
void algorithmNorrisSavingRefs (
vector<hypothesis*>& hyps, //результат – массив пересечений
47
vector<hypothesis*>& arr, //входной массив
int nPredArr);//номер примера, с которого следует начать выполнять
алгоритм
Для выполнения шагов 3, 5 и 7 реализована общая функция:
/*отсеиваем гипотезы с количеством родителей < порога и сохраняем
результат в новом массиве*/
void siftByParents_and_copyValidHypList(
vector<hypothesis*>& arrInput,// входной массив пересечений
short parentThreshold, //порог
vector<hypothesis*>& arrOutput);// выходной массив пересечений
Указатели на гипотезы с количеством родителей, меньшим требуемого порога,
сохраняются в новом массиве.
Таким
образом,
получаем
массивы
для
работы
на
текущем
шаге
plusHypCurrentStep, minusHypCurrentStep, zeroHypCurrentStep. Благодаря этому на i-й
итерации ДСМ-метода не придется заново считать ранее полученные пересечения, а
освобождать память необходимо будет после окончания работы ДСМ-алгоритма
только из массивов plusHyp, minusHyp, zeroHyp.
Проверка гипотез на противоречивость осуществляется посредством двух
функций:
void markConflictingHypothesis(vector<hypothesis*>& lst1, vector<hypothesis*>&
lst2);
void markConflictingHypothesis_and_FillZeroHyps(
vector<hypothesis*>& lstPlus, //массив (+) гипотез
vector<hypothesis*>& lstMinus, //массив (–) гипотез
vector<hypothesis*>& lstZero); //массив (0) гипотез
Функция markConflictingHypothesis применяется для (+)- и (0)-гипотез, (–)- и (0)гипотез, а markConflictingHypothesis_and_FillZeroHyps – для (+)- и (–)-гипотез, при этом
в случае обнаружения противоречивых гипотез пополняем массив zeroHypCurrentStep.
48
Внутри последней функции также осуществляется проверка, не было ли уже получено
гипотезы с таким же содержимым ранее, чтобы не допустить повторяющихся гипотез.
1.2.2.1.1.2 Единственность причины (следствия)
Еще одним базовым методом является метод поиска единственности причины
для прямого ДСМ-метода и единственности следствия для обратного ДСМ-метода.
Как доказано в статье М.И. Забежайло [45], «На каждом фиксированном шаге
ДСМ-рассуждения
отношение
=>2
функционально».
В
силу
определения
функционального отношения это означает, что условие единственности следствия для
прямого ДСМ-метода (каждой причине соответствует одно следствие) выполняется
всегда. Следуя доказательству М.И. Забежайло, аналогичным образом можно показать,
что и для =>3 отношение функционально, то есть условие единственности причины
(каждому следствию соответствует одна причина) для обратного ДСМ-метода также
всегда верно.
Пусть М x,n (V,W) – предикат сходства для прямого ДСМ-метода, {+, }, а х –
имя добавочного условия для простого метода сходства М x,n (V,W), тогда индуктивный
метод сходства с условием существования единственной причины V для следствия W
определим следующим образом [13, 41]: М ex, n (V,W) ⇌ М x,n (V,W)&Z(М x,n (Z,W) 
(V=Z)).
Формула Z(М

x, n
(Z,W)(V=Z)) выражает условие (еσ) единственности
причины V для следствия W.

Пусть Ma,n (V, W) – простой предикат сходства для обратного ДСМ-метода,
{+, }.
Единственность следствия задается формулой (с)+ U (J1,n(U3V)(U=W)).

Соответствующая добавка (с)– определяется аналогично. Усиления предиката Ma,n (V,

W) определяется следующим образом [14]: Mac,n (V, W)

⇌ Ma,n (V, W)&(с).
Схема алгоритма простого метода сходства (см. предыдущий раздел) требует
следующего дополнения (шаги 4 и 7):
49
1.
Заполнение массивов указателей на (+)-, (–)-, (0)- и ()-примеры.
2.
Алгоритм Норриса для (+)-примеров.
3.
Отсев пересечений, у которых количество родителей меньше порогового
значения для (+)-гипотез.
4.
Проверка условия единственности причины (следствия) для (+)-гипотез.
Отсев пересечений, для которых условие не выполнено.
5.
Алгоритм Норриса для (–)-примеров.
6.
Отсев пересечений, у которых количество родителей меньше порогового
значения для (–)-гипотез.
7.
Проверка условия единственности причины (следствия) для (–)-гипотез.
Отсев пересечений, для которых условие не выполнено.
Алгоритм проверки условия единственности причины для прямого атомарного
ДСМ-метода прост: после того как гипотезы найдены посредством метода простого
сходства, необходимо проверить, что в массиве гипотез только один элемент
(выполнение условия М x, n (Z,W)(V=Z)).
В случае неатомарного ДСМ-метода АПГ алгоритм включает:

поиск гипотез посредством простого сходства (подформула М x, n (V,W)),

проверку того, что все эффекты найденных гипотез различны, что и означает
выполнение подформулы Z(М x, n (Z,W)  (V=Z)): причина V всегда влечет
один эффект W (не может быть разных причин с одинаковым эффектом).
Алгоритм проверки условия единственности следствия для обратного ДСМметода включает:

поиск гипотез посредством простого сходства (подформула М x, n (V,W)) ,

проверку того, что все причины найденных гипотез различны, что и означает
выполнение подформулы U (J1,n(U3V)(U=W)): эффект W всегда является
следствие причины V (не может быть разных эффектов с одинаковой
причиной).
В программе пункт 2 проверки условия единственности причины реализован с
помощью функции
50
bool checkSingleCauseCondition(vector<hypothesis*>& arr) .
Пункт 2 проверки условия единственности следствия реализован с помощью
функции
bool checkSingleConsequentCondition(vector<hypothesis*>& arr) .
На вход указанным функциям передаются массивы-члены класса algorithmJSM:
plusHypCurrentStep для (+)-предиката и minusHypCurrentStep для (–)-предиката.
Функции возвращают true, если проверка выполнена успешна, и false, иначе. В
случае отсутствия гипотез, удовлетворяющих требуемому условию, пользователю
будет выдано сообщение о том, что данная стратегия не применима.
Если единственность причины/следствия используется в сочетании с другими
методами, то необходима также дополнительная проверка, действительны ли
найденные пересечения (кандидаты в гипотезы) после выхода из функций для других
процедур.
Наконец,
необходимо
проверить
непротиворечивость
найденных
пересечений с пересечениями других знаков при реализации правил правдоподобного
вывода - 1.
1.2.2.1.1.3 Запрет на контрпримеры
Последний метод, рассматриваемый в этом разделе, – это запрет на
контрпримеры [5, 13]. Определим формально запрет на (+)-контрпример:
М xb,n (V,W) ⇌ М x,n (V,W) & (b)+, где
(b)+ XY (((VX) & (WY))  (J(1,n)(X1Y)  J(,n)(X1Y))),
Аналогично определяется (b). Сходным образом запрет на контрпримеры
представлен для обратного и ситуационного ДСМ-метода [14, 15].
Запрет на контрпримеры является усилением простого метода сходства и
заключается в том, что ни одна гипотеза данного знака (+ или –) не должна
вкладываться в пример противоположного знака.
После того как гипотезы были получены простым методом сходства (или,

возможно, другим методом), что соответствует подформуле М x,n (V,W), необходимо
организовать 2 цикла: внешний – по гипотезам, внутренний – по примерам
противоположного гипотезам знака, - чтобы исключить неподходящие гипотезы.
Полученные гипотезы проверяются с помощью следующих шагов:
51
1. Организуем 2 цикла: внешний – по (+)-гипотезам, внутренний – по примерам
противоположного гипотезам знака ((–)- и (0)-примерам). Если гипотеза
вкладывается в пример, исключаем её из массива (+)-гипотез.
2. Организуем 2 цикла: внешний – по (–)-гипотезам, внутренний – по примерам
противоположного гипотезам знака ((+)- и (0)-примерам). Если гипотеза
вкладывается в пример, исключаем её из массива (–)-гипотез.
В программе запрет на контрпримеры реализован функцией
void forbidCounterExample(
vector<hypothesis*>& targetHyp, // массив гипотез
vector<hypothesis*>& counterArrEx); // массив примеров противоположного
знака
Неподходящие гипотезы помечаются как false (переменная-член status класса
hypothesis) и исключаются из массива targetHyp. Изменение у гипотезы значения status
необходимо для применения других методов [см. раздел «Общий метод сходстваразличия» данной главы].
2.2.1.1.1 Метод различия
Метод различия формулируется во втором правиле индуктивного вывода Д.С.
Милля [40]:
«Если случай, в котором исследуемое явление наступает и случай, в котором оно не
наступает, сходны во всех обстоятельствах, кроме одного, встречающегося лишь в
первом случае, то это обстоятельство, в котором одном только разнятся эти два случая,
есть следствие или причина, или необходимая часть причины».
Для прямого ДСМ-метода были программно реализованы два варианта метода
различия: миллевский вариант и упрощение метода соединенного сходства-различия [о
методе сходства-различия см. раздел «Метод соединенного сходства – различия»].
Реализация была описана в [36]. В публикациях [13, 41] упрощение метода
соединенного сходства-различия, метод сходства-различия и метод остатков описаны
только для (+)-предиката. В ходе работы над диссертационным исследованием эти
методы ДСМ-Решателя были разработаны как для (+)-, так и для (–)-предиката.
52
Условия для (–)-предиката были сформулированы симметрично. Кроме того, была
реализована вторая версия миллевского метода различия.
1.2.2.1.2.1 Метод различия: миллевский вариант
В работе [13] определены предикаты, которые представляют собой прямой перевод
второго правила Д.С. Милля:
D n (V,W)⇌X Y Z U (J(1,n)(X1Y) & (VX) &(WY) & J(1,n)(Z1U) &(Z=X\V)
&(Z) & (U=Y\W) & (U)), где X\V и Y\W – разности множеств X (объект) и V
(причина, содержащаяся в объекте), Y (свойство) и W (эффект, содержащийся в
свойстве), соответственно, n – число применений правил правдоподобного вывода,
J(1,n)(Z1U)  (J(1,n)(Z1U)  J(0,n)(Z1U)  J(,n)(Z1U));
D n (V,W)⇌X Y Z U (J(1,n)(X1Y) & (VX) &(WY) & J(-1,n)(Z1U)
&(Z=X\V) &(Z) & (U=Y\W) & (U)),
где J(-1,n)(Z1U)  (J(1,n)(Z1U)  J(0,n)(Z1U)  J(,n)(Z1U)).
Приведенные предикаты формализуют схемы вывода, которые Д.С. Милль
приводит в качестве примера, демонстрирующего действие второго правила. Если же
исходить только из его словесной формулировки, то предикат будет выглядеть
следующим образом:
Dn (V,W)⇌X W X0 (J(1,n)(X1W)&(VX)&(VX0)&J(1,n)( ((X\V)X0) 1W)).
D n (V,W)⇌X W X0 (J(-1,n)(X1W)&(VX)&(VX0)&J(-1,n)( ((X\V)X0) 1W)).
Необходимо отметить, что во втором правиле Д.С. Милля не выражается
сходство рассматриваемых явлений, а значит не выполняется основной принцип
индукции
(«сходство
повторяемость»).
фактов
Остальные
влечет
методы
подформулы предикаты сходства М
наличие
(отсутствие)
ДСМ-рассуждений

a, n
эффекта
содержат
в
и
его
качестве
(V,W) или их усиления, а Dn (V,W),
определенные выше, предполагают сравнение всего лишь двух фактов без условий
53
выполнимости подформул М-предикатов [13]. Таким образом, этот метод обладает
меньшей предсказательной силой и, как будет показано в четвертой главе, не дает
результатов в практических исследованиях.
Уточнением и имитацией в ДСМ-языке Второго правила будут следующие
правила правдоподобного вывода (п.п.в.- 1d~ ):
(I)

~
d
(I) d~
(I) 0d~
(I) d~
J ( , n ) (V  2 W ), D n (V, W ) & D n (V, W )
J 1,n 1 (V  2 W )
J ( , n ) (V  2 W ), D n (V, W ) & D n (V, W )
J
-1, n 1
(V  2 W )
J ( , n ) (V  2 W ), D n (V, W ) & D n (V, W )
J
0, n 1
(V  2 W )
,
,
,
J ( , n ) (V 2 W), Dn (V, W) & Dn (V, W)
J ( , n 1) (V 2 W)
Алгоритм
этого
метода
в
.
первой
формулировке
можно
описать
последовательностью следующих шагов:
1. Найти гипотезы с помощью метода сходства (простого метода или его
усилений).
2. Пусть у каждой гипотезы есть статус status. Пометить status (+)- и (–)-гипотез
false.
3. Пусть hyps – это массив (+)-гипотез. Для каждой гипотезы hyps[i] проделать шаг
4. Если все гипотезы просмотрены – шаг 9.
4. Для каждого родителя гипотезы hyps[i] проделать шаг 5. Если все родители
просмотрены – шаг 3.
5. Найти разности X\V и Y\W, где X1Y – это родитель гипотезы, V2W –
гипотеза hyps[i]. Если какая-либо разность пуста, вернуться к шагу 4, иначе шаг
6.
6. В массиве (–)-примеров найти пример Z1U такой, что Z=X\V, U=Y\W. Если
пример найден, пометить status гипотезы true, иначе шаг 7.
7. В массиве (0)-примеров найти пример Z1U такой, что Z=X\V, U=Y\W. Если
пример найден, пометить status гипотезы true, иначе шаг 8.
54
8. В массиве (τ)-примеров найти пример Z1U такой, что Z=X\V, U=Y\W. Если
пример найден, пометить status гипотезы true, иначе шаг 4.
9. Аналогично шаги 3-8 проделать для (–)-гипотез, но на шаге 6 поиск ведется в
массиве (+)-примеров, а на 3 шаге, если все родители просмотрены, – шаг 10.
10. Проверка гипотез на противоречивость: (+)- и (–)-гипотез, (+)- и (0)-гипотез, (–)и (0)-гипотез. В случае столкновения (+)- и (–)-гипотез – формирование (0)гипотез.
Сопоставим приведенный алгоритм рассмотренным формулам. Здесь шаг 1
соответствует нахождению пересечений (кандидатов в гипотезы V2W) посредством
одного из стандартных методов ДСМ-рассуждений: метод простого сходства,
единственность причины/следствия и запрет на контрпримеры.
Префикс X Y Z U
соответствует поиску хотя бы одного примера,
удовлетворяющего нужным условиям метода различия, на шагах 2-9, причем
подходящая гипотеза помечается true. Условие J(1,n)(Z1U) реализуется посредством
шагов 6-8. П.п.в.- 1d~ выполняются на шаге 10.
Программная реализация шагов 1 и 10 описана в разделе «Базовые методы
ДСМ-рассуждений АПГ».
Шаги 2-9 реализованы посредством трех функций, приведенных ниже. В силу
того, что структура объекта сокрыта от Решателя, использование общих функций
объекта obj_difference (функция для нахождения разности) и hyp_equal (функция
проверки равенства) позволила сделать этот миллевский метод различия одинаковым
для атомарной и неатомарной версии ДСМ-метода и перенести его в родительский
класс algorithmJSM.
/*главная функция; возвращает true в случае успешного завершения и
false в случае возникновения какой-либо ошибки */
bool differenceMethod_Mille_func(
vector<hypothesis*>& hyps, // гипотезы, полученные методом
сходства
vector<hypothesis*>& objs_contrarySort ); // массив примеров знака,
противоположного знаку гипотез hyps
55
/*найти в примерах (+), (–) или (0)-пример, равный разности dif; функция
возвращает true, если пример найден, false, иначе.
В атомарной версии разность – это разность только левых частей, в
неатомарной – как левых, так и правых частей */
bool findEqual_inEx(objectX*dif, vector<hypothesis*>& examples);
/*найти в (τ)-примерах пример (еще не доопределенный), равный
разности dif;
функция возвращает true, если пример найден, false, иначе*/
bool findEqual_in_TEx(objectX*dif, vector<hypothesis*>& examples).
Для (τ)-примеров в функции findEqual_in_TEx требуется дополнительная
проверка, что пример еще не был доопределен, так как реализована итеративная версия
ДСМ-метода.
Шаги 3-5 осуществляются внутри функции differenceMethod_Mille_func.
Операция разности определена в классе objectX [см. раздел «Внутреннее представление
данных» и Приложение А].
Кроме того, нужно отметить, что если гипотеза не подтвердилась (ее status
остался равен false), она сразу же удаляется из массива.
Алгоритм миллевского метода различия во второй формулировке требует только
вычисления разности объекта и причины. От предыдущей схемы алгоритма он будет
отличаться только на шагах 5-8:
1. Найти гипотезы с помощью метода сходства (простого метода или его
усилений).
2. Пусть у каждой гипотезы есть статус status. Пометить status (+)- и (–)-гипотез
false.
3. Пусть hyps – это массив (+)-гипотез. Для каждой гипотезы hyps[i] проделать шаг
4. Если все гипотезы просмотрены – шаг 9.
4. Для каждого родителя гипотезы hyps[i] проделать шаг 5. Если все родители
просмотрены – шаг 3.
5. Найти разности X\V, где X1Y – это родитель гипотезы, V2W – гипотеза
hyps[i]. Если разность пуста, вернуться к шагу 4, иначе шаг 6.
56
6. В массиве (–)-примеров найти пример Z1W такой, что Z=((X\V)X0), где X\V
– разность X и V, а V не вкладывается в X0. Для этого проверим, что (X\V)
вкладывается в Z, и вычислим X0, который есть разность Z и X\V. Если
множество X0 не пусто, то проверим также, что V не вкладывается в X0. Если
пример найден, пометить status гипотезы true, иначе шаг 7.
7. В массиве (0)-примеров найти пример Z1W такой, что Z=((X\V)X0), где X\V
– разность X и V, а V не вкладывается в X0. Если пример найден, пометить status
гипотезы true, иначе шаг 8.
8. В массиве (τ)-примеров найти пример Z1U такой, что Z=((X\V)X0), где X\V –
разность X и V, а V не вкладывается в X0. Если пример найден, пометить status
гипотезы true, иначе шаг 4.
9. Аналогично шаги 3-8 проделать для (–)-гипотез, но на шаге 6 поиск ведется в
массиве (+)-примеров, а на 3 шаге, если все родители просмотрены, – шаг 10.
10. Проверка гипотез на противоречивость: (+)- и (–)-гипотез, (+)- и (0)-гипотез, (–)и (0)-гипотез. В случае столкновения (+)- и (–)-гипотез – формирование (0)гипотез.
Префикс X W X0
соответствует поиску хотя бы одного примера,
удовлетворяющего условиям метода различия, на шагах 2-9, причем подходящая
гипотеза помечается true. Условие невложения причины V в X0 (VX0) и J(1,n)(
((X\V)X0) 1W) реализуется посредством шагов 6-8. П.п.в.- 1d~ выполняются на шаге
10.
Шаги 2-9 реализованы посредством трех функций, приведенных ниже. Так как
разность вычисляется только на левых частях примеров и гипотез, то мы имеем разные
тела у функций для атомарной и неатомарной версии ДСМ-метода.
/*главная функция; возвращает true в случае успешного завершения и
false в случае возникновения какой-либо ошибки */
bool modified_differenceMethod_Mille_func(
vector<hypothesis*>& hyps, // гипотезы, полученные методом
сходства
vector<hypothesis*>& objs_contrarySort ); // массив примеров знака,
противоположного знаку гипотез hyps
57
/*найти в примерах (+, -, 0) пример, левая часть которого равна объединению
разности dif и некоторого произвольного непустого множества, которое не
содержит причины v*/
bool modified_findEqual_inEx(objectX*v, objectX*dif, vector<hypothesis*>&
examples);
/*найти в тау-примерах пример(еще недоопределенный), левая часть
которого равна объединению разности dif и некоторого произвольного
непустого множества, которое не содержит причины v*/
bool modified_findEqual_in_TEx(objectX*v, objectX*dif, vector<hypothesis*>&
examples);
Шаги
3-5
осуществляются
внутри
функции
modified_differenceMethod_Mille_func. Операция разности определена в классе objectX
[см. раздел «Внутреннее представление данных» и Приложение А]. Если гипотеза не
подтвердилась (ее status остался равен false), она сразу же удаляется из массива.
В окончательной версии программы используется второй вариант миллевского
метода различия, так как он является точной реализацией именно словесной
формулировки второго правила Д.С. Милля.
1.2.2.1.2.2 Метод различия: упрощение метода сходства – различия
Эффективный вариант метода различия – это упрощение метода сходства-различия
[см. раздел «Метод соединенного сходства – различия»].
Формально этот метод определяется с помощью дополнительного условия (d0),
добавляемого к предикатам сходства М x, n (V,W) и М xе, n (V,W) [13, 41]:
d0⇌XYZU((J(1,n)(X1Y)
&
(WY)
((X\V))&(VZ)))  ( J(1,n) (Z1U)   (WU))).
То есть
М xd 0 , n (V,W)⇌М x, n (V,W)(d0),
58
&
(VX)&((X\V)Z)&
М xed 0 , n (V,W)⇌М xe, n (V,W)(d0).
Программная реализация данного метода сводится к нахождению причин V2W
посредством одним из стандартных методов ДСМ-рассуждений. Затем производится
проверка условия d0. Условие ( J(1,n) (Z1U)   (WU)) преобразуется в
( J(1,n) (Z1U) & (WU)), а в программе реализуется процедура, которая проверит, что
не выполняется условие (J(1,n)(Z1U) & (WU)). Таким образом, это гарантирует, что
для гипотезы V2W и для каждого её родителя X1Y не существует (+)-примеров
(можно включить в рассмотрение и (0)-примеры при их наличии) Z1U таких, что
(X\V), (X\V)Z (разность не пуста и входит в объект), (VZ) (причина в объект не
входит) и (WU) (эффект включается в правую часть примера).
Аналогично этот метод был реализован и для отрицательного предиката М
(V,W). В формулировке условия d0 достаточно заменить оценку 1 на -1.
Таким образом, для этой понадобилось создать две главные функции:
/* главная функция, содержит 2 цикла: по гипотезам и их родителям*/
bool differenceMethod_Simplification_func(
vector<hypothesis*>& hyps, // гипотезы, полученные методом сходства
или его усилением
vector<hypothesis*>& objs_sameSort );// массив примеров,
породившие гипотезы hyps
/* проверить, что не выполняются условия метода различия для (0) и
(+)/(–)-примеров*/
bool checkInEx_NotComplyingWithDifferenceM(
hypothesis *v, // гипотеза
objectX* dif, // разность
vector<hypothesis*>& arr // массив (0), (+) или (–)-примеров
).
59

xd 0 , n
Функция
differenceMethod_Simplification_func
возвращает
true
в
случае
успешного завершения и false в случае возникновения какой-либо ошибки, функция
checkInEx_NotComplyingWithDifferenceM возвращает false, если найден пример,
нарушающий условие метода различия, и true в противном случае. Если гипотеза
опровергнута, то она сразу же удаляется из массива.
Функции присутствуют в классах прямого ДСМ-метода. Реализация процедур
отличается, так как в случае атомарной версии условия, накладываемые на правые
части не учитываются.
1.2.2.1.2 Метод соединенного сходства – различия
Метод соединенного сходства – различия является наиболее сложным из
реализованных в ходе исследования методов ДСМ-рассуждений. Общая идея этого
метода выражена в третьем правиле – индуктивного метода соединенного сходства –
различия Д.С. Милля: «Если два или более случая возникновения явления имеют
общим лишь одно обстоятельство, и два или более случая невозникновения того же
явления имеют общим только отсутствие того же самого обстоятельства, то это
обстоятельство, в котором только и разнятся оба ряда случаев, есть или следствие, или
причина, или необходимая часть причины изучаемого явления» [40].
Формально общая идея индуктивного метода сходства-различия Д.С. Милля состоит
в следующем [13, 41]:
(a) для объекта X имеет место наличие эффекта W при условии, что причина V
содержится в X, т.е. J(1, n)(X1Y)&(VX)&(WY);
(b) эффект W такой, что WY, отсутствует у объекта X, если V не содержится в Х и
другие причины Vj эффекта W также не содержатся в X;
(с) существует множество примеров для условий (а) и (b), соответственно, в
количестве k и l таких, что k2 и l2.
Кроме условий (а), (b) и (с) формализация соединенного метода сходства-различия
удовлетворяет еще одному условию (d).
(d) Рассматриваемые причины Vj эффекта W исчерпаны, т.е. перечислены все
(условие исчерпываемости причин Vj).
Метод сходства – различия состоит из нахождения гипотез с помощью метода
сходства (простого метода или его усилений) и проверки существования множества
60
примеров для Х1Y таких, что их объекты (т.е. значения Х), сходные с объектами
позитивных примеров, но не содержащие искомой причины V, удовлетворяют условию
такому, что примеры имеют оценку (–1, n) или (, n) при условии WY, либо эти
примеры имеют оценки (1, n), (–1, n), (0, n) или (, n), но (WY) [6].
Трудность состоит в том, что требуется исключить влияние других позитивных
причин Vi, отличных от искомой причины V для W. Поэтому требуется рассмотреть
два случая:
(d1) V – единственная причина эффекта (следствия) W;
(d2) V – не единственная причина, т.е. существуют позитивные причины V1, …, Vm,
где m1, такие, что они не сравнимы с V. Сначала это условие было представлено
формулой ((VVi)(Vi V)) , где i = 1, …, m, однако в ходе компьютерных
m
экспериментов [37, 42] данное условие было ослаблено до ( & (V ≠ Vi)), так как
i 1
первоначальная формулировка оказалась слишком сильной.
Метод соединенного сходства-различия – это процедура прямого ДСМ-метода. Она
была реализована как для (+), так и (–)-предиката. В случае использования метода
сходства-различия в качестве (–)-предиката тип истинностного значения 1 в условиях
должна быть заменена на -1.
1.2.2.1.2.1
Метод соединенного сходства-различия с единственной
причиной
Посредством d1(l) обозначим дополнительное условие – метод сходства-различия с
единственной (+)-причиной. С помощью Х\V обозначим операцию разности множеств,
тогда экзистенциальное условие (ЭУ) и условие эмпирической зависимости (ЭЗ) вместе
с условием исчерпываемости (УИ) будут представлены следующим образом [6, 13]:
(ЭУ)
l
Х1... ХlZ1... Zl( & [((Xi=((X\V)Zi))&((X\V)=)&((VZi)(ZiV)))&
i 1
((J(1,n)(Xi1Yi)&(WYi))(WYi))]).
(ЭЗ) с (УИ)
61
XY(J(1, n)(X1Y)&(VX)&(WY)&X0Y0Z0[((X0=((X\V)Z0))&
((X\V)=)&((VZ0)(Z0V))&J(, n)(V2W)& М xe,n (V,W)& М y,n (V, W))
l
((J(1, n)(X01Y0)&(WY0)(WY0))&(  ((X0=Xi)&(Y0=Yi)&(Z0=Zi))))]),
i 1
где
условие
исчерпываемости
(УИ)
есть
подформула
l
(ЭЗ):
(

i 1
((X0=Xi)&(Y0=Yi)&(Z0=Zi))), а x{a+е+, a+b+е+}, y{а–, a–b–, a–е–, a–b–е–}, a+, b+, е+ и a–,
b–, е– – добавочные условия для (+)- и (–)-предикатов прямого метода сходства М x,n
(V,W) и М y,n (V, W), соответственно.
Таким образом, условие d1(l) для соединенного метода сходства-различия
Д.С. Милля с единственной (+)-причиной в формализме ДСМ-метода выражается
следующим образом: d1(l) = ((ЭУ)&(ЭЗ)&(l2)).
Обозначим предикат положительного сходства-различия с условием единственности
причины W посредством М xd1,n (V,W), тогда
М xd1,n (V,W) ⇌ l( М x,n (V,W)d1(l)),
где x{a+е+, a+b+е+}, а y{а–, a–b–, a–е–, a–b–е–} (y – индекс (имя) Мy,n (V, W),
входящего в (ЭЗ)).
Метод
сходства-различия
для
(–)-предиката
с
единственной
(–)-причиной
формулируется аналогично.
В качестве примера приведем описание алгоритма соединенного метода сходства –
различия с единственной (+)-причиной. Оно будет состоять из следующих шагов:
1.
Найти единственную причину. Если такой причины не существует, стратегия не
применима. Если причина найдена, перейти к шагу 2.
2.
Проверить существования множества примеров таких, что их объекты, сходные
с объектами позитивных примеров (включают разность позитивного примера и
причины V), но не содержащие искомой причины V, удовлетворяют условию:
примеры имеют тип истинностного значения –1 или , но не 0, если пример обладает
эффектом причины, найденной на шаге 1.
Принципы реализации шага 1 описаны в разделе «Единственность причины
(следствия)». Шаг 1 включает проверку выполнения предиката М x,n (V,W), а также
62
выполнение условия нижней границы для d1(l): (l2). Шаг 2 соответствует
подформулам (ЭУ) и (ЭЗ) формулы d1(l).
В программе метод отдельно реализован только в атомарной версии ДСМметода, чтобы проиллюстрировать выполнение всех необходимых условий. Эффект
всегда один, и причина, если она существует, формирует всего лишь одну гипотезу
соответствующего знака.
Для неатомарного прямого ДСМ-метода используется общий метод сходстваразличия (см. раздел «Общий метод соединенного сходства-различия»), так как
допускается возможность наличия разных эффектов, и единственная причина должна
рассматриваться для конкретного эффекта.
В программе шаг 1 выполняется с помощью функции нахождения единственной
причины [см. раздел «Единственность причины (следствия)»].
Шаг 2 реализован посредством основной функции
/*проверка условия метода сходства - различия для данной единственной
причины*/
bool checkDifferenceSimiliarityMethodCondition
(objectX*causeV, // «тело» причины
vector<hypothesis*>& arrEx, // массив примеров, породивших причину
vector<hypothesis*>& counterArrEx); // массив примеров противоположного
знака
и вспомогательных функций
/*проверка строгого вложения разности z\v и невложения v в
противоположный пример*/
bool checkDifEnclosure(
vector<hypothesis*>& arr, //на вход подается массив противоположных
примеров
objectX*dif, // разность
objectX*reasonV); // тело гипотезы с единственной причиной
/*проверка строгого вложения разности z\v и невложения v в (τ)-примеры,
которые еще не доопределены*/
63
bool checkDifEnclosure_TEx(objectX*dif, // разность
objectX*reasonV); // тело гипотезы с единственной причиной
/*проверка строгого вложения разности z\v и невложения v в 0-примеры */
bool checkDifEnclosure_InZeroEx(objectX*dif, // разность
objectX*reasonV) // тело гипотезы с единственной причиной
Функция checkDifferenceSimiliarityMethodCondition получает на вход найденный
объект, представляющий собой тело найденной гипотезы, и возвращает true, если
условие метода сходства-различия выполнено, и false, иначе.
Внутри функции в цикле вычисляется разность для каждого объекта примера
(позитивного для (+)-предиката или отрицательного для (–)-предиката) и искомой
причины, затем проверяется существование примеров противоположного знака и (τ)примеров независимо от эффекта, а также отсутствие (0)-примеров с исследуемым
эффектом.
Для (τ)-примеров вводится отдельная функция, так как в ходе эксперимента
какие-то из (τ)-примеров могли быть уже доопределены (если это не первый такт ДСМрассуждений), поэтому необходимо проверить тип примера (переменная-член класса
objectX – objSort).
Функции checkDifEnclosure и checkDifEnclosure_TEx возвращают значение true,
если подтверждающие примеры найдены и false, иначе.
Функция checkDifEnclosure_InZeroEx возвращает значение false, если найден
(0)-пример (что означает, что условие метода-различия нарушается), и true, иначе.
1.2.2.1.2.2 Общий метод соединенного сходства-различия
Определим теперь позитивный предикат для общего метода сходства – различия

М xd 2 , n (V,W) [13, 41]. Он определяется посредством предиката М x, n (V,W) и условия для
соединенного сходства – различия d2(l,s), где
d2(l,s) = Z1Zl U1Ul X1Xl Y1Yl V1Vs ((ЭУ)2 & (ЭЗ)2
&(l2)&(s2)):
64

М xd 2 , n (V,W) ⇌ М x, n (V,W) & l s d2(l,s).
Экзистенциальное условие (ЭУ)2
для общего метода соединенного сходства –
различия с неединственной причиной для эффекта W определяется посредством трех
подформул:
l
s
s
i 1
j 1
j 1
( & (Zi, Ui, Xi, Yi, V, W)), ( & (Vj, W)) и ( & (Vj, V, X1,Xl)), которые
определяются ниже.
Заметим, что сходство фактов представлено как в М x, n (V,W), так и в подформуле
l
( & (Zi, Ui, Xi, Yi, V, W)), которая входит в (ЭУ)2 .
i 1
l
Определим подформулу ( & (Zi, Ui, Xi, Yi, V, W)):
i 1
((J(1,n)(Z11U1) & (VZ1) & (WU1)) && (J(1,n)(Zl1Ul) & (VZl)&(WUl)) &
(((Z1\V)=) & &((Zl\V)=))&((Z1\V) X1) && ((Zl\V)Xl)) & ((VX1)&  &
l
(V Xl))&( & (( J(1,n)(Xi1Yi)  (WYi)) & Z U ((J(1,n) (Z1U) & (VZ) & (WU)
i 1
l
l
i 1
i 1
& ((Zl\V) = ) & (VXi) & ( & ((Z\V)Xi))) (  ((Z=Zi)&(U=Ui))))].
s
Определим вторую подформулу ( & (Vj, W), входящую в (ЭУ)2 и содержащую
j 1
переменные V1,,Vs и W:
s
( & М x, n (Vj, W)&  М x, n (Vj, W) & J(,n) (Vj 2W)) & Z ((М x, n (Z, W)&  М x, n (Z, W)
j 1
s
& J(,n) (Z 2W))(  (Z=Vj))).
j 1
Данная
подформула
выражает
(j = 1,…,s), входящие в гипотезы J1,
тот
n+1(Vj
факт,
что
Vj
–
причины
W
2W), порожденные однородной ДСМ-
стратегией, имеющей имя х [9]. Кроме того, эта подформула (ЭУ)2 содержит условие
исчерпываемости множества всех причин Vj эффекта W.
s
Определим также третью подформулу ( & ((Vj, V, X1,Xl))), входящую в (ЭУ)2 и
j 1
содержащую переменные Vj, V, X1,Xl, где j = 1,…,s. Эта подформула в соответствии
с идеей Д.С. Милля предохраняет эффект W от влияния причин V1,Vs , отличных от
V:
65
s
( & (((VjX1)&…& (VjXl)) & (V = Vj)) ).
j 1
Таким образом, экзистенциальное условие (ЭУ)2 для формулировки метода
соединенного сходства – различия имеет следующий вид:
l
s
i 1
j 1
(ЭУ)2 = ( & ((Zi, Ui, Xi, Yi, V, W))&( & ((Vj, W)&(Vj, V, X1,Xl))).
Эмпирическая зависимость (ЭЗ)2, соответствующая экзистенциальному условию
(ЭУ)2, имеет вид:
s
XYX0Y0((J(1,n)(X1Y) & (VX) & (WY)&((X\V)X0)& ((X\V)=)) & ( &
j 1
l
(VjX0)) & (VX0))  ((J(1,n)(X01Y0)  (WY0)) & (  ((X0=Xi)&(Y0=Yi)))).
i 1
(ЭЗ)2 выражает миллевское условие для индуктивного метода различия: отсутствие
установленной причины V влечет отсутствие соответствующего ей эффекта (следствия)
W при условии отсутствия других причин Vj, отличных от V.
Метод сходства-различия для (–)-предиката формулируется аналогично.
В качестве примера приведем описание алгоритма положительного соединенного
метода сходства – различия:
1.
Найти пересечения с помощью метода сходства (простого метода или его
усилений), при этом в алгоритме Норриса для примеров сохраняем ссылки на
пересечения, родителями которых они являются.
2.
Пометить те пересечения, которые равны друг другу, false (в программе это
переменная-член класса hypothesis status).
3.
Удалить из массива пересечений и пометить false те, которые оказались
равными (–)-пересечениям.
4.
Разделить пересечения по группам относительно эффекта.
5.
Удалить у каждого (+)-примера из массива ссылок на пересечения, родителями
которых он является, пересечения, не подошедшие по порогу родителей,
повторяющиеся пересечения или нарушающие условия усилений простого метода
сходства (в программе у этих пересечений status равен false).
6.
Для каждой группы пересечений повторить шаги 7-12.
7.
Для i-ого (+)-примера X1Y проделываем шаги 8-11.
66
8.
Вычислить разность X и причин из массива ссылок примера (с изучаемым
эффектом). Обозначим ее DIF.
9.
Поиск (–)- и (τ)-примеров, в которые входит DIF, но не входит ни одна причина
изучаемого эффекта, сохранение идентификаторов примеров в массиве М.
10. Проверить, что нет (+)- и (0)-примеров, в которые входит DIF, не входит ни
одна причина изучаемого эффекта, но входит изучаемый эффект. Если такой пример
найден, то помечаем пересечения, входящие в X, false.
11. Если (+)-примеры закончились, перейти к шагу 12, иначе шаг 6.
12. Проверяем общий массив пересечений изучаемого эффекта. Если пересечение
помечено true, проверяем в массиве М наличие хотя бы два подтверждающих
примеров. Если такие примеры не найдены, пересечение помечается false.
Таким образом, в результирующий массив гипотез отбираем только те пересечения,
которые помечены true.
Сопоставляя данный алгоритм с предикатом метода сходства – различия, следует
обратить внимание на следующие моменты:
М x, n (V,W) реализуется на шаге 1, причем шаг 4 необходим для удобства проверки
условия l s d2(l,s).
(ЭУ)2 по сути соответствует остальным шагам 2-12, где необходимо выделить
проверку подформулы (Zi, Ui, Xi, Yi, V, W) – шаги 6-11. Проверка подформулы (Vj,
W) осуществляется заранее, на шагах 1 и 3. Подформула (Vj, X1,Xl) выполняется за
счет шагов 2, 5, 9.
Условие исчерпываемости выполняется, так как в алгоритме рассматриваются все
примеры и все кандидаты в гипотезы.
Достаточное количество неположительных примеров, в которые входит разность, но
не входит ни одна причина изучаемого эффекта причины, (l2) проверяется благодаря
шагам 9 и 12.
Эмпирическая зависимость (ЭЗ)2 выполняется, так выполняется условие (ЭУ)2, но
особо стоит отметить шаги 9 и 10, которые и содержат проверку миллевского условия
для индуктивного метода различия.
67
Сначала рассмотрим, как этот алгоритм реализован в атомарной версии ДСМметода. В этом случае эффект не учитывается, так как все гипотезы относятся к одной
группе.
В алгоритме задействованы следующие функции:
/*алгоритм Норриса с сохранением ссылок у примеров, в порождении каких
гипотез они участвовали (у объекта класса hypothesis массив ссылок – это
vector<hypothesis*> parentHyps)*/
void algorithmNorrisSavingRefs(
vector<hypothesis*>& hyps, // динамический массив, в кот-м храним все
пересечения
vector<hypothesis*>& arr, // массив примеров
int nPredArr); // номер примера, с которого следует начать выполнять
алгоритм
/*вспомогательная функция – проверка условия относительной
каноничности, возвращает true, если условие выполнено, false, иначе*/
bool subNorrisSavingRefs(vector<hypothesis*>& hyps, hypothesis*& h,
vector<hypothesis*>& arr, int i, objectX *&objX);
/* удаляем из рассмотрения на сходство-различие противоречивые
гипотезы*/
void deleteConflictingHyps_from_1Arr(
// массив гипотез для проверки на условие сходства-различия
vector<hypothesis*>& hyps,
// массив пересечений противоположного знака
vector<hypothesis*>& hyps_contrarySort);
/*исключаем из списка конкретного примера неподходящие гипотезы
(помеченные false (это значит, что для них не выполнены какие-то условия
усиления простого метода сходства) или число родителей < порогового
значения)*/
68
void siftFalseReasons_in_ObjectHyps_ByStatusOrParentThreshold(
// пример представлен в виде гипотезы для унификации всех процедур
hypothesis*z,
short parentThreshold); // пороговое значение родителей
/*найти номера гипотез в векторе hyps, родителями которых является
пример z, результат сохраняется в массиве hyp_nums*/
void find_HypNumsOfExample_inHypVector(vector<hypothesis*>& hyps,
hypothesis *z, vector<short>& hyp_nums);
/*найти разность тела примера и причин, входящих в него*/
objectX* findDifference_Z_and_Reasons(hypothesis*z);
/*найти противоположные примеры, удовлетворяющие условиям метода
сходства-различия; результат сохраняется в векторе vec_Xs, содержащем
идентификаторы неположительных примеров, причем vec_Xs[i] для гипотезы
hyps[i]*/
bool findContraryEx_ComplyingWithDifferenceM(
vector<hypothesis*>& hyps, // масив гипотез изучаемого эффекта
hypothesis *z, // рассматриваемый пример
// индексы гипотез в массиве hyps, родителями которых является пример z
vector<short>& hyp_nums,
objectX* dif, // разность z и причин, в него входящих
vector<hypothesis*>& arr, // массив противоположных примеров
vector<vector<short>>& vec_Xs);
/* аналогично для (τ)-примеров с дополнительной проверкой, что пример
еще не был доопределен; arr - массив (τ)-примеров */
bool findTEx_ComplyingWithDifferenceM(vector<hypothesis*>& hyps,
hypothesis *z, vector<short>& hyp_nums, objectX* dif, vector<hypothesis*>& arr,
vector<vector<short>>& vec_Xs);
69
/*проверить, что не выполняются условия метода различия с 0 и
противоположными по знаку примерами*/
bool checkInEx_NotComplyingWithDifferenceM(
vector<hypothesis*>& hyps, hypothesis *z, vector<short>& hyp_nums,
objectX* dif, vector<hypothesis*>& arr);
/*отметить false неподходящие гипотезы после проверки
всех условий общего метода различия*/
void markSuitableHypothesesAfterDifM(vector<hypothesis*>& lstHyp,
vector<vector<short>>& vec_Xs);
/*общий метод сходства-различия – главная функция*/
bool differenceSimiliarityMethodGeneral(
vector<hypothesis*>& lstHyp, // массив гипотез
// массив примеров того же знака, что и гипотезы
vector<hypothesis*>& objs_sameSort,
// массив примеров противоположного знака
vector<hypothesis*>& objs_contrarySort,
// пороговое значение родителей для гипотез данного знака
short parentThreshold_sameSort);
В неатомарной версии ДСМ-метода каждая процедура усложняется тем, что
необходимо разделить гипотезы на группы по эффекту и проверять все условия для
текущего эффекта. Помимо того, что каждая функция усложняется, появляются
дополнительные функции:
/* разбить гипотезы на группы по эффекту (по одинаковой правой части)*/
void devideReasons_byEffect(
vector<hypothesis*>& hyps, // общий массив гипотез
70
vector<vector<hypothesis*>>& effect_set); // массив групп гипотез
/*найти разность тела примера и причин, входящих в него в соответствии
с эффектом в h.
z_has_effect = false, если таких причин вообще нет в примере.
Эта функция заменяет функцию с таким же названием, используемую в
атомарной версии*/
objectX* findDifference_Z_and_Reasons(hypothesis*z, hypothesis* h, bool&
z_has_effect);
/*помечаем status неподходящих гипотез как false*/
void markReasonsOfEffect_False(hypothesis*z, hypothesis* h);
Гипотезы разбиваются на группы по эффекту в главной функции:
bool differenceSimiliarityMethodGeneral_forWholeResonsSet(
vector<hypothesis*>& lstHyp, // массив гипотез
// массив примеров того же знака, что и гипотезы
vector<hypothesis*>& objs_sameSort,
// массив примеров противоположного знака
vector<hypothesis*>& objs_contrarySort,
// пороговое значение родителей для гипотез данного знака
short parentThreshold_sameSort);
Затем там же для каждой группы гипотез вызывается функция:
bool differenceSimiliarityMethodGeneral(
vector<hypothesis*>& lstHyp, vector<hypothesis*>& objs_sameSort,
vector<hypothesis*>& objs_contrarySort, short parentThreshold_sameSort).
71
1.2.1.1.3 Метод остатков
1.2.1.1.3.1 Общий метод остатков
Метод остатков был сформулирован в четвертом правиле Д.С. Милля:
«Если из явления вычесть ту его часть, которая, как известно из прежних индукций,
есть следствие некоторых определенных предыдущих, то остаток данного явления
должен быть следствием остальных предыдущих» [40].
В [13] приведена формализация индуктивного метода остатков:
Условие метода остатков:
B m 1 (V, W) ⇌l1lkkk1krrX1Y1XkYkZ1U1 ZrUr
((ЭУ)R &(СХ)R &(ЭЗ)R &((k12) & (kr2))(r≥1)&(k≥2r)),
где m=max(n, 𝑙1 , …, 𝑙𝑘 ) + 1, 𝑙𝑖 , 𝑘, 𝑟 – константы (i=1, … k),
n – число шагов применения п.п.в. для получения гипотезы J1,n(V2W).
J1,n(V2W) – результат предыдущих индуктивных рассуждений, реализующих
какие-либо стратегии Strx,y ДСМ-метода АПГ,
k1
k
(ЭУ)R ⇌ (( & (J (1,l ) (Xi1Yi) & (VXi) & (WYi)) & ( & J (1,l ) (Xi1Yi)) &  
i 1
i 1
i
kr
i
r
& (J (1,l ) (Xi1Yi)) &(  ki  k ) – экзистенциальное условие;
i  к r 1 1
i
i 1
k1
k1
kr
i 1
i 1
i  к r 1 1
(СХ)R⇌(((  (Xi\V)=Z1)&(Z1=)&(  (Yi\W)=U1)&(U1=))& ((( 
kr
(Xi\V)=Zr) &(Zr=)&(  (Yi\W)=Ur)& (Ur=)) – условие сходства;
i  к r 1 1
k1
(ЭЗ) R1 &(УИ) R1 ⇌lXY ((J(1,l)(X1Y) & (Z1X))  ((U1Y) &(  ((X=Xj) &
j 1
(Y=Yj) & (l=lj))))),  ,
(ЭЗ) Rr  &(УИ) Rr  ⇌lXY ((J(1,l)(X1Y) &(ZrX))  ((UrY) & (
(Y=Yj)&(l=lj)))));
r
(ЭЗ)R⇌ & ((ЭЗ) Ri  &(УИ) Ri  ) – эмпирическая зависимость;
i 1
72
kr

j  k r 1 1
((X=Xj) &
(
((k12) & (kr2))(r≥1)&(k≥2r) - условие нижней границы числа примеров.
Сформулированный
неатомарной
версии
выше
метод
ДСМ-метода
остатков
АПГ.
представляет
Метод
собой
остатков
для
процедуру
(–)-предиката
формулируется аналогично.
Пусть I+  множество имен (индексов) усилений М a, n (V,W), а I  множество имен
усилений М

a ,n
(V,W) [13, Часть 1]. Для метода остатков формулируются
соответствующие правила вывода-1R [13, Часть 2]:

R
(I) :
(I) R :
J ( , n 1) (V  2 W ), M x , n 1 (V, W ) & M y , n 1 (V, W ), Bm -1 (V, W )
J 1,m (C1  2 Q1 ),, J 1,m (Cr  2 Q r )
J ( , n 1) (V  2 W ), M x , n 1 (V, W ) & M y , n 1 (V, W ), Bm -1 (V, W )
J -1,m (C1  2 Q1 ),, J -1,m (Cr  2 Q r )
,
.
x I  , y I  , m=max(n, l1 , , lk )+1, 𝑙𝑖 – константы (i=1, … k).
J1,m(Ci2Qi) и J-1,m(Ci2Qi) соответствуют парам Zi, Ui, значениями компонентов
которых являются Ci (для Zi) и Qi (для Ui), i=1, , r .
J1,m(Ci2Qi) образуют множество заключений формализованного метода остатков
для (+)-примеров, J-1,m(Ci2Qi) – для ()-примеров.
В правилах вывода присутствуют предикаты сходства M x,n 1 (V,W) и М y ,n 1 (V,W) и

дополнительное условие B m1 (V,W), где {+, }, содержащее (ЭУ)R, (СХ)R, (ЭЗ)R и
нижние границы числа примеров. Таким образом, п.п.в.-1R  это правила индуктивного
миллевского метода с неэлементарным (миллевским) дополнительным условием [13,
Часть 2].
В качестве примера приведем описание алгоритма положительного метода остатков:
Пусть найдены гипотезы в результате применения некоторых стратегий ДСМметода и произошла стабилизация ДСМ-рассуждений. Пусть residues – переменный
массив для разностей, result – массив для сохранения полученных методом остатков
гипотез.
73
Для каждой (+)-гипотезы V2W проделать шаг 2. Если (+)-гипотезы
1.
закончились перейти к шагу 7.
Очистить массив residues и для каждого родителя гипотезы проделать шаг 3.
2.
Если все родители просмотрены, то перейти к шагу 4.
Для родителя X1Y получить Z = X\V и U = Y\W. Если обе разности не пусты,
3.
добавить модифицированный таким образом пример к переменному массиву residues.
4.
Выполнить алгоритм Норриса для массива разностей residues.
5.
Удалить гипотезы, полученные на шаге 4, не подходящие по пороговому
значению родителей гипотез.
Добавить новые (неповторяющиеся) гипотезы, оставшиеся после шага 5, к
6.
массиву result. В качестве последнего родителя гипотезы добавить номер гипотезы, из
которой она была получена (идентификатор гипотезы V2W). Вернуться к шагу 1.
Запомнить общее число гипотез в массиве result в переменной size_init.
7.
Проверить полученные гипотезы (массив result) на непротиворечивость. ((+)-гипотеза
противоречива, если она совпадает с какой-либо (–) или (0)-гипотезой.) В ходе
проверки найти количество противоречивых гипотез и удалить их из массива result.
Вычислить степень непротиворечивости d = (size_init – число противоречивых
8.
гипотез)/size_init.
Если d < заданного порога непротиворечивости гипотез (по умолчанию 0,8),
9.
сообщить пользователю, что стратегия не применима, удалить оставшиеся гипотезы из
массива result и перейти к шагу 12. Шаг 10, иначе.
10.
Добавить гипотезы из массива result к общему массиву (+)-гипотез.
11.
Проделать шаг аналогии с обновленным массивом (+)-гипотез.
12.
Проверить аксиому каузальной полноты (+).
Здесь необходимо отметить, что (СХ)R выполняется за счет шагов 3 и 4. Условие
нижней границы числа примеров проверяется на шаге 5. (ЭУ)R и (ЭЗ)R гарантируется
шагами 1-4 . Так как в программе сохраняются ссылки на родителей гипотезы, заранее
известны примеры, в которые вкладывается гипотеза. В случае модификации метода
остатков, если гипотезы нужно вычесть из примеров противоположного знака,
необходимо ввести дополнительный цикл по примерам для проверки вложения i-й
гипотезы в j-й пример.
74
Данный
алгоритм
algorithmJSM_nonAtomicDirect
осуществляется
для
посредством
неатомарного
функций
ДСМ-метода.
класса
Возможны
2
разновидности метода остатков: вычитание полученных гипотез из их родителей и
вычитание полученных гипотез из примеров противоположного знака (для получения
дополнительных гипотез противоположного знака).
В реализации метода остатков участвуют следующие функции:
/*проверка полученных гипотез на непротиворечивость*/
int check_hyps_correctness(
vector<hypothesis*>& result, // массив гипотез, полученных до выполнения
шага 7
vector<hypothesis*>& arrH); // массив (–) /(+)/(0)-гипотез
/* присоединить текущие гипотезы к результату*/
void append_vectors(vector<hypothesis*>& result, vector<hypothesis*> hyps);
/* удалить повторяющиеся гипотезы*/
void check_repeated_hyps(vector<hypothesis*>& result,
vector<hypothesis*>& hyps);
/* добавить последнего родителя - номер гипотезы, которая участвовала
в порождении*/
void add_lastParent_to_hyps(vector<hypothesis*>& hyps, hypothesis*id);
/* дополнить общий массив гипотез arr полученными гипотезами из
массива result*/
int fillArrayWithHypothesis_forRemMethod(vector<hypothesis*>& result,
vector<hypothesis*>& arr);
/*основная процедура (вычитаем гипотезы из их родителей)*/
75
bool residuesMethod_func(vector<hypothesis*>& arrH,
vector<hypothesis*>& result, short parentThreshold);
/*основная процедура (из примеров противоположного знака вычитаем
гипотезы)*/
bool residuesMethod_func(vector<hypothesis*>& arrH,
vector<hypothesis*>& result, short parentThreshold, vector<hypothesis*>&
exs);
/*проверка полученных гипотез на непротиворечивость: в случае успеха
пополнение массива гипотез и доопределение (τ)-примеров новыми
гипотезами*/
int processResiduesMainFuncResult(vector<hypothesis*>& result,
vector<hypothesis*>& arrH, vector<hypothesis*>& contraryArrH);
/* главная функция для случая вычитания гипотез из примеров
противоположного знака*/
int residuesMainFunc_differentSign(
vector<hypothesis*>& arrH, // массив гипотез, полученных к моменту
стабилизации ДСМ-рассуждений
vector<hypothesis*>& contraryArrH, // массив гипотез противоположного
знака
// порог родителей гипотез противоположного знака
short parentThreshold_contrarySign,
vector<hypothesis*>& exs); // массив примеров противоположного знака
/* главная функция для случая вычитания гипотез из их родителей */
int residuesMainFunc_sameSign(
// массив гипотез, полученных к моменту стабилизации ДСМ-рассуждений
vector<hypothesis*>& arrH,
76
// массив гипотез противоположного знака
vector<hypothesis*>& contraryArrH,
short parentThreshold); // порог родителей гипотез
Реализованный алгоритм допускает выполнение процедуры метода остатков и
для (+)-гипотез, и для (–)-гипотез.
Необходимо отметить, что существуют и другие варианты использования
метода остатков. Например, возможно итеративное использование процедуры метода
остатков: если в результате применения метода остатков удалось доопределить хотя бы
один (τ)-пример, то всю последовательность ДСМ-рассуждений можно повторить
вновь, и так до стабилизации процесса.
1.2.2.1.3.2 Усеченный метод остатков
Усеченный метод остатков – это вспомогательная процедура для атомарной
версии ДСМ-метода, реализующая упрощение индуктивного метода остатков. По сути
эта процедура не является методом, так как она не задана никаким правилом
Д.С.Милля, поэтому в названии понятие «метод» используется условно.
Усеченный метод остатков может использоваться для выявления среди
признаков, описывающих объекты, такие, которые необходимы для наличия
исследуемого эффекта.
Эксперт выбирает признаки, которые по каким-либо причинам могут влиять на
исследуемый эффект, и определяет их в И-фильтры [см. раздел «Вспомогательные
процедуры» – «Фильтры»]. Это означает, что признаки обязательно должны
присутствовать в «теле» гипотезы. Далее эксперт задает стратегии, которые требуется
применить.
1. Пусть дана БФ и было проведено три эксперимента с применением заданных
стратегий ДСМ-рассуждений. В первом эксперименте применяется опция И-фильтры
(так получаются гипотезы, которые содержат необходимые признаки), во втором – нет
(так получаются гипотезы, которые могут как содержать, так и не содержать
интересующие эксперта признаки), а в третьем эксперименте признаки из И-фильтров
вообще не участвуют. Обозначим через Arr1 – массив (+)- и (–)-гипотез, полученный с
помощью первой стратегии, через Arr2 – второй, через Arr3 - третьей.
77
2. Найдем разность «тел» каждой (+)-гипотезы из Arr1 со всеми (+)-гипотезами
из Arr2. Сохраним полученные (+)-разности.
3. Найдем разность «тел» каждой (–)-гипотезы из Arr1 со всеми (–)-гипотезами
из Arr2. Сохраним полученные (–)-разности.
4. Обозначим массив полученных (+)- и (–)-разностей как ArrDiff. Сравним на
равенство гипотезы из ArrDiff и Arr3. Если найдена хоть одна равная пара гипотез, то
это значит, что признаки, определенные в И-фильтры, не являются необходимыми, так
как удалось получить в «остатке» ArrDiff гипотезы, в которых эти признаки не
участвуют.
Полученные на выходе гипотезы затем могут быть исследованы и приняты во
внимание при оценке результата экспертом.
Усеченный метод остатков был реализован впервые и успешно применен при
анализе онкологических данных (данных больных меланомой). Эксперименты были
описаны в [27, 42].
В результате проведенных экспериментов было подтверждена связь между
продолжительностью жизни больного и значением протеина S100, а именно: значение
S100, меньшее 0.12 нг/мл, влечет продолжительность жизни больше 5 лет, а значение
S100, большее 0.12 нг/мл, – меньше 5 лет.
В программе все функции, необходимые для выполнения усеченного метода
остатков, инкапсулированы в классе truncResid. Описание класса приведено в
Приложении 1. Класс содержит функции для считывания гипотез, записи результата и
собственно функции нахождения разности между гипотезами.
Компоненты интерфейса и представления данных, связанные с усеченным
методом остатков,
описаны в главах «Визуальное представление данных» и
«Графический интерфейс ДСМ-Решателя».
1.2.2.2
ПРАВИЛА
ПРАВДОПОДОБНОГО
ВЫВОДА
ПО
АНАЛОГИИ
ДСМ-рассуждения являются имитацией когнитивного процесса «анализ данных –
предсказание – объяснение». Таким образом, анализ данных, предсказание и
объяснение являются существенными компонентами ДСМ-метода АПГ.
78
Вывод по аналогии осуществляет предсказание с помощью порожденных гипотез
о причинах 2. Он выполняется посредством правил правдоподобного вывода 2-го
рода (п.п.в.-2). Для этих правил формулируются предикаты П п (V, W) ({+, –, 0, }),
позволяющие предсказывать наличие (отсутствие) эффекта W у объекта V [13],
представляющие пример, который в исходной БФ имеет тип истинностного значения
(«неопределенно»).
Предикат, представляющий посылку вывода по аналогии для (+)-примеров из БФ,
имеет вид:
~
П n (V,W) ⇌ k  n (V,W,k), где
k
k
~
 n (V,W,k) ⇌ Y1Yk ((( & Xi (J(1,n)(Xi2Yi) & (XiV))) & (  Yi=W))
i 1
i 1
& U (((UW) & (U))  Z((J(–1,n)(Z2U)  J(0,n)(Z2U))&(ZV))).
П n (V,W) определяется аналогично посредством замены J(1,n) на J(–1,n) и J(–1,n) на
J(1,n).
Предикаты П 0n (V,W) и П n (V,W) определяются следующим образом:
П
0
n
(V,W) ⇌ X1 Y1 X2 Y2 (J(1,n)(X12Y1) & J(–1,n) (X22Y2) &(Y1Y2)
&(X1V) &(X2V) & (Y1W)& (Y2W))  XY(J(0,n)(X2Y)&(XV)&(YW)),
П n (V,W) ⇌ (П n (V,W)  П n (V,W)  П 0n (V,W)).
П п (V, W) содержит подформулы, выражающие наличие в базе знаний (+)-причин
k
J(1,n)(Xi2Yi), i = 1, …, k, таких, что XiV,  Yi = W; при этом не существует Z и U
i 1
(UW) таких, что J(–1,n)(Z2U) (Z – (–)-причина U), J(0,n)(Z2U) (Z – (0)-причина U) и
ZV. Тогда применимо правило п.п.в.-2
J ( ,n ) (V 1 W ),  n (V, W )
+
(II)
J 1,n 1 (V 1 W )
,
Остальные п.п.в.-2 формулируются аналогично:
(II)
–
J ( , n ) (V 1 W ),  n (V, W )
J -1,n 1 (V 1 W )
,
79
0
(II)
(II)
J ( , n ) (V 1 W ),  0n (V, W )
J 0,n 1 (V 1 W )
,
J ( ,n ) (V 1 W), n (V, W)
J ( ,n1) (V 1 W)
.

Для обратного ДСМ-метода АПГ предикаты П п (V, W) и правила

I Iï ({+, –,
0, }) с использованием J(, n)(Xi 3Yi) формулируются аналогично [14].
Алгоритм, реализующий вывод по аналогии, организован по принципу проверки
вложения гипотез в примеры, требующие доопределения и объяснения, и был детально
описан в [38].
Определение вложения гипотезы в пример зависит от версии ДСМ-метода.
Для атомарного ДСМ-метода (правая часть объекта одноэлементно и поэтому не
рассматривается) на рассмотренных базах фактах тело гипотезы вкладывается в тело
примера, если пересечение по каждому признаку у объекта и гипотезы равно или
значение признака в гипотезе не определено. Таким образом, тело примера
«информативнее» тела гипотезы.
Для неатомарного ДСМ-метода для определения вложения необходимо
выделить два требования:
1. левая часть гипотезы вкладывается в левую часть примера (каждый признак,
присутствующий в левой части гипотезы, присутствует с тем же значением и в
левой части примера),
2. вложение правой части зависит от типа гипотезы:
2.1
(+)- или (–)-гипотеза: объединение правых частей всех вкладывающихся в
левую часть примера (+)- или (–)-гипотез равно правой части примера
(«строгое» вложение),
2.2
(+)- или (–)-гипотеза: если в правую часть примера вкладывается и (+)-, и (–)гипотеза, то они должны пересекаться справа («нестрогое» вложение),
2.3
(0)-гипотеза: правая часть (0)-гипотезы вкладывается в правую часть примера.
Оперируя указанным определением вложения, опишем алгоритм для аналогии:
1. Пусть на этапе индукции были получены массивы (+)-, (–)- и (0)-гипотез о
причинах (возможно, какие-то из массивов пусты). Организуем цикл по массиву
с ()-примерами.
2. Возьмем i-й пример.
80
3. Организуем цикл по (+)-гипотезам. Найдем все (+)-гипотезы, которые
вкладываются в i-й пример и сохраним ссылки на них.
4. Организуем цикл по
(–)-гипотезам. Найдем все
(–)-гипотезы, которые
вкладываются в i-й пример и сохраним ссылки на них.
5. Организуем цикл
по (0)-гипотезам. Найдем все (0)-гипотезы, которые
вкладываются в i-й пример и сохраним ссылки на них.
6. Если в i-й пример вкладываются и (+)-, и (–)-гипотезы, оставим ссылки только на
те, которые пересекаются справа («нестрогое» вложение).
7. Если в i-й пример одновременно вкладываются (+)- И (–)-гипотезы ИЛИ (0)гипотеза, доопределим i-й пример как 0 (противоречивый).
8. Если в i-й пример «строго» вкладываются (+)-гипотезы И не вкладываются (–)- и
(0)-гипотезы, доопределим i-й пример как + (положительный).
9. Если в i-й пример «строго» вкладываются (–)-гипотезы И не вкладываются (+)- и
(0)-гипотезы, доопределим i-й пример как - (отрицательный).
10. Если пример удалось доопределить на шагах 7-9, добавим ссылку на него в
массив исходных примеров соответствующего знака, чтобы он участвовал на
следующей итерации индукции ДСМ-метода. Если пример доопределить не
удалось, то оставляем его в массиве ()-примеров.
11. Повторим шаги 2-10, пока не рассмотрены все ()-примеры из массива.
Шаги 1-5, 8 гарантируют выполнение условий предиката  n (V, W); шаги 1-5, 9
– предиката  n (V, W); шаги 1-7 – предиката  0n (V, W); шаги 1-5, 10 – предиката  n
(V, W).
В программе этап аналогии для атомарной версии ДСМ-метода осуществляется
с помощью двух функций:
/*Доопределение (τ)-примеров.
Входные параметры: массивы (+), (–), (0)- гипотез и массив (τ)-примеров.
Процедура возвращает число доопределенных примеров.*/
int determineTExamples(
vector<hypothesis*>& plArr, vector<hypothesis*>& minArr,
vector<hypothesis*>& zeroArr, vector<hypothesis*>& tArr);
81
/*проверка вложения гипотез в пример target */
bool checkHypEnclosure(
vector<hypothesis*>& arr, // массив (+),(–) или (0)-гипотез
hypothesis*target // пример, требующий доопределения
);
Помимо того что в неатомарной версии необходимо проверить вложение левой
части гипотез в левую часть примера, существуют и дополнительные функции:
необходимо проверить покрытие правой части найденными гипотезами, левая часть
которых вкладывается в левую часть (τ)-примера; в случае одновременного вложения
(+)- и (–)-причин проверить, есть ли пересечения у них в правой части, чтобы
доопределить (τ)-пример как 0, и удалить непересекающиеся справа гипотезы из
массива указателей на доопределившие гипотезы для такого (τ)-примера.
Дополнительные
функции
в
классах
algorithmJSM_nonAtomicDirect
и
algorithmJSM_reverse:
/* исключаем +/- гипотезы, у которых правые части не пересекаются при
доопределении примера z как 0*/
void siftUnIntersectHyps(hypothesis* z);
/* проверка наличия пересечения (+) и (–) гипотез при доопределении
примера z*/
bool plus_minus_hyps_intersection(hypothesis* z).
1.2.2.3 АБДУКЦИЯ И СТЕПЕНЬ АБДУКТИВНОСТИ
ДСМ-рассуждение завершается применением абдукции – процедуры объяснения
исходного множества фактов и принятия или непринятия на этом основании
порождённых гипотез.
Реализация объяснения примеров из БФ с помощью порожденных гипотез о
причинах формализуется посредством аксиом каузальной полноты [13] (АКП()):
82
k
АКП() : X Y k V1Vk W1Wk (Jv,0 (X1Y)  n ( & J(v,n) (Vi2Wi) &
i 1
k
(ViX)& (Vi) &(Wi))& (  Wi=Y))) , где
i 1
{+, }, n – число применений правил правдоподобного вывода, k – число гипотез,
вкладывающихся в пример, а оценка v в v,0 и (v,n) равна 1 для АКП(+) и -1 для
АКП().
Аналогично АКП определяется для обратного и ситуационного ДСМ-метода
(заменой представления гипотезы на W3V  предикат «W есть следствие V» – и.
заменой формулы представления объекта и гипотезы с учетом ситуации).
Если в исходном множестве фактов есть и (0)-примеры (в БФ социологических
данных), то кроме АКП() необходимо проверить и АКП(0).
АКП(0): ZU((J0,0(Z1U)n П 0п (Z, U)), где П 0п (Z, U) – предикат,
представляющий посылку в правиле правдоподобного вывода 2-го рода (п.п.в.-2) для
аналогии [44].
Отношение числа исходных (+)-, ()- и (0)-примеров ÁÔ из БФ, объяснённых
порожденными гипотезами о причинах, к общему числу примеров соответствующего
знака в БФ
~~
ÁÔ
называется степенью каузальной полноты или степенью
абдуктивности , т.е. =
~~
ÁÔ
ÁÔ
, где {+, , 0} [13]. При проверке аксиом каузальной
полноты вводят некоторое пороговое значение, с которым сравнивают полученные
значения степени абдуктивности (обычно оптимальным принято считать пороговое
значение, равное 0.8). Если степень абдуктивности оказывается меньше допустимого
порога, то гипотезы не принимаются. В случае непринятия гипотез эксперту
необходимо пересмотреть используемую стратегию ДСМ-метода или же подумать,
корректно ли подобраны примеры и их характеристики в исходной базе фактов.
В алгоритме абдукции используется операция вложения, определенная в разделе
«Правила правдоподобного вывода по аналогии»:
1. Пусть
фаза
«индукция-аналогия»
стабилизировалась:
больше
нельзя
доопределить ни один -пример и все возможные гипотезы получены. Пусть
83
были получены массивы (+)-, (–)- и (0)-гипотез (возможно, какие-то из массивов
пусты).
2. Пусть
nPlExBegin – это количество (+)-примеров в базе фактов на начальном
этапе, nPlExUnexplained - – это количество необъясненных (+)-примеров,
присвоим этой переменной значение 0.
3. Организуем 2 цикла: внешний – по исходным (+)-примерам, внутренний – по
полученным (+)-гипотезам. Если в i-й (+)-пример ни одна (+)-гипотеза не
вкладывается («строгое» вложение), сохраним на него ссылку и рассчитаем
nPlExUnexplained= nPlExUnexplained + 1.
4. Пусть nMinExBegin – это количество (–)-примеров в базе фактов на начальном
этапе, nMinExUnexplained - – это количество необъясненных (–)-примеров,
присвоим этой переменной значение 0.
5. Организуем 2 цикла: внешний – по исходным (–)-примерам, внутренний – по
полученным (–)-гипотезам. Если в i-й (–)-пример ни одна (–)-гипотеза не
вкладывается («строгое» вложение), сохраним на него ссылку и рассчитаем
nMinExUnexplained = nMinExUnexplained + 1.
6. Пусть nZeroExBegin – это количество (0)-примеров в базе фактов на начальном
этапе, nZeroExUnexplained - – это количество необъясненных (0)-примеров,
присвоим этой переменной значение 0.
7. Организуем 2 цикла: внешний – по исходным (0)-примерам, внутренний – по
полученным (0)-гипотезам. Если в i-й (0)-пример ни одна (0)-гипотеза не
вкладывается, перейдем к шагу 8, иначе продолжим шаг 7, пока не будут
проверены все (0)-примеры. Когда все (0)-примеры просмотрены, перейдем к
шагу 9.
8. Организуем цикл по (+)- и (–)-гипотезам для i-го (0)-примера. Если в (0)-пример
НЕ вкладываюся одновременно (+) и (–)-гипотезы, то сохраним на него ссылку
и рассчитаем nZeroExUnexplained = nZeroExUnexplained + 1. Перейдем к шагу 7.
9. Рассчитаем степени принятия (+)-, (–)- и (0)-гипотез. Если какое-то из значений
nPlExBegin, nMinExBegin или nZeroExUnexplained, то считаем, что степень
абдуктивности для гипотез соответствующего знака равна 1.
10. Рассчитаем степени принятия (+)-гипотез как
(nPlExBegin - nPlExUnexplained)/ nPlExBegin.
11. Рассчитаем степени принятия (–)-гипотез как
(nMinExBegin - nMinExUnexplained)/ nMinExBegin.
84
12. Рассчитаем степени принятия (0)-гипотез как
(nZeroExBegin - nZeroExUnexplained)/ nZeroExBegin.
13. Если какое-то из значение, полученное в результате шагов 10-12 (с учетом
замечания шага 9), меньше допустимого порогового значения, то гипотезы
соответствующего знака не принимаются.
Условия
АКП(+) проверяют
шаги
2-3,
АКП(–) –шаги
4-5.
Проверка
АКП(0) происходит на шагах 6-8 (в том случае, если в исходной БФ есть (0)-примеры).
Подсчет степеней абдуктивности осуществляется на шагах 9-12.
В программе для сохранения результата используются массивы – члены класса
algorithmJSM:
необъясненных
vector<short>
полученными
unexplainedEx
(хранит
гипотезами)
и
номера
short
+/-/0
примеров,
sizeUnexplainedEx
[3]
(sizeUnexplainedEx [0] - количество необъясненных (+)-примеров; sizeUnexplainedEx [1]
- количество необъясненных (–)-примеров; sizeUnexplainedEx [2] - количество
необъясненных (0)-примеров). Полученные степени абдуктивности сохраняются в
массиве float causalCompletenessAxiomCoefficients[3], пороговое значение задано в
переменной float causalCompletenessAxiomThreshold.
Проверка АКП осуществляется посредством двух функций:
/*проверка аксиомы каузальной полноты (+/-), возвращает число
необъясненных примеров */
int checkCausalCompletenessAxiom(
vector<hypothesis*>& arrHyps, // массив гипотез
vector<hypothesis*>& examples, // массив примеров
int nExBegin, // первоначальное кол-во примеров);
/*проверка аксиомы каузальной полноты (0), возвращает число
необъясненных примеров */
int checkCausalCompletenessAxiomZero().
Также в классе algorithmJSM определена
степени абдуктивности:
85
встроенная функция для подсчета
float countCausalCompletenessAxiom(int nAll, int nUnExplained)
{ return (float)(nAll - nUnExplained)/nAll; }
и главная функция для выполнения этапа абдукции:
void checkCausalCompletenessAxiomResult().
Процедура для проверки АКП(0) является общей для всех версий ДСМ-метода и
определена в классе algorithmJSM. Это стало возможным за счет использования общей
функции объекта weak_enclosure_h1_in_h2 (функция для проверки вложения).
Функция для проверки АКП(+) и АКП(–) в классе algorithmJSM определена как
виртуальная и переопределена в дочерних классах. Реализация АКП(+) и АКП(–
) отличается у атомарной (класс algorithmJSM_atomicDirect) и неатомарной версии
ДСМ-метода (классы algorithmJSM_nonAtomicDirect и algorithmJSM_reverse), так как
при проверке вложения гипотезы в пример с правой частью необходимо учесть
k
покрытие эффекта вкладывающимися гипотезами (подформула (  Wi=Y)).
i 1
1.2.3 ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕДУРЫ
1.2.3.1 Фильтры
Иногда в ходе исследования требуется возможность вводить дополнительные
ограничения на структуру полученных гипотез: требования присутствия в гипотезе тех
или иных признаков. Эти ограничения получили названия фильтров.
Различают конъюнктивные фильтры для (+)- и (–)-гипотез, которые объявляют
признак необходимым (его присутствие в гипотезе обязательно) и дизъюнктивные
фильтры для (+) и (–)-гипотез, которые объявляют признак существенным (в гипотезе
обязательно присутствие хотя бы одного из отмеченных признаков). Фильтр
«используется для отсеивания несущественных гипотез, не несущих информации о
механизме
проявления
свойства»,
а
«настройка
фильтров
осуществляется
экспериментально с помощью привлечения экспертных знаний» [25].
Приведем алгоритм проверки конъюнктивных (+)-фильтров для простого случая
(все признаки относятся к одной группе):
86
1. Пусть lstNums – список номеров признаков, в который будут занесены
конъюнктивные (+)-фильтры. На этапе считывания данных заполняем lstNums
номерами необходимых признаков (в качестве номера используем порядковый индекс
признака в теле гипотезы).
2. Пусть найдены (+)-гипотезы с помощью метода сходства (простого метода или его
усилений).
3. Организуем цикл по (+)-гипотезам.
4. Для каждой (+)-гипотезы проделать шаги 5-8. Если (+)-гипотезы закончились
перейти к шагу 9.
5. Организуем цикл по списку номеров признаков lstNums.
6. Для каждого номера проделать шаги 7-8. Если список закончился, перейти к шагу
4.
7. Если в гипотезе присутствует признак с номером, равным i-му элементу списка
lstNums, перейти к шагу 6.
8. Если признак с номером, равным
отсутствует, то пометить гипотезу
i-му элементу списка lstNums, в гипотезе
false (в программе это переменная-член класса
hypothesis status) и перейти к шагу 4.
9. В результирующий массив гипотез отбираем только те, которые помечены true.
Приведем алгоритм проверки дизъюнктивных (+)-фильтров для простого случая
(все признаки относятся к одной группе):
1. Пусть lstNums – список номеров признаков, в который будут занесены
дизъюнктивные (+)-фильтры. На этапе считывания данных заполняем lstNums
номерами существенных признаков (в качестве номера используем порядковый индекс
признака в теле гипотезы).
2. Пусть найдены (+)-гипотезы с помощью метода сходства (простого метода или его
усилений).
3. Организуем цикл по (+)-гипотезам.
4. Для каждой (+)-гипотезы проделать шаги 4-6. Если (+)-гипотезы закончились
перейти к шагу 9.
5. Организуем цикл по списку номеров признаков lstNums. Пусть flag –
вспомогательная булевская переменная и пусть она равна false.
87
6. Для каждого номера проделать шаги 7-8. Если список закончился или цикл был
прерван на шаге 7, пометить статус гипотезы значением переменной flag (в программе
это переменная-член класса hypothesis status) и перейти к шагу 4.
7. Если в гипотезе присутствует признак с номером, равным i-му элементу списка
lstNums, присвоить переменной flag значение true, прервать цикл и перейти к шагу 6.
8. Если признак с номером, равным
i-му элементу списка lstNums, в гипотезе
отсутствует, то перейти к шагу 6.
9. В результирующий массив гипотез отбираем только те, которые помечены true.
Алгоритмы для (–)-гипотез и (–)-фильтров определяется аналогично.
В программе в классе algorithmJSM определен член класса class filter* filter1.
Класс filter имеет следующую структуру:
class filter{
public:
vector<list<short>> andPlus; // массив списков номеров признаков, занесенных в
конъюнктивные (+) фильтры
vector<list<short>> orPlus; // массив списков номеров признаков, занесенных в
дизъюнктивные (+) фильтры
vector<list<short>> andMinus; // массив списков номеров признаков, занесенных
в конъюнктивные (–) фильтры
vector<list<short>> orMinus; // массив списков номеров признаков, занесенных в
дизъюнктивные (–) фильтры
filter(size_t num); // конструктор
~filter();// деструктор
};
Структура класса filter учитывает возможность деления признаков на группы
(например, в социологии деление признаков на описание респондента, его мнение и
ситуацию), поэтому конкретный вид фильтра представлен в виде массива списков, где
каждый список хранит признаки определенной группы. Конструктор класса на вход
получает число групп признаков. Для исследуемых медицинских данных признаки
относились к одной группе, для социологических данных этот параметр зависел от
задачи, поставленной экспертом.
88
В системе «фильтрация» гипотез реализована посредством следующих функций
класса algorithmJSM (процедуры одинаковы для всех типов ДСМ-метода):
/* проверка на фильтры: необходимые (конъюнктивные) признаки*/
bool check_AND_filters(
// массив гипотез, в котором неподходящие гипотезы получают status =
false
vector<hypothesis*>& lstHyp,
// массив списков номеров признаков, занесенных в фильтр
vector<list<short>>& lstNums);
/* проверка на фильтры: существенные (дизъюнктивные) признаки*/
bool check_OR_filters(
// массив гипотез, в котором неподходящие гипотезы получают status =
false
vector<hypothesis*>& lstHyp,
// массив списков номеров признаков, занесенных в фильтр
vector<list<short>>& lstNums);
Функции возвращают true в случае успеха и false в случае возникновения какойлибо ошибки.
Ключевым методом, используемым в этих функциях, является
attrib_empty – проверка, пустой или нет признак соответствующего номера в гипотезе.
Этот метод определен в классах представления данных [см. раздел «Внутреннее
представление данных»].
1.2.3.2 Доопределение по одному
«Доопределение
по
одному»
[25]
–
это
дополнительная
процедура,
осуществляющая характеризацию массива данных относительно соответствующей
ДСМ-стратегии. Она позволяет оценить полученный результат путем проведения
ДСМ-рассуждений для исходных (+)-, (–)- и (0)-примеров с применением выбранной
стратегией.
89
Последовательно каждому объекту присваивается значение «» (в программе это
«?»), производится доопределение этого объекта
средствами ДСМ-Решателя с
выбранными параметрами и сравнивается доопределенное значение с существующим.
Подсчитывается общее количество правильных и неправильных доопределений.
В программе процедура «доопределение по одному» реализована посредством
функции класса algorithmJSM:
bool startJSM_forDetermByOne(
algorithmJSM*JSM, // объект, в котором хранится информация об
эксперименте
vector<objectX*>& objXs, // массив объектов
size_t curEx, // номер текущего примера, которому было присвоено ()значение
vector<char>& sorts_result); // массив, хранящий значения примеров после
запуска ДСМ-метода, но до выполнения процедуры «доопределение по
одному»
Функция вызывает виртуальную функцию startJSM (см. раздел «Общая
структура ДСМ-Решателя») и передает на вход массив объектов и номер примера,
которому было присвоено ()-значение.
Функция возвращает true в случае успешного завершения и false, иначе.
Результат сохраняется в динамическом массиве – члене класса algorithmJSM vector<char> objSorts_byOne, представляющий собой массив из символов «+», «-», «0»
и «?» (в случае, если пример не был доопределен), а изначальные значения примеров
хранятся в массиве vector<char> objSorts_init. Число (+)-, (–)-, (0)-примеров
доопределившихся верно, хранятся в переменной short determByOneAmount_right, а
количество примеров, доопределившихся с «+» на «–» или наоборот – в short
determByOneGross_errors.
1.2.3.3 «Дерево» гипотез
90
ДСМ-Решатель также включает алгоритм получения данных для построения
«дерева» (или «куста») гипотез. Построение «дерева» гипотез – это дополнительная
процедура, которая использовалась для представления гипотез, полученных в
результате анализа социологических данных. Как будет продемонстрировано в пятой
главе, визуализация результатов в системе по «кустовому» принципу помогает
социологу провести типологизацию респондентов на основе найденных причинных
комбинаций.
Реализованный алгоритм Норриса порождает гипотезу с данным набором
признаков ровно один раз. Он позволяет сохранять связи между родительской и
дочерней гипотезами благодаря использованию массивов ссылок на родителей гипотез.
Алгоритм получения данных для построения куста гипотез – это процедура
восстановления связей между гипотезами на основе сохранённой информации о
родителях. Он может быть разбит на 2 основных этапа:
– убывающая сортировка гипотез по количеству родителей,
– проверка на вложенность множества родителей гипотез друг в друга и
сохранение для каждой гипотезы номеров (идентификаторов) родительских гипотез.
Пусть куст гипотезы – это список индексов ее дочерних гипотез, причем
отсортированных по количеству родителей в убывающем порядке. Следует обратить
внимание, что под дочерними гипотезами понимаются только непосредственные
потомки, то есть гипотезы, занимающие в дереве предыдущий уровень.
Алгоритм включает следующие шаги:
1. Отсортировать массив гипотез (+, - или 0) по количеству родителей в
убывающем порядке.
2. Организовать цикл по массиву гипотез.
3. Взять i-ю гипотезу. Если массив закончился, перейти к шагу 12.
4. Занести в результирующий куст для i-й гипотезы «пустой» куст.
5. Если у i-й гипотезы число родителей больше 2, перейти к шагу 6. Иначе (так
как гипотез с количеством родителей, равным 1, не бывает) гипотеза
определенно является «листом» будущего дерева, а значит дочерних вершин
у нее нет. Значит – перейти к шагу 3.
6. Организовать цикл по массиву гипотез, начиная с порядкового индекса
j=i+1.
7. Взять j-ю гипотезу. Если массив закончился, перейти к шагу 3.
91
8. Если множество родителей j-й гипотезы вкладывается в множество
родителей i-й гипотезы, перейти к шагу 9. Иначе – шаг 7.
9. Если куст i-й гипотезы пустой, занести в результирующий куст для i-й
гипотезы индекс j-й гипотезы (то есть j). Перейти к шагу 7.
10. Если куст i-й гипотезы не пуст, организуем цикл по элементам куста i-й
гипотезы (дочерним гипотезам).
11. Если множество родителей j-й гипотезы вкладывается в множество
родителей любого элемента куста (дочерней гипотезы) i-й гипотезы,
результирующий куст для i-й гипотезы не изменяем. Иначе занести в
результирующий куст для i-й гипотезы индекс j-й гипотезы (то есть j).
Перейти к шагу 7.
12. На выходе для массива гипотез мы получаем множество кустов, при этом для
каждой i-й гипотезы массива ставится в соответствие i-й куст.
Алгоритм Норриса и алгоритм для построения дерева гипотез были разделены
намеренно. На исследуемых данных на некоторых наборах признаков количество
пересечений до применения запрета на контрпримеры достигало нескольких десятков
тысяч (в данном случае речь идет об исследовании социологических данных). Таким
образом, такое разделение позволило достаточно быстро обработать данные при
минимальных затратах памяти.
Алгоритм
для
«дерева»
гипотез
определен
в
пространстве
имен
algorithm_HypothesesBush.
Также в классе гипотезы есть функция
bool parents_enclosure(hypothesis*h1, hypothesis*h2),
которая возвращает true, если множество родителей гипотезы h1 вкладывается в
множество родителей гипотезы h2, и false, иначе.
Каждый куст представлен в виде списка порядковых индексов гипотез:
typedef std::list<int> HypothesesBush.
В
пространстве
имен
algorithm_HypothesesBush
функции:
92
определены
следующие
1. Функция для сортировки гипотез по количеству родителей в убывающем
порядке
void sortHypotheses_byDescendantOrder (vector<hypothesis*>& hyps);
2. Функция для проверки вложения родителей гипотезы («кандидата попасть в
куст») в множество родителей гипотез, уже занесенных в куст,
bool list_int_enclosure(
int current_hyp, //индекс гипотезы-кандидата
//массив всех гипотез рассматриваемого знака
vector<hypothesis*>& source_hypVec,
HypothesesBush& children); //куст i-й гипотезы
3. Главная функция, которая вызывает функции 1 и 2 и сохраняет результат в виде
динамического массива кустов гипотез. Главная функция вызывается для (+), (–)
и (0) гипотез:
void saveData_forHypothesesBush(vector<hypothesis*>& source_hypVec,
vector<HypothesesBush>& result).
Порядковый индекс в этом массиве совпадает с порядковым индексом гипотезы
в массиве гипотез соответствующего знака («+», «–» или «0»).
Результат сохраняется в полях класса algorithmJSM:
vector<HypothesesBush> plusHypBush;
vector<HypothesesBush> minusHypBush;
vector<HypothesesBush> zeroHypBush.
1.2.3.4 Проверка непротиворечивости гипотез
93
В [13] определены различные виды корректности или некорректности ДСМрассуждений. Также предложено расширить строение ДСМ-метода АПГ за счет
введения
дополнительной
компоненты
–
распознавание
корректности
ДСМ-
рассуждений. В качестве такой дополнительной компоненты в рассматриваемой
системе существует алгоритм проверки непротиворечивости гипотез.
Процедура проверки непротиворечивости гипотез необходима для решения двух
типов задач: проверки непротиворечивости гипотез, полученных на одной и той же БФ,
но разными стратегиями (например, с целью дальнейшего объединения полученных
множеств непротиворечивых гипотез), и проверки непротиворечивости гипотез,
полученных на последовательности расширяющихся баз фактов относительно одной
заданной стратегии. В качестве порогового значения непротиворечивости (отношения
числа противоречивых ()-гипотез к числу всех ()-гипотез, где {+, , 0}) задают
значение 0.2.
Сначала рассмотрим первую задачу.
Каждая стратегия задается парой М x, n (V,W), М y, n (V, W) [13], где х, у – имена
предикатов. Две стратегии являются непротиворечивыми, если они не содержат
противоречивых гипотез. Гипотезы h1 = J  m1 (СjQ) и h2 = J  m2 (СjQ) называются




противоречивыми или контрарными, если и , {1, –1, 0} [46].
Пусть был проведен анализ БФ с помощью двух стратегий. Если первая
стратегия задана сильным (+)-предикатом (например, предикат метода сходстваразличия) и слабым (–)-предикатом (предикат простого сходства), то, очевидно, что в
результате анализа БФ будет получено много (–)-гипотез. Если вторая стратегия задана
слабым (+)-предикатом и сильным (–)-предикатом, то в результате будет получено
много (+)-гипотез. Для обеспечения информационной полноты массива гипотез,
порожденных на данной БФ, необходимо объединить результаты двух стратегий,
удалив из объединения противоречивые гипотезы
и проверив, что степень
непротиворечивости не превышает заданного порога.
Для второй задачи требуется задать последовательность вложенных баз фактов
(БФ) БФ0БФ1БФs. Пусть для каждой БФ были получены гипотезы, при этом на
Этапе II установлена абдуктивная сходимость процесса ДСМ-рассуждений. Для того
чтобы
установить
(не)корректность
ДСМ-рассуждения,
необходимо
непротиворечивость гипотез для каждой БФi и БФj, где j<i, j=0…i-1.
94
проверить
В [13] были определены функционалы степени противоречивости ДСМ –
рассуждений f  и F , где {+, , 0}.
+
+
f ( (p),
+
+
(q)0(q))
F ( (p),
=
(q)0(q))
  p   (  ( q )  0 ( q ))
 ( p )
=
,
  ( p )  (  (q )   0 (q ))
  ( p)
,
где p и q – номера соответствующих Этапа Ip и Этапа Iq процесса ДСМ –
рассуждений,
(p), (q)  множества гипотез с предикатом 2 (гипотез о причинах),
(p), (q)  множества гипотез с предикатом 1 (гипотез о предсказаниях),
{+, , 0}, соответственно.
Здесь  – стандартная операция объединения множеств.
 – операция пересечения множеств гипотез, которая определяется так: если (+)гипотеза принадлежит множеству p , а ()-гипотеза принадлежит множеству q  0q ,
где {1, 0}, то эта (+)-гипотеза принадлежит множеству р ( q  0q ). Аналогично
 определяется для p ( q  0q ) и 0p ( q  q ). Посредством  p1 ( q2  q3 ) и
 pi  обозначаются числа элементов соответствующих множеств, где 1,2,3{+,
,0}, i=1,2,3, а 1,2 и 3 различны. Таким же образом операция пересечения множеств
гипотез определяется для
 p ,  q и  0q .
Аналогично определяются функционалы f  и F , где {, 0}.
При определении принадлежности гипотезы указанным выше множествам
учитывается только «тело» гипотезы (т.е. структура гипотезы, например, в
фармакологии – дескрипторы, общие для породивших гипотезу химических соедиений,
в медицине – значения признаков, одинаковых для пациентов, в социологии – значения
ответов анкеты, одинаковых для респондентов). Если существуют гипотезы с равным
«телом», но разным знаком ({+, ,0}), то они попадают в пересечение множеств
гипотез.
Для первой задачи мы можем использовать эти функционалы с той поправкой, что
требуется вычислить степени противоречивости первой стратегии относительно второй
95
и наоборот. Для расширяющихся БФ степени противоречивости вычисляют, как
указано выше, БФi относительно БФj, где j<i, j=0…i-1.
Обозначим через HypBase – множество (+)-, ()- и (0)-гипотез, полученных для
данной БФ и данной стратегии. Для первой задачи мы имеем два множества HypBase1 и
HypBase2, полученных на одной БФ разными стратегиями. Для второй задачи мы имеем
s множеств HypBase1, … HypBases, полученных на вложенных БФ одной стратегией.
Опишем общий алгоритм вычисления степеней непротиворечивости гипотез (считая,
что для первой задачи s = 2). Он будет состоять из следующих шагов:
1. Заполнить полученными гипотезами двумерный массив гипотез (обозначим его
через array_all_hyps). Каждый элемент массива гипотез array_all_hyps[i] для HypBase i
(i = 0…s) состоит из 3 массивов: для (+)-, (–)- и (0)-гипотез. Какие-то из массивов могут
быть пустыми (в этом случае для пустых массивов степень противоречивости равна 0).
2. Определим допустимый порог непротиворечивости гипотез. По умолчанию это
значение равно 0,2.
3. Организуем цикл по массиву array_all_hyps. При этом просматриваемый индекс i
= 0…(s-1).
4. Взять элемент массива i и i+1. Если индекс i достиг (s-1), перейти к шагу 18.
5. Взять массив (+)-гипотез из array_all_hyps[i] и массивы (–) и (0)-гипотез из
array_all_hyps[i+1].
6. Организуем цикл по массиву (+)-гипотез. Введем счетчик count для подсчета
противоречивых гипотез и присвоим ему 0.
7. Для каждой j-й гипотезы организуем цикл по (–)- и (0)-гипотезам. Если j-я (+)гипотеза равна какой-то (–)- или (0)-гипотезе, прервать для нее цикл
по (–)- и (0)-
гипотезам и увеличить count на 1.
8. После того как все (+)-гипотезы просмотрены, рассчитать и сохранить степень
противоречивости для (+)-гипотез для текущего i по формуле: число противоречивых
гипотез/число (+)-гипотез.
Число противоречивых гипотез хранится в переменной
count, а число (+)-гипотез – это длина рассматриваемого массива (+)-гипотез из
array_all_hyps[i].
9. Взять массив (–)-гипотез из array_all_hyps[i] и массивы (+)- и (0)-гипотез из
array_all_hyps[i+1].
10. Организуем цикл по массиву (–)-гипотез. Введем счетчик count для подсчета
противоречивых гипотез и присвоим ему 0.
96
11. Для каждой j-й гипотезы организуем цикл по (+)- и (0)-гипотезам. Если j-я (–)гипотеза равна какой-то (+)- или (0)-гипотезе, прервать для нее цикл по (+)- и (0)гипотезам и увеличить count на 1.
12. После того как все (–)-гипотезы просмотрены, рассчитать и сохранить степень
противоречивости для (–)-гипотез для текущего i по формуле: число противоречивых
гипотез/число (–)-гипотез.
13. Взять массив (0)-гипотез из array_all_hyps[i] и массивы (+) и (–)-гипотез из
array_all_hyps[i+1].
14. Организуем цикл по массиву (0)-гипотез. Введем счетчик count для подсчета
противоречивых гипотез и присвоим ему 0.
15. Для каждой j-й гипотезы организуем цикл по (+)- и (–)-гипотезам. Если j-я (0)гипотеза равна какой-то (+)- или (–)-гипотезе, прервать для нее цикл по (+)- и (–)гипотезам и увеличить count на 1.
16. После того как все (0)-гипотезы просмотрены, рассчитать и сохранить степень
противоречивости для (0)-гипотез для текущего i по формуле: число противоречивых
гипотез/число (0)-гипотез.
17. Если какая-то из степеней противоречивости, полученных на шагах 8, 12 и 16,
оказалась больше допустимого порога, определенного на шаге 2, прекратить цикл по i и
выдать сообщение, что на i-м шаге условие непротиворечивости было нарушено.
18. Представить все степени противоречивости, рассчитанные на шагах 8, 12 и 16.
Таким образом, в результате работы алгоритма мы получаем возможность
оценить полученные массивы гипотез, а значит сделать вывод о корректности
выбранных стратегиях ДСМ-метода, с помощью которых они были получены.
В программе алгоритм проверки непротиворечивости гипотез, полученных на
последовательности
баз
фактов,
представлен
в
классе
ContradictionCalculation_Algorithm.
Так как при определении противоречивости гипотез, нас интересует только
«тело» гипотезы, в массиве массивов (+)-, (–)- и (0)-гипотез каждая гипотеза хранится
как экземпляр класса objectX:
vector<vector<class objectX*>> array_hyps;
Массивы гипотез для всех БФ хранятся в переменной vector<array_hyps>
array_all_hyps.
97
В конструкторе класса
ContradictionCalculation_Algorithm(int n, float contra_threshold);
определяется число необходимых массивов для гипотез (число БФ), а также
пороговое значение непротиворечивости гипотез.
В классе определена виртуальная функция для считывания гипотез
virtual int read_hypotheses(CString filePath, vector<vector<class objectX*>>&
arr),
которая переопределена в классах-потомках, представляющих конкретную предметную
область.
Подсчет коэффициента противоречивости гипотез осуществляется в функции
float count_contradictory_hypotheses_and_coefficient(
vector<vector<class objectX*>> &array1,
vector<vector<class objectX*>> &array2, int i_target);
Главная функция, которая связывает все функции и сохраняет полученные
коэффициенты, –
bool start_Algorithm(vector<CString>& file_paths, class objectX*
domain_object).
На вход функция получает список файлов, в которых хранятся гипотезы и
образец объекта предметной области.
Компоненты интерфейса, связанные с проверкой непротиворечивости гипотез,
полученных на последовательности баз фактов,
интерфейс ДСМ-Решателя».
98
описаны в главе «Графический
2 ВИЗУАЛЬНОЕ ПРЕДСТАВЛЕНИЕ ДАННЫХ
Этап подготовки данных для эксперимента с использованием разработанной
ДСМ-системы включает заполнение файлов определенной структуры. Также одним из
необходимых требований является возможность сохранения полученного результата:
параметры выбранной стратегии, гипотезы о причинах, результаты доопределения (τ)примеров (гипотезы о предсказаниях).
Представление
примера
в
исследованных
данных
(фармакологических,
медицинских и социологических) имеет сходную структуру. У каждого примера есть
идентификатор, позволяющий ссылаться на него при формировании множества
родителей гипотезы (множество сходных примеров, участвовавших в порождении
гипотезы); тип истинностного значения («+», «–», «0», «τ»), определяющий тип
истинностного значения порождаемых гипотез; множество признаков, описывающих
изучаемый объект и свойства («эффект»).
Представление гипотезы о причинах требует наличия идентификатора гипотезы,
на который можно ссылаться, если гипотеза доопределила какой-либо (τ)-пример; тип
истинностного значения («+», «–», «0»); номер такта ДСМ-рассуждения (порядковый
номер итерации процедур индукции и аналогии), на котором гипотеза была получена;
список родителей гипотезы, среди которых исходные (+)-, (–)- и (0)-примеры
автоматически являются примерами начального состояния БФ, которые она объясняет;
множество признаков, описывающих «тело» гипотезы.
Для
доопределенных
(τ)-примеров
также
следует
хранить
список
идентификаторов гипотез о причинах, которые участвовали в предсказании (процедуре
аналогии), результат доопределения (тип истинностного значения «+», «–», «0») и
номер такта ДСМ-рассуждения, на котором пример был доопределен.
Для представления результата проверки аксиом каузальной полноты (процедуры
абдукции – объяснения (+)-, (–)- и (0)-примеров исходной БФ порожденными
гипотезами о причинах) необходимо предоставить эксперту список необъясненных
примеров. Соответственно, отношение числа объяснённых примеров из БФ к общему
числу примеров в БФ определяет степень абдуктивности [13]. Если исследователь
обнаружил, что степень абдуктивности оказывается меньше допустимого порога, то
гипотезы не принимаются [см. раздел первой главы «Абдукция и степень
абдуктивности»].
99
Наконец, эксперту необходима сводная информация об эксперименте: сколько
примеров участвовало, сколько гипотез было порождено, какая стратегия была выбрана
для анализа данных.
Все рассмотренные параметры помогают оценить качество полученных гипотез.
ДСМ-метод АПГ содержит не только средства принятия гипотез, но и средства
оценки качества порождаемых гипотез. Оценка качества гипотез относится к четвертой
компоненте ДСМ-метода АПГ – метатеоретическому исследованию ДСМ-рассуждения
и базы фактов (исследования предметной области) – и включает три уровня [46].
Первый уровень рассматривается в том случае, если ДСМ-рассуждение
проводилось для последовательности вложенных баз фактов БФ0, БФ1, ..., БФs. На этом
уровне устанавливается наличие (отсутствие) эмпирических закономерностей и их
виды [46]. В нашем исследовании эмпирические закономерности
(ЭЗК) не
рассматривались, однако созданный модуль вычисления противоречивости гипотез
может использоваться для этой цели.
На втором уровне происходит распознавание четырех возможных типов
порождаемых гипотез, которые определяются комбинацией двух характеристик:
участвует ли гипотеза в предсказании (τ)-примеров (полезная гипотеза) и объясняет ли
гипотеза факты из исходной БФ.
На третьем уровне формируется шкала характеризации гипотез о причинах с
учетом используемых стратегий. Соответственно, на этом уровне необходимо знать,
какой стратегией была получена гипотеза и число примеров-родителей гипотезы.
Также в случае исследования ЭЗК необходимо знать, является ли гипотеза
эмпирическим законом или тенденцией [44] (или не принадлежит множеству ЭЗК). Чем
сильнее стратегия и чем больше число родителей гипотезы, тем выше качество данной
гипотезы.
При проведении эксперимента файлы заданной структуры поступают на вход
системы в формате Microsoft Office Excel (фармакология, медицина, социология) или в
Microsoft Office Access (медицина). Для анализа медицинских данных в формате
Microsoft Office Excel также необходим файл формата .txt, в котором заполнена
информация о признаках, по которым описаны пациенты. Для извлечения и записи
данных в процедурах на С++ используется интерфейс программного уровня ADO и
язык запросов SQL. Для этого в программу импортируется библиотека msado15.dll.
В [42] было описано представление данных для фармакологии и медицины. В
данном разделе приводится более детальная характеристика структуры файлов. Кроме
100
того, файл медицинских данных был доработан: один и тот же файл может быть
использован как для атомарного, так и неатомарного ДСМ-метода. Также создана
определенная структура файлов для представления социологических данных.
Текстовые
примеры
представления
социологических
данных
подробно
разобраны в первой и пятой главах, а примеры медицинских и фармакологических
данных – в четвертой главе.
2.1 Представление данных в фармакологии
Визуальное представление фармакологических данных было разработано в
приложении Microsoft Office Excel. Документ .xls состоит из семи листов:
«Пояснения»,
«Descriptors»,
«Examples»,
«Hypotheses»,
«T_Result»,
«Total»
и
«Determine_ByOne».
На листе «Пояснения» дается краткая характеристика каждого листа. Он
представляет собой справку для пользователя. Кроме того, названия полей на каждом
листе снабжены примечаниями.
В таблице 8 представлено описание каждого поля в файле.
Таблица 8 – Фармакология: Описание полей файла Excel
Название
листа:
название поля
Описание
Descriptors: Id
Идентификатор дескриптора.
Descriptors: File
Имя файла, представляющего структуру дескриптора.
Descriptors: Descriptor
Строковый код, представляющий дескриптор.
Examples: Id
Идентификатор химического соединения (примера
базы фактов).
Examples: FileName
Имя файла, представляющего структуру химического
соединения.
Examples: Sort
Оценка, приписанная примеру: +, -, 0 или ? для (τ)примеров.
Examples: di
Количество
вхождений
соответствующего
дескриптора в химическое соединение. (Значение i –
идентификатор дескриптора.)
101
Название
листа:
название поля
Описание
Hypotheses: Id
Идентификатор гипотезы.
Hypotheses: Step
Такт ДСМ-рассуждения, на котором гипотеза была
получена.
Hypotheses: Sort
Оценка гипотезы: +, - или 0.
Hypotheses: parentNum
Число родителей гипотезы.
Hypotheses: parent_Ids
Список
идентификаторов
родителей
(примеров)
гипотезы.
Hypotheses: di
Количество
вхождений
соответствующего
дескриптора в гипотезу.
T_Result: Id
Идентификатор (τ)-примера.
T_Result: FileName
Имя файла, представляющего структуру примера.
T_Result: Step
Номер такта ДСМ-рассуждения, на котором была
последняя попытка доопределения примера.
T_Result: Sort
Результат доопределения: +, -, 0 или ? (если пример не
удалось доопределить).
T_Result: hypothsNum
Количество доопределивших пример гипотез.
T_Result: hypoths_Ids
Список номеров доопределивших пример гипотез.
Total: Number
Порядковый номер параметра стратегии.
Total: Parameter
Имя параметра.
Total: Value
Значение параметра.
Total: Unexplained_Ids
Для параметров «Количество необъясненных (+), (–),
(0)-примеров»
необъясненных
выводится
примеров
список
идентификаторов
(результат
проверки
абдуктивной сходимости).
Determine_ByOne: Id
Идентификатор примера.
Determine_ByOne:
Имя файла, представляющего структуру примера.
FileName
Determine_ByOne:
Sort_Init
Determine_ByOne:
Sort_Result
Оценка, приписанная примеру: +, -, 0 или ? для (τ)примеров.
Оценка, полученная в результате работы процедуры
«доопределение по одному».
102
Таким образом, лист «Descriptors» содержит список дескрипторов, которыми
описаны химические соединения (Рисунок 3).
Рисунок 3 - Фармакология. Пример представления данных на листе «Descriptors».
Лист «Examples» содержит информацию о примерах (Рисунок 4).
Рисунок 4 - Фармакология. Пример представления данных на листе «Examples».
Из листа «Hypotheses» можно узнать необходимые сведения о полученных
гипотезах (Рисунок 5).
Рисунок 5 - Фармакология. Пример представления данных на листе «Hypotheses».
Лист «T_Result» хранит информацию о результатах доопределения (τ)-примеров.
Для удобства ещё раз выводится идентификатор и имя примера (Рисунок 6).
Рисунок 6 - Фармакология. Пример представления данных на листе «T_Result».
103
На листе «Total» содержится общая информация об эксперименте: какие
стратегии ДСМ-метода АПГ были применены в эксперименте, использовались ли
фильтры, количество примеров и полученных гипотез, количество необъясненных
гипотезами
примеров
и
др.
В
списке,
если
таковые
имеются,
выводятся
идентификаторы необъясненных примеров (результат проверки аксиомы каузальной
полноты). Пример параметров представлен на Рисунке 7.
Рисунок 7 - Фармакология. Пример представления данных на листе «Total».
На
листе
«Determine_ByOne»
представлены
результаты
процедуры
«доопределение по одному» (Рисунок 8). Описание процедуры см. в главе 1, раздел
«Доопределение по одному».
Рисунок 8 - Фармакология. Пример представления данных на листе
«Determine_ByOne».
ДСМ-Решатель считывает данные с листов «Descriptors» и «Examples» и
записывает
результаты
на
листы
«Hypotheses»,
«Determine_ByOne».
104
«T_Result»,
«Total»
и
2.2 Представление данных в медицине
Средства представления медицинских данных были разработаны в двух
приложениях: Microsoft Office Excel и в Microsoft Office Access.
2.2.1 Представление в Microsoft Office Excel
Представление в Excel удобно использовать для тестирования системы.
Документ .xls состоит из шести листов: «Properties», «Patients», «Hypotheses»,
«T_Result», «Total» и «Determine_ByOne». Файл имеет структуру, аналогичную той,
которая представляет данные для фармакологии.
Важное отличие – это внутренняя структура примеров. Каждый пациент
описывается набором признаков, где каждый признак – это сложная структура
определенного типа [см. раздел «Внутреннее представление данных»].
В таблице 9 представлено описание каждого поля в файле.
Таблица 9 – Медицина: Описание полей файла Excel
Название
название поля
листа:
Описание
Properties: Id
Идентификатор признака.
Properties: Name
Название признака.
Properties: Type
Тип признака [см. раздел «Внутреннее представление
данных»]1.
Properties: Left
Значение ячейки указано «1», если признак требуется
отнести в левую часть представления примера и «0»,
иначе.
Properties: Right
Значение ячейки указано «1», если признак требуется
отнести в правую часть представления примера и «0»,
иначе.
Properties: Length
Длина строки схематичного представления признака.
Она необходима для кодирования признаков.
Для типа «интервал отклонения» в тестовых .xls файлах следует писать не просто norma, а norma(число
= значению нормы). Например, norma(4). Это позволяет обойтись без считывания файла описания
признаков для некоторых процедур (например, для усеченного метода остатков).
1
105
Название
листа:
название поля
Properties: AND_plus
Описание
Значение ячейки равно «1», если признак требуется
отнести в конъюнктивный фильтр для (+)-гипотез и «0»,
иначе.
Properties: OR_plus
Значение ячейки равно «1», если признак требуется
отнести в дизъюнктивный фильтр для (+)-гипотез и «0»,
иначе.
Properties: AND_minus
Значение ячейки равно «1», если признак требуется
отнести в конъюнктивный фильтр для (–)-гипотез и «0»,
иначе.
Properties: OR_minus
Значение ячейки равно «1», если признак требуется
отнести в дизъюнктивный фильтр для (–)-гипотез и «0»,
иначе.
Patients: Id
Идентификатор пациента.
Patients: Name
Имя пациента (в качестве имени может выступать
фамилия, некоторое кодовое имя и проч. ).
Patients: Sort
Оценка, приписанная примеру: +, -, 0 или ? для (τ)примеров.
Patients: Included
Значение ячейки равно «1», если пациент выбран для
эксперимента и «0», иначе.
Patients: pi
Значение признака с идентификатором i для пациента.
Строка, закодированная в соответствии с типом признака.
Hypotheses: Id
Идентификатор гипотезы.
Hypotheses: Step
Такт ДСМ-рассуждения, на котором гипотеза была
получена.
Hypotheses: Sort
Оценка гипотезы: +, - или 0.
Hypotheses: method_Got
Поле заполняется символом «i» (от induction), если
гипотеза получена на этапе индукции, и –«r» (от residues)
, если гипотеза получена методом остатков. У гипотезы,
полученной методом остатков, последний родитель – это
идентификатор гипотезы, которая участвовала в её
порождении.
106
Название
листа:
название поля
Описание
Hypotheses: parentNum
Число родителей гипотезы.
Hypotheses: parent_Ids
Список
идентификаторов
родителей
(примеров)
гипотезы.
Hypotheses: pi
Значение признака с идентификатором i для гипотезы.
Строка, закодированная в соответствии с типом признака.
T_Result: Id
Идентификатор (τ)-примера.
T_Result: Name
Имя пациента.
T_Result: Step
Номер такта ДСМ-рассуждения, на котором была
последняя попытка доопределения примера.
T_Result: Sort
Результат доопределения: +, -, 0 или ? (если пример не
удалось доопределить).
T_Result: hypothsNum
Количество доопределивших пример гипотез.
T_Result: hypoths_Ids
Список номеров доопределивших пример гипотез.
Total: Number
Порядковый номер параметра стратегии.
Total: Parameter
Имя параметра.
Total: Value
Значение параметра.
Total: Unexplained_Ids
Для параметров «Количество необъясненных (+)-, (–)-,
(0)-примеров»
выводится
необъясненных
примеров
список
идентификаторов
(результат
проверки
абдуктивной сходимости).
Determine_ByOne: Id
Идентификатор примера.
Determine_ByOne: Name
Имя пациента.
Determine_ByOne:
Оценка, приписанная примеру: +, -, 0 или ? для (τ)-
Sort_Init
Determine_ByOne:
Sort_Result
примеров.
Оценка, полученная в результате работы процедуры
«доопределение по одному».
На листе «Properties» содержится информация о признаках (Рисунок 9).
Описание фильтров для признаков см. в разделе «Фильтры».
107
Рисунок 9 - Медицина. Признаки для данных болезней глаз. Пример
представления данных на листе «Properties».
При считывании медицинских данных из .xls ДСМ-Решатель также запрашивает
специально размеченный .txt-файл. Файл .txt имеет определенную структуру и
содержит описание исходных признаков. Для описания признаков был создан
формальный язык, на котором необходимо записать признак и варианты его значений в
зависимости от типа признака. Язык был разработан Д.А. Добрыниным (к.т.н., научный
сотрудник
ОТиППИ
Лаборатории
ВИНИТИ
робототехники
и
РАН,
научный
искусственного
и
технический
интеллекта)
руководитель
при
проведении
экспериментов с применением ДСМ-метода в области медицинской диагностики в
ВИНИТИ РАН [7, 9].
Лист «Patients» хранит данные о пациентах (Рисунок 10). Сходным образом
устроено тело гипотезы на листе «Hypotheses».
Рисунок 10 - Медицина. Данные болезней глаз. Пример представления данных на
листе «Patients».
В остальном устройство .xls-документа аналогично представлению для
фармакологических данных.
Отдельной задачей была реализация усеченного метода остатков [см. раздел
«Усеченный метод остатков»]. Усеченный метод остатков – это процедура для
упрощения метода остатков, которая применялась для анализа онкологических данных.
Документ
.xls,
который
участвует
при
проведении
эксперимента,
содержит
дополнительный лист «Hypotheses_Export», куда переносятся гипотезы с листа
108
«Hypotheses» с необходимым набором признаков. Кроме того, лист «Properties» имеет
дополнительное поле «Export» со значением 1 напротив признака, участвующего в теле
экспортируемых гипотез, и 0, иначе. ДСМ-Решатель считывает только те признаки,
которые помечены 1, а затем считываются гипотезы с листа «Hypotheses_Export».
Разность гипотез, полученных из двух документов .xls, оформленных описанным
способом, записывается в третий файл, содержащий всего один лист «Hypotheses»
(Рисунок 11). Каждая гипотеза в файле-результате имеет идентификатор, сорт («+» или
«-»), тело гипотезы и два родителя: первый – идентификатор гипотезы из первого
файла (гипотеза, из которой вычитали), второй - идентификатор гипотезы из второго
файла (гипотеза, которую вычитали).
Рисунок 11 - Пример представления результатов работы усеченного метода
остатков. Медицинские данные.
2.2.2 Представление в Microsoft Office Access
В ходе работы с медицинскими данными стало ясно, что схематичное
представление данных в Microsoft Office Excel неудобно для пользователя. Хотелось бы
знать, например, что входит в тот или иной признак и чему соответствует строка,
состоящая из ‘+’, ‘x’ и ‘t’. Для решения этой задачи мною было создано представление
в Microsoft Office Access.
Сначала необходимо было разработать схему базы данных для считывания
данных о признаках и пациентах и записи полученных результатов работы ДСМРешателя. На этом этапе решалась задача нормализации схемы базы данных.
Схема базы данных имеет вид, представленный на рисунке 12.
В таблице 10 представлено краткое описание содержания каждой таблицы базы
данных.
109
Рисунок 12 – Медицинские данные. Схема базы данных.
Таблица 10 – Описание таблиц базы данных
Название
таблицы
Patients
Description
Properties
PropertyTypes
NormaValues
PropertItems_Links
PropertyValues
ItemsContent
Patient-Content
Hypotheses
Hypothesis-Content
Hypothesis-Parents
T_Result
Object-Hypothesis
Total
Determine_ByOne
Характеристика
Пациенты: идентификатор, имя, тип примера (+, -, 0 или ? для
(τ)-примера), выбран ли для эксперимента (логический тип
данных), объяснен ли пример полученными гипотезами
(логический тип данных; принимает значение истина, если не
объяснен).
Содержит все возможные словесные описания признаков
(названия и значения). Каждому признаку присваивается
идентификатор.
Признаки: идентификатор названия, идентификатор типа,
включен ли признак в эксперимент, является ли целевым
свойством-эффектом, в какие фильтры входит, длина
признака.
Типы признаков и их краткое описание.
Значение нормы (порядковый номер в последовательности)
для типа «интервал отклонения».
Хранит связи между идентификаторами признаков и их
описаний. IdParent необходим для иерархических структур
(деревьев). В случае неиерархических структур IdMainParent =
IdParent.
Все возможные значения строк, состоящих из «+», «x» и «t».
Хранит связи между идентификаторами признаков и их
возможных значений. Каждой паре IdProp – IdValue
присваивается общий идентификатор.
Хранит связи между идентификаторами пациентов и их
описаний.
Гипотезы: идентификатор, такт ДСМ-рассуждений, на
котором была получена, тип гипотезы (+, -, 0) и число
родителей (поле необходимо для повышения скорости вывода
данных на форме).
Хранит связи между идентификаторами гипотез и их
описаний.
Хранит связи между идентификаторами гипотез и их
родителей.
Результат доопределения (τ)-примеров: идентификатор (τ)примера, такт ДСМ-рассуждений, на котором последний раз
была попытка доопределения, значение доопределения, число
доопределивших гипотез (поле необходимо для повышения
скорости вывода данных на форме).
Хранит связи между идентификаторами (τ)-примеров и
доопределивших их гипотез.
Общие: параметры запуска ДСМ-метода: выбранные
стратегии, пороговые значения родителей гипотез и др.
Доопределение по одному. Здесь содержится информация, как
были доопределены ДСМ-Решателем исходные (+)-, (–)- и (0)примеры с выбранными для эксперимента параметрами.
Таблица содержит идентификатор примера и тип (сорт) –
результат доопределения.
111
Название
таблицы
HelpInfoTable
Характеристика
Вспомогательная таблица. Хранит справочную информацию о
содержании вкладок главной формы.
При создании интерфейса представления данных решались следующие задачи:
создание главной формы с набором вкладок, создание подчиненных форм, синхронизация
форм, находящихся на разных вкладках, динамическое изменения содержания форм, создание
запросов на выборку, групповых и перекрестных запросов, поиск по набору записей,
фильтрация набора записей, изображение дерева признаков (работа с элементом управления
Microsoft TreeView Control). Для получения доступа и манипулирования данными был
использован интерфейс программного уровня ADO (библиотека Microsoft ActiveX Data Objects
2.1).
Результатом этой работы стала форма «Главная Форма ДСМ», которая включает семь
вкладок.
Первая вкладка «О приложении» (Рисунок 13) содержит справочную информацию для
пользователя – описание задачи приложения и описание вкладок. При выборе названия
вкладки из выпадающего списка и нажатии кнопки «ОПИСАНИЕ» в текстовом поле будет
отображена запрашиваемая информация.
Рисунок 13 – Вкладка «О приложении»
112
На вкладке «Признаки» (Рисунок 14) представлен список всех признаков, имеющихся в
базе данных. Запись каждого признака включает в себя его порядковый номер, название, с
помощью флажков отмечено, участвовал ли признак в эксперименте (Поле «Выбраны»),
является ли признак целевым (Поле «Правая часть», то есть по этому признаку были
разделены примеры на (+), (–), (0) и (τ)-примеры), включен ли он в какой-нибудь из фильтров.
(Фильтры И-плюс, И-минус – конъюнктивные. Фильтры ИЛИ-плюс, ИЛИ-минус –
дизъюнктивные.)
При выборе записи любого признака слева в виде дерева будет представлено его
словесное описание – допустимые значения. В нижней части вкладки для удобства еще раз
отображено название признака, информация о его включении в фильтры, а также его тип
(типы были выделены при анализе признаков заболеваний). Дается пояснение значения
схематичного отображения (строка, состоящая из ‘+’, ‘x’ и ‘t’) признака соответствующего
типа. В зависимости от типа признака в ДСМ-Решателе производится разное кодирование
строк для выполнения необходимых операций.
Рисунок 14 – Вкладка «Признаки»
На вкладке «Пациенты_1» (Рисунок 15) представлена информация о пациентах: имя,
сорт-тип пациента (‘+’, ‘-‘, ‘0’ или ‘?’. Знак вопроса используется для (τ)-примеров.), а также
схематично, в виде строк, состоящих из ‘+’, ‘x’ и ‘t’, отображены включенные в эксперимент
признаки, размеченные для каждого пациента.
113
Данные выводятся только о пациентах, выбранных для эксперимента, то есть таких, у
которых в таблице Patients поле Included имеет значение Истина (отмечен флажок). Заголовок
столбца с признаком соответствует номеру признака в базе данных [см. описание вкладки
«Признаки»].
Рисунок 15 – Вкладка «Пациенты_1». Выбран не (τ)-пример.
Для (τ)-примеров при выборе записи пациента в нижней части вкладки отображается
номер такта (применение индукции и аналогии) ДСМ-рассуждения, на котором была
последняя попытка доопределения примера, результат
доопределения, количество
доопределивших пример гипотез и список номеров этих гипотез.
На вкладке есть возможность найти пациента по имени, а также выбрать не только всех
пациентов, но и группу пациентов соответствующего типа: ‘+’, ‘-‘, ‘0’ или ‘?’. Для этого
необходимо выбрать из списка требуемый пункт и нажать кнопку ПРИМЕНИТЬ для
подтверждения выбора (Рисунок 16).
114
Рисунок 16 – Вкладка «Пациенты_1». Применен фильтр. Выбран (τ)-пример.
На вкладке «Пациенты_2» (Рисунок 17) представлена следующая информация о
пациентах: имя, тип пациента (‘+’, ‘-‘, ‘0’ или ‘?’), количество гипотез, родителем которых он
является, список их номеров, а также подробно отображены включенные в эксперимент
признаки, размеченные для каждого пациента. Данные выводятся только о пациентах,
выбранных для эксперимента.
В отличие от вкладки «Пациенты_1» признаки представлены не схематично, а дано их
словесное описание в виде дерева признаков. Признаки, помеченные схематично как ‘+’ на
вкладке «Пациенты_1», изображены на желтом фоне, а ‘x‘ – на фиолетовом фоне.
При нажатии кнопки «Сокращенный вид дерева» на ней появится надпись «Полный вид
дерева» и те значения, которые схематично помечены как ‘t’, отображаться не будут: узлы
дерева будут пусты (Рисунок 18). В том случае, если признак для данного больного полностью
пуст, то узел с названием признака также не будет отображен. Если же теперь нажать на
кнопку «Полный вид дерева», то будут отображаться все узлы дерева признаков.
Вкладки «Пациенты_1» и «Пациенты_2» синхронизированы: при переходе с одной
вкладки на другую текущий выбор пользователя (выбранный пациент) сохраняется.
115
Рисунок 17 – Вкладка «Пациенты_2». Полный вид дерева признаков.
Рисунок 18 – Вкладка «Пациенты_2». Сокращенный вид дерева признаков.
116
На вкладке «Гипотезы_1» (Рисунок 19) представлена информация о гипотезах: номер,
тип гипотезы (‘+’, ‘-‘, ‘0’), такт ДСМ-рассуждений, на котором гипотеза была получена или
были внесены изменения в список родителей гипотезы, число родителей, а также схематично
(в виде строк, состоящих из ‘+’, ‘x’ и ‘t’) отображены признаки, составляющие тело гипотезы.
Заголовок столбца с признаком соответствует номеру признака в базе данных.
При выборе записи гипотезы в нижней части вкладки отображается список больных –
родителей гипотезы.
На вкладке есть возможность выбрать не только все гипотезы, но и группу гипотез
соответствующего типа: ‘+’, ‘-‘ или ‘0’. Для этого необходимо выбрать из списка требуемый
пункт и нажать кнопку ПРИМЕНИТЬ для подтверждения выбора.
Рисунок 19 – Вкладка «Гипотезы _1»
117
Рисунок 20 – Вкладка «Гипотезы _2». Сокращенный вид дерева признаков.
На вкладке «Гипотезы_2» (Рисунок 20) в отличие от вкладки «Гипотезы_1» признаки
представлены не схематично, а дается их словесное описание в виде дерева признаков.
Вкладки Гипотезы_1 и Гипотезы _2 синхронизированы: при переходе с одной вкладки
на другую текущий выбор пользователя (выбранная гипотеза) сохраняется.
На вкладке «Общие» дается следующая информация: какие процедуры и стратегии
ДСМ-метода АПГ были применены в эксперименте, использовались ли фильтры, количество
примеров и полученных гипотез, количество необъясненных гипотезами примеров (Рисунок
21, Рисунок 22, Рисунок 23).
Если в результате эксперимента были найдены необъясненные примеры (результат
проверки аксиомы каузальной полноты), то в списке выводятся имена больных,
необъясненных примеров, и их тип. В противном случае на месте списка появится надпись
«Все примеры объяснены».
Если в ходе эксперимента была выполнена процедура «доопределение по одному», то
на вкладке появится кнопка с надписью «Доопределение по одному». При нажатии этой
кнопки общая информация об эксперименте исчезнет, а на ее месте появится таблица с
результатами процедуры «доопределение по одному», примененной к исходным фактам: (+)-,
(–)- и (0)-примеров. На кнопке же появится надпись «Общие», и теперь нажатие на нее вернет
таблицу параметров эксперимента.
118
Рисунок 21 – Вкладка «Общие». Есть необъясненные примеры. Процедура
«доопределение по одному» не была выполнена в ходе работы с ДСМ-Решателем.
Рисунок 22 – Вкладка «Общие». Есть необъясненные примеры. Процедура
«доопределение по одному» была выполнена в ходе работы с ДСМ-Решателем.
119
Рисунок 23 – Вкладка «Общие». Есть необъясненные примеры. Режим «доопределение по
одному».
2.3 Представление данных в социологии
Структурированное представление индивидуумов в социологии (субъектов поведения)
задаётся в соответствии с постулатом поведения. Социолог-эксперт проводит анкетирование
респондентов. Множества «качественных» характеристик определяются вопросами анкеты и
ответами респондентов. ИС-ДСМ является инструментом решения задач формализованного
качественного анализа социологических данных, направленных на изучение поведения Y
субъекта поведения Х, находящегося в ситуации S и обладающего мнением  [38].
Представление данных в системе предусматривает наличие всех рассмотренных параметров:
описание субъекта (социальный характер субъекта, индивидуальные черты личности,
нетривиальные биографические данные), мнение субъекта (о ситуации, о возможном
поведении), ситуация (контекст поведения) и и эффект поведения (действие или установка к
действию).
Визуальное представление социологических данных было разработано в приложении
Microsoft Office Excel. Документ .xls состоит из пяти листов: «Questions», «Data»,
«Data_Values», «JSM_Params». Также при использовании «универсального» ДСМ-Решателя
[см. раздел «Графический интерфейс ДСМ-Решателя»] допускается наличие вкладок «Total» и
«Determine_ByOne».
На листе «Questions» представлена информация о вопросах анкеты. Вкладка «Data»
содержит данные по ответам респондентов, а также поля для сохранения результатов
доопределения (τ)-примеров. Соответствие между числовыми и текстовыми значениями
120
ответов приведены на листе «Data_Values». Информация о структуре объекта и параметрах
эксперимента
содержится
на
листе
«JSM_Params».
Структура
вкладок
«Total»
и
«Determine_ByOne» такая же, как в файлах Excel для фармакологических и медицинских
данных.
Гипотезы, полученные в результате эксперимента, выводятся в файл с расширением
.txt. Вывод гипотез в обычный текстовый файл связан с тем, что на исследуемых данных
количество полученных гипотез на некоторых наборах признаков достигало тысячи и более.
Выбор текстового формата позволил сократить время загрузки файлов при дальнейшей работе
с ними в специально созданной системе [см. главу «ДСМ-система JSM-Socio для анализа
социологических данных»].
В таблице 11 представлено описание каждого поля в файле .xls. В таблице 12
представлено описание полей файла .txt.
Таблица 11 – Социология: Описание полей файла Excel
Название
листа:
название поля
Описание
Questions: Code
Код вопроса анкеты.
Questions: Id
Идентификатор вопроса анкеты.
Questions: Name
Формулировка вопроса анкеты.
Questions: Type
Тип (категория) вопроса [см. раздел «1.1 Внутреннее
представление
(обозначается
данных»]:
«d»),
мнение
описание
(«o»),
респондента
ситуация
(«s»),
изучаемый эффект («y»). Если тип вопроса не задан,
значение ячейки задается равным «?» и вопрос в
эксперименте не участвует.
Questions: _Left
Значение ячейки указано «1», если вопрос требуется
отнести в левую часть представления примера и «0»,
иначе.
Questions: _Right
Значение ячейки указано «1», если вопрос требуется
отнести в правую часть представления примера и «0»,
иначе.
Questions: AND_plus
Значение ячейки равно «1», если вопрос требуется
отнести в конъюнктивный фильтр для (+)-гипотез и «0»,
иначе.
121
Название
листа:
название поля
Questions: OR_plus
Описание
Значение ячейки равно «1», если вопрос требуется
отнести в дизъюнктивный фильтр для (+)-гипотез и «0»,
иначе.
Questions: AND_minus
Значение ячейки равно «1», если вопрос требуется
отнести в конъюнктивный фильтр для (–)-гипотез и «0»,
иначе.
Questions: OR_minus
Значение ячейки равно «1», если вопрос требуется
отнести в дизъюнктивный фильтр для (–)-гипотез и «0»,
иначе.
Data: Id
Идентификатор респондента.
Data: Sort
Оценка, приписанная примеру: +, -, 0 или ? для (τ)примеров.
Data: Included
Значение ячейки равно «1», если респондент выбран
для эксперимента и «0», иначе.
Data: Step
Номер такта ДСМ-рассуждения, на котором была
последняя попытка доопределения примера. Ячейка
заполняется в результате проведения эксперимента для
(τ)-примеров.
Data: resSort
Результат доопределения: +, -, 0 или ? (если пример не
удалось доопределить). Ячейка заполняется в результате
проведения эксперимента для (τ)-примеров.
Data: hypothsNum
Количество доопределивших пример гипотез. Ячейка
заполняется в результате проведения эксперимента для
(τ)-примеров.
Data: hypoths_Ids
Список номеров доопределивших пример гипотез.
Ячейка
заполняется
в
результате
проведения
эксперимента для (τ)-примеров.
Data: Code_i
Ответ респондента на i-й вопрос (числовое значение,
где допустимый интервал – от 0 до 255, или «n», если
ответ респондента не определен). В качестве имени
столбца Code_i стоит код i-го вопроса анкеты.
Data_Values: Code
Код вопроса анкеты.
122
Название
листа:
название поля
Описание
Data_Values: Id
Идентификатор вопроса анкеты.
Data_Values: Name
Формулировка вопроса анкеты.
Data_Values: _Value
Числовое значение j-го ответа на вопрос анкеты.
Data_Values: Description
Текстовое значение j-го ответа на вопрос анкеты.
JSM_Params: Parameter
Закодированное
Используется
имя
параметра
ДСМ-Решателем
при
стратегии.
проведении
эксперимента.
JSM_Params: _Value
Закодированное значение параметра.
Total: Number
Порядковый номер параметра стратегии.
Total: Parameter
Имя параметра.
Total: Value
Значение параметра.
Total: Unexplained_Ids
Для параметров «Количество необъясненных (+), (–),
(0)-примеров»
выводится
необъясненных
список
примеров
идентификаторов
(результат
проверки
абдуктивной сходимости).
Determine_ByOne: Id
Идентификатор примера.
Determine_ByOne:
Оценка, приписанная примеру: +, -, 0 или ? для (τ)примеров.
Sort_Init
Оценка, полученная в результате работы процедуры
Determine_ByOne:
«доопределение по одному».
Sort_Result
Таблица 12 – Социология: Описание полей файла с гипотезами
Название
название поля
листа:
Описание
Hypotheses: Id
Идентификатор гипотезы.
Hypotheses: Step
Такт ДСМ-рассуждения, на котором гипотеза была
получена.
Hypotheses: Sort
Оценка гипотезы: +, - или 0.
Hypotheses: Code_i
Значение i-го вопроса анкеты. В качестве имени
столбца Code_i стоит код i-го вопроса анкеты.
123
Data: Code_i
Ответ респондента на i-й вопрос (числовое значение,
если ответы респондентов совпали, или «n», если ответы
разные или ответ хотя бы одного респондента не
определен). В качестве имени столбца Code_i стоит код iго вопроса анкеты.
Hypotheses: parentNum
Число родителей гипотезы.
Hypotheses: parent_Ids
Список
идентификаторов
родителей
(примеров)
гипотезы.
Hypotheses: childrenNum
Число дочерних гипотез данной гипотезы.
Hypotheses:
Список индексов (порядковых номеров в массиве
childrenHypIterNumber
Hypotheses:
гипотез) дочерних гипотез.
Список идентификаторов дочерних гипотез.
childrenHypIds
124
3 ГРАФИЧЕСКИЙ ИНТЕРФЕЙС ДСМ-РЕШАТЕЛЯ
В первой главе была описана общая структура созданной ДСМ-системы. Один из
модулей – это «Графический интерфейс пользователя», или интерфейс ДСМ-Решателя,
который позволяет загрузить подготовленные данные в систему и провести эксперимент с
выбранными настойками.
Интерфейс
ДСМ-Решателя
был
создан
на
языке
программирования
C++
с
использованием библиотеки классов MFC (Microsoft Foundation Classes), а также интерфейса
для доступа и манипулирования внешними данными ADO и языка запросов SQL. За основу
графического интерфейса было взято приложение, разработанное ранее в рамках дипломной
работы [42].
Интерфейс поддерживает следующие функциональные возможности:
1. выбор режима работы с атомарной версией ДСМ-метода;
2. выбор режима работы с неатомарной версией ДСМ-метода (прямой метод);
3. выбор режима работы с неатомарной версией ДСМ-метода (обратный метод);
4. выбор режима работы с усеченным методом остатков;
5. выбор режима работы «вычисление противоречивости для двух массивов гипотез»;
6. выбор режима работы «вычисление противоречивости для N массивов гипотез»;
7. выбор
предметной
области:
для
атомарного
ДСМ-метода
доступны
«Фармакология», «Медицина», «Социология»; для неатомарного – «Медицина»,
«Социология» (выбор источника данных в формате .xls или .mdb [о представлении
данных см. главу «Визуальное представление данных»]);
8. выбор файла с описанием признаков для медицинских данных в формате .txt
[см.раздел «2.2.1. Представление в Microsoft Office Excel»];
9. настройка
ДСМ-Решателя
на
эксперимент:
выбор
стратегий
и
установка
параметров;
10. работа в режиме «Усеченный метод остатков»;
11. работа в режиме «вычисление противоречивости для двух массивов гипотез» (выбор
предметной области, выбор файлов с гипотезами и указанием допустимого порога
непротиворечивости, вывод полученных степеней противоречивости для (+)-, (–)- и
(0)-гипотез);
12. работа в режиме «вычисление противоречивости для N массивов гипотез» (выбор
предметной области, выбор файлов с гипотезами в порядке применения к ним
125
алгоритма
и
указанием допустимого порога непротиворечивости, вывод
полученных степеней противоречивости для (+)-, (–)- и (0)-гипотез).
Возможности
1-4
поддерживаются
с
помощью
главного
меню
приложения
(соответствующие подпункты опции «Файл»: «Алгоритм ДСМ-метода АПГ: атомарная правая
часть»; «Алгоритм ДСМ-метода АПГ: неатомарная правая часть» > «Прямой метод»,
«Обратный метод»; «Усеченный метод остатков»). Также для этих опций созданы кнопки на
панели элементов управления. При наведении на какую-либо из кнопок появится
всплывающая подсказка, а также подсказка в строке состояния окна приложения (Рисунки 24 29).
Рисунок 24 - Панель инструментов. Выбор атомарного ДСМ-метода.
Рисунок 25 - Строка состояния. Выбор атомарного ДСМ-метода.
Рисунок 26 - Панель инструментов. Выбор неатомарного прямого ДСМ-метода.
126
Рисунок 27 - Панель инструментов. Выбор обратного ДСМ-метода.
Рисунок 28 - Панель инструментов. Выбор режима "Усеченный метод остатков".
Рисунок 29 - Главное меню приложения. Выбор версии алгоритма.
Опции 5, 6 доступны из главного меню приложения (Рисунок 30).
127
Рисунок 30 - Главное меню приложения. Выбор режима «Вычисление
противоречивости»
Пункт 7 обеспечивается с помощью диалогового окна класса Dialog_LoadData (Рисунок
31), а пункт 8 – диалогового окна класса LoadTXT_Dialog (Рисунок 32). В качестве
вспомогательного блока диалога для выбора источника данных был использован стандартный
класс библиотеки MFC CFileDialog.
Рисунок 31 - Диалоговое окно для выбора предметной области
Рисунок 32 - Диалоговое окно для выбора .txt-файла с описанием признаков
медицинских данных
Следует отметить, что класс Dialog_LoadData содержит переменные для хранения
информации о выбранном режиме ДСМ-метода и о выбранной предметной области. В
128
заголовке блока диалога указывается режим открытия окна: атомарный или неатомарный
(прямой/ обратный) ДСМ-метод.
Настройка ДСМ-Решателя на эксперимент (опция 11) осуществляется посредством
диалогового окна созданного класса Dialog_fullJSM. Допустимые параметры настройки
решателя на эксперимент представлены на рисунках 33, 34. Вид диалогового окна зависит от
выбранной версии ДСМ-метода. На иллюстрациях представлен диалог для неатомарного
прямого ДСМ-метода.
Как для (+)-, так и для (–)-предиката пользователь может выбрать простой предикат
сходства, миллевский метод различия, упрощение сходства-различия, метод сходстваразличия. Как усиление предиката можно выбрать запрет на контрпример ( +, –, 0 ),
единственность причины для прямого ДСМ-метода или единственность следствия для
обратного ДСМ-метода, (+)-, (–)-фильтры.
В неатомарной версии ДСМ-метода доступен для выбора параметр «Метод остатков».
При этом для (+)-предиката будет доступен список из двух опций: «+\+» (что означает, что
гипотезы будут получены путем вычитания из (+)-примеров (+)-гипотез, полученных в
результате Этапа I ДСМ-рассуждений [7]), «–\+» (что означает, что гипотезы будут получены
путем вычитания из (–)-примеров (+)-гипотез). Аналогично для (–)-предиката будут доступны
опции «–\–», «+\–».
В текстовых полях формы можно установить порог родителей для (+)-, (–)- и (0)гипотез (по умолчанию он равен двум). А в качестве дополнительных процедур, которые
будут запущены уже после окончания Этапа I ДСМ-рассуждений, когда гипотезы уже
получены и выполнена проверка аксиом каузальной полноты [см. раздел «Абдукция и степень
абдуктивности»], можно выбрать опции «Доопределение по одному» и «Сохранение данных
для “куста” гипотез».
129
Рисунок 33 - Диалоговое окно настройки параметров ДСМ-метода
Рисунок 34 - Диалоговое окно настройки параметров ДСМ-метода. Список выбора
допустимых стратегий.
130
При создании класса Dialog_fullJSM в его конструктор в качестве параметра передается
ссылка на диалоговое окно класса Dialog_LoadData. Это позволяет узнать, какой был выбран
режим и какая при этом предметная область была указана. Так, например, для фармакологии
на диалоговом окне не будут доступны флажки «Использовать (+)-фильтры» и «Использовать
(–)-фильтры». Опция «Метод остатков» доступна только в режиме неатомарного ДСМ-метода.
В процессе работы алгоритма пользователю выдаются необходимые сообщения и
динамически меняется заголовок диалогового окна: «Алгоритм выполняется...», «Запись
результатов...».
Если была выбрана опция «Доопределение по одному», то в процессе работы
соответствующей процедуры в заголовке окна будет отображено, какое количество примеров
из общего количества фактов доопределено на текущий момент (например, «Доопределено 5
из 62»).
Работа в режиме «Усеченный метод остатков» обеспечивается с помощью блока
диалога класса Dialog_TruncResidues (Рисунок 35).
Рисунок 35 - Диалоговое окно для выбора файлов для участия в эксперименте с
использованием усеченного метода остатков
В качестве вспомогательного блока диалога для выбора источника данных
(функциональность кнопки «Обзор…») был использован стандартный класс библиотеки MFC
CFileDialog.
Этот блок диалога вынесен в отдельный пункт меню в связи с тем, что необходимо
было решить задачу «Усеченный метод остатков» при исследовании данных больных
меланомой [описание задачи приведено в разделе «Усеченный метод остатков»].
Для работы в режиме «вычисление противоречивости для двух массивов гипотез»
создан класс Dialog_ContradictionCalculation. На рисунке 36 приведен пример диалогового
окна с выбранной предметной областью «Фармакология» и полученными степенями
противоречивости (для примера данные подобраны таким образом, чтобы стратегия оказалась
противоречивой).
131
Порог непротиворечивости по умолчанию равен 0.2, но пользователь может ввести
любое другое значение.
Для выбора источника данных (кнопка «Обзор…») используется стандартный класс
библиотеки MFC CFileDialog, для текстовых полей (порог непротиворечивости, пути к файлам
с данными) – класс CEdit, для выбора предметной области – класс CComboBox, для вывода
результата – класс CListBox.
Рисунок 36 – Диалоговое окно для вычисления противоречивости для двух массивов
гипотез
Для работы в режиме «вычисление противоречивости для N массивов гипотез» создано
несколько диалоговых классов. Дело в том, что для удобства было решено сделать диалог с
двумя вкладками: «Выбор данных», «Результат», – но библиотека MFC не предоставляет
готового решения для такой задачи.
Отдельно созданы класс диалога для вкладки «Выбор данных» Dialog_Data_contra и
класс диалога для вкладки «Результат» Dialog_Result_contra. Класс Tab_Ctrl_Contra,
наследующий библиотечный класс CTabCtrl, отвечает за переход между вкладками (хранит
информацию о том, какие вкладки доступны, какая вкладка выбрана в данный момент, и
обрабатывает изменение выбора по щелчку мыши). Класс Dialog_with_tabs_contra объединяет
все созданные диалоговые классы: он инициализирует объект класса Tab_Ctrl_Contra и
уничтожает его при закрытии окна.
Также для выбора нескольких файлов на вкладке «Выбор данных» реализован класс
CCustomEditListBox, наследующий библиотечный класс CVSListBox. С помощью этого класса
создается список с кнопками для добавления, удаления и перемещение файла в списке.
CCustomEditListBox обрабатывает события нажатия кнопок. Для выбора источника данных
132
(кнопка «Обзор…») используется класс CFileDialog, для поля «порог непротиворечивости» –
класс CEdit, для выбора предметной области – класс CComboBox.
Аналогично диалоговому окну «вычисление противоречивости для двух массивов
гипотез» порог непротиворечивости по умолчанию равен 0.2, но пользователь может ввести
любое другое значение.
Для вывода результата создан специальный класс ColoredListCtrl, наследующий
библиотечный класс CMFCListCtrl. Этот класс был необходим для реализации списка с
несколькими столбцами. Кроме того, доступны такие «декоративные» возможности класса
CMFCListCtrl, как программное изменение шрифта, цвета текста и цвета фона строки в списке.
На рисунках 37, 38 приведен пример окончательного вида диалогового окна с
выбранной
предметной
областью
«Фармакология»
и
полученными
степенями
противоречивости (для примера данные подобраны таким образом, чтобы стратегия оказалась
непротиворечивой).
Рисунок 37 – Диалоговое окно для вычисления противоречивости для N массивов
гипотез: выбор данных
133
Рисунок 38 – Диалоговое окно для вычисления противоречивости для N массивов
гипотез: просмотр результата
Помимо перечисленных основных функциональных возможностей с помощью пунктов
меню опции «Вид» можно скрыть и вернуть обратно панель элементов управления или строку
состояния окна приложения.
В ходе работы с приложением пользователю выдаются необходимые сообщения, в том
числе сообщения об ошибках в случае неудачного завершения каких-либо процедур.
Кроме того, реализовано несколько «горячих» клавиш: для запуска атомарной версии
ДСМ-метода – сочетание клавиш «Ctrl» и «1», неатомарной прямой версии - «Ctrl» и «2»,
неатомарной обратной версии - «Ctrl» и «3», для усеченного метода остатков - «Ctrl» и «R»,
для выхода из программы - «Ctrl» и «Q».
Подробное руководство пользователю системы приведено в Приложении Б.
В целом, стоит отметить, что основная сложность при работе с системой состоит в
заполнении входных данных. Далее пользователю остается выбрать версию ДСМ-метода
(атомарную/неатомарную, прямую/обратную) или дополнительные процедуры (усеченный
метод остатов/ вычисление противоречивости), выбрать файлы с данными для обработки и
получить результат. Пользователь должен быть знаком с ДСМ-методом, понимать, подходят
ли имеющиеся у него данные для обработки системой, знать структуру заполняемых файлов, а
также
понимать
специфику
процедур
ДСМ-метода
экспериментов.
134
при
заполнении
параметров
Несмотря на то, что система универсальна для разных предметных областей, очевидно,
что её недостаток сказывается в том, что при анализе полученных данных эксперту не хватает
удобного интерфейса для просмотра результатов. Как будет описано в главе «ДСМ-система
JSM-Socio для анализа социологических данных», данный недостаток можно устранить только
путём создания дополнительных программ уже для конкретной предметной области.
135
4 АНАЛИЗ ФАРМАКОЛОГИЧЕСКИХ И
МЕДИЦИНСКИХ ДАННЫХ: ЭКСПЕРИМЕНТАЛЬНАЯ
ПРОВЕРКА
На первом этапе созданная ДСМ-система применялась к фармакологическим и
медицинским данным. Объем данных, предоставленных для анализа, был небольшим. Главной
задачей было тестирование разработанных методов ДСМ-рассуждений, а также оценка и
сравнение результатов, полученных разными стратегиями. Ранее обычно применялись простой
метод сходства, запрет на контрпримеры, единственность причины. Необходимо было изучить
возможность применения и других методов: миллевский метод различия, упрощение метода
сходства-различия (т.е. корректный метод различия), метод сходства-различия, метод
остатков. Важно отметить, что новые методы применялись к этим данным впервые, поэтому
массивы данных могли и не удовлетворять требованиям новых процедур. Проведенные
эксперименты продемонстрировали работу ДСМ-процедур в не очень выгодных условиях, но,
несмотря на это, многие результаты оказались очень интересными.
Для медицинской области было предложено два массива данных, сформированных для
исследования следующих задач:
диагностика двух заболеваний глаз: дегенеративного ретиношизиса и наследственных
витреоретинальных дистрофий (Лаборатория клинической физиологии зрения МНИИ глазных
болезней им. Гельмгольца) [25],
прогнозирование
продолжительности
жизни
больных
меланомой
и
оценка
прогностического биохимического маркера - протеина S100 (Российский Онкологический
Научный Центр РАМН имени Н.Н. Блохина) [26].
В задачах медицинской диагностики данные – это массив описаний пациентов.
Описание пациента – это множество признаков, каждый из которых имеет определенный тип
данных [см. раздел «Внутреннее представление данных», а также главу «Визуальное
представление данных»].
Признаки – это определенные характеристики такие, как пол, возраст, хронические
болезни и проч. Одно из базовых требований применимости ДСМ-метода – это возможность
определить операцию сходства исследуемых объектов [7, С.400]. Пусть даны признаки
«Описание
характера
выполняемой
работы»,
«Сколько
линий
химиотерапии
было
проведено?», «Общее количество циклов химиотерапии, которое проведено на настоящий
момент», «Уровень инвазии по Кларку», «Клинический диагноз», «Количество отдаленных
136
метастазов», «Фибриноген мг/л», «Растворимые комплексы фибриномера (РКМФ)» и
«Уровень S100». На примере покажем, как получить сходство характеристик пациентов.
В текстовом (.txt) файле с описанием признаков определены возможные их значения:
6 Set{ Описание характера выполняемой работы}
ItemSet{ Работник физического труда}
ItemSet{ Работник творческой профессии}
ItemSet{ Военнослужащий}
ItemSet{ Работник умственного труда}
ItemSet{ Работник сферы обслуживания}
ItemSet{ Работник медицинской отрасли}
ItemSet{ Руководящий работник}
ItemSet{ пенсионер/пенсионерка}
EndSet
27 Set{ Сколько линий химиотерапии было проведено?}
ItemSet{ 1}
ItemSet{ 2}
ItemSet{ 3}
ItemSet{ 4}
ItemSet{ более 4}
EndSet
28 Set{ Общее количество циклов химиотерапии, которое проведено на настоящий момент}
ItemSet{ 1-2}
ItemSet{ 3-6}
ItemSet{ 7-10}
ItemSet{ 11-20}
ItemSet{ более 20}
EndSet
34 Set{ Уровень инвазии по Кларку}
ItemSet{ Уровень инвазии по Кларку 1}
ItemSet{ Уровень инвазии по Кларку 2}
ItemSet{ Уровень инвазии по Кларку 3}
ItemSet{ Уровень инвазии по Кларку 4}
ItemSet{ Уровень инвазии по Кларку 5}
EndSet
35 GroupTree{ Клинический диагноз}
Tree{ T}
Tree{ T1}
ItemTree{ T1}
ItemTree{ a}
ItemTree{ b}
EndTree
Tree{ T2}
ItemTree{ T2}
ItemTree{ a}
ItemTree{ b}
137
ItemTree{ c}
EndTree
Tree{ T3}
ItemTree{ T3}
ItemTree{ a}
ItemTree{ b}
EndTree
Tree{ T4}
ItemTree{ T4}
ItemTree{ a}
ItemTree{ b}
EndTree
EndTree
Tree{ N}
ItemTree{ N0}
Tree{ N1}
ItemTree{ N1}
ItemTree{ a}
ItemTree{ b}
EndTree
Tree{ N2}
ItemTree{ N2}
ItemTree{ a}
ItemTree{ b}
ItemTree{ c}
EndTree
ItemTree{ N3}
EndTree
Tree{ M}
ItemTree{ 0}
Tree{ 1}
ItemTree{ M1}
ItemTree{ a}
ItemTree{ b}
ItemTree{ c}
EndTree
EndTree
EndGroupTree
36 Set{ Количество отдаленных метастазов}
ItemSet{ 1}
ItemSet{ 2 и больше}
EndSet
59 Set{ Фибриноген мг/л}
ItemSet{ Степень гиперкоагуляции норма <400}
ItemSet{ Степень гиперкоагуляции низкая 400-449}
ItemSet{ Степень гиперкоагуляции умеренная 450-500}
ItemSet{ Степень гиперкоагуляции высокая>=500}
EndSet
60 Set{ Растворимые комплексы фибриномера (РКМФ)}
138
ItemSet{ Степень гиперкоагуляции норма - отрицательно}
ItemSet{ Степень гиперкоагуляции низкая - Сл.положительно}
ItemSet{ Степень гиперкоагуляции умеренная - Положительно}
ItemSet{ Степень гиперкоагуляции высокая - Резко положительно}
EndSet
61 Set{ Уровень S100}
ItemSet{ до 0,120 нг/мл}
ItemSet{ 0,120-1 нг/мл}
ItemSet{ свыше 1 нг/мл}
EndSet
В Excel файле приведены внутренние типы данных (Таблица 13):
Таблица 13 - Признаки больных меланомой, представленные на вкладке Properties
файла Excel
Id
Name
Type
Length
6
Описание характера выполняемой работы
korteg2
6
27
Сколько линий химиотерапии было проведено?
single
5
28
Общее количество циклов химиотерапии,
которое проведено на настоящий момент
single
5
34
Уровень инвазии по Кларку
single
5
35
клинический диагноз
tree2
37
36
Количество отдаленных метастзов
single
2
59
Фибриноген мг/л
single
4
60
растворимые комплексы фибриномера (РКМФ)
single
4
61
Уровень S100
single
3
Предположим, что исследуемым эффектом является «Общая продолжительность жизни
>5 лет», (+)-примеры – больные, у которых значение признака – «да», (–)-примеры – «нет», и
рассмотрим случай представления (+)-примеров. В соответствии с типом (Type) признака и его
длиной 2 (Length) описание каждого пациента кодируется. На вкладке Patients описание
пациентов представлено схематично (Таблица 14):
Таблица 14 - Внутреннее представление описаний больных меланомой на вкладке
Patients файла Excel
Id
2
Name
Sort
p6
p27
p28
p34
p35
Длина признака – это число его возможных значений.
139
p36
p59
p60
p61
22
04/7474
+
tttttt+t
+tttt
+tttt
tt+tt
ttt+ttttttttttttt+ttttttttttttttttt+t
+t
+ttt
+ttt
+tt
23
04/10720
+
ttttttt+
+tttt
+tttt
tt+tt
ttttttttttttt+ttttttttttttttttttttttt
+t
+ttt
t+tt
+tt
28
04/13318
+
ttt+tt+t
+tttt
+tttt
tt+tt
ttttttt+ttttttttt+ttttttttttttttttt+t
+t
+ttt
+ttt
+tt
Id – идентификатор примера, Name – номер карты, Sort – «сорт» (тип истинностного
значения) примера. В результате предобработки данных с признаком «дерева» (в данном
примере признак с идентификатором (Id) 35, столбец p35) на этапе считывания описаний
пациентов
закодированные
ttt+ttttttttttttt+ttttttttttttttttt+t
в
значения
признаков
++t+tttttttttt+tt+tttttttttttt+t+tt+t,
будут
преобразованы:
ttttttttttttt+ttttttttttttttttttttttt
в
+ttttttttt+tt+ttttttttttttttttttttttt, ttttttt+ttttttttt+ttttttttttttttttt+t в +tttt+t+tttttt+tt+tttttttttttt+t+tt+t.
Затем данные преобразуются в двоичное представление в соответствии с типом
признака (Таблица 15):
Таблица 15 - Медицина: двоичное представление признаков
Id
p6
p27
p28
p34
p35
p36
p59
p60
p61
22
00000010
10000
10000
00100
1101000000000010010000000000001010010
10
1000
1000
100
23
00000001
10000
10000
00100
1000000000100100000000000000000000000
10
1000
0100
100
28
00010010
10000
10000
00100
1000010100000010010000000000001010010
10
1000
1000
100
Каждый пациент теперь представлен строкой из 0 и 1 (Таблица 16):
Таблица 16 - Медицина: двоичное представление признаков в виде строки
Id
p6
p27
p28
p34
p35
p36
p59
p60
p61
22
0000001010000100000010011010000000000100100000000000010100101010001000100
23
0000000110000100000010010000000001001000000000000000000000001010000100100
28
0001001010000100000010010000101000000100100000000000010100101010001000100
Полученная строка разбивается на 32 бита (4 байта), и каждое 32-битное значение
преобразуется в целое число типа integer.
Пересечение целых чисел – это операция побитового умножения & (операция
поразрядного И, 0&0 = 0, 1&0 = 0, 0&1 = 0, 1&1 = 1). Таким образом, работа алгоритма
Норриса (стадия нахождения пересечения описаний пациентов) заключается в пересечении
чисел, представляющих признаки. Если мы преобразуем числа в двоичное представление,
кандидаты в гипотезы выглядят следующим образом (Таблица 17):
Таблица 17 - Медицина: двоичное представление кандидатов в гипотезы в виде строки
parent_Ids
p6
p27
p28
p34
p35
22, 28
0000001010000100000010010000000000000100100000000000010100101010001000100
140
p36
p59
p60
p61
22,23,28
0000000010000100000010010000000000000000000000000000000000001010000000100
При доопределении (τ)-примеров операция вхождения причины в пример заключается в
побитовом умножении целых чисел, представляющих (τ)-пример, и чисел, представляющих
гипотезу. Если все числа, полученные в результате операции &, совпадают с числами,
представляющими гипотезу, то причина вкладывается в пример.
В случае неатомарной правой части для доопределения (τ)-примеров также
применяется операция объединения. Она необходима для проверки того, что правые части
вложенных гипотез при объединении дают (то есть покрывают) правую часть (τ)-примера.
Операция объединения – это операция побитового сложения | (операция поразрядного ИЛИ,
0|0 = 0, 1|0 = 1, 0|1 = 1, 1|1 = 1).
После проведения всех
этапов ДСМ-рассуждений
гипотезы декодируются и
записываются в файл в виде кортежей (предположим, что представленные кандидаты в
гипотезы подтвердились, Таблица 18):
Таблица 18 – Медицина: пример внутреннего представления «тела» гипотез на вкладке
Hypotheses файла Excel
parent_Ids
p6
p27
p28
p34
p35
p36
p59
p60
p61
22, 28
tttttt+t
+tttt
+tttt
tt+tt
+ttttttttttttt+tt+tttttttttttt+t+tt+t
+t
+ttt
+ttt
+tt
22,23,28
tttttttt
+tttt
+tttt
tt+tt
+tttttttttttttttttttttttttttttttttttt
+t
+ttt
tttt
+tt
Текстовое описание для первой гипотезы состоит из следующих пар «Признак» –
«Значение»: «Описание характера выполняемой работы» – «Руководящий работник»,
«Сколько линий химиотерапии было проведено?» – «1», «Общее количество циклов
химиотерапии, которое проведено на настоящий момент» – «1-2», «Уровень инвазии по
Кларку» – «Уровень инвазии по Кларку 3», «Клинический диагноз» – «T-T4-b, M-1-b»,
«Количество отдаленных метастазов» – «1», «Фибриноген мг/л» – «Степень гиперкоагуляции
норма <400», «Растворимые комплексы фибриномера (РКМФ)» – «Степень гиперкоагуляции
норма - отрицательно», «Уровень S100» – «до 0,120 нг/мл».
Вторая гипотеза: «Сколько линий химиотерапии было проведено?» – «1», «Общее
количество циклов химиотерапии, которое проведено на настоящий момент» – «1-2»,
«Уровень инвазии по Кларку» – «Уровень инвазии по Кларку 3», «Клинический диагноз» –
«T», «Количество отдаленных метастазов» – «1», «Фибриноген мг/л» – «Степень
гиперкоагуляции норма <400», «Уровень S100» – «до 0,120 нг/мл».
Пусть в массиве примеров представлен пациент, у которого значение исследуемого
эффекта «Общая продолжительность жизни >5 лет» не определено ((τ)-пример). Текстовое
141
описание для примера состоит из следующих пар «Признак» – «Значение»: «Описание
характера выполняемой работы» – «Работник умственного труда, Руководящий работник»,
«Сколько линий химиотерапии было проведено?» – «1», «Общее количество циклов
химиотерапии, которое проведено на настоящий момент» – «1-2», «Уровень инвазии по
Кларку» – «Уровень инвазии по Кларку 3», «Клинический диагноз» – «T», «Количество
отдаленных метастазов» – «1», «Фибриноген мг/л» – «Степень гиперкоагуляции норма <400»,
«Уровень S100» – «до 0,120 нг/мл». «Тело» примера в программе также будет представлено в
закодированном виде. В результате проверки операции вложения гипотез в пример будет
установлено, что вторая гипотеза вкладывается в пример. При отсутствии (–)- и (0)-гипотез,
которые вкладываются в этот (τ)-пример, он будет доопределен как «+», что прогнозирует
значение эффекта «Общая продолжительность жизни >5 лет» равным «да».
Другая
предметная
область,
к
данным
которой
была
применена
созданная
универсальная ДСМ-система, – это фармакология. ДСМ-метод эффективно используется для
прогнозирования биологически активных химических соединений [7]. Факты формально
представлены предикатом X1Y, где значение Х – это описание структуры химических
соединений, а значение Y – информация о биологической активности соединения Х.
Посредством п.п.в.-1 (индукции) порождаются гипотезы типа «подструктура химического
соединения является причиной наличия (отсутствия) биологической активности W». Гипотезы
– фармакофоры, представляющие фрагменты химической структуры, наличие которых
приводит к проявлению биологической активности. Гипотезы – антифармакофоры,
представляющие фрагменты химической структуры, наличие которых приводит к отсутствию
биологической активности у данного химического соединения. Посредством полученных
гипотез предсказывается биологическая активность химических соединений, предложенных
на прогноз [2].
Было разработано подходящее представление данных [см. раздел первой главы
«Внутреннее представление данных»] и проведены эксперименты с использованием новых
стратегий, включающих методы, разработанные впервые. Для изучения фармакологических
данных был предоставлен небольшой тестовый массив из 123 химических соединений
трифторзамещенных пиразоло(1,5-а)пиримидинов. Массив соединений был проанализирован
экспертами ранее с использованием методов простого сходства и запрета на контрпримеры.
(Массив соединений представляет собой серию гетероциклов, для которых была изучена
цитотоксическая активность в Национальном раковом институте США в рамках совместной с
РОНЦ РАМН программы поиска новых цитотоксических соединений в рядах органических
соединений с неизученными цитотоксическими свойствами. [47])
142
Как отмечено в первой главе, структурные формулы химических соединений
представлены в виде множеств – наборов дескрипторов ФКСП (Фрагментарный Код
Суперпозиции Подструктур). Каждый дескриптор представляет собой семизначное число: два
дескрипторных центра, расстояние между ними в числе атомов углерода и наличие
(отсутствие) сопряжения между этими центрами в цепи [47]. В исследуемом массиве было
представлено 195 дескриптора.
Рассмотрим пример
представления данных,
получения сходства примеров
и
прогнозирования на данных фармакологии.
Так как в исходном массиве описание примеров содержит большое количество
дескрипторов, сначала объясним принципы работы ДСМ-системы на примере соединений с
более простой структурой – соединений галогенозамещенных алифатических углеводородов,
для которых эксперты исследовали хроническую токсичность [48].
Экперт описывает соединения с помощью набора дескрипторов. Например, соединение
(Рисунок 39) будет представлено с помощью списка дескрипторов: 3101320 3101320 3201320
3201320. Соединение (Рисунок 40) будет представлено с помощью списка дескрипторов:
3101310 3101310 3101320 3101320 3101320 3101320 3201320 3201320.
Рисунок 39 - Пример 1 соединения галогенозамещенных алифатических углеводородов
Рисунок 40 - Пример 2 соединения галогенозамещенных алифатических углеводородов
В входном Excel файле ДСМ-системы, на вкладке Descriptors, приведены описания
дескрипторов, участвующих в эксперименте (Таблица 19). Id – идентификатор дескриптора,
File – имя файла, представляющего структуру дескриптора, Descriptor – строковый код,
представляющий дескриптор.
143
Таблица 19 - Фармакология: пример внутреннего представления дескрипторов на
вкладке Descriptors файла Excel
Id
1
2
3
File
d3101310.mol
d3101320.mol
d3201320.mol
Descriptor
3101310
3101320
3201320
На вкладке Examples представлены химические соединения (Таблица 20). Id –
идентификатор примера, FileName – имя файла, представляющего структуру химического
соединения, Sort – тип истинностного значения примера, di – количество вхождений
соответствующего дескриптора в химическое соединение (значение i – идентификатор
дескриптора).
Таблица 20 - Фармакология: внутреннее представление химических соединений на
вкладке Examples файла Excel
Id
1
2
FileName
1.mol
2.mol
Sort
-
d1
0
2
d2
2
4
d3
2
2
Используя представленные выше (–)-примеры, рассмотрим операцию получения
сходства химических соединений. Чтобы получить сходство структур, необходимо найти
минимальное количество вхождений соответствующих дескрипторов. Работа алгоритма
Норриса заключается в нахождении наименьшего целого числа, представляющих количество
вхождений соответствующего дескриптора в химическую формулу, по каждому дескриптору.
Ноль означает, что соответствующий дескриптор в формуле не встречается. Очевидно, что
если при пересечении двух структур по всем дескрипторам мы получили нули, такое
пересечение является пустым и отбрасывается из дальнейшего рассмотрения.
При доопределении (τ)-примеров операция вхождения причины в пример заключается в
проверке того, что количество вхождений i-го дескриптора в гипотезе меньше или равно
количеству его вхождений в (τ)-пример. Если встретился дескриптор, для которого число его
вхождений в гипотезу превосходит число его вхождений в (τ)-пример, то гипотеза не
вкладывается.
Предположим, что после проведения всех этапов ДСМ-рассуждений полученные
кандидаты в (–)-гипотезы подтвердились (Таблица 21).
144
Таблица 21 - Фармакология: пример внутреннего представления «тела» гипотез на
вкладке Hypotheses файла Excel
parent_Ids d1
1, 2
d2
0
d3
2
2
Текстовое описание химической структуры для порожденной гипотезы состоит из
следующего набора дескрипторов: 3101320 3101320 3201320 3201320.
Эксперт, получив гипотезу в виде набора дескрипторов и изучив структуру исходных
соединений, строит химическую формулу – Рисунок 41.
Рисунок 41- Пример гипотезы, полученной на соединениях галогенозамещенных
алифатических углеводородов
Аналогичным образом проводился анализ соединений, на которых изучалась
цитотоксическая активность.
Например, в исходном массиве есть (–)-пример m40.mol, представленный таким
набором дескрипторов: 6,00M1 56,10M1M5M6 6,00M1 6,06 5,06M1M2 0300331 3201320
3101320 3201320 3101320 3101320 3101310 3101320 3101310 3201320 3101320 3101320
3101310.
(–)-пример m44.mol: 6,00M1 56,10M1M5M6 6,06 5,06M1M2 0300331 0302410 0302410
3201320 3101320 3201320 3101320 3101320 3101310 3101320 3101310 3201320 3101320
3101320 3101310.
Эти примеры породили (–)-гипотезу (Рисунок 42): 56,10M1M5M6 6,00M1 6,06 0300331
3101310 3101310 3101310 3101320 3101320 3101320 3101320 3101320 3101320 3201320
3201320 3201320 5,06M1M2.
145
Рисунок 42- Пример гипотезы, полученной на соединениях трифторзамещенных
пиразоло(1,5-а)пиримидинов
Полученная гипотеза доопределила соединение t38.mol, структура которого состоит из
дескрипторов: 6,00M1 56,10M1M5M6 6,06 5,06M1 5,06M1M2 3201320 3101320 3201320
3101320 3101320 3101310 3101320 3101310 3201320 3101320 3101320 3101310 3401411
0300331 0302410 0302410, как (–).
Для фармакологических и медицинских данных были проведены компьютерные
эксперименты с применением различных стратегий. Ранее ДСМ-системы не обладали таким
набором процедур, поэтому подобный анализ данных был проведен впервые. Таким образом,
было установлено, на каких из исследуемых баз фактов вообще могут быть порождены
гипотезы запрограммированными процедурами ДСМ-рассуждений.
Стратегия ДСМ-рассуждения Strx,y характеризуется парой предикатов М x, n (V,W), М y, n (V,
W) [13], где х, у – имена предикатов. Буквенные обозначения (a)σ, (b)σ, (e)σ, (d0)σ, (d1)σ, (d2)σ
соответствуют принятым обозначениям для подформул предикатов, где σ{+, }. Индекс (а)
является обозначением метода сходства Д.С.Милля (“agreement” в его терминологии).
Остальные индексы обозначают усиления предикатов простого сходства Ma,n (V, W) . (b) – это
условие запрета на контрпримеры, (е) – условие единственности причины. Упрощение
третьего правила индуктивного вывода Д.С. Милля (упрощение метода сходства-различия)
обозначается посредством (d0). (d1) представляет метод сходства – различия с единственной
причиной, (d2) – просто метод сходства – различия [3]. Для второго правила Д.С. Милля
(метод различия) нет специального обозначения, потому что в его формальном представлении
предикат простого сходства не участвует. Обозначим миллевский метод различия через
«МР_М».
Приведем сравнительную таблицу с результатами (Таблица 22). Если x равно y, то
стратегия Strx,y называется однородной, и неоднородной, иначе. Как видно из таблицы,
однородными здесь являются стратегии (a)+ (a)- и (b)+ (b)-.
Порождение гипотез на БФ с помощью различных по силе методов свидетельствует о
надежности полученных результатов и позволяет оценить качество гипотез [46]: так,
упрощение метода сходства-различия (корректный метод различия) сильнее метода простого
146
сходства, метод сходства-различия сильнее упрощения сходства-различия, а метод сходстваразличия с запретом на контрпримеры сильнее метода сходства-различия.
Таблица 22 - Анализ баз фактов на наличие или отсутствие порожденных гипотез
Стратегия/
(a)+ (a)-
Данные
+
(e) (a)-
+
(b) (b)-
(d0)+
(d1) +
(d2) +
(a)- /(b)-
(a)- /(b)-
(a)- /(b)-
МР_М
Фармакологические +
–
+
+
+
–
+
Болезни глаз
+
+
+
–
+
–
–
Онкологические
+
–
+
–
+
–
–
Обозначения:
«+»: «применение данной стратегии позволила породить гипотезы о причинах».
«–»: «с помощью данной стратегии гипотез о причинах породить не удалось».
(a)+ (a)- : (+) и (–)-предикаты – «метод простого сходства».
(e)+ (a)- : (+)-предикат – «единственность (+)-причины», (–)-предикат – «метод простого
сходства».
(b)+ (b)- : (+) и (–)-предикаты – «запрет на (±)-контрпримеры».
МР_М : (+) и (–)-предикаты – «метод различия – прямой перевод второго правила
индуктивного вывода Д.С. Милля»
«/» обозначает ИЛИ, а запись вида x y1/y2 представляет две стратегии с одинаковым (+)предикатом и разными (–)-предикатами.
(d0) (a)- /(b)- : (+)-предикат – метод различия (упрощение метода соединенного сходстваразличия), (–)-предикат – «метод простого сходства» (для первой стратегии) и «запрет на (+)контрпримеры» (для второй стратегии).
(d1) (a)- /(b)- : (+)-предикат – «метод соединенного сходства-различия с единственной
причиной», (–)-предикат – «метод простого сходства» (для первой стратегии) и «запрет на (+)контрпримеры» (для второй стратегии).
(d2) (a)- /(b)- : (+)-предикат – «метод соединенного сходства-различия», (–)-предикат – «метод
простого сходства» (для первой стратегии) и «запрет на (+)-контрпримеры» (для второй
стратегии).
Как видно из таблицы, на фармакологических данных удалось породить гипотезы и
миллевским методом различия, и упрощением метода сходства-различия, и методом сходстваразличия. Этот факт объясняется тем, что фармакологические данные объективны (они
147
представляют структуры химических соединений). Было установлено, что множества гипотез,
полученных этими методами на исследуемых данных, не сравнимы между собой (не
вкладываются друг в друга), хотя их пересечения оказались не пусты.
В результате анализа исследуемых баз фактов (массив фармакологических соединений,
данные пациентов с болезнями глаз и данные больных меланомой) были получены следующие
важные результаты:
при применении миллевского варианта метода различия (в одной из формулировок) к
фармакологическим данным были порождены гипотезы, которые характеризуют небольшое
количество примеров и не поддаются интерпретации относительно всего массива, что
свидетельствует о непригодности второго правила Д.С. Милля для интеллектуального анализа
данных;
с помощью метода различия – упрощенного метода соединенного сходства-различия –
гипотезы были порождены на всех массивах данных;
при применении метода соединенного сходства-различия были получены (+)-гипотезы
на фармакологических данных;
множества гипотез, полученных разными методами (миллевским методом различия,
упрощением метода сходства-различия и методом сходства-различия) на фармакологических
данных, имеют непустые пересечения;
с помощью усеченного метода остатков была подтверждена важная причинноследственная
связь
на
данных
больных
меланомой
между
протеином
S100
и
продолжительностью жизни больного: при значении уровня S100 меньше 0,12 нг/мл
продолжительность жизни больного – больше 5 лет, при значении уровня S100 больше 0,12
нг/мл – меньше 5 лет. Впервые эта связь была обнаружена Добрыниным Д.А. и Панкратовой
Е.С. в результате компьютерных экспериментов с использованием ДСМ-системы, созданной в
ВИНИТИ РАН [25, 44];
стратегия упрощенного метода соединенного сходства-различия (корректного метода
различия) с запретом на (±)-контрпримеры подтвердила гипотезы, полученные стандартной
стратегий запрета на (±)-контрпример, на данных больных меланомой. Эти гипотезы
доказывают наличие указанной связи между белком S100 и
продолжительностью жизни
больного меланомой. При этом процедура «доопределение по одному», используемая как
критерий оценки подбора параметров и стратегии эксперимента, показала хороший результат.
Важно отметить, что на всех рассматриваемых базах фактов наилучшей стратегией по
результатам процедуры «доопределение по одному» и проверки степеней абдуктивности в
целом можно считать упрощенный метод соединенного сходства-различия с запретом на (±)контрпример.
148
Полученные выше результаты были описаны в [27], [37], [49].
Исследования данных больных меланомой были продолжены в 2011-2012 гг. [50, 51].
Наряду с белком S100 были изучены закономерности, включающие показатели CD44, IL-12,
IL-02, IFNy. Основные результаты были получены в результате экспериментов, проводимых
Панкратовой Е.С., Добрыниным Д.А. и Шестерниковой О.П.. Настройка системы на
эксперимент включала выбор стратегии (простой метод сходства, метод сходства с запретом
на контрпримеры), подбор нужного количества родителей гипотезы, настройка фильтров для
конъюнктивных и дизъюнктивных признаков. В качестве инструмента для подтверждения и
проверки найденных гипотез использовалась и программа, представленная в данной
диссертации. Наряду с уже использованными стратегиями проводились эксперименты с
применением методов сходства-различия, упрощенного и соединенного, в сочетании с
фильтрами для признаков. Закономерности, выявленные более сильными методами,
подтвердили результаты, полученные базовыми методами.
Как показано в [3], на множестве возможных стратегий можно построить отношение
порядка, упорядочив стратегии по силе. Самыми слабыми миллевскими индуктивными
методами являются позитивный и негативный методы простого сходства. Элементарными
дополнительными условиями являются добавки (b)σ, (e)σ и (d0)σ, а (d1)σ и (d2)σ –
неэлементарными. Представим в виде диаграммы (Рисунок 43) пример возможных множеств
(σ)-предикатов, где σ{+, }, частично упорядоченных по силе методов. Таким образом,
заменяя σ
на «+», мы получаем множество добавок к позитивному предикату простого
сходства, а при замене σ на «»  к негативному. Для определения стратегии нам необходимо
выбрать, (+)- и ()-предикаты. Разработанный ДСМ-Решатель позволяет выбирать однородные
или неоднородные стратегии и сравнивать полученные результаты. Такая возможность была
реализована впервые. Ранее существующие ДСМ-системы предоставляли только простой
метод сходства и добавки (b)σ, (e)σ.
149
Рисунок 43 – Пример предикатов, частично упорядоченных по силе
Далее будут приведены результаты наиболее интересных экспериментов для
рассматриваемых баз фактов.
БФ фармакологических данных состояла из 14 (+)-примеров (соединения, обладающие
изучаемой цитотоксической активностью), 48 (–)-примеров (соединения, не обладающие
изучаемой цитотоксической активностью) и 61 (τ)-примера (соединения, для которых
проявление/ непроявление изучаемой активности необходимо было спрогнозировать).
БФ данных болезней глаз включала 36 (+)-примеров (пациенты с диагнозом
«сенильный
или
миопический
дегенеративный
ретиношизис
без
наследственных
витреоретинальных дистрофий»), 29 (–)-примеров (пациенты с другими диагнозами болезней
глаз) и 2 (τ)-примера (пациенты, для которых диагноз не поставлен).
БФ онкологических данных состояла из 46 примеров и была исследована относительно
двух
эффектов:
продолжительность
жизни
пациента
больше/меньше
5
лет
и
продолжительность жизни пациента больше/меньше 12 месяцев. При разбиении примеров по
первому эффекту БФ состояла из 12 (+)-примеров (продолжительность жизни пациента
больше 5 лет), 26 (–)-примеров (продолжительность жизни пациента меньше 5 лет) и 8 (τ)примеров (продолжительность жизни пациента относительно 12 месяцев пока не известна), по
второму эффекту - из 32 (+)-примеров (продолжительность жизни пациента больше 12
150
месяцев), 11 (–)-примеров (продолжительность жизни пациента меньше 12 месяцев) и 3 (τ)примеров (продолжительность жизни пациента относительно 5 лет пока не известна).
При изучении эффекта со взаимоисключающими значениями (продолжительность
жизни больше или меньше, химическая активность наблюдается или не наблюдается) ДСМрассуждения хорошо работают при преобладании (+)-, а не (–)-примеров. Дело в том, что
обычно проявление эффекта объясняется наличием некоторых (+)-причин, тогда как
отсутствие эффекта может объясняться просто их отсутствием. Так, хорошим соотношением
примеров в БФ было бы 2/3 (+)- и 1/3 (–)-примеров или 3/5 (+)- и 2/5 (–)-примеров. Однако на
фармакологических данных в силу объективного представления данных это требование,
пожалуй, не является критичным.
На изученных данных были получены хорошие результаты и несбалансированность
(+)- и (–)-примеров в некоторых БФ, по-видимому, значительно повлияла только на
эксперименты, в ходе которых применялся простой метод сходства без каких-либо усилений.
Основные параметры проведенных экспериментов приводятся в таблицах. Обычно
каждая таблица включает два столбца: «Параметр» и «Значение». В таблице указано
количество примеров в исходной базе фактов, пороги родителей гипотез (допустимое
минимальное количество примеров, образующих гипотезу), полученное число гипотез в
результате проведения ДСМ-рассуждений, число (τ)-примеров, которое удалось доопределить,
а также «Число итераций индукция-аналогия» до стабилизации процесса ДСМ-рассуждений
(число применений п.п.в.-1 и п.п.в.-2, образующих Этап I в ДСМ-рассуждениях [13]). Если в
результате проверки аксиомы каузальной полноты были обнаружены необъясненные
примеры, то их количество также будет указано, иначе количество необъясненных примеров
равняется 0.
Если было проведено несколько экспериментов, то вместо одного столбца «Значение»
присутствуют столбцы с параметрами для каждого эксперимента. Если значение некоторого
параметра у разных экспериментов совпадает, то соответствующие ячейки таблицы обычно
объединяются.
4.1 СТАНДАРТНЫЕ СТРАТЕГИИ ДСМ-МЕТОДА АПГ
4.1.1 Простой метод сходства
Простой метод сходства дает наибольшее количество гипотез. Выбранная стратегия
включала метод простого сходства и для (+)-, и для (–)-предиката.
151
На данных фармакологии были получены следующие результаты ((+)-примеры –
химические соединения, обладающие биологической активностью, (–)-примеры не обладают
исследуемой биологической активностью): см. Таблица 23. В таблице указано число
примеров, участвующих в эксперименте, среди которых 14 (+)-примеров, 48 (–)-примеров и 61
(τ)-пример. Важным параметром для эксперимента является порог родителей гипотез
(минимальное количество примеров, участвующих в порождении пересечения). Как указано в
таблице, порог родителей для гипотез всех знаков был установлен равным двум. Также
указано количество полученных гипотез: 26 (+)-, 227 (–)- и 13 (0)-гипотез. Параметр
«Количество доопределенных (τ)-примеров» дает информацию о том, сколько примеров было
доопределено как «+», «–» или «0» в результате применения правил вывода по аналогии (в
данном эксперименте был 61 такой пример). Наконец, количество Этапов I до стабилизации
процесса ДСМ-рассуждений (параметр «Число итераций индукция-аналогия») было равно
одному.
Таблица 23 - Результаты применения простого метода сходства к фармакологическим
данным
Параметр
Значение
Количество (+)-примеров
14
Количество (–)-примеров
48
Количество (τ)-примеров
61
Порог родителей для (+)-гипотез
2
Порог родителей для (–)-гипотез
2
Порог родителей для (0)-гипотез
2
Количество (+)-гипотез
26
Количество (–)-гипотез
227
Количество (0)-гипотез
13
Количество доопределенных (τ)-примеров
61
Число итераций индукция-аналогия
1
При этом все (τ)-примеры были доопределены как противоречивые, а с помощью
процедуры «доопределение по одному» верно доопределено только 13 примеров из 62
(количество (+)-примеров + количество (–)-примеров).
На данных болезней глаз количество гипотез даже при пороговом значении родителей
гипотез, превышающем 2, насчитывает десятки тысяч.
152
Результаты проведения экспериментов с онкологическими данными представлены в
Таблице 24 ((+)-примеры – пациенты с продолжительностью жизни > 5 лет, (–)-примеры –
пациенты с продолжительностью жизни < 5 лет). В таблице отражен тот факт, что увеличение
порога родителей существенным образом позволяет сократить количество полученных
гипотез . Так при увеличении для (+)-гипотез порогового значения родителей с 2 до 4, а для (–
)-гипотез с 2 до 5 число гипотез в среднем сократилось в 2 раза.
Таблица 24 - Результаты применения простого метода сходства к онкологическим
данным (продолжительность жизни больше/меньше 5 лет)
Параметр
Количество (+)-примеров
Количество (–)-примеров
Количество (τ)-примеров
Порог родителей для (+)-гипотез
Значение
12
26
8
2
4
Порог родителей для (–)-гипотез
2
5
Порог родителей для (0)-гипотез
2
2
Количество (+)-гипотез
173
75
Количество (–)-гипотез
2448
1110
Количество (0)-гипотез
Количество доопределенных (τ)-примеров
Число итераций индукция-аналогия
38
37
6
2
При этом, как и в фармакологии, (τ)-примеры доопределены как противоречивые, с
помощью процедуры «доопределение по одному» в проведенных экспериментах верно
доопределено только 2 примера из 38. Это, с одной стороны, объясняется тем, что в результате
применения только простого метода сходства было порождено достаточно большое
количество (0)-гипотез (что свидетельствует о наличии сходства у (+)- и (–)-примеров и
должно заставить эксперта задуматься об адекватности подбора признаков и примеров в БФ),
а, с другой стороны, не совсем удачное соотношение количества (+)- и (–)-примеров.
Аналогично результаты проведения экспериментов с онкологическими данными
относительно другого эффекта представлены в Таблице 25 ((+)-примеры –
пациенты с
продолжительностью жизни > 12 месяцев, (–)-примеры – пациенты с продолжительностью
жизни < 12 месяцев). При увеличении для (+)-гипотез порогового значения родителей с 2 до 8,
а для (–)-гипотез с 2 до 5 число гипотез в среднем сократилось в 4 раза. Доопределен один (τ)пример как противоречивый, а с помощью процедуры «доопределение по одному» в
153
проведенных экспериментах верно доопределен только 1 примера из 43 (в основном все
примеры доопределены как противоречивые).
Таблица 25 - Результаты применения простого метода сходства к онкологическим
данным (продолжительность жизни больше/меньше 12 месяцев)
Параметр
Количество (+)-примеров
Количество (-)-примеров
Количество (τ)-примеров
Порог родителей для (+)-гипотез
Значение
32
11
3
2
8
Порог родителей для (-)-гипотез
2
5
Порог родителей для (0)-гипотез
2
2
Количество (+)-гипотез
3749
713
Количество (-)-гипотез
211
53
Количество (0)-гипотез
Количество доопределенных (τ)-примеров
Число итераций индукция-аналогия
Количество необъясненных (+)-примеров
Количество необъясненных (–)-примеров
19
10
1
2
0
1
0
Полученные результаты указывают на то, что необходимы более сильные стратегии,
более сильные условия для принятия пересечений примеров в гипотезы.
В медицинских данных, помимо порогового значения родителей гипотез, существует
возможность вводить дополнительные ограничения: требования присутствия в гипотезе тех
или иных признаков.
Эти ограничения получили названия фильтров. Различают
конъюнктивные фильтры для (+)- и (–)-гипотез, которые объявляют признак необходимым
(его присутствие в гипотезе обязательно) и дизъюнктивные фильтры для (+)- и (–)-гипотез,
которые объявляют признак существенным (в гипотезе обязательно присутствие хотя бы
одного из отмеченных признаков). Примеры использования фильтров будут приведены в
следующих разделах.
4.1.2 Единственность (+)-причины
154
Для проведения экспериментов была выбрана стратегия, заданная предикатом
позитивного простого сходства с условием единственности (+)-причины и предикатом
негативного простого сходства. Подобные эксперименты были проведены впервые.
На фармакологических данных пересечение всех (+)-примеров, которое могло стать
единственной причиной, совпало с пересечением 35 (–)-примеров. Поэтому данная стратегия
оказалась не применима.
Результаты эксперимента на данных болезней глаз (при разметке пациентов на (+) и
(–)-примеры по диагнозу) представлены в Таблице 26.
Таблица 26 - Результаты применения метода единственности (+)-причины к
медицинским данным болезней глаз
Параметр
Количество (+)-примеров
Количество (–)-примеров
Количество (τ)-примеров
Порог родителей для (+)-гипотез
Порог родителей для (–)-гипотез
Порог родителей для (0)-гипотез
Количество (+)-гипотез
Количество (–)-гипотез
Значение
36
29
2
2
18
2
1
2863
В эксперимент намеренно были включены не все (τ)-примеры, чтобы ограничиться
одним тактом ДСМ-рассуждений.
Единственная причина для диагноза «сенильный или миопический дегенеративный
ретиношизис без наследственных витреоретинальных дистрофий» такова:
А-волна ЭРГ = «Субнорма (ниже нижней границы нормы) менее, чем на 25»;
РЭРГ на 12 Гц = «Субнорма (ниже нижней границы нормы) менее, чем на 25»;
Функциональное состояние фоторецепторов = «угнетение небольшое»;
Нейронов 2 порядка = «угнетение небольшое»;
Фотопической системы = «угнетение небольшое».
4.1.3 Запрет на контрпримеры
Для проведения экспериментов была выбрана стратегия, которая была образована
методом запрета на контрпримеры в качестве (+) и (–)-предикатов.
155
На медицинских данных запрет на контрпримеры, несмотря на то, что появляются
необъясненные (в результате проверки аксиомы каузальной полноты) примеры, позволяет
сократить большое количество гипотез и уменьшить количество противоречивых примеров
при доопределении. Результаты, полученные на онкологических данных для эффекта
«продолжительность жизни больше/меньше 5 лет»с теми же параметрами эксперимента, что и
в разделе «4.1.1. Простой метод сходства», представлены в Таблице 27. Необходимо отметить,
что в таблице появились параметры «Количество необъясненных (+)-примеров» и
«Количество
необъясненных
(–)-примеров».
Для
первого
эксперимента
был
один
необъясненный (+)-пример, а для второго – два (+)- и один (–)-пример.
Таблица 27 - Результаты применения запрета на контрпримеры к онкологическим
данным (продолжительность жизни больше/меньше 5 лет)
Параметр
Количество (+)-примеров
Количество (–)-примеров
Количество (τ)-примеров
Порог родителей для (+)-гипотез
Эксперимент 1
Порог родителей для (–)-гипотез
2
Эксперимент 2
12
26
8
5
10
Порог родителей для (0)-гипотез
2
Количество (+)-гипотез
109
12
Количество (–)-гипотез
Количество доопределенных (τ)-примеров
Число итераций индукция-аналогия
Количество необъясненных (+)-примеров
Количество необъясненных (–)-примеров
2510
6
42
4
2
1
0
2
1
При этом в первом эксперименте 5, а во втором - 4 (τ)-примера были доопределены не
как «0», а как «-». С использованием «доопределения по одному» верно доопределено 16
примеров в первом эксперименте и 20 примеров во втором эксперименте из 38. Количество
ошибок доопределения (с «+» на «–» или с «–» на «+») равно 5 в первом эксперименте и 3 во
втором.
При этом 11 из 12 гипотез во втором эксперименте содержат в признаке «Уровень
S100» значение «до 0,120 нг/мл». ((+)-примеры – это пациенты с продолжительностью жизни
> 5 лет.)
Если же во втором эксперименте в (+)-фильтры включить признак «Уровень S100» как
конъюнктивный, то останется 11 (+)-гипотез, и по результатам процедуры «доопределение по
156
одному» количество верно доопределенных примеров будет равно 21, а количество ошибок
доопределения сократится до 2. Это означает наличие эмпирической закономерности. Таким
образом, наблюдается наличие связи между уровнем белка S100 и продолжительностью жизни
пациента.
Аналогично были проведены эксперименты для эффекта «продолжительность жизни
больше/меньше 12 месяцев» (Таблица 28). В обоих экспериментах один из трех (τ)-примеров
был доопределен как «+». С использованием «доопределения по одному» верно доопределено
18 примеров в первом эксперименте и 21 пример во втором эксперименте (из исходных 43 (+)и (–)-примеров). Количество ошибок доопределения (с «+» на «–» или с «–» на «+») равно 8 в
первом эксперименте и 10 во втором.
Таблица 28 - Результаты применения запрета на контрпримеры к онкологическим
данным (продолжительность жизни больше/меньше 12 месяцев)
Параметр
Количество (+)-примеров
Количество (–)-примеров
Количество (τ)-примеров
Порог родителей для (+)-гипотез
Эксперимент 1
Порог родителей для (–)-гипотез
2
Эксперимент 2
32
11
3
7
3
Порог родителей для (0)-гипотез
2
Количество (+)-гипотез
2172
271
Количество (–)-гипотез
Количество доопределенных (τ)-примеров
Число итераций индукция-аналогия
Количество необъясненных (+)-примеров
Количество необъясненных (–)-примеров
72
1
29
1
2
0
0
2
1
При включении в конъюнктивные (+)- и (–)-фильтры включить признак «Уровень
S100» были получены интересные результаты (Таблица 29). Через «Ф+» обозначим
положительный фильтр, а через «Ф–» – отрицательный.
При увеличении числа родителей для (+)-гипотез до 5 степень абдуктивности равна
0,75, поэтому в эксперименте с применением фильтров 4 – это максимально допустимый порог
родителей для (+)-гипотез.
157
Таблица 29 - Результаты применения запрета на контрпримеры и фильтров к
онкологическим данным (продолжительность жизни больше/меньше 12 месяцев)
Эксперимент 1
& Ф+Ф–
Параметр
Количество (+)-примеров
Количество (–)-примеров
Количество (τ)-примеров
Порог родителей для (+)-гипотез
Эксперимент 2
& Ф+Ф–
32
11
3
4
Порог родителей для (–)-гипотез
2
2
Порог родителей для (0)-гипотез
2
Количество (+)-гипотез
535
240
Количество (–)-гипотез
Количество доопределенных (τ)-примеров
Число итераций индукция-аналогия
Количество необъясненных (+)-примеров
Количество необъясненных (–)-примеров
14
1
14
1
2
3
0
3
0
В экспериментах с фильтрами процедура «доопределение по одному» верно
доопределила 18 примеров в первом эксперименте и 17 во втором. Количество ошибок
доопределения (с «+» на «–» или с «–» на «+») равно 11 в первом и во втором экспериментах.
При рассмотрении значения признака «Уровень S100» в гипотезах, полученных во
втором эксперименте с применением фильтров, получаем:
из (+)-гипотез 195 имеют значение «до 0,120», 43 – «0,120-1», 2 – «свыше 1»;
из (–)-гипотез 5 имеют значение «до 0,120», 7 – «0,120-1», 2 – «свыше 1».
Таким
образом,
в
гипотезах,
полученных
при
исследовании
эффекта
«Продолжительность жизни больше или меньше 12 месяцев», четкой закономерности между
продолжительностью жизни и значением признака «Уровень S100» нет. Однако, очевидно, что
общая тенденция «значение S100 до 0,120 –> продолжительность больше 12 месяцев»,
«значение S100 выше 0,120 –> продолжительность меньше 12 месяцев» все-таки
просматривается.
В Таблице 30 приведены результаты, полученные на фармакологических данных.
Таблица 30 - Результаты применения запрета на контрпримеры к фармакологическим
данным
Параметр
Количество (+)-примеров
Количество (–)-примеров
Количество (τ)-примеров
158
Значение
14
48
61
Порог родителей для (+)-гипотез
Порог родителей для (–)-гипотез
2
Порог родителей для (0)-гипотез
Количество (+)-гипотез
15
Количество (–)-гипотез
117
Количество (0)-гипотез
Количество доопределенных (τ)-примеров
Число итераций индукция-аналогия
Количество необъясненных (+)-примеров
Количество необъясненных (–)-примеров
0
61
1
3
5
В отличие от применения простого метода сходства (61 (τ)-пример доопределился как
0) полученные гипотезы доопределяют 18 примеров как «+», 13 примеров как «–» и 30
примеров как 0. Степень объясненности ( = 1 – (число необъясненных примеров данного
знака/ общее число примеров данного знака)) находится на допустимом уровне: 0,78 для (+)примеров; 0,89 для (–)-примеров. С использованием процедуры «доопределения по одному»
верно доопределен 41 пример из 62.
4.2 МЕТОД РАЗЛИЧИЯ
В ДСМ-Решателе программно реализованы два варианта метода различия: миллевский
вариант и упрощение метода соединенного сходства-различия.
4.2.1 Метод различия: миллевский вариант
В первой главе рассмотрены предикаты, которые представляют собой прямой перевод
второго правила Д.С. Милля. Недостатком миллевского метода различия является то, что он не
удовлетворяет основным идеям индуктивных рассуждений Д.С. Милля [40]. Поэтому правила
правдоподобного вывода-1 для метода различия не подчиняются основному принципу
индукции – «сходство фактов влечет наличие (отсутствие) эффекта и его повторяемость» [13].
На реальных данных метод различия в первой формулировке (формализация схем
вывода Д.С. Милля для метода различия) не дал результатов: и на данных фармакологии, и на
медицинских данных было получено 0 гипотез. Это подтвердило тот факт, что данный метод
не адекватен для обнаружения причинно-следственных зависимостей.
159
С
помощью
второго
варианта
метода
различия
(формализация
словесной
формулировки Второго правила Д.С. Милля) удалось породить гипотезы на данных
фармакологии.
Сначала были проведены два эксперимента. Первый эксперимент – простой метод
сходства с запретом на контрпримеры в качестве (+)- и (–)-предикатов. Стратегия второго
эксперимента – метод различия Д.С. Милля с запретом на контрпримеры в качестве (+)- и (–)предикатов. Сравнительная таблица (Таблица 31) выявила тот факт, что даже после 7 тактов
п.п.в.-1 и п.п.в.-2 (параметр «Число итераций индукция-аналогия»), не все (τ)-примеры были
доопределены, а степень абдуктивности для (–)-примеров была значительно ниже, чем в
первом эксперименте (0,73 против 0,90).
Были получены разные результаты доопределения по 38 (τ)-примерам (из 61), причем
из них 24 примера простой метод сходства с запретом на контрпримеры доопределил как 0, а
метод различия Д.С. Милля с запретом на контрпримеры как «+» или «–».
Таблица 31 - Результаты сравнения метода различия Д.С. Милля и простого метода
сходства (с запретом на контрпримеры) к фармакологическим данным
Параметр
Количество (+)-примеров
Количество (–)-примеров
Количество (τ)-примеров
Порог родителей гипотез
Количество (+)-гипотез
Количество (–)-гипотез
Количество 0 гипотез
Количество доопределенных (τ)- примеров
Число итераций индукция-аналогия
Количество необъясненных (+)-примеров
Количество необъясненных (–)-примеров
Степень абдуктивности (+)
Степень абдуктивности (–)
Максимальное количество родителей у (+)гипотез
Максимальное количество родителей у (–)гипотез
Простой метод
сходства с
запретом на
контрпримеры
14
48
61
2
15
117
0
61
1
3
5
0,79
0,90
Метод различия
Д.С. Милля с
запретом на
контрпримеры
14
48
61
2
35
98
2
58
7
3
13
0,79
0,73
9
15*
13
15*
*(гипотезы с таким количеством родителей получены за счет доопределенных ()-примеров).
160
Интересен тот факт, что если из эксперимента исключить (τ)-примеры, то метод
различия Д.С. Милля с запретом на контрпримеры дает совсем низкий показатель степени
абдуктивности для (–)-примеров (всего 0,56). Максимальное количество родителей у (+)гипотез равно 6, а для (–)-гипотез – 7. Это значит, что доопределение (τ)-примеров дает новые
знания.
Также были проведены эксперименты без запрета на контрпримеры. Результаты
приведены: см. Таблица 32. Результат в целом по массиву получился тот же: степень
абдуктивности для (–)-примеров ниже, количество родителей у порожденных гипотез меньше.
Также получены разные результаты по доопределению 15 (τ)-примеров (из 61), причем
простой метод сходства доопределил их как 0, а метод различия Д.С. Милля как «–».
Таблица 32- Результаты сравнения метода различия Д.С. Милля и простого метода
сходства к фармакологическим данным
Параметр
Количество (+)-примеров
Количество (–)-примеров
Количество (τ)-примеров
Порог родителей гипотез
Количество (+)-гипотез
Количество (–)-гипотез
Количество 0 гипотез
Количество доопределенных (τ)-примеров
Число итераций индукция-аналогия
Количество необъясненных (+)-примеров
Количество необъясненных (–)-примеров
Степень абдуктивности (+)
Степень абдуктивности (–)
Максимальное кол-во родителей у (+)гипотез
Максимальное кол-во родителей у (–)гипотез
Простой метод
сходства
14
48
61
2
26
227
13
61
1
0
0
1,00
1,00
Метод различия
Д.С. Милля
14
48
61
2
25
42
4
61
1
0
8
1,00
0,83
9
9
48
23
В результате анализа гипотез, порожденных с использованием метода различия Д.С.
Милля, удалось получить зависимости, которые описывают лишь небольшое количество
объектов. Полученные гипотезы сложно интерпретировать, и на основе этих гипотез никак
нельзя получить причинно-следственные закономерности, характерные для всего массива.
Недостатки
миллевского
метода
различия
практическом материале.
161
впервые
были
продемонстрированы
на
4.2.2 Метод различия: упрощение метода сходства – различия
Сравним три эксперимента на данных фармакологии.
Пусть МР_У = «Метод различия: упрощение сходства-различия» (положительный
предикат), (–) – запрет на (–)-контрпример, (+) – запрет на (+)-контрпример. В эксперименте
участвовали 14 (+)-примеров, 48 (–)-примеров и 61 (τ)-пример. Результаты экспериментов
отражены в таблицах 33, 34.
Стратегия первого эксперимента – упрощение сходства-различия в качестве (+)предиката, запрет на (+)-контрпримеры в качестве (–)-предиката. Сокращение в таблицах –
МР_У(+).
Стратегия второго эксперимента – упрощение сходства-различия и запрет на (–)контрпримеры в качестве (+)-предиката, запрет на (+)-контрпримеры в качестве (–)-предиката.
Сокращение в таблицах – МР_У(+)(–).
Стратегия третьего эксперимента – запрет на (–)-контрпримеры в качестве (+)предиката, запрет на (+)-контрпримеры в качестве (–)-предиката. Сокращение в таблицах –
(+)(–).
В таблице (Таблица 34) представлены результаты доопределения (τ)-примеров,
полученные разными стратегиями. В качестве идентификатора (τ)-примера в таблице указано
имя файла, представляющего структуру химического соединения. Сами файлы необходимы
экспертам, работающим с данными, а в системе используются лишь имена файлов для
удобной идентификации примеров. В качестве заголовков столбцов указаны сокращенные
имена стратегий, а в соответствующих ячейках – результаты доопределения (с помощью
гипотез о причинах, полученных соответствующей стратегией) (τ)-примеров. «+» – (τ)-пример
доопределен как «положительный», «-» – как «отрицательный», «0» - «противоречивый».
Таблица 33 - Результаты применения метода различия (упрощение сходства-различия) и
запрета на контрпримеры к фармакологическим данным
Параметры
Порог родителей для (+)-гипотез
МР_У(+)
МР_У (+)(–)
(+)(–)
2
2
2
Порог родителей для (–)-гипотез
2
2
2
Порог родителей для (0)-гипотез
2
2
2
Количество (+)-гипотез
16
3
15
162
Количество (–)-гипотез
117
117
117
Количество (0)-гипотез
Количество доопределенных (τ)-примеров
Число итераций индукция-аналогия
Количество необъясненных (+)-примеров
Количество необъясненных (–)-примеров
0
61
1
0
5
0
61
2
5
5
0
61
1
3
5
Таблица 34 – Результаты доопределения (τ)-примеров на фармакологических данных
при использовании упрощения сходства-различия и запрета на контрпримеры
Пример
t1.mol
t2.mol
t3.mol
t4.mol
t5.mol
t6.mol
t7.mol
t8.mol
t9.mol
t10.mol
t11.mol
t12.mol
t13.mol
t14.mol
t15.mol
t16.mol
t17.mol
t18.mol
t19.mol
t20.mol
t21.mol
t22.mol
t23.mol
t24.mol
t25.mol
t26.mol
t27.mol
t28.mol
t29.mol
t30.mol
t31.mol
МР_У(+)
+
0
+
+
+
+
0
+
+
+
+
+
0
+
+
+
+
0
+
+
+
+
0
0
0
0
0
0
0
0
0
МР_У (+)(–)
+
0
+
+
+
+
0
+
+
+
+
+
0
+
+
+
+
0
+
+
+
+
0
0
0
0
0
0
0
0
0
(+)(–)
+
0
+
+
+
+
0
+
+
+
+
+
0
+
+
+
+
0
+
+
+
+
0
0
0
0
0
0
0
0
0
Пример
t32.mol
t33.mol
t34.mol
t35.mol
t36.mol
t37.mol
t38.mol
t39.mol
t40.mol
t41.mol
t42.mol
t43.mol
t44.mol
t45.mol
t46.mol
t47.mol
t48.mol
t49.mol
t50.mol
t51.mol
t52.mol
t53.mol
t54.mol
t55.mol
t56.mol
t57.mol
t58.mol
t59.mol
t60.mol
t61.mol
163
МР_У (+)
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
МР_У (+)(–)
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
(+)(–)
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Результаты доопределения в первом и третьем экспериментах не совпадают в 13
случаях («0» и «-»).
Результаты доопределения гипотезами, полученными с помощью стратегии метода
различия (упрощение метода сходства-различия) с запретом на контрпримеры (МР_У (+)(–)) и
с помощью просто запрета на контрпримеры, совпали. Но в результате применения МР_У
(+)(–) получено 3 гипотезы, содержащих всего 8 дескрипторов из 195 (Таблица 35). Заголовки
столбцов d1, d2, d3, d4, d5, d6, d7, d12 – это идентификаторы дескрипторов, попавших в
гипотезы, а значения в ячейках – сколько раз соответствующий дескриптор встречается в
гипотезе.
Таблица 35 - Гипотезы, полученные на фармакологических данных в результате
применения упрощения метода сходства-различия и запрета на контрпримеры
Номер
гипотезы
1
2
3
Сорт
Число родителей
d1
d2
d3
d4
d5
d6
d7
d12
+
+
+
5
9
8
0
0
1
2
2
2
1
1
3
2
2
6
1
1
3
1
1
1
0
0
1
1
0
0
Однако степень объяснимости (+)-примеров при применении такой стратегии = 1 – 5/14
≈ 0,64, а при применении только запрета на контрпример степень объяснимости (+)-примеров
= 1 – 3/14 ≈ 0,78.
Результаты проверки полученных гипотез с помощью процедуры «доопределение по
одному» для 62 исходных (+), (–)-примеров представлены в Таблице 33.
Таблица 36 – Результаты применения процедуры «доопределение по одному» к
фармакологическим данным при использовании упрощения сходства-различия и
запрета на контрпримеры
Параметры
Количество (+)- или (–)-примеров,
доопределенных верно
Количество (+)- или (–)-примеров,
доопределенных противоположным
значением
МР_У(+)
МР_У (+)(–)
(+)(–)
18
42
41
11
6
6
Важно отметить, что во втором и третьем эксперименте были допущены одинаковые
ошибки, однако стратегия упрощенного метода сходства-различия с запретом на (±)контрпримеры доопределила верно на один пример больше и позволила сократить количество
164
(+)-гипотез до 3, поэтому следует признать ее наилучшей стратегией для исследуемых данных.
В качестве же (–)-предиката был применен негативный метод простого сходства с запретом на
(+)-контрпример.
На онкологических данных для эффекта «продолжительность жизни пациента
больше/меньше 5 лет» наилучшие результаты из приведенных экспериментов [см. раздел
«4.1.3. Запрет на контрпримеры»] были получены при использовании конъюнктивного (+)фильтра (признак «Уровень S100» считается необходимым). Обозначим через «Ф»
использование этого фильтра.
На тех же данных были проведены сравнительные
эксперименты с тем же набором стратегий, что и для фармакологии, но с добавлением фильтра
(Таблица 37).
В этом случае результаты применения стратегии метода различия с запретом на
контрпримеры и просто запрета на контрпримеры совпали. При этом все 11 (+)-гипотез
содержат в признаке «Уровень S100» значение «до 0,120 нг/мл». ((+)-примеры – это пациенты
с продолжительностью жизни > 5 лет.)
Результаты процедуры «доопределение по одному» приведены в Таблице 38. Стратегия
МР_У(+)Ф сделала на одну ошибку доопределения меньше, при этом правильно было
доопределено 7 (+)-примеров, а при использовании других двух стратегий – 6.
Таблица 37 - Результаты применения метода различия (упрощение сходства-различия),
запрета на контрпримеры и конъюнктивного (+)-фильтра (признак «Уровень S100») к
онкологическим данным (продолжительность жизни больше/меньше 5 лет)
Параметры
Количество (+)-примеров
Количество (–)-примеров
Количество (τ)-примеров
Порог родителей для (+)-гипотез
МР_У(+)Ф
МР_У (+)(–)Ф
12
26
8
5
Порог родителей для (–)-гипотез
11
Порог родителей для (0)-гипотез
2
Количество (+)-гипотез
34
11
Количество (–)-гипотез
23
Количество (0)-гипотез
Количество доопределенных (τ)-примеров
Число итераций индукция-аналогия
Количество необъясненных (+)-примеров
Количество необъясненных (–)-примеров
0
165
5
2
3
1
4
2
3
1
(+)(–)Ф
Таблица 38 – Результаты применения процедуры «доопределение по одному» к
онкологическим данным при использовании упрощения сходства-различия и запрета на
контрпримеры (продолжительность жизни больше/меньше 5 лет)
Параметры
Количество (+) или (–)-примеров,
доопределенных верно
Количество (+) или (–)-примеров,
доопределенных противоположным значением
МР_У(+)Ф
МР_У (+)(–)Ф
22
22
2
3
(+)(–)Ф
Кроме того, для этих данных (эффект «продолжительность жизни пациента
больше/меньше 5 лет») были проведены эксперименты и на сокращенных данных. Из списка
признаков были исключены признаки, объективно не влияющие на причинно-следственные
зависимости. Например, «Признаки прогрессирования/ стабилизации или частичного ответа
были выявлены при помощи…», «Средний месячный доход (в расчете на одного члена
семьи)», «На момент осмотра у пациента…», «Национальность» (у двоих пациентов –
«кавказская», еще у двоих – «неизвестно», у остальных – «восточно-европейская») и др. На
этих данных с порогами родителей 6 для (+)-гипотез и 7 для (–)-гипотез при помощи
различных стратегий с внесением признака «Уровень S100» в конъюнктивный (+)-фильтр
также были получены гипотезы.
Результаты применения стратегии метода различия с запретом на контрпримеры и
просто запрета на контрпримеры также совпали.
Интересно, что при использовании стратегии упрощенного сходства-различия с
запретом на (+)-контрпримеры (+)-гипотеза с наибольшим количеством родителей (10)
состоит из следующих признаков:
Место проживания = «Центральный федеральный округ (ЦФО)»,
Уровень S100 = «до 0,120 нг/мл».
При этом, так как среди и (+), и (–)-примеров встречаются больные с местом
проживания ЦФО, можно считать этот признак несущественным.
При применении же других двух стратегий (+)-гипотеза с наибольшим количеством
родителей (7) состоит из следующих признаков:
Место проживания = «Центральный федеральный округ (ЦФО)»,
Уровень инвазии по Кларку = «Уровень инвазии по Кларку 3»,
Клинический диагноз = «T»,
Количество отдаленных метастазов = «1»,
166
Уровень S100 = «до 0,120 нг/мл».
Результаты процедуры «доопределение по одному» приведены в Таблице 39.
Таблица 39 – Результаты применения процедуры «доопределение по одному» к
онкологическим данным (сокращенный список признаков) при использовании
упрощения сходства-различия и запрета на контрпримеры (продолжительность жизни
больше/меньше 5 лет)
Параметры
Количество (+) или (–)-примеров,
доопределенных верно
Количество (+) или (–)-примеров,
доопределенных противоположным значением
МР_У(+)Ф
МР_У (+)(–)Ф
25
26
3
4
(+)(–)Ф
В целом результаты трех стратегий можно считать почти эквивалентными, однако в
силу того, что стратегия МР_У (+)(–)Ф накладывает более сильные условия на принятие
гипотез, в проведенных экспериментах на онкологических данных ее следует признать
наилучшей.
Аналогичным образом на онкологических данных были получены результаты для
эффекта «продолжительность жизни пациента больше/меньше 12 месяцев». Эксперименты
проводились без фильтров, так как ранее [см. раздел «4.1.3 Запрет на контрпримеры»] было
установлено, что однозначной закономерности между продолжительностью жизни и
значением признака «Уровень S100» на этих данных нет.
Упрощение сходства-различия применялось как для порождения (+)-, так и (–)-гипотез.
Обозначим через «МР_У+» положительный предикат метода упрощения сходства-различия, а
через «МР_У–» – отрицательный. Как и раньше «(–)» обозначает запрет на (–)-контрпримеры,
а «(+)» – запрет на (–)-контрпримеры. Приемлемые степени абдуктивности для (+)- и (–)примеров были получены при пороге родителей, равном 5, для (+)-гипотез и 3 – для (–)гипотез. Наихудшей стратегией оказалась стратегия, заданная предикатом положительного
простого сходства с запретом на (–)-контрпримеры и отрицательным предикатом упрощения
сходства-различия, так процедура «доопределение по одному» не смогла доопределить верно
ни один пример. Наилучшей стратегией оказалась стратегия, заданная положительным
предикатом упрощения сходства-различия и предикатом отрицательного простого сходства с
запретом на (+)-контрпримеры, так процедура «доопределение по одному» смогла
доопределить верно наибольшее количество примеров. Сводные результаты по всем
экспериментам представлены в двух таблицах (Таблица 40, Таблица 41).
167
На четырех стратегиях (МР_У+(+)(–), (+)(–), МР_У–(+)(–), МР_У+МР_У–(+)(–)) были
получены одни и те же 186 (+)- и 12 (–)-гипотез. При рассмотрении значения признака
«Уровень S100» в этих гипотезах было установлено, что из (+)-гипотез 58 имеют значение «до
0,120», остальные – «значение не определено»; из (–)-гипотез все имеют значение «не
определено».
При рассмотрении значения признака «Уровень S100» в гипотезах, полученных с
помощью стратегии МР_У–(–), наблюдаем следующее:
из (+)-гипотез 58 имеют значение «до 0,120», остальные – «значение не определено»;
из (–)-гипотез 4 имеют значение «до 0,120», 4 – «0,120-1», 1 – «свыше 1», остальные –
«значение не определено».
Таким образом, анализ полученных результатов позволил обнаружить зависимость
«значение S100 до 0,120 –> продолжительность больше 12 месяцев».
Таблица 40 – Результаты применения процедуры «доопределение по одному» к
онкологическим данным при использовании упрощения сходства-различия и запрета на
контрпримеры (продолжительность жизни больше/меньше 12 месяцев)
Параметры
МР_У+
(+)
МР_У+
(+)(–)
Количество (+)-примеров
Количество (–)-примеров
Количество (τ)-примеров
Порог родителей для (+)-гипотез
МР_У+
МР_У–
МР_У–
(+)(–)
МР_У–
(+)(–)
(–)
(+)(–)
32
11
3
5
Порог родителей для (–)-гипотез
3
Порог родителей для (0)-гипотез
2
Количество (+)-гипотез
462
186
164
Количество (–)-гипотез
12
12
99
Количество (0)-гипотез
Количество доопределенных (τ)примеров
Число итераций
индукция-аналогия
Количество
необъясненных (+)-примеров
Количество
необъясненных (–)-примеров
0
1
2
2
1
2
168
0
Таблица 41 – Результаты применения процедуры «доопределение по одному» к
онкологическим данным при использовании упрощения сходства-различия и запрета на
контрпримеры (продолжительность жизни больше/меньше 12 месяцев)
Параметры
Количество (+) или (–)примеров, доопределенных
верно
Количество (+) или (–)примеров, доопределенных
противоположным значением
МР_У+
(+)
МР_У+
МР_У–
(+)(–)
(+)(–)
(+)(–)
МР_У+
МР_У–
(+)(–)
МР_У–
(–)
24
18
0
11
11
6
Данные болезней глаз также были исследованы с использованием упрощенного метода
соединенного сходства-различия. Пациенты были разбиты на (+) и (–)-примеры по диагнозу:
(+)-примеры
–
с
диагнозом
«дегенеративный
ретиношизис
без
наследственных
витреоретинальных дистрофий», (–)-примеры – с диагнозом «дегенеративный ретиношизис с
наследственными витреоретинальными дистрофиями». В выборке участвовало 39 пациентов.
Данные экспериментов приведены в Таблице 42.
Таблица 42 - Результаты применения метода различия (упрощение сходства-различия) и
запрета на контрпримеры к медицинским данным болезней глаз
Параметры
Количество (+)-примеров
Количество (–)-примеров
Количество (τ)-примеров
Порог родителей для (+)-гипотез
МР_У(+)
МР_У (+)(–)
19
18
2
13
Порог родителей для (–)-гипотез
12
Порог родителей для (0)-гипотез
2
Количество (+)-гипотез
610
215
Количество (–)-гипотез
83
Количество (0)-гипотез
Количество доопределенных (τ)-примеров
Число итераций индукция-аналогия
Количество необъясненных (+)-примеров
0
1
2
0
169
(+)(–)
Количество необъясненных (–)-примеров
0
Результаты применения стратегии метода различия с запретом на контрпримеры и
просто запрета на контрпримеры также совпали.
Результаты применения процедуры «доопределение по одному» (для исходных 37 (+)- и
(–)-примеров) представлены в Таблице 43.
Таблица 43 – Результаты применения процедуры «доопределение по одному» к
медицинским данным болезней глаз при использовании упрощения сходства-различия и
запрета на контрпримеры
Параметры
МР_У(+)
Количество (+)- или (–)-примеров,
24
доопределенных верно
Количество (+)- или (–)-примеров,
3
доопределенных противоположным значением
МР_У (+)(–)
(+)(–)
25
3
В целом можно сделать вывод, что, как и в исследовании онкологических данных,
результаты трех стратегий почти эквивалентны, но так как применение упрощенного метода
соединенного сходства-различия с запретом на (±)-контрпример подтверждает наиболее
сильные гипотезы, то и в этом случае эта стратегия наилучшая.
Таким образом, на данных болезней глаз, фармакологических и сокращенных
онкологических данных наилучшие результаты были получены с использованием стратегии
упрощенного метода соединенного сходства-различия с запретом на (±)-контрпример. Так как
на данных больных меланомой со всеми признаками разница в результате доопределения –
одна ошибка, то и в этом случае можно также считать эту стратегию более предпочтительной,
так как семантически она более сильная.
Рассматриваемый
в
этом
разделе
метод
различия
подтвердил
(+)-гипотезы,
включающие признак «Уровень S100» со значением «до 0,120 нг/мл». ((+)-примеры – это
пациенты с продолжительностью жизни > 5 лет), что является важной причинно-следственной
зависимостью, выявленной на данных больных меланомой [см. также раздел «4.4.1.
Усеченный метод остатков»]. Этот результат доказал адекватность гипотез, полученных
новым методом, и продемонстрировал его значимость для обнаружения нового знания.
4.3 МЕТОД СОЕДИНЕННОГО СХОДСТВА – РАЗЛИЧИЯ
170
Формализация индуктивного метода сходства-различия Д.С. Милля рассмотрена в
первой главе. Важно то, что необходимо рассмотреть два подслучая:
(d1) V – единственная причина эффекта (следствия) W;
(d2) V – не единственная причина, т.е. существуют позитивные причины V1, …, Vm, где
m1, такие, что они не сравнимы с V (т.е. (V ≠ Vi) , i = 1, …, m).
На реальных данных не было найдено единственной позитивной причины с
выполненным условием метода сходства-различия, хотя и были составлены тестовые
примеры, на которых необходимые условия были учтены. Например, нужные условия были
выполнены на данных болезней глаз при выборке 16 (+)-примеров и 20 (–)-примеров и трех
признаков «Стекловидное тело», «А-волна ЭРГ», «ДИАГНОЗ».
В результате применения метода сходства-различия с условием (d2) в усиленном виде, с
m
условием ( & ((V Vi)  (ViV))), оказалось, что этот метод настолько сильный, что ни одна
i 1
гипотеза не выдерживает такой проверки. Возможность просмотреть ход эксперимента в
отладчике Visual Studio по шагам позволила установить, что для большого количества гипотез
m
нарушается именно условие невложения причин. Поэтому это условие было ослаблено до ( &
i 1
(V ≠ Vi)). Таким образом, положительные гипотезы были получены на данных фармакологии,
что объясняется строением рассматриваемых химических соединений: они представляют
собой центрированные множества, и условие невложения заведомо не подходит для этих
данных.
Приведем результаты четырех экспериментов (Таблица 44, Таблица 45). В таблице 44
представлены параметры экспериментов, а в таблице 45 – результаты доопределения (τ)примеров, полученные разными стратегиями. В столбце «Пример» указаны идентификаторы
(названия файлов) химических соединений, для которох необходимо было предсказать
значение исследуемого эффекта. «+» в ячейке таблицы означает, что (τ)-пример доопределен
как «положительный», «-» – как «отрицательный», «0» - «противоречивый».
Пусть МСР = «метод сходства-различия», (–) – запрет на (–)-контрпример, (+) – запрет
на (+)-контрпример.
Стратегия первого эксперимента – метод сходства-различия в качестве (+)-предиката,
метод простого сходства в качестве (–)-предиката.
Стратегия второго эксперимента – метод сходства-различия в качестве (+)-предиката,
запрет на (+)-контрпримеры в качестве (–)-предиката.
Стратегия третьего эксперимента – метод сходства-различия и запрет на (–)контрпримеры в качестве (+)-предиката, запрет на (+)-контрпримеры в качестве (–)-предиката.
171
Стратегия четвертого эксперимента – запрет на (–)-контрпримеры в качестве (+)предиката, запрет на (+)-контрпримеры в качестве (–)-предиката.
Таблица 44 - Результаты применения метода сходства-различия и запрета на
контрпримеры к фармакологическим данным
Параметры
Количество (+)-примеров
Количество (–)-примеров
Количество (τ)-примеров
Порог родителей для (+)-гипотез
МСР
МСР (+)
Порог родителей для (–)-гипотез
МСР (+)(–)
14
48
61
(+)(–)
2
Порог родителей для (0)-гипотез
Количество (+)-гипотез
16
22
0
15
Количество (–)-гипотез
234
117
243
117
Количество (0)-гипотез
Количество доопределенных (τ)-примеров
Число итераций индукция-аналогия
Количество необъясненных (+)-примеров
Количество необъясненных (–)-примеров
6
61
1
2
0
0
61
1
2
5
0
61
2
14
1
0
61
1
3
5
Результаты доопределения во втором и третьем экспериментах не совпадают в 13
случаях (0 и -), но это несовпадение объясняется тем, что при использовании в качестве (+)стратегии метода сходства-различия было порождено большее количество (+)-гипотез.
Таблица 45 – Результаты доопределения (τ)-примеров на фармакологических данных
при использовании метода сходства-различия и запрета на контрпримеры
Пример
t1.mol
t2.mol
t3.mol
t4.mol
t5.mol
t6.mol
t7.mol
t8.mol
t9.mol
t10.mol
t11.mol
МСР
0
0
0
0
0
0
0
0
0
0
0
МСР (+)
+
0
+
+
+
+
0
+
+
+
+
172
МСР (+)(–)
-
(+)(–)
+
0
+
+
+
+
0
+
+
+
+
Пример
t12.mol
t13.mol
t14.mol
t15.mol
t16.mol
t17.mol
t18.mol
t19.mol
t20.mol
t21.mol
t22.mol
t23.mol
t24.mol
t25.mol
t26.mol
t27.mol
t28.mol
t29.mol
t30.mol
t31.mol
t32.mol
t33.mol
t34.mol
t35.mol
t36.mol
t37.mol
t38.mol
t39.mol
t40.mol
t41.mol
t42.mol
t43.mol
t44.mol
t45.mol
t46.mol
t47.mol
t48.mol
t49.mol
t50.mol
t51.mol
t52.mol
t53.mol
t54.mol
МСР
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
МСР (+)
+
0
+
+
+
+
0
+
+
+
+
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
173
МСР (+)(–)
-
(+)(–)
+
0
+
+
+
+
0
+
+
+
+
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Пример
t55.mol
t56.mol
t57.mol
t58.mol
t59.mol
t60.mol
t61.mol
МСР
0
0
0
0
0
0
0
МСР (+)
0
0
0
0
0
0
0
МСР (+)(–)
-
(+)(–)
0
0
0
0
0
0
0
Результаты проверки полученных гипотез с помощью процедуры «доопределение по
одному» для 62 исходных (+), (–)-примеров приведены в Таблице 46.
Таблица 46 – Результаты применения процедуры «доопределение по одному» к
фармакологическим данным при использовании метода сходства-различия и запрета на
контрпримеры
Параметры
Количество (+)- или (–)-примеров,
доопределенных верно
Количество (+)- или (–)-примеров,
доопределенных противоположным значением
МСР
МСР(+)
МСР (+)(–)
(+)(–)
27
27
39
41
4
9
8
6
Очевидно, что наилучшей из сравниваемых стратегий является запрет на (±)контрпример.
(+)-гипотезы, полученные на фармакологических данных с помощью методов различия
(миллевский метод и упрощения сходства-различия) и сходства-различия, были исследованы.
Оказалось, что полученные множества гипотез не сравнимы относительно отношения
вложения. С помощью миллевского метода различия было получено 25 гипотез, упрощения
сходства-различия – 16, метода сходства-различия – 16. У миллевского метода различия и
упрощения сходства-различия совпали 5 гипотез, миллевского метода различия и метода
сходства-различия – 13, упрощения сходства-различия и метода сходства-различия – 1.
Наконец, у всех трех методов совпала 1 гипотеза с 8 родителями, которая состоит из 7
различных дескрипторов. Эта гипотеза имеет следующую структуру: 56,10M1M5M9 6,06 6,06
3101310 3101310 3101310 3101320 3101320 3101320 3101320 3101320 3101320 3201320
3201320 3201320 5,06M1M2 6,00M1M3.
На медицинских данных гипотезы были найдены на онкологических данных для
эффекта «продолжительность жизни пациента больше/меньше 12 месяцев». В результате
применения метода сходства-различия в качестве (+)-предиката и простого метода сходства с
174
запретом на контрпримеры в качестве (–)-предиката удалось получить 20 (+)-гипотез, однако
степень абдуктивности оказалась неприемлемой (равной 0,19). Кроме того, после исключения
из списка признаков, по мнению экспертов, объективно не влияющих на причинноследственные зависимости (Национальность, Семейное положение, Средний месячный доход
(в расчете на одного члена семьи), Общее состояние по шкале ВОЗ/ECOG и проч.), и
повторения эксперимента не было получено ни одной (+)-гипотезы. В результате применения
метода сходства-различия в качестве (–)-предиката не было получено ни одной (–)-гипотезы
ни на полных, ни на сокращенных данных.
Следует отметить тот факт, что метод сходства-различия не подтвердил ни одну
положительную гипотезу на медицинских данных. Дело в том, что эта стратегия очень
чувствительна к данным. В случае большого количества признаков, которые можно считать
субъективными, этот метод не работает. Однако если хотя бы одна положительная гипотеза
получена, то можно предположить, что эта гипотеза действительно верна.
4.4 МЕТОД ОСТАТКОВ
4.4.1 Общий метод остатков
Формализация индуктивного метода остатков рассмотрена в первой главе.
И данные фармакологии, и медицинские данные были рассчитаны на применение
атомарного ДСМ-метода АПГ, поэтому для тестирования стратегий неатомарной версии был
создан тестовый пример на основе данных болезней глаз.
Пациенты были разбиты на (+) и (–)-примеры по признаку «Диагноз». В левую часть
вошли признаки: «Возраст пациента», «Пол»,
«Возраст начала заболевания(лет)»,
«Субъективные жалобы (да, нет, не описано)», «Рефракция», «Стекловидное тело». Правая
часть состояла из одного признака «А-волна ЭРГ», который может принимать одно из 7
допустимых значений. Массив примеров состоял из 15 (+)-примеров, 5 (–)-примеров и 4 (τ)примеров. Порог для родителей (+)-гипотез равнялся 5, а для (–)-гипотез был выбран
минимальным (2).
175
К тестовым данным была применена гетерогенная стратегия: простой метод сходства в
качестве (–)-предиката, метод соединенного сходства-различия в качестве (+)-предиката и
метод остатков для вычитания (–)-гипотез из (+)-примеров. В результате эксперимента было
получено 156 (+)-гипотез (104 из них с помощью метода остатков) и 11 (–)-гипотез. Были
доопределены как «+» два (τ)-примера благодаря гипотезам, порожденным методом
соединенного сходства-различия. Процедура «доопределение по одному» также показала
хорошие результаты: 14 примеров из 20 доопределено верно, ошибок доопределения (с «+» на
«-» или с «-» на «+») нет.
Затем к тестовым данным был применен только метод соединенного сходства-различия
в качестве (+)-предиката и простой метод сходства в качестве (–)-предиката. К сожалению,
оказалось, что на рассматриваемых данных гипотезы, полученные методом остатков, не
повлияли ни на одну из следующих процедур: шаг аналогии, проверка (+)-аксиомы каузальной
полноты, процедура «доопределение по одному».
4.4.2 Усеченный метод остатков
26 марта 2010 года в Российском Государственном Гуманитарном Университете, на
семинаре «Методы искусственного интеллекта в когнитивных исследованиях, в гуманитарных
науках и науках о жизни», Панкратова Е. С. и Добрынин Д. А. выступили с докладом о
проведенных ими компьютерных экспериментах над клиническими данными больных
меланомой.
Данные
были
предоставлены
РОНЦ
РАМН
имени
Н.Н. Блохина. С использованием интеллектуальной ДСМ-системы, программно созданной
Добрыниным Д. А., было установлено, что существует связь между продолжительностью
жизни больного и значением протеина S100, а именно: значение S100, меньшее 0.12 нг/мл,
влечет продолжительность жизни больше 5 лет, а значение S100, большее 0.12 нг/мл, –
меньше 5 лет [26].
Реализация
процедуры
упрощения
метода
остатков
(неформально
названная
«усеченный метод остатков») была описана в первой главе. Усеченный метод остатков был
реализован впервые и является полезной вспомогательной процедурой для проверки гипотез
эксперта.
В ходе исследования онкологических данных по просьбе экспертов было проведено три
эксперимента.
Первый
эксперимент
состоял
в
разделении
объектов
на
(+)-
и
(–)-примеры в зависимости от продолжительности жизни (продолжительность жизни > 5 лет –
176
это плюс-пример, иначе минус-пример) и использования фильтров для обязательного наличия
в гипотезах белка S100 в левой части. В результате была порождена первая группа гипотез.
Второй
эксперимент
состоял
в
разделении
объектов
на
(+)-
и
(–)-примеры в зависимости от значения белка S100 (значение S100, меньшее 0.12 нг/мл, – это
плюс-пример, равное или большее 0.12 нг/мл, – минус-пример). В результате была порождена
вторая группа гипотез.
Третий
эксперимент
состоял
в
разделении
объектов
на
(+)-
и
(–)-примеры также в зависимости от продолжительности жизни (продолжительность жизни >
5 лет – это плюс-пример, иначе минус-пример), но признак «Уровень S100» в эксперименте не
участвовал. В результате была порождена третья группа гипотез.
Затем
была
найдена
разность
первой
и
второй
групп
гипотез:
из
(+)-гипотез вычитаем (+)-гипотезы, из (–)-гипотез – (–)-гипотезы. В результате сравнения
полученной разности и третьей группы гипотез выяснилось, что пересечения между ними нет.
Если бы были найдены равные гипотезы, это означало бы, что S100 не является необходимым
признаком. Таким образом, было подтверждено наличие корреляции между уровнем белка
S100 и продолжительностью жизни пациента.
4.5 Проверка непротиворечивости гипотез
Описание процедуры проверки непротиворечивости гипотез и задач, для которых она
используется, приведено в первой главе. Разработанная процедура не применялась экспертами
в ходе практических исследований, но она просто необходима как для решения задач
определения непротиворечивости стратегий ДСМ-рассуждений, так и для задач поиска
эмпирических
закономерностей
на
последовательности
расширяющихся
баз
фактов.
Созданный в ДСМ-Решателе модуль для проверки непротиворечивости гипотез отсутствовал в
других действующих ДСМ-системах и позволяет установить корректность ДСМ-рассуждений.
Рассмотрим пример работы алгоритма для проверки непротиворечивости гипотез,
полученных на последовательности расширяющихся БФ. Для тестирования алгоритма был
сформирован тестовый пример на основе онкологических данных больных меланомой, в
которых примеры были разбиты на (+)-, (–)- и (τ)-примеры относительно изучаемого эффекта
«продолжительность жизни пациента больше/меньше 12 месяцев».
177
В исходной базе фактов присутствовало 32 (+)-примеров (продолжительность жизни
пациента больше 12 месяцев) и 11 (–)-примеров (продолжительность жизни пациента меньше
12 месяцев). Для экспериментов произвольно было выбрано 23 (+)-примеров и 9 (–)-примеров.
Также 3 (τ)-примера участвовало в каждом эксперименте для порождения гипотез о
доопределении. Было сформировано три базы фактов (БФ). В таблице (Таблица 47)
представлено количество примеров в каждой из БФ. Соответственно, БФ2 – это БФ1 + 2 (+)примера, а БФ3 = БФ2 + 2 (+)-примера + 1 ()-пример.
Таблица 47 - Проверка непротиворечивости гипотез: количество примеров в базах
фактов (онкологические данные)
Параметр
Количество (+)-примеров
Количество ()-примеров
БФ1
19
8
БФ2
21
8
БФ3
23
9
К тестовым данным были применены две стратегии. Первая стратегия – простой метод
сходства в качестве (+)- и (–)-предиката. Вторая стратегия – запрет на контрпримеры в
качестве (+)- и (–)-предиката. Результаты по каждой стратегии и каждой БФ приведены в
таблицах 48, 49.
Таблица 48 - Результат применения простого метода сходства к базам фактов
(онкологические данные)
Параметр
Количество (+)-гипотез о причинах
Количество ()-гипотез о причинах
Количество (0)-гипотез о причинах
Количество (+)-гипотез о доопределении
Количество ()-гипотез о доопределении
Количество (0)-гипотез о доопределении
Степень абдуктивности для (+)-примеров
Степень абдуктивности для ()-примеров
БФ1
1034
76
7
0
0
1
1.0
1.0
БФ2
1229
75
8
0
0
1
1.0
1.0
БФ3
1578
110
10
0
0
1
1.0
1.0
Таблица 49 - Результат применения запрета на контрпримеры к базам фактов
(онкологические данные)
Параметр
Количество (+)-гипотез о причинах
БФ1
855
178
БФ2
1006
БФ3
1209
Количество ()-гипотез о причинах
Количество (0)-гипотез о причинах
Количество (+)-гипотез о доопределении
Количество ()-гипотез о доопределении
Количество (0)-гипотез о доопределении
Степень абдуктивности для (+)-примеров
Степень абдуктивности для ()-примеров
30
0
1
0
0
1.0
1.0
30
0
1
0
0
1.0
1.0
50
0
1
0
0
1.0
1.0
После того как гипотезы были получены с приемлемой степенью абдуктивности
(большей или равной 0.8), для результатов каждой стратегии был применен алгоритм проверки
непротиворечивости гипотез (Таблица 50, Таблица 51).
f() - степень противоречивости ()-гипотез о причинах, где {+,,0}.
F() - степень противоречивости ()-гипотез о доопределении, где {+,,0}.
Таблица 50 - Результат применения алгоритма проверки непротиворечивости гипотез к
базам фактов для первой стратегии (онкологические данные)
Параметр
f(+)
f()
f(0)
F(+)
F()
F(0)
БФ1 , БФ2
0
0,013
0
0
0
0
БФ2 , БФ3
0,002
0
0
0
0
0
БФ1 , БФ3
0,002
0,013
0
0
0
0
Таблица 51 - Результат применения алгоритма проверки непротиворечивости гипотез к
базам фактов для второй стратегии (онкологические данные)
Параметр
f(+)
f()
f(0)
F(+)
F()
БФ1 , БФ2
0
0
0
0
0
БФ2 , БФ3
0
0
0
0
0
179
БФ1 , БФ3
0
0
0
0
0
F(0)
0
0
0
Для (+)- и ()-гипотез о причинах, порожденных на последовательности БФ в
результате применения первой стратегии (заданной позитивным и негативным предикатами
простого метода сходства), были получены ненулевые степени противоречивости, но не
превышающие допустимый порог (равный 0.2), при этом все степени противоречивости для
(0)-гипотез равны нулю. Это означает, что ДСМ-рассуждение относительно этой стратегии
является «хорошо полукорректным» [13].
Результат для второй стратегии был ожидаем, так как предикат, определяющий условие
запрета на контрпример, гарантирует невложение примеров в гипотезы противоположного
знака. Таким образом, на этапе формирования гипотез мы исключаем их противоречивость
при расширении БФ. ДСМ-рассуждение относительно этой стратегии является «тотально
корректным».
180
5 ДСМ-СИСТЕМА JSM-SOCIO ДЛЯ АНАЛИЗА
СОЦИОЛОГИЧЕСКИХ ДАННЫХ
Первая интеллектуальная система типа ДСМ для анализа социологических данных
была разработана М.А. Михеенковой [30], а ее программное обеспечение было реализовано
С.С. Московским [31]. Затем разработке программных средств в этой области были
посвящены исследования Д.В. Панкратова [32], Ж.И. Бурковской [33], Т.Л. Феофановой [34].
Разработанная в ходе нашего исследования ДСМ-система первоначально применялась
для анализа фармакологических и медицинских данных. Архитектура системы является
расширяемой, поэтому было принято решение реализовать возможность обработки и
социологических данных (ноябрь 2011 года). Так в модуле представления данных были
созданы классы, необходимые для описания социологических данных, а в модуле ДСМРешателя
реализованы
процедуры
обратного
ДСМ-метода,
а
также
возможность
использования ситуационного расширения ДСМ-метода.
Результаты
практических
исследований
показали,
что
существует
необходимость предоставить социологу-эксперту возможность не только
острая
оценивать уже
полученные результаты, но и самостоятельно проводить эксперименты, используя ДСМ-метод
АПГ. Было принято решение разработать такую систему в виде компьютерного приложения,
интегрировав в него созданные ранее программные средства.
Итогом работы стала компьютерная интеллектуальная система для качественного
анализа социологических данных (JSM-Socio), реализующая стратегии ДСМ-метода АПГ.
Система была официально зарегистрирована Федеральной службой по интеллектуальной
собственности (РОСПАТЕНТ) и внесена в Реестр программ для ЭВМ (№ 2013614978, от 24
мая 2013 года).
Система представляет собой практический инструмент для социолога-эксперта и
позволяет исследовать социальные явления и анализировать данные социологического опроса
посредством формализованного качественного анализа данных.
181
5.1 ДСМ-система JSM-Socio и современные программы для качественного
анализа социологических данных
Существующие на сегодняшний день программы для исследования социологических
данных можно разделить на программы, которые реализуют количественные методы
обработки данных, и программы, предназначенные для качественного анализа данных. Обзор
разнообразных компьютерных приложений, ставящих перед собой целью качественный
анализ социологических данных приведен в [52]. Наиболее распространенные для обработки
результатов качественных (в традиционном для социологии понимании) исследований
программы, не основанные на ДСМ-методе АПГ, – это ряд программ, опирающихся на
кодирование данных исследователем (NVivo, ATLAS.ti, HyperRESEARCH, Qualrus) и ряд
программ, реализующих метод «сравнительного качественного анализа» QCA (Qualitative
Comparative Analysis).
Цель программ NVivo, ATLAS.ti, HyperRESEARCH, Qualrus – помочь пользователям
систематизировать и проанализировать нечисловые или неструктурированные данные.
Программное обеспечение позволяет пользователям классифицировать и сортировать
информацию, изучать отношения в данных на основе кодов. Под кодированием данных здесь
понимается разметка исследователем документов разных форматов, характеризующих
предмет исследования. Например, каждому респонденту ставится в соответствие набор
текстовых документов (ответы на вопросы анкеты), которые затем размечает социологэксперт. Кодирование подразумевает выделение фрагментов документа с последующим
приписыванием им текстовых кодов (понятий/фактов/примечаний произвольной формы,
отражающих мысли социолога о выделенных элементах относительно темы исследования).
Коды становятся своего рода категориями, на которые социолог будет опираться при
интерпретации размеченных данных. Коды должны зафиксировать основные параметры,
свойства документов, которые позволят охарактеризовать респондентов и провести их
классификацию.
Разработка NVivo (www.qsrinternational.com) началась еще в 1981 году в рамках
создания компьютерного пакета NUD*IST. Этот программный пакет предназначен для
обработки богатой текстовой и мультимедийной информации любого объема. На сайте
проекта
утверждают,
что
NVivo
преимущественно
используют
для
качественных
исследований в социальных науках (антропологии, психологии, связях с общественностью,
социологии), а также в таких областях, как криминалистика, туризм и маркетинг.
182
Создание и ведение проекта в программе состоит из следующих этапов: загрузка
собранных данных; автокодирование данных на основе заголовков, встречающихся в текстах;
ручное кодирование, проводимое исследователями; классификация данных на основе
введенных кодов (создание дерева, где каждая вершина – это некоторая тема для анализа,
выделенная на основе кодов), сравнение результатов исследователей и построение моделей.
Для исследования закодированных данных программа предлагает следующие функции:
поиск и фильтрация данных по заданным критериям; построение модели с помощью простого
редактора схем для визуализации связей в данных; построение графиков для представления
закодированных данных или матриц, полученных в результате запроса; создание отчетов по
исследованию; экспорт результатов в формате HTML (результаты работы можно выложить в
Интернет); возможность командной работы над исследованием.
NVivo поддерживает различные форматы данных, например: аудио-, видео-файлы,
цифровые фотографии, документы Word, PDF, электронные таблицы, таблицы баз данных,
текстовые файлы, веб-страницы, данные социальных сетей (Facebook, LinkedIn, Twitter).
Доступен
интерфейс
на
английском,
французском,
немецком,
португальском,
испанском, китайском и японском языках. Программа удобна в использовании, и работа с ней
напоминает работу в программных пакетах Microsoft Office.
Возможен обмен информацией между NVivo и другими приложениями, такими, как
Microsoft Word, Microsoft Excel, IBM SPSS Statistics, Survey Monkey, EndNote и Evernote.
Первая версия программы ATLAS.ti (http://www.atlasti.com) появилась в 1993 году.
Она позволяет обрабатывать текстовые, мультимедийные и картографические данные.
Программа позволяет вставить дополнительные комментарии к выделенным кодам, оценить
найденные коды, присвоим им некоторые веса, и отобразить связи между кодами наглядно.
Необходимо отметить возможности программы при работе с мультимедийными
данными. Производители программного обеспечения ATLAS.ti заявляют, что программа
обеспечивает обработку мультимедийных данных на современном техническом уровне:
разбиение видео на кадры, графическое представление аудио-сигналов, кодирование
отдельных деталей изображения, могут быть даже перемещены или изменены размеры
отдельных сегментов изображения.
В качестве аналитических средств программа предлагает следующие возможности:
отображение списка кодов документа по заданным критериям (в алфавитном порядке, по
частоте встречаемости, отображение числа ссылок на другие коды); создание поисковых
запросов разной сложности; отображение кодов, встречающихся вместе, в виде кросс-таблиц;
построение таблиц частоты встречаемости кодов/ групп кодов в документах или группах
документов; построение списка документов, в которых встречается код/группа кодов, по
183
щелчку мыши; построение диаграмм связей между кодами; создание закодированных
документов (с кодами, вынесенными на поля) в формате PDF; гео-кодирование 3D файлов,
предоставленных
приложением
Google
Earth
(http://www.google.com/earth/index.html);
обработка социологических опросов, представленных как таблица в MS Excel, при этом
каждая строка (один респондент) становится основным документом, на основе данных
автоматически создается список ответов на каждый вопрос, а вопросы и ответы кодируются.
HyperRESEARCH (https://www.researchware.com) впервые была представлена в 1991
году. На сайте https://www.researchware.com выделяют четыре предметные области, в которых
используется программа.
1. Социальные науки: выполнение качественного анализа текстовых или мультимедийных
данных, собранных во время интенсивных (intensive interview) или фокус-групповых
интервью. Программа позволяет исследователям из нескольких проектов или же
проекта объединить свои данные.
2. Маркетинг и политические исследования: программа быстро анализирует основные
темы по данным фокус-группы, что помогает выявить основные вопросы или темы,
которые возникают из группового обсуждения.
3. Медицина: анализ медицинских диагнозов. Программа позволяет врачам найти общие
показатели через изучение клинических случаев. Мультимедийный анализ клинических
данных помогает выявить важную информацию для клинической диагностики и
предоставляет впечатляющие мультимедийные презентации клинических случаев для
преподавания в аудитории.
4. Закон: анализ судебных протоколов и записей.
Разработчики программы выделяют такие её особенности, как: удобный интерфейс
программы; возможность систематизировать данные разными способами (данные разделяются
на случаи (case), каждый случай может представлять индивидуума, временной интервал или
фокус-группу); сортировка и выбор кодов по заданным критериям; создание закодированных
текстовых документов (с кодами, вынесенными на поля) для последующей печати их на
принтере; кодирование всего графического изображения, видео- или аудио-файлов или их
сегментов; возможность добавления конкретному коду примечания (аннотации); возможность
командной работы над проектом; автоматическая генерация отчетов по заданным критериям.
К расширенным функциональным возможностям программы разработчики относят
автоматическое кодирование, поиск с учётом расстояния между кодами, построение «карты»
кодов (возможно представление кодов в виде семейства, деревьев и сетей), проверка гипотез.
184
Инструмент для проверки гипотез (The Hypothesis Tester) представляет собой
экспертную систему, основанную на правилах, и позволяет исследователю проверить его
гипотезы, опираясь на отношения между кодами. Каждая гипотеза представляется в виде
продукционного правила ЕСЛИ – ТО и может включать булевские операторы (И, ИЛИ, НЕ) и
функции отношения между сегментами (см. выше). Например, гипотеза «ЕСЛИ код 1 И код 2,
ТО код 3» означает «Если сегменту документа присвоен код 1 и код 2, то ему присвоен и код
3». Инструмент для проверки гипотезы найдет и выдаст исследователю список документов,
удовлетворяющих заданному правилу. Кроме того, гипотезу можно построить таким
способом, чтобы создать дополнительные «тематические» коды (Theme code). Например,
гипотеза «ЕСЛИ код 1 И код 2, ТО ПРИСВОИТЬ код 3» каждому сегменту, которым
присвоены коды 1 и 2, присвоит и код 3.
Несомненно, последняя возможность отличает HyperRESEARCH от представленных
nVivo и ATLAS.ti, так как предоставляет хоть какой-то инструмент для формирования гипотез,
однако гипотезы формируются вручную и как справедливо отмечено в [52, С.9], «… критериев
принятия гипотез авторы не предлагают».
Проект Qualrus (http://www.qualrus.com) позиционирует себя как программа для
качественного анализа данных, которая использует «интеллектуальные вычислительные
стратегии» (intelligent computational strategies) [53], например, машинное обучение и обработка
естественного языка.
Форматы данных, которые может обрабатывать Qualrus, включает текст (в том числе и
веб-страницы), графику, аудио и видео. При кодировании исследователь может указывать
связи между кодами, а также дополнительную информацию: назначать кодам синонимы и
атрибуты со значением (например, в качестве атрибута кода «пол» указывается значение
«мужской» или «женский»).
Примером
«интеллектуальной»
стратегии
кодирования
является
«наводящее»
(suggestive) кодирование. При выделении сегмента для кодирования приложение может
предложить коды, основываясь на обработке естественного языка, а также указанной ранее
дополнительной информации кодов (встроенная экспертная система выводит код из других
кодов). Кроме того, программа также учитывает, какие из предложенных ею ранее кодов
исследователь выбрал, а какие нет. Таким образом, процесс кодирования в ходе работы над
проектом основывается также и на стратегиях машинного обучения, и предлагаемые
программой коды со временем отражают специфику кодируемых источников (документов).
Такое интеллектуальное кодирование является главной отличительной чертой приложения
Qualrus от других подобных программных продуктов и заметно облегчает работу
исследователя.
185
Другими важными характеристиками программы являются возможность добавления
конкретному коду, документу или его сегменту примечания (памятки); возможность
определения связей между кодами (например, “is a” («является»), “excludes” («исключает»),
“causes” («является причиной») и др.) и отображения указанных связей в виде семантических
сетей; наличие пакета для вычисления статистической информации о кодах такой, как,
например, частота встречаемости указанных исследователем кодов в определенном сегменте;
наличие пакета для выполнения поисковых запросов разной сложности, пакета для ручной
кластеризации сегментов, требующих кодирования (эта функциональность была предложена
американским социологом Говардом Беккерером) и инструмента для проверки гипотез
исследователя, аналогичного представленному выше инструменту для проверки гипотез в
программе HyperRESEARCH; автоматическая генерация отчетов по заданным критериям;
возможность
расширения
программы
(пользователь,
обладающий
навыками
программирования, может сам дописывать модули программы на специальном скриптовом
языке); возможность вести коллективный проект.
К сожалению, представленные программные средства, хотя и относятся к инструментам
качественного анализа данных, по сути представляют лишь обработку документов, а не
анализа данных. «… эти пакеты лишь в слабой степени обладают функцией порождения
нового знания, в основном помогая реализовать стандартные процедуры обработки
качественных данных более аккуратно, эффективно и надежно и тем самым повышая
обоснованность заключений» [54, С.2].
На текущий момент зарубежные программы, которые социологи используют в своих
исследованиях
и
которые
предоставляют
формализованный
качественный
анализ
социологических данных, опираются на метод QCA, впервые предложенный американским
социологом Чарльзом Рейджином в 1987 году. Подробное описание метода можно найти в
работах [35], [55]. Сравнение QCA и ДСМ-метода АПГ представлено в работах М.А.
Михеенковой [52], [54], а также А.В. Кученковой [56], [57].
Здесь же отметим, что QCA, как и ДСМ-метод, является логико-комбинаторным
методом, основан на установлении сходств между изучаемыми объектами (это подразумевает,
что данные должны быть структурированы), предназначен «для исследования малых и
средних массивов данных (от 5 до ~100 случаев)» [52, С.14], учитывает случаи присутствия и
отсутствия
изучаемого
явления,
служит
для
обнаружения
причинно-следственных
зависимостей в данных, обычно неочевидных для исследователя. Он может использовать
алгебру двузначной логики (csQCA), многозначной логики
множеств (fsQCA).
186
(mvQCA) и алгебру нечетких
csQCA подразумевает, что каждая переменная исследования может принимать два
значения: 1 (истина) или 0 (ложь).
mvQCA является многозначным расширением csQCA, где каждая переменная
исследования может принимать больше двух значений.
fsQCA позволяет проводить анализ переменных с интервальной шкалой значений.
К распространенным программным приложениям, которые опираются на QCA, относят
fs/QCA, Kirq, Tosmana, R QCA, R QCA3 и Stata fuzzy. Наиболее популярные из них – это
fs/QCA и Tosmana. Программы же R QCA, R QCA3 и Stata fuzzy лишены графического
интерфейса, для их использования требуется знание встроенных команд и функций.
Программа fs/QCA (www.fsqca.com) разрабатывалась с 1992 года (ранее программа
называлась QCA 3.0), над ней работал и сам Ч. Рейджин. Программа имеет графический
интерфейс пользователя и работает под операционной системой Windows. Для пользователя
доступен анализ с использованием csQCA (а также tQCA – QCA для моделирования
последовательности событий) и fsQCA.
Графический интерфейс позволяет загружать и редактировать данные, генерировать
отчеты о полученных результатах, печатать отчеты, строить гистограммы для данных с
дихотомическими значениями, строить гистограммы и графики для данных с интервальными
значениями, выводить в виде таблиц различную статистическую информация о данных. Все
диаграммы и графики, которые строит программа, можно сохранить и распечатать на
принтере.
Доступна обработка данных форматов *.csv (каждая строка файла – объект, столбцы
разделены «;»), *txt (каждая строка файла – объект, столбцы разделены пробелом), *dat (файлы
этого формата генерирует программа SPSS или аналогичные пакеты для статистической
обработки данных). Также возможно создание таблиц с данными в интерфейсе программы.
Если пользователь хочет провести анализ характеристик, для измерения которых
использовалась интервальная шкала, то он должен определить значения переменных, которые
соответствуют трем пороговым значениям, определяющим структуру нечеткого множества:
порог для полной принадлежности элемента множеству (соответствующее значение
характеристической функции равно 0,95), порог для непринадлежности элемента множеству
(соответствующее значение характеристической функции равно 0,05), а также точку перехода,
или точку неопределённости (соответствующее значение характеристической функции равно
0,5). Значения исходных данных – это область определения, а область значений представляет
единичный интервал [0,1].
Программа Tosmana (http://www.tosmana.net) была разработана Л. Кронквистом [58].
Для пользователя доступен анализ с использованием csQCA и mvQCA.
187
Tosmana также, как и fs/QCA , реализует классическую Булеву алгебру, но также
стремится решить одно из главных ограничений QCA – ограничение значений переменных
булевскими значениями 0 (ложь) и 1 (истина). Tosmana позволяет работать с многозначными
переменными, причем исследуемое свойство также может принимать больше двух значений.
Графический интерфейс программы позволяет создавать, загружать и редактировать
данные. Доступен импорт данных форматов *.csv и *dat. Данные в программе можно
сохранять как в форматах *.csv и *dat, так и в специальном расширении*.tosmana (это XML
файлы со специально разработанной схемой).
Для проведения анализа данных с интервальными значениями пользователь должен
определить необходимые пороговые значения (для трансформации исходных данных в
значения, подходящие для mvQCA анализа) вручную или используя специальный
интерактивный инструмент Thresholdssetter, который отображает распределение исходных
значений переменной на графике.
Tosmana генерирует отчеты о полученных результатах, которые можно вывести в окне
программы или веб-браузере Internet Explorer. Данные отчета можно скопировать в любое
текстовый редактор.
Для двумерных данных доступно построение сложных диаграмм Венна, которые
отображают классификацию объектов в соответствии с изучаемыми характеристиками и
целевым свойством, полученную в результате работы алгоритма.
Дополнительная опция программы – это калькулятор выражений Булевой алгебры.
Калькулятор
очень
удобен
для
Для выполнения преобразований
вычисления
пересечения
или
разности
множеств.
логические выражения должны быть введены в
соответствующее текстовое поле по одному. Каждая подформула выражения вводится
отдельно, затем они соединяются логическими связками: логическим И, логическим ИЛИ.
Также подформуле может быть приписано логическое отрицание. В построении выражения
участвуют переменные, представляющие изучаемые характеристики. Пользователь должен
выбрать переменные и указать их булевскую оценку (0 или 1). Пример введенного выражения,
записанного в нотации программы, – "m{1}v{0}+i{0}". Здесь {1}, {0} – булевские оценки,
m, v, i – коды переменных, «+» – логическое ИЛИ, а для обозначения логического И
переменные записываются без пробела. Результатом вычисления будет таблица, в которой
представлены
записи
исходного
множества,
удовлетворяющие
условиям
формулы
логического выражения.
Очевидно, что система JSM-Socio отличается от рассмотренных выше программ прежде
всего логическим аппаратом, лежащим в основе анализа данных. Сравнить систему можно
лишь с пакетами, реализующими QCA. Главным недостатком QCA по сравнению с ДСМ188
методом является слабая формализованность подхода, что позволяет исследовать лишь
явления закрытого мира [54, С.8]. Также, как отмечено в [59, С.6], слабость метода QCA –
«нерешенность проблемы внутренней и внешней валидности (т.е. грамотного выделения
факторов, определяющих вариации интересующего исследователя признака, и возможности
экстраполяции результатов за рамки конкретного опыта)».
Важно, что ДСМ-система – это система с индуктивным обучением (основанном на
выявлении
причинно-следственных
закономерностей
в
эмпирических
данных).
Она
осуществляет анализ данных с помощью автоматизированных познавательных процедур
(эмпирической индукции, структурной аналогии и абдукции) с использованием баз фактов и
баз знаний; обеспечивает автоматическое порождение гипотез о причинах и предсказаниях;
реализует процедуры объяснения исходного состояния баз фактов и принятия на этом
основании порожденных гипотез. Таким образом, система типа ДСМ – это система
интеллектуального анализа данных [2]. QCA не обладает подобными возможностями.
Таким образом, когнитивные способности QCA недостаточны для проведения
исследования
и
получения
окончательных
результатов.
На
примере
практического
исследования в работе А.В. Кученковой показано, что результаты применения QCA требуют
уточнения, и для этого был использован ДСМ-метод [57, С. 21].
Впервые
архитектура
интеллектуальной
ДСМ-системы,
реализующей
ДСМ-
рассуждение для анализа социологических данных, была разработана М.А. Михеенковой [30].
Также в работе были предложены средства формализованного описания языка представления
психологических и социологических данных (полученных методами формализованного
интервью) с последующим синтезом отношения "субъект=>поведение" для задачи изучения
солидарного поведения; сделаны необходимые модификации ДСМ-метода для анализа
социологических данных и сформулированы ДСМ-правила, адекватные выбранной модели;
проведены
эксперименты,
подтвердившие
применимость
предлагаемого
подхода.
Программная реализация разработанной ДСМ-системы была осуществлена в работах
С.С. Московского [31] и Д.В. Панкратова [32].
Одна из труднейших проблем в социологии – установить связь между социальными
установками и поведением индивидуума. С помощью ДСМ-метода отношение «субъект =>
поведение» анализировалось на примере частного случая социального поведения, а именно
поведение рабочих на примере участия или неучастия в забастовках [28, 31]. Данные были
получены в результате исследования рабочих двух предприятий: «Арсенал» в СанктПетербурге и завода тракторных гидроагрегатов в городе Ельце Липецкой области. Каждый
субъект (индивидуум) описывался тремя множествами дифференциальных признаков
(социальные характеристики субъекта, индивидуальные особенности и биографические
189
данные), а поведение субъекта – множеством поведенческих готовностей (или поведенческих
актов). Исходные данные представлялись в виде матриц: матрицы описания субъектов и
матрицы описания отношения «обладает множеством свойств» (в данном случае в качестве
свойств выступают поведенческие готовности). В ходе эксперимента применялся механизм
прямого обнаружения сходства. Важными результатами были разделение массива признаков в
соответствии с четырьмя типами коллективного поведения («активисты», «забастовщики»,
«подражатели»
и
«оппоненты»)
и
формирование
генерализаций
–
совокупностей
непротиворечивых признаков. С помощью генерализаций удалось выделить совокупности
признаков некоторых социальных типов, названных «метафорами» («обиженный бедняк»,
«крепостной директора» и др.).
Программа С.С. Московского позволила провести эксперименты с помощью прямого
ДСМ-метода для исследования отношений «субъект => поведенческие готовности»,
«<субъект, установки> => поведение», «<субъект, поведение> => установки». Программа
была реализована в виде консольного приложения, без каких-либо элементов графического
интерфейса.
В работе Д.В. Панкратова был создана ДСМ-система, которая предоставляет Решатель,
не зависящий от конкретной предметной области (один и тот же Решатель использовался для
анализа химических и социологических данных); реализованы прямой и обратный ДСМметод; для выбора стратегии доступны процедуры простого метода сходства и запрета на
контрпримеры; создан модуль «Интерпретатор языка для записи социологических правил»,
который применяет правила сворачивания признаков к данным, хранящимся в формате
программы SPSS, и сохраняет результат в файл с расширением .dat, подходящий для
обработки ДСМ-системой; разработан аппарат логик А4 и А6; предложены средства для
кластеризации гипотез (с помощью диаграммы Хассе); создан удобный пользовательский
интерфейс для проведения экспериментов, визуализации исходных данных и порождаемых
гипотез. Система могла обрабатывать только текстовые файлы.
Целью диссертационного исследования Ж.И. Бурковской являлось создание ДСМсистемы, которая могла бы стать полноценным автоматизированным рабочим местом
эксперта-социолога.
Д.В. Панкратовым.
В
Была
систему
создана
был
интегрирован
ДСМ-система
с
Решатель,
многоуровневой
разработанный
клиент-серверной
архитектурой; программно реализованы различные инструменты формирования исходной
базы фактов; разработан новый подход к проведению закрытых опросов общественного
мнения (формирование мнений с помощью аргументационного оценивания); разработан
модуль изучения рациональности мнений.
190
В работе Т.Л. Феофановой была создана обучающая ДСМ-система на языке Prolog,
позволяющая ознакомить эксперта-социолога (равно как и студента) с работой самого метода.
В основу обучающего механизма системы был положен принцип трассировки (пошаговое
выполнение алгоритмов с возможностью остановки и просмотра текущих результатов на
любом шаге). Реализованы различные типы сходства (соответствующие различным шкалам).
Входные данные имеют расширения .txt или .dat (полученные с помощью пакета SPSS или MS
Excel). Пользователю доступны различные настройки ДСМ-метода: выбор стратегии (простой,
несимметричной, обобщенной), направления анализа (прямой или обратный метод),
использование итераций, ограничение по числу примеров, используемых при порождении
гипотез. Все результаты обработки исходных данных проекта фиксируются в XML-файл,
который затем трансформируется в лог-файл в формате HTML, присоединенный к проекту.
Система предоставляет интуитивный и удобный графический интерфейс пользователя.
ДСМ-система данного исследования JSM-Socio была создана с использованием новых
технологий в программировании для распространенных сейчас версий операционной системы
MS Windows (NT, 7, 8). Если сравнивать JSM-Socio с другими ДСМ-системами, то, в первую
очередь, необходимо отметить простоту установки системы, возможность разбиения
изучаемых признаков на группы (описание респондента, мнение, ситуация, эффект),
возможность анализа таких многокомпонентных данных с применением фильтров для
признаков и использованием стратегий прямого/обратного ДСМ-метода и ситуационного
расширения
метода,
результата.
Система
многофункциональный
интерфейс
является
типа
первой
ИС
ДСМ
для
для
просмотра
полученного
качественного
анализа
социологических данных, которая получила государственное авторское свидетельство. JSMSocio имеет развитый Решатель задач с четырьмя индуктивными методами (простой метод
сходства, метод различия, метод сходства-различия и метод остатков) и позволяет эксперту
автономно использовать все его возможности для практических исследований.
5.2 Описание возможностей ДСМ-системы JSM-Socio
Описание системы JSM-Socio было ранее представлено в [38], [49]. Подробное
руководство пользователю по работе с системой приведено в Приложении В.
Система предназначена для решения следующих задач:
1.
качественный анализ анкет социологического опроса с использованием стратегий
ДСМ-метода АПГ:
191

извлечение причинно-следственных зависимостей, содержащихся в данных;

порождение гипотез с представлением описания субъекта, его мнения и ситуации;

прогнозирование значения изучаемого эффекта;

оценка полученных гипотез посредством процедуры объяснения исходного множества
фактов;
2.
представление данных опроса в форме, удобной для исследования.
Система включает следующие функциональные возможности:
Предобработка данных: перекодировка данных, перевод в другой формат (из файлов
Statistical Package for the Social Sciences (SPSS) формата .sav в формат Microsoft Office Excel).
Возможность классификации признаков, описывающих респондента, экспертом:
 признаки, соответствующие описанию объекта,
 признаки, описывающие мнение,
 признаки, описывающие ситуацию.
Выделение эффекта из списка изучаемых признаков и автоматическое разделение
респондентов на группы в соответствии с его значением.
Введение дополнительных ограничений на данные в виде фильтров (выборка признаков,
которые требуется исследовать).
Выбор используемой стратегии анализа данных.
Реализация процедур ДСМ-метода АПГ: простой метод сходства, запрет на (±)контрпример;
атомарная/неатомарная,
прямая/обратная
версии;
простой
ДСМ-метод
/ситуационный ДСМ-метод АПГ.
Выдача результата, который представляет собой гипотезы, полученные различными
стратегиями, и прогнозирование значения изучаемого эффекта у респондентов, для которых
это значение изначально не определено.
Представление полученных результатов: представление данных респондентов и гипотез,
удобное для анализа экспертом (таблица / «дерево»).
Система состоит из 4 функциональных модулей: модуль предобработки данных,
интерфейс пользователя подготовки данных для эксперимента, ДСМ-Решатель и интерфейс
пользователя для просмотра полученных результатов.
Социолог-эксперт регистрирует полученные в результате опроса данные, используя
программу Statistical Package for the Social Sciences (SPSS), в файле формата .sav.
192
Графический интерфейс пользователя подготовки данных для эксперимента позволяет
загрузить файл формата .sav и вызвать модуль предобработки данных.
Модуль предобработки данных переводит файл формата .sav в файл формата Microsoft
Office Excel, который содержит все необходимые поля для хранения информации о параметрах
эксперимента.
Модуль, реализующий обработку входных данных, создан на языке программирования
C++ с использованием интерфейса для доступа и манипулирования внешними данными ADO
и языка запросов SQL.
Для извлечения данных из файлов формата .sav используется библиотека, бесплатно
поставляемая на сайте продукта Statistical Package for the Social Sciences (SPSS Statistics InputOutput Module).
Модуль, реализующий стратегии ДСМ-метода АПГ, был выделен из представленной в
главах 1-4 универсальной ДСМ-системы. На его основе было создано консольное приложение,
которое вызывается из Web-интерфейса.
Приложения для настройки параметров эксперимента и представления полученных
результатов созданы с использованием Web-технологий (HTML, CSS, язык программирования
JavaScript), а также технологии для доступа и манипулирования внешними данными ADO и
языка запросов SQL.
При работе в интерфейсе для просмотра полученных результатов пользователь должен
указать путь к файлу с исходными данными (файл в формате *.xls) и путь к файлу с
гипотезами (файл в формате *.txt), выбрать необходимые опции, затем нажать кнопку загрузки
данных и подождать, пока данные будут обработаны для отображения. Особенности
интерфейса включают следующее.
1. Отображение признаков с разделением на

описание объекта,

мнение,

ситуация,

эффект
с цветовым выделением соответствующих компонент.
2. Построение таблиц респондентов и гипотез с цветовым выделением столбцов в
зависимости от признака (см. предыдущий пункт).
3. Возможность просмотра развёрнутого описания «родителя» каждой гипотезы (Рисунок
44). Родители гипотезы – это примеры (в данном случае респонденты), общие
характеристики которых образуют тело гипотезы.
193
Рисунок 44 - Отображение гипотез и их родителей.
4. Построение общей таблицы родителей с выделением признаков, образующих гипотезу
(Рисунок 45):
Рисунок 45 - Таблица родителей гипотезы
5. При выборе опции «Визуализация ядерных признаков (фильтров)» – выделение
признаков, определенных в конъюнктивные и дизъюнктивные фильтры, в интерфейсе
(отображение соответствующей фильтру картинки рядом с признаком, Рисунок 46):
194
Рисунок 46 - Выделение фильтров в интерфейсе
При выборе опции «Визуализация гипотез по "кустовому" принципу» – построение гипотез
в виде дерева, а при нажатии соответствующей кнопки – построение таблицы с телом
гипотезы (Рисунок 47):
Рисунок 47 - Визуализация гипотезы
Дерево гипотез строится рекурсивно. Так как в модуле ДСМ-Решателя гипотезы были
отсортированы по количеству родителей в убывающем порядке, в корневых вершинах стоят
гипотезы с наибольшим количеством родителей. Алгоритм построения дерева включает
следующие шаги.
6.1. Входной параметр – массив гипотез одного знака. У каждой гипотезы есть массив
номеров родительских гипотез, массив номеров родителей-примеров, а также свойство
bush_participate, – переменная, которая может принимать два значения (true или false). Если
bush_participate равняется true, то гипотеза уже вошла в дерево, иначе – false. Организуем цикл
по гипотезам.
195
6.2. Рассматриваем i-ю гипотезу. Если гипотез больше нет, то построение данной ветви
куста закончено.
6.3. Проверяем свойство bush_participate. Если оно равняется true, то переходим к шагу 6.2,
иначе – к следующему шагу.
6.4. Если массив номеров родительских гипотез пуст, то строим только элементы,
изображающие гипотезу и родителей-примеров. Присваиваем свойству bush_participate
значение true. Переходим к шагу 6.2.
6.5. Если массив номеров родительских гипотез не пуст, вызываем процедуру построения
родительских гипотез. Она включает в себя шаги 6.2 – 6.5 с поправкой, что на шаге 6.2 берется
гипотеза, номер которой содержится в массиве номеров родительских гипотез. Таким образом,
образуется рекурсия.
При выборе опции «Вывод значений признаков их текстовыми аналогами» – построение
таблицы с телом гипотезы, где будет указан текст для соответствующего числового значения
(Рисунок 48, Рисунок 49):
Рисунок 48 - Визуализация тела гипотезы числовыми значениями
Рисунок 49 - Визуализация тела гипотезы текстовыми значениями
При выборе опции «Скрывать в дереве гипотез признаки предыдущего уровня»
пользователь получает возможность при просмотре гипотез внутри одной ветви дерева
убирать признаки с предыдущих уровней. Это позволяет моментально определять, какие
признаки характеризуют гипотезу с меньшим количеством родителей (Рисунок 50, Рисунок
51):
196
Рисунок 50 - Визуализация тела гипотезы без признаков, входящих в дочерние гипотезы
Рисунок 51 - Визуализация тела гипотезы с признаками, входящими в дочерние
гипотезы
Окончательная версия интерфейса для просмотра результатов была создана после
обработки данных различными методами, и новые функциональные возможности были
добавлены для удобства исследования и оценки результатов. Прежде всего, речь идет о таких
опциях, как изображение гипотез в виде дерева, возможность менять представление тела
гипотезы (числовое значение/текст, показывать/скрывать признаки в дереве с предыдущего
уровня) во время работы с программой.
Визуализация результатов в системе по «кустовому» принципу обеспечивает
существенное облегчение работы социолога для типологизации на основе выявленных
детерминант (причинных комбинаций). «Ядро» куста образуют максимальные пересечения
описаний
респондентов (как
правило
–
несколько характеристик). Соответственно,
дополнительные к «ядерным» «периферийные» признаки возникают при пересечении
подмножеств респондентов, входящих в максимальное пересечение. Это даёт возможность
охарактеризовать нюансы позиции субъектов, относящихся к одному и тому же типу
поведения, т.е. предложить уточнение типологизации. При этом ДСМ-метод позволяет учесть
в анализе и прогнозе разные уровни детерминаций (ситуационный, установочный,
ценностный, нормативный) и оценить вклад каждого уровня в изучаемое поведение.
197
5.3 Применение ДСМ-системы JSM-Socio на практике
Разработка описываемых программных средств позволила применить систему JSMSocio для исследования
данных конкретных социологических задач таких, как анализ
трудовых отношений на российских предприятиях и сравнение стран по уровню одобрения
населением протестного поведения.
В ходе исследования в рамках проекта 10–06–00033 «Методология и методы
ситуационного анализа на предприятии» 3 Самарским Государственным Университетом и
Институтом Социологии РАН был проведен социологический опрос работников самарских
предприятий. Полученные данные были переданы для компьютерного анализа, в процессе
которого применялся и ДСМ-метод АПГ. Опрос готовился для последующей статистической
обработки, поэтому для анализа данных с помощью ДСМ-рассуждений потребовалась
значительная предобработка данных (пересмотр списка вопросов анкеты; выборка вопросов,
подходящих для проведения экспериментов; кодировка ответов на некоторые вопросы и
проч.). Исследовательская задача и полученные результаты подробно описаны в [59, 60].
«Содержательно задача формулировалась как выяснение вопросов: кто, какие работники и в
какой ситуации готовы отстаивать свои трудовые права и кто, в какой ситуации решает
отказаться от их защиты» [59, С. 6]. Для изучаемых проблем характерна заметная зависимость
от
внешних
обстоятельств.
К
ним
относятся
характеристики
безличной
ситуации
(местоположение предприятия, ситуация на рынках сбыта), институциональные условия
(внешние по отношению к предприятию законы и правила), контекстный характер многих
важных признаков, определяющих поведение (например, оценки достаточности заработка) и
т.д. Таким образом, стала очевидной необходимость анализа данных с помощью
ситуационного расширения ДСМ-метода.
Богатая параметризация признаков (описание субъекта, его мнение, ситуация, эффект
поведения) в JSM-Socio, которая отсутствует в других ДСМ-системах, дала возможность
экспертам изучить влияние различных групп характеристик на разные эффекты поведения
субъекта.
Эмпирической базой явились материалы исследования на двух предприятиях (2011 г.,
Самара).
Помимо
содержательных
соображений,
неприменимость
традиционных
статистических процедур обусловлена практическими трудностями. Предприятия, на которых
проводилось исследование, были недостаточно велики для того, чтобы можно было опросить
Проект финансировался Российским фондом фундаментальных исследований. Руководитель проекта – С. Г.
Климова. Участники проекта: Н.В. Авдошина, В.Ю. Бочаров, И.А. Климов, М.А. Михееенкова, Б.Г. Тукумцев,
В.К. Финн, В.А. Ядов.
3
198
необходимое для традиционного статистического анализа число работников, и тем более для
того, чтобы сформировать частные группировки по подразделениям или другим значимым для
исследования признакам.
Исходная база фактов включала описания 202 респондентов. Каждый респондент был
определен набором признаков. Все признаки были разделены на группы: описание объекта,
мнение, ситуация, эффекты поведения. В качестве исследуемых эффектов рассматривались
различные аспекты трудовых отношений (нумерация соответствует вопросам анкеты в
исходном массиве данных):

Y62. Если в будущем ваши трудовые права окажутся нарушенными, Вы будете
или не будете добиваться справедливости?

Y68. Потенциальная текучесть (комплексная характеристика).

Y69. Приверженность к работе (комплексная характеристика).

Y90. Стабильность-лояльность (комплексная характеристика).

F7. Удовлетворены ли Вы в целом своей нынешней работой?
Компьютерное исследование включало в себя следующие этапы:

препроцессинг, предобработка данных: перекодировка данных, перевод в другой
формат (из файлов SPSS формата *.sav в формат *.xls);

деление признаков, описывающих респондента, на группы:
признаки, соответствующие описанию объекта,
признаки, описывающие мнение,
признаки, описывающие ситуацию;

выделение
целевого
признака
(эффекта)
и
автоматическое
разделение
респондентов на (+)-, (–)-, (0)- и ()-примеры;

реализация стратегий ДСМ-метода АПГ: простой метод сходства, запрет на (±)
контрпримеры; атомарная/неатомарная, прямая/обратная версии; простой ДСМметод (исходный предикат вида X1Y)/ситуационный ДСМ-метод (исходный
предикат Р(X, Y, S)) (соответствующие предикаты были определены в первой
главе);

выделение ядерных и периферийных признаков. В ИС-ДСМ – применение
фильтров (выделение конъюнктивных признаков, обязательно присутствующих в
гипотезе, и дизъюнктивных признаков, из которых в гипотезе должен
присутствовать хотя бы один признак);

порождение гипотез различными ДСМ-стратегиями.
199

просмотр и экспертный анализ полученных результатов с помощью специально
созданного предметно-ориентированного интерфейса.
В соответствии с общими представлениями об архитектуре ИС-ДСМ созданный
программный инструмент для ФКАСД включает модуль представления данных, модуль
чтения/записи данных/результатов, ДСМ-Решатель, реализующий стратегии ДСМ-метода
АПГ, и приложение-интерфейс, созданный с учётом требований эксперта-социолога, для
просмотра полученных результатов.
Результаты исследования были представлены С.Г. Климовой на Всероссийском
социологическом конгрессе [60] и вызвали большой интерес. Анализ результатов, полученных
с помощью ДСМ-системы, помог экспертам решить три задачи:
1) обнаружить внутреннюю структуру данных, дать ответ на вопрос «Что определяет
общую удовлетворенность трудом, и что – неудовлетворенность?»;
2) провести сравнение и типологизацию респондентов по ядерным сочетаниям
признаков, определяющих удовлетворенность (неудовлетворенность) работой;
3) обнаружить сочетания признаков (частных удовлетворенностей) и объективных
характеристик
(описывающих
респондента
и
ситуацию),
детерминирующих
общую
удовлетворенность (неудовлетворенность) работой.
В рамках решения первой задачи удалось определить ядерные (основные, разделяемые
сравнительно большим числом людей) и периферийные (дополнительные) сочетания
признаков, образующих мотивационные комплексы, определяющие удовлетворенность
(неудовлетворенность) работников предприятий их трудовой деятельностью. Было выявлено,
что в большинстве сочетаний признаков, характеризующих неудовлетворенность работой,
присутствует неудовлетворенность заработком, а также что эти признаки могут встречаться
вместе с неудовлетворенностью большинством наиболее значимых обстоятельств трудовой
ситуации. В сочетаниях признаков, характеризующих удовлетворенность работой, часто
присутствуют хорошие отношения с непосредственным руководителем.
Важно, что сочетания признаков, характеризующих удовлетворенность трудовой
деятельностью, не повторялись, что и позволило провести типологизацию работников.
Например,
удалось
сформировать
два
результирующих
типологических
признака,
описывающих готовность либо неготовность добиваться справедливости в случае нарушения
трудовых прав: 1 – не будут добиваться справедливости; 2 – будут добиваться справедливости.
К первому типологическому признаку были отнесены рабочие, метафорически названные
«пассивные бедняки» и «довольные работой», ко второму –
«отчаявшиеся бедняки»,
«ориентированные на заработок» и «ориентированные на карьеру» [59, С.9-11].
200
Другой задачей, в которой применялась система JSM-Socio, стало сравнение стран по
уровню одобрения населением протестного поведения. В рамках диссертационного
исследования А.В. Кученковой [56] при изучении протестного поведения одним из
используемых
логико-комбинаторных
методов
стал
ДСМ-метод
АПГ.
В
качестве
эмпирической базы был взяты данные исследования 2006 года «Роль правительства в
государстве», проведенного в рамках Международной программы социальных исследований.
При анализе использовались лишь базовые возможности ИС: представление данных включало
только одну компоненту (характеристики стран, соответствующие описанию объекта), был
исследован один эффект, в БФ не было примеров для доопределения, были проведены
эксперименты прямым атомарным ДСМ-методом с запретом на контрпримеры.
Эксперименты проводились в январе 2012 года с двумя выборками данных по 32
странам. Объект представлял собой страну, описанную рядом характеристик – детерминант
протестного поведения. (+)-примеры – это страны с высоким уровнем одобрения права на
акции политического протеста, (–)-примеры – с низким. В первой базе для каждой страны
было определено 5 детерминант (показатели, определяющие специфику политической
культуры в стране [57]), во второй – 59.
А.В. Кученковой были переданы обработанные данные, а также одна из первых версий
программы для просмотра полученных результатов. Эксперту удалось проанализировать
порожденные системой гипотезы о причинах, выявить разбиение стран на классы
(«типологические синдромы»») и выделить «типы» стран отдельно для стран с высоким и
отдельно для стран с низким уровнем одобрения права на протестное поведение.
5.4 Средства предсказания изучаемых эффектов ДСМ-системы JSM-Socio
Как было не раз отмечено, ДСМ-Решатель ИС реализует правдоподобные выводы с
помощью синтеза трех познавательных процедур: индукции, аналогии, абдукции. Индукция
порождает гипотезы о причинах, аналогия – гипотезы о предсказаниях. Абдукция объясняет
исходные примеры БФ с помощью порожденных гипотез о причинах.
Корректная работа с программой JSM-Socio требует четкого понимания круга задач,
которые может решать ИС-ДСМ. Предсказание значения изучаемого эффекта – это одна из
основных целей работы ДСМ-рассуждений. Таким образом, одна из важных задач системы
JSM-Socio – это возможность с помощью процедуры аналогии предсказывать поведение
201
респондента, что предполагает прогнозирование значения изучаемого эффекта для тех
респондентов, для которых это значение изначально не задано. На рассмотренном
практическом материале эксперты не рассматривали эту задачу, однако будем надеяться, что
в будущем такая необходимость возникнет.
Рассмотрим пример предсказания значения изучаемого эффекта.
Для эксперимента был взят массив респондентов, полученный в результате опроса
работников двух самарских предприятий. Изучаемый эффект – «Стабильность-лояльность
(комплексная
характеристика):
готовность
оставаться
работать
на
предприятии
и
включенность в дела предприятия». (+)-примеры – это респонденты, у которых значения этого
признака равно
«Стабильные патриоты (стабильные и лояльные)»; (–)-примеры –
«Нестабильные патриоты (лояльные, но не стабильные)», «Стабильные не патриоты (не
лояльные, но стабильные)», «Нестабильные не патриоты (не лояльные и не стабильные)»; (0)примеры – «Противоречивые позиции». Всего в массиве 202 респондента, из них 13 (+)примеров, 24 (–)-примера, 159 (0)-примеров и 6 (τ)-примеров. Такое соотношение (+)- и (–)примеров приемлемо, потому что в данном случае значение эффекта для (–)-примеров не
симметрично значению эффекту для (+)-примеров. Эксперт хотел узнать, чем «стабильные и
лояльные» работники отличаются от работников других групп.
Представление примера имело следующую структуру: <X, S, >1Y. X – признаки,
которые эксперт отнес к описанию респондента, S – ситуации (контекст поведения),  мнению субъекта. При этом требование к порождаемым гипотезам было обязательное
присутствие параметра ситуации.
В качестве стратегии был выбран прямой ДСМ-метод с запретами на контрпримеры:
(+)-предикат – простое сходство с запретом на контрпримеры, (–)-предикат – простое сходство
с запретом на контрпримеры.
Эксперт предложил, чтобы (0)-примеры учитывались только как контрпримеры,
поэтому сходства на (0)-примерах не рассматривались. В результате ДСМ-рассуждений было
порождено 290 (+)-гипотез и 773 (–)-гипотез. Степени каузальной полноты для (+)- и (–)примеров оказались равными 1, что говорит о том, что все исходные (+)- и (–)-примеры из БФ
объяснены порожденными гипотезами о причинах. Кроме того, удалось доопределить один
(τ)-пример. Ответы респондента представлены в таблице: Таблица 52.
Таблица 52 – Ответы респондента, для которого значение признака «Стабильностьлояльность (комплексная характеристика)» не задано ((τ)-пример)
Параметр
Значение
x1. К какой категории работников Вы относитесь?
К специалистам (ИТР) 1
202
x2. Как долго Вы работаете на этом предприятии?
x3. Каким образом Вы получили специальность, по которой
работаете на своем нынешнем рабочем месте (где Вы учились в
последний раз?)
x34. Какое из приведенных ниже высказываний лучше подходит для
характеристики Вашего материального положения?
x35. Как изменилось материальное положение Вашей семьи (или
Ваше, если Вы живете один/одна) в этом году по сравнению с
прошлым годом?
x43. Приходилось ли Вам самостоятельно на своем рабочем месте
что-то менять, чтобы облегчить Вашу работу или ускорили ее
выполнение?
x45. А Вы лично подавали в последние два года свои
рационализаторские предложения в администрацию предприятия?
x49. Высказывали ли Вы в последнее время на собрании Вашего
структурного подразделения или предприятия какие-либо
предложения по улучшению про
x51. Приходилось ли Вам в последние два года участвовать в какихлибо комиссиях по проверке структурных подразделений или в
обсуждении работы
x54. Знаете ли Вы, хотя бы в общих чертах, содержание
коллективного договора?
x65. Ваш возраст
x66. Ваш пол
x67. Ваше образование
категории
Более 10 лет
Высшее образование
Денег до зарплаты не
хватает, приходится занимать
Стало намного хуже
Трудно сказать
Нет, не подавали
Нет, не высказывал
Нет, не приходилось
Знаю в общих чертах
36-45 лет
Женский
Высшее и неоконченное
высшее
s28. Пользуетесь ли Вы лично теми благами, которые входят в
Пользуюсь, но не всем
состав социального пакета?
s53. Заключен ли у Вас на предприятии коллективный договор между
Да, заключен
работниками и администрацией на 2011 год?
s74. Предприятие
Предприятие 1
s76. Соотношение среднедушевого дохода респондента и личных
менее 0,3
доходов в Самаре в среднем
Не обеспеченный самым
s77. Самооценки уровня жизни семей работников
необходимым для жизни
s78. Соответствие заработной платы работника и средней зарплаты
от 0,3 до 0,5
по предприятиям обрабатывающих пр-в
s79. Соответствие реальной заработной платы работника и
среднемесячной заработной платы в соответствующем сегменте
от 0,5 до 0,8
производств
s80. Коэффициент желаемой заработной платы (в разах)
от 0,5 до 1
доход. Среднедушевой доход в ПМ
менее 1 ПМ
зарплата. Зарплата в ПМ
1-1,5 ПМ
стаж. Стаж работы
Более 3 лет
f22. Скажите, пожалуйста, та работа, которую Вы сейчас выполняете,
Соответствует
соответствует Вашему разряду (классу, категории)?
f26. Удовлетворены ли Вы социальным пакетом, который Вам
Пожалуй, не удовлетворен
предоставляет предприятие?
f27. Как Вы думаете, социальный пакет, предоставляемый
работникам вашего предприятия, лучше или хуже, чем на других
Трудно сказать
известных Вам предприятиях?
f32. Как Вы считаете, к какой категории, из перечисленных ниже,
Низкообеспеченная
относится Ваша семья по уровню материального положения?
f39. Известно ли Вам, какие основные задачи или проблемы должно
решить Ваше предприятие в ближайшее время, чтобы обеспечить
Да, известно
успешную работу?
203
f40. Если Вам известны эти задачи и проблемы, то имеет ли для Вас
Да, имеет значение
какое-то значение, будут они решены или нет?
Работу, которая хорошо
f42. Какую работу Вы предпочитаете?
освоена и не требует
дополнительного
f44. Известно ли Вам, что каждый работник может подать в
Да, известно
администрацию предприятия рационализаторское предложение
f48. Как, по Вашему мнению, относятся Ваши непосредственные
Трудно сказать
руководители к тем, кто подает рационализаторское предложение?
f58. Как Вы думаете, администрация соблюдает права работников
Считаю, что не всегда
предприятия в должной степени?
соблюдает
f60. Если было или были нарушения, Вы что-то предпринимали для
Да
того, чтобы добиться справедливости?
f61. Если предпринимали, то вы добились успеха?
Нет, не добился
f63_6. Если мои права будут нарушены ни к кому не обращусь, это
Да
бесполезно
f64_2. Если Ваши права будут нарушены, обратитесь ли Вы в суд
Да
f107. Удовлетворенность работой
Не удовлетворены работой
f126. Удовлетворенность социальным пакетом
Не удовлетворены
f155. Соблюдение коллективного договора
Соблюдается
f157. Знание прав
Не знают права
(τ)-пример был доопределен с помощью гипотезы, полученной на первом шаге ДСМрассуждений, количество ее родителей равно четырем. «Тело» гипотезы представлено в
таблице: Таблица 53. Вопросы x2, x45, x51, x67 относятся к описанию субъекта, f27, f42, f44 –
к мнению, «стаж» – к ситуации.
Таблица 53 - Гипотеза, доопределившая (τ)-пример на социологических данных
Параметр
Значение
x2. Как долго Вы работаете на этом предприятии?
x45. А Вы лично подавали в последние два года свои
рационализаторские предложения в администрацию
предприятия?
x51. Приходилось ли Вам в последние два года участвовать в
каких-либо комиссиях по проверке структурных подразделений
или в обсуждении работы
x67. Ваше образование
стаж. Стаж работы
f27. Как Вы думаете, социальный пакет, предоставляемый
работникам вашего предприятия, лучше или хуже, чем на других
известных Вам предприятиях?
Более 10 лет
Нет, не подавали
Нет, не приходилось
Высшее и неоконченное высшее
Более 3 лет
Трудно сказать
Работу, которая хорошо освоена и
не требует дополнительного
освоения и приспособления
f42. Какую работу Вы предпочитаете?
f44. Известно ли Вам, что каждый работник может подать в
Да, известно
администрацию предприятия рационализаторское предложение
204
В графическом интерфейсе (τ)-примеры представлены в списке (?)-респондентов. При
открытии соответствующего списка можно узнать, как были доопределены (τ)-примеры: «+» –
пример положительный, «-» – пример отрицательный, «0» – пример противоречивый, «?» –
пример доопределить не удалось. Можно посмотреть ответы респондента на вопросы, узнать,
на каком шаге пример был доопределен, построить таблицу гипотез, которые его
доопределили.
205
ЗАКЛЮЧЕНИЕ
В
диссертационном
исследовании
была
подробно
представлена
реализация
интеллектуальной системы типа ДСМ, обладающая гибкой архитектурой и большим набором
функциональных возможностей. Было разработано такое представление данных, которое
позволило применить систему для анализа данных различных предметных областей
(фармакологии, медицинской диагностики и социологии).
Впервые создан ДСМ-Решатель, который не только реализует Этап I ДСМрассуждений для различных версий ДСМ-метода АПГ (прямой/обратный ДСМ-метод,
ситуационное расширение ДСМ-метода) и базовые методы индуктивного вывода (метод
простого
сходства,
метод
поиска
единственности
причины/следствия,
запрет
на
контрпримеры), но и методы Д.С. Милля, отсутствующие в других системах: метод различия,
метод сходства-различия, метод остатков. ДСМ-Решатель предоставляет и вспомогательные
процедуры для автоматического отбора гипотез с требуемой структурой (конъюнктивные и
дизъюнктивные фильтры), для более глубокого анализа достоверности выбранной стратегии и
порожденных
гипотез
(процедура
«доопределение
по
одному»,
вычисление
непротиворечивости массивов гипотез) и для удобной визуализации гипотез, необходимой для
работы эксперта (построение дерева гипотез).
Созданная
универсальная
система
позволила
провести
эксперименты
на
фармакологических и медицинских данных различными стратегиями, что дало возможность
сравнить эти стратегии между собой. Анализ полученных результатов продемонстрировал
функциональные возможности Решателя, а также сильные стороны методов ДСМрассуждений, отсутствующих в других системах.
Необходимо отметить, что с помощью упрощенного метода сходства-различия и
усеченного метода остатков на онкологических данных было подтверждено наличие
корреляции между уровнем белка S100 и продолжительностью жизни больного меланомой.
Процедуры ДСМ-рассуждений являются мощным средством доказательной медицины, а
новые методы могут с успехом применяться для решения медицинских задач.
Гибкость архитектуры системы позволила создать спецификацию универсальной ДСМсистемы – независимую ИС-ДСМ для качественного анализа социологических данных JSMSocio, которая на текущий момент используется в Институте социологии РАН. JSM-Socio
имеет комплексное представление данных (разбиение признаков на описание субъекта,
мнение, ситуацию и эффекты), развитый Решатель задач, способный анализировать такие
данные с помощью впервые реализованных ДСМ-процедур, и удобный предметно206
ориентированный интерфейс пользователя. Таким образом, JSM-Socio является полноценной
интеллектуальной системой типа ДСМ и полезным практическим инструментом социологаэксперта. Программа получила свидетельство о государственной регистрации в Реестре
программ для ЭВМ (№ 2013614978, от 24 мая 2013 года).
Основные положения исследования были опубликованы в следующих статьях:
1) Волкова А.Ю. Алгоритмизация процедур ДСМ–метода автоматического порождения
гипотез // Научно-техническая информация. Сер. 2. – 2011 – № 5 – С. 6–12; Volkova
A. Yu. Algorithmization of Procedures of the JSM Method for Automatic Hypothesis
Generation // Automatic Documentation and Mathematical Linguistics, 2011, Vol. 45, No.
3, pp. 113–120.
2) Волкова А.Ю. Анализ данных различных предметных областей с помощью процедур
ДСМ–метода
автоматического
порождения
гипотез
//
Научно-техническая
информация. Сер. 2. – 2011. – № 6. – С. 9–18; Volkova A. Yu. Analyzing the Data of
Different Subject Fields Using the Procedures of the JSM Method for Automatic
Hypothesis Generation // Automatic Documentation and Mathematical Linguistics. –
2011. – Vol. 45. – No. 3. – pp. 127–139.
3) Волкова А.Ю., Шестерникова О.П. О создании интеллектуальных систем,
реализующих ДСМ–метод автоматического порождения гипотез, и результатах их
применения для анализа медицинских данных // Научно-техническая информация.
Сер. 2. – 2012. – № 5. – С. 10–15.
4) Михеенкова М.А., Волкова А.Ю. Спецификация интеллектуальной системы типа
ДСМ // Научно-техническая информация. Сер. 2. – 2013. –
№ 7. –
С. 5–19;
Mikheenkova M.A., Volkova A. Yu. Specification of the JSM Intelligent System //
Automatic Documentation and Mathematical Linguistics. – 2013. – Vol. 47. – No. 4. – pp.
135–150.
5) Волкова А.Ю. Опыт создания интеллектуальной ДСМ–системы для исследования
данных различных предметных областей // Научно-техническая информация. Сер. 2.
– 2013. – № 11. – С.12-26.
Разработанные программные средства являются весомым вкладом в развитие методов
искусственного интеллекта. Возможности созданных интеллектуальных систем типа ДСМ
могут быть дополнены любыми процедурами ДСМ-рассуждений. Кроме того, ограничения на
предметную область накладываются лишь в модулях представления, чтения и записи данных,
207
а также в интерфейсе просмотра результатов. Архитектура систем допускает расширение
функциональных возможностей и применение их в других предметных областях.
В диссертации разработаны архитектура, алгоритмические и программные средства
интеллектуальных систем, реализующих ДСМ-метод АПГ в сериях ИС для различных
предметных областей. Решатель этих ИС обладает новыми методами индуктивных выводов,
которые используются для различных стратегий анализа данных и предсказаний изучаемых
эффектов, представленных в базах фактов. Таким образом, в диссертации созданы основания
для
новых
применений
ДСМ-метода
АПГ
и
новых
интеллектуальных систем для интеллектуального анализа данных.
208
версий
соответствующих
Список литературы
1. Финн В.К. Об интеллектуальном анализе данных // Новости Искусственного
интеллекта. – 2004. – № 3. – С.3-18.
2. Арский Ю.М., Финн В.К. Принципы конструирования интеллектуальных систем //
Информационные технологии и вычислительные системы. – 2008. – № 4. – С.4-37.
3. Финн В.К. Эпистемологические основания ДСМ-метода автоматического порождения
гипотез. Часть I // Научно-техническая информация. Сер. 2. – 2013. – № 9. – С.1-29.
4. Поспелов Д.А. Интеллектуальные интерфейсы для ЭВМ новых поколений //
Электронная вычислительная техника. Сборник статей. – М.: Радио и связь, 1989. –
Вып.3. – С.4-20.
5. Финн В.К. Правдоподобные рассуждения в интеллектуальных системах типа ДСМ //
Итоги науки и техники, сер. Информатика. Т. 15 . – М.: ВИНИТИ, 1991. – С.54-101.
6. Финн В.К. Своевременные замечания о ДСМ-методе автоматического порождения
гипотез // Научно-техническая информация. Сер. 2. – 2009. – № 8. – С.15-26; Finn V.K.
Timely Notes about the JSM Method for Automatic Hypothesis Generation // Automatic
Documentation and Mathematical Linguistics. – 2009. – Vol. 43, № 5. – pр.257-269.
7. ДСМ-метод автоматического порождения гипотез: логические и эпистемологические
основания / под общ. ред. О. М. Аншакова. - М.: Книжный дом «Либроком», 2009. – 432
с.; гл. 4 переведена на англ. яз.: Finn V. K. The Synthesis of Cognitive Procedures and the
Problem of Induction // Automatic Documentation and Mathematical Linguistics. – 2009. –
Vol. 43, № 3. – pр.149-195.
8. Поппер К.Р. Объективное знание. Эволюционный подход. // Пер. с англ. Д. Г. Лахути.
Отв. ред. В. Н. Садовский. – М.: Эдиториал УРСС, 2002. – 384 с.
9. Автоматическое порождение гипотез в интеллектуальных системах / под общ. ред.
В. К. Финна. - М.: Книжный дом «Либроком», 2009. – 528 с.
10. Добрынин Д.А., Карпов В.Э. Моделирование некоторых форм адаптивного поведения
интеллектуальных роботов // Информационные технологии и вычислительные системы.
– 2006. – №2. – C.45-56
11. Волкова Т.А., Добрынин Д.А. Сравнение системы нечеткого вывода и обучаемой ДСМсистемы при планировании движения мобильного робота. // V-я Международная
научно-практическая конференция "Интегрированные модели и мягкие вычисления в
искусственном интеллекте" (28-30 мая 2009) Сб. научных трудов. В 2-т., М: Физматлит,
2009. – Т.1. – C.473-481.
209
12. Финн В.К. Искусственный интеллект: методология, применения, философия. - М.:
КРАСАНД, 2011. – 448 c.
13. Финн В.К. Индуктивные методы Д.С. Милля в системах искусственного интеллекта //
Часть I. Искусственный интеллект и принятие решений. – 2010. – № 3. – С. 3 – 21. Часть
II. Искусственный интеллект и принятие решений. – 2010. – № 4. – С. 14 – 40.
14. Гусакова
С.М.,
Михеенкова
М.А.,
Финн
В.К.
О
логических
средствах
автоматизированного анализа мнений // Научно-техническая информация. Сер. 2. –
2001. – № 5. – С. 4-24.
15. Финн В.К., Михеенкова М.А. О логических средствах концептуализации анализа мнений
// Научно-техническая информация. Сер. 2. – 2002. – № 6. – С. 4-22.
16. Финн
В.К.,
Ивашко
В.Г.
Экспертные
системы
и
некоторые
проблемы
их
интеллектуализации / в кн. Финн В.К. Интеллектуальные системы и общество. М.:
РГГУ, 2000. – С.58-90.
17. Кобринский Б.А. Ретроспективный анализ медицинских экспертных систем // Новости
искусственного интеллекта. – 2005. – № 2. – С.6-17.
18. Янковская А.Е., Казанцева Н.В., Муратова Е.А., Черногорюк Г.Э. Методология
формирования здоровьесохраняющих управленческих решений при коммуникативном
стрессе на основе интеллектуальной информационной системы ДИАКОР-КС //
Фундаментальные исследования: Материалы конференций. – 2007. – № 3. – С.100-103.
19. Китлер С. В., Янковская А. Е., Изюмов А. А., Пехтерев А. С., Силаева А. В. Основы
создания второй версии интеллектуальной системы ДИАПРОД, базируемой на
пороговой и нечеткой логике // Труды XVI Международной ЭМ-2012 конференции /
Под ред. Олега Воробьева. – Красноярск : СФУ, НИИППБ, 2012. – С.116-122.
20. A.N. Ramesh, C. Kambhampati, J.R.T. Monson, P. J. Drew. Artificial intelligence in medicine
// Annals of The Royal College of Surgeons of England. – 2004, September. – Vol.86. – No.5.
– pp.334–338.
21. Kahn CE Jr. Artificial Intelligence in Radiology: Decision Support Systems // RadioGraphics.
– 1994, July. – Vol.14. – No.4. – pp.849-861.
22. Wan Hussain Wan Ishak, Fadzilah Siraj. Artificial intelligence in medical application: an
exploration // Health Informatics Europe Journal. – 2006, March. – [Электронный ресурс]:
http://www.hi-europe.info/files/2002/9980.htm.
23. James Wall, Venita Chandra, Thomas Krummel. Robotics in General Surgery // Medical
Robotics, Book edited by Vanja Bozovic. – Vienna: I-Tech Education and Publishing. – 2008.
– pp.491-506.
210
24. Giancarlo Ferrigno, Guido Baroni, Federico Casolo, Elena De Momi, Giuseppina Gini,
Matteo Matteucci, Alessandra Pedrocchi. Medical Robotics. // IEEE PULSE. – 2011. – Vol.2.
– No.3. – pp.55-61.
25. Панкратова Е.С. Добрынин Д.А. Цапенко И.В. Зуева М.В. Интеллектуальная ДСМсистема для диагностики заболеваний органа зрения на примере дегенеративных и
наследственных форм ретиношизиса // Научно-техническая информация. Сер. 2. – 2007.
– № 3. – С. 14-18.
26. Михайлова И. Н., Панкратова Е.С., Добрынин Д.А., Самойленко И.В., Решетникова
В.В., Шелепова В.М., Демидов Л.В., Барышников А.Ю., Финн В.К. О применении
интеллектуальной компьютерной системы для анализа клинических данных больных
меланомой. // Российский Биотерапевтический Журнал. – 2010. – № 2. – С. 54.
27. Волкова
А.Ю.,
Шестерникова
О.П.
О
создании
интеллектуальных
систем,
реализующих ДСМ-метод автоматического порождения гипотез, и результатах их
применения для анализа медицинских данных // Научно-техническая информация. Сер.
2. – 2013. – № 5. – С. 10-15.
28. Климова С.Г., Михеенкова М.А., Панкратов Д.В. ДСМ-метод как метод выявления
детерминант социального поведения // Научно-техническая информация. Сер. 2. – 1999.
– № 12. – С. 3-14.
29. Данилова E.H., В.Г. Ивашко, Климова С.Г., Михеенкова М.А., Финн В.К., Ядов В.А.
Применение ДСМ-метода автоматического порождения гипотез для исследования
социального действия (соотношение индивидуально-личностных и
социальных
факторов) / в кн. Финн В.К. Интеллектуальные системы и общество. М.: РГГУ, 2000. –
С.252-272.
30. Михеенкова М.А. Развитие ДСМ-метода автоматического порождения гипотез для его
применения при анализе социологических данных типа «субъект=поведение»:
Автореферат диссертации на соискание ученой степени кандидата технических наук по
специальности 05.13.17 – теоретические основы информатики / Всероссийский
институт научной и технической информации РАН; науч. рук. В.К. Финн. - М., 1998. –
30 с.
31. Данилова E.H., Михеенкова М.А., Московский С.С., Финн В.К. Об одной модели
детерминации социального поведения / в кн. Финн В.К. Интеллектуальные системы и
общество. M.: РГГУ, 2000. – С.263-271.
32. Панкратов Д.В. Логические и программные средства качественного анализа
социологических данных: Автореферат диссертации на соискание ученой степени
кандидата технических наук по специальности 05.13.17 – теоретические основы
211
информатики / Всерос. ин-т научной и технической информации; науч. рук. В.К. Финн.
– М., 2001. – 27 с.
33. Бурковская Ж.И., Михеенкова М.А., Финн В.К. О логических принципах анализа
электорального поведения // Научно-техническая информация. Сер. 2. – 2004. – №8. –
С.18-22.
34. Михеенкова
М.А.,
Феофанова
Т.Л.
Обучающая
ДСМ-система
для
анализа
социологических данных // Вестник РГГУ. – 2009. – №10. – С.152-169.
35. Ragin C.C. The comparative method: Moving beyond Qualitative and Quantitative Strategies.
Berkeley, Los Angeles and London: University of California Press, 1987. – 218 p.
36. Волкова А.Ю. Алгоритмизация процедур ДСМ–метода автоматического порождения
гипотез // Научно-техническая информация. Сер. 2. – 2011 – № 5 – С. 6–12; Volkova A.
Yu. Algorithmization of Procedures of the JSM Method for Automatic Hypothesis Generation
// Automatic Documentation and Mathematical Linguistics, 2011, Vol. 45, No. 3, pp. 113–
120.
37. Волкова А.Ю. Анализ данных различных предметных областей с помощью процедур
ДСМ–метода автоматического порождения гипотез // Научно-техническая информация.
Сер. 2. – 2011. – № 6. – С. 9–18; Volkova A. Yu. Analyzing the Data of Different Subject
Fields Using the Procedures of the JSM Method for Automatic Hypothesis Generation //
Automatic Documentation and Mathematical Linguistics. – 2011. – Vol. 45. – No. 3. – pp.
127–139.
38. Михеенкова М.А., Волкова А.Ю. Спецификация интеллектуальной системы типа ДСМ //
Научно-техническая информация. Сер. 2. – 2013. – № 7. – С. 5-19; Mikheenkova M.A.,
Volkova A. Yu. Specification of the JSM Intelligent System // Automatic Documentation and
Mathematical Linguistics. – 2013. – Vol. 47. – No. 4. – pp. 135–150.
39. Страуструп Б. Язык программирования С++. – М.: Издательство Бином, 2012. – 1136 с.
40. Милль Д. С. Система логики силлогистической и индуктивной. - М.: Книжное Дело,
1900; Mill J. S. A System of Logic Ratiocinative and Inductive, Being a Connected View of
the Principles of Evidence and the Methods of Scientific Investigation. - 1st edition. - London:
Parker, Son and Bowin, 1843.
41. Финн В. К. Индуктивный метод соединенного сходства – различия и процедурная
семантика ДСМ-метода // Научно-техническая информация. Сер. 2. – 2010. – № 4. –
С.1-17.
42. Волкова А.Ю. Создание программных средств анализа базы фактов для применения
ДСМ-метода автоматического порождения гипотез: дипломная работа/ Волкова Анна
212
Юрьевна; науч.рук. В.К.Финн; Ин-т лингвистики Рос. гос. гуманитарного ун-та. – М.,
2010.
43. Norris E.М. An algorithm for computing the maximal rectangles in a binary relation // Revue
Roumaine de Mahématiques Pures et Appliquées. – 1978. – Vol. 23. – № 2. – pр. 243–250.
44. Финн В.К. Об определении эмпирических закономерностей посредством ДСМ-метода
автоматического порождения гипотез // Искусственный интеллект и принятие решений.
– 2010. – № 4. – С. 41-48.
45. Забежайло М.И. О функциональности отношения причинности, используемого в ДСМрассуждениях // Научно-техническая информация. Сер. 2. – 2013. – № 7. – С.33-38.
46. Финн В.К. Эпистемологические основания ДСМ-метода автоматического порождения
гипотез. Часть II // Научно-техническая информация. Сер. 2. – 2013. – № 12. – С.1-26.
47. Блинова В. Г., Решетникова В. В., Булычев Ю. Н., Добрынин Д. А. Интеллектуальный
анализ цитотоксической активности химических соединений с помощью стратегий
ДСМ-метода // Научно-техническая информация. Сер. 2. – 2010. – № 6. – С.14-23.
48. Харчевникова Н.В., Блинова В.Г., Добрынин Д.А., Максин М.В., Жолдакова З.И.
Применение
ДСМ
метода
и
квантово-химических
расчетов
для
прогноза
канцерогенности и хронической токсичности галогенозамещенных алифатических
углеводородов // Автоматическое порождение гипотез в интеллектуальных системах /
под общ. ред. В.К. Финна – М.: Книжный дом «ЛИБРОКОМ», 2009. – С.322-335.
49. Волкова А.Ю. Опыт создания интеллектуальной ДСМ-системы для исследования
данных различных предметных областей // Научно-техническая информация. Сер. 2. 2013. – № 11. – С.12-26.
50. Панкратова Е.С. Интеллектуальная система типа ДСМ для анализа клинических
данных // Научно-техническая информация. Сер. 2. – 2011. – №4. – С. 8 – 16.
51. Панкратова Е.С., Добрынин Д.А., Михайлова И.Н. Интеллектуальная компьютерная
система для анализа клинических данных больных меланомой / Тринадцатая
национальная конференция по искусственному интеллекту с международным участием
КИИ-2012 (16-20 октября 2012 г., г. Белгород, Россия): Труды конференции в 3 томах.
Белгород: Изд-во БГТУ, 2012. – Т. 1. – С. 128–134.
52. Михеенкова М. А. Возможности компьютерной поддержки качественных исследований
в социологии // Научно-техническая информация. Сер. 2. – 2011. – № 8. – С.1-21.
53. Lewins A., Silver C. Qualrus: Distinguishing features and functions // NCRM Working Paper.
Software reviews: Qualrus. - University of Surrey. - 2010. - 5 p.
213
54. Михеенкова М. А. Интеллектуальный анализ социологических данных и некоторые
задачи когнитивной социологии // Научно-техническая информация. Сер. 2. – 2011. – №
10. – С.1-17.
55. Ragin C.C. Configurational Comparative Methods: Qualitative Comparative Analysis (QCA)
and Related Techniques. Sage. 2008; Griffin L., Ragin C.C. Some Observations on Formal
Methods of Qualitative Analysis // Sociological Methods & Research. 1994. №23 (1). P. 4-22.
56. Кученкова А.В. Логико-комбинаторные методы анализа социологических данных:
эвристический потенциал и методическая специфика : диссертация на соискание
ученой степени кандидата социологических наук по специальности 22.00.01 – теория,
методология и история социологии / Минобрнауки России, Федер. гос. бюджет.
образоват. учреждение высш. проф. образования "Рос. гос. гуманитарный ун-т"; науч.
рук. Г. Г. Татарова. – М., 2012. – 224 с.
57. Кученкова А.В. Логико-комбинаторные методы анализа социологических данных:
эвристический потенциал и методическая специфика: Автореферат диссертации на
соискание ученой степени кандидата социологических наук по специальности 22.00.01
– теория, методология и история социологии / Минобрнауки России, Федер. гос.
бюджет. образоват. учреждение высш. проф. образования "Рос. гос. гуманитарный унт"; науч. рук. Г. Г. Татарова. – М., 2012. – 25 с.
58. Cronqvist Lasse. Using Multi-Value Logic Syntheses in Social Science // Second General
Conference of the European Consortium for Political Research (ECPR) Marburg – 2003. – 22
p.
59. Климова С.Г., Михеенкова М.А. Формальные средства ситуационного анализа: опыт
применения // Научно-техническая информация. Сер. 2. – 2012. – № 10. – С.1-13.
60. Климова С.Г., Михеенкова М.А., Финн В.К. Возможности применения ДСМ-метода для
анализа данных о социальной ситуации на предприятии // Социология и общество:
глобальные вызовы и региональное развитие [Электронный ресурс]: Материалы IV
Очередного Всероссийского социологического конгресса, Уфа, 20 – 23 октября, 2012. –
С.4557-4565.
214
Список иллюстраций
Рисунки
Рисунок 1– Иерархия классов внутреннего представления данных ............................................ 24
Рисунок 2 - Иерархия классов ДСМ-метода.................................................................................... 30
Рисунок 3 - Фармакология. Пример представления данных на листе «Descriptors». ................ 103
Рисунок 4 - Фармакология. Пример представления данных на листе «Examples». .................. 103
Рисунок 5 - Фармакология. Пример представления данных на листе «Hypotheses». ............... 103
Рисунок 6 - Фармакология. Пример представления данных на листе «T_Result». ................... 103
Рисунок 7 - Фармакология. Пример представления данных на листе «Total». .......................... 104
Рисунок 8 - Фармакология. Пример представления данных на листе «Determine_ByOne». .... 104
Рисунок 9 - Медицина. Признаки для данных болезней глаз. Пример представления данных на
листе «Properties». ............................................................................................................................ 108
Рисунок 10 - Медицина. Данные болезней глаз. Пример представления данных на листе
«Patients». .......................................................................................................................................... 108
Рисунок 11 - Пример представления результатов работы усеченного метода остатков.
Медицинские данные. ...................................................................................................................... 109
Рисунок 12 – Медицинские данные. Схема базы данных. ........................................................... 110
Рисунок 13 – Вкладка «О приложении» ........................................................................................ 112
Рисунок 14 – Вкладка «Признаки» ................................................................................................. 113
Рисунок 15 – Вкладка «Пациенты_1». Выбран не (τ)-пример. .................................................... 114
Рисунок 16 – Вкладка «Пациенты_1». Применен фильтр. Выбран (τ)-пример. ........................ 115
Рисунок 17 – Вкладка «Пациенты_2». Полный вид дерева признаков. ..................................... 116
Рисунок 18 – Вкладка «Пациенты_2». Сокращенный вид дерева признаков. .......................... 116
Рисунок 19 – Вкладка «Гипотезы _1» ............................................................................................ 117
Рисунок 20 – Вкладка «Гипотезы _2». Сокращенный вид дерева признаков. ........................... 118
Рисунок 21 – Вкладка «Общие». Есть необъясненные примеры. Процедура «доопределение по
одному» не была выполнена в ходе работы с ДСМ-Решателем.................................................. 119
Рисунок 22 – Вкладка «Общие». Есть необъясненные примеры. Процедура «доопределение по
одному» была выполнена в ходе работы с ДСМ-Решателем. ..................................................... 119
Рисунок 23 – Вкладка «Общие». Есть необъясненные примеры. Режим «доопределение по
одному». ............................................................................................................................................ 120
Рисунок 24 - Панель инструментов. Выбор атомарного ДСМ-метода. ...................................... 126
Рисунок 25 - Строка состояния. Выбор атомарного ДСМ-метода. ............................................. 126
Рисунок 26 - Панель инструментов. Выбор неатомарного прямого ДСМ-метода. ................... 126
Рисунок 27 - Панель инструментов. Выбор обратного ДСМ-метода. ........................................ 127
Рисунок 28 - Панель инструментов. Выбор режима "Усеченный метод остатков". ................. 127
Рисунок 29 - Главное меню приложения. Выбор версии алгоритма. ......................................... 127
Рисунок 30 - Главное меню приложения. Выбор режима «Вычисление противоречивости» . 128
Рисунок 31 - Диалоговое окно для выбора предметной области ................................................ 128
Рисунок 32 - Диалоговое окно для выбора .txt-файла с описанием признаков медицинских
данных ............................................................................................................................................... 128
Рисунок 33 - Диалоговое окно настройки параметров ДСМ-метода .......................................... 130
Рисунок 34 - Диалоговое окно настройки параметров ДСМ-метода. Список выбора
допустимых стратегий. .................................................................................................................... 130
Рисунок 35 - Диалоговое окно для выбора файлов для участия в эксперименте с
использованием усеченного метода остатков ............................................................................... 131
Рисунок 36 – Диалоговое окно для вычисления противоречивости для двух массивов гипотез
............................................................................................................................................................ 132
215
Рисунок 37 – Диалоговое окно для вычисления противоречивости для N массивов гипотез:
выбор данных ................................................................................................................................... 133
Рисунок 38 – Диалоговое окно для вычисления противоречивости для N массивов гипотез:
просмотр результата ........................................................................................................................ 134
Рисунок 39 - Пример 1 соединения галогенозамещенных алифатических углеводородов ...... 143
Рисунок 40 - Пример 2 соединения галогенозамещенных алифатических углеводородов ...... 143
Рисунок 41- Пример гипотезы, полученной на соединениях галогенозамещенных
алифатических углеводородов ........................................................................................................ 145
Рисунок 42- Пример гипотезы, полученной на соединениях трифторзамещенных пиразоло(1,5а)пиримидинов ................................................................................................................................. 146
Рисунок 43 – Пример предикатов, частично упорядоченных по силе ........................................ 150
Рисунок 44 - Отображение гипотез и их родителей. .................................................................... 194
Рисунок 45 - Таблица родителей гипотезы .................................................................................... 194
Рисунок 46 - Выделение фильтров в интерфейсе ......................................................................... 195
Рисунок 47 - Визуализация гипотезы ............................................................................................. 195
Рисунок 48 - Визуализация тела гипотезы числовыми значениями ........................................... 196
Рисунок 49 - Визуализация тела гипотезы текстовыми значениями .......................................... 196
Рисунок 50 - Визуализация тела гипотезы без признаков, входящих в дочерние гипотезы .... 197
Рисунок 51 - Визуализация тела гипотезы с признаками, входящими в дочерние гипотезы .. 197
Таблицы
Таблица 1 – Типы признаков медицинских данных ....................................................................... 26
Таблица 2 - Вопросы анкеты, разбитые на группы (компоненты) ................................................ 41
Таблица 3 - Социология: пример внутреннего представления данных респондентов ............... 43
Таблица 4 - Социология: пример покомпонентного представления данных респондентов ...... 43
Таблица 5- Социология: пример получения множества пересечений .......................................... 44
Таблица 6- Социология: пример получения множества пересечений .......................................... 44
Таблица 7- Социология: пример получения множества пересечений .......................................... 45
Таблица 8 – Фармакология: Описание полей файла Excel .......................................................... 101
Таблица 9 – Медицина: Описание полей файла Excel.................................................................. 105
Таблица 10 – Описание таблиц базы данных ................................................................................ 111
Таблица 11 – Социология: Описание полей файла Excel ............................................................. 121
Таблица 12 – Социология: Описание полей файла с гипотезами................................................ 123
Таблица 13 - Признаки больных меланомой, представленные на вкладке Properties файла Excel
............................................................................................................................................................ 139
Таблица 14 - Внутреннее представление описаний больных меланомой на вкладке Patients
файла Excel ....................................................................................................................................... 139
Таблица 15 - Медицина: двоичное представление признаков ..................................................... 140
Таблица 16 - Медицина: двоичное представление признаков в виде строки ........................... 140
Таблица 17 - Медицина: двоичное представление кандидатов в гипотезы в виде строки ....... 140
Таблица 18 – Медицина: пример внутреннего представления «тела» гипотез на вкладке
Hypotheses файла Excel .................................................................................................................... 141
Таблица 19 - Фармакология: пример внутреннего представления дескрипторов на вкладке
Descriptors файла Excel .................................................................................................................... 144
Таблица 20 - Фармакология: внутреннее представление химических соединений на вкладке
Examples файла Excel ....................................................................................................................... 144
Таблица 21 - Фармакология: пример внутреннего представления «тела» гипотез на вкладке
Hypotheses файла Excel .................................................................................................................... 145
Таблица 22 - Анализ баз фактов на наличие или отсутствие порожденных гипотез ................ 147
216
Таблица 23 - Результаты применения простого метода сходства к фармакологическим данным
............................................................................................................................................................ 152
Таблица 24 - Результаты применения простого метода сходства к онкологическим данным
(продолжительность жизни больше/меньше 5 лет) ...................................................................... 153
Таблица 25 - Результаты применения простого метода сходства к онкологическим данным
(продолжительность жизни больше/меньше 12 месяцев) ............................................................ 154
Таблица 26 - Результаты применения метода единственности (+)-причины к медицинским
данным болезней глаз ...................................................................................................................... 155
Таблица 27 - Результаты применения запрета на контрпримеры к онкологическим данным
(продолжительность жизни больше/меньше 5 лет) ...................................................................... 156
Таблица 28 - Результаты применения запрета на контрпримеры к онкологическим данным
(продолжительность жизни больше/меньше 12 месяцев) ............................................................ 157
Таблица 29 - Результаты применения запрета на контрпримеры и фильтров к онкологическим
данным (продолжительность жизни больше/меньше 12 месяцев).............................................. 158
Таблица 30 - Результаты применения запрета на контрпримеры к фармакологическим данным
............................................................................................................................................................ 158
Таблица 31 - Результаты сравнения метода различия Д.С. Милля и простого метода сходства (с
запретом на контрпримеры) к фармакологическим данным ....................................................... 160
Таблица 32- Результаты сравнения метода различия Д.С. Милля и простого метода сходства к
фармакологическим данным ........................................................................................................... 161
Таблица 33 - Результаты применения метода различия (упрощение сходства-различия) и
запрета на контрпримеры к фармакологическим данным ........................................................... 162
Таблица 34 – Результаты доопределения (τ)-примеров на фармакологических данных при
использовании упрощения сходства-различия и запрета на контрпримеры ............................. 163
Таблица 35 - Гипотезы, полученные на фармакологических данных в результате применения
упрощения метода сходства-различия и запрета на контрпримеры ........................................... 164
Таблица 36 – Результаты применения процедуры «доопределение по одному» к
фармакологическим данным при использовании упрощения сходства-различия и запрета на
контрпримеры ................................................................................................................................... 164
Таблица 37 - Результаты применения метода различия (упрощение сходства-различия), запрета
на контрпримеры и конъюнктивного (+)-фильтра (признак «Уровень S100») к онкологическим
данным (продолжительность жизни больше/меньше 5 лет) ........................................................ 165
Таблица 38 – Результаты применения процедуры «доопределение по одному» к
онкологическим данным при использовании упрощения сходства-различия и запрета на
контрпримеры (продолжительность жизни больше/меньше 5 лет) ............................................ 166
Таблица 39 – Результаты применения процедуры «доопределение по одному» к
онкологическим данным (сокращенный список признаков) при использовании упрощения
сходства-различия и запрета на контрпримеры (продолжительность жизни больше/меньше 5
лет) ..................................................................................................................................................... 167
Таблица 40 – Результаты применения процедуры «доопределение по одному» к
онкологическим данным при использовании упрощения сходства-различия и запрета на
контрпримеры (продолжительность жизни больше/меньше 12 месяцев) .................................. 168
Таблица 41 – Результаты применения процедуры «доопределение по одному» к
онкологическим данным при использовании упрощения сходства-различия и запрета на
контрпримеры (продолжительность жизни больше/меньше 12 месяцев) .................................. 169
Таблица 42 - Результаты применения метода различия (упрощение сходства-различия) и
запрета на контрпримеры к медицинским данным болезней глаз .............................................. 169
Таблица 43 – Результаты применения процедуры «доопределение по одному» к медицинским
данным болезней глаз при использовании упрощения сходства-различия и запрета на
контрпримеры ................................................................................................................................... 170
Таблица 44 - Результаты применения метода сходства-различия и запрета на контрпримеры к
фармакологическим данным ........................................................................................................... 172
217
Таблица 45 – Результаты доопределения (τ)-примеров на фармакологических данных при
использовании метода сходства-различия и запрета на контрпримеры ..................................... 172
Таблица 46 – Результаты применения процедуры «доопределение по одному» к
фармакологическим данным при использовании метода сходства-различия и запрета на
контрпримеры ................................................................................................................................... 174
Таблица 47 - Проверка непротиворечивости гипотез: количество примеров в базах фактов
(онкологические данные) ................................................................................................................ 178
Таблица 48 - Результат применения простого метода сходства к базам фактов (онкологические
данные) .............................................................................................................................................. 178
Таблица 49 - Результат применения запрета на контрпримеры к базам фактов (онкологические
данные) .............................................................................................................................................. 178
Таблица 50 - Результат применения алгоритма проверки непротиворечивости гипотез к базам
фактов для первой стратегии (онкологические данные) .............................................................. 179
Таблица 51 - Результат применения алгоритма проверки непротиворечивости гипотез к базам
фактов для второй стратегии (онкологические данные) .............................................................. 179
Таблица 52 – Ответы респондента, для которого значение признака «Стабильность-лояльность
(комплексная характеристика)» не задано ((τ)-пример) ............................................................... 202
Таблица 53 - Гипотеза, доопределившая (τ)-пример на социологических данных ................... 204
218
ПРИЛОЖЕНИЕ А. КЛАССЫ ДЛЯ РЕАЛИЗАЦИИ
ПРОЦЕДУР И СТРАТЕГИЙ ДСМ-МЕТОДА АПГ
Содержание
Приложение А.1. Общий класс ДСМ-Решателя для атомарной и неатомарной версий ДСМметода АПГ…………………………………………………………………………………………220
Приложение А.2. Класс ДСМ-Решателя для атомарной версии прямого ДСМ-метода
АПГ………………………………………………………………………………………………….224
Приложение А.3. Класс ДСМ-Решателя для неатомарной версии прямого ДСМ-метода
АПГ………………………………………………………………………………………………….227
Приложение А.4. Класс ДСМ-Решателя для обратного ДСМ-метода АПГ……………………231
Приложение А.5. Класс, представляющий пример……………………………………………...232
Приложение А.6. Класс, представляющий структуру объекта или свойств примера,
включающую несколько компонент……………………………………………………………...234
Приложение А.7. Класс, представляющий пример, у которого структура объекта и/или свойств
включает несколько компонент……………………………………………………………….......236
Приложение А.8. Класс, представляющий гипотезу…………………………………………….237
Приложение А.9. Класс, представляющий усеченный метод остатков………………………...238
Приложение А.10. Класс, представляющий фильтры…………………………………………...239
Приложение А.11. Класс, представляющий алгоритм вычисления непротиворечивости гипотез,
полученных на последовательности баз фактов…………………………………………………240
219
Приложение
А.1.
Общий
класс
ДСМ-Решателя
для
атомарной
и
неатомарной версий ДСМ-метода АПГ
class algorithmJSM
{
public:
vector<hypothesis*> plusH;/* массив (+)-гипотез*/
vector<hypothesis*> minusH;/* массив (–)-гипотез*/
vector<hypothesis*> zeroH;/* массив (0)-гипотез*/
/* количество нерассмотренных примеров на текущем такте ДСМ-рассуждений*/
short nPlTemp;
short nMinTemp;
short nZeroTemp;
/* массивы примеров и их первоначальный размер:
массивы могут пополняться доопределенными (τ)-примерами*/
vector<hypothesis*> plusEx;
short nPlExBegin;
vector<hypothesis*> minusEx;
short nMinExBegin;
vector<hypothesis*> zeroEx;
short nZeroExBegin;
vector<hypothesis*> tEx;
short nJSMStep;//шаг итерации ДСМ-метода (индукция-аналогия)
short numResidMethodHyp;/* кол-во гипотез, полученных методом остатков*/
/* номера необъяснен. полученными гипотезами +/-/0 примеров*/
vector<short> unexplainedEx;
/* size[0] - кол-во (+)-примеров; size[1] - кол-во (–)-примеров;
size[2] - кол-во (0)-примеров*/
short sizeUnexplainedEx[3];
/* степени абдуктивности (+)-, (–)-, (0)-примеров*/
float causalCompletenessAxiomCoefficients[3];
float causalCompletenessAxiomThreshold; /* пороговое значение степени абдуктивности
(по умолчанию 0.8)*/
int nTauDetermined; /*количество доопределенных примеров*/
bool counterExPl; /*запрет на (+)-контрпример*/
bool counterExMin; /*запрет на (–)-контрпример*/
bool counterExZeroPl; /*запрет на (0)-контрпример в (+)-гипотезы*/
bool counterExZeroMin; /*запрет на (0)-контрпример в (–)-гипотезы*/
bool differenceSimiliarityMethod_plus;/*используется ли метод сходства-различия*/
bool differenceSimiliarityMethod_minus;/*используется ли метод сходства-различия; (–)предикат*/
bool singleCause_plus;/*единственность (+)-причины*/
bool singleCause_minus;/*единственность (–)-причины*/
220
bool singleConsequent_plus;/*единственность (+)-следствия*/
bool singleConsequent_minus;/*единственность (–)-следствия*/
bool residuesMethod_sameSign_plus;/*метод остатков*/
bool residuesMethod_DifferentSign_plus; /*метод остатков: вычитаем из (–)-примеров (+)гипотезы, знаки различны*/
bool residuesMethod_sameSign_minus;/*метод остатков для (–)-гипотез*/
bool residuesMethod_DifferentSign_minus; /*метод остатков: вычитаем из (+)-примеров (–
)-гипотезы, знаки различны*/
float correctnessResiduesHypsThreshold; /* степень непротиворечивости для гипотез,
полученных методом остатков (по умолчанию 0.8)*/
bool differenceMethod_Mille_plus;//метод различия: миллевский вариант
bool differenceMethod_Simplification_plus;//метод различия: упрощение метода сходстваразличия
bool differenceMethod_Mille_minus;//метод различия: миллевский вариант; (–)-предикат
bool differenceMethod_Simplification_minus;//метод различия: упрощение метода
сходства-различия; (–)-предикат
bool determineByOne; // будет ли запущено "доопределение по одному"
static size_t DETERMINE_BY_ONE_IS_NOT_ACTIVE; //константа, равная
несуществующему номеру в массиве для определения: ДСМ-метод запущен в обычном
режиме (-1)
bool useFiltersPlus;//используются ли (+)-фильтры
bool useFiltersMinus;//используются ли (–)-фильтры
class filter* filter1;/*фильтры*/
short parentThresholdPlus;/*ограничение на кол-во родителей (+)-гипотез*/
short parentThresholdMinus;/*ограничение на кол-во родителей (–)-гипотез*/
short parentThresholdZero;/*ограничение на кол-во родителей (0)-гипотез*/
vector<char> objSorts_init;/*первоначальные значения*/
vector<char> objSorts_byOne;
/*массив из '+', '-', '0' и '?' - результат процедуры
"доопределение по одному"*/
short determByOneAmount_right;/*кол-во (+)-, (–)-, (0)-примеров доопределившихся
верно*/
short determByOneGross_errors;/*кол-во примеров, доопределившихся с (+) на (–) или
наоборот*/
/*вспомогательные массивы для пересечений*/
vector<hypothesis*> plusHyp;
vector<hypothesis*> minusHyp;
vector<hypothesis*> zeroHyp;
vector<hypothesis*> plusHypCurrentStep;
vector<hypothesis*> minusHypCurrentStep;
vector<hypothesis*> zeroHypCurrentStep;
/* сохранять ли данные для визуализации по "кустовому" принципу*/
bool saveHypothesesBush;
221
/* массивы для хранения связей с потомками гипотез для визуализации по "кустовому"
принципу*/
vector<HypothesesBush> plusHypBush;
vector<HypothesesBush> minusHypBush;
vector<HypothesesBush> zeroHypBush;
~algorithmJSM();
/*Функция удаления пересечений: очистка памяти*/
void delete_hyps(vector<hypothesis*>& lstHyp);
virtual bool startJSM(vector<objectX*>& objXs, int objectNumInArrForDetermineByOne)
{return false; }
/*заполнение массивов примерами из полученного массива объектов*/
void fillAllArrays_beforeStart(vector<objectX*> objXs);
/*** Вспомогательные функции для алгоритма Норриса ***/
/*является ли объект с идентификатор x членом множества set*/
bool isMember(short x, std::vector <hypothesis*>& set);
/*добавить к гипотезе родителя*/
hypothesis* join_parent_to_target(hypothesis*base, hypothesis* par);
/*пометить повторяющиеся гипотезы как false, функция возвращает число повторов*/
short mark_repeatedHyps_afterNorris(vector<hypothesis*>& lstHyp);
/***********************************************************/
/*отсеиваем гипотезы с количеством родителей, меньшим порога, и сохраняем
результат в новом векторе, чтобы на i-м шаге ДСМ-метода не пришлось заново считать ранее
полученные гипотезы, гипотезы с одним родителем тоже могут потом породить новые
гипотезы*/
void siftByParents_and_copyValidHypList(vector<hypothesis*>& arrInput, short parentThreshold,
vector<hypothesis*>& arrOutput);
/*отсеиваем гипотезы со status=false*/
void siftFalseReasons(vector<hypothesis*>& lst);
/*проверяем гипотезы на непротиворечивость, помечаем противоречивые гипотезы*/
void markConflictingHypothesis(vector<hypothesis*>& lst1, vector<hypothesis*>& lst2);
void markConflictingHypothesis_and_FillZeroHyps(vector<hypothesis*>& lstPlus,
vector<hypothesis*>& lstMinus, vector<hypothesis*>& lstZero);
/*заполнение массива полученными гипотезами*/
void fillArrayWithHypothesis(vector<hypothesis*>& lstHyp, vector<hypothesis*>& arr, int
curAmount);
/*** Функции для процедуры "доопределение по одному" ***/
bool startJSM_forDetermByOne(algorithmJSM*JSM, vector<objectX*>& objXs, size_t curEx,
vector<char>& sorts_result);
void showObjectNumForDetermineByOneErrorIfNecessary(int objectNumInArr);
/***********************************************************/
/* есть ли в массиве гипотез валидные гипотезы*/
bool checkIfValidHypsExist(vector<hypothesis*>& hyps);
222
/**** Проверка аксиомы каузальной полноты *****/
/* формула для подсчета степени абдуктивности */
float countCausalCompletenessAxiom(int nAll, int nUnExplained) { return (nAll==0) ? 1 :
(float)(nAll - nUnExplained)/nAll; }
/*проверка аксиомы каузальной полноты (+/-),функция возвращает число
необъясненных примеров*/
virtual int checkCausalCompletenessAxiom(vector<hypothesis*>& arrHyps,
vector<hypothesis*>& examples, short numAtBegin) {return 0;}
/*проверка аксиомы каузальной полноты (0)*/
int checkCausalCompletenessAxiomZero();
/*запуск проверки АКП (+, -, 0)*/
void checkCausalCompletenessAxiomResult();
/*показать результат абдукции*/
void showCausalCompletenessAxiomResult(int objectNumInArr);
/******* Запрет на контрпример *******/
void forbidCounterExample(vector<hypothesis*>& targetHyp, vector<hypothesis*>&
counterArrEx);
/******* Фильтры *******/
/* проверка на фильтры: необходимые признаки*/
bool check_AND_filters(vector<hypothesis*>& lstHyp, vector<list<short>>& lstNums);
/* проверка на фильтры: существенные признаки*/
bool check_OR_filters(vector<hypothesis*>& lstHyp, vector<list<short>>& lstNums);
/********** *************/
/*Функции метода различия: миллевский вариант*/
/********** *************/
/*найти в примерах (+, -, 0) пример = разности dif*/
bool findEqual_inEx(objectX*dif, vector<hypothesis*>& examples);
/*найти в тау-примерах пример(еще недоопределенный) = разности dif*/
bool findEqual_in_TEx(objectX*dif, vector<hypothesis*>& examples);
/*главная функция*/
bool differenceMethod_Mille_func(vector<hypothesis*>& hyps, vector<hypothesis*>&
objs_contrarySort);
};
223
Приложение
А.2.
Класс
ДСМ-Решателя
для
атомарной
версии
прямого ДСМ-метода АПГ
class algorithmJSM_atomicDirect: public algorithmJSM
{
public:
algorithmJSM_atomicDirect();
/*Алгоритм Норриса. hyps - динамический массив, в кот-м храним все пересечения*/
void algorithmNorris(vector<hypothesis*>& hyps, vector<hypothesis*>& arr, int nPredArr);
/*алгоритм Норриса с сохранением ссылок у примеров, в порождении каких гипотез они
участвовали, hyps - динамический массив, в котором храним все пересечения.
Этот алгоритм необходим для соединенного метода сходства-различия*/
void algorithmNorrisSavingRefs(vector<hypothesis*>& hyps, vector<hypothesis*>& arr, int
nPredArr);
/*вспомогательная функция – проверка условия относительной каноничности, функция
возвращает true, если условие выполнено, false, иначе*/
bool subNorrisSavingRefs(vector<hypothesis*>& hyps, hypothesis*& h,
vector<hypothesis*>& arr, int i, objectX *&objX);
/*отсеиваем false гипотезы*/
void siftFalseReasons(vector<hypothesis*>& lst);
/*проверка вложения гипотез в пример*/
bool checkHypEnclosure(vector<hypothesis*>& arr, hypothesis*target);
/********** *************/
/*Функции метода сходства - различия с единственной причиной*/
/********** *************/
/*проверка строгого вложения разности z\v и невложения v в неположительный
пример*/
bool checkDifEnclosure(vector<hypothesis*>& arr, objectX*dif, objectX*reasonV);
/*проверка строгого вложения разности z\v и невложения v в (τ)-примеры, которые еще
не доопределены*/
bool checkDifEnclosure_TEx(objectX*dif, objectX*reasonV);
/*проверка строгого вложения разности z\v и невложения v в (0)-примеры*/
bool checkDifEnclosure_InZeroEx(objectX*dif, objectX*reasonV);
/*проверка экзистенциального условия метода сходства-различия для данной
причины*/
bool checkDifferenceSimiliarityMethodCondition(objectX*causeV, vector<hypothesis*>&
arrEx, vector<hypothesis*>& counterArrEx);
/*******************************************/
/********** *************/
/*Условие единственной причины*/
/********** *************/
/*венуть true, если условие выполнено, иначе false*/
224
bool checkSingleCauseCondition(vector<hypothesis*>& arr);
/********** *************/
/*Функции метода сходства - различия*/
/********** *************/
/* удаляем из рассмотрения на сходство-различие противоречивые гипотезы*/
void deleteConflictingHyps_from_1Arr(vector<hypothesis*>& hyps, vector<hypothesis*>&
hyps_contrarySort);
/*проверка на вложение гипотез друг в друга,
помечаем statusTemp гипотез, в которые вкладываются другие гипотезы как false*/
void markReasons_EnclosuredInEachOther(vector<hypothesis*>& hyps);
/*исключаем из списка данного примера неподходящие гипотезы
(помеченные false или число родителей меньше порогового значения)*/
void siftFalseReasons_in_ObjectHyps_ByStatusOrParentThreshold(hypothesis*z, short
parentThreshold);
/*исключаем из списка данного примера неподходящие гипотезы
(помеченные false)*/
void siftFalseReasons_in_ObjectHyps_ByStatusTemp(hypothesis*z);
/*проверка на вложение гипотез друг в друга для примера - одного из родителей
гипотез,
помечаем status неподходящих гипотез как false*/
void checkReasonsEnclosureOfConcreteExample(hypothesis*z);
/*найти разность тела примера и причин, входящих в него*/
objectX* findDifference_Z_and_Reasons(hypothesis*z);
/*найти противоположные примеры и (τ)-примеры, удовлетворяющие условиям метода
сходства-различия,
результат сохраняется в векторе vec_Xs, содержащем идентификаторы
противоположных примеров,
причем vec_Xs[i] для гипотезы hyps[i]*/
bool findContraryEx_ComplyingWithDifferenceM(vector<hypothesis*>& hyps, hypothesis *z,
vector<short>& hyp_nums, objectX* dif, vector<hypothesis*>& arr, vector<vector<short>>& vec_Xs);
bool findTEx_ComplyingWithDifferenceM(vector<hypothesis*>& hyps, hypothesis *z,
vector<short>& hyp_nums, objectX* dif, vector<hypothesis*>& arr, vector<vector<short>>& vec_Xs);
/*проверить, что не выполняются условия метода различия с (0) и противоположными
примерами*/
bool checkInEx_NotComplyingWithDifferenceM(vector<hypothesis*>& hyps, hypothesis *z,
vector<short>& hyp_nums, objectX* dif, vector<hypothesis*>& arr);
/*найти номера гипотез в векторе hyps, родителями которых является пример z*/
void find_HypNumsOfExample_inHypVector(vector<hypothesis*>& hyps, hypothesis *z,
vector<short>& hyp_nums);
/*отметить true подходящие гипотезы после проверки всех условий общего метода
различия*/
void markSuitableHypothesesAfterDifM(vector<hypothesis*>& lstHyp,
vector<vector<short>>& vec_Xs);
/*общий метод сходства-различия – главная функция*/
225
bool differenceSimiliarityMethodGeneral(vector<hypothesis*>& lstHyp, vector<hypothesis*>&
objs_sameSort, vector<hypothesis*>& objs_contrarySort, short parentThreshold_sameSort);
/********** *************/
/*Функции метода различия: упрощение сходства-различия*/
/********** *************/
/*проверить, что не выполняются условия метода различия с (0) и (+)/(–)-примерами*/
bool checkInEx_NotComplyingWithDifferenceM(hypothesis *v, objectX* dif,
vector<hypothesis*>& arr);
/*главная функция*/
bool differenceMethod_Simplification_func(vector<hypothesis*>& hyps,
vector<hypothesis*>& objs_sameSort);
/*********************************************/
/*доопределение (τ)-примеров, функция возвращает число доопределенных примеров*/
int determineTExamples(vector<hypothesis*>& plArr, vector<hypothesis*>& minArr,
vector<hypothesis*>& zeroArr, vector<hypothesis*>& tArr);
/*проверка аксиомы каузальной полноты (+/-), функция возвращает число
необъясненных примеров*/
int checkCausalCompletenessAxiom(vector<hypothesis*>& arrHyps, vector<hypothesis*>&
examples, short numAtBegin);
/********************************************/
/*запуск ДСМ-метода АПГ*/
bool startJSM(vector<objectX*>& objXs, int objectNumInArrForDetermineByOne);
};
226
Приложение А.3. Класс
прямого ДСМ-метода АПГ
ДСМ-Решателя
для
неатомарной
версии
class algorithmJSM_nonAtomicDirect: public algorithmJSM
{
public:
algorithmJSM_nonAtomicDirect();
/*Алгоритм Норриса.
hyps - динамический массив, в котором храним все пересечения*/
void algorithmNorris(vector<hypothesis*>& hyps, vector<hypothesis*>& arr, int nPredArr);
/*вспомогательная функция – проверка условия относительной каноничности, функция
возвращает true, если условие выполнено, false, иначе*/
bool subNorris(hypothesis *h, vector<hypothesis*>& arr, int i, objectX *objX);
bool subNorris(vector<hypothesis*>& hyps, hypothesis *h, vector<hypothesis*>& arr, int i,
objectX *objX);
/*алгоритм Норриса с сохранением ссылок у примеров, в порождении каких гипотез они
участвовали,
hyps - динамический массив, в котором храним все пересечения*/
void algorithmNorrisSavingRefs(vector<hypothesis*>& hyps, vector<hypothesis*>& arr, int
nPredArr);
/*вспомогательная функция – проверка условия относительной каноничности, функция
возвращает true, если условие выполнено, false, иначе*/
bool subNorrisSavingRefs(vector<hypothesis*>& hyps, hypothesis *&h,
vector<hypothesis*>& arr, int i, objectX *&objX);
/*отсеиваем гипотезы с количеством родителей, меньшим порога*/
void siftByParents(vector<hypothesis*>& lstHyp, short parentThreshold);
/*проверка вложения гипотез в пример*/
char checkHypEnclosure(vector<hypothesis*>& arr, hypothesis*target);
/********** *************/
/*Условие единственной причины*/
/********** *************/
/*венуть true, если условие выполнено хотя бы для одного эффекта, иначе false*/
bool checkSingleCauseCondition(vector<hypothesis*>& hyps);
/********** *************/
/*Функции метода сходства - различия*/
/********** *************/
/* удаляем из рассмотрения на сходство-различие противоречивые гипотезы*/
void deleteConflictingHyps_from_1Arr(vector<hypothesis*>& hyps, vector<hypothesis*>&
hyps_contrarySort);
/* разбить гипотезы на группы по эффекту (по одинаковой правой части)*/
void devideReasons_byEffect(vector<hypothesis*>& hyps, vector<vector<hypothesis*>>&
effect_set);
/*проверка на вложение гипотез друг в друга,
помечаем statusTemp гипотез, в которые вкладываются другие гипотезы как false*/
227
void markReasons_EnclosuredInEachOther(vector<hypothesis*>& hyps);
void markReasons_EnclosuredInEachOther_in_EachEffect(vector<vector<hypothesis*>>&
hyps);
/*исключить в каждой группе гипотез те, которые помечены как false*/
void siftFalseReasons_in_EachEffect(vector<vector<hypothesis*>>& hyps);
/*исключаем из списка данного примера неподходящие гипотезы
(помеченные false или число родителей меньшие порогового значения)*/
void siftFalseReasons_in_ObjectHyps_ByStatusOrParentThreshold(hypothesis*z, short
parentThreshold);
/*исключаем из списка данного примера неподходящие гипотезы
(помеченные false)*/
void siftFalseReasons_in_ObjectHyps_ByStatusTemp(hypothesis*z);
/*проверка на вложение гипотез (с эффектом в h) друг в друга для примера - одного из
родителей гипотез,
помечаем status неподходящих гипотез как false*/
void checkReasonsEnclosureOfConcreteExample(hypothesis*z, hypothesis* h);
/*найти разность тела примера и причин, входящих в него в соответствии с эффектом в
h. z_has_effect = false, если таких причин вообще нет в примере*/
objectX* findDifference_Z_and_Reasons(hypothesis*z, hypothesis* h, bool& z_has_effect);
/*помечаем status неподходящих гипотез как false*/
void markReasonsOfEffect_False(hypothesis*z, hypothesis* h);
/*найти противоположные примеры и (τ), удовлетворяющие условиям метода различия,
результат сохраняется в векторе vec_Xs, содержащем идентификаторы
противоположных примеров,
причем vec_Xs[i] для гипотезы hyps[i]*/
bool findContraryEx_ComplyingWithDifferenceM(vector<hypothesis*>& hyps, hypothesis *z,
vector<short>& hyp_nums, objectX* dif, vector<hypothesis*>& arr, vector<vector<short>>& vec_Xs);
bool findTEx_ComplyingWithDifferenceM(vector<hypothesis*>& hyps, hypothesis *z,
vector<short>& hyp_nums, objectX* dif, vector<hypothesis*>& arr, vector<vector<short>>& vec_Xs);
/*проверить, что нет не выполняется условия метода различия с (0)-примерами*/
bool checkInEx_NotComplyingWithDifferenceM(vector<hypothesis*>& hyps, hypothesis *z,
vector<short>& hyp_nums, objectX* dif, vector<hypothesis*>& arr);
/*найти номера гипотез в векторе hyps, родителями которых является пример z*/
void find_HypNumsOfExample_inHypVector(vector<hypothesis*>& hyps, hypothesis *z,
vector<short>& hyp_nums);
/*отметить true подходящие гипотезы после проверки всех условий общего метода
различия*/
void markSuitableHypothesesAfterDifM(vector<hypothesis*>& lstHyp,
vector<vector<short>>& vec_Xs);
/*общий метод cходства-различия – главные функции*/
bool differenceSimiliarityMethodGeneral(vector<hypothesis*>& lstHyp, vector<hypothesis*>&
objs_sameSort, vector<hypothesis*>& objs_contrarySort, short parentThreshold_sameSort);
bool differenceSimiliarityMethodGeneral_forWholeResonsSet(vector<hypothesis*>& hyps,
vector<hypothesis*>& objs_sameSort, vector<hypothesis*>& objs_contrarySort, short
parentThreshold_sameSort);
/******************************************************/
228
/********** *************/
/*Функции метода различия: упрощение сходства-различия*/
/********** *************/
/*проверить, что не выполняются условия метода различия с (0)- и (+)/(–)-примерами*/
bool checkInEx_NotComplyingWithDifferenceM(hypothesis *v, objectX* dif,
vector<hypothesis*>& arr);
/*главная функция*/
bool differenceMethod_Simplification_func(vector<hypothesis*>& hyps,
vector<hypothesis*>& objs_sameSort);
/*********************************************/
/* исключаем (+)/(–)-гипотезы, у которых правые части не пересекаются (при
доопределении примера как 0) */
void siftUnIntersectHyps(hypothesis* z);
/* проверка наличия пересечения плюс и минус гипотез при доопределении примера z
*/
bool plus_minus_hyps_intersection(hypothesis* z);
/* доопределение (τ)-примеров, функция возвращает число доопределенных примеров
*/
int determineTExamples(vector<hypothesis*>& plArr, vector<hypothesis*>& minArr,
vector<hypothesis*>& zeroArr, vector<hypothesis*>& tArr);
/*проверка аксиомы каузальной полноты (+/-)*/
int checkCausalCompletenessAxiom(vector<hypothesis*>& arrHyps, vector<hypothesis*>&
examples, short nExBegin);
/********************************/
/*Метод Остатков*/
/*проверка полученных гипотез на непротиворечивость*/
int check_hyps_correctness(vector<hypothesis*>& result, vector<hypothesis*>& arrH);
/*присоединить текущие гипотезы к результату*/
void append_vectors(vector<hypothesis*>& result, vector<hypothesis*> hyps);
/*удалить повторяющиеся гипотезы*/
void check_repeated_hyps(vector<hypothesis*>& result, vector<hypothesis*>& hyps);
/*добавить последнего родителя - номер гипотезы, которая участвовала в
порождении*/
void add_lastParent_to_hyps(vector<hypothesis*>& hyps, hypothesis* id);
/*заполнение массива полученными гипотезами для метода остатков*/
int fillArrayWithHypothesis_forRemMethod(vector<hypothesis*>& result,
vector<hypothesis*>& arr);
/*основная процедура (вычитаем гипотезы из их родителей)*/
bool residuesMethod_func(vector<hypothesis*>& arrH, vector<hypothesis*>& result, short
parentThreshold);
/*основная процедура (из примеров противоположного знака вычитаем гипотезы)*/
229
bool residuesMethod_func(vector<hypothesis*>& arrH, vector<hypothesis*>& result, short
parentThreshold, vector<hypothesis*>& exs);
/*проверка полученных гипотез на непротиворечивость: в случае успеха пополнение
массива гипотез и доопределение тау-примеров новыми гипотезами*/
int processResiduesMainFuncResult(vector<hypothesis*>& result, vector<hypothesis*>&
arrH, vector<hypothesis*>& contraryArrH);
/*стартовые функции: для случая вычитания гипотез из примеров противоположного
знака и родителей гипотез*/
int residuesMainFunc_differentSign(vector<hypothesis*>& arrH, vector<hypothesis*>&
contraryArrH, short parentThreshold_contrarySign, vector<hypothesis*>& exs);
int residuesMainFunc_sameSign(vector<hypothesis*>& arrH, vector<hypothesis*>&
contraryArrH, short parentThreshold);
/* формирование сообщения о результате*/
void residuesUIFunc_resultNotification(int resultCode, char hypSign);
/*******************************************/
/*запуск ДСМ-метода АПГ*/
bool startJSM(vector<objectX*>& objXs, int objectNumInArrForDetermineByOne);
};
230
Приложение А.4. Класс ДСМ-Решателя для обратного ДСМ-метода АПГ
class algorithmJSM_reverse: public algorithmJSM
{
public:
algorithmJSM_reverse();
/*Алгоритм Норриса.
hyps - динамический массив, в котором храним все пересечения*/
void algorithmNorris(vector<hypothesis*>& hyps, vector<hypothesis*>& arr, int nPredArr);
/*вспомогательная функция – проверка условия относительной каноничности, функция
возвращает true, если условие выполнено, false, иначе*/
bool subNorris(vector<hypothesis*>& hyps, hypothesis *&h, vector<hypothesis*>& arr, int i,
objectX *&objX);
/*проверка вложения гипотез в пример*/
char checkHypEnclosure(vector<hypothesis*>& arr, hypothesis*target);
/***** Условие единственного следствия ****/
/*вернуть true, если условие выполнено хотя бы для одного эффекта, иначе false*/
bool checkSingleConsequentCondition(vector<hypothesis*>& hyps);
/* исключаем (+)/(–)-гипотезы, у которых правые части не пересекаются - при
доопределении примера как 0*/
void siftUnIntersectHyps(hypothesis* z);
/* проверка наличия пересечения (+)- и (–)-гипотез при доопределении примера z*/
bool plus_minus_hyps_intersection(hypothesis* z);
/*доопределение (τ)-примеров, функция возвращает число доопределенных примеров*/
int determineTExamples(vector<hypothesis*>& plArr, vector<hypothesis*>& minArr,
vector<hypothesis*>& zeroArr, vector<hypothesis*>& tArr);
/*проверка аксиомы каузальной полноты (+/-)*/
int checkCausalCompletenessAxiom(vector<hypothesis*>& arrHyps, vector<hypothesis*>&
examples, short nExBegin);
/*******************************************/
/*запуск ДСМ-метода АПГ*/
bool startJSM(vector<objectX*>& objXs, int objectNumInArrForDetermineByOne);
};
231
Приложение А.5. Класс, представляющий пример
В классах-потомках все необходимые функции переопределены.
class objectX
{
public:
short objID;/*идентификатор*/
char* objName;/*имя*/
char objSort;/*тип примера: +, -, 0 или ? (τ)*/
short nStep;/*такт ДСМ-рассуждения*/
bool state;
objectX();
objectX(objectX*ob);
virtual ~objectX();
/*создание нового объекта*/
virtual objectX* createNewObject(objectX* ob) {return NULL;};
/*очистить поля объекта*/
virtual void delete_content(){}
/*операция сходства, функция возвращает NULL, если нет никакого сходства*/
virtual objectX*hyp_similarity(objectX*h1, objectX*h2) {return NULL;}
/*операция сходства, в зависимости от значения флага применяется к объектам или
свойствам*/
virtual objectX*hyp_similarity(objectX*h1, objectX*h2, short flag) {return NULL;}
/*операция проверки равенства, функция возвращает true, если равны*/
virtual bool hyp_equal(objectX*h1, objectX*h2) {return false;}
/*операция проверки равенства, в зависимости от значения флага применяется к
объектам или свойствам*/
/* 1 - сходство левых частей, 2 - правых частей*/
virtual bool hyp_equal(objectX*h1, objectX*h2, short flag){ return false; }
/*операция вложения, функция возвращает true, если гипотеза 1 вкладывается в
гипотезу 2*/
virtual bool weak_enclosure_h1_in_h2(objectX*h1, objectX*h2) {return false;}
/*операция вложения, в зависимости от значения флага применяется к объектам или
свойствам*/
/* 1 - сходство левых частей, 2 - правых частей*/
virtual bool weak_enclosure_h1_in_h2(objectX *h1, objectX *h2, short flag) {return false;}
/* опреация разности примера и входящей в него причины*/
virtual objectX*obj_difference(objectX*h1, objectX*h2) {return NULL;}
/* опреация разности, в зависимости от значения флага применяется к объектам или
свойствам*/
virtual objectX*obj_difference(objectX *h1, objectX *h2, short flag) {return NULL;}
/*операция объединения*/
virtual objectX*hyp_union(objectX*h1, objectX*h2){return NULL;}
232
/*операция объединения, в зависимости от значения флага применяется к объектам
или свойствам*/
virtual objectX*hyp_union(objectX*h1, objectX*h2, short flag) {return NULL;}
/* проверка пуст или нет один из признаков с соответствующим номером*/
virtual bool attrib_empty(objectX*obj, short attrNum, short countOuter, short countInner)
{return false;}
/*запись/чтение гипотез в файл*/
virtual bool writeResultTo_xls(class algorithmJSM* JSM, char fileName[]) {return true;}
virtual int read_hypotheses(CString filePath, vector<vector<class objectX*>>& arr){return 0;}
/*получить длину компоненты в объекте по флагу, функция необходима для
неатомарного ДСМ-метода, 1 - сумма длин компонент левой части, 2 - сумма длин компонент
правой части*/
virtual int get_length(short flag){return 0;}
};
233
Приложение А.6. Класс, представляющий структуру объекта или свойств
примера, включающую несколько компонент
В классах-потомках все необходимые функции переопределены.
class objectX_unary_compound : public objectX
{
public:
/* динамический массив компонент примера*/
vector<shared_ptr<class objectX>> components;
static vector<bool> component_included;/*i-е значение данного массива указывает,
обязательно (значение равно true) ли присутствие компоненты в гипотезе или нет (false) */
objectX_unary_compound();
objectX_unary_compound(int amount_of_components);
virtual ~objectX_unary_compound();
/*создание нового объекта*/
objectX* createNewObject(objectX* ob);
/*операция сходства, функция возвращает NULL, если нет никакого сходства*/
objectX*hyp_similarity(objectX*h1, objectX*h2);
/*операция сходства, в зависимости от значения флага создается или нет новый
объект*/
/*flag = 1 - новый объект; 11 - изменение в текущем объекте*/
objectX*hyp_similarity(objectX*h1, objectX*h2, short flag);
/*операция проверки равенства, функция возвращает true, если равны*/
bool hyp_equal(objectX*h1, objectX*h2);
/*операция проверки равенства, в зависимости от значения флага применяется к
объектам или свойствам*/
bool hyp_equal(objectX*h1, objectX*h2, short flag) {return false;}
/*операция вложения, функция возвращает true, если гипотеза 1 вкладывается в
гипотезу 2*/
bool weak_enclosure_h1_in_h2(objectX*h1, objectX*h2);
/*операция вложения, в зависимости от значения флага применяется к объектам или
свойствам*/
bool weak_enclosure_h1_in_h2(objectX *h1, objectX *h2, short flag) {return false;}
/* операция разности примера и входящей в него причины*/
objectX*obj_difference(objectX*h1, objectX*h2);
/*операция объединения*/
objectX*hyp_union(objectX*h1, objectX*h2);
/* проверка того, пуст или нет один из признаков с соответствующим номером
[countOuter][countInner]*/
bool attrib_empty(objectX*obj, short attrNum, short countOuter, short countInner);
/*собственные методы класса*/
bool hyp_similarity_cycle(vector<shared_ptr<objectX>>& v1, vector<shared_ptr<objectX>>&
v2, vector<shared_ptr<objectX>>& result);
234
bool hyp_similarity_cycle(vector<shared_ptr<objectX>>& v1, vector<shared_ptr<objectX>>&
v2, vector<shared_ptr<objectX>>& result, short flag);
bool hyp_equal_cycle(vector<shared_ptr<objectX>>& v1, vector<shared_ptr<objectX>>&
v2);
bool weak_enclosure_h1_in_h2_cycle(vector<shared_ptr<objectX>>& v1,
vector<shared_ptr<objectX>>& v2);
bool obj_difference_cycle(vector<shared_ptr<objectX>>& v1,
vector<shared_ptr<objectX>>& v2, vector<shared_ptr<objectX>>& result);
bool hyp_union_cycle(vector<shared_ptr<objectX>>& v1, vector<shared_ptr<objectX>>& v2,
vector<shared_ptr<objectX>>& result);
/**********************************/
/*получить длину компоненты в объекте, функция необходима для неатомарного ДСМметода, параметр flag нужен только для верности наследования объекту object.*/
int get_length(short flag);
};
235
Приложение А.7. Класс, представляющий пример, у которого структура
объекта и/или свойств включает несколько компонент
В классах-потомках все необходимые функции переопределены.
class objectX_binary_compound : public objectX
{
public:
shared_ptr<objectX_unary_compound> left; /*левая часть примера*/
shared_ptr<objectX_unary_compound> right; /*правая часть примера*/
objectX_binary_compound();
objectX_binary_compound(shared_ptr<objectX_unary_compound> left_part,
shared_ptr<objectX_unary_compound> right_part);
/*операция сходства, функция возвращает NULL, если нет никакого сходства*/
objectX*hyp_similarity(objectX*h1, objectX*h2);
/*операция сходства, в зависимости от значения флага применяется к объектам или
свойствам*/
objectX*hyp_similarity(objectX*h1, objectX*h2, short flag);
/*операция проверки равенства, функция возвращает true, если равны*/
bool hyp_equal(objectX*h1, objectX*h2);
/*операция проверки равенства, в зависимости от значения флага применяется к
объектам или свойствам*/
bool hyp_equal(objectX*h1, objectX*h2, short flag);
/*операция вложения, функция возвращает true, если тело гипотезы h1 вкладывается в
тело гипотезы h2*/
bool weak_enclosure_h1_in_h2(objectX*h1, objectX*h2);
/*операция вложения, в зависимости от значения флага применяется к объектам или
свойствам*/
bool weak_enclosure_h1_in_h2(objectX *h1, objectX *h2, short flag);
/* операция разности примера и входящей в него причины*/
objectX*obj_difference(objectX*h1, objectX*h2);
/* операция разности, в зависимости от значения флага применяется к объектам или
свойствам*/
objectX*obj_difference(objectX *h1, objectX *h2, short flag);
/*операция объединения*/
objectX*hyp_union(objectX*h1, objectX*h2){return NULL; }
/*операция объединения, в зависимости от значения флага применяется к объектам
или свойствам*/
objectX*hyp_union(objectX*h1, objectX*h2, short flag);
/* проверка пуст или нет один из признаков с соответствующим номером*/
virtual bool attrib_empty(objectX*obj, short attrNum) {return false;}
/*получить длину компоненты в объекте по флагу, функция необходима для
неатомарного ДСМ-метода, 1 - сумма длин компонент левой части, 2 - сумма длин компонент
правой части*/
int get_length(short flag);
};
236
Приложение А.8. Класс, представляющий гипотезу
class hypothesis
{
public:
char sort; /* знак гипотезы (+, -, 0)*/
char method_got; /* 'i' - гипотеза получена индукцией (induction)
'r' - гипотеза получена методом остатков (remainder)*/
bool status; /*статус: true для гипотезы, если ее следует включить в итоговый результат,
иначе false*/
bool statusTemp; /* вспомогательный статус, необходим для некоторых процедур*/
short hypID; /*идентификатор гипотезы*/
class objectX*obj; /*тело гипотезы */
short nStep; /*шаг, на котором гипотеза получена */
vector<hypothesis*> parents;/*массив для хранения ссылок на родителей гипотезы для
алгоритма Норриса*/
vector<hypothesis*> parentHyps;/* список гипотез, в порождении к-х участвовал пример
(для общего метода сходства-различия)*/
vector<hypothesis*> tParentHyps;/* список доопределивших гипотез для тау-примеров*/
hypothesis();
hypothesis(objectX*p);
~hypothesis();
/*вспомогательные функции гипотезы */
void getString_FromIdsList(vector<hypothesis*>& lst, char str[]);
void getString_FromIdsArray(vector<short> parents, hypothesis*ex[], char str[]);
void getString_FromIdsArray(vector<hypothesis *>& parents, char str[]);
bool getHypothesisStatus() { return this->status; };
/*вкладывается ли множество родителей гипотезы h1 в множество родителей h2*/
bool parents_enclosure(hypothesis*h1, hypothesis*h2);
};
237
Приложение А.9. Класс, представляющий усеченный метод остатков
class truncResid
{
public:
vector<class element* > elem; /*массив признаков*/
truncResid();
~truncResid();
/*чтение гипотез во внутренний массив */
void read_hyps(_ConnectionPtr m_conn, _RecordsetPtr m_rst, char* sqlQuery, vector<class
hypothesis*>& hyps);
/*алгоритм, реализующий вычитание гипотез для метода остатков*/
/*параметр необходим int&nNum для формирования идентификаторов новых гипотез*/
void truncated_ResiduesMethod(vector<class hypothesis*>& hyp1, vector<class
hypothesis*>& hyp2, int&nNum, vector<class hypothesis*>& result);
/*запись результатов*/
bool write_result(_RecordsetPtr m_rst, vector<class hypothesis*>& hyps);
/*главная функция*/
bool start_ResiduesMethod(char* filePath[]);
};
238
Приложение А.10. Класс, представляющий фильтры
class filter
{
public:
/*массив списков с идентификаторами признаков, определенных в фильтр*/
/*каждый список соответствует одной из компонент, входящих в структуру объекта*/
vector<list<short>> andPlus;
vector<list<short>> orPlus;
vector<list<short>> andMinus;
vector<list<short>> orMinus;
filter(size_t num);
~filter();
};
239
Приложение А.11. Класс, представляющий алгоритм вычисления
непротиворечивости гипотез, полученных на последовательности баз
фактов
typedef vector<vector<class objectX*>> array_hyps;
class ContradictionCalculation_Algorithm
{
public:
ContradictionCalculation_Algorithm();
ContradictionCalculation_Algorithm(int n, float contra_threshold);
~ContradictionCalculation_Algorithm();
/*начать работу алгоритма*/
bool start_Algorithm(vector<CString>& file_paths, class objectX* domain_object);
/*подсчет противоречивых гипотез и коэффициента, i_target - индекс для 1-го массива
array1: какой подмассив гипотез будет просмотрен*/
float count_contradictory_hypotheses_and_coefficient(vector<vector<class objectX*>>
&array1, vector<vector<class objectX*>> &array2, int i_target);
/*полученные степени противоречивости,
res_coefficient[i][0] – для (+)-гипотез, res_coefficient[i][1] - для (–)-гипотез,
res_coefficient[i][2] - для (0)-гипотез */
vector<vector<float>> res_coefficient;
/*все гипотезы, считанные из файлов*/
vector<array_hyps> array_all_hyps;
/*число обрабатываемых файлов*/
int numFile;
/*порог непротиворечивости (по умолчанию равен 0.2) */
float contradiction_threshold;
};
240
ПРИЛОЖЕНИЕ Б. ДСМ-РЕШАТЕЛЬ: РУКОВОДСТВО
ПОЛЬЗОВАТЕЛЮ
Содержание
1. Назначение программы.................................................................................................................. 242
2. Технические требования................................................................................................................ 242
3. Установка программы .................................................................................................................... 242
4. Запуск программы .......................................................................................................................... 242
5. Режимы программы ....................................................................................................................... 242
5.1 Прямой ДСМ-метод АПГ, атомарная версия ............................................................................ 243
5.2 Прямой ДСМ-метод АПГ, неатомарная версия ........................................................................ 245
5.3 Обратный ДСМ-метод АПГ ........................................................................................................ 245
5.4 Усеченный метод остатков .......................................................................................................... 246
5.5 Вычисление противоречивости на двух массивах гипотез ...................................................... 246
5.6 Вычисление противоречивости на N массивах гипотез ........................................................... 247
6. Дополнительные опции ................................................................................................................. 248
7. Возможные ошибки и предупреждения при работе с программой........................................... 249
8. Завершение работы с программой ................................................................................................ 249
241
1. Назначение программы
Проведение исследований с использованием ДСМ-метода автоматического порождения
гипотез. Данная программа позволяет работать с данными трех предметных областей:
фармакологии, медицинской диагностики, социологии. К программе прилагаются примеры
документов представления входных данных и полученных результатов.
2. Технические требования

Windows 2000/NT/XP/Vista/7

70 Мб свободной памяти на жестком диске

Microsoft Office Excel, версия не ниже 2003

Microsoft Office Access, версия не ниже 2003
3. Установка программы
Для установки программы необходимо скопировать на Ваш компьютер папку
JSM_Application. В ней содержатся все необходимые библиотеки и папка с примерами
Samples. Дополнительно следует запустить файл
regTreeView.cmd для регистрации
компоненты Microsoft TreeView Control (файл MSCOMCTL.OCX) на случай отсутствия ее на
Вашем компьютере.
4. Запуск программы
Для запуска программы необходимо запустить файл JSM_App.exe.
5. Режимы программы
Программа позволяет пользователю работать в шести режимах:

Проведение эксперимента с использованием прямого ДСМ-метода АПГ, атомарная
версия.

Проведение эксперимента с использованием прямого ДСМ-метода АПГ, неатомарная
версия.

Проведение эксперимента с использованием обратного ДСМ-метода АПГ.

Усеченный метод остатков.

Вычисление противоречивости на двух массивах гипотез.
242

Вычисление противоречивости на N массивах гипотез (N ≥ 2).
5.1 Прямой ДСМ-метод АПГ, атомарная версия
Для запуска этого режима либо выберите пункт меню «Алгоритм ДСМ-метода АПГ:
атомарная правая часть» опции «Файл», либо нажмите первую кнопку на панели элементов
управления (при наведении на кнопку появится всплывающая подсказка «Атомарный ДСМметод»), либо воспользуйтесь сочетанием клавиш «Ctrl» и «1». Перед Вами появится
диалоговое окно для загрузки файла с данными.
Выберите предметную область: фармакология, медицина или социология. Для выбора
файла с данными воспользуйтесь кнопкой «Обзор…».
Для фармакологии и социологии следует выбирать файлы формата .xls, для медицины .xls-файлы или файлы с расширением .mdb. Подробно о структуре входных документов см.
главу «2 Визуальное представление данных». Для ознакомления со структурой представления
данных рекомендуется изучить документы Pharmacology_MainDocument.xls (фармакология),
HELM75_DB-Test.xls, HELM75_DB.mdb (медицина), Sociology.xls (социология) из папки
Samples.
Нажмите на кнопку «Продолжить».
В случае выбора .xls-файла с медицинскими данными появится дополнительное
диалоговое окно для загрузки .txt-файлов с описанием исследуемых признаков. Для выбора
файла с описанием признаков воспользуйтесь кнопкой «Обзор…». Примеры структуры
файлов с описание признаков: HELM_Description.txt (описание признаков данных болезней
глаз) и Oncology_Description.txt (онкологические данные).
Нажмите на кнопку «Продолжить».
Перед Вами появится диалоговое окно «Параметры ДСМ-метода» для настройки ДСМРешателя на эксперимент. Опция «Метод остатков» будет недоступна, так как это метод
неатомарного ДСМ-метода. Опции «Использовать (+) фильтры», «Использовать (–) фильтры»
доступны только при работе с медицинскими и социологическими данными.
В разделе «Выберите стратегию» можно указать (+)-предикат и (–)-предикат из
перечисленных в выпадающем списке: «Простой предикат сходства», «Миллевский метод
различия», «Упрощение метода сходства-различия», «Метод сходства-различия».
Также можно усилить выбранные предикаты, используя параметры «Запрет на (–)контрпримеры»,
«Запрет
на
(+)-контрпримеры»,
«Запрет
на
(0)-контрпримеры»,
«Единственность причины», потребовать дополнительные ограничения («Использовать (±)
243
фильтры»,), а в разделе «Дополнительно» выбрать опции «Доопределение по одному»,
«Сохранение данных для “куста” гипотез».
В текстовых полях можно установить пороги родителей для (+), (–) и (0)-гипотез (по
умолчанию они равны двум).
Если была выбрана опция «Доопределение по одному», то после окончания ДСМметода для исходных (+), (–) и (0)-примеров будет выполнена процедура «доопределение по
одному». Последовательно каждому объекту присваивается значение «» (в программе это
«?»), производится доопределение этого объекта средствами ДСМ-Решателя с выбранными
параметрами.
Процедура «Сохранение данных для “куста” гипотез» была разработана для
социологических данных, но ее применение возможно для любой предметной области.
После установки всех необходимых параметров нажмите на кнопку «Выполнить».
Появится сообщение «Алгоритм сейчас начнет работу. Продолжить?». В случае, если Вы
неверно указали параметры алгоритма, нажмите «Нет».
После нажатия кнопки «Да», заголовок диалогового окна изменится на «Алгоритм
выполняется…». После окончания алгоритма появится сообщение о завершении работы
алгоритма.
Если была выбрана опция «Доопределение по одному», появится дополнительное окно
для подтверждения выполнения этой процедуры.
Если выполнение этой процедуры не
требуется, нажмите «Нет». Если же была нажата кнопка «Да», то в процессе работы
соответствующей процедуры в заголовке окна будет отображено, какое количество примеров
доопределено на текущий момент из общего количества примеров (например, «Доопределено
5 из 62»).
Когда работа алгоритма будет завершена и будет нажата кнопка «OK» в окне
соответствующего
сообщения,
заголовок
диалогового
окна
изменится
на
«Запись
результатов…». После завершения записи полученных результатов появится соответствующее
сообщение и после нажатия кнопки «OK» автоматически закроются все диалоговые окна.
После обработки фармакологических и медицинских данных гипотезы, параметры
эксперимента, результаты процедур доопределения ()-примеров и «доопределения по
одному» будут записаны в исходный файл в соответствующие поля вкладок (или поля таблиц
в случае обработки файла .mdb с медицинскими данными).
После обработки социологических данных результаты процедур доопределения ()примеров и «доопределения по одному» будут записаны в исходный файл в соответствующие
поля вкладок. Гипотезы и результат процедуры «Сохранение данных для “куста” гипотез»
будут записаны в файл Sociology.txt, который появится в той же папке, что и исходный файл с
244
данными. Затем пользователь может переименовать файл, используя меню работы с файлами
операционной системы.
5.2 Прямой ДСМ-метод АПГ, неатомарная версия
Для запуска этого режима либо выберите пункт меню «Алгоритм ДСМ-метода АПГ:
неатомарная правая часть» > «Прямой метод» опции «Файл», либо нажмите вторую кнопку на
панели элементов управления (при наведении на кнопку появится всплывающая подсказка
«Неатомарный ДСМ-метод»), либо воспользуйтесь сочетанием клавиш «Ctrl» и «2». Перед
Вами появится диалоговое окно для загрузки файла с данными.
В этом режиме доступны две предметные области: медицина, социология.
Для выбора файла с данными воспользуйтесь кнопкой «Обзор…». Файл с входными
данными должен иметь расширение .xls.
Подробно о структуре входных документов см.
главу «2 Визуальное представление данных». Для ознакомления со структурой представления
данных рекомендуется изучить примеры MedSample_NonAtomJSM.xls (этому примеру
соответствует файл с описанием признаков HELM_Description.txt) и Sociology.xls.
Далее последовательность действий для работы с программой такая же, как в режиме
«ДСМ-метод АПГ, атомарная версия». Отличием является то, что теперь доступна опция
«Метод остатков».
При выборе опции «Метод остатков» для (+)-предиката будет доступен список из двух
элементов: «+\+» (что означает, что после стабилизации процесса ДСМ-рассуждений новые
гипотезы будут получены путем вычитания из (+)-примеров (+)-гипотез), «–\+» (что означает,
что гипотезы будут получены путем вычитания из (–)-примеров (+)-гипотез).
Аналогично для (–)-предиката будут доступны опции «–\–», «+\–».
5.3 Обратный ДСМ-метод АПГ
Для запуска этого режима либо выберите пункт меню «Алгоритм ДСМ-метода АПГ:
неатомарная правая часть» > «Обратный метод» опции «Файл», либо нажмите третью кнопку
на панели элементов управления (при наведении на кнопку появится всплывающая подсказка
«Обратный ДСМ-метод»), либо воспользуйтесь сочетанием клавиш «Ctrl» и «3». Перед Вами
появится диалоговое окно для загрузки файла с данными.
В этом режиме доступны две предметные области: медицина, социология.
Для выбора файла с данными воспользуйтесь кнопкой «Обзор…». Файл с входными
данными должен иметь расширение .xls.
Подробно о структуре входных документов см.
245
главу «2 Визуальное представление данных». Для ознакомления со структурой представления
данных рекомендуется изучить примеры MedSample_NonAtomJSM.xls (этому примеру
соответствует файл с описанием признаков HELM_Description.txt) и Sociology.xls.
Далее последовательность действий для работы с программой такая же, как в режиме
«Прямой ДСМ-метод АПГ, (не)атомарная версия».
В разделе «Выберите стратегию» в качестве (+)-предиката и (–)-предиката доступен
«Простой предикат сходства».
Также можно усилить выбранные предикаты, используя параметры «Запрет на (–)контрпримеры»,
«Запрет
на
(+)-контрпримеры»,
«Запрет
на
(0)-контрпримеры»,
«Единственность следствия», потребовать дополнительные ограничения («Использовать (±)
фильтры»,), а в разделе «Дополнительно» выбрать опции «Доопределение по одному» и
«Сохранение данных для “куста” гипотез».
5.4 Усеченный метод остатков
Для запуска этого режима либо выберите пункт меню «Усеченный метод остатков»
опции «Файл», либо нажмите третью кнопку на панели элементов управления (при наведении
на кнопку появится всплывающая подсказка «Усеченный метод остатков») , либо
воспользуйтесь сочетанием клавиш «Ctrl» и «R». Перед Вами появится диалоговое окно для
выбора файлов с данными.
Для проведения эксперимента необходимо указать три файла в формате .xls: первый
файл с гипотезами, второй файл с гипотезами и файл для сохранения полученного результата.
(Подробно о структуре входных документов см. главу «2 Визуальное представление данных»).
Для выбора файлов с данными воспользуйтесь кнопкой «Обзор…».
После того как указаны все файлы, нажмите кнопку «Выполнить». В случае успешного
завершения процедуры появится сообщение «Задача выполнена! Результаты успешно
сохранены...», и после нажатия кнопки «OK» диалоговое окно закроется.
5.5 Вычисление противоречивости на двух массивах гипотез
Для запуска этого режима либо выберите пункт меню «Вычисление противоречивости»
> «для 2 массивов гипотез» опции «Файл». Перед Вами появится диалоговое окно с
заголовком «Вычисление противоречивости».
Из выпадающего списка необходимо выбрать одну из предметных областей:
фармакология, медицина, социология.
246
В текстовом поле указать порог непротиворечивости массивов гипотез (по умолчанию
он равен 0.2).
Для выбора первого файла с данными воспользуйтесь кнопкой «Обзор…»,
расположенной справа от надписи «Выберите 1 файл с гипотезами».
Для выбора второго
файла с данными воспользуйтесь кнопкой «Обзор…»,
расположенной справа от надписи «Выберите 2 файл с гипотезами».
Для фармакологии и медицины файлы с входными данными должны иметь расширение
.xls, в которых ранее были записаны гипотезы, полученные прямым или обратным ДСМметодом АПГ (см. разделы 5.1, 5.2 и 5.3 данного руководства). Для социологии файлы с
гипотезами должны иметь расширение .txt. Подробно о структуре входных документов см.
главу «2 Визуальное представление данных».
Нажмите на кнопку «Вычислить». После окончания работы алгоритма появится
сообщение
о
завершении:
противоречивой…»
или
«Алгоритм
«Алгоритм
закончил
закончил
работу!
работу!
Стратегия
Стратегия
оказалась
оказалась
непротиворечивой…». В текстовом поле «Полученный результат» будут выведены степени
противоречивости для (+), (–) и (0)-гипотез с точностью до 3 знаков после запятой. Если
гипотезы какого-то знака в исходных данных отсутствуют, то степень противоречивости равна
0.000 (так же, как и для абсолютно непротиворечивых гипотез).
Чтобы закрыть диалоговое окно, нажмите в его правом верхнем углу на кнопку с
изображением крестика.
5.6 Вычисление противоречивости на N массивах гипотез
Для запуска этого режима либо выберите пункт меню «Вычисление противоречивости»
> «для N массивов гипотез» опции «Файл». Перед Вами появится диалоговое окно с
заголовком «Вычисление противоречивости» и двумя вкладками: «Выбор данных»,
«Результат».
На вкладке «Выбор данных» из выпадающего списка необходимо выбрать одну из
предметных областей: фармакология, медицина, социология.
В текстовом поле необходимо указать порог непротиворечивости массивов гипотез (по
умолчанию он равен 0.2).
Файлы с данными необходимо выбрать по одному, при этом файлы будут обработаны
алгоритмом в порядке следования в поле «Список файлов». Сначала вычисляются степени
противоречивости гипотез из первого и второго файлов, затем из второго и третьего файлов,
затем из первого и третьего файлов и т.д. для каждой пары файлов. Если на каком-то шаге (+),
247
или (–), или (0)-гипотезы из обрабатываемых двух файлов оказались противоречивы, то
соответствующее сообщение будет выведено на экран и алгоритм закончит работу. Чтобы
выбрать, удалить файлы или поменять порядок следования файлов, используйте кнопки
(расположенные над полем «Список файлов») с всплывающими подсказками: «Добавить файл
с данными в список», «Удалить выделенный файл из списка», «Переместить выделенный файл
вверх», «Переместить выделенный файл вниз».
Для фармакологии и медицины файлы с входными данными должны иметь расширение
.xls, в которых ранее были записаны гипотезы, полученные прямым или обратным ДСМметодом АПГ (см. разделы 5.1, 5.2 и 5.3 данного руководства). Для социологии файлы с
гипотезами должны иметь расширение .txt. Подробно о структуре входных документов см.
главу «2 Визуальное представление данных».
Нажмите на кнопку «Вычислить». После окончания работы алгоритма появится
сообщение
о
завершении:
противоречивой…»
или
«Алгоритм
«Алгоритм
закончил
закончил
работу!
работу!
Стратегия
Стратегия
оказалась
оказалась
непротиворечивой…».
На вкладке «Результат» в таблице будут представлены полученные степени
противоречивости. В каждой строке таблицы выводятся степени противоречивости для
каждой пары файлов. Таблица имеет четыре столбца: «Номера № --- №» (порядковые номера
файлов, например 1 --- 2, 1 --- 3, 2 --- 3), « f(+) » (степень противоречивости (+)-гипотез о
причинах из первого файла с (–) и (0)-гипотезами о причинах из второго файла), « f(–) »
(степень противоречивости (–)-гипотез о причинах из первого файла с (+) и (0)-гипотезами о
причинах из второго файла), « f(0) » (степень противоречивости (0)-гипотез о причинах из
первого файла с (+) и (–)-гипотезами о причинах из второго файла), « F(+) » (степень
противоречивости (+)-гипотез о доопределении из первого файла с (–) и (0)-гипотезами о
доопределении из второго файла), «F(–) » (степень противоречивости (–)-гипотез о
доопределении из первого файла с (+) и (0)-гипотезами о доопределении из второго файла),
«F(0) » (степень противоречивости (0)-гипотез о доопределении из первого файла с (+) и (–)гипотезами о доопределении из второго файла). Степени противоречивости выводятся с
точностью до 3 знаков после запятой. Если гипотезы какого-то знака в исходных данных
отсутствуют, то степень противоречивости равна 0.000 (так же, как и для абсолютно
непротиворечивых гипотез).
Чтобы закрыть диалоговое окно, нажмите в его правом верхнем углу на кнопку с
изображением крестика.
6. Дополнительные опции
248
С помощью опции меню «Вид» можно скрыть и вернуть обратно панель элементов
управления (Toolbar) или строку состояния окна приложения (Status Bar).
7. Возможные ошибки и предупреждения при работе с программой
Во всех случаях, когда требуется указать источник данных, а также указать пороги
родителей гипотез, если текстовое поле осталось пустым, работа программы не будет
продолжена: появятся соответствующие сообщения, например, "Укажите источник данных!",
"Укажите порог родителей (+) гипотез!" и др.
В случае возникновения ошибок при чтении данных или записи результатов, будет
выдано сообщение с указанием того, где произошла ошибка. Например, "В файле нет
признаков для сравнения!", "В базе данных нет пациентов, включенных в эксперимент!",
"Error when writing to 'T_Result'" и проч. Если же ошибка произошла из-за неправильно
выбранного источника данных, из-за нарушения структуры в источнике данных и проч., то
будет выдано стандартное сообщение вида
"_com_error:
Error: номер ошибки
Error Message: сообщение ошибки
Error Description: описание ошибки
Error Source: источник ошибки".
При возникновении ошибок при чтении или записи данных следует убедиться в
правильности структуры входного файла, руководствуясь полученным сообщением.
Если ошибка произошла в ходе работы алгоритма, то необходимо еще раз проверить
входные данные в соответствии с требуемым форматом и структурой. (Подробно о структуре
входных документов см. главу «2 Визуальное представление данных».)
8. Завершение работы с программой
Для выхода из программы либо нажмите пункт меню «Выход» опции «Файл» или на
«крестик» в правом верхнем углу окна приложения, либо воспользуйтесь сочетанием клавиш
«Ctrl» и «Q».
249
ПРИЛОЖЕНИЕ В. КОМПЬЮТЕРНАЯ
ИНТЕЛЛЕКТУАЛЬНАЯ СИСТЕМА JSM-SOCIO:
РУКОВОДСТВО ПОЛЬЗОВАТЕЛЮ
Содержание
1.
Обзор………………………………………………………………………………..251
2.
Технические требования для работы с системой ………………………………..252
3.
Проведение эксперимента………………………………………………………...253
3.1.
Подготовка файла SPSS ........................................................................................ 253
3.2.
Приложение «Проведение эксперимента» .......................................................... 254
3.3.
Автоматическая обработка файла SPSS .............................................................. 256
3.4.
Загрузка файла Microsoft Office Excel ................................................................. 258
3.5.
Определение общей структуры объекта. ............................................................ 260
3.6.
Классификация признаков. ................................................................................... 264
3.7.
Настройка фильтров. ............................................................................................. 270
3.8.
Выбор респондентов ............................................................................................. 275
3.9.
Выбор стратегии и эксперимент .......................................................................... 277
Просмотр результатов эксперимента…………………………………………….283
4.
5.
4.1.
Приложение «Просмотр результатов» ................................................................ 283
4.2.
Загрузка данных ..................................................................................................... 286
4.3.
Параметры .............................................................................................................. 288
4.4.
Признаки................................................................................................................. 290
4.5.
Эффект .................................................................................................................... 292
4.6.
Респонденты ........................................................................................................... 293
4.7.
Гипотезы ................................................................................................................. 298
Обратная связь……………………………………………………………………..305
250
1. Обзор
Данное руководство пользователя поможет вам начать работу с компьютерной
интеллектуальной системой JSM-Socio. Система представляет собой практический инструмент
для социолога-эксперта и позволяет исследовать данные социологического опроса.
Качественный анализ данных реализуется с использованием стратегий ДСМ-метода
автоматического порождения гипотез (АПГ).
Система включает следующие функциональные возможности:
Предобработка данных: перекодировка данных, перевод в другой формат (из файлов
Statistical Package for the Social Sciences (SPSS) формата .sav в формат Microsoft Office Excel).
Возможность классификации признаков, описывающих респондента, экспертом:
признаки, соответствующие описанию объекта,
признаки, описывающие мнение,
признаки, описывающие ситуацию.
Выделение целевого признака (свойства для изучения) и автоматическое разделение
респондентов на группы в соответствии с выделенным свойством .
Введение дополнительных ограничений на данные в виде фильтров (выборка признаков,
которые требуется исследовать).
Выбор используемой стратегии анализа данных.
Реализация стратегий ДСМ-метода АПГ: простой метод сходства, запрет на (±)контрпримеры;
атомарная/неатомарная,
прямая/обратная
версии;
простой
ДСМ-метод
/ситуационный ДСМ-метод АПГ.
Выдача результата, который представляет собой гипотезы, полученные различными
стратегиями, и прогнозирование значения целевого свойства у респондентов, для которых это
значение изначально не определено.
Представление полученных результатов: представление данных респондентов и гипотез,
удобное для анализа экспертом (таблица / «дерево»).
Задачи, для решения которых предназначена система:
251
3. качественный анализ анкет социологического опроса с использованием стратегий
ДСМ-метода АПГ:
 извлечение причинно-следственных зависимостей, содержащихся в данных;
 прогнозирование значения изучаемого свойства;
 оценка полученных гипотез посредством процедуры объяснения исходного множества
фактов;
4. представление данных опроса в форме, удобной для исследования.
2. Технические требования для работы с системой

Тип ЭВМ. IBM PC-совместимые ПК.

Операционная система. Windows XP SP1 и выше.

Для того чтобы начать работать с системой (далее мы будем называть ее приложением)
скопируйте папку JSM_System_Sociology на диск вашей операционной системы. Папка
занимает около 15 Мегабайт.
252
3. Проведение эксперимента
3.1. Подготовка файла SPSS
Для проведения эксперимента нам понадобится файл с данными.
Для подготовки данных используйте систему Statistical Package for the Social Sciences
(SPSS).
Для извлечения данных из файлов формата .sav используется библиотека, бесплатно
поставляемая на сайте продукта Statistical Package for the Social Sciences (SPSS Statistics InputOutput Module).
Ограничения, на которые следует обратить внимание при заполнении .sav файла:
A. Для вариантов ответов допускаются значения типа Numeric от 0 до 255.
B. Путь к файлу типа .sav и его название не должны содержать буквы, отличные от
латинских.
Пример корректного пути:
C:\myExperiments\experiment_20130110\socio-experiment-1.sav
Пример некорректного пути:
C:\МоиЭксперименты\experiment_20130110\socio-эксперимент-1.sav
Ограничение
А
накладывается
программой-решателем,
с
помощью
которой
определяются причинно-следственные зависимости, содержащиеся в данных.
Указание В является ограничением возможностей библиотеки SPSS Statistics InputOutput Module.
Когда файл с данными подготовлен, можно приступать к работе с системой.
253
3.2. Приложение «Проведение эксперимента»
Приложение «Проведение эксперимента» необходимо, чтобы подготовить данные для
обработки и анализа: перевести данные во внутренний формат системы, заполнить
необходимые параметры и собственно провести эксперимент с использованием ДСМ-метода
АПГ.
1) Откройте файловую папку приложения JSM_System_Sociology.
2) Щелкните левой кнопкой мыши 2 раза на файле experiment.hta.
3) Приложение откроется, и вы увидите окно, разделенное на три зоны:
Верхняя горизонтальная панель – это меню для выбора и загрузки файлов с данными.
254
В левой вертикальной панели содержатся 5 разделов с настройками, которые должен
определить эксперт:

Общая структура объекта

Классификация признаков

Настройка фильтров

Выбор респондентов

Выбор стратегии и эксперимент
Правая нижняя панель необходима для вывода содержания соответствующего раздела.
4) Вы можете перемещать границы панелей.
Для этого наведите курсор мыши на границу двух соседних панелей (чтобы курсор
принял форму двойной стрелки ↔), нажмите левую кнопку мыши и потяните, чтобы
настроить нужную ширину.
255
3.3. Автоматическая обработка файла SPSS
Внутренний формат файлов, который использует приложение, - Microsoft Office Excel
97-2003 Worksheet (.xls). Файл соответствующего формата будет сгенерирован системой.
1) На верхней панели установите флажок на пункте «Подготовить новый excel файл для
обработки». Появятся дополнительные поля для выбора файла с данными.
2) Нажмите на кнопку «Обзор» для выбора файла с расширением . sav.
3) Во втором текстовом поле введите имя для Excel файла (без расширения).
Например, f7_test:
4) Нажмите на кнопку «Обработать».
Откроется консольное окно. Подождите, пока обработка .sav файла будет завершена.
В открывшемся окне должно появиться сообщение «Нажмите любую клавишу для
завершения»:
256
Сгенерированный Excel файл будет сохранен в той же папке, что и файл SPSS.
Если по окончании обработки файла вы видите какие-то сообщения об ошибке, еще раз
проверьте, правильно ли заполнен файл SPSS.
Если файл заполнен правильно, но ошибка все равно возникает, обратитесь за помощью
к разработчику системы.
257
3.4. Загрузка файла Microsoft Office Excel
Для подготовки данных для эксперимента файл, полученный в результате обработки
файла SPSS (см. раздел 3.2 данного руководства), необходимо также обработать в системе.
1)
Установите флажок «Использовать существующий excel файл».
2)
Выберите файл, нажав на кнопку «Обзор».
3)
Нажмите на кнопку «Обработать».
Загрузка данных произойдет через 3-10 секунд (в зависимости от количества данных и
производительности вашего компьютера).
В тот момент, когда данные загрузились, вы увидите, что список свойств в разделе
«Целевое свойство» заполнился:
258
При открытии модуля системы для проведения эксперимента слева находится панель
управления для заполнения параметров эксперимента.
Панель включает 5 разделов:
 Общая структура объекта (содержание раздела отображается по умолчанию).
 Классификация признаков.
 Настройка фильтров.
 Выбор респондентов.
 Выбор стратегии и эксперимент.
Необходимо внимательно заполнить каждый раздел.
Нажмите кнопку
, чтобы открыть нужный раздел.
259
3.5. Определение общей структуры объекта
По умолчанию после загрузки данных из Microsoft Office Excel в окне отображается
раздел «Общая структура объекта»:
1) В подразделе «Компоненты» отметьте флажками, из каких компонент будет состоять
представление объекта: описание, мнение, ситуация.
2) В столбце «Позиция в объекте/гипотезе» из выпадающего списка выберите, какой части
будет принадлежать выбранная компонента.
260
3) В столбце «Присутствие в гипотезе» из выпадающего списка выберите, обязательно ли
должна присутствовать данная компонента в полученных гипотезах или нет.
4) Выберите целевое свойство (изучаемый эффект) в разделе «Целевое свойство» одним
нажатием мыши. Строка с соответствующим признаком будет выделена синим, а снизу
появятся значения выбранного свойства.
261
5) Для каждого значения из выпадающего списка необходимо выбрать истинностную
оценку: истина, ложь, противоречие, неизвестно. По умолчанию для значения стоит
«истина».
Для респондентов, в анкете которых значение целевого свойства отсутствовало, по
умолчанию будет использоваться оценка «неизвестно».
262
Все респонденты, у которых изучаемый эффект неизвестен и которые будут выбраны
для проведения эксперимента, рассматриваются системой как объекты, требующие
доопределения.
Система попробует определить оценку эффекта (истина, ложь, противоречие) для
каждого такого респондента, используя полученные гипотезы.
263
3.6. Классификация признаков
После того как определена общая структура, необходимо провести классификацию
признаков.
1) Откройте раздел «Классификация признаков».
2) В окне содержания раздела отобразится список признаков, а также дополнительные
элементы управления. Используя цветные кнопки «описание», «мнение», «ситуация»,
вам необходимо разметить признаки.
Если вы ранее уже использовали данный Excel файл для эксперимента и сохраняли
использованные настройки, то размеченные признаки будут уже выделены цветом.
264
3) Каждый признак отображается в списке одной строкой.
Выделите признаки, которые требуется отнести к одной из компонент объекта,
нажатием левой кнопки мыши по строкам списка. Выделенные признаки будут
выделены жирным шрифтом и будут иметь красную точечную рамку.
Чтобы снять выделения с выбранных признаков, нажмите кнопку «ЗДЕСЬ» над
списком.
265
4) Когда признаки выделены, нажмите на соответствующую кнопку: «описание»,
«мнение», «ситуация». Строка признака станет окрашена в соответствующий цвет, а
выделение автоматически сбросится.
266
5) Если вы обнаружили, что какие-то признаки распределены неверно, выделите эти
признаки и нажмите либо на цветную кнопку (чтобы поменять компоненту), либо на
кнопку «очистить», чтобы исключить признак из выборки эксперимента.
267
6) Чтобы сбросить разметку со всех признаков, нажмите кнопку «очистить все».
7) Если признаков много, то, используя флажки в столбце «Отображение», можно
регулировать видимость признаков по категориям.
268
269
3.7. Настройка фильтров
Разметка признаков в данном разделе необязательна. Если вы не планируете
использовать фильтры в эксперименте, вы можете переходить к следующему разделу.
1) Откройте раздел «Настройка фильтров».
2) В окне содержания раздела отобразится список размеченных признаков, а также
дополнительные элементы управления. Используя кнопки с изображениями
фильтров, вам необходимо разметить признаки.
270
Различают конъюнктивные фильтры для (+)- и (–)-гипотез, которые объявляют признак
необходимым (его присутствие в гипотезе обязательно) и дизъюнктивные фильтры для (+)- и
(–)-гипотез, которые объявляют признак существенным (в гипотезе обязательно присутствие
одного из отмеченных признаков).
Изображение
Значение
конъюнктивный фильтр для (+)-гипотез
дизъюнктивный фильтр для (+)-гипотез
конъюнктивный фильтр для (–)-гипотез
дизъюнктивный фильтр для (–)-гипотез
271
Каждый признак отображается в списке одной строкой.
3)
Выделите признаки, которые требуется отнести к фильтру, нажатием левой кнопки
мыши по строкам списка. Выделенные признаки будут выделены жирным шрифтом и будут
иметь красную точечную рамку.
4)
5)
272
Чтобы снять выделения с выбранных признаков, нажмите кнопку «ЗДЕСЬ» над
списком.
6) Когда признаки выделены, нажмите на соответствующую кнопку:
(+) И, (+) ИЛИ, (–) И, (–) ИЛИ.
В начале строки появится соответствующее изображение.
Обратите внимание, что выделение автоматически НЕ сбросится!
Вы можете назначить каждому признаку максимум 2 фильтра: один – для (+)-гипотез,
другой – для (–)-гипотез. При нажатии кнопок для разметки фильтров, изображения в начале
строки будут изменяться соответственно.
273
7) Если вы обнаружили, что какие-то признаки распределены неверно, выделите эти
признаки и нажмите либо на кнопку с изображением фильтра (чтобы поменять
фильтр), либо на кнопку «очистить», чтобы убрать фильтры с признака.
8) Чтобы сбросить разметку со всех признаков, нажмите кнопку «очистить все».
9) Если признаков много, то, используя флажки в столбце «Отображение», можно
регулировать видимость признаков по категориям.
10) Пример полученной разметки:
274
3.8. Выбор респондентов
1) Откройте раздел «Выбор респондентов».
2) В окне раздела данные респондентов представлены таблицей.
Таблица включает поля «Порядковый номер» (№ п/п), «Оценка» (оценка зависит от
разметки значений целевого свойства в разделе «Общая структура объекта», см. п. 3.4),
«Выбрать», столбец с целевым свойством и столбцы с остальными признаками.
Устанавливая флажок в столбце «Выбрать» напротив респондента, вы вносите его в
выборку для эксперимента.
275
По умолчанию при первой обработке файла Excel для эксперимента выбраны все
респонденты.
Если вы уже использовали файл для обработки, то будут отмечены респонденты,
выбранные в прошлый раз.
3) Для того чтобы выбрать всех респондентов, нажмите на кнопку «выбрать всех».
4) Для того чтобы снять флажок со всех записей, нажмите на кнопку «очистить».
276
3.9. Выбор стратегии и эксперимент
1) Откройте раздел «Выбор стратегии и эксперимент».
2) В окне раздела появятся настройки для проведения эксперимента.
277
3) Из выпадающего списка выберите стратегию ДСМ-метода АПГ: прямой или
обратный ДСМ-метод:
11) Если в выборке респондентов присутствуют те, у которых оценка изучаемого
эффекта – «неопределенно», и после получения гипотез система смогла
доопределить оценку хотя бы для одного респондента, то процесс ДСМрассуждений будет повторяться до стабилизации (все неопределенные объекты
доопределены или ни один пример больше не доопределяется).
12)
Если вы хотите ограничить процесс, то необходимо поставить флажок напротив
дополнительной настройки «Ограничить количество итераций ДСМ-рассуждений» и указать
количество итераций.
Такая необходимость может возникнуть, если порождается очень много гипотез из-за
большого количества неопределенных примеров. Однако, следуя логике ДСМ-рассуждений,
данную настройку применять не рекомендуется.
(Если гипотез порождается слишком много, это означает, что имеет смысл еще раз
проанализировать данные и, возможно, выбрать другие признаки для эксперимента.)
4) Пересекая данные респондентов с оценками «истина», «ложь» и «противоречие»,
системой будут получены (+)-, (–)- и (0)-гипотезы соответственно.
278
Для (+) и (–)-гипотез можно установить следующие настройки:
 Минимальное количество родителей гипотезы (по умолчанию 2).
 Применить (±)-фильтры.
 Запрет на контрпримеры.
По умолчанию напротив настроек для фильтров и контрпримеров стоит флажок, что
означает «применить данную настройку».
Приведем краткое пояснение к настройке «Запрет на контрпримеры».
Настройка
Пояснение
Запрет на (–)-контрпример
Ни один (–)-пример не вкладывается в (+)-гипотезу.
Запрет на (+)-контрпример
Ни один (+)-пример не вкладывается в (–)-гипотезу.
Запрет на (0)-контрпример
Ни один (0)-пример не вкладывается в (+)/(–)-
279
гипотезу.
5) Для (0)-гипотез можно изменить только «Минимальное количество родителей».
6) Когда вы заполнили всю необходимую информацию во всех разделах, нажмите на
кнопку «1. Запомнить настройки».
Настройки будут сохранены, и вы увидите сообщение «Настройки сохранены
успешно»:
7) Теперь можно приступать к формированию гипотез. Нажмите на кнопку «2.
Провести эксперимент».
8) Откроется консольное окно, в которой будут выводиться данные обработки:
считаны ли корректно данные, номер итерации ДСМ-рассуждений, текущее
количество пересечений по (+)-, (–)- и противоречивым гипотезам.
280
9)
По окончании эксперимента вы должны увидеть сообщение «Алгоритм закончил
работу». Также будет указано количество -примеров (респонденты с оценкой эффекта,
равной «неопределенно») и количество доопределенных примеров.
10)
В окне будет выведено количество респондентов:
(+) – респонденты с оценкой эффекта, равной «истина»,
(–) – «ложь», (0) – «противоречие» (?)– «неопределенно».
11)
В окне будет выведено количество полученных гипотез.
12) В окне будет выведен результат подсчета степеней объяснимости начальной базы
фактов (респондентов с оценкой, отличной от «неопределенно») полученными
гипотезами.
281
Если по какой-либо из оценок степень объяснимости меньше 0.8, то полученные
гипотезы не дают надежной информации. В этом случае стоит пересмотреть выборку
признаков, участвующих в эксперименте или
поменять стратегию
(например,
использовать обратный ДСМ-метод, а не прямой).
13) Нажмите любую клавишу на клавиатуре, чтобы закрыть окно.
14) В файловой системе в той же папке, что и файл Excel, появится файл с тем же
названием, но с расширением .txt. Этот файл содержит данные о полученных
гипотезах. В дальнейшем оба файла понадобятся для просмотра полученного
результата.
282
4. Просмотр результатов эксперимента
4.1. Приложение «Просмотр результатов»
Доступно 2 способа загрузки программы для просмотра результатов, полученных в
результате эксперимента (см. раздел 3 данного руководства).
1) Если у вас уже открыто приложение для проведения эксперимента, нажмите на синюю
кнопку со стрелкой в левом верхнем углу:
Вы увидите всплывающее окно, в котором необходимо нажать кнопку «Запустить».
2) В папке программы JSM_System_Sociology откройте файл двойным щелчком мыши
viewer.hta.
283
3) Приложение откроется, и вы увидите окно, разделенное на четыре зоны.
Верхняя горизонтальная панель – это меню с настройками.
Доступно четыре настройки:
284
В левой вертикальной панели содержится информация по категориям:
 Параметры (эксперимента)
 Признаки
 Изучаемый эффект
 Респонденты
 Гипотезы
Правая средняя и нижняя панели необходимы для вывода более детальной информации
в виде таблиц.
4) Все кнопки на странице выполняют некоторую функциональность.
Вы можете перемещать границы панелей.
Для этого наведите курсор мыши на границу двух соседних панелей (чтобы курсор
принял форму двойной стрелки ↔), нажмите левую кнопку мыши и потяните, чтобы
настроить нужную ширину.
285
4.2. Загрузка данных
Для загрузки данных вам понадобятся два файла: файл формата .xls и файл формата .txt.
Чтобы получить эти файлы, необходимо провести эксперимент (см. раздел 3 данного
руководства).
1) На верхней панели открытого приложения нажмите кнопку «Обзор» напротив
текстового поля «Файл с исходными данными», чтобы выбрать файл формата
.xls.
2) Нажмите кнопку «Обзор» напротив текстового поля «Файл с гипотезами»,
чтобы выбрать файл формата .txt.
3) Выберите нужные настройки. По умолчанию выбраны настройки «Визуализация
гипотез по «кустовому» принципу», «Вывод значений признаков их текстовыми
аналогами» и «Скрывать в дереве гипотез признаки предыдущего уровня».
Последние две настройки можно менять в процессе просмотра данных.
Если вы проводили эксперимент с использованием фильтров, отметьте флажком
настройку «Визуализация ядерных признаков (фильтров)».
Учтите, что настройки визуализации гипотез и фильтров будут недоступны для
изменения после загрузки данных!
Если вы забыли указать одну из настроек, а данные уже загружены, необходимо
закрыть и снова открыть приложение, выбрать нужные настройки и данные для загрузки в
систему.
4) Нажмите кнопку «Загрузить».
5) В окне появятся изображение, означающее, что идет процесс загрузки (с
надписью «Loading»), и сообщение «Начинается загрузка данных». Нажмите
«OK».
286
6) Когда загрузка завершена изображение «Loading» исчезнет, а на левой
вертикальной
панели
в
скобках
отобразятся
количество
респондентов и гипотез. Напротив раздела «Эффект» появится 1.
Нажмите кнопку
, чтобы открыть нужный раздел.
287
признаков,
4.3. Параметры
1) Откройте раздел «Параметры».
2) В правой средней панели появится таблица с параметрами эксперимента.
Параметр «Структура объекта» имеет следующую запись:
(<компонента1>, <компонента2>, ..) стрелка (<компонента1>, <компонента2>, ..)
288
Здесь в качестве компоненты могут выступать описание, мнение и ситуация.
Стрелка имеет форму -->, если эксперимент проводился с использованием прямого
ДСМ-метода, и <-- , в случае обратного ДСМ-метода.
Если компонента была выделена как обязательная для настройки «Присутствие в
гипотезе» (см. раздел 3.5 данного руководства), то ее название будет выделено жирным
шрифтом и подчеркнуто.
Если был проведен эксперимент прямым ДСМ-методом и все компоненты были
отнесены в левую часть, то параметр «Структура объекта» имеет следующую запись:
(<компонента1>, <компонента2>, ..)
289
4.4. Признаки
1) Откройте раздел «Признаки»:
2) В этом разделе перечислены все признаки.
Объект может включать Описание, Мнение и Ситуацию.
Компоненты подкрашены соответствующим цветом:
3) При нажатии на стрелку напротив соответствующей компоненты раскрывается
список названий признаков-вопросов (при повторном нажатии скрывается):
4) При нажатии на название признака открывается словесное описание (при
повторном нажатии скрывается):
290
5) Если
в
обработке
данных
использовались
фильтры,
и
вы
выбрали
соответствующую настройку для их отображения, то вы увидите изображения
фильтров рядом с названием признака.
Обозначения фильтров приведены в разделе 3.7 данного руководства. Также, если
навести курсор мыши на изображение, появится всплывающая подсказка с названием фильтра.
291
4.5. Эффект
1) Откройте раздел «Эффект».
2) При нажатии на стрелку раскрывается название эффекта.
3) При нажатии на название эффекта открывается словесное описание (при повторном
нажатии скрывается):
292
4.6. Респонденты
1) Откройте раздел «Респонденты» (при повторном нажатии на
закроется).
2) В этом разделе четыре подраздела для (+), (–), (0) и (?)4 респондентов.
В скобках указывается их кол-во.
4
(?) – респонденты, у которых значение изучаемого эффекта имеет оценку «неопределенно».
293
раздел
3) Нажмите на изображение таблицы. В средней области справа будет построена
общая таблица респондентов одного знака. В таблице приведены данные
респондентов по всем признакам и значение изучаемого эффекта.
Заголовок столбца – это название признака, окрашенный в соответствующий цвет
компоненты.
Значение в ячейке таблицы равно ‘n’, если в исходных данных значение по данному
признаку у респондента не определено.
Если в настройках была выбрана визуализация фильтров, то в заголовке столбца также
могут присутствовать изображения фильтров:
294
4) Нажмите на синюю кнопку напротив любого подраздела – раскроется список
респондентов (при повторном нажатии на
подраздел закроется):
5) У каждого респондента слева есть стрелка. При нажатии на нее в области
справа, снизу будет построена таблица с ответами (отличными от ‘n’)
респондента:
Если выбрана настройка «Вывод значений признаков их текстовыми аналогами», в
столбце «Значение» отображается текст, иначе – числовое значение.
Если выбрана настройка «Визуализация ядерных признаков (фильтров)», в столбце
«Параметр» отображаются изображения соответствующих фильтров.
295
Визуализация данных респондента числовыми значениями
Визуализация данных респондента текстовыми значениями и визуализация
фильтров
6) Если в эксперименте участвовали (?)-респонденты, то напротив каждого
респондента через стрелку будет приведен знак, который респондент получил в
результате процедуры доопределения полученными гипотезами.
Если оценку установить не удалось, выводится «?».
Можно посмотреть ответы респондента на вопросы, узнать, на каком шаге
пример
был
доопределен,
построить
таблицу
гипотез,
которые
его
доопределили. В гипотезе желтым цветом будут выделены непустые признаки.
296
297
4.7 Гипотезы
1) Откройте раздел «Гипотезы» (при повторном нажатии на
раздел закроется).
2) В этом разделе четыре подраздела для (+), (–) и (0)-гипотез.
В скобках указывается их количество.
3) Нажмите на изображение таблицы. В средней области справа будет построена общая
таблица гипотез соответствующего знака.
В таблице приведены данные гипотез по всем признакам, указан номер гипотезы, знак,
шаг (номер итерации ДСМ-рассуждений, на котором была получена гипотеза), число
родителей-респондентов гипотезы, при пересечении ответов которых была получена гипотеза.
298
Заголовок столбца – это название признака, окрашенный в соответствующий цвет
компоненты.
Значение в ячейке таблицы равно ‘n’, если значение по данному признаку у
респондентов не равно или не определено.
Если в настройках была выбрана визуализация фильтров, то в заголовке столбца также
могут присутствовать изображения фильтров:
4) Нажмите на синюю кнопку напротив любого подраздела – раскроется список гипотез
(при повторном нажатии на
подраздел закроется).
У каждого гипотезы слева могут быть кнопки 4 видов. При наведении курсора мыши
появляется всплывающая подсказка:
299
Изображение
Значение и пример
кнопки
Для раскрытия/ закрытия списка родителей.
При нажатии в области справа, снизу будет построена таблица с
телом гипотезы (с признаками, отличными от “n”).
Кнопка доступна только в режиме
Визуализация гипотез по "кустовому" принципу
С помощью нее открывается список дочерних гипотез (с
меньшим количеством родителей, но более информативным
содержанием).
Тело родительской гипотезы всегда включается в тело дочерней.
300
Кнопка доступна только в режиме
Визуализация гипотез по "кустовому" принципу
С помощью нее закрывается список дочерних гипотез.
В режиме Визуализация гипотез по "кустовому" принципу в каждом подразделе
гипотез приведен список гипотез по «кустам». Некоторые из гипотез могут не попасть ни в
один куст. Тогда кнопки
5) Нажмите на кнопку
и
будут отсутствовать.
напротив гипотезы, чтобы посмотреть родителя каждой
гипотезы (при повторном нажатии список родителей скрывается).
301
Отображение гипотез и их родителей
6) Нажмите на кнопку
напротив гипотезы, чтобы построить таблицу с телом
гипотезы.
6.1.
Если выбрана настройка «Вывод значений признаков их текстовыми аналогами», в
столбце «Значение» отображается текст, иначе – числовое значение.
Визуализация тела гипотезы числовыми значениями
302
Визуализация тела гипотезы текстовыми значениями
6.2.
Если выбрана настройка «Визуализация ядерных признаков (фильтров)», в столбце
«Параметр» отображаются изображения соответствующих фильтров:
При выборе опции «Скрывать в дереве гипотез признаки предыдущего уровня»
пользователь получает возможность при просмотре гипотез внутри одной ветви дерева
убирать признаки с предыдущих уровней. Это позволяет моментально определять, какие
признаки характеризуют гипотезу с меньшим количеством родителей:
Визуализация тела гипотезы без признаков, входящих в дочерние гипотезы
Визуализация тела гипотезы с признаками, входящими в дочерние
гипотезы
7) При построении таблицы с телом гипотезы появляется дополнительная кнопка
.
При ее нажатии в области сверху будет построена таблица респондентов и желтым
выделены общие части, породившие гипотезу:
303
304
5. Обратная связь
При возникновении каких-либо затруднений или ошибок обратитесь за помощью к
разработчику системы.
1)
Сделайте скриншот ошибки.
2)
Напишите сообщение на электронную почту anna-.-volkova@mail.ru.
Тема письма: JSM Socio: Troubleshooting request
В письме укажите вашу операционную систему.
Также прикрепите файл SPSS и скриншот ошибки.
305
Download