Как стать автором
Обновить

Комментарии 10

Как человек, писавший диплом на Прологе (лабиринты и Пролог, что могло пойти не так?), несколько недоумеваю — до кого эта статья? Если Вы делаете обзор языка, то почему бы не раскрыть математическую базу языка (метод резолюций) подробнее? Почему бы не рассказать, почему выбрано именно это правило вывода?
Если Вы демонстрируете особенности Пролога, как языка для построения ЭС, почему бы не сравнить его с другими языками, которые могут использоваться в подобном ключе? Почему бы не описать особенности «диалектов» Пролога?
Хабр же не для публикации выдержек из диплома, честное слово.
Для меня эта статья интересна как введение в тему «как могла бы быть построена медицинская экспертная система на Prolog». Объем статьи достаточен для введения. Для раскрытия подробностей устройства внутренних механизмов и сравнения диалектов Prolog нужна отдельная статья, но она уже больше интересна для специалистов. Почему бы вам ее не написать если вы глубоко в теме?
Статья для новичков в экспертных системах, о сложностях которые могут возникнуть, которые возникли у меня, и как я их решил. Математическая база и механизм вывода это отдельная большая тема, я лишь на паре примеров показал на мой взгляд самое важное для понимания статьи.
Сравнение диалектов Prolog не является темой статьи.
Это не просто выдержки, это ключики к решению потенциальных проблем, через которые прошел я, основанные на дипломной работе.
Тоже для диплома выбрал тему — экспертная система, правда для диагностики неисправностей автомобиля… после исследования остановился на C++, как языке, который реализован для множества архитектур. С Прологом в этом плане грустно было…

Как это выглядело? Пожалуйста, расскажите немного подробнее.

Подробнее? хм… 19 лет прошло… В то время досконально изучал вопрос, изучал доступную литературу, но, к сожалению, сейчас уже многое забылось. Насколько помню, была система основанная на фактах и весах. Всё сохранялось в БД.
Да, как написать ЭС на Прологе — до сих пор материалов пруд пруди. Но, ничего сложного там нет. С развитием SQL баз данных так и вовсе проще стало.
В своё время эта книга сильно упростила понимание — «Нейлор, Крис. Как построить свою экспертную систему» nashol.com/2014022175954/kak-postroit-svou-ekspertnuu-sistemu-neilor-k-1991.html И, внимание, там реализация на Бейсике, а значит, легко портируется на любой язык. Email автора, кстати, я потом нашел в Инете, поблагодарил, и даже переписывался какое-то время по теме…
Еще была bookfi.net/book/757708 «Экспертные системы. Принципы работы и примеры Форсайт Р. (ред.)». Нейлор там тоже засветился. Ну, а дальше, яндекс Вам в помощь… или гугл. :)
На типовой вопрос «что то стучит снизу» каков был ответ экспертной системы? )
:-)
Не ясно как ваш интерфейс (GUI на Qt/C++), взаимодействует с длл, вот тут:
tashQuestion(Id):-
...
dialog_ynw(Prisnak,Ans),

Этот предикат dialog_ynw() показывает диалог вопроса?, получается в «логическую» часть «зашиты» элементы интерфейса пользователя, странно…, так можно было все и реализовывать на Visual Prolog, графические возможности там достаточные.
tashQuestion не относится к машине вывода, т.е. это предикат для общения с пользователем.
Я использовал API Visual Prolog для GUI, хотя сначала хотел GUI на QT. К сожалению не получилось их соединить, только для простых предикатов без объектов получалось вызвать dll-функцию из C++.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории