Поскольку длина самих строк влияет на сложность, вы можете создать временную сложность только с верхней границей, если у вас есть верхняя граница для длины строк.
let n = количество строк в вашем массиве
let m = максимальная длина любой строки в массиве
[ 113] В этом случае это будет сложность O (нм) .
Это предполагает, что вы не делаете выше O (1) в самом внутреннем цикле, который вы показали.
Если вы не можете гарантировать размер строк в верхней части, время не ограничено , поскольку в теории строка может быть бесконечно длинной.
Взгляните на RL-конкурс 2009 . Одной из проблемных областей является игра-тетрис . В прошлом году тоже была проблема с тетрисом. Вот 52-страничный итоговый отчет от финалистки пятого места этого года, в котором подробно рассказывается о том, как работал агент.
Электронная книга Heaton Research неплохо объясняет понятия нейронной сети (с помощью кода). Глава 4 посвящена машинному обучению и различным методам обучения для ваших сетей. Для вас есть загружаемая библиотека и примеры приложений.
Вот хорошая книга на эту тему:
Машинное обучение и сбор данных: введение в принципы и алгоритмы
, Игорь Кононенко, Матяз Кукар (июнь 2007 г.)
Также взгляните на следующие проекты с открытым исходным кодом:
]TD-Gammon , gnubackgammon или любой другой подобный проект имел огромный успех в играх.
В книге Саттона и Барто «Обучение с подкреплением: Введение» есть и другие ] Тематические исследования .
Это не относится только к усиленному обучению, но в Стэнфорде есть отличная серия лекций по машинному обучению на Youtube и iTunes.
Ссылка ведет на первую лекцию, содержание которой занимает около 30 минут.