Пред.
След.
Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO
5.7.3. Третий способ решенияФерзи надо размещать в горизонталях с наименьшими степенями свободы. Речь идет о том, чтобы, на каждом этапе рассматривать такое множество Свободные клетки в каждом множестве переменных, т. е. все ситуации, в, которых при некотором заданном запрещены все У, за исключением одного. Таким образом, Восемь ферзей. Третий вариантПо сравнению со вторым вариантом главный принцип со стоит в том, чтобы рассматривать горизонтали шахматной, доски не в «естественном» порядке, а каждый раз в зависимости от того, кэкая горизонталь обладает наименьшей степень свободы, т. е. в какой из горизонталей содержится наименьшее число свободных клеток. (см. скан) (см. скан) КОНЕЦ третьего варианта алгоритма для задачи о восьми ферзях. Последнинй вариант алгоритма позволяет улучшить качество решения настолько, что случай обычной шахматной доски может быть обработан вручную целиком всего за несколько часов. Продемонстрируем, с какой скоростью поисковое пространство может быть проверено с помощью данного метода. Во-первых, отметим, что совершенно не обязательно начинать рассмотрение с первой горизонтали и первого ферзя. Итак, начнем, например, с четвертой горизонтали. Допустим, что на некотором этапе поиска мы решаем, можно ли расположить первого ферзя на пересечении вертикали с и горизонтали IV, а второго
Рис. 5.15 а. Задача о восьми ферзях. на пересечении вертикали Для четвертого ферзя можно было бы поискать место на рторой горизонтали, в которой насчитываются лишь две свободные клетки. Однако, чтобы лучше учесть импликации, мы должны рассматривать и вертикали: в вертикалях Итак, одна из свободных клеток на вертикали ферзя является вынужденным. Так как при этом блокируется одна из двух свободных клеток в вертикали
Рис. 5.156. Задача о восьми ферзях (продолжение).
Рис. 5.16. Полное решение. Цифры в кружках обозначают местоположение Клетка, (II, Ь) уже была обязательной, а клетка (VII, h) становится таковой. Эти два вынужденных значения неизбежно приводят к размещению следующего ферзя в клетке Сохраняя только показатели вертикалей при естественном порядке горизонталей, мы можем сокращенно обозначить это решение как
Рис. 5.17. Невозможность продолжения поиска после выбора местоположения третьего ферзя. Данное решение определяется только выбором местоположения для первых четырех ферзей, поэтому, если мы хотим получить все решения нашей задачи, нужно вернуться к каждому из этих выборов по очереди. Вернувшись вначале к выбору местоположения третьего ферзя, мы запретим занимать клетку (V, а), отметив ее цифрой 2, поскольку теперь эта клетка связана с выбранным вариантом размещения второго ферзя. Поместим ферзя в следующую свободную клетку (V, е). Отметив запреты, мы увидим, что на этой стадии клетка (II, d) является обязательной, а в восьмой горизонтали при таких условиях нам не подойдет ни одна клетка. Эта ситуация показана на рис. 5.17. Вернемся еще раз назад. Последний вариант размещения третьего ферзя при фиксированном положении ферзей 1 и 2 — йлетка (V, g). В этом случае мы получаем несколько горизонталей со степенью свободы, равной 2. Если поместить ферзя 4 на горизонтали II в клетке (II, Ь), то размещение ферзя 5 в
Рис. 5.18. Завершение поиска после выбора местоположения для двух ферзей. клетке (VII, а) является вынужденным, но эти два варианта закрывают все возможности в последней вертикали. Выбор другой свободной клетки на горизонтали практически достаточно выбрать местоположение для трех ферзей. Для размещения третьего ферзя имеются в среднем только три возможности; следовательно, общее число ситуаций будет составлять Алгоритм, к которому мы в конце концов пришли, осуществляет неявный перебор поискового пространства У, которое разбито на составляющие Предложенная общая схема остается верной, если мы перейдем к задачам, не похожим на задачу о ферзях: оптимальной раскраске графа, задаче о коммивояжере, автоматизации рассуждений и игре в шахматы.
|
1 |
Оглавление
|