All streams
Search
Write a publication
Pull to refresh
109
0
Михаил Борисов @MichaelBorisov

User

Send message
Спасибо. На досуге постараюсь разобраться. Насчет читабельности не беспокойтесь: мне приходилось иногда разбирать даже ксорки и другой запутанный код :)
А можно куда-нибудь выложить код хотя бы в его текущем виде? Хочется пощупать своими руками, но сочинять свою прогу — не могу собраться с силами и выделить время.
Вы во многом правы. Я для себя пиратством не занимаюсь, а потребление лицензионной продукции свел к минимуму: только самое необходимое. Бывает и так, что музыка, например, продается «за сколько не жалко» напрямую авторами — в таких случаях стараюсь заплатить щедро, если она мне понравилась и если доступна в хорошем формате без DRM, таком как flac. То же самое касается и ПО: есть же много бесплатных альтернатив, тот же Open/Libre-Office. Немного напрягись, переучись — и живи спокойно без чувства, что ты нарушил закон. Но только и такое поведение лишь подливает воду на мельницу копирастов. От таких, как я, падают их доходы, что дает им новый повод требовать ужесточения борьбы с пиратством.
Ворон ворону глаз не выклюет. Не будут же они себя самих сажать или штрафовать. Все эти меры воздействия будут направлены на обычных граждан.
Не следует забывать, что ваши проблемы не волнуют правообладателей. Пока есть защищаемые государством сверхприбыли — никто ради вашего удобства палец о палец не ударит. Ну разве что если конкуренция среди них начнется — тогда да, тогда все для удобства клиента.
Повторюсь, при правильной нормировке вероятность попадания — то есть отношение числа комбинаций размещения всех кораблей, при которых в данной клетке имеется корабль, к общему числу допустимых комбинаций, составляет порядка 20% в среднем для клеток необстрелянного поля. Сами подумайте, как вероятность попасть в корабль на пустом поле может быть порядка 1%? Так было бы, если бы на поле находился только один однопалубный корабль.
Вообще-то клеток с кораблями на пустом поле — 20 штук, поэтому вероятность должна составлять порядка 20% в среднем. У вас где-то ошибка. Посмотрите на мою карту.
Тогда вообще прекрасно. При хорошей оптимизации можно надеяться на сокращение времени расчетов до примерно 10с, что очень даже приемлемо в ходе онлайн-игры с человеком.
сообщение по ошибке продублировалось, удалил.
image Вот карта, которую я строил методом Монте-Карло. По идее должна быть близка или совпадать с полученной автором темы.
А на чем реализовано? Может, можно оптимизировать на C, чтобы считало еще быстрее.
А ваш алгоритм позволяет пересчитывать карту в реальном времени для каждого хода?
Очень интересно. Ваши результаты практически совпадают с моими, полученными методом Монте-Карло по перебору большого числа равномерно распределенных комбинаций кораблей (в свое время за несколько недель работы ноута было насчитано и сохранено более 3Гб комбинаций). Надо будет исследовать ваш алгоритм подробнее. Быть может, это прорыв!
Ваш алгоритм — это лишь первый шаг к определению вероятности размещения корабля или его фрагмента в данной клетке. Я проводил более глубокий анализ этого вопроса в теме на форуме о ZX Spectrum. При этом рассматривалась вероятность не только подбить самый длинный из оставшихся кораблей противника, а вероятность подбить хоть какой-нибудь корабль при любых возможных способах размещения на поле всех кораблей. Из этого алгоритма естественным образом следует обстрел краев поля в начале игры как наиболее вероятных мест нахождения кораблей противника; также для добивания корабля после того, как он был «ранен», не требуется отдельная ветка алгоритма. В принципе могут существовать даже ситуации, когда искать другой корабль на поле выгоднее, чем добивать ранее найденный (вероятность попасть выше), но они редки, так что мой алгоритм обычно будет все-таки добивать.

К сожалению, мой «всеобъемлющий» подход столкнулся со сложностями вычислительного характера, что даже на современных компьютерах просчитать все комбинации невозможно, а можно лишь искать некоторое приближение методом Монте-Карло, но и это оказалось затруднительно в реальном времени. Пока что работа над дальнейшим развитием алгоритма остановлена, но может быть я когда-нибудь вернусь к этому. А тему почитайте, там интереснее, чем во многих других исследованиях «Морского боя», в том числе тех, что были уже на Хабре, или у Перельмана.
Не придушит, а охотно будет ловить. Им только дай волю. Это так же, как борьба с курением. Оштрафовать приличного прохожего на улице за курение в неположенном месте всяко легче, чем ловить бандита, который отстреливается или подкупает твое начальство, или подстерегает потом твоих детей на улице.
А вам не известна какая-нибудь литература или материалы, которые можно почитать на эту тему?
Автор, большое спасибо за статью!

Если будет время, не могли бы вы еще подготовить статью с описанием типичных ограничений для размещения компонентов и трассировки плат для сборки их на таком оборудовании? Есть ли какие-нибудь общие правила типа минимальных зазоров, теплового контакта дорожек и т.д.?
Спасибо, понятно, хотя я поначалу запутался.
Валюта, которая является законным средством платежа в какой-либо стране, дает вам ту гарантию, что вы сможете заплатить ею свои долги в этой стране. Legal tender, однако. Даже если валюта обесценится — долги будут зачтены.

Information

Rating
Does not participate
Registered
Activity