10kai

カジ(Kaji), ライハン優一(Raihanyuichi)
20 Jul 202434:45

Summary

TLDRこのビデオスクリプトでは、動的計画法と遺伝的アルゴリズムについて解説しています。動的計画法は、変数が取る値の組み合わせを効率的に最小化するための方法で、特に2変数関数で表せる場合に適しています。スクリプトでは、具体的な問題設定とアルゴリズムのステップを説明し、最短経路探索の例を通じて理解を深めています。一方、遺伝的アルゴリズムは、個体とその評価に基づいて最適解を探索する手法で、交差、突然変異、および個体選択のメカニズムを通じて進化させます。実数値GAを使用した身体運動生成の研究も紹介され、最適解へのアプローチが示されています。

Takeaways

  • 📚 このスクリプトでは、動的計画法と遺伝的アルゴリズムについて紹介しています。
  • 🔍 動的計画法は、変数が取る値の組み合わせを最小化または最大化する問題を効率的に解決する手法です。
  • 🔢 特に、関数が2変数関数で表せる場合、動的計画法は非常に効率的な解決策を提供します。
  • 💡 動的計画法のアルゴリズムでは、順に各変数の最適値を求め、最終的な最適解を導きます。
  • 🔄 神経カエルモデルは、複雑な最適化問題を解決する際に有用で、例えば巡回セールスマン問題を解決するのに使われます。
  • 🧠 神経カエルモデルは、情報表現をニューロンのネットワークとして捉え、学習を通じて最適解を見つける。
  • 🤖 遺伝的アルゴリズムは、自然選択や遺伝子突变などの生物学的メカニズムを模倣して最適解を探索する。
  • 🌐 遺伝的アルゴリズムでは、個体群を生成し、評価に基づいて最適な個体を選択して次の世代へと進化させます。
  • 🔬 実数値GAは、2進数ではなく実数値を用いて個体を表現し、連続的な問題に適した最適化手法として活用できます。
  • 🏆 動画では、GAを用いた実験結果が紹介されており、解析的手法と比較して高い一致性が示されています。
  • 🔍 最後に、スクリプトは興味のある読者に、更に深く学ぶために書籍やインターネットを活用するよう促しています。

Q & A

  • 動的計画法とはどのようなアルゴリズムですか?

    -動的計画法は、変数が特定の値を取る関数を最適化する問題を解決するためのアルゴリズムです。特に、関数が2変数関数で表せる場合に効率的に働く方法です。このアルゴリズムでは、各変数の値を順に決定し、前の変数の値に基づいて後の変数の最適な値を求めます。

  • 動的計画法で使用される関数Jの2変数関数表現とは何を意味しますか?

    -関数Jの2変数関数表現は、関数Jを2つの変数のみで表現することができることを示します。例えば、H1はx1とx2の関数、H2はx2とx3の関数などと定義されます。これにより、動的計画法を適用し、各変数の組み合わせを効率的に評価することができます。

  • 動的計画法のアルゴリズムの基本的なステップを教えてください。

    -動的計画法の基本的なステップは以下の通りです。まず、F1(x1)のような1変数関数の値を求めます。次に、x2の値を固定して、F1+H1のような2変数関数の最大値を求め、その最適なx1の値を記録します。このプロセスをすべてのx2の値に対して繰り返します。最終的には、FNとDN-1の値を求め、最適解を決定します。

  • 最短経路探索問題で動的計画法を使用する場合、どのように関数Jの値を評価しますか?

    -最短経路探索問題では、関数Jの値がスコアとして機能し、その値が最大になるような変数x1, x2, ..., xnの組み合わせが最短経路を表します。動的計画法を用いて、各変数の値を順に決定し、最終的なFNの値を最大化することが目標です。

  • 神経カエルモデルとはどのようなものですか?

    -神経カエルモデルは、神経回路のような構造を持つネットワークモデルです。各ユニットが相互に結合し、特定の問題を解決するために使用されます。例えば、巡回セールスマン問題(TSP)のような最適経路探索問題や、人の運動を生成する計算モデルなどで応用されています。

  • 遺伝的アルゴリズム(GA)とはどのようなアルゴリズムですか?

    -遺伝的アルゴリズムは、自然選択や遺伝的な特性を模倣した最適化アルゴリズムです。個体を表現し、それらを親から子へ伝承することで、問題の最適解を探索します。交差(クロモソームの入れ替え)や突然変異(遺伝子の反転)などの操作を行い、最適な解を生成します。

  • 遺伝的アルゴリズムで使用される「交差」と「突然変異」は何を意味しますか?

    -交差は、2つの親個体から新しい子個体を生成するプロセスで、親個体の遺伝子の一部を入れ替えます。突然変異は、個体の特定の遺伝子の値をランダムに反転させることで、遺伝子の多様性を増加させます。これにより、新たな解が発見される可能性があります。

  • 実数値GAとはどのようなアルゴリズムですか?

    -実数値GAは、遺伝的アルゴリズムの一種で、個体の表現に実数値を使用します。これにより、連続的な問題空間を扱うことができます。交差や突然変異の操作は、実数値の平均やランダムな変更を意味します。これにより、滑らかな最適化が行われます。

  • 遺伝的アルゴリズムでの個体の評価値とは何ですか?

    -個体の評価値は、その個体が問題の解としてどれほど適しているかを示す指標です。評価値が高い個体ほど、問題に対するより良い解を表す可能性があります。遺伝的アルゴリズムでは、評価値に基づいて親個体を選択し、次の世代を生成します。

  • 遺伝的アルゴリズムで使用される「エリート保存戦略」と「ルーレット戦略」とは何ですか?

    -エリート保存戦略は、評価値が高い個体を優先的に選択して親個体にする戦略です。ルーレット戦略は、評価値が高い個体が選ばれる確率を高くする一方で、評価値の低い個体も一定の確率で選択されることを意味します。これにより、多様な解を探索することができます。

Outlines

00:00

😀 動的計画法の基本とアルゴリズム

動的計画法について説明し、変数関数を最適化する問題を解決する方法を紹介。N変数関数fを最大化し、各変数XiがM個の値を取る場合の計算方法を説明。動的計画法は2変数関数で表せる場合に効率的で、F1X1からFNXNまでの値を求め、最適解を決定するプロセスを詳細に説明。具体例として最短経路探索問題を用いて、アルゴリズムの適用方法を解説。

05:01

😉 動的計画法の具体例:最短経路問題

最短経路問題を例に、動的計画法の適用方法を詳細に説明。4変数関数Jの最適値を求める問題を設定し、F1からF4までの値を計算する方法を紹介。具体的な計算例を用いて、各変数の値を決定し、最終的な最短経路を導くプロセスを解説。

10:01

🤔 神経カエルモデルによる最適化

神経カエルモデルを使用した最適化について触れる。特に巡回セールスマン問題(TSP)を例に、神経回路モデルで問題を解決する方法を紹介。都市間の移動距離を最小化する目的関数を使用し、神経カエルモデルの学習プロセスを説明。また、人の運動を生成する神経カエルモデルについても簡単に触れる。

15:03

🤖 神経カエルモデルの応用と構造

神経カエルモデルの応用とその構造について詳しく説明。努力変化最小モデルに基づく人の運動生成モデルを紹介し、そのネットワークの設定方法と重み調整の重要性を強調。さらに、身体の準モデルや逆モデルを使用した運動生成についても触れる。

20:04

🔬 遺伝的アルゴリズム(GA)の概要

遺伝的アルゴリズム(GA)について概要を説明。個体を2進数で表現し、親個体から子個体を生成するプロセスを紹介。交差(クロモソームの入れ替え)と突然変異(個体の部分反転)を使用して多様な子個体を生み出す方法を解説。評価値に基づいて最適解を求めるプロセスについても説明。

25:05

🧬 実数値GAによる運動生成

実数値GAを使用して身体の運動を生成する方法について詳細に説明。実数値ベクトルを使用して個体を表現し、スプライン補間を用いて運動を生成するプロセスを紹介。交差や突然変異の方法をカスタマイズし、滑らかな運動軌道を生成する方法を解説。

30:05

🏆 実数値GAの結果と応用

実数値GAを使用して最適解を求めた結果を紹介。運動生成の例として、解析的に求めた最適運動とGAで生成された運動の一致性を比較。経由点を通る運動の生成についても触れる。最終的に、GAを使用した最適化の有効性を示す。

Mindmap

Keywords

💡動的計画法

動的計画法は、変数が取る値の全ての組み合わせを調べる必要がある場合に、効率的な計算方法を提供するアルゴリズムです。この手法は、問題を小さく分割し、各部分問題を再利用可能な解として求めることにより、計算量を大幅に削減します。ビデオでは、動的計画法を用いて、関数の最大化問題を解決するプロセスが説明されています。

💡ジェネティックアルゴリズム

ジェネティックアルゴリズムは、自然選択や遺伝子突变などの生物学的原理を模倣した最適化アルゴリズムです。このアルゴリズムは、問題解決のための候補の集まりを生成し、評価に基づいて最適解に近づけることが目標です。ビデオでは、このアルゴリズムが身体の運動を生成する研究に適用されている例が紹介されています。

💡2変数関数

2変数関数は、2つの変数を入力として取り、1つの値を返す関数です。ビデオでは、動的計画法において、2変数関数が問題の分解や解の構築に使われていることが説明されています。

💡最適化問題

最適化問題とは、ある関数を最大化または最小化するような変数の値を見つける問題です。ビデオでは、動的計画法やジェネティックアルゴリズムが、最適化問題を解決するための方法として紹介されています。

💡巡回セールスマン問題

巡回セールスマン問題は、特定の都市を一度ずつ訪れる最適な経路を見つける問題であり、典型的なNP困難問題です。ビデオでは、この問題が神経カエルモデルによって解決される例が説明されています。

💡神経カエルモデル

神経カエルモデルは、人工知能の分野で使用される、特定の問題解決のためのモデルです。ビデオでは、このモデルが巡回セールスマン問題の解決に使われている例が紹介されており、その効率性や実用性が説明されています。

💡実数値GA

実数値GAとは、2進数ではなく実数値を直接使用するジェネティックアルゴリズムの一形態です。ビデオでは、実数値GAが身体の運動を生成する研究で使用されており、その手法や応用が説明されています。

💡スプライン補間

スプライン補間は、データポイント間の滑らかな曲線を生成するための数学的な手法です。ビデオでは、実数値GAで生成された運動データがスプライン補間によって滑らかに補完されるプロセスが説明されています。

💡評価値

評価値は、ジェネティックアルゴリズムで生成された個体の良さを定量化する指標です。ビデオでは、個体の評価値に基づいて、次の世代の親個体が選択されるプロセスが説明されています。

💡交差(クロスオーバー)

交差は、ジェネティックアルゴリズムで使用される操作の一つで、2つの親個体の遺伝子情報を組み合わせて新しい個体を生み出すプロセスです。ビデオでは、交差が個体の生成においてどのように機能するかが説明されています。

💡突然変異

突然変異は、個体の遺伝子情報をランダムに変更するジェネティックアルゴリズムにおける操作です。ビデオでは、突然変異が個体生成プロセスにどのように影響を与えるかが説明されています。

💡エリート保存戦略

エリート保存戦略は、ジェネティックアルゴリズムで使用される選択手法の一つで、評価値が高い個体を優先的に残す方法です。ビデオでは、この戦略が最適解の探索にどのように役立つかが説明されています。

💡ルーレット戦略

ルーレット戦略は、個体が次に選択される確率を評価値に基づいて決定するジェネティックアルゴリズムの選択手法です。ビデオでは、この戦略が個体選択プロセスにどのように影響を与えるかが説明されています。

Highlights

動的計画法とジェネティックアルゴリズムについて説明する

動的計画法は変数関数の最適化問題を効率的に解く方法

関数が2変数関数で表せる場合に動的計画法が有効

問題設定ではN変数関数fを最大化し、各変数Xiが有限値を取る場合を考える

動的計画法のアルゴリズムは、各変数について順に最適値を求める

具体例として最短経路探索問題を動的計画法で解く方法を説明

関数Jの最大化問題で、各変数の最適値が最短経路を決定

動的計画法の計算過程はゴールから逆向きに探索することで最適解を求める

神経カエルモデルによる最適化問題の解決方法を紹介

巡回セールスマン問題を神経カエルモデルで解く方法

神経カエルモデルは階層的ではなく、各ユニットが相互に結合

身体の運動を生成する神経カエルモデルの提案

努力変化最小モデルに基づく人の運動生成モデルの紹介

遺伝的アルゴリズム(GA)の概要とその適用範囲

遺伝的アルゴリズムでは個体を2進数で表現し、評価値に基づいて最適解を求める

実数値GAを使用して身体の運動を生成する研究の紹介

実数値GAでは個体を実数値ベクトルで表現し、運動をスプライン曲線で近似

実数値GAの親個体生成方法と評価値の計算方法の説明

遺伝的アルゴリズムの選択戦略(エリート保存戦略、ルーレット戦略)の紹介

実数値GAを使用した運動生成の結果と解析的解との比較

Transcripts

play00:00

と皆さんこんにちは今回は動的計画法と

play00:05

ジェネティックアルゴリズムについてお話

play00:08

をしようと思いますでまず動的計画法に

play00:12

ついてお話をし

play00:14

ます変数が産値を取る関数を最小化すると

play00:18

いう場合にはその産値の全ての組み合わせ

play00:22

についてあの調べないといけないという

play00:25

ことがありますでまですからま非常にその

play00:28

えま大変計算量ということになるんです

play00:31

けどもえしかしですねま関数がえっと2

play00:35

変数関数の場で表せる場合には非常にこ

play00:38

効率よく特方法が存在しますでまその1つ

play00:42

の方法が動的計画法ということになり

play00:47

ますでまず問題設定について説明をします

play00:51

でえN変数X1からXNまでのN変数関数

play00:57

fというものを考えてこのN変数関数fを

play01:01

最大にするところのX1からXNまでのえ

play01:05

各値を求める問題を考えますでここでえ

play01:10

変数Xiはえま利3値を取ってまMI個の

play01:15

算値つまりA1からAmiのMi個の算値

play01:21

を取ると場合を考えますでえ関数Jがです

play01:25

ねこの式でえ与えられるものとしてでこの

play01:30

関数Jが2変数関数の場で表されるという

play01:33

風に考えますでつまりこの式で書いてある

play01:36

ようにH1っていうのはx1とX2の関数

play01:41

になってますしえH2っていうのはX2と

play01:45

X3の関数になってますでこのようにえ2

play01:48

変数関数の場で表される場合を考えると

play01:52

いうわけ

play01:53

ですえそれでは動的計画法のアルゴリズム

play01:57

について説明をしますでまず

play02:00

F1X1っていうののはX1のみの関数

play02:05

ですからえまX1の取る値に対するえF1

play02:11

の値はすぐに求まるということになります

play02:14

でえ次にですねえあるX2の値に固定をし

play02:19

てでその時のX1の取りうる全ての値に

play02:23

関してF1+H1というものを

play02:30

めてでそのえ最大の値をF

play02:35

2x2に代入をしてでえこの時最大となる

play02:42

時のX1の値をD1x2に確のし

play02:47

ますでこれをx2のトリール全ての値に

play02:52

対してえ同よに行いますでまこれまこの

play02:57

言葉でねえ説明したことを式で書くとま

play03:00

こういう風になるというわけですねでこの

play03:03

時関数Jっていうものはこの1番下に書い

play03:06

てるようにF2x2というものを使ってえ

play03:10

このように書き表すことができるという

play03:12

わけ

play03:14

ですでえ同様にですねえF3とD2に関し

play03:20

てもま求めるとまこの式に書いてあるよう

play03:23

にえ求めるとでえこれをですねずっと

play03:26

繰り返していてえまFNとDN-1まで

play03:32

こう求めていくま1番最後にななるんです

play03:35

けどもまここまでえ繰り返しずっと求めて

play03:38

いくというわけですねでえこの計算が

play03:42

終わった後にま最適会をこう決定すると

play03:46

いうことになるんですけどもお実はですね

play03:49

まずこれこの計算していったこう逆向きに

play03:52

こう考えていくんですね1番最後のこの

play03:56

FNを最大にする時のお

play04:00

XNというものをえD-1のこう配列から

play04:04

ですね求めてそれをXNスタという風にし

play04:08

ますでその時の値をまJスタ=ま

play04:13

FNXNスタという風にましておきますで

play04:18

えこのこれをですねえっとNからあ次N-

play04:23

1をやって次N-2をやってっていう風に

play04:27

どんどんどんどんそのえN=1のところ

play04:30

までですねえこう遡ってえ求めていくと

play04:33

いうことを繰り返していきますえそういう

play04:36

風にすることによってえ最適解が求まると

play04:39

いうのがえ動的計画法ということになり

play04:42

ますただまこういう風に言ってもね

play04:44

なかなかその理解できないと思いますので

play04:47

ちょっと具体的なねちょっとま例を説明し

play04:50

ながらこのアルゴリズムについて説明して

play04:53

いきたいと思い

play04:55

ますでえ例えばですねま最短系の探索って

play04:58

いうものをここで考えるんですけどももう

play05:01

こですそのえスコアが最大になった場合に

play05:05

最短経路になるということをちょっと考え

play05:08

てでこれを表現したその関数Jっていう

play05:12

ものを考えますでこの関数Jの値がま

play05:15

スコアがえ最大になるようなX1とかX2

play05:20

とかX3とかX4の値が決まればそれが

play05:24

最短経路ということになるとねこまここで

play05:27

はその4変数の場合をこう考えるという

play05:29

わけですま考えますでこの4変数の値ま

play05:33

最適な値が決まればこれが最短経路になる

play05:36

ということなんですねでそれをですねえま

play05:40

先ほど説明しそのアルゴリズムでえF1

play05:44

からF4までのこう値をこうずっとこう

play05:47

計算していくわけですねでえその時にえF

play05:51

1っというものはえX1の角値に対して

play05:55

計算をしてここでその例えばX1が0の時

play05:59

には2ですですよとでx1が1の時には1

play06:02

ですよX1が2の時には3ですよていう風

play06:05

にF1の値をこう記入するわけですねで

play06:08

同様にこれX2の値がま1の場合2の場合

play06:13

3の場合はそれぞれこのF2にずっとこう

play06:16

いう風にえ書いていくわけですねまこの図

play06:18

では全ての値は書いてないですけどもま

play06:20

書くわけですねで同様にこのF3F4に

play06:23

ついてもまこに記入をしていくという風に

play06:27

しますでえま記入した後にえま最適ケルを

play06:32

決定するということなんですけどもここで

play06:34

はまGがゴールから逆向きに探索をして

play06:37

いくていうことを考えますでえまGから

play06:41

こう見た時にえこのX4が2がこ最大に

play06:45

なってたとしますでこのX4がその2の時

play06:51

にこの2にこう繋がってるですねえ繋がっ

play06:55

てる3本の中の最大が22だったとします

play06:58

そうするとこのx3の時の-1っていう

play07:02

ものを採用しますで次にまた同様にこのx

play07:06

3の時のXあ-1に繋がっているこの3つ

play07:11

の経路のうちえ最大になるものが13でえ

play07:15

X2の3に繋がってるという風にするとえ

play07:19

この経路13になってる経路を選択すると

play07:22

でえま同様にx2に関してもこの6ま8

play07:29

ですね8になってるものが最大の場合には

play07:32

x1が1の場合をに決定するとでこういう

play07:36

風にえ逆向きに探索していくと実はX1が

play07:40

1の時x2が3の時でx3が-1の時でX

play07:46

4が2の時がま最適な経路になるつまり

play07:49

最短経路になるという風にま解が出てくる

play07:52

とまこれがま動的計画法ということになり

play07:57

ますでえっともう少しねえ具体的に説明を

play08:01

していきたいと思いますえっとそれでは

play08:04

ですねま先ほどのね例のま具体的な計算

play08:07

方法について説明をしていきますでえここ

play08:11

ではですねえこのF1H1H2H3という

play08:17

ものがこの左の表のようにですね

play08:19

あらかじめ与えられてるという風にします

play08:22

でこの与えられてる表に基づいてえさっき

play08:25

え説明したようにえF1とかF2とかねえ

play08:29

1とかD2とかっていうのをこう求めて

play08:31

いくとでそれがえ右の表になっていますで

play08:35

この右の表の作り方についてえ説明をし

play08:38

ますでここでそのえ赤になってますけども

play08:42

例えばこれえHあF1+H1を計算する時

play08:49

にx2=1の場合を考えますでx2=1の

play08:54

場合の計算はええまずですねえ左の表のF

play09:01

1のX1の取り入る値の値は213です

play09:07

からえこの右の表の赤線のように213と

play09:12

いう風に記入をしますでえ次にですねこの

play09:17

H1の表を見てもらって

play09:20

えx2=1の場合のえ11のこう値って

play09:26

いうのは313になってますねですから

play09:28

この右の表に313という風に書くわけ

play09:31

です

play09:32

ねでこれを同様にしてX2=2の場合とX

play09:37

2=3の場合についてま同様方にこう表に

play09:41

記入をしていくというわけですでえ次に

play09:44

ですね今度はこの表がえ右の1番上の表が

play09:49

完成したらえx2=1の時の最大になっ

play09:55

てるx1を見ますえX1の時には3+3の

play10:01

6が最大ですからこの時x1の値は2に

play10:05

なりますからこれをその下の表に記入する

play10:08

わけですね6と2っていうのを記入すると

play10:10

で同様にしてX2=X2=2の時にはこの

play10:15

場合え5+2の7が最大ですでその時のX

play10:20

値は0ですから7と0というものを下の表

play10:24

に書くとで同様にこれも8と1っていう

play10:26

ものを書いてえ2つ目のその表を完成さ

play10:30

せるとでこの処理をですねえ中段の表とか

play10:35

1番下の表のようにこう繰り返していく

play10:37

わけですねでこの表ができましたらえ

play10:41

先ほど言ってたようなあ図にですねえXあ

play10:46

F1からF2F3F4という風にそれぞれ

play10:50

の結合してるところにこのFの値をこう

play10:53

記入していくわけですね

play10:59

ま関数fとか関数Dの表ですねの作成の

play11:03

仕方っていうものを今説明したわけです

play11:05

けどもなんかそれだけではね本当になんか

play11:08

経路探索っていうのがなんかその実感とし

play11:10

わかないと思いますのでで一応これあのえ

play11:13

書籍からのこれもコピーなんですけども

play11:16

あのま今説明した表を作成するということ

play11:20

がですねえま経路探索になってるっていう

play11:23

ことをこれ説明してやるまコピーなのでえ

play11:27

まちょっとま分からない人はねちょっと

play11:29

これをま読んでみてくださいでえでえま

play11:33

最終的にま先ほど説明したあ図がこう完成

play11:37

するわけですけどもえま先ほど説明しまし

play11:40

たけどもえまこういう図が完成するま

play11:43

つまりそのえそれぞれ結合してるところの

play11:47

F1の値とかねF2の値F3の値F4の値

play11:50

っていうの全てのところにこう記入して

play11:52

いくわけですねでそれでえGがゴールです

play11:55

からこう逆向きに探索をしていってえそう

play11:59

するとえそのF4が2の時にまず最大に

play12:04

なるからそこがFF4の時が2が選択され

play12:07

てでえF4が2の時にこう繋がってる3つ

play12:12

の経路のうちえ22が最大になるでその

play12:17

22っていうのはx3が-1の時だとだ

play12:20

からこの-1を採用するとでえx3が-1

play12:25

にこう繋がってる経路の最大は13でで

play12:28

その時x2が3の時であるとだからこの

play12:31

13になってる経路ね選ぶというわけです

play12:34

ねでこれをま繰り返していくとま最大の

play12:36

経路が求まるとでもまえその結果そのX1

play12:41

が1x2が3x3が-1X4が2の時にえ

play12:46

最短経路ということにこうなるわけですね

play12:49

ですからまこういう風にしてえ最適会って

play12:51

いうものをこう求めることができるという

play12:53

のがあ動的計画法ということになります

play13:02

でえま次にですねえ神経カエルモデルに

play13:04

よる最適化についてまお話をするんです

play13:07

けどもまここでは本当にその触りだけのね

play13:10

本当に簡単にその紹介だけにとめてきたい

play13:12

と思い

play13:14

ますでまずですねまこれ神経カエルモデル

play13:17

によってえ最適問題が解けるということが

play13:21

非常にこう話題になったえ純回セールス

play13:23

マン問題っていうのがありますでこれは

play13:25

もうえ1982年にホップフィールドに

play13:28

よってこう提案されたやつなんですけども

play13:31

実はこういうえN都市を1回ずつ訪問する

play13:35

最適経路を求める問題っていうのはこれ

play13:38

NP困難な問題ということでえ計算量が

play13:42

都市数が増加すにすれてこう指数関数的に

play13:44

こう急激に増加するという問題という性質

play13:48

がありますですからまあ3年とか4年とか

play13:51

ね5年とかっていう都数が少ない時はいい

play13:54

んですけどもまそれがもう50年とか

play13:57

100年とかになってくるともう産量が

play13:59

こう爆発するということになりますでこう

play14:02

いった巡回セールスマン問題があこういっ

play14:05

た神経回路モデルによってえ結構簡単に

play14:08

解けるっていうことがまこのホップ

play14:10

フィールドによってこう報告されたわけ

play14:13

ですねでまこれについてももう簡単にしか

play14:17

ま説明しないですけどもまこの下の図に

play14:19

書いてあるようにえこれも階層的な神経

play14:22

カルモデルではなくてえ各ユニット感が

play14:26

相互に結合しているっていうネットワを

play14:29

考えますでえっとその相互に結合していて

play14:34

で縦と横では必ず1個しか選ばれないとだ

play14:39

から縦方向を見ても1個しか選ばれてない

play14:42

し横方向を見ても1個しか選ばれないよう

play14:45

にまネットワークをこうま設定しとくわけ

play14:50

ですねでえま結合過重としてはまこのえ

play14:55

対称性が保証されていてえまこのええ総合

play14:59

結合ですねえまAとBというものを結合し

play15:03

てる時のAからBとBからAというまえ

play15:06

結合過重のま重みっていうものが等しい

play15:09

ですよとでまたえま移動距離ですねま移動

play15:13

距離に関する目的関数を最小化するという

play15:17

しないといけないのでま都市間の距離に

play15:20

関してえその重みというものは決定されて

play15:24

いるとですからまこの問題はその学習する

play15:27

ということではなくてえ都市間の距離とか

play15:31

ねえに基づいてえそれぞれのユニット感の

play15:35

重みというものを事前に決定しておくて

play15:38

いうことになりますですからこういう事前

play15:40

にうまくこうネットワークのこう結合の

play15:43

重みというものを設定しておけばですね

play15:46

あとはもうバント走らせるだけということ

play15:49

にこうなるわけですねでそれをこう走ら

play15:52

せると確かま右の方はこれ50年ぐらい

play15:55

ですかねま50年ぐらいのこの最短経路の

play16:00

求まるた会ということになってま結構短

play16:03

時間にえこういった最適会が求まるという

play16:06

ことでえ非常にこう話題になりましたま

play16:09

興味のある人はあ巡回セールスマン問題と

play16:12

かねホップフィールドとかまこれ略して

play16:15

TSP問題とかねも言われたりしますので

play16:18

まそういうので検索してみると面白いと

play16:21

思い

play16:23

ますでえまたですねえっとま人の運動を

play16:27

生成するような神経カルモデルというもの

play16:30

も提案されていてでえこれはまあのまた

play16:35

そのね実際の最適化のその実例ということ

play16:38

でえま人の運動を生成する計算モデルに

play16:41

ついてこうお話をするんですけどもまその

play16:44

中でこうトル変化最小モデルっていうのが

play16:46

ありますでこの努力変化最小モデルに

play16:48

基づいてま人の身体の運動っていうのを

play16:51

こう生成するということが提案されてるん

play16:54

ですけどもまそそのえ努力変化最小モデル

play16:58

にもづいたまあ神経変えるモデルですねに

play17:02

よってこう起動生成するというものが

play17:05

カトラによってこう提案をされていますで

play17:08

ま詳しいことはもう話はしませんけどもま

play17:10

こういう丸で書いてるのがそれぞれの

play17:13

ユニットでその結合がま神経カルモデルと

play17:16

いうことなんですねですからこういった

play17:17

神経カルモデルがまたくさんこう繋がって

play17:20

ですねでまそれぞれ1個があえ離3時間の

play17:24

1個1個にこう対応しているっていうもの

play17:27

ですですからこのえ縦方向にずっと並ん

play17:30

でるのがま各時間の神経カモデルがこう

play17:33

たくさん並んでるというネットワークに

play17:36

なりますでこういうネットワークもま事前

play17:39

にそのうまくですねえ結合過重っていう

play17:42

ものを決定しておいてあげるとえまこの

play17:45

トル変化最小モデルに基づいた起動生成が

play17:48

できるというわけですね

play17:52

ででこその後にですねえこういった神経

play17:55

カエルモデルとは別にえまこれもま川さん

play17:59

たちのグループでこう和田さんっていうね

play18:01

え方がそのやられた研究なんですけどもま

play18:04

これもトル変化最小モデルの起動生成です

play18:07

からあのま同じなんですけどもま何が違う

play18:10

かというと神経カルモデルの構造が違うと

play18:14

いうことですでどう構造が違うかというと

play18:17

ちょっと見づらいですけどもその右の方に

play18:20

準モデルていうのが書いてありますこれ準

play18:22

モデルってのは身体の準モデルですです

play18:26

から準運動額モデルとか準合力学モデルと

play18:29

かねいう身体の準モデルで下に書いてる逆

play18:33

モデルがこれも身体の逆モデルでえ逆運動

play18:38

額モデルとか逆道理学モデルという身体の

play18:41

逆モデルになりますで実はこの身体の順

play18:44

モデルとか逆モデルを使ってこのこれ反

play18:47

時計周りにこれくるくるくるくる回るよう

play18:50

な構造になってるんです

play18:52

ねでまこういうくるくるくるくるこう回り

play18:55

ながらま近事的なトルク変化最小モデルを

play18:58

実現する部分とかトルクの閉化とかですね

play19:02

まそういったものこうがあるんですけども

play19:04

これを反時計周りにこうくるくるくるくる

play19:07

こう回してるうちにだんだんトルク変化

play19:10

最小モデルに基づいた起動になってくると

play19:14

いう神経回路モデルになりますですからま

play19:18

この場合の方が非常にこう小規模な神経

play19:21

改良モデルになってえるということですね

play19:24

まこういったあ神経変えるモデルでもえま

play19:29

努力変化最小モデルに基づいた最適な運動

play19:33

というものを生成することができるという

play19:35

意味でのま最適化を実現する神経カエル

play19:38

モデルということになりますまこのように

play19:41

ですねえま神経カエルモデルを使っても

play19:45

最適解を求めるということができますので

play19:48

えまねえこういったことでも少しえ考えて

play19:53

もらったらいいかなという風に思いますで

play19:55

ま神経カルモデルに関することはもうこの

play19:57

ぐらいにしてねえ次に進みたいと思い

play20:04

ます次に遺伝的アルゴリズムについて説明

play20:07

をしますま一般的にはGAと呼ばれてる

play20:10

アルゴリズムになり

play20:12

ますでこの遺伝的アルゴリズムではえま

play20:16

情報表現するたものをこれ個体という風に

play20:19

言いますでこの個体の表現は一般的には

play20:23

こう2進数でこう表現をされましてえ

play20:26

例えばこの個体Aっていうのは1

play20:29

10111とまこういう2進数でえ答ま

play20:33

情報が表現されるわけですねでえこの個体

play20:37

をですねま子個体とか親個体とかねえいう

play20:40

風にこう2種類考えるんですけどもまずえ

play20:44

右の図のようにねえ親個体が2つあるとし

play20:47

ますここではえ親個体がABCDEFと

play20:51

いう親個体と123456っていう親個体

play20:55

がま2個あったとしますでここでま縦の赤

play20:59

の点線でえ区切ってですね左手と右手を

play21:05

こう入れ替えるということを考えますでえ

play21:08

ま親の個体のね親個体の上はですねABB

play21:13

3c56になるし下の方は12cdeEF

play21:17

という風にこうなるわけですねこうやって

play21:19

その2つの親個体から別な小個体を生成

play21:23

するということができますでこのえまこの

play21:27

赤の点線の位置っていうのはこれもこう

play21:29

ランダムにこう選んだりしますのでえま

play21:33

これでその2つの親個体からえたくさんの

play21:36

個個体を生成するということができますで

play21:39

さらにはですねま1個の親個体からまその

play21:44

ここではABBCのBっていうものが選ば

play21:46

れてますけどもまランダムにですねどれか

play21:49

1個をこう選択するとでそのどれ選択され

play21:51

た1個が

play21:53

えここではそのまラージBにこうなって

play21:56

ますけどもまあの0だったものがあ1に

play22:00

なるとかね1だったものが0になるという

play22:02

風にこう反転させるわけですねそういう風

play22:05

にこう1部分だけえランダムに選択してえ

play22:10

それを反転させるとでこれを突然変異って

play22:12

いう風に言いますでまですからこの突然

play22:15

変異の選ぶ位置とかですねえ個数とかです

play22:18

ね変えればえ1つの親個体からたくさんの

play22:22

個個体を生成することができるとまこう

play22:24

いう風にしてま親個体からあたくさんの

play22:27

個体てっていうものを生成することが

play22:30

できるというわけ

play22:32

ですでま次にその全体の流れですけどもお

play22:36

まずですねえ1番初期になる親子体を生成

play22:40

をしますね例えばこれえま100個なら

play22:43

100個の親個体を生成するわけですねで

play22:46

次にこの100個の親個体からあ個個体を

play22:50

生成するんですけども先ほど言った交差と

play22:52

か突然変異で生成をしますでこの時例えば

play22:56

まえ親個体が100個だったらあ個体を

play22:59

500個生成するとかねこたくさんの個

play23:02

個体というのを生成しますでま500個

play23:04

生成したとするとまそれぞれの個個体の

play23:07

評価をしますまどのぐらいいいかどの

play23:10

ぐらい悪いかとかねそういう評価値をえ

play23:13

求めてえま各個体ごとにえ評価値を求め

play23:19

ますで評価値を求めてでその一番評価の

play23:23

いいものがえその終了判定の条件を満たし

play23:28

てばイエスということでえ終了で最適会が

play23:31

求まるということになるんですけどもま

play23:33

満たしていなければノーということでえ

play23:36

例えばさっきの500個の個個体の中から

play23:39

あ次世代の親子体をまた100個選ぶとで

play23:43

えそれでその次の個個体をまた同様に生成

play23:47

をするとこれがま1世代のループという

play23:50

ことになってこれをこうずっと世代ごとに

play23:53

ずっとこのループを繰り返していくわけ

play23:54

ですねでそうするとまだんだんそのの最適

play23:59

な回にえ近い回がこう出てくると出現して

play24:03

くるというのがま遺伝的アルゴリズムに

play24:05

なり

play24:07

ますでえまここではねまこのぐらいの説明

play24:12

にしておきますけどもま興味にある人はね

play24:14

ま遺伝的アルゴリズムとかGAで検索して

play24:17

もらえればもっと詳しくね出てますのでえ

play24:20

調べてもらったらいいかなという風に思い

play24:23

ますえっとそれではですねま最近ちょっと

play24:27

私がままこういうGAを使ってねえ身体の

play24:30

運動を生成するというちょっと研究をして

play24:33

ますのでまあのそのGAについてま

play24:37

ジェネティックアルゴリズムについて説明

play24:38

するんですけどもまあの私の場合はですね

play24:42

実は自数値GAというものを使っています

play24:44

えま何が違うかというと先ほど説明した

play24:47

GAっていうのはま2進数で情報を表現し

play24:51

てたわけですけどもま私が今使ってる実数

play24:53

値GAというものは2進数ではなくてえ

play24:56

実数値を使うとねね実数値でえ情報を表現

play25:00

するとま個体を表現するということでえ

play25:03

身体の運動を生成するていうことを

play25:05

ちょっと今やってい

play25:07

ますでえま全体的な流れはですねま先ほど

play25:11

とまほとんど同じなんですけどもまずまあ

play25:15

初期の世代の親個体を生成してえ交差とか

play25:18

あ突然変異とかによって個個体を生成して

play25:22

でまちょっとこれ次数値で使ってますので

play25:24

えちょっとま滑らかに保管するようなねえ

play25:27

後事のスプライン保管とかっていうことを

play25:30

やってえま運動のま核関節の核のね個個体

play25:34

からあえ腕姿性とかていうのをこう計算し

play25:38

たりしてえそれでその各個個体のこう評価

play25:41

値を計算するとでえま次世代の親子体を索

play25:46

してこれがま世代のループということで

play25:49

ここでこうくるくる回すということになり

play25:51

ますでこれもこれがま最適会が得られる

play25:53

までこう繰り返すということでま基本的な

play25:56

流れはこう同じなんですけどもま一応その

play25:58

実数値値を使ってるっていうところだけが

play26:01

違ってるということ

play26:03

ですでえまここでその実数値GAについて

play26:07

説明します実数値GAではえまどういう

play26:12

個体の表現かというとま当然ま実数値の

play26:14

ベクトルになりますで今その身体の運動

play26:18

っていうものをこう生成したいという風に

play26:20

考えてるので例えばこのま腕の手先の位置

play26:25

ですね腕の手先の位置のこう起動を生成

play26:27

するっという問題考えた時にま手先の位置

play26:31

を縦軸に取って横軸が時間に取るんです

play26:34

けどもえっとここでこ利3時間っていうの

play26:37

を取りますね0から6まであるんですけど

play26:40

6がま運動が終了した時刻とね0が運動

play26:44

開始した時刻というのをこれえこれ7等分

play26:49

6等分になるんですね6等分にした時のえ

play26:53

7点ね6等分にするとこの黒丸で書いてる

play26:57

7点があるんですですけどもこの7点の

play27:00

実数値ですね手先の位置の実数値っという

play27:03

ものをでこうえベクトルで表すとですから

play27:07

まこの6次元のこうベクトルになるという

play27:09

わけです

play27:10

ねでえじゃあこのえ6次元のね利3の

play27:15

こんなんだとその運動王にならないのでま

play27:18

この各点の間を5次のスプライン保管に

play27:22

よってえ保管することによって各時刻の

play27:26

手先の位置っていうものをま表すという

play27:29

ことになりますですからまあGAに使う

play27:33

ですねえ表現はこういうえ利3のその

play27:38

え手先の位置を持つこうベクトルになって

play27:43

でこの

play27:44

お次数値のベクトルからえ5次の

play27:47

スプライン保管によって各時刻の手先の

play27:50

位置っていうのを求めて運動が生成される

play27:53

ということになりますですからまあこの

play27:58

あの実数値ベクトルですねえ実数値ベクト

play28:00

ルっていうものを使ってまGAと同じよう

play28:03

play28:04

あ処理をしていくとまつまりそのえ親個体

play28:08

からあ個個体を生成していくということを

play28:11

考えますでえコ個体の生成について説明を

play28:15

しますでまこねこっから説明することはね

play28:18

ちょっと私があ考えたアルゴリズムになる

play28:21

のでえかなりそのえま一般的なものでは

play28:24

ないんですけどもちょっと私が考えた

play28:26

アルゴリズムということでまちょっと

play28:28

ちょっと聞いといてもらったらいいかなと

play28:29

思いますでまずですねま平均っていうのは

play28:34

ま親個体1と親個体にのこ平均をすると

play28:37

いうことでまそのまんまですねだから2つ

play28:40

の親個体の平均ととって個個体を1個生成

play28:43

するということになりますでコサーはも

play28:47

ほとんどまさっきと同じでえま親個体1と

play28:50

親個体2があった時にま右半分と左半分を

play28:53

こう入れ替えるということによってこ個体

play28:56

をこう生成するとでただしえこういう風に

play28:59

してしまうとこう非常にその手先の軌道と

play29:02

いうものがこう急激に変化するということ

play29:04

にねえなってしまってこう不連続な部分が

play29:07

こ出てきてしまうのでえ一応この交差をし

play29:11

た後にこう閉化という処理をしてこうえ

play29:15

各点が滑らかに変化にするような処理をし

play29:20

ますでえ次にこう突然変異ですけどもま

play29:24

突然変異に関してもこの理3の点の1個

play29:28

ランダムに選択をしてですねでそこにえま

play29:32

突然変異ということでえっと何かそのえ

play29:35

変異をさせるとそれでこ個体を生成するん

play29:38

ですけどもこの場合もここでこう不連続に

play29:41

こう変化するような

play29:43

あになりますのでま閉化をしてこう滑らか

play29:47

に変化するようにするとねでこの突然変異

play29:51

もえまえ普通の突然変異とエリート突然

play29:56

変異というも2種類行っていいてま突然

play29:59

変異っていうのはその親個体の中から本当

play30:02

にもう本当にランダムに親個体を選択する

play30:05

んですけどもこのエリート突然変異って

play30:08

いうものは非常に評価の高い親子体の方が

play30:12

選ばれやすくするとねえ評価の高い親個体

play30:16

をできるだけえ選択するようにしたものが

play30:18

エリート突然変異ということになりますで

play30:22

まこういう2種類の突然変異でえ個体を

play30:25

生成しています

play30:28

でま次世代の親子体をどうやって選択する

play30:31

かっていうことなんですけどもまこれも

play30:33

えっと2種類の親子体でえま生成え選択し

play30:38

ていますでこのエリート保存戦略っていう

play30:41

のはえま本当にエリートですねま評価値の

play30:45

非常にいいね評価値のいい個体親個体を

play30:49

選択するというわけですねでえあとその

play30:53

ルーレット戦略っていうのはえ評価値の

play30:58

いい個体が選ばれる確率を高くするんだ

play31:00

けどもま評価値の悪い個体もある程度選ば

play31:04

れるようにするというものがこう

play31:06

ルーレット戦略ということになりますでま

play31:09

このえ2種類の選択方法でですねえ親子

play31:13

っていうのを選択をしてい

play31:16

ますでえま実際にそのいろんな初期地から

play31:20

ですねまあの親個体を最初に作るわけです

play31:23

けどもその親個体の作り方が毎回こう

play31:26

変わりますのででええそれで親子体の作り

play31:30

方をこう毎回変えてえ何回かこう走らせて

play31:33

みるとその評価値っていうものは縦軸に

play31:36

とってえ世代ですねえ世代を横軸に取ると

play31:40

この世代ごとに評価値がどういう風に減っ

play31:42

てくるかっていうものをこれブロッとして

play31:44

やるんですけどもまあの初期にね選んだ

play31:48

親子体の初期値によってえその評価値の

play31:52

減り方ってのがまかなり違いますよねま

play31:54

かなり違いますけどもまあこの今の

play31:58

アルゴリズムだと100世代ぐらいでほぼ

play32:00

えね評価値が最小になっていてえま最適会

play32:05

がある程度求まるているということがあ

play32:08

分かるかと思い

play32:11

ますでこれがあの最適会を求めた結果に

play32:15

なりますでこれはですねあの以前変分法の

play32:20

ところでお話をしたあジ最小モデルに

play32:23

基づいたあの運動生成っていうのをねえ

play32:27

説明したと思うんですけどもえっとま

play32:30

ジーク最初モデルの場合だと解析的に最適

play32:34

な回が数式として求まるてましたよねで

play32:37

それがこの赤で書いてありますでえ今回

play32:41

そのえこの実数値GAで求まるたのがこう

play32:44

緑で書いてあるんですけどもこのペアレン

play32:48

トって書いてあるそのマークがですねこう

play32:50

利3の実数値のベクトルをこう丸で書いて

play32:54

あってでこの実践で書いてあるのがまこの

play32:57

スプラ保管して求まるた実際の運動という

play33:00

ことなんですけどもえま

play33:03

このXYとかねあとこれえタンジンベロス

play33:08

ティって書いてこれ接線速度ですねえだ

play33:11

からどういう風に見てもまかなりぴったり

play33:16

一致するということでまこの実際えね自

play33:20

最小機動でも解析的で求めた数式ですね

play33:23

最適会の数式とこのG数値GAで求めた会

play33:28

というものがまほぼ1一致してるという

play33:30

ことがあ分かるかと思い

play33:34

ますでまたですねこういった邪悪最小機動

play33:37

っていうのは経由点を通るような運動でも

play33:39

できるんですけどもあのまこれについても

play33:42

こうやってみるとですねほぼ赤と緑がこう

play33:45

一致してるとでただま若干ちょっとずれて

play33:48

ますけどもこれはもうえっと100世代

play33:50

ぐらいでそのえストップさせてしまったの

play33:53

でまだからもう少しこう世代をねえ

play33:56

たくさんやればあ先ほどと同じようにね

play33:59

ほとんど緑と赤がこう一致するという

play34:02

ところまで行けると思いますまこのように

play34:05

えま実実数値GAでもですねえま最適会

play34:09

っていうものを決定することができると

play34:13

いうま1つの実例を紹介しまし

play34:16

たで以上で説明終わりますけどもま今日は

play34:20

え動的計画法とか神経カルモデルとかあ

play34:25

ジェネティックアルゴリズムについて説明

play34:26

をしたんですけどもあの全部本当その本当

play34:30

に簡単にねごく簡単にこう説明をしました

play34:32

のでえま興味のある人は書籍とかあネット

play34:36

とかにはね色々情報がありますからあ調べ

play34:39

てもらったらいいかなという風に思います

play34:41

はい今日はこれで終わりたいと思います

Rate This

5.0 / 5 (0 votes)

Related Tags
動的計画法遺伝的アルゴリズムジェネティックアルゴリズム神経カエルモデル最適化問題巡回セールスマン問題TSP問題努力変化最小モデル運動生成実数値GA
Do you need a summary in English?