Ответы пользователя по тегу Проектирование программного обеспечения
  • Какой должна быть экспертная система?

    @MinasAbrahamyan
    разработчик и лид с большим(20л) опытом,информатик
    По-видимому ваша компетенция не в сфере ЭС, а в сфере программирования. В таком случае попробую подсказать по ЭС.

    Формально говоря (есть в каждой книжке по ЭС в первой главе) экспертная система - это готовая система для которой произведен сбор знаний, их инжиниринг и внедрение итд, по процессу. А для разработки используют Expert System Shell - оболочку ЭС. далее я везде имею ввиду оболочку.

    Шаг первый - узнать что существует. для этого советую изучить Jess по книжке jess in action. jess - намного лучшая реализация CLIPS, плюс использование джавы добавляет батареек.

    Потом посмотреть JBoss DRools, в нем есть побольше функций, в частности backward chaining (это есть и в Прологе но там нету forward chaining)
    Раньше алгоритм Rete не везде был реализован, но сейчас кажется есть во всех нормальных ОЭС.

    Шаг второй - посмотреть что можно добавить. Есть книга Питера Джексона Введение в экспертные системы там описано много функций из экспериментальных или научных экспертных систем, и редко более двух реализовано в одной оболочке ЭС. Их и можно добавить.
    Там их достаточно, а если нет, можно спросить.

    Теперь ответы, по обратному порядку:
    3. Можно приспособить ко всему к чему есть экспертные знания (ну или "экспертные" - не суть. можно начать и приловчиться - в любой сфере. главное желание и энергия)

    Но например, как сейчас стали ЭС использовать.
    Стали применять в бюрократиях для замены начальников и прочих проверяльщиков из бюрократии на систему с правилами настроенными на проверку бумажек. точнее анкеты вводятся в электронном виде девочкой-оператором, и ЭС их проверяет. вплоть до проверки можно ли давать кредит и тп.
    В общем эффективные менеджеры МБА-шники взяли микроскоп информатиков из 80ых и применяют для своих целей, заколачивания пары медных гвоздей, в виде экономии на бюрократии.

    2 "Что нужно реализовать в ней?" - то чего не хватает в выбранной оболочке ЭС. может уже есть, смотря задача. для автоматизации и замещения бюрократов механическим бюрократо-автоматом уже все есть, кажется.
    А может для задачи чего-то не хватает. или алгоритмы медленные. Если хорошая сложная задача, может и так случится. Изобретатель алгоритма Rete например, новые версии сделал платными и защитил патентами.

    1. "как себе видят ЭС в понимании обычного пользователя, не только разработчика?"
    Для примера наверху.
    Если визуально - то оператор видит окошки ввода полей анкет или окошки для конкретной операции и в конце - дзинь - сообщение вида "фамилия не введена" или условно, максимум, "кредита не выдавать" или скажем еще какая машинерия, требующая вмешательства в ральности, типа запросить подпись, или паспорт клиента.

    А тот кто пишет правила видит либо текстовые поля как программист, либо "более визуальное" типа Query builder-a в MS Access, для тех же правил.
    Ответ написан
    1 комментарий