Задать вопрос
danielnewman
@danielnewman
Front-end

Как построить дерево решений?

Вопрос к имеющим знакомство, а то и вовсе — водящим дружбу с логикой и математикой лучше меня, ну или к просто к образованным людям, коих на Хабре в избытке.



Пример:



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




Основываясь на некоем объеме знании этих ПДД, мы попытаемся сгенерировать круг вопрос, ответы на которые позволят нам трактовать ситуацию в общепринятой терминологии, сделать правильные выводы о происходящем и, далее, выстроить некоторое дерево задач и решений.



Первая картинка — черновик наших идей:



Далее, мы понимаем, что есть правила имеющие большее значение, как например наличие или, упаси нас от этого, отсутствия водительских прав на управление транспортным средством и есть второстепенные правила.



Следующий итерацией размышления, мы принимаем о том, что трезвость водителя имеет то ли большую важность, чем наличия прав, то ли второстепенную, но схема уже меняется и приобретает следующий, более «логичный» вид:



Так вот и сам вопрос. Что за наука или её приложение регулирует построение верных/ложных деревьев решений и как называется такой подход к постановке задач, а так же название той науки или ряда наук, позволяющие выстраивать иерархии идей и проверять это дерево на некую правильность?



Приведенные размышления — пример «на коленке». Задачи бывают сложнее на порядок, между каждым узлами может существовать более двух связей ДА/НЕТ, есть более и менее приоритетные вопросы и т.д., а мне нужно построить некоторую схему, классификацию. Причем не из вершины, назвав круг задач «ПДД» (правила дорожного движения). Сама обобщающая идея, название этого дерева, должны проявиться по мере составления такого дерева. Но у меня нет понятийного языка, хоть я и уверен, что велосипед давно изобретен.



Ваши предположения? Что я ищу? В каких науках занимаются подобной «теорией классификаций»? У кого есть подобный инструментарий?



Тэги — мои гипотезы на этот счет. Был бы ответ — не задавал вопрос.)
  • Вопрос задан
  • 15615 просмотров
Подписаться 6 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 7
seriyPS
@seriyPS
Мне кажется это что-то из области Prolog.
Ответ написан
Комментировать
@S_A
Посмотрите небольшую теорию здесь. Еще, построение деревьев — один из функционалов пакетов дата майнинга (пример).
Ответ написан
mrMazai
@mrMazai
WebDeveloper
Можно посмотреть на «Фасетная классификация» (классификация двоеточием, классификация Ранганатана). Там одни ветви могут принадлежать другим, но не совсем вписывается в понятие дерева, как я это понимаю, больше сота или мох.
Ответ написан
Комментировать
@elderos
Есть очень user-friendly тулза RapidMiner
rapid-i.com/content/view/26/84/lang,en/
Ответ написан
Комментировать
sergeypid
@sergeypid
Вот хороший обзор бесплатных пакетов датамайнинга blog.samibadawi.com/2010/06/orange-r-rapidminer-statistica-and-weka.html надо бы перевести на хабре.
Ответ написан
Комментировать
@VoFFkIN
Наука называется «Теория ограничения систем» Элияху Голдратт.
А для реализации Lisp вам в помощь.
Ответ написан
Комментировать
@irudakov30
Тут отличная статья:
habrahabr.ru/post/171759
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы