Topic: Пример простой экспертной системы!

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

2 (edited by Maksim.Korotkov 2018-02-12 14:03:19)

Re: Пример простой экспертной системы!

Приветствую всех. Накидал простенькую экспертную систему. Вопрос вот в чем, как можно реализовать:

1) Когда остаётся одна запись в гриде вывести сообщением этот текст (например - "Это самолёт" с кнопкой "Ок") далее после "Ok" диалоговое окно - Продолжить и 2 варианта "Да" и "Нет", при выборе "Нет" - выход из программы, а при выборе "Да" окно с выбором критериев (характеристик) - обновлялось на дефолтное состояние, т.е небыло бы прежнего выбора.

2) И если такой комбинации критериев не было бы в гриде предлагало бы запомнить программе свой вариант (т.е окно с вводом своего значения)

Post's attachments

Attachment icon Screen.jpg 127.1 kb, 197 downloads since 2018-02-12 

Re: Пример простой экспертной системы!

Экспертные системы подобного типа делаются на основе бинарного дерева: пользователю по очереди задаются вопросы, отвечая на которые "да" или "нет" программа перемещается по дереву вариантов. Когда достигнут конечный узел, программа сообщает свое решение. Пользователь либо соглашается, либо отрицает решение системы. В этом случае система предлагает ввести дополнительный вопрос, чтобы добавить ещё одно ветвление в дереве и новый ответ (или два новых ответа).
Для реализации подобной системы понадобится следующая структура дерева вопросов

  • ID - идентификатор (создаётся автоматически)

  • Node_text - текст вопроса или текст ответа

  • ID_positive - идентификатор узла для перехода при положительном ответе

  • ID_negative - идентификатор узла для перехода при отрицательном ответе

Сам алгоритм реализуется скриптом, из элементов интерфейса понадобится Label (для отображение текущего вопроса или ответа) и две кнопки (Да/Нет).

Визуальное программирование: блог и телеграм-канал.