genetic programming
TRANSCRIPT
![Page 1: Genetic programming](https://reader035.vdocuments.mx/reader035/viewer/2022062419/5584b71cd8b42a96768b4b0e/html5/thumbnails/1.jpg)
Genetic Programmingin 開成祭
K.C.L.C 33 代副部長 藤井陽介
![Page 2: Genetic programming](https://reader035.vdocuments.mx/reader035/viewer/2022062419/5584b71cd8b42a96768b4b0e/html5/thumbnails/2.jpg)
自己紹介
HN: touyou現副部長現高2総合クリエイターTwitter:@touyoubuntuSkype:grouse-scorpionFacebook,mixi,Google+
発表者の簡単な仕様書
こんなアイコン
![Page 3: Genetic programming](https://reader035.vdocuments.mx/reader035/viewer/2022062419/5584b71cd8b42a96768b4b0e/html5/thumbnails/3.jpg)
今までにつくったものAndroid アプリ・ Web サービス– 災害ったー ,Nintori,n33t など– 組の用語集サイト
部活・個人でゲームとかソフトとか部誌・運動会組パンフレット(来年)作曲入門中(エール作曲係)ひとり墓地 final の PV
![Page 4: Genetic programming](https://reader035.vdocuments.mx/reader035/viewer/2022062419/5584b71cd8b42a96768b4b0e/html5/thumbnails/4.jpg)
まぁようするに…
![Page 5: Genetic programming](https://reader035.vdocuments.mx/reader035/viewer/2022062419/5584b71cd8b42a96768b4b0e/html5/thumbnails/5.jpg)
ホームページ見といてね
URL はhttp://beta.touyoubuntu.zatunen.com/
まぁ「 touyoubuntu 」で調べれば出てきます。
![Page 6: Genetic programming](https://reader035.vdocuments.mx/reader035/viewer/2022062419/5584b71cd8b42a96768b4b0e/html5/thumbnails/6.jpg)
では、本題。今日話す事
テーマを選んだわけ遺伝的プログラミング(以降 GP と表記)とはな
んなのか?GP の仕組みGP のプログラムデモ応用されている分野GP の未来
![Page 7: Genetic programming](https://reader035.vdocuments.mx/reader035/viewer/2022062419/5584b71cd8b42a96768b4b0e/html5/thumbnails/7.jpg)
まずこれテーマを選んだわけ遺伝的プログラミング(以降 GP と表記)とはな
んなのか?GP の仕組みGP のプログラムデモ応用されている分野GP の未来
![Page 8: Genetic programming](https://reader035.vdocuments.mx/reader035/viewer/2022062419/5584b71cd8b42a96768b4b0e/html5/thumbnails/8.jpg)
理由今年情報オリンピック夏季セミナーに行ってき
たそこでこのことを学んだそれが楽しかった
という安直な理由です。こんなので勉強しました。
![Page 9: Genetic programming](https://reader035.vdocuments.mx/reader035/viewer/2022062419/5584b71cd8b42a96768b4b0e/html5/thumbnails/9.jpg)
続いて…テーマを選んだわけ遺伝的プログラミング(以降 GP と表記)とはな
んなのか?GP の仕組みGP のプログラムデモ応用されている分野GP の未来
![Page 10: Genetic programming](https://reader035.vdocuments.mx/reader035/viewer/2022062419/5584b71cd8b42a96768b4b0e/html5/thumbnails/10.jpg)
遺伝的プログラミングとは遺伝子の進化を応用した、様々な問題に対する
解法を導き出すためのプログラムわかりにくいよね←
![Page 11: Genetic programming](https://reader035.vdocuments.mx/reader035/viewer/2022062419/5584b71cd8b42a96768b4b0e/html5/thumbnails/11.jpg)
例を見てみようたとえばいくつかの点の情報があってそれのす
べてを通るようなグラフの数式を出したいそんな時
GP すると、その数式を自動生成してくれます。
![Page 12: Genetic programming](https://reader035.vdocuments.mx/reader035/viewer/2022062419/5584b71cd8b42a96768b4b0e/html5/thumbnails/12.jpg)
ふぁ!?
![Page 13: Genetic programming](https://reader035.vdocuments.mx/reader035/viewer/2022062419/5584b71cd8b42a96768b4b0e/html5/thumbnails/13.jpg)
そんなんできるわけ無いだろ。数式考えるのなんて人間のほうが得意に決まってるじゃないか。人工知能が開発されたとでも?大体数式考えるのになんで遺伝子の進化の仕組みが必要になるんだよ、このホラ吹きめ。
とりあえず仕組みを解説します。
![Page 14: Genetic programming](https://reader035.vdocuments.mx/reader035/viewer/2022062419/5584b71cd8b42a96768b4b0e/html5/thumbnails/14.jpg)
GP の仕組みわかりやすくなるように最大限努力します。
![Page 15: Genetic programming](https://reader035.vdocuments.mx/reader035/viewer/2022062419/5584b71cd8b42a96768b4b0e/html5/thumbnails/15.jpg)
まず個体をランダムに生成します。先ほどの例だと個体≒数式です大体 50 ~ 500 個体ぐらい最初に作ります通常の GP だとこの個体を木構造で表現します
![Page 16: Genetic programming](https://reader035.vdocuments.mx/reader035/viewer/2022062419/5584b71cd8b42a96768b4b0e/html5/thumbnails/16.jpg)
おい、木構造ってなんぞ?プログラミングでよく使うデータを管理するため
の構造のこと
+
1 ×
4 3
ここが根( root )
線の上の方が親
線の下の方が子
![Page 17: Genetic programming](https://reader035.vdocuments.mx/reader035/viewer/2022062419/5584b71cd8b42a96768b4b0e/html5/thumbnails/17.jpg)
GP の用語では…
+
1 ×
4 3
黒いのが非終端記号
白いのが終端記号
![Page 18: Genetic programming](https://reader035.vdocuments.mx/reader035/viewer/2022062419/5584b71cd8b42a96768b4b0e/html5/thumbnails/18.jpg)
その他の GP 用語
適合度– 各個体の価値
パラメータ– GP の操作のための各種数値
終了条件– GP の操作を終える基準
![Page 19: Genetic programming](https://reader035.vdocuments.mx/reader035/viewer/2022062419/5584b71cd8b42a96768b4b0e/html5/thumbnails/19.jpg)
続いて、各操作を行います。適合度計算– 各個体の適合度を計算します
選択– 様々な手法で個体を選びます
交叉– 選んだ2個体を混ぜて新しい個体を作ります
突然変異– 個体の一部を変えて新しい個体を作ります
![Page 20: Genetic programming](https://reader035.vdocuments.mx/reader035/viewer/2022062419/5584b71cd8b42a96768b4b0e/html5/thumbnails/20.jpg)
適合度計算より正解に近い結果を出す個体複雑さ(例:数式の長さ)が少ない個体
上の2つを満たす個体がより優良な個体と判断されるような基準をつくって計算します。ここの工夫で GP の最終結果の良し悪しが決まります。
![Page 21: Genetic programming](https://reader035.vdocuments.mx/reader035/viewer/2022062419/5584b71cd8b42a96768b4b0e/html5/thumbnails/21.jpg)
選択
文字通り例:– トーナメント選択:ランダムにいくつかの個体を選
んでその中でもっとも優良な個体を選択する方法
![Page 22: Genetic programming](https://reader035.vdocuments.mx/reader035/viewer/2022062419/5584b71cd8b42a96768b4b0e/html5/thumbnails/22.jpg)
交叉2つの個体を選択する例えば一点交叉という手法は…
+
1 ÷
4 3
×
2
-
6 41
÷
![Page 23: Genetic programming](https://reader035.vdocuments.mx/reader035/viewer/2022062419/5584b71cd8b42a96768b4b0e/html5/thumbnails/23.jpg)
一個選んだ
+
1 ÷
4 3
×
2
-
6 41
÷
![Page 24: Genetic programming](https://reader035.vdocuments.mx/reader035/viewer/2022062419/5584b71cd8b42a96768b4b0e/html5/thumbnails/24.jpg)
交換した
+
1 -
6 4
×
2
÷
4 31
÷
![Page 25: Genetic programming](https://reader035.vdocuments.mx/reader035/viewer/2022062419/5584b71cd8b42a96768b4b0e/html5/thumbnails/25.jpg)
完成 (^^)v
![Page 26: Genetic programming](https://reader035.vdocuments.mx/reader035/viewer/2022062419/5584b71cd8b42a96768b4b0e/html5/thumbnails/26.jpg)
突然変異は…突然一部が変わる(そのまま)
+
1 -
4 3
+
2
-
4 31
÷
![Page 27: Genetic programming](https://reader035.vdocuments.mx/reader035/viewer/2022062419/5584b71cd8b42a96768b4b0e/html5/thumbnails/27.jpg)
これらを駆使していくのだ!
![Page 28: Genetic programming](https://reader035.vdocuments.mx/reader035/viewer/2022062419/5584b71cd8b42a96768b4b0e/html5/thumbnails/28.jpg)
GP デモ失敗したらごめんなさい(訳:場合によっては省略)
![Page 29: Genetic programming](https://reader035.vdocuments.mx/reader035/viewer/2022062419/5584b71cd8b42a96768b4b0e/html5/thumbnails/29.jpg)
GP の応用例日常に潜む GP
![Page 30: Genetic programming](https://reader035.vdocuments.mx/reader035/viewer/2022062419/5584b71cd8b42a96768b4b0e/html5/thumbnails/30.jpg)
とりあえず列挙人工知能金融予想医学産業機械
![Page 31: Genetic programming](https://reader035.vdocuments.mx/reader035/viewer/2022062419/5584b71cd8b42a96768b4b0e/html5/thumbnails/31.jpg)
GP の未来成熟しかけている分野ではあるが…
![Page 32: Genetic programming](https://reader035.vdocuments.mx/reader035/viewer/2022062419/5584b71cd8b42a96768b4b0e/html5/thumbnails/32.jpg)
僕が考えました。遺伝的プログラミングが発展していったら…より精巧なプログラムが作れる数学の未解決問題がとけるかもそれどころか様々な難問への適切なアプローチ
を見つけられるかも…!
![Page 33: Genetic programming](https://reader035.vdocuments.mx/reader035/viewer/2022062419/5584b71cd8b42a96768b4b0e/html5/thumbnails/33.jpg)
小並感なまとめGP は難しいGP は奥深いGP は未知だでも…いや、だからこそ
GP って楽しい!
![Page 34: Genetic programming](https://reader035.vdocuments.mx/reader035/viewer/2022062419/5584b71cd8b42a96768b4b0e/html5/thumbnails/34.jpg)
ご清聴ありがとうございました。