Information
- Rating
- 3,753-rd
- Location
- Кольцово, Новосибирская обл., Россия
- Date of birth
- Registered
- Activity
Specialization
Chief Technology Officer (CTO), Software Architect
Lead
From 500,000 ₽
Functional programming
Object-oriented design
Design information systems
TDD/BDD
Kotlin
PostgreSQL
Java Spring Framework
Linux
Git
Docker
Возможно бенчи прводились на HDD и значительная доля времени ушла чтение кода с диска, а на SSD разница будет меньше.
Но в любом случае в обмен на это богатый рантайм позволяет вам писать приложение на смеси языков с динамической и статической типизацией и во время разработки использовать JRebel и Plumbr и ещё пачку различных тулов, которые базируются на том, что рантайм может многое рассказать о состоянии программы.
Так же я хз как это с АОТ компиляцией согласуется, но опять же благодаря богатому рантайму можно делать такие вещи: Quasar.
И видим, что на самом деле у нас в двумерном массиве используется N ссылок на один и тот же массив gTmp, т, е. используется в N раз меньше памяти. И правильный вариант такой:
Один прогон которого даст примерно одинаковые времена:
One time 56.96192 msc
Two time 50.87872 msc
Но вообще, я считаю, что не зря люди говорят, что мужчина должен построить дом, посадить дерево и воспитать сына. и с порядком согласен полностью:)
Официальный клиент мне тоже найти не удалось, но здесь можно выбрать (кликнуть по нему) любого робота и в открывшейся странице кликнуть по любой из ссылок «battles», в результате вы попадёте на страницу подобную этой и в последней колонки можно посмотреть используемые в данный момент версии (сейчас, например 1.7.3.0 и 1.7.3.2)
Но быстрый гуглинг не выдал мне активного коммюнити «Code invaders» и активных официальных соревнований (в Robocode, кстати, сегодня сменился чемпион, в первый раз 4 года) — а это для меня крайне важно, потому как в «песочнице» сидеть тихо самому с собою мне скучно. Да и вообще, сходу, не понял как начать играть (для сравнения, по запросу Robocode — первая же выдача это оф. страница игры, там ссылка на robowiki, а там уже вообще всё что надо для игры)
Так же, из вашего комментария не ясно насколько глубоко вы изучили обе игры и почему именно одна из них вам кажется интереснее.
Но, тем не менее, спасибо за то что рассказали об этой игре — после того как стану настоящим чемпионом Robocode обязательно рассмотрю её в качестве следующего убийцы свободного времени:)
Я не эксперт в области ИИ и машинного обучения, но когда прочитал этот абзац у меня возникла, возможно не самая бредовая мысль: а почему не разбить выборку на 2 равные части — и при оценке качества решения обучать по 1-ой группе и проверять по 2-ой и наоборот? А потом брать среднее от решения в обоих случаях? Может кому-то эта идея поможет
И вообще я не уверен, может мне приснилось, или это баг, или правила поменялись, но кажется я видел, как убегающий робот терял скорость после столкновения. Хотя зацикливаться стоит на избегании столкновений, нежели на том, как они устроены:)
1) скачать Ant
2) выкачать код из репозитория
3) указать в build.properties путь к Robocode
4) выполнить команду ant в корне проекта
5) запустить robocode
6) выбрать пункт меню Battle -> New
7) в списке роботов 2 раза кликнуть по ru.jdev.habrahabr.HabrahabrTutorial и по любому другому боту, например sample.Crazy
8) нажать Start Battle