Давайте обобщим и метод притягивания коня к стенкам и метод "коридоров".
У них обоих - одна и та же цель. Ограничить поиск в глубину (DFS) на примере ходов коня. Собственно, чего мы добиваемся, притягивая коня к краям доски? Чтобы конь - как можно быстрее выходил из глубоких узлов дерева. Из тех узлов из которых нет хода дальше. Как это достигается?
Я думаю что это достигается путём повышения веса клеток которые имеют соседей. Тоесть если мы вместо коридоров и правил Варнсдорфа введем некую гравитацию для каждой клетки (в том числе и свободной), тогда конь будет выбирать следующий ход не бездумно а притягиваясь к области клеток которые он уже обошел. Варнсдорф - это просто такой себе частный случай. +1 ход и клетка имеет бесконечный вес.
Если говорить философски - то попытка скрыть себя в Интернете - противоречит самой идее TCP-IP.
Если ты хочешь с кем-то соединиться (создать сокет) - то будь добр сообщи свой sourceAddr. Будет-ли это адрес VPN или прокси - дело десятое но силовые государства скоро примут пакеты законов чтобы облачный провайдер вас всегда "сдал с потрохами" и с логами адресов.
Друзья. Мне кажется спор пошел не туда. Давайте посмотрим на стек технологий который использует автор. Поскольку в этом стеке есть Python/Java то данную систему уже никак нельзя классифицировать как систему реального времени. Или нам надо обсуждать детали что там делает Python/Java и какие настройи и какие гарантии по отклику там есть.
Системы реального времени (когда я учился в универе из таковых была Qnx Neutrino) вообще - достаточно узкие системы и они выглядят как легаси с точки зрения удобства разработки. Тоесть никаких тебе Garbage Collectors использовать нельзя. Память нужно выделять заранее чтоб в процессе работы ни кодин malloc/free не дергался ведь он имеет неопределенное время отклика. Про мультипоточку забыть. Тоже нет детерминизма там. Или писать в 1 поток который будет всегда иметь самый высокий приоритет и будет обеспечивать весь lifecycle. Вот такие дела в этих ртосах и нейтринах.
Автору (при той постановке что он описал) нужно брать любой из имеющихся линуксов и смотреть где торговый робот лагает. И анализировать какие причины к этому были.
Пытаться искать ОС которая порешает проблемы Python/Java это все равно что менять чехлы на машине чтобы та быстрее ехала. Не будет ехать быстрее! Надо смотреть в код. Именно прикладной код является главным источником проблемы.
А хорошо написанный код и на Windows 11 может вполне себе приемлемо работать. Как говорят в условиях мягкого реального времени.
luaPower, я думаю что ты можешь сгенерить ассемблерный листинг используя опции GCC а потом поменять местами два куска кода.
Но меня терзает любопытство. Зачем это?
Когда человек хочет странного - то это такой себе тревожный звоночек что на проекте все плохо и на самом деле решается совсем другая проблема. Вот какая?
varfi, я очень боюсь ответить "да". Потому что взаимодействовать можно по разному. Вот господин выше правильно сказал насчет версий. Ставте Debian + RedHat и одинаковую версию NFS.
Кроме того термин репликация тоже достаточно расплывчатый. Лучше расскажите что реплицируется и как. Базы данных? Может там своё коробочное решние есть.
Magistrmate, более красивое решение можно наверное получить в паттерн матчинге но я щас не готов его разглядеть в коде. Мне неудобно это проверять. Тут нужно требование по версиям Java или лучше даже если-бы вы писали на Scala.
В 2000х я ставил себе Linux Black Cat. Вообще не взлетел. У меня сбоило всё оборудование. И видеокарточка не зашла в нужный режим. Я видел разрешение 640х480. Не было звука. Первое разочарование. Я тогда для себя сделал следующие выводы. Linux - это всё таки не для обычного пользователя. Тоесть его конечно причёсывают и прилизывают но все равно ситуации когда вам нужно будет зайти vi под root и поправить какие-то конфиги - будет появлятся периодически. И если к этому не быть готовым - то лучше не пользоваться вообще. Или просто платить знакомому линуксоиду пивом чтоб он пришёл и починил.
Fedora - достаточно рисковый дистрибутив. Тоесть на ней откатывают самые модные и сырые фичи. И периодически она и будет крашится. Я так понимаю что если вы хотите чтоб не крашилось - надо платить и покупать RedHat Desktop или что-то подобное. И цена там может и дороже чем Windows.
Насчет Ubuntu - согласен. Ее аудитория просто больше и в силу этого некоторые баги фиксятся чуть быстрее.
Это - одна из нерешаемых проблем самой ранней 3Д графики. Если использовать алгоритм Художника. Тоесть сортировать объекты в пространстве и рисовать их полигонами то всё равно будет ситуация когда какую-то фигуру нариовать невозможно. Круговое перекрытие.
Решений два. (Всё в 3d графике. Тоесть ваши полигончики лежат не на плоскости а в пространстве X,Y,Z)
Первое. Берем и разрезаем один полигончик плоскостью другого и у нас получается уже не 3 а 4 полигончика
но они рисуются корректно.
И второе - это Z буффер. Тоесть для каждого пиксела экрана проставляем глубину. Изначально она равна бесконечности. Но каждый полинончик эту глубину корректирует. Различные варианты Z буфера сейчас работают во всех современных играх.
У них обоих - одна и та же цель. Ограничить поиск в глубину (DFS) на примере ходов коня. Собственно, чего мы добиваемся, притягивая коня к краям доски? Чтобы конь - как можно быстрее выходил из глубоких узлов дерева. Из тех узлов из которых нет хода дальше. Как это достигается?
Я думаю что это достигается путём повышения веса клеток которые имеют соседей. Тоесть если мы вместо коридоров и правил Варнсдорфа введем некую гравитацию для каждой клетки (в том числе и свободной), тогда конь будет выбирать следующий ход не бездумно а притягиваясь к области клеток которые он уже обошел. Варнсдорф - это просто такой себе частный случай. +1 ход и клетка имеет бесконечный вес.