Интеллектуальная система диагностирования глазных заболеваний человека

Понятие офтальмологии, виды и методы ее диагностики. Глазные заболевания и их симптомы. Применимость экспертных систем. Проектирование модели байесовской сети. Разработка инфологической модели базы данных. Руководство пользователя и тестирование системы.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 13.11.2015
Размер файла 1,4 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

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

- наивно-байесовский подход учитывает только индивидуальное влияние входных переменных на результат классификации, не принимая во внимание комбинированного влияния пар или троек значений разных атрибутов, что было бы полезно с точки зрения прогностической точности, но значительно увеличило бы количество проверяемых комбинаций.[18]

1.7.4 Простейший пример байесовской сети

Предположим, у больного жалобы на быструю утомляемость (b) и на необходимость прищуриваться (n). Подобные симптомы могут быть вызваны амблиопией (a) или миопией (m).

Граф этой ситуации изображен на рисунке 1.6.

Вычислим вероятность каждого заболевания, условные вероятности представлены на рисунке 2.7.

=

Вероятность того, что у больного миопия 74% и амблиопия 49%.

Позже выясняется, что у его родственников были заболевания астенопией (g). Вычислим, используя новые данные: .

С использованием новых данных гипотеза заболевания изменилась.

Рисунок 1.6 - Схема БС с условными вероятностями

2. Проектная часть

2.1 Проектирование модели байесовской сети

Для создания подобной системы необходима трехуровневая байесовская сеть: 1й уровень - факторы влияния, 2й - диагнозы, 3й - симптомы.

У каждой вершины в байесовской сети должна быть таблица условных вероятностей. Но рассматривать те случаи, когда истинны несколько диагнозов не корректно. Потому что существуют симптомы, соответствующие нескольким заболеваниям. Тогда, вместо того, чтобы выбрать одно заболевание, система предположит тот вариант, где эти заболевания вместе. Поэтому рассматриваться будут случаи только с одним заболеванием. Поэтому алгоритм вычисления - наивный байесовский метод.

Существуют два способа обучения байесовских сетей с помощью прецедентов: уточнение параметров сети, если структура сети известна, и выбор из множества моделей, применяя введенную метрику ко всей базе прецедентов.

В моей модели обучение будет происходить на основе уточнения и перерасчёта условных и априорных вероятностей. Для этого необходимо хранить статистику по заболеваниям, симптомам и факторам.

Данные, которые будет хранить статистика: количество больных с определённым заболеванием, количество больных с определённым симптомом, количество больных с определённым симптомом и заболеванием, количество больных с определённым фактором и заболеванием.

Формулы, по которым будут вычисляться вероятности:

где di -диагноз.

где - симптом.

.

где - фактор.

Вычисление вероятности фактора стоит рассмотреть подробнее. Можно было бы вычислить вполне обычным способом , но так сделано для удобства подсчёта p(di) для расчёта по формуле Байеса: .

При добавлении нового случая заболевания будет обновляться статистика только по добавленному заболеванию, следовательно пересчитываться будут только вероятности для данного заболевания, его симптомом и факторов. Другие же вероятности симптомов данного заболевания; диагнозов, на которые влияют обновленные факторы; заболеваний с данными симптомами пересчитываться не будут. На малых наборах добавленных заболеваний погрешность будет велика. Но при увеличении статистической выборки погрешность будет стремиться к минимуму.

Блок-схема процесса работы ЭС представлена на рисунке 2.1.

Байесовскую сеть представляет собой массив диагнозов с ссылками на массивы симптомов и факторов. Для каждого диагноза вычисляется вероятность.

Пока сеть мала, можно решать задачу полным перебором, вычисляя вероятность для каждого диагноза. Но при увеличении размеров сети это станет неэффективным. Было решено сократить количество диагнозов, для которых будет вычисляться апостериорная вероятность. Так как у каждого диагноза есть симптомы (потомки). Если у диагноза не выбран ни один симптом, то очевидно, что вычислять его вероятность нет необходимости. Так же у диагнозов с большим количеством потомков, но выбранные пользователем симптомы соответствуют одному или двумя симптомам диагноза, будет высчитана низкая вероятность по сравнению с другими диагнозами. Поэтому было решено отсеивать те диагнозы, у которых процент отмеченных симптомов составляет 20% от общего числа потомков.

Рисунок 2.1 - Блок-схема работы ЭС

На рисунке 2.2 представлен алгоритм расчёта апостериорной вероятности для диагноза.

Рисунок 2.2 - Блок-схема расчёта апостериорной вероятности

Calc_post_for_diagnosis(d) - возвращает апостериорную вероятность для d, где d - это диагноз.

Для того чтобы высчитать вероятность, нужно учитывать неопределённость, то есть в диагнозе у тех симптомов, что не отмечены высчитать их с двумя значениями: установлен и не установлен. Для этого я модифицировала метод размещение с повторением (выборка с возвращением). Количество размещений должно быть равно 2k, где k - количество симптомов у диагноза. Но у диагноза у отмеченных симптомов уже установлено состояние: установлен, т.е. для i-того симптома уже установлено выбрано. Поэтому количество размещений будет 2k-g, где g - количество отмеченных симптомов у диагноза. Очевидно, что случай может выродиться в одно размещение в том случае, если отмечены все симптомы диагноза.

На рисунке 2.3 изображен алгоритм размещений симптомов.

Функция cppr(d, k, mas, mas_num, mdp) размещает симптомы в состояние выбран/не выбран и служит для расчёта апостериорной вероятности. Параметры: d - диагноз, k - место для размещения в массиве mas, mas - массив состоящий из 1 и 0, где 1 - симптом есть, 0 - симптома нет, mas_num - аналог массива mas, только симптомы выбраны пользователем, mdp - массив из 2х элементов, где mas0 - хранит вероятность при условии что d не случился, а mas1 - при условии, что d произошло.

Рисунок 2.3 - Блок-схема алгоритма размещений симптомов

Функция cp рассчитывает две вероятности для одной выборки и возвращает эти вероятности (при условии, что d - произошло и наоборот). Алгоритм работы функции представлен на рисунке 2.4.

Параметры функции cp(): d - диагноз, mas - выборка симптомов.

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

2.2 Структура разрабатываемой системы

Основные компоненты обычной статической ЭС изображены на рисунке 2.5. В моей модели некоторых компонентов не будет: рабочей памяти и объяснительного компонента.

Рисунок 2.4 - Блок-схема для расчёта по одной выборке

Рисунок 2.5 - Структура ЭС

Структура разрабатываемой экспертной системы предоставлена на рисунке 2.5. В качестве диалогового компонента выступает страница с перечнем симптомов и факторов, решателя - скрипт с алгоритмом, базы знаний - база данных, компонента приобретения знаний - методы для добавления и обновления записей в БД.

При анализе поставленной задачи на разработке программного обеспечения для диагностирования глазных заболеваний наиболее удобной для использования оказалась следующая структура: на компьютере-сервере запущен сайт. Работа с пользователями ведется через сеть Интернет, что позволяет получить доступ к приложению в любой точке мира. База данных расположена на внешнем сервере, поэтому резко уменьшается вероятность потери пользовательской информации.

Архитектура системы представлена на рисунке 2.6.

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

Алгоритм работы приложения.

Приложение работает следующим образом:

1. компьютер-клиент заходит по url-адресу в браузере на стартовую страницу на сервере;

2. запрос авторизации: нужно ввести логин и пароль для продолжения работы с приложением. Если логин и пароль введены неправильно, доступ к приложению запрещается и предлагается повторить ввод. Можно не проходить авторизацию;

3. загружается главная страница; при вводе данных для работы приложения и нажатии на какие-либо кнопки выполняются вычисления и представляются пользователю в виде результатов или выполняются другие действия для обучения системы.

Рисунок 2.6 - Архитектура системы

Представления пользователя.

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

Основным средством защиты информации в разрабатываемой системе является авторизация.

Авторизация -- предоставление субъекту некоторых прав доступа к информационному объекту.

В системе присутствуют несколько ролей, которым выданы права на доступ и использование информации:

- Пользователь -- имеет доступ к просмотру и поиску информации, диагностике.

- Эксперт - имеет то же права, что и пользователь. Так же может обучать систему через добавление новых вершин и рёбер в сеть и может вести таблицу предварительных диагнозов.

Далее, на рисунке 2.7. представлены варианты использования ПО.

Рисунок 2.7 - Диаграмма прецедентов.

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

Пользователи отправляют запросы к базе данных через сервер. Обратно из базы данных приходят данные на сервер и передаются пользователям. Архитектура системы изображена на рисунке 2.8. Для передачи данных используются следующие протоколы:

- HTTP (Hyper Text Transfer Protocol);

- SMTP (Simple Mail Transfer Protocol);

- MySQL Client/Server Protocol.

Рисунок 2.8 - Архитектура системы

2.3 Разработка инфологической модели базы данных

База данных состоит из сущностей. Сущность представляет собой совокупность данных, обладающих общими свойствами. При этом каждая сущность должна быть уникальна и не должна описывать несколько объектов реального мира. Это важное свойство всех реляционных баз данных. Сущности должно быть только существительным, так как оно характеризует не действие или процесс, объекты.

База данных требуется для хранения информации, которая будет использоваться в системе. От правильного проектирования базы данных зависит скорость работы и возможность дальнейшей модификации приложения. Нередки случаи, когда хорошо спроектированные программные системы рушились, в момент изменения схемы БД. Поэтому к процессу проектирования БД стоит подойти крайне серьезно, так как для изменения уже работающей базы данных нужны усилия на порядок выше, чем для проектирования «с нуля». Для хранения информации в базе данных необходимо предварительно определить имена и параметры данных, свести эту информацию в реляционные таблицы и установить между ними связи. Кроме того, необходимо задать первичные и вторичные ключи. Первичный ключ необходим для уникальной идентификации сущности, а вторичный - для обеспечения связей между сущностями.

Данная база данных должна содержать следующие сущности:

1. Диагнозы

2. Симптомы

3. Факторы

4. Предварительные диагнозы

5. Пользователи

Отношение в самом общем виде представляет собой связь между двумя и более сущностями. Отношение должно быть однозначно поименовано. Существует множество видов связей, однако, самые распространенные из них - «один к одному» и «один ко многим». Остальные виды связей могут быть выражены через них.

Диаграммы сущность-связь (ERD) предназначены для разработки моделей данных и обеспечивают стандартный способ определения данных и отношений между ними.

Построим инфологическая модель базы данных: диаграмма «сущность-связь» (рисунок 2.9).

На рисунке 2.9 изображена инфологическая модель БД. Определим атрибуты сущностей. Для выражения связи «многие ко многим» в связи между диагнозы - симптомы, диагнозы - факторы, предварительные диагнозы - симптомы, предварительные диагнозы - факторы используются дополнительные таблицы, которые связаны с обоими таблицами связями «один ко многим». При этом в таблицах для связи диагнозов и симптомов, диагнозов и факторов будет использованы дополнительные поля, поэтому эти две таблицы тоже будут описаны как сущности.

Рисунок 2.9 - Инфологическая модель базы данных: диаграмма «сущность-связь»

Атрибуты сущностей

1. Диагнозы: название, описание, вероятность, количество больных.

2. Симптомы: название, количество больных.

3. Диагноз-симптом: диагноз, симптом, количество больных с таким диагнозом и таким симптомом, p(s/d), p(s/-d).

4. Факторы: название.

5. Диагноз-фактор: диагноз, фактор, p(d/f), количество больных с таким диагнозом и при таком факторе.

6. Пользователи: логин, пароль, тип.

7. Предварительные диагнозы: диагноз, пользователь, комментарий.

На основе диаграммы «сущность-связь» строится логическая модель базы данных. Логическая модель БД представляет собой описание объектов предметной области, их атрибутов и взаимосвязей между ними в том объеме, в котором они подлежат непосредственному хранению в базе данных системы. А на основе логической модели строится физическая.

База данных данного программного обеспечения состоит из 9 таблиц. Рассмотрим каждую таблицу.

Таблица Diagnosis содержит информацию о диагнозах. Описание полей сущности diagnosis приведены в таблице 2.1.

Таблица 2.1 - Мнемоническое описание атрибутов сущности diagnosis.

Наименование атрибута

Тип атрибута

Ограничения

Id

Integer

Первичный ключ

Name

Varchar(200)

Уникальный, не пустой

Description

Text

Не пустой

Probability

Double

По умолчанию 0, не пустой

Patiens

Integer

По умолчанию 0, не пустой

Таблица Symptom содержит информацию о симптомах. Описание полей сущности symptom приведены в таблице 2.2.

Таблица 2.2 - Мнемоническое описание атрибутов сущности symptom.

Наименование атрибута

Тип атрибута

Ограничения

Id

Integer

Первичный ключ

Name

Varchar(200)

Уникальный, не пустой

Patiens

Integer

По умолчанию 0, не пустой

Таблица Diagnosis_Symptom содержит информацию о связи диагноз-симптом. Описание полей сущности diagnosis_symptom приведены в таб. 2.3.

Таблица Factor содержит информацию о факторах. Описание полей сущности factor приведены в таблице 2.4.

Таблица Diagnosis_Factor содержит информацию о связи диагноз-фактор. Описание полей сущности diagnosis_factor приведены в таблице 2.5.

Таблица 2.3 - Мнемоническое описание атрибутов сущности diagnosis_symptom.

Наименование атрибута

Тип атрибута

Ограничения

Id

Integer

Первичный ключ

Id_diagnosis

Integer

Вторичный ключ

Id_symptom

Integer

Вторичный ключ

Patiens

Integer

По умолчанию 0, не пустой

Probability

Double

По умолчанию 0, не пустой

Nonprobability

Double

По умолчанию 0, не пустой

Таблица 2.4 - Мнемоническое описание атрибутов сущности factor.

Наименование атрибута

Тип атрибута

Ограничения

Id

Integer

Первичный ключ

Name

Varchar(200)

Уникальный, не пустой

Таблица 2.5 - Мнемоническое описание атрибутов сущности diagnosis_factor.

Наименование атрибута

Тип атрибута

Ограничения

Id

Integer

Первичный ключ

Id_diagnosis

Integer

Вторичный ключ

Id_factor

Integer

Вторичный ключ

Patiens

Integer

По умолчанию 0, не пустой

Probability

Double

По умолчанию 0, не пустой

Таблица Users содержит информацию о пользователях. Описание полей сущности user приведены в таблице 2.6.

Таблица Preliminary_Diagnosis содержит информацию о предварительных диагнозах. Описание полей сущности preliminary_diagnosis приведены в таблице 2.7.

Таблица Preliminary_diagnosis_symptom содержит информацию о связи предварительный диагноз - симптом. Описание полей сущности preliminary_diagnosis_symptom приведены в таблице 2.8.

Таблица Preliminary_diagnosis_factor содержит информацию о связи предварительный диагноз - фактор. Описание полей сущности preliminary_diagnosis_factor приведены в таблице 2.9.

Таблица 2.6 - Мнемоническое описание атрибутов сущности user.

Наименование атрибута

Тип атрибута

Ограничения

Login

Varchar(100)

Первичный ключ

Password

Varchar(20)

Не пустой

Type

Boolean

По умолчанию 0, не пустой

Таблица 2.7 - Мнемоническое описание атрибутов сущности preliminary_diagnosis.

Наименование атрибута

Тип атрибута

Ограничения

Id

Integer

Первичный ключ

Id_diagnosis

Integer

Вторичный ключ

Id_user

Varchar(100)

Вторичный ключ

Comment

Text

Таблица 2.8 - Мнемоническое описание атрибутов сущности preliminary_diagnosis_symptom.

Наименование атрибута

Тип атрибута

Ограничения

Id

Integer

Первичный ключ

Id_symptom

Integer

Вторичный ключ

Id_diagnosis

Integer

Вторичный ключ

Таблица 2.9 - Мнемоническое описание атрибутов сущности preliminary_diagnosis_factor.

Наименование атрибута

Тип атрибута

Ограничения

Id

Integer

Первичный ключ

Id_diagnosis

Integer

Вторичный ключ

Id_factor

Integer

Вторичный ключ

Ниже на рисунке 2.10 изображена ER-диаграмма базы данных.

Рисунок 2.10 - ER-диаграмма базы данных.

2.4 Применение к другим областям медицинской диагностики

Очевидно, что ни база данных, ни структура приложения не привязаны к определённой области медицины, а именно к глазным заболеваниям. Можно сделать вывод, что данная система подойдёт к любой области медицинской диагностики, где можно применить предварительную диагностику по опросу пациента. Например, в психологии. Так же модель должна укладываться в трехуровневую модель сети «факторы -> диагнозы -> симптомы».

Но слишком обобщать медицинскую диагностику не следует. Данная система подойдет для общей диагностики организма, но это будет неэффективно. Потому что, во-первых зависимости во всеобщей диагностике довольно сложны и можно выделить 4й уровень и более, а во-вторых решение сети с большим количеством вершин и рёбер будет рассчитываться очень долго при условии, что метод расчёта не изменится.

2.5 Преимущества веб-приложения

Web-приложение - это прикладное программное обеспечение, логика которого распределена между сервером и клиентом, а обмен информацией происходит по сети. Клиентская часть реализует пользовательский интерфейс, а серверная - получает и обрабатывает запросы от клиента, выполняет вычисления, формирует веб-страницу и отправляет её клиенту согласно протоколу HTTP.

Данный вид приложений имеет целый ряд особенностей, которые накладывают отпечаток на процессы их функционирования, разработки и поддержки:

- выполняются независимо от операционной системы клиента. При этом на него налагается требование кроссбраузерности, вытекающее из различной реализации браузерами стандартов HTML, CSS;

- представляют собой распределенную информационную систему и должны выдерживать максимальное число клиентские обращений;

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

Актуальность исследований в области вопросов построения web-приложений обусловлена тем, что данный вид программного обеспечения:

- перспективен, как инструмент электронной коммерции;

- предоставляет широкие возможности социального взаимодействия;

- в обозримом будущем может составить реальную конкуренцию нативным приложениям мобильных операционных систем (Apple iOS, Google Android, Windows Phone). [23]

Современный компьютер постепенно превращается в веб-устройство и нет смысла в приложениях, которые будут устанавливаться на компьютер.

Преимущества разрабатываемого ПО как веб-приложения:

- портируемость;

- развёртывание;

- централизованное хранение данных и их обновление;

- распространение среди пользователей.

2.6 Обоснование выбора инструментария

Для написания самого приложения будет использован язык PHP 5.3.13, интегрированная среда разработки PHPStorm. Так же будут использоваться HTML5 и CSS3. Будет использован Denwer - набор дистрибутивов и программная оболочка, предназначенные для создания и отладки сайтов на локальном ПК. Denwer включает в себя: веб-сервер Apache, интерпретатор PHP, СУБД MySQL, панель phpMyAdmin для администрирования СУБД, система управления виртуальными хостами.

2.6.1 Язык программирования PHP 5.3.13

PHP (англ. PHP: Hypertext Preprocessor -- «PHP: препроцессор гипертекста»; первоначально Personal Home Page Tools -- «Инструменты для создания персональных веб-страниц») -- скриптовый язык общего назначения, интенсивно применяемый для разработки веб-приложений. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков, применяющихся для создания динамических веб-сайтов.

В области веб-программирования, в частности серверная часть, PHP -- один из популярных сценарных языков (наряду с JSP, Perl и языками, используемыми в ASP.NET) благодаря своей простоте, скорости выполнения, богатой функциональности, кроссплатформенности и распространению исходных кодов на основе лицензии PHP.

Язык PHP родился из потребности разрабатывать и поддерживать веб-сайты, обладающие динамической клиент-серверной функциональностью. В 1994 году Расмус Лердорф разработал набор сценариев с открытым исходным кодом на языке Perl, которые впоследствии были переписаны на языке C и превратились в то, чем является современный язык PHP.

Преимущества PHP:

- является свободным программным обеспечением, распространяемым под особой лицензией (PHP license);

- легок в освоении на всех этапах;

- поддерживается большим сообществом пользователей и разработчиков;

- имеет развитую поддержку баз данных;

- имеется огромное количество библиотек и расширений языка;

- может использоваться в изолированной среде;

- предлагает нативные средства организации веб-сессий, программный интерфейс расширений;

- является довольно полной заменой проприетарной среды ASP (Active Server Pages) от Microsoft;

- может быть развёрнут почти на любом сервере;

- портирован под большое количество аппаратных платформ и операционных систем.

Недостатки PHP:

- не подходит для создания десктопных приложений или системных компонентов;

- имеет слабые средства для работы с исключениями;

- глобальные параметры конфигурации влияют на базовый синтаксис языка, что затрудняет настройку сервера и разворачивание приложений;

- объекты передаются по значению, что смущает многих программистов, привыкших к передаче объектов по ссылке, как это делается в большинстве других языков;

- веб-приложения, написанные на PHP, зачастую имеют проблемы с безопасностью.[24]

2.6.2 PhpStorm

PhpStorm - это интегрированная среда разработки на PHP с интеллектуальным редактором, которая глубоко понимает код, поддерживает PHP 5.6, 5.5, 5.4 и 5.3 для современных и классических проектов, обеспечивает лучшее в индустрии автодополнение кода, рефакторинги, предотвращение ошибок налету и поддерживает смешивание языков.

Ключевые возможности:

- интеллектуальный редактор PHP кода с подсветкой синтаксиса, автодополнением кода, расширенными настройками форматирования кода, предотвращением ошибок налету;

- поддерживает PHP 5.6, 5.5, 5.4 и 5.3, генераторы, сопрограммы и все синтаксические улучшения;

- PHP рефакторинги, code (re)arranger, детектор дублируемого кода;

- поддержка фреймворков (MVC view для Symfony2, Yii) и специализированные плагины для ведущих PHP фреймворков (Symfony, Magento, Drupal, Yii, CakePHP и многие другие);

- визуальный отладчик для PHP приложений, валидация конфигурации отладчика, PHPUnit с покрытием кода, а также интеграция с профилировщиком;

- HTML, CSS, JavaScript редактор. Отладка и модульное тестирование для JS. Поддержка HTML5, CSS, Sass, SCSS, Less, Stylus, Compass, CoffeeScript, TypeScript, ECMAScript Harmony, Emmet и других передовых технологий веб-разработки;

- интеграция с системами управления версиями, включая унифицированный интерфейс;

- удаленное развертывание приложений и автоматическая синхронизация с использованием FTP, SFTP, FTPS и др.;

- Live Edit: изменения в коде можно мгновенно просмотреть в браузере без перезагрузки страницы;

- PHP UML;

- интеграция с баг-трекерами;

- инструменты работы с базами данных, SQL редактор;

- кросс-платформенность (Windows, Mac OS X, Linux).[28]

2.6.3 HTML и CSS

HTML (от англ. HyperText Markup Language -- «язык гипертекстовой разметки») -- стандартный язык разметки документов во Всемирной паутине. Большинство веб-страниц содержат описание разметки на языке HTML (или XHTML). Язык HTML интерпретируется браузерами, полученный в результате интерпретации форматированный текст отображается на экране монитора компьютера или мобильного устройства.

Язык HTML является приложением SGML (стандартного обобщённого языка разметки) и соответствует международному стандарту ISO 8879.

Во всемирной паутине HTML-страницы, как правило, передаются браузерам от сервера по протоколам HTTP или HTTPS, в виде простого текста или с использованием шифрования.

Текстовые документы, содержащие разметку на языке HTML (такие документы традиционно имеют расширение .html или .htm), обрабатываются специальными приложениями, которые отображают документ в его форматированном виде. Такие приложения, называемые «браузерами» или «интернет-обозревателями», обычно предоставляют пользователю удобный интерфейс для запроса веб-страниц, их просмотра (и вывода на иные внешние устройства) и, при необходимости, отправки введённых пользователем данных на сервер. Наиболее популярными на сегодняшний день браузерами являются Google Chrome, Mozilla Firefox, Opera и Internet Explorer.

HTML5 был закончен в 2014 году и является самой свежей версией.[26]

CSS (англ. Cascading Style Sheets -- каскадные таблицы стилей) -- формальный язык описания внешнего вида документа, написанного с использованием языка разметки.

Преимущественно используется как средство описания, оформления внешнего вида веб-страниц, написанных с помощью языков разметки HTML и XHTML, но может также применяться к любым XML-документам, например, к SVG или XUL.

CSS используется создателями веб-страниц для задания цветов, шрифтов, расположения отдельных блоков и других аспектов представления внешнего вида этих веб-страниц. Основной целью разработки CSS являлось разделение описания логической структуры веб-страницы (которое производится с помощью HTML или других языков разметки) от описания внешнего вида этой веб-страницы (которое теперь производится с помощью формального языка CSS). Такое разделение может увеличить доступность документа, предоставить большую гибкость и возможность управления его представлением, а также уменьшить сложность и повторяемость в структурном содержимом. Кроме того, CSS позволяет представлять один и тот же документ в различных стилях или методах вывода, таких как экранное представление, печатное представление, чтение голосом (специальным голосовым браузером или программой чтения с экрана), или при выводе устройствами, использующими шрифт Брайля.[25]

Последней версией является CSS3. Но некоторые разработчики предпочитают не пользоваться ею, так как некоторые браузеры не поддерживают её.

2.6.4 Denwer

Денвер (от сокр. Д.н.w.р или ДНВР -- джентльменский набор Web-разработчика) -- набор дистрибутивов и программная оболочка, предназначенные для создания и отладки сайтов (веб-приложений, прочего динамического содержимого интернет-страниц) на локальном ПК (без необходимости подключения к сети Интернет) под управлением ОС Windows. Распространяется как freeware.

Сразу после установки доступен полностью работающий веб-сервер Apache, работающий на локальном компьютере, на котором может работать неограниченное количество сайтов, что очень эффективно для разработки и отладки сценариев PHP без загрузки его файлов на удаленный сервер. При запуске создается виртуальный диск (по умолчанию Z:), где хранятся все файлы проектов.

Особенностью, отличающей Denwer от других WAMP-дистрибутивов, является автоматическая правка системного файла hosts, являющегося локальным аналогом DNS-сервера, что позволяет обращаться к локальным сайтам, работающим под управлением Денвера, по именам, совпадающим с именем папки, расположенной в каталоге home Денвера.

Базовый пакет включает:

- Веб-сервер Apache 2.2.22 с поддержкой SSI, SSL, mod_rewrite, mod_php.

- Интерпретатор PHP 5.3.13 с поддержкой GD, MySQL, SQLite.

- СУБД MySQL 5.5 с поддержкой транзакций (mysqld-max).

- Система управления виртуальными хостами, основанная на шаблонах.

- Система управления запуском и завершением.

- Панель phpMyAdmin 3.5 для администрирования СУБД.

- Ядро интерпретатора Perl без стандартных библиотек (поставляются отдельно).

- Эмулятор sendmail и сервера SMTP с поддержкой работы совместно с PHP, Perl, Parser и др.

- Установщик.[2727]

Apache HTTP-сервер -- свободный веб-сервер.

Apache является кроссплатформенным ПО, поддерживает операционные системы Linux, BSD, Mac OS, Microsoft Windows, Novell NetWare, BeOS.

Основными достоинствами Apache считаются надёжность и гибкость конфигурации. Он позволяет подключать внешние модули для предоставления данных, использовать СУБД для аутентификации пользователей, модифицировать сообщения об ошибках и т. д. Поддерживает IPv6.

Ядро Apache включает в себя основные функциональные возможности, такие как обработка конфигурационных файлов, протокол HTTP и система загрузки модулей.[29]

MySQL -- свободная система управления базами данных (СУБД). MySQL является собственностью компании Oracle Corporation, получившей её вместе с поглощённой Sun Microsystems, осуществляющей разработку и поддержку приложения. Распространяется под GNU General Public License или под собственной коммерческой лицензией. Помимо этого разработчики создают функциональность по заказу лицензионных пользователей, именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации.

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

Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц.[30]

инфологический байесовский сеть заболевание

3. Разработка систем

3.1 Разработка базы данных

База данных, которая содержит все таблицы приложения называется med.

Рассмотрим описание реализации всех таблиц:

1. diagnosis;

2. symptom;

3. factor;

4. diagnosis-symptom;

5. diagnosis-factor;

6. users;

7. preliminary_diagnosis;

8. preliminary_diagnosis_symptom;

9. preliminary_diagnosis_factor.

Таблица «diagnosis». Назначение: хранит информацию о диагнозах. Поля таблицы смотреть в таблице 3.1.

Таблица 3.1 - Вид таблицы «diagnosis»

Id

name

description

prabability

patiens

1

Амблиопия

Функциональное расстройство зрительной системы, …

0,19

4

2

Астигматизм

Вид аметропии, при котором световые лучи не могут сфокусироваться на сетчатке глаза…

0,07

3

Структура таблицы «diagnosis»

create table diagnosis (id integer primary key auto_increment, name varchar(200) not null unique, probability double default 0 not null, patiens integer not null default 0, description text);

Таблица «symptom». Назначение: хранит информацию о диагнозах. Поля таблицы смотреть в таблице 3.2.

Таблица 3.2 - Вид таблицы «symptom»

id

name

patiens

1

ухудшение зрения одного или обоих глаз

14

2

затруднение восприятия объемных предметов и оценки расстояния до предметов, нарушение аккомодации и бинокулярного зрения

4

Структура таблицы «symptom»

create table symptom (id integer primary key auto_increment, name varchar(200) not null unique, patiens integer not null default 0);

Таблица «diagnosis-symptom». Назначение: хранит информацию о ребре диагноз-симптом. Поля таблицы смотреть в таблице 3.3.

Таблица 3.3 - Вид таблицы «diagnosis-symptom»

id

diagnosis_id

symptom_id

probability

nonprobability

patiens

1

1

1

0,6

0,06

3

2

4

1

0,67

0,06

2

Структура таблицы « diagnosis-symptom »

create table diagnosis_symptom (id integer primary key auto_increment, diagnosis_id integer not null references diagnosis on delete cascade on update cascade, symptom_id integer not null references symptom on delete cascade on update cascade, probability double default 0 not null, nonprobability double default 0 not null, patiens integer not null default 0);

Таблица «factor». Назначение: хранит информацию о факторах. Поля таблицы смотреть в таблице 3.4.

Таблица 3.4 - Вид таблицы «factor»

id

name

1

возраст с 9 до 14

2

Возраст с 40 до 54

Структура таблицы «factor»

create table factor (id integer primary key auto_increment, name varchar(200) not null unique);

Таблица «diagnosis-factor». Назначение: хранит информацию о ребре диагноз-фактор. Поля таблицы смотреть в таблице 3.5.

Таблица 3.5 - Вид таблицы «diagnosis-factor»

id

diagnosis_id

factor_id

probability

patiens

1

4

1

0,1

1

2

12

2

0,2

5

Структура таблицы « diagnosis-factor »

create table diagnosis_factor (id integer primary key auto_increment, diagnosis_id integer not null references diagnosis on delete cascade on update cascade, factor_id integer not null references factor on delete cascade on update cascade, probability double default 0 not null, patiens integer not null default 0);

Таблица «users». Назначение: хранит информацию о пользователях. Поля таблицы смотреть в таблице 2.6.

Таблица 3.6 - Вид таблицы «users»

login

password

type

user1

1234

0

user2

1234

1

Структура таблицы « users »

create table users (login varchar(100) primary key, password varchar(20) not null, type boolean not null default '0');

Таблица «preliminary_diagnosis». Назначение: хранит информацию о предварительных диагнозах. Поля таблицы смотреть в таблице 3.7.

Таблица 3.7 - Вид таблицы «preliminary_diagnosis»

id

diagnosis_id

user_id

comment

1

1

user2

2

1

user2

Структура таблицы « preliminary_diagnosis »

create table preliminary_diagnosis (id integer primary key auto_increment, diagnosis_id integer not null references diagnosis on delete cascade on update cascade, user_id integer not null references users on delete cascade on update cascade, comment text);

Таблица «preliminary_diagnosis_symptom». Назначение: хранит информацию о связи предварительный диагноз - симптом. Поля таблицы смотреть в таблице 3.8.

Таблица 3.8 - Вид таблицы «preliminary_diagnosis_symptom»

id

diagnosis_id

symptom_id

1

1

1

2

1

2

Структура таблицы « preliminary_diagnosis_symptom»

create table preliminary_diagnosis_symptom (id integer primary key auto_increment, pd_id integer not null references preliminary_diagnosis on delete cascade on update cascade, symptom_id integer not null references symptom on delete set null on update cascade);

Таблица «preliminary_diagnosis_factor». Назначение: хранит информацию о связи предварительный диагноз - фактор. Поля таблицы смотреть в таблице 3.9.

Таблица 3.9 - Вид таблицы «preliminary_diagnosis_factor»

id

diagnosis_id

factor_id

1

4

1

2

12

2

Структура таблицы « preliminary_diagnosis_factor»

create table preliminary_diagnosis_factor (id integer primary key auto_increment, pd_id integer not null references preliminary_diagnosis on delete cascade on update cascade, factor_id integer not null references factor on delete set null on update cascade);

3.2 Разработка классов

Сущности БД обычно отображаются в программе на классы. Очень важно разработать методы классов для работы с сущностями. На рисунке 3.1 представлена диаграмма классов.

Рисунок 3.1 - Диаграмма классов.

На изображенной диаграмме видно, что сущности Диагноз (Diagnosis), Симптом (Symptom) и Фактор (Factor) являются наследниками одного класса Entity. Может показаться, что классы Symptom и Factor похожи, но у них имеются существенные отличия. Из-за их схожести был создан промежуточный класс EntityInfluence.

Рассмотрим описание интерфейсов классов на рисунке 3.2. Реализацию классов можно посмотреть в приложении.

Класс Entity: поля являются отображением из БД. У всех сущностей есть такие поля как id, name, probability(prior) и patiens. Методы set*() и get*(…) очевидно для чего нужны, construct - тоже.

В классе EntityEnfluence добавляется новое поле exist, которого нет у сущностей в БД. Это поле типа Boolean и оно нужно для того, чтобы служить показателем наличия того или иного симптома (фактора) отмеченного пользователем у диагноза.

В классе Factor метод addPatien(d, pf) добавляет в статистику +1 для связи фактор-диагноз и пересчитывает вероятность p(d/f). Параметры: d -

диагноз, pf - количество больных с данным фактором.

Рисунок 3.2- Диаграмма классов с методами и полями

В классе симптом поле countpatiens - общее количество больных с этим симптомом.

В классе Diagnosis поле post - апостериорная вероятность, symptoms - массив симптомов, factors - массив факторов, getExistSymptom() - возвращает массив выбранных симптомов пользователем, совпадающих с симптомами диагноза.

Реализацию классом можно посмотреть в Приложении Б.

3.3 Описание методов

Рассмотрим методы не относящиеся к классам и служащие для вычисления решения БС и для взаимодействия с БД (основные).

Методы для работы с базой данных.

connect() - возвращает объект, представляющий подключение к базе данных.

getSymptoms() - возвращает массив симптомов из БД.

getFactors() - возвращает массив факторов из БД.

getDiagnosis(symptoms, factors) - возвращает массив диагнозов из БД с симптомами и факторами. Параметры: symptoms - массив симптомов, factors - массив факторов.

getSumPatiensDiagnosis() - возвращает количество всех больных.

getSumPatiensSimptoms() - возвращает количество больных со всеми симптомами.

getSumPatiensFactor(idf) - возвращает количество больных с заданным диагнозом. Параметры: idf - id диагноза.

setPatiensProbability(patiens, probability, type, d, s, non_probability) - обновляет запись в таблице, записывая новую вероятность. Параметры: patiens - новое количество больных, probability - новая вероятность, type - «диагноз», «симптом» или «фактор», d - id диагноза, s - id симптома или фактора (необходим при условии обновления записи симптома или фактора), non-probability - новая вероятность при условии, что диагноз не случился (нужен только при обновлении записи симптома).

getSymptomsIdFromPDS(idpd) - возвращает id симптома из таблицы preliminary_diagnosis_symptom. Параметры: idpd - id записи предварительного диагноза.

getFactorsIdFromPDF (idpd) - возвращает id фактора из таблицы preliminary_diagnosis_factor. Параметры: idpd - id записи предварительного диагноза.

setPreliminaryDiagnosis(d, login, comment) - добавляет новую запись в таблицу preliminary_diagnosis. Параметры: d - диагноз, login - логин эксперта, comment - комментарий эксперта.

setPreliminaryDiagnosisSymptom(idpd, ids) - добавляет новую запись в таблицу preliminary_diagnosis_symptom. Параметры: idpd - id предварительного диагноза, ids - id симптома.

setPreliminaryDiagnosisFactor(idpd, idf) - добавляет новую запись в таблицу preliminary_diagnosis_factor. Параметры: idpd - id предварительного диагноза, idf - id фактора.

deletePreliminaryDiagnosis(idpd) - удаляет запись из таблицы preliminary_diagnosis c id = idpd. Параметры: idpd - id предварительного диагноза.

updatePreliminaryDiagnosis(d, comment) - изменяет существующую запись в таблице preliminary_diagnosis. Параметры: d - диагноз, comment - комментарий эксперта.

deletePreliminaryDiagnosisSymptom(idpd, ids) - удаляет запись из таблицы preliminary_diagnosis_symptom с такими параметрами. Параметры: idpd - id предварительного диагноза, idfs- id симптома.

deletePreliminaryDiagnosisFactor(idpd, idf) - удаляет запись из таблицы preliminary_diagnosis_factor с такими параметрами. Параметры: idpd - id предварительного диагноза, idf - id фактора.

Методы для вычисления решения байесовской сети.

calculate_post(d) - высчитывает апостериорную вероятность d. Параметры: d - диагноз.

4. Описание пользовательского интерфейса и тестирование

4.1 Руководство пользователя

Для запуска приложения пользователю достаточно зайти на соответствующий сайт и выбрать нужный пункт. На рисунке 4.1 изображена главная страница сайта.

Рисунок 4.1 - Главная страница сайта

Для того чтобы начать диагностику пользователь должен нажать на пункт кнопку «Начать диагностику» или на пункт в меню вверху сайта с таким же названием. Откроется страница с опросом пациента. Ему необходимо выбрать необходимые симптомы и факторы, если они есть. На рисунке 4.2 и 4.3 изображена страница с выбором симптомов и факторов.

После выбора симптомов и факторов пользователь должен нажать на кнопку «Отправить». Появится страница со списком вероятных диагнозов. Страница со списком диагнозов изображена на рисунке 4.4.

Рисунок 4.2 - Выбор симптомов

Рисунок 4.3 - Выбор факторов

Рисунок 4.4 - Страница с результатом работы системы

Пользователь может просмотреть список всех болезней с описанием симптомов и факторами влияния, нажав на «Болезни» вверху сайта рисунок 4.5.

Рисунок 4.5 - Список болезней

Так же пользователь может зарегистрироваться, хотя в этом для него нет большой необходимости, так как действия доступные зарегистрированному пользователю (без уровня «эксперт») могут выполняться и незарегистрированным пользователем.

Для регистрации необходимо нажать на кнопку «Регистрация» в правом верхнем углу страницы. Форма регистрации представлена на рис. 4.6.

Рисунок 4.6 - Форма регистрации

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

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

Выполнивший вход в систему пользователь может выйти, нажав кнопку «Выход» в правом верхнем углу рядом со своим логином.

На этом действия, доступные обычному пользователю заканчиваются.

Пользователям с уровнем «эксперт» доступно больше функций, основной из которых является обучение системы. Так же этим пользователям доступны все функции, которые доступны обычным пользователям. На рисунке 4.7 представлено меню для эксперта.

Рисунок 4.7 - Вид меню для эксперта

Из рисунка 4.7 видно, что в меню появились 2 новых функции: «Добавить» и «Предварительные диагнозы».

Для того чтобы добавить новый симптом, фактор или диагноз эксперт должен перейти по пункту «Добавить» и проделать необходимые действия на открывшейся странице.

На рисунке 4.8 представлена форма для добавления нового симптома.

Для добавления нового симптома достаточно ввести название симптома и нажать «Добавить». Симптом добавится в базу данных.

Для добавления нового фактора нужно заполнить форму ниже формы добавления симптома. Эта форма представлена на рисунке 4.9.

Рисунок 4.8 - Форма для добавления нового симптома

Рисунок 4.9 - Форма для добавления нового фактора

Здесь эксперту нужно проделать те же действия, что и при добавлении нового симптома: ввести название и нажать «Добавить».

Ниже формы для добавления фактора есть формула для добавления диагноза см. рисунок 4.10.

Для добавления нового диагноза в базу данных эксперту необходимо ввести название диагноза и выбрать минимум один симптом. Для выбора нескольких симптомов необходимо зажать клавишу ctrl и выделить необходимые симптомы. Если заболевание не вызывает ни один фактор, то факторы выбирать не обязательно. Чтобы выбрать несколько факторов, необходимо проделать те же действия, что и при выборе симптомов. После выбора и заполнения всех полей нужно нажать кнопку «Добавить». Необходимо помнить, что потом добавить новые симптомы и факторы к диагнозу не получится.

Рисунок 4.10 - Форма для добавления нового диагноза

Эксперт может обучать систему с помощью предварительных диагнозов.

Для того чтобы добавить запись в предварительные диагнозы, эксперту нужно из результатов диагностики выбрать требуемый диагноз и нажать «Добавить диагноз в таблицу» см. рисунок 4.11.

Просмотреть добавленные экспертом диагнозы можно выбрав пункт «Предварительные диагнозы». Как это выглядит см. на рисунке 4.12.

Рисунок 4.11 - Выбор диагноза для добавления в предварительные диагнозы

Любую запись в таблице можно изменить, удалить или подтвердить. С пунктами изменить и удалить всё понятно: запись либо изменяется, либо удаляется. При выборе «Подтвердить» система обучается, обновляя статистику и вероятности, а запись удаляется.

Рисунок 4.12 - Таблица предварительных диагнозов

4.2 Тестирование системы

Для тестирования системы было выбрано 23 наиболее известные глазные болезни, 49 симптомов и 13 факторов. Список заболеваний, симптомов и факторов можно посмотреть в приложении.

Для каждого из них было добавлено в статистику по несколько заболеваний с разными наборами симптомов. Это видно в колонке patiens на рисунке 4.13 для диагнозов и на рисунке 4.14 для рёбер диагноз-симптом.

Выберем симптомы, соответствующие Амблиопии (рисунок 4.15).

Нажмём «Отправить». Результат виден на рисунке 4.16.

Рисунок 4.13 - Таблица diagnosis в phpMyAdmin

Рисунок 4.14 - Таблица diagnosis_symptom в phpMyAdmin

Рисунок 4.15 - Выбор симптомов

Рисунок 4.16 - Результат диагностики

На рисунке 4.17 можно видеть результаты той же диагностики для других симптомов с меньшей вероятностью.

Выберем 2 симптома (рисунок 4.19).

Результат представлен на рисунке 4.20.

Выберем фактор влияния, например «у ближайших родственников имеются проблемы с глазами». Результат диагностики можно увидеть на рисунке 4.21.

Рисунок 4.17 - Результат диагностики, заболевания с меньшей вероятностью, чем тестируемое

Рисунок 4.18 - Описание дальнозоркости

Рисунок 4.19 - Выбор симптомов

Рисунок 4.20 - Результат диагностики без выбора факторов

Рисунок 4.21 - Результат диагностики с выбором факторов

Выберем симптомы, не принадлежащие одному диагнозу (рисунок 4.22).

Рисунок 4.22 - Выбор симптомов

Предполагается, что вероятности болезней будут малы. Результат на рисунке 4.23.

Рисунок 4.23 - Результат диагностики

Была выведена всего одна болезнь. Как и предполагалось, её вероятность мала.

Заключение

Основным итогов выпускной квалификационной работы является разработка модели и реализация алгоритма для автоматической диагностики глазных заболеваний человека. В ходе выполнения ВКР было проведено исследование предметной области, также был проведен обзор существующих аналогов разрабатываемой системы и были найдены их существенные недостатки, которые привели к необходимости разработки приложения, удовлетворяющего всем рассмотренным требованиям.

Был разработан алгоритм построения модели для диагностирования. Для представления модели используется аппарат байесовских сетей. Сеть содержит три основных типа вершин: факторы, диагнозы и симптомы. Данный алгоритм может быть применен при разработке любой системы медицинской диагностики диалогового типа с подходящей трехуровневой моделью сети.

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

Так как приложение хранит результаты вычислений, была разработана структура БД, благодаря которой данные не вычисляются каждый раз, а сохраняются на внешнем сервере.

Для создания данного ПО были выбраны инструментальные средства, обеспечивающие простоту и надежность разработки.

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

Также было проведено тестирование, в рамках которого прошел вычислительный эксперимент, доказывающий эффективность использования байесовских сетей.

Разрабатываемый программный продукт может быть использован как дополнительное приложение к какому-либо сайту клиники или как самостоятельный сайт.

Данный продукт выглядит несерьёзно: пара страниц и простой метод с кратким описанием диагнозов и неактуальностью регистрации обычных пользователей. Перспективы развития подобного приложения огромны. Так как на сегодняшний день интернет заполонил жизнь обычного человека и такие интерактивные элементы как форумы, блоги, получение сертификатов, интеграция с социальными сетями, необходимы для сайта. Это привлечёт посетителей и даст рекламу в социальных сетях. А размещаемая на сайте реклама частично покроет расходы на поддержку и развитие сайта. Стоит так же рассмотреть возможность интеграции приложения в систему регистратуры конкретной больницы и записи к специалисту. Последние элементы можно сделать платными, присвоив приложению статус freeware, окупая тем самым часть расходов. Так приложение сможет стать конкурентоспособным среди аналогичных систем. Предлагаемый программный продукт сможет найти применение на рынке медицинских услуг.

Список литературы

1. Офтальмология: болезни и лечение глаз / 2011г.

2. Что такое офтальмология? - Глаза для меня. 2013г.

3. МКБ-10 - Международная статистическая классификация болезней и проблем, связанных со здоровьем / О глазках [Интернет-портал].

4. Образ жизни. Факторы, влияющие на здоровье глаз /Women's Eye Health.com. 2014г.

5. Симптомы заболеваний глаз / Вся информация про глаза в доступной для Вас форме. 2015г.

6. Что такое офтальмология? / - Посольство медицины

7. Определение экспертных систем. Главное достоинство и назначение / - Конспекта.нет

8. Область применения экспертных систем / - Студопедия.

9. Области применения экспертных систем / - Научно-образовательный центр по фундаментальным проблемам приложений физики низкотемпературной плазмы

10. Экспертные системы - интеллектуальные помощники специалистов / В. О. Сафонов ; О-во \"Знание\" России, С.-Петербург. орг. - Санкт-Петербург, 1992 . - 29, 2 c. - Перед загл. авт. В. О. Сафонов, д-р техн. наук. - Библиогр.: с. 30 . - На рус. яз. : 3.75 .

11. Диагностика глазных заболеваний / - Расческоff

12. Офтальмология Учебник / Под ред. Е.И. Сидоренко. -- 2-е изд., испр. -- М. ГЭОТАР-Медиа, 2006. - 408 с. ил.


Подобные документы

  • Ограничения, присутствующие в предметной области. Проектирование инфологической модели данных. Описание основных сущностей и их атрибутов. Логический и физический уровни модели данных. Реализация базы данных: представления, триггеры, хранимые процедуры.

    курсовая работа [1,7 M], добавлен 10.02.2013

  • Разработка информационно-аналитической системы агентства недвижимости. Обоснование выбора архитектуры базы данных и СУБД. Моделирование потоков данных (DFD диаграмм). Проектирование инфологической модели данных с использованием модели "сущность-связь".

    дипломная работа [5,4 M], добавлен 06.06.2013

  • Семантическое моделирование данных. Основные понятия модели Entity-Relationship. Построение инфологической модели в виде диаграммы "Таблица-связь". Проектирование физической модели базы данных. Разработка формы заставки, главной, вторичных кнопочных форм.

    курсовая работа [1,5 M], добавлен 26.06.2012

  • Базовые принципы правового регулирования трудовых отношений. Проектирование автоматизированной информационной системы "Отдел кадров", программная реализация, тестирование. Состав базы данных, методы анализа надежности системы, руководство пользователя.

    дипломная работа [3,6 M], добавлен 11.03.2010

  • Пример экспертной системы с использованием метода Криса-Нейлора. Структура базы данных. Стратегия вывода результатов выбора страны. Руководство пользователя, редактирование базы знаний. Режим тестирования, его завершение, блок объяснения решения.

    контрольная работа [1,6 M], добавлен 29.12.2012

  • Особенности разработки инфологической модели и создание структуры реляционной базы данных. Основы проектирования базы данных. Разработка таблиц, форм, запросов для вывода информации о соответствующей модели. Работа с базами данных и их объектами.

    курсовая работа [981,4 K], добавлен 05.11.2011

  • Концептуальное и инфологическое проектирование базы данных в системе управления базами данных Microsoft Access. Физическое проектирование базы данных "Магазин спорттоваров". Тестирование и отладка базы данных, составление руководства пользователя.

    курсовая работа [6,7 M], добавлен 22.11.2022

  • Составление схемы концептуальной модели данных. Разработка структуры реляционной базы данных и интерфейса пользователя. Особенности главных этапов проектирования базы данных. Способы реализации запросов и отчетов. Специфика руководства пользователя.

    курсовая работа [186,9 K], добавлен 18.12.2010

  • Выбор состава технических и программных средств разработки системы. Описание входных и выходных данных. Выбор модели базы данных. Разработка подсистемы наполнения базы данных, формирования отчетов. Разработка интерфейса пользователя, тестирование системы.

    курсовая работа [3,7 M], добавлен 04.12.2014

  • Проектирование системы управления базами данных. Особенности реализации в MS SQL. Разработка пользовательского интерфейса. Тестирование и отладка приложения. Руководство пользователя и системного администратора. Анализ и методы разработки приложений.

    курсовая работа [867,9 K], добавлен 16.07.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.