Показать сообщение отдельно
  #5  
Старый 25.05.2013, 08:39
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,031
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Цитата:
Сообщение от salasius
Ну у меня всё несколько проще....

Ну, можно сделать тоже самое просто чуть попроще. Ты, собственно, и описал систему логического вывода на продукционных правилах. Просто если у тебя только один параметр на входе и выходе, то можно все упростить. С другой стороны, если сделать продукционные правила, то будет что-то типа:
Код:
ПРАВИЛО 1:
ЕСЛИ
  Есть доп капитал = ДА
  Можно дать рекламу = ДА
ТО
  Рекомендация = Дай рекламу в газете

ПРАВИЛО 2:
ЕСЛИ
  Есть доп капитал = НЕТ
  Можно снизить цену = ДА
ТО
  Рекомендация = Снижай цену и дай рекламу на листовках

ПРАВИЛО 3:
ЕСЛИ
  Можно изменить материалы = ДА
ТО
  Можно снизить цену товара = ДА

Теперь для запроса на вычисление [Рекомендация] система сначала спросит о наличии доп капитала, по ответу выберет правило 1 или 2, задаст второй вопрос, по необходимости (читай, по ответу) вызовет вычисление правила 3. Таким образов вычислится искомое значение и выведется результат. Это без системы самообучения и без разных других интересных штук, типа вероятностного вывода. Кстати, такая штука пишется довольно просто, в свое время на дипломку я час движок написал за вечер. Сложнее было с созданием правил, на них потратили почти неделю.
Ответить с цитированием