Что алгоритм должен я использовать для “генетического улучшения AI”

Можно получить доступ к следу от Объекта исключения. Видеть весь след:

p e.backtrace

Это будет содержать массив файлов и номеров строки для стека вызовов. Для простого сценария как тот в Вашем вопросе это просто содержало бы одну строку.

["/Users/dan/Desktop/x.rb:4"]

, Если Вы хотите номер строки, можно исследовать первую строку следа и извлечь значение после двоеточия.

p e.backtrace[0].split(":").last
7
задан Jon Seigel 17 May 2010 в 04:11
поделиться

3 ответа

В общем, да, вы можете сделать мозг умнее, используя методы генетических алгоритмов.

Случайность или мутация играет важную роль в генетическом программировании.

Мне нравится этот учебник, Генетические алгоритмы: крутое имя и чертовски просто .
(В примерах используется Python, но понять их несложно)

4
ответ дан 6 December 2019 в 15:24
поделиться

If you want to approach this problem like a genetic algorithm, you will need an entire population of "brains". Then evaluate them against each other, either every combination or use a tournament style. Then select the top X% of the population and use those as the parents of the next generation, where offspring are created via mutation (which you have) or genetic crossover (e.g., swap rows or columns between two "brains").

Also, if you do not see any evolutionary progress, you may need more than just win/loss, but come up with some kind of point system so that you can rank the entire population more effectively, which makes selection easier.

7
ответ дан 6 December 2019 в 15:24
поделиться

Взгляните на Neuro Evolution of Augmenting Tologies (NEAT). Причудливый акроним, который в основном означает эволюцию нейронных сетей - как их структуру (топологию), так и веса соединений. Я написал реализацию .Net под названием SharpNEAT, которую вы, возможно, захотите посмотреть. В SharpNEAT V1 также есть эксперимент «крестики-нолики».

http://sharpneat.sourceforge.net/

3
ответ дан 6 December 2019 в 15:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: