На первой итерации каждого тика лучшая траектория, которая была найдена на предыдущих тиках, переоценивается. А на следующих итерациях генерируются новые, оцениваются, и если скор больше то они заменяют наилучшую. Получается, мы не улучшаем старую, а заменяем на другую, которая оказалась лучше.
Да, пасы возможны. Но это не совсем пасы. Допустим один робот просто собирается ударить по мячу не зная, что будет делать второй робот. А после этого второй робот, зная что первый собрался ударить по мячу, как-то планирует свой удар, например бьет мяч в ворота, после того как по мячу ударит первый робот.
На следущем тике игры первый робот уже знает, что если он не будет менять траекторию, то второй робот ударит в ворота и учитывает это. Это выглядит как пас, но на самом деле первый робот не собирался его давать, а просто бил мяч. В общем, получается, что роботы пытаются улучшить свои действия по очереди, и это часто приводит к пасам или другим многоходовочкам, когда например робот отпрыгивает от своего тиммейта, чтобы ударить мяч.
На первой итерации каждого тика лучшая траектория, которая была найдена на предыдущих тиках, переоценивается. А на следующих итерациях генерируются новые, оцениваются, и если скор больше то они заменяют наилучшую. Получается, мы не улучшаем старую, а заменяем на другую, которая оказалась лучше.
На следущем тике игры первый робот уже знает, что если он не будет менять траекторию, то второй робот ударит в ворота и учитывает это. Это выглядит как пас, но на самом деле первый робот не собирался его давать, а просто бил мяч. В общем, получается, что роботы пытаются улучшить свои действия по очереди, и это часто приводит к пасам или другим многоходовочкам, когда например робот отпрыгивает от своего тиммейта, чтобы ударить мяч.