Этот пост является частью ChurrPurr.ai, задачи по разработке онлайн-стратегии и искусственного интеллекта для ее освоения. Играйте в последнюю версию игры здесь.
Последние несколько дней я наверстывал упущенное по работе после возвращения с конференции Массачусетского технологического института, поэтому у меня не было столько часов на «Чурр-муррр», сколько мне хотелось бы.
Тем не менее, я обдумывал несколько дизайнерских идей для ИИ и начинаю лучше концептуализировать несколько свойств, которыми он должен обладать:
- Он должен быть адаптирован к игровым состояниям, которых он раньше не видел; Churr-Purr слишком сложен для работы с «таблицей поиска» (например, перебором всех игровых состояний), и, честно говоря, мне это просто не кажется AI-y
- Его нужно хранить онлайн в «готовом к использованию» виде, не обучаясь с нуля при каждой загрузке страницы; это вызов для меня, так как я никогда раньше не создавал веб-программу, которая должна была вызывать сохраненную внутреннюю часть или, возможно, с другого сервера/программы, расположенной в другом месте.
- По вышеупомянутым причинам я начинаю думать, что нейронная сеть, которая оттачивает определенные параметры и веса с течением времени (дополнительные объяснения появятся, если я пойду по этому пути…), имеет больше смысла, чем подходы обучения с подкреплением. я задумал, и это изменение немного выходит за рамки моей зоны комфорта при программировании [Примечание: здесь я немного упрощаю, поскольку существуют подходы, сочетающие нейронные сети и обучение с подкреплением; это не строго то или иное.]
Я чувствую себя немного некомфортно из-за моего нынешнего пути вперед, но я также понимаю, что в значительной степени именно поэтому я выполняю этот вызов.
Я искренне верю, что наличие мышления роста, решимости, готовности противостоять эго или как бы вы это ни называли, имеет решающее значение для стимулирования роста.
И, честно говоря, я бы не стал делать этот вызов, если бы не желание расти.
Предположим на минуту, что выполнение этой задачи было таким же простым, как следующий код (возможно, однажды это будет):
import AI;
optimalMove = AI.findBestAction(game);
AI.act(optimalMove);
Будет ли задача по-прежнему интересной или стоит продолжать? Возможно нет.
Вот где я нахожусь в настоящее время: я выполнил большую часть задачи, которая с самого начала в некоторой степени находилась в моей рулевой рубке (создание игровой программы, настройка игры для компьютерного ввода, продумывание дизайна ИИ), и теперь мы Я нахожусь на стыке, где я развиваю новые навыки.
Я рад видеть, куда меня приведет этот перекресток, и меня устраивает некоторая неопределенность или «риск» того, что это не сработает в краткосрочной перспективе. Если быть честным с самим собой, то получение правильного результата в краткосрочной перспективе никогда не было моей мотивацией для решения этой задачи.
Читать предыдущий пост. Читать следующий пост.