2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу Пред.  1, 2, 3, 4, 5
 
 Re: Задача про полоски с дырками
Сообщение31.01.2026, 10:13 
waxtep в сообщении #1716726 писал(а):
Пять вилок текущая версия программы на моем нотике будет считать несколько дней, а шесть - несколько лет

Я в шоке. Нет, я понимаю мозгой, что бывают процессы, которые даже комп делает долго, но не представлял, что эта задачка может быть такой впечатляющей.
Вы молодец !
Вы все, кто участвовал и придумывал - все молодцы! Мне бы такие мозги...
Я в шоке!
Даже читать интересно, хоть я и мало что понимаю! Как фантастический роман, честно.
Извините, я верно понял, что такая раскладка не описана в математике в виде формул ?
Ну, когда ставится задача забить дырками полоску заданной длины с участием заданного количества вилок ?
Да чтобы можно было задать и размер дырки и размер интервала.
Или вообще, задать количество зубьев в вилках...
Я уж, пока гайки крутил, думал, какие условия можно наложить, чтобы обеспечить невозможность полного забития дырками при любом количестве вилок.

 
 
 
 Re: Задача про полоски с дырками
Сообщение31.01.2026, 14:37 
Аватара пользователя
anahronizm в сообщении #1716741 писал(а):
Извините, я верно понял, что такая раскладка не описана в математике в виде формул ?
Ну, когда ставится задача забить дырками полоску заданной длины с участием заданного количества вилок ?
Почему же, задача ставится, она с переднего края науки, теории чисел. Здесь уважаемый mihaild приводил пример работы по теме:
mihaild в сообщении #1716332 писал(а):
Например если натуральные числа можно покрыть прогрессиями с разностями $a_1 < a_2 < \ldots < a_k$, то хотя бы одно из $a_i$ делится либо на 2 либо на 3 https://arxiv.org/abs/1703.02133 .
Для меня статься выглядит тяжело, честно скажу; не пытался ее пройти, лишь листал. Видимо, явная формула для максимально возможного покрытия в общем случае неизвестна. Конкретно для Вашей задачи, для одной-четырех вилок получаются значения $4,10,24,41$, что довольно близко к $2k(k+1)=4,12,24,40$ для малых количеств вилок $k$.
anahronizm в сообщении #1716741 писал(а):
какие условия можно наложить, чтобы обеспечить невозможность полного забития дырками при любом количестве вилок
Вот Вы видимо как раз их и подобрали удачно :-) ни один из периодов $вида 6n\pm1=5,7,11,13,17,19\ldots$ не делится ни на два, ни на три, что в свете приведенной выше статьи означает ту самую невозможность. В целом же:
mihaild в сообщении #1716459 писал(а):
По крайней мере для покрытия всего $\mathbb N$ это вопрос очень сложный. В частности, никто не знает, существует ли покрытие без прогрессий с четной разностью.
Наконец, насчет большого времени счета. Я делаю в лоб, по сути так же двигаю полоски с дырками относительно друг друга, только в программе. Первый проход первой вилки оставляет рисунок проколов OXOXO с периодом $5$; второй проход - OOXOXOO с периодом $7$; совместно они дают рисунок, повторяющийся через каждые $5\cdot7=35$ клеток. Добавляя еще две вилки, надо умножить длину общего периода еще на $11\cdot13\cdot17\cdot19=46\,189$; с четвертой вилкой сложнее, хочется умножить на $23\cdot25$, но так не надо. У нас уже есть период $5$, и нужно рассмотреть пять разных возможных положений проколов первого прохода первой вилки относительно проколов второго прохода четвертой вилки. И так далее. Для десяти вилок длина общего периода $\approx6,8\cdot10^{23}$ в районе числа Авогадро, это много, очень много.
mihaild в сообщении #1716499 писал(а):
Я пока придумал только динамику по маскам, но это уже на 10 вилках посчитать без шансов.
mihaild, Вы как-то изящнее делаете видимо, раз до десяти вилок добрались? Я пока боюсь соваться даже в пять.

-- 31.01.2026, 14:49 --

waxtep в сообщении #1716779 писал(а):
хочется умножить на $23\cdot25$, но так не надо
Или как раз надо, я уж тут сам запутался немного

-- 31.01.2026, 15:17 --

Ну да, для четырёх вилок прогрессии с взаимнопростыми периодами, кроме периода $5$ можно сложить в произвольную кучу, любая комбинация на общем периоде встретится. А потом наложить прогрессию с периодом $5$ в пяти возможных положениях (в силу симметрии задачи достаточно в трех). Это можно аккуратно обобщить на случай любых не взаимнопростых периодов

 
 
 
 Re: Задача про полоски с дырками
Сообщение31.01.2026, 21:15 
Аватара пользователя
waxtep в сообщении #1716779 писал(а):
Вот Вы видимо как раз их и подобрали удачно :-) ни один из периодов $вида 6n\pm1=5,7,11,13,17,19\ldots$ не делится ни на два, ни на три, что в свете приведенной выше статьи означает ту самую невозможность.
Но тут у нас две последовательности с каждым периодом (на фиксированном расстоянии), а не одна.
waxtep в сообщении #1716779 писал(а):
Вы как-то изящнее делаете видимо, раз до десяти вилок добрались?
Я и не добрался. Это грубая прикидка.
Я рассматривал только для полоски длины $8n + 4$ из условия, и там можно динамику по маскам (что проколото). Количество разных вариантов прокола растёт сильно медленее, чем $2^{\text{длина полоски}}$ - для 12 (два прохода одной вилкой) я получил 44 маски, для 20 - 3535, для 28 - 357871, для 36 - 42540036. Поэтому вроде бы если как следует оптимизировать код, может быть можно еще немного продвинуться. Но уверенности нет.

 
 
 
 Re: Задача про полоски с дырками
Сообщение02.02.2026, 15:38 
Аватара пользователя
mihaild в сообщении #1716815 писал(а):
Но тут у нас две последовательности с каждым периодом (на фиксированном расстоянии), а не одна.
В самом деле; значит, не доказана ни возможность покрытия $\mathbb{N}$ таким набором прогрессий, ни противоположное.
mihaild в сообщении #1716815 писал(а):
Я рассматривал только для полоски длины $8n + 4$ из условия, и там можно динамику по маскам (что проколото). Количество разных вариантов прокола растёт сильно медленее, чем $2^{\text{длина полоски}}$ - для 12 (два прохода одной вилкой) я получил 44 маски, для 20 - 3535, для 28 - 357871, для 36 - 42540036. Поэтому вроде бы если как следует оптимизировать код, может быть можно еще немного продвинуться. Но уверенности нет.
Я тоже прикидываю на бумаге возможности продвинуться чуть дальше, пока грустно. Можно так: в оптимальном покрытии (при $k\geqslant2$) гарантированно будет "островок" из четырех проколотых клеток, образованный в клетках $x,x+2$ первым проходом первой вилки и в клетках $x+1,x+3$ ее вторым проходом. К этому островку можно с любой из сторон пристроить прокол от одного из зубцов одного из проходов какой-то другой вилки, а далее уже с двух сторон аналогично. Вариантов, если не наврал, $2^{4k-5}\times(2k-2)!$, что чуть скромнее лобового подхода, но того же характера роста. Для двух вилок - $16$ вариантов, для трех - $3072$, для четырех - $1\,474\,560$ (это в несколько десятков раз шустрее лобового подхода, по идее), для пяти $\approx1,3$ миллиарда, для шести - два триллиона.

 
 
 
 Re: Задача про полоски с дырками
Сообщение02.02.2026, 16:54 
Аватара пользователя
waxtep в сообщении #1716989 писал(а):
в оптимальном покрытии (при $k\geqslant2$) гарантированно будет "островок" из четырех проколотых клеток, образованный в клетках $x,x+2$ первым проходом первой вилки и в клетках $x+1,x+3$ ее вторым проходом.
Корректнее, конечно, так: в оптимальном покрытии (при $k\geqslant2$) гарантированно будет "островок" из четырех проколотых клеток, образованный в клетках $x,x+2$ одним из проходов первой вилки и в клетках $x+1,x+3$ ее другим проходом.

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

Без картинок это конечно трудно воспринимать :-) Тем не менее, как выглядят первые уколы для оптимального покрытия:
- две вилки, второй проход первой вилки выступает вправо: вилка 2, проход 1, правым зубцом слева; вилка 2, проход 2, правым зубцом справа;
- три вилки, второй проход первой вилки выступает вправо: вилка 3, проход 1, левым зубцом слева; вилка 2, проход 2, левым зубцом справа; вилка 2, проход 1, правым зубцом слева (она же дает "хороший" прокол левым зубцом справа!); вилка 3, проход 2, правым зубцом слева (она же дает "хороший" прокол левым зубцом справа);
- для четырех вилок кое-что аналогичное (три первых укола слева, три справа от островка; удачных совпадений лево/право, как для трех вилок, нет), но надо все таки картинки, попозже

 
 
 
 Re: Задача про полоски с дырками
Сообщение03.02.2026, 01:00 
Аватара пользователя
Под катом обещанная картинка оптимального покрытия для трех вилок. Я про него как раз немного наврал в словесном описании выше, здесь это видно наглядно.
Начинаем с зеленого островка в клетках 14-17, образованного двумя проходами первой вилки. Достраиваем островок слева и справа левым зубцом вилки 3 прохода 1 и левым зубцом вилки 2 прохода 2, соответственно. Островок расширяется до клеток 13-19, и рядом еще образуются мощные соседи 1-6 и 8-11. Достраиваем его слева и справа еще, правым зубцом вилки 2 прохода 1 и левым зубцом вилки 3 прохода 2. Получаем максимальное покрытие в клетках 1-24.

(картинка)

Изображение


Если принять, что островок должен достраиваться слева и справа каждый раз, количество вариантов еще уменьшится до $2^{2k-2}\times(2k-2)!$, для пяти вилок это вполне обозримые $10\,321\,920$ вариантов; дальше, правда, снова миллиарды, триллионы и т.д. Этот перебор я наверное возьмусь запрограммировать, может быть, что-то еще удастся увидеть

-- 03.02.2026, 01:40 --

И аналогичная картинка для четырех вилок:

(Оффтоп)

Изображение

 
 
 
 Re: Задача про полоски с дырками
Сообщение03.02.2026, 11:04 
waxtep в сообщении #1716779 писал(а):
anahronizm в сообщении #1716741

писал(а):
какие условия можно наложить, чтобы обеспечить НЕВОЗМОЖНОСТЬ полного забития дырками при любом количестве вилок Вот Вы видимо как раз их и подобрали удачно :-) ни один из периодов $вида 6n\pm1=5,7,11,13,17,19\ldots$ не делится ни на два, ни на три, что в свете приведенной выше статьи означает ту самую невозможность.

Извините, не понял значения этой фразы.
Из всего вышеизложенного (всех сообщений) у меня сложилось впечатление, что для первоисходной задачи Вы и другие участники диалога доказали ВОЗМОЖНОСТЬ забития вилками полоски любой длины (согласно условий задачи).
Меня интересовало (и интересует), возможен ли вариант, что если мы представим полоску любой длины, то ВСЕГДА найдётся такая полоска, которую будет нельзя забить вилками при первоначальных условиях (соотношение длины полоски, количество вилок, размер их дырок и интервалов проходов).
Я пытался представить возможные ограничения для выполнения такой возможности, но у меня под рукой только карандаш и листок бумаги. (мозгов и времени тоже мало :D )
Если представить игру на расположение проходов вилок (именно при условии в задаче с длиной полоски, количество вилок, размер их дырок и интервалов проходов), то имеет ли смысл такая игра? Или такая игра обречена на то, что полное забитие досконально каждой полоски невозможно?
Извините, я не математик, поэтому не умею правильно выражаться и плохо понимаю профессиональные выкладки.

 
 
 
 Re: Задача про полоски с дырками
Сообщение03.02.2026, 11:35 
anahronizm в сообщении #1717062 писал(а):
доказали ВОЗМОЖНОСТЬ забития вилками полоски любой длины (согласно условий задачи).

Начиная с некоторой, да. Полоску длиной 12 двумя проходами вилкой XOX (первый проход с интервалом 2, т.е. ХОХООХОХОО.. вторая с интервалом 4 т.е. ХОХООООХОХОООО....) проколоть нельзя.

 
 
 
 Re: Задача про полоски с дырками
Сообщение03.02.2026, 11:47 
Аватара пользователя
anahronizm в сообщении #1717062 писал(а):
Извините, не понял значения этой фразы.
Из всего вышеизложенного (всех сообщений) у меня сложилось впечатление, что для первоисходной задачи Вы и другие участники диалога доказали ВОЗМОЖНОСТЬ забития вилками полоски любой длины (согласно условий задачи).
Меня интересовало (и интересует), возможен ли вариант, что если мы представим полоску любой длины, то ВСЕГДА найдётся такая полоска, которую будет нельзя забить вилками при первоначальных условиях (соотношение длины полоски, количество вилок, размер их дырок и интервалов проходов).
Попробую внести ясность:
1. В этой теме мы ничего не доказали; только игрались, баловались, приводили правдоподобные соображения;
2. В Вашей исходной задаче (полоска длиной $8k+4$ клеток, $k$ вилок, два прохода каждой) кажется правдоподобным, что наивной стратегий можно покрыть любую полоску при $k\geqslant9$; а оптимальной при $k\geqslant4$. Ни то, ни другое не доказано;
3. Отдельный интересный вопрос: можно ли в Вашей постановке задачи начиная с какого-либо количества вилок $k$ покрыть без зазоров бесконечную полоску. Это также неизвестно;
4. В целом, это задача из класса задач на покрытие натурального ряда (или его конечного куска) арифметическими прогрессиями. Такие задачи в общем случае очень сложные, изучаются в теории чисел.

Что касается игры, а как Вы себе это видите? Сколько игроков, два? И, типа, один играет на полное прокалывание полоски данной длины, а другой против?

 
 
 [ Сообщений: 69 ]  На страницу Пред.  1, 2, 3, 4, 5


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group