thedeemon: (office)
[personal profile] thedeemon
Называются ли разработчики космической программы космическими программистами?

В наше темное время, когда NASA закрылось, а Роскосмос вставляет датчики положения вверх ногами, регулярно бороздя космическими кораблями пашни Казахстана и просторы Тихого океана, вся надежда человечества сосредоточена на небольшой группе людей, знакомых с кроссплатформенной игрушкой Kerbal Space Program, а надежда этих людей лежит сегодня на вас: нужно написать программу, которая бы изобретала ракеты, оптимально приспособленные под параметры миссии. Входных параметров всего два: масса полезного груза и Delta-V бюджет миссии (определяемый планируемым маршрутом корабля), программа должна придумать конфигурацию ракеты минимальной массы, способной подняться в космос и доставить груз по назначению.
Подробное описание задачи здесь. Там же ссылка на онлайн-калькулятор, в котором можно проверить свое решение и посмотреть, как идет расчет.

Задача проходит в рамках октябрьского конкурса по функциональному программированию, но с измененными правилами. Побеждает не тот, кто пришлет решение раньше, а тот, чьи ракеты для предложенных миссий окажутся легче, а поиск конфигураций - быстрее. Ответы с найденными конфигурациями, ссылками на исходники и указанием времени работы оставляйте здесь. Комментарии будут скрыты в течении 72 часов. Открытое обсуждение условий на страничке конкурса, ну и тут тоже можно, только могут быть некоторые задержки с открытием таких комментов.



Upd: время вышло, ответы открыты, подводим итоги:

  Mun Kerbol Moho sumlanguage
Nikita Beloglazov 224.325 113.899467.7125 805.9365Clojure
Sanny Sanoff 223.6125 128.975 504.75 857.3375Java
Alex Pashkov222.7875116.1499552890.9374Haskell
kerbal_nut 225.05 115.462499603.30943.8125Python


Похоже, наш победитель - Никита Белоглазов с решением на Clojure!
Если есть вопросы или лучшие идеи по оценке решений, еще не поздно тут обсудить.
Я думаю, окончательные результаты опубликует у себя хозяин конкурса ФП(ФП) [livejournal.com profile] _darkus_.

Re: точность

Date: 2013-10-12 05:51 pm (UTC)
From: [identity profile] thedeemon.livejournal.com
У него в прелюде нет натурального логарифма, поэтому код такой, с не самым точным е:
dV = logBase 2.718281828 (m_start / m_end) * isp * 9.816
Завтра могу сделать поточнее.

Re: точность

Date: 2013-10-12 10:58 pm (UTC)
From: [identity profile] sanny sanoff (from livejournal.com)
Обязательно исправь. Т.к. борьба будет идти за 4 знак наверняка 8)

Re: точность

Date: 2013-10-13 04:22 am (UTC)
From: [identity profile] thedeemon.livejournal.com
Поправил. Оказалось, там даже еще запущеннее было: при генерации JS вещественные константы обрезаются до еще меньшего числа знаков, да еще и с ошибкой в последнем. :)

Re: точность

Date: 2013-10-12 11:59 pm (UTC)
From: [identity profile] sanny sanoff (from livejournal.com)
А ничего, что Isp для второй ступени и выше всегда считается в вакууме, даже если сама ступень целиком входит в начальные 5000?

Re: точность

Date: 2013-10-13 04:06 am (UTC)
From: [identity profile] thedeemon.livejournal.com
Считать по-хорошему было бы слишком сложно. Плотность атмосферы там падает плавно экспоненциально с высотой, и у Kerbin'a официальная граница атмосферы - 70 км. Пришлось бы чуть ли не весь взлет посекундно моделировать. Так что оставим такое упрощение с первой ступенью, хоть это и приводит к забавным конфигурациям.

атмосфера

Date: 2013-10-13 04:20 pm (UTC)
From: [identity profile] serge shikov (from livejournal.com)
Ну там не так уж и сложно все с тягой, экспонента для плотности, да и все, но вот где взять высоту без учета программы тангажа? Не то чтобы набор дифуров там был уж очень сложным, но это явно была бы уже совсем другая задача.

Re: атмосфера

Date: 2013-10-13 05:01 pm (UTC)
From: [identity profile] thedeemon.livejournal.com
Совершенно верно, результат бы зависел от траектории, а она в игре определяется тем, как игрок рулит ракетой. Поэтому до такой точности доводить нет смысла.

Profile

thedeemon: (Default)
Dmitry Popov

December 2025

S M T W T F S
 12 3456
789101112 13
14151617181920
21222324252627
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 29th, 2026 10:50 pm
Powered by Dreamwidth Studios