Google AI Challenge 2011

Dec 24, 2011 06:56

Таки да, должен же ЖЖ содержать, иногда, полезную информацию, поэтому этот пост будет для меня наставлением по достижению наилучших результатов в дальнейших AI Challenge-ах, да и вообще для написания продуманных программ  (чтобы не жаловаться потом на "хотели как лучше, а получилось как всегда").

Общие советы:
1) Сначала планировать, потом писать код (это самое главное, поэтому я на это чаще всего забиваю).
2) Писать код красиво (с комментариями и структурировано, для своего же блага, все равно 100500 раз переделывать придется, и не только из-за багов, а из-за добавления новых идей).
3) Читать обсуждения в инете, там часто уже рассказаны все базовые идеи и алгоритмы.

Собственные замечания:
1) Отдельный модуль под тесты, лучше с возможностью прогнать выбранные группы тестов сразу (не только для отлавливания багов, но и для отсеивания неудачных доработок).
2) Любую здравую идею надо реализовывать и тестировать (а не забивать и забывать), лучше с возможностью подключить/отключить. После неудачных тестов убирать/отключать идею нафиг.
3) Не лениться переписывать что-то, если это ускорить программу. Скорости всегда не хватает.
4) Если есть с чем сравнивать свою программу, то обязательно это сделать, если нет, то сравнивать с предыдущими версиями. Лучше сравнивать с разными предыдущими версиями, а не только с последней.
5) Управляющие параметры и "рычаги" подключения модулей должны быть в одном месте в программе. Этих элементов может быть много, не надо гнаться за фундаментальностью, это усложняет программу.

Ну, собственно, это все, что сейчас мне пришло на ум.
А пока я это писал, закончился финал этого замечательного соревнования. И я торжественно занял 20-е место, крутяк :) Но с другой стороны, этого явно недостаточно, и в следующий раз надо будет быть первым ^^

It is mine
Previous post Next post
Up