Предположим, Марио ходит по поверхности планеты. Если он начнет идти из известного места в определенном направлении на заранее определенное расстояние, как быстро мы сможем определить, где он остановится?
(На практике длина пути на самом деле не является неограниченной; существует глобальная верхняя граница в терминах количества битов, необходимых для представления входных данных. Но настаивание на целочисленных входных данных поднимает некоторые довольно неприятные числовые проблемы - Как мы вычисляем точно, где чтобы остановить? - так что давайте придерживаться реальных входных данных и точной реальной арифметики.)
Известно ли что-нибудь нетривиальное о сложности этой проблемы?
Ответы:
Эта проблема очень, очень сложная. Мы могли бы упростить это, чтобы сделать это проще, следующим образом.
Можно предположить, что многогранник не является действительно трехмерным, но вместо этого является «двойником» многоугольника; это выглядит как наволочка. Мы можем упростить еще больше и предположить, что многоугольник имеет равные и параллельные стороны; например квадрат, как в игре Astroids.
Если мы не предполагаем рациональность, но предполагаем, что многогранник является двойником многоугольника, то мы обсуждаем теорию «разрезания последовательностей в иррациональных бильярдах». Кажется, что по существу здесь ничего не известно; например, см. последнее предложение этого выступления Коринны Улциграй.
Если мы не сделаем ни одного предположения, хорошо, я не могу думать ни о чем в литературе.
источник
Я думаю, что вы можете сделать лучше, чем линейный. Я новичок в теоретической информатике, так что прости меня, если это мусор.
Некоторые общие идеи (различной ценности):
Это на самом деле не является ответом, но мне нужно вернуться к работе. :)
источник