Ещё давным-давно придумали игру "Животные", суть которой заключалась в том, что пользователю задавались альтернативные вопросы, на к-е можно отвечать "да" или "нет". Поиск ответа производится по двоичному дереву (на ветвях которого висят ответы).Если нового уточняющего ответа по иерархии дерева нет, компьютер выдаёт окончательный. Если этот ответ тоже неверен, то запрашивается ответ, и свойство, которым пользовательский ответ отличается от окончательного компьютерного. Программа, таким образом, самообучающаяся.Необходимо формализовать алгоритм. У меня есть задумки насчёт создания групп, основанных на иерархии, и их хранение в файле, и насчёт объектов, содержащих битовое поле соответственно вопросам. Но это как-то неэлегантно и некрасиво
Подскажите?
ops: Подробнее, что я придумал:Допустим, сначала есть только кот. Создаём класс all, помещаем туда объект cat. class all- object catПри запуске, если пользователь, допустим, загадал собаку, и задал отличие "гавкает", у нас будет такая структура:class all- option gavgav |_ object dog- object catПримерно так. Только как это формализовать... Баатюшки... :shock: