Skip to content

Commit

Permalink
Merge pull request #11 from oreilly-japan/appa
Browse files Browse the repository at this point in the history
typofix, fonts
  • Loading branch information
TakesxiSximada authored Nov 3, 2023
2 parents 8a250c6 + ca98ecf commit 32acd62
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions doc/appendix/app1.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ lastmod: 2023-07-15T18:14:38+0900

本書ではNEAT-Pythonをベースに各種アルゴリズムの実装を行っています。そのため、全体的にNEAT-Pythonの知識があることが前提となっています。2章ではNEAT-Pythonの使い方について説明しましたが、より理解を深めていただけるように、さらにサンプルを用意しました。2章の論理回路の例から少し難易度を上げ、より実例に近いクッキー探しゲームを作ってみます。端末上にお菓子のクッキー🍪を表示し、エージェント😃が画面上を探し回ります。ライブラリには標準ライブラリとNEAT-Pythonを使います。まずゲームを実装する前に、少しだけ `curses` のおさらいをしましょう。 `curses` は端末制御ライブラリで、端末上の表示を操作できます。

(注意 :: Windows用のPyhtonにはcursesがインストールされていません。その場合には、Dockerなどを用いて実行すると良いでしょう。)
(注意 :: Windows用のPyhtonには `curses` がインストールされていません。その場合には、Dockerなどを用いて実行すると良いでしょう。)

```python
import curses
Expand Down Expand Up @@ -146,7 +146,7 @@ def eval_genomes(genomes, config, foo):
# === ドメインに依存する処理ここまで ===
```

「ドメインに依存する処理を実装する」というコメントの箇所に各個体の評価を実装し、その個体の成績を適応度としてgenome.fitnessに設定します。この「ドメインに依存する処理」が今回はクッキー探しゲームとなります。ゲームを組み込んだ、評価関数eval_genomesを改めて実装し直します
「ドメインに依存する処理を実装する」というコメントの箇所に各個体の評価を実装し、その個体の成績を適応度として `genome.fitness` に設定します。この「ドメインに依存する処理」が今回はクッキー探しゲームとなります。ゲームを組み込んだ、評価関数 `eval_genomes` を改めて実装し直します

```python
from neat.nn import FeedForwardNetwork
Expand Down Expand Up @@ -228,7 +228,7 @@ def eval_genomes(genomes, config, foo):
# ================ ドメインに依存する処理ここまで ===========
```

この評価関数をPopulationクランスのインスタンスのrun()メソッドに渡し、アルゴリズムを開始します。
この評価関数を `Population` クラスのインスタンスの `run()` メソッドに渡し、アルゴリズムを開始します。

```python
winner = p.run(eval_genomes, n=100) # 10世代
Expand Down

0 comments on commit 32acd62

Please sign in to comment.