Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Алгоритм Байеса, Помогите реализовать! 
:(
    Опции темы
broadcast77
Дата 7.4.2010, 20:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 7.4.2010

Репутация: нет
Всего: нет



Доброго времени суток! Очень прошу вашей помощи. Суть заключается в реализации алгоритма Байеса.

Мне нужно создать экспертную систему с базой данных.

База данных содержит вопросы к пользователю, конечные решения и как я понял - веса конечных решений.

Рассмотрим простой пример - "Поиск неисправностей в автомобиле"

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

Далее на основании выбора локальной области из базы данных выбираются следующие решения -

"бензина недостаточно"                         - 25
"аккумулятор разряжен"                        - 25
"неисправность проводки"                     - 25
"неработоспособность свечи зажигания" - 25

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

После этого пользователю задаются следующие вопросы

"Уровень бензина достаточный?" если выбирается (да) то по идее ничего не происходит, если (нет), то вес этого ответа увеличивается, а у остальных уменьшается...

ну и как то вот так...

как это можно реализовать?? желательно на PHP

но так же можно на C, VB, Delphi...

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

буду безумно вам благодарен за помощь!




PM MAIL   Вверх
Peter
Дата 9.4.2010, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 771
Регистрация: 28.7.2003
Где: Ставрополь

Репутация: нет
Всего: 1



У меня такие соображения (без привязки к языку программирования). Вначале предполагаем, будто мы уже получили каждый ответ ровно по 1 (можно выбрать и другое число) разу. Так что веса у всех ответов по 25. А дальше уже получаем реальные ответы и пересчитываем веса.
Т.е. вначале все
Код
n[i] = 1;
А веса вычисляем по формуле
Код
ves[i] = n[i] / (сумма_всех(n));
При получении определенного ответа увеличиваем соответствующее n[i] на 1 и пересчитываем все ves[i].


--------------------
всё, что делаете, делайте от души, как для Господа (Послание апостола Павла колоссянам, 3:23).
PM MAIL WWW   Вверх
broadcast77
  Дата 16.4.2010, 14:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 7.4.2010

Репутация: нет
Всего: нет



Peter, спасибо большое) обязательно учту ваш вариант!  
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.4828 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.