Pmonline.ru

Пром Онлайн
1 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как сделать кроссворд в Excel и раскрасить свой досуг

Как сделать кроссворд в Excel и раскрасить свой досуг

screenshot 2021-09-25 037_25_09_2021

Как сделать кроссворд в Excel? Если кратко — возьмите готовый вариант или подготовьте его сами, создайте ячейки необходимой формы и ширины, внесите данные, задайте границы и придайте новому рисунку необходимый вид. Ниже подробно рассмотрим, как пошагово сделать кроссворд в Excel с проверкой и оценкой. Отдельно приведем особенности использования и сферу применения таких графических изображений.

Как создать кроссворд

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

Рассмотрим пошагово, как создать кроссворд в Excel и добавить в него необходимые опции. Алгоритм такой:

  • Нажмите Ctrl+A на клавиатуре и выделите весь лист.
  • Жмите правой кнопкой мышки (ПКМ) и кликните на «Высота строки».

  • В появившемся окне задайте высоту на уровне «18» и подтвердите действие.
  • Для изменения ширины жмите на панель с названием столбцов, а в появившемся меню выберите «Ширина столбца …».
  • В появившемся окне введите нужные данные. В частности, укажите «3» и жмите «ОК».

  • Рассчитайте количество клеток для букв в горизонтальном / вертикальном направлении.
  • Выделите нужное число ячеек на листе для создания кроссворда в Excel.
  • На вкладке «Главная» кликните по кнопке «Граница», которая находится в ленте раздела инструментов «Шрифт».
  • Выберите «Все границы».

Это первые шаги, позволяющие сделать кроссворд на компьютере в Excel в виде предварительных границ. Далее нужно привести рисунок к окончательному варианту с учетом окончательного формата. Для этого используйте инструмент «Очистить», для запуска которого нужно нажать на значок «ластика» в блоке «Редактирование» («Главная»). Для этого нужно выделить границы для удаления, а после нажать на инструмент.

Разобраться, как сделать кроссворд в Экселе с нумерацией, не составляет труда. Как только рисунок принял необходимый вид, проставьте цифры в интересующие поля. При нумерации лучше прописать цифры небольшого размера (к примеру, «8»).

Для удобства можно горизонтальные строчки залить каким-то другим цветом с помощью клавиши «Цвет заливки» на ленте.

Рассматривая вопрос, как составить кроссворд в Excel, важно учесть необходимость добавления вопросов. Это можно реализовать путем нажатия на любую свободную область на удалении от рисунка. После жмите на инструмент «Объединить ячейки», находящийся в ленте на той же вкладке в разделе «Выравнивание». На следующем шаге в полученной ячейке можно сделать раздел для вопросов. Их нужно набрать или копировать.

На практике, чтобы в Экселе нарисовать кроссворд на компьютере / ноутбуке, потребуется не более 10-15 минут при наличии заготовки.

Как сделать проверку ответов

Создание рассмотренного выше рисунка — только половина работы. Многие спрашивают, как сделать кроссворд в электронных таблицах Excel с ответами и их проверкой. Для этого пройдите следующие шаги:

  1. Создайте новый лист в этой же книге и добавьте таблицу.
  2. Назовите 1-й столбец «Ответы».
  3. Впишите туда ответы на вопросы.
  4. Назовите 2-й столбец — «Введено». Здесь будут прописываться символы, которые вводятся пользователем и подтягиваются с самого кроссворда.
  5. Подготовьте 3-й столбец и назовите его «Совпадения». Если ячейка из 1-го столбца будет совпадать с данными со 2-й, появляется цифра «1». При отсутствии совпадения это будет «0». В 3-м столбце внизу нужна секция для общей суммы ответов (оценки).

Создание интерактивного кроссворда в Excel на этой стадии требует связывания таблиц на 1-м и 2-м листах. Для этого можно использовать функцию «Сцепить», которая позволяет объединить вводимые буквы в единое слово. Пройдите такие шаги:

  • Кликните по 1-й ячейке в столбце «Введено».
  • Жмите на клавишу вызова «Мастера функций».

  • В появившемся окне кликните «Сцепить».
  • Выделите опцию и жмите по кнопке «Ок».

  • В появившемся окне аргументов жмите на клавишу, которая находится с правой стороны от поля для ввода данных.
  • После сворачивания листа аргументов нужно сделать переход на лист с готовым кроссвордом в Excel.
  • Выберите ячейку, где находится 1-я буква слова, соответствующего строчке на 2-м листе книги.
  • Кликните на кнопку слева от места ввода для возврата к окну аргументов.

Чтобы сделать интерактивный кроссворд в Excel, пройдите рассмотренные выше шаги для всех букв слова. Как только сведения введены, жмите «ОК» в окне аргументов.

Читайте так же:
Можно ли снять валюту в банкомате сбербанка

Учтите, что в процессе разгадывания человек может вводить строчные или прописные буквы. При этом Excel будет распознавать их как различные символы. Чтобы избежать этой проблемы, станьте на необходимую ячейку и в строке функций укажите параметр «СТРОЧН». Оставшееся содержимое секции возьмите в скобки. После этого вне зависимости от размера буквы в столбце «Введено» будет происходить автоматическое преобразование в нужный формат.

Чтобы создать полноценный кроссворд в Excel, функции «СТРОЧН» и «СЦЕПИТЬ» необходимо использовать для каждой ячейки в столбце «Введено» и соответствующим диапазоном ячеек.

Далее выполните сравнение результатов в графах «Введено» и «Ответы». Для этого в столбце «Совпадения» используйте опцию «ЕСЛИ». Здесь нужно сделать следующее:

  1. Станьте на нужную ячейку в столбце «Совпадения».
  2. Введите функцию «=ЕСЛИ (расположение столбца «Ответы»=координаты столбца «Введено»;1;0).
  3. Выделите все ячейки в разделе «Совпадения», в том числе «Итого» и жмите по символу автоматической суммы в ленте.

Таким способом удается сделать проверку кроссворда в Excel, что упрощает задачу для его составителя. В результате в специальной графе будет ставиться оценка. Так, если задание сделано полностью, человек получает то число баллов, которое соответствует количеству вопросов.

Как вариант, можно сделать отображение результата не только на скрытом листе. Его легко открыть для пользователя, разгадывающего кроссворд в Excel. Для этого нужно сделать следующее:

  1. Перейдите на лист с кроссвордом в Excel.
  2. Выберите ячейку и введите туда следующее значение: «=ЕСЛИ(Лист2!Координаты ячейки с общим баллом=9;«Кроссворд разгадан на 100%»;«Попробуй подумать еще»)».

После этого работу можно считать завершенной.

Сферы применения кроссвордов

Зная, как делать кроссворд в Excel, удается реализовать множество замыслов. К примеру, составлять такие загадки можно для тренировки ума, участия в каких-либо конкурсах или для своих близких. Кроме того, многие учителя / преподаватели используют такой инструмент для проверки знаний учеников / студентов.

В комментариях расскажите, удалось ли вам сделать кроссворд с ответами и проверкой в Excel по приведенной выше схеме, и с какими трудностями пришлось столкнуться.

Как сделать кроссворд в Ворде

Как сделать кроссворд в Ворде

Есть потребность нарисовать кроссворд на ПК, но нет навыков? В этом деле хорошим помощником является Microsoft Word. Стандартные средства в ней не предусматриваются, но воспользоваться можно свойствами таблиц.

Создаем таблицу необходимого размера

Прежде чем приступать к созданию кроссворда на ПК, следует сделать его бумажный эскиз, или хотя бы иметь представление о нем в голове. Имея приблизительные размеры, можно приступать к созданию таблицы.

Как сделать кроссворд в Ворде

Как сделать кроссворд в Ворде

2. Нажимаем на изображение «Таблицы».

Как сделать кроссворд в Ворде

Как сделать кроссворд в Ворде

Как сделать кроссворд в Ворде

Как сделать кроссворд в Ворде

Как сделать кроссворд в Ворде

Как сделать кроссворд в Ворде

Как сделать кроссворд в Ворде

Как сделать кроссворд в Ворде

Как сделать кроссворд в Ворде

Как сделать кроссворд в Ворде

Как сделать кроссворд в Ворде

13. Нажимаем «OK» и закрываем все окна.

14. Табличка стала одинаковой.

Как сделать кроссворд в Ворде

Заполняем таблицу

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

Как правильно сделать нумерацию

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

1. Вначале просто нумеруем клетки как в макете.

Как сделать кроссворд в Ворде

Как сделать кроссворд в Ворде

Как сделать кроссворд в Ворде

Как сделать кроссворд в Ворде

Как сделать кроссворд в Ворде

После нумерации приступаем к закрашиванию клеток.

1. Выделяем свободную клетку и нажимаем на нее мышкой, правой ее кнопкой.

Как сделать кроссворд в Ворде

2. Появляется меню. В нем находим «Заливка» и нажимаем на данную надпись.

3. Затем определяемся с цветом заливки.

Как сделать кроссворд в Ворде

Как сделать кроссворд в Ворде

Последний этап

Теперь нужно придать кроссворду вид, который был в макете, и заполнить его текстом. В итоге кроссворд будет иметь следующий вид.

Как сделать кроссворд в Ворде

Теперь его можно показывать друзьям и близким, чтобы они оценили вашу работу и попробовали разгадать кроссворд.

EduNeo

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

Учебный кроссворд: как и где составить

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

Кроссворд – это игровая методика, сущность которой заключается в разгадывании слов по приведенным определениям.

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

Читайте так же:
Можно ли оплачивать киви кошельком в магазине

Кроссворд помогает:

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

Виды кроссвордов

Классический кроссворд Филворд Сканворд Японский кроссворд

При составлении кроссвордов необходимо придерживаться принципов наглядности и доступности.

Правила составления кроссворда

  1. Не допускается наличие “плашек” (незаполненных клеток) в сетке кроссворда.
  2. Не допускаются случайные буквосочетания и пересечения.
  3. Загаданные слова должны быть именами существительными в именительном падеже единственного числа.
  4. Двухбуквенные слова должны иметь два пересечения.
  5. Трехбуквенные слова должны иметь не менее двух пересечений.
  6. Не допускаются аббревиатуры (ЗиЛ и т.д.), сокращения (детдом и др.).
  7. Не рекомендуется большое количество двухбуквенных слов.

Преимущества кроссворда как метода обучения

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

Формы работы с кроссвордом:

  1. Организация самостоятельной внеурочной деятельности обучающихся.

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

2. Организация работы на занятии.

На этапе повторения материала: пятиминутные проверочные работы.

На этапе проверки знаний: работа с терминами и понятиями учебной дисциплины по конкретной теме.

На этапе изучения нового материала: предвосхищение будущего результата.

Этапы составления учебных кроссвордов

  1. Выбираем вид крссворда: лучше использовать ассиметричные, нестандартные, со свободным расположением слов.
  2. Составляем список терминов (в зависимости от типа занятия и его целей). Старайтесь включить в кроссворд как общенауные термины, так и специальные.
  3. Составляем вопросы к выбраным терминам.
  4. Нумеруем поле и вопросы.
  5. Печатаем кроссворд (при необходимости).

Критерии оценивания результата

Несомненно, критерии зависят от многих факторов и должны определяться преподавателем индивидуально, можно лишь выделить отдельные базовые пункты:

  • доля отгаданных слов;
  • доля ключевых терминов;
  • точность и однозначность формулировок вопросов.

Составление кроссвордов в Microsoft Office

Создание кроссвордов с применением Microsoft Word, Microsoft Excel, Microsoft PowerPoint.

Достоинства: доступность использования (предустановленное ПО); не нужно время для освоения программ.

Недостатки: не предназначены для составления кроссвордов, поэтому потребуется много времени и усилий, чтобы получить достойный вариант; нет возможности “поделиться” кроссвордом виртуально; невозможность автоматической проверки; часто приходиться дорабатывать кроссворд в ручную, на бумаге.

Специальные он-лайн сервисы для создания кроссвордов

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

На сервисе представлены все виды кроссвордов по различным учебным тематикам. Так же имеется конструктор кроссвордов, в котором можно сделать не только классический кроссворд, но и филворд, японский кроссворд, сканводр. На сайте быстрая публикация в общий доступ с указанием тематики и категории.

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

Hot potatoes – Программа для создания кроссвордов. Данное приложение интегрируется, а то и по умолчанию стоит в СДО Мудл.Имеется инструкция по работе на русском языке – Инструкция по созданию кроссворда в Hot Potatoes.

Пример генерации кроссворда

Пример кроссворда с использованием общенаучных и специальных терминов по специальности “Пожарная безопасность”.

Генерация кроссворда по словам

Полезные ресурсы по теме:

Мастерская для учителей биологии — здесь вы найдете готовые кроссворды для всех классов по основным темам и сможете создать свой кроссворд в режиме он-лайн.

Цветные и черно-белые кроссворды — этот сайт полностью посвящен японским кроссвордам. Любой из них можно распечатать или решать в режиме он-лайн. А для зарегистрированных пользователей доступна возможность сохранения кроссвордов.

Играемся — сервис для детей, где вы найдете не только классические кроссворды, но и сложные сканворды, которые помогают в развитии ассоциативного мышления ребенка.

Читайте так же:
Можно ли прожить жизнь без женщины

Учимся играя — представлены кроссворды, викторины, ребусы, головоломки по всем школьным предметам.

Сочетание кроссворда с другими методами арт-педагогики (коллаж, глоги, интеллект-карта, инфографика, эссе, инсценировки) позволяет расширить возможности метода и задействовать разные типы восприятия информации (зрительная, слуховая и т.д.).

Алгоритм формирования кроссвордов

Эта история начинается с публикации «Самый сложный кроссворд, составленный компьютером». В ней приведен один из самых сложных кроссвордов, составленных программой (см. ниже).

Я был уверен, что все кроссворды давным-давно генерируются программно и был несколько удивлен тем, что это может быть проблемой. Замечу, что речь идет именно о «канадских» кроссвордах, в которых каждое слово имеет пересечение с другим словом на каждой букве или очень близких к ним по сложности. В моей работе аналитика, не так много действительно сложных задач, поэтому мне стало интересно попробовать разработать алгоритм, который мог бы это сделать. Результат размышлений, подкрепленный программой для генерации кроссвордов, приводится в этой статье.

Для заполнения кроссворда всегда используется перебор. Мы ставим первое слово, затем все следующие, проверяя, чтобы буквы на пересечениях совпадали с буквами в словах, поставленных ранее. И так, пока все слова не будут поставлены. Казалось бы – нет ничего проще. Однако простой подсчет количества итераций подбора слов для кроссворда средней длины на 50 слов может изменить это мнение. Так, для установки любого слова, кроме первого, при наличии 1 000 слов соответствующей длины в базе и наличия всего одного заполненного ранее слова на пересечении, в среднем понадобится 1 000/33 = 30 итераций (нам, в среднем, нужно будет просмотреть 30 слов, прежде чем нам попадется слово, имеющее нужную букву на позиции заполненного ранее пересечения). При наличии более одного заполненного ранее слова-пересечения, это количество будет резко расти. Простой подсчет показывает, что для заполнения 50 слов, нам нужно выполнить 30^(50-1) итераций. Это миллиарды миллиардов итераций. Даже на современных компьютерах, это потребует дни и месяцы работы. И здесь на первое место выходит уже не собственно перебор, а алгоритм, который позволит сократить время генерации кроссворда на много порядков.

На дорожку…
  • Анализ – создание плана генерации, основным результатом которого является определенная последовательность генерации слов кроссворда и другие данные, которые будут помогать на этапе генерации.
  • Генерация – последовательное заполнение сетки кроссворда словами, методом полного перебора всех возможных вариантов, с учетом данных, полученных на этапе анализа.

Это далеко не самый сложный кроссворд, однако решения, актуальные для него, будут актуальны и для всех остальных кроссвордов. А небольшое количество слов гарантирует нам сравнительно быстрое получение результата.

И последнее. В статье будет опущено все, что касается генерации базы слов для программы. Эта часть «стоила» не менее 50% всего затраченного времени. Сейчас в базе более 158 тыс. слов, из которых более 125 тыс. являются уникальными. База в максимальной степени вычищена программным способом, однако все еще требует к себе внимания в ручном режиме. Я не стал каким либо способом закрывать или шифровать базу – она лежит открытая в текстовом виде и простейшем key-value формате. Вы можете удалить или добавить в ней слова, подкорректировать описания или полностью заменить своей (например, на другом языке).

Начало пути

Первое, что нужно определить – последовательность заполнения слов. Для этого имеются весьма простые и очевидные решения.

Решение № 1: Слова будут генерироваться в последовательности, зависящей в первую очередь, от их длины. Чем длиннее слово, тем больше у него может быть пересечений и тем труднее будет найти слово для установки. Напротив, самые короткие слова, длиной в 2 или 3 буквы, будут иметь минимальное количество пересечений и их максимально удобно подбирать на завершающем этапе генерации. Данное решение используется на этапе анализа.

Решение № 2: Из слов с одинаковой длиной, в первую очередь будут устанавливаться слова с наибольшей сложностью установки. Сложность установки – расчетный параметр, который показывает «насколько сложно будет подобрать значение в это слово» и «насколько большая будет цена ошибки, если слово подобрать не удастся». Понятно, что слова одинаковой длины, например, 5 букв, могут пересекаться как с одним словом, так и сразу с пятью, при этом сложность установки будет совершенно разная. Данное решение используется на этапе анализа.

Читайте так же:
Можно ли отправить почтой декларацию 3 ндфл

Решение № 3: C учетом предыдущих решений, слова у нас расположены в такой последовательности, которая не гарантирует пересечение двух соседних слов между собой. Это означает, что если мы не нашли слово для установки, тогда нужно изменить не предыдущее слово, а одно из ранее установленных слов, которые пересекаются с этим словом и по сути задают для него условия подбора. Логично из всех ранее установленных слов-пересечений, заменить слово, установленное последним, чтобы откатиться на минимальное количество слов генерации. Данное решение используется на этапе генерации.

Фрагменты

Если отследить установку слов в той последовательности, которая была определенна на основании решений № 1 и № 2, можно заметить, что установка некоторых слов образует локально независимые фрагменты. Посмотрите на рисунок ниже.

На рисунке цветами показана последовательность установки первых слов в сетку кроссворда в порядке, соответствующем известному «Каждый охотник желает знать, где сидит фазан». Первым будет установлено слово, помеченное красным. После него – слово, помеченное желтым и т.д. После установки всего 2-х слов в кроссворде образовался локальный фрагмент, помеченный голубым цветом.

  • Фрагмент – группа слов в количестве от 1 слова до 50% от общего количества слов кроссворда, генерация которых никак не зависит от всех остальных, еще не поставленных слов.
  • Стартовое слово – слово, после установки которого образовался фрагмент (на рисунке выше – это слово, выделенное желтым цветом).
  • Первое слово – слово фрагмента, имеющее минимальную очередность установки из всех слов фрагмента.
  • Глубина фрагмента – количество слов, составляющих фрагмент.

Решение № 4: Для каждого устанавливаемого слова будет выполняться поиск фрагментов. Все слова, принадлежащие одному фрагменту будут иметь последовательную очередность установки, начиная от стартового слова, либо от первого слова фрагмента. Данное решение используется на этапе анализа.

  1. Находим фрагменты.
  2. Определяем сложность заполнения фрагмента.
  3. Определяем слово, за которым нужно расположить все слова фрагмента по следующим правилам:
  4. Слова, являющиеся членами фрагментов, устанавливаем друг за другом.
  1. Определяется последовательность генерации слов.
  2. Выполняется подбор и установка слова с учетом ранее установленных слов.
  3. При отсутствии слова для установки, выполняется откат на последнее пересекающееся с ним слово, поиск которого продолжается так, как будто предыдущее его значение не было найдено вовсе.
Шаблоны

Первый вопрос, который приходит в голову – можно ли как-нибудь уменьшить количество откатов? Ведь каждый откат на несколько слов назад может стоить десятки и сотни тысяч итераций. Логически верным шагом становится добавление правил, которые уменьшают количество ошибок установки слов, вроде, не ставить мягкий или твердый знак в клетку, с которой начинается слово и т.д. Если не лезть глубоко, описать большинство этих правил для русского языка довольно просто, но есть проблема – они будут абсолютно бесполезны, например, для английского. Мне же хотелось сделать универсальный алгоритм, не зависящий от языка.

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

Так появилась идея использовать шаблоны, подобные команде LIKE в Transact-SQL. Шаблон – это символьная строка, по которой будет выполняться сравнение слов. Сам шаблон включает буквы и символы-шаблоны. Во время сравнения с шаблоном необходимо, чтобы буквы в точности совпадали с символами, указанными в строке. Символы-шаблоны могут совпадать с произвольными элементами символьной строки.

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

  • Шаблон: «___»
  1. Буква № 1: Ё А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я
  2. Буква № 2: Ё А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ы Ь Э Ю Я
  3. Буква № 3: Ё А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ы Ь Э Ю Я
  • Шаблон: «ДО_»
  1. Буква № 1: Д
  2. Буква № 2: О
  3. Буква № 3: Г К М Н
Читайте так же:
Можно ли ставить на микроволновку чайник
Акселераторы

Вернемся снова к фрагментам. Посмотрите на рисунок ниже.

В нем серым отмечены клетки слов, установленных ранее. При установке слова, помеченного красным, образуются сразу два фрагмента, отмеченных голубым и фиолетовым цветами.

Если вы посмотрите на фиолетовый фрагмент, то увидите, что он связан со стартовым словом одним единственным пересечением. И это прекрасно! Это дает нам возможность воспользоваться еще одним решением.

  • Акселератор – стартовое слово, имеющее дочерний фрагмент, имеющий с ним одно единственное пересечение. Свое название он получил за свойство ускорять генерацию фрагментов на порядок и более.

Алгоритм использования акселераторов приведен ниже.

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

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

Однажды, при генерации кроссворда, программа выдала такое сообщение: «Время полного перебора: 11 471 день …». Это сообщение появляется только в том случае, если был выполнен перебор всех вариантов для самого первого слова и требуется найти для него новое значение. Программа уже затраченное время просто умножает на оставшееся количество вариантов. Меня это позабавило и заставило задуматься, можно ли это время конвертировать в результат? Идея состоит в том, чтобы обдуманно обрезать некоторые варианты перебора, имеющие минимальную вероятность успеха.

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

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

Если по простому – это решение отбрасывает некоторое количество букв русского алфавита (иногда до 20), повышая шанс сгенерировать сложные участки из слов с чаще используемыми буквами (тут в шоколаде итальянский алфавит с его 21 буквой). В результате мы получим больше вариантов для подбора сложного в установке слова, когда до него дойдет очередь, а значит – больше шанс для успешной генерации всего кроссворда.

Есть и минусы – часть вариантов перебора будет безвозвратно потеряна. Возможно, именно среди них будет тот самый, единственно возможный вариант заполнения сетки. Только Вы можете получить его через 30 лет – нужно лишь немного подождать.

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

Тестирование

Для систематизации сеток по сложности генерации введен атрибут «Сложность генерации», который рассчитывается на основании количества слов, их длины и количества пересечений. По факту — более менее стабильно результат можно получать при сложности до 600 единиц. Все что выше — на удачу.

Ниже показано среднее время генерации на 10 попытках для нескольких сеток, расположенных в порядке возрастания сложности генерации.

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector