Экспертные системы для 4-разрядного Бинардика
Исходная дешкета с программой «Угадай животное»
Как играть см. https://www.youtube.com/watch?v=yhY2D1N0TXM
Программу можно представить в виде бинарного (двоичного) дерева
Всего животных 16. Первый вопрос делит животных на 2 группы по 8. Каждый последующий вопрос снова делит оставшихся на 2 группы. Если 16 четыре раза поделить на 2, то получается 1. Поэтому требуется максимум 4 вопроса, чтобы точно определить одно животное из возможных 16.
Каждому животному соответствуют свои координаты. Начинаем мы с того, что ни одна координата не известна. На каждом уровне дерева происходит выяснение значения одной из координат при помощи вопроса. Первый уровень - красная координата, второй уровень - жёлтая, третий - зелёная, четвёртый - синяя. Почему же тогда программа стартует из 0000, если в начале никакие координаты не известны? Потому что мы всё время делаем предположение, что ответ на вопрос будет «Нет», что двигаться никуда не придётся, что загаданное животное находится в текущей клеточке. Поэтому, если в дереве все знаки вопроса заменить на нули, то это и будут координаты клеток, куда надо вписывать вопросы. То есть вопрос «Млекопитающее?» надо записать в 0000, а вопрос «Плотоядное?» надо записать в 0001. При составлении такой же программы для другого списка животных сам список животных и задаваемые вопросы нужно подбирать так, чтобы выполнялись описанные правила.
Можно сделать для 32 животных, тогда нужно будет 5 вопросов. В этом случае нужно использовать обе стороны дешкеты. На одной стороне 16 животных и на другой 16. Можно и для большего количества животных, но это уже уровень для продвинутых, я не буду это здесь описывать.
Приведу ещё два примера. Они более примитивные и не будут производить такого впечатления, как «Угадай животное», но они очень полезны для понимания.
Дешкета «Угадай число». Угадывает число от 1 до 16.
Дешкета «Угадай фигуру». Угадывает фигуру из настольной игры Quarto.