アプリ版:「スタンプのみでお礼する」機能のリリースについて

人工生命や人工知能の研究における「評価・点数を与える」について。
例えば遺伝的アルゴリズムや強化学習のようにプログラムの行動に点数を点けるやり方で、プログラムはなぜ多く点数を取ろうと行動するのでしょうか?

すみません。うまく言葉にできません。
イメージとしては、

プログラムがある行動を取った→点数が貰えた!→だから何?

って感じでしょうか。
プログラム自体は点数を貰ったって「やったー!」って思うわけじゃないですよね?人間がそう命令したからそういう行動をとるんですよね。
ではその命令はどういった仕組みなんでしょうか?
プログラミングについてはC言語を勉強しているのですが、まだ初心者でどうやれば「高得点を求めるプログラム」を作れるのかわかりません。

誰か教えてください。
お願いします。

A 回答 (3件)

補足があったので追記します。



>つまり遺伝的アルゴリズムの場合は「個体が高得点を狙う」のではなく「偶然高得点を取れた個体残していく」といった感じでしょうか?

いわゆるGAの基本はその通りです。

>「高得点を取れ」という命令はないんでしょうか?

あれば使いますけど、それが無いから学習とかGAとか使うのだと思います。

基本的にプログラムは書かれたことを実行するだけで意志を持ちません。
色々やっていいのを残すか、人間が最初から正解を書く方法しか多分方法が無いと思います、プログラムは考えませんので。
    • good
    • 0

αβ pruning (αβ狩り)


http://ray.sakura.ne.jp/search_problem/ab.html

 組み合わせをあらわす方法のひとつに探索木を作ることがあります。
 すべてを網羅できれば言うことは無いのですが実際には制限が発生します。
 メモリの消費を抑えるために枝狩りと呼ばれる手法を用います。
 その際に目印となる得点を閾値として使うわけです。

 閾値と比較して低ければメモリから消去することでメモリの無駄遣いを減らすのと探索の高速化が図れるというものです。

 一般に得点が高ければ「良い」逆に得点が低ければ「悪い」と決めておきます。

 「枝狩り」で調べると良いと思います。

参考URL:http://ray.sakura.ne.jp/search_problem/ab.html
    • good
    • 0

強化学習は忘れましたので遺伝的アルゴリズムについて。



とりあえず、ある目的に適しているか評価できるとします。
基本的には、まず乱数的にたくさんのパターンを発生させます。
それを評価します。
そして評価が良かったものだけを残して、それに様々な操作を行ないます。
こうすることで優秀なものに似たものを作れます。
それらを評価します。
以降、どうように操作と評価による選択を繰り返します。
そうすることで問題を解決するのが遺伝的アルゴリズムです。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

つまり遺伝的アルゴリズムの場合は「個体が高得点を狙う」のではなく「偶然高得点を取れた個体残していく」といった感じでしょうか?
「高得点を取れ」という命令はないんでしょうか?

お礼日時:2010/09/23 23:25

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!