Шаг 1. Выберите механизм вывода. Есть много вариантов. Вот список: http://en.wikipedia.org/wiki/Expert_system#Shells_or_Inference_Engine
Шаг 2. Используйте язык, который взаимодействует с механизмом вывода.
Вам будет гораздо приятнее использовать механизм вывода для работы экспертных систем.
Я хотел бы разместить это в блоге или на веб-сайте и позволить людям использовать его оттуда
Тривиально.
есть ли конкретный механизм вывода, который работает с семейством .NET, или PHP, или что-то в этом роде?
Не имеет значения.
Вот в чем путаница. Ваш «веб-сайт» и ваше «приложение вывода» не имеют НИЧЕГО общего друг с другом. Ничего такого.
Ваш веб-сайт можно создать с помощью любого набора инструментов, который вы можете найти. Это не имеет значения.
Ваше приложение вывода можно сделать с помощью любого набора инструментов, который вы можете найти. Это не имеет значения.
Ваш веб-сайт будет вызывать приложение вывода через любой API, который имеет смысл. Наименьший общий знаменатель в API (причина того, что ни один из этих вариантов не имеет значения) - сделать это.
Напишите приложение вывода как автономный инструмент командной строки.
Напишите свое веб-приложение для запуска автономного инструмента, сбора результатов и преобразования их в HTML-страницу.
Обратите внимание, что эта реализация с несколькими порциями может быть быстрее и лучше использовать многоядерные процессоры. Он заставляет ОС управлять веб-сервером (например, Apache HTTPD), веб-приложением и экспертной системой как потенциально тремя отдельными параллельными процессами.
Вы также можете взглянуть на Prolog. SWI-Prolog ( http://www.swi-prolog.org ) очень полный и включает библиотеку поддержки HTTP ( http://www.swi-prolog.org/pldoc/ пакет / http.html ). Этот документ может быть полезен при использовании SWI-Prolog в сети («SWI-Prolog и Интернет» http://dare.uva.nl/record/285350 )
И вы можете найти руководство по созданию экспертных систем с прологом по адресу: http://www.amzi.com/ExpertSystemsInProlog/
Здесь вы услышите много субъективных мнений, поскольку мало кто имеет опыт написания экспертных систем на нескольких языках.
Я могу порекомендовать Common Lisp, так как на этом языке есть довольно много литературы и существующего кода, это очень мощный язык и не слишком сложный для изучения (прочитайте "Practical Common Lisp" Питера Сайбела). Конечно, любой новый язык высокого уровня требует определенных усилий для изучения. Для веб-приложения можно использовать, например, Hunchentoot и CL-WHO, а также существует множество привязок к базам данных (мне нравятся Postmodern и CL-SQLite).