Книга Вычислительное мышление. Метод решения сложных задач, страница 14. Автор книги Пол Керзон, Питер Макоуэн

Разделитель для чтения книг в онлайн библиотеке

Онлайн книга «Вычислительное мышление. Метод решения сложных задач»

Cтраница 14

Головоломка «Улей» представляет собой блок из шестиугольников — символический улей с сотами. Его участки разделены толстыми линиями. Заполняя улей, необходимо соблюдать два правила.

1. В каждой выделенной области должны находиться числа от 1 и до числа, равного количеству шестиугольников в области. Например, самый верхний уровень в головоломке на рис. 12 состоит из четырех шестиугольников, поэтому их надо заполнить числами 1, 2, 3 и 4. Числа нельзя повторять. Если в области всего два шестиугольника, как на этом рисунке, то нужно внести числа 1 и 2.

Вычислительное мышление. Метод решения сложных задач

2. Шестиугольники с одинаковыми номерами не могут соприкасаться ни с одной гранью. Таким образом, поскольку в улье на рис. 12 в среднем шестиугольнике стоит 4, ни в одном из пяти, окружающих его шестиугольников 4 стоять не может.

На рис. 12 представлена простая головоломка «Улей», которую мы предлагаем решить. Попробуйте сделать это, прежде чем продолжить чтение.

Решаем головоломку «Улей»

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

В правой нижней части улья есть участок, состоящий лишь из одной ячейки. В соответствии с первым правилом, в ней должно стоять число от 1 до… 1. Поэтому я ставлю туда 1, как на рис. 13.


Вычислительное мышление. Метод решения сложных задач

Наконец, слева внизу у нас есть область из двух ячеек. В них должны стоять 1 и 2 (по первому правилу). В одном шестиугольнике уже есть 2, так что единственный вариант для оставшегося шестиугольника — это 1 (рис. 14).


Вычислительное мышление. Метод решения сложных задач

В двух оставшихся областях — по четыре шестиугольника. Сейчас нам придется поломать голову. Посмотрите на 1 в нижнем углу. Это значит, что ни в одном из трех окружающих его шестиугольников не может быть 1 (по второму правилу). Однако в этой области есть только четыре шестиугольника, и один из них должен содержать 1 (по первому правилу). Значит, 1 должна находиться в последнем шестиугольнике, который не соприкасается с 1, потому что в другое место единицу не поставишь. Мы получаем улей с рис. 15.


Вычислительное мышление. Метод решения сложных задач

Теперь постараемся понять, куда в этой же области нужно поставить 2. Оба нижних шестиугольника соприкасаются с 2, и единственно, куда можно написать 2, — в ячейку между двумя единицами справа внизу (рис. 16).


Вычислительное мышление. Метод решения сложных задач

Над этой областью стоит 4, и рядом нельзя поставить еще 4 — ее нужно расположить внизу. Это определяет, где должны оказаться 3 и 4 относительно остальных шестиугольников, как показано на рис. 17.


Вычислительное мышление. Метод решения сложных задач

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


Вычислительное мышление. Метод решения сложных задач

Соответственно, в последний шестиугольник надо поставить 3, поскольку в этой области должны стоять числа 1–4 и недостает только 3. Решение целиком показано на рис. 19.


Вычислительное мышление. Метод решения сложных задач

Мы разгадали головоломку. И сделали это, исходя из двух правил и исходных данных — известных чисел. Основываясь на них, мы многократно выявляли новые факты в этой головоломке. Мы прибегли к особому виду логических рассуждений, называемому дедукцией, который позволяет с помощью известных фактов и правил мироустройства (в данном случае — правил головоломки) получать новые факты. Считается, что именно так Шерлок Холмс творил свои детективные чудеса. Он подмечал разные детали в людях и ситуациях, а потом с помощью дедукции выводил новые факты, которые являлись следствием этих деталей. Чем больше фактов он узнавал, тем дальше мог продвинуться в дедукции, что и позволяло в конечном итоге раскрывать преступления. Ученые-информатики и математики используют похожий метод. Хорошие программисты обращаются именно к дедукции, чтобы убедиться в бесперебойной работе своих программ.

Выводим правила

Сопоставляем с образцом и создаем правила

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

Правило одного шестиугольника

Вернемся к решению предыдущей головоломки. Мы выяснили, что, если в области содержится только один шестиугольник, в нем должна стоять 1. Это следует непосредственно из первого правила. Осознав, что нет необходимости снова это обдумывать, мы можем из начального правила вывести новое.

3. ЕСЛИ в области есть только один шестиугольник, ТО в нем может стоять только 1.

Вход
Поиск по сайту
Ищем:
Календарь
Навигация