de-vraag
  • Вопросы
  • Метки
  • Пользователи
Оповещения
Вознаграждения
Регистрация
После регистрации, сможете получать уведомления об ответах и комментариях на Ваши вопросы.
Вход
Если у Вас уже есть аккаунт, войдите чтобы проверить новые уведомления.
Тут будут вознаграждения за добавленные вопросы, ответы и комментарий.
Дополнительно
Источник
Редактировать
 filipcampeanu
filipcampeanu
Вопрос

Плиточный черепица с плитами фиксированного размера

Я изо всех сил пытаюсь найти удобное решение для следующей проблемы:

Suppose we have a wall of a given size and 4 types of tiles of sizes 4 x 2, 2 x 2, 2 x 1, 1 x 1. There are certain rectangular regions inside the perimeter of the wall which can not be tiled (i.e. holes). There is also a special type of tile which has a variable dimension A x B with A < 1. This is used to pad the tiling to the margin of the rectangle, if needed.

Найдите черепицу стены, которая соблюдает следующие ограничения:

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

Вот что я пробовал до сих пор:

  1. Я рассмотрел алгоритмы для решения этой проблемы с использованием плитки домино, но большинство из них, похоже, не заботятся о том, что процесс черепицы не может создавать промежутки, которые выглядят как крест, где встречаются плитки. Кроме того, для меня проблема кажется немного иной, поскольку существует больше типов плиток, и также кажется, что прямоугольник не нужно заполнять точно (возможно, чтобы небольшие пространства оставались рядом с полями, которые будут заполняться специальными плитами )
  2. Я попытался сгенерировать все возможные тилинги с использованием технологии ветвей и привязок с обрезкой узлового узла, так что будут добавлены только те состояния, в которых будут добавлены плитки, которые не нарушают ограничений, но это определенно не масштабируется.
  3. Я также изучал алгоритмы упаковки, но, насколько мне известно, это может привести к определенной черепице, где есть небольшие промежуточные пространства, которые могут оставаться внутри помещений стены.

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

Когда все это будет сказано, есть ли у вас какие-либо намеки или предложения по способу подхода к этому, что дает результаты?

Это пример плитки, которая учитывает ограничения 1 и 3, но не является оптимальной

3 2011-10-27T19:55:26+00:00 1
Jeff Mercado
Jeff Mercado
Редактировал вопрос 27-го августа 2012 в 3:50
Программирование
math
algorithm
mitchus
15-го февраля 2012 в 3:22
2012-02-15T15:22:30+00:00
Дополнительно
Источник
Редактировать
#56792161

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

1. Pretend there are no holes in the wall, tile with large tiles.

2. Remove all tiles which intersect with holes.

3. current_size = largest

4. For each empty space: tile as much as possible with current_size

5. current_size = the size just below current_size

6. return to 4
0
0
Похожие сообщества 14
Physics.Math.Code
Physics.Math.Code
6 410 пользователей
VK: vk.com/physics_math Библиотека: @physics_lib Заметки репетитора: @mentor_it Канал по безопасности: @hack_theory Советские учебные фильмы: @maths_lib YouTube: youtube.com/c/PhysicsMathCode Помощь в решении: vk.com/itmentor Админ: @physicist_i
Открыть telegram
pro.algorithms
pro.algorithms
2 159 пользователей
Группа по обсуждению алгоритмов, разных архитектурных решений, паттернов проектирования и прикладной математики. Не допускается флуд не по теме, спам, оффтоп и реклама. Простые вопросы: https://t.me/joinchat/AAAAAEHb2qHizHNLpTX0pA Участник @ProDOT
Открыть telegram
Мехмат МГУ
Мехмат МГУ
990 пользователей
Чатик для тех, кто так или иначе связан с механико-математическим факультетом МГУ. Новости мехмата: @mechmath_news Студсовет мехмата: @stud_mm Экосистема чатов МГУ: t.me/chat_msu/22333 Чат абитуриентов: @mm_abiturient
Открыть telegram
Математический чат
Математический чат
882 пользователей
Уютное логово математиков Бан/разбан: @abogomolov2 VK: vk.com/typ_math Наш канал: @typ_math Оскорбления и реклама - бан.
Открыть telegram
pro.math
pro.math
588 пользователей
Участник @proDOT. Invite: https://t.me/joinchat/AAAAAD_875HMqziocKWd3Q
Открыть telegram
МаЧат 🇺🇦
МаЧат 🇺🇦
501 пользователей
📅 Решить важную работу: @ma4at01 @ma4at02 📜 Развлечения: @mat314 🌐 Путеводитель по МаЧату: Instagram.com/ma4at.me 🔖 Предложения: @offer_ma4at_bot 📞 По всем вопросам: @stardolar 👁. @ma4at_codex
Открыть telegram
Добавить вопрос
Категории
Все
Технологий
Культура / Отдых
Жизнь / Искусство
Наука
Профессии
Бизнес
Пользователи
Все
Новые
Популярные
1
Roxana Elizabeth CASTILLO Avalos
Зарегистрирован 5 дней назад
2
Hideo Nakagawa
Зарегистрирован 5 дней назад
3
Sergiy Tytarenko
Зарегистрирован 1 неделю назад
4
shoxrux azadov
Зарегистрирован 1 неделю назад
5
Koreets Koreytsev
Зарегистрирован 1 неделю назад
© de-vraag 2022
Источник
stackoverflow.com
под лицензией cc by-sa 3.0 с атрибуцией