Suche senden
Hochladen
Icfp2009
•
Als PPTX, PDF herunterladen
•
1 gefällt mir
•
1,201 views
Hideyuki Tanaka
Folgen
Technologie
Melden
Teilen
Melden
Teilen
1 von 33
Jetzt herunterladen
Empfohlen
PMT-002-生產主管實戰訓練
PMT-002-生產主管實戰訓練
handbook
NECビッグローブ/ビジネス事業部 グループマネージャー 山本氏
NECビッグローブ/ビジネス事業部 グループマネージャー 山本氏
loftwork
オープンソースからの高位合成によるORB-SLAM FPGA実装
オープンソースからの高位合成によるORB-SLAM FPGA実装
直久 住川
Rsgt2021 exploratory testing
Rsgt2021 exploratory testing
Noriyuki Nemoto
カネとAgile(大企業新規事業編) #rsgt2021
カネとAgile(大企業新規事業編) #rsgt2021
Itsuki Kuroda
A Glance At Web 2.0
A Glance At Web 2.0
Chiong
RSGT2021 NTTみたいな企業で新アプリをスクラム開発してみんな笑顔になった
RSGT2021 NTTみたいな企業で新アプリをスクラム開発してみんな笑顔になった
Satoru KawaBuchi
媒体者様用Ad Local媒体資料
媒体者様用Ad Local媒体資料
guestd1d6539
Empfohlen
PMT-002-生產主管實戰訓練
PMT-002-生產主管實戰訓練
handbook
NECビッグローブ/ビジネス事業部 グループマネージャー 山本氏
NECビッグローブ/ビジネス事業部 グループマネージャー 山本氏
loftwork
オープンソースからの高位合成によるORB-SLAM FPGA実装
オープンソースからの高位合成によるORB-SLAM FPGA実装
直久 住川
Rsgt2021 exploratory testing
Rsgt2021 exploratory testing
Noriyuki Nemoto
カネとAgile(大企業新規事業編) #rsgt2021
カネとAgile(大企業新規事業編) #rsgt2021
Itsuki Kuroda
A Glance At Web 2.0
A Glance At Web 2.0
Chiong
RSGT2021 NTTみたいな企業で新アプリをスクラム開発してみんな笑顔になった
RSGT2021 NTTみたいな企業で新アプリをスクラム開発してみんな笑顔になった
Satoru KawaBuchi
媒体者様用Ad Local媒体資料
媒体者様用Ad Local媒体資料
guestd1d6539
Tips th
Tips th
Meily Raimei 'Raito
EclipSky200712
EclipSky200712
Hiroki Kondo
【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 9: Bernoulli Likelihood wit...
【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 9: Bernoulli Likelihood wit...
Koji Yoshida
胸腔胃-气道瘘:经鼻空肠营养管和胃减压管置入治疗--申
胸腔胃-气道瘘:经鼻空肠营养管和胃减压管置入治疗--申
baiyunguofeng
Authoring Tools Comparision in Detail
Authoring Tools Comparision in Detail
Tim Lu
gfw工作原理及突破技术
gfw工作原理及突破技术
Daniel Cheung
eLearning Manager4U
eLearning Manager4U
guestd83ce7
【13-D-3】 プロとしてのOracleアーキテクチャ入門 ~ 番外編 ~
【13-D-3】 プロとしてのOracleアーキテクチャ入門 ~ 番外編 ~
devsumi2009
FIT UXER APP 運用遊戲化設計協助非專業健身者養成健身習慣
FIT UXER APP 運用遊戲化設計協助非專業健身者養成健身習慣
NTUST
Internet Ued Process
Internet Ued Process
rex song
7-Eleven OPEN POINT APP設計
7-Eleven OPEN POINT APP設計
NTUST
【13-D-1】 ERP5に見るストレージ技術
【13-D-1】 ERP5に見るストレージ技術
devsumi2009
Taiwan Museum 台灣博物館APP跨渠道體驗設計
Taiwan Museum 台灣博物館APP跨渠道體驗設計
NTUST
GIGAPOD OFFICEHARD
GIGAPOD OFFICEHARD
tripodworks
【13-B-4】 Java VMへの処方箋 ~先進のメモリ管理技術とは~
【13-B-4】 Java VMへの処方箋 ~先進のメモリ管理技術とは~
devsumi2009
Cybozu Inc 10th anniversary event - developing section.
Cybozu Inc 10th anniversary event - developing section.
cydn.cybozu.co.jp
Cellphone
Cellphone
Xinyi Jiang
Несколько шагов
Несколько шагов
Stitch1678
Rsgt2021 cybozu booth_session
Rsgt2021 cybozu booth_session
KazuhiroNiwaya
手書きスライド
手書きスライド
Hideyuki Tanaka
C++コミュニティーの中心でC++をDISる
C++コミュニティーの中心でC++をDISる
Hideyuki Tanaka
Xpath in-lens
Xpath in-lens
Hideyuki Tanaka
Weitere ähnliche Inhalte
Was ist angesagt?
Tips th
Tips th
Meily Raimei 'Raito
EclipSky200712
EclipSky200712
Hiroki Kondo
【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 9: Bernoulli Likelihood wit...
【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 9: Bernoulli Likelihood wit...
Koji Yoshida
胸腔胃-气道瘘:经鼻空肠营养管和胃减压管置入治疗--申
胸腔胃-气道瘘:经鼻空肠营养管和胃减压管置入治疗--申
baiyunguofeng
Authoring Tools Comparision in Detail
Authoring Tools Comparision in Detail
Tim Lu
gfw工作原理及突破技术
gfw工作原理及突破技术
Daniel Cheung
eLearning Manager4U
eLearning Manager4U
guestd83ce7
【13-D-3】 プロとしてのOracleアーキテクチャ入門 ~ 番外編 ~
【13-D-3】 プロとしてのOracleアーキテクチャ入門 ~ 番外編 ~
devsumi2009
FIT UXER APP 運用遊戲化設計協助非專業健身者養成健身習慣
FIT UXER APP 運用遊戲化設計協助非專業健身者養成健身習慣
NTUST
Internet Ued Process
Internet Ued Process
rex song
7-Eleven OPEN POINT APP設計
7-Eleven OPEN POINT APP設計
NTUST
【13-D-1】 ERP5に見るストレージ技術
【13-D-1】 ERP5に見るストレージ技術
devsumi2009
Taiwan Museum 台灣博物館APP跨渠道體驗設計
Taiwan Museum 台灣博物館APP跨渠道體驗設計
NTUST
GIGAPOD OFFICEHARD
GIGAPOD OFFICEHARD
tripodworks
【13-B-4】 Java VMへの処方箋 ~先進のメモリ管理技術とは~
【13-B-4】 Java VMへの処方箋 ~先進のメモリ管理技術とは~
devsumi2009
Cybozu Inc 10th anniversary event - developing section.
Cybozu Inc 10th anniversary event - developing section.
cydn.cybozu.co.jp
Cellphone
Cellphone
Xinyi Jiang
Несколько шагов
Несколько шагов
Stitch1678
Rsgt2021 cybozu booth_session
Rsgt2021 cybozu booth_session
KazuhiroNiwaya
Was ist angesagt?
(19)
Tips th
Tips th
EclipSky200712
EclipSky200712
【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 9: Bernoulli Likelihood wit...
【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 9: Bernoulli Likelihood wit...
胸腔胃-气道瘘:经鼻空肠营养管和胃减压管置入治疗--申
胸腔胃-气道瘘:经鼻空肠营养管和胃减压管置入治疗--申
Authoring Tools Comparision in Detail
Authoring Tools Comparision in Detail
gfw工作原理及突破技术
gfw工作原理及突破技术
eLearning Manager4U
eLearning Manager4U
【13-D-3】 プロとしてのOracleアーキテクチャ入門 ~ 番外編 ~
【13-D-3】 プロとしてのOracleアーキテクチャ入門 ~ 番外編 ~
FIT UXER APP 運用遊戲化設計協助非專業健身者養成健身習慣
FIT UXER APP 運用遊戲化設計協助非專業健身者養成健身習慣
Internet Ued Process
Internet Ued Process
7-Eleven OPEN POINT APP設計
7-Eleven OPEN POINT APP設計
【13-D-1】 ERP5に見るストレージ技術
【13-D-1】 ERP5に見るストレージ技術
Taiwan Museum 台灣博物館APP跨渠道體驗設計
Taiwan Museum 台灣博物館APP跨渠道體驗設計
GIGAPOD OFFICEHARD
GIGAPOD OFFICEHARD
【13-B-4】 Java VMへの処方箋 ~先進のメモリ管理技術とは~
【13-B-4】 Java VMへの処方箋 ~先進のメモリ管理技術とは~
Cybozu Inc 10th anniversary event - developing section.
Cybozu Inc 10th anniversary event - developing section.
Cellphone
Cellphone
Несколько шагов
Несколько шагов
Rsgt2021 cybozu booth_session
Rsgt2021 cybozu booth_session
Andere mochten auch
手書きスライド
手書きスライド
Hideyuki Tanaka
C++コミュニティーの中心でC++をDISる
C++コミュニティーの中心でC++をDISる
Hideyuki Tanaka
Xpath in-lens
Xpath in-lens
Hideyuki Tanaka
Monad tutorial
Monad tutorial
Hideyuki Tanaka
Pfi Seminar 2010 1 7
Pfi Seminar 2010 1 7
Preferred Networks
C++でHello worldを書いてみた
C++でHello worldを書いてみた
firewood
2015 lodc&UDC ゴミ多言語変換用データ基盤
2015 lodc&UDC ゴミ多言語変換用データ基盤
Takuya Yamagata
Streaming data processing ライブラリの紹介 (主に Conduit)
Streaming data processing ライブラリの紹介 (主に Conduit)
krdlab
Digital Signature and PKI
Digital Signature and PKI
Seizan Shimazaki
Ppl
Ppl
Seizan Shimazaki
Session2:「グローバル化する情報処理」/伊藤敬彦
Session2:「グローバル化する情報処理」/伊藤敬彦
Preferred Networks
怪しいWindowsプログラミング
怪しいWindowsプログラミング
nagoya313
Yesod勉強会
Yesod勉強会
Hideyuki Tanaka
Yesodを支える技術
Yesodを支える技術
Hiromi Ishii
IdrisでWebアプリを書く
IdrisでWebアプリを書く
Hideyuki Tanaka
PFIセミナー 2013/02/28 「プログラミング言語の今」
PFIセミナー 2013/02/28 「プログラミング言語の今」
Preferred Networks
関数プログラミング入門
関数プログラミング入門
Hideyuki Tanaka
アーキテクチャ主導の情報システムへ
アーキテクチャ主導の情報システムへ
Kent Ishizawa
Sql world とは
Sql world とは
Oda Shinsuke
大規模Redisサーバ縮小化の戦い
大規模Redisサーバ縮小化の戦い
Yuto Komai
Andere mochten auch
(20)
手書きスライド
手書きスライド
C++コミュニティーの中心でC++をDISる
C++コミュニティーの中心でC++をDISる
Xpath in-lens
Xpath in-lens
Monad tutorial
Monad tutorial
Pfi Seminar 2010 1 7
Pfi Seminar 2010 1 7
C++でHello worldを書いてみた
C++でHello worldを書いてみた
2015 lodc&UDC ゴミ多言語変換用データ基盤
2015 lodc&UDC ゴミ多言語変換用データ基盤
Streaming data processing ライブラリの紹介 (主に Conduit)
Streaming data processing ライブラリの紹介 (主に Conduit)
Digital Signature and PKI
Digital Signature and PKI
Ppl
Ppl
Session2:「グローバル化する情報処理」/伊藤敬彦
Session2:「グローバル化する情報処理」/伊藤敬彦
怪しいWindowsプログラミング
怪しいWindowsプログラミング
Yesod勉強会
Yesod勉強会
Yesodを支える技術
Yesodを支える技術
IdrisでWebアプリを書く
IdrisでWebアプリを書く
PFIセミナー 2013/02/28 「プログラミング言語の今」
PFIセミナー 2013/02/28 「プログラミング言語の今」
関数プログラミング入門
関数プログラミング入門
アーキテクチャ主導の情報システムへ
アーキテクチャ主導の情報システムへ
Sql world とは
Sql world とは
大規模Redisサーバ縮小化の戦い
大規模Redisサーバ縮小化の戦い
Icfp2009
1.
ICFPProgramming Contest 2009参加記
田中英行
2.
ICFP Programming Contest
とは ICFP(関数型プログラミング言語に関する学会)が主催するプログラミングコンテスト チーム人数、使うマシン、使うプログラミング言語、なんでもありの72時間耐久レース
3.
今年の課題 物理シミュレータと達成すべき状態が与えられるので、衛星を操ってそれを達成せよ 課題は4つ
4つ目の課題は24時間目以降に発表 物理シミュレータは独自のマシン語によって記述されている そのマシンのIOのトレースをサブミットする
4.
解く流れ VMを実装する VMとやり取りして目標を達成するためのプログラムを作る
サブミットする 改善する 繰り返し
5.
課題1Hohmann 地球の周りを円運動する衛星がある。その衛星をある別の高度で円運動するようにせよ。加速なしで誤差1000m以内で900秒維持せよ。 衛星を動かすには燃料がいる
少ないほどスコアがいい(と書いてあるが、実は逆)
6.
課題1解法 ホーマン遷移 http://en.wikipedia.org/wiki/Hohmann_transfer_orbit
エネルギー最小 実装するだけ 微調整が必要?
7.
課題2Meet and Greet
円運動をする衛星を別の円運動をする衛星にぴったりくっつけろ。静止状態で誤差1000m、900秒間維持せよ。 燃料消費、時間消費が少ない方がスコアが高い
8.
課題2解法 (回転方向が同じなら)必要なだけ待ってから、ホーマン遷移すればよい。 ホーマン遷移にかかる時間をシミュレーションで予測(t)
対象の角加速度を計算(ω) 自機と対象の角度が π – ωtになったら出発 回転方向が違う場合 ないことを祈る
9.
課題2解法:図 ωt
10.
課題3Eccentric Meet and
Greet 楕円軌道を描く衛星を別の楕円軌道を描く衛星にくっつけろ。静止状態で1000m以内、900秒維持せよ。
11.
課題3解法 楕円軌道->円軌道に遷移 円軌道->目標の楕円軌道に重なる円軌道に”タイミングを計って”ホーマン遷移
楕円軌道->目標の楕円軌道との交点で、目標の楕円軌道に遷移
12.
課題3解法:図 青⇒赤⇒緑⇒黄 の順に遷移
13.
解法3紛糾 …て、こんなもんできるか! 宇宙物理の専門家じゃあるまいに
難しいところ 主にタイミングを合わせるところ 残り時間も少なかったので、別解を考えることにした
14.
課題3:別解 ひたすら追いかける 以上
なんとこれで解けた やけくそになったのが功を奏した
15.
解法3:別解 ただやみくもに追ってもぴったりくっつけられるわけではない 位置とベクトルの両方をぴったり合わせる必要がある
次のような式が良いようだった Δv= (unit (tx-x) * unit (tv-v)) * γ x(tx), v(tv) = 自機の(目標の)座標と速度 γ=距離に応じて変える定数
16.
Intermission LightningDivision終了 課題3は間一髪のところだった
課題4が発表される 月が追加されてnushioさん涙目 無理ゲー臭がそこはかとなく漂う中、いったん睡眠をとることにした。
17.
課題4Operation Clear Skies
地球と、月と、衛星11個と、燃料補給所がある。地球と月にぶつからないように、衛星11個に接近せよ。接近は1000m以内、1フレーム近付けば十分。燃料補給所に接近すると、燃料が満タンまで補給される。しかし、燃料補給所にある燃料にも限りがある。スコアは、なるべく速く多く、燃料消費少なく衛星を回収して回れば高くなる。
18.
課題4方針 まず、適当に考えたもの 一番近い衛星を回収
燃料補給所に帰還 繰り返し 起動の遷移に課題3のものを使う
19.
問題点 だが、うまくいかない 燃料が足りない
自機に積める燃料は10000で、うまくやらないと帰ってくることすらままならない 地球にぶつかる 適当に進んでいるだけでは、地球越しの目標に向かう時にぶつかる
20.
課題3の改良 ほぼ一発で合わせられるようにする 加速する方向を進行方向に限定
三分探索で目標に最接近する加速量を探索 うまくいきそうなのがあれば出発 燃費がかなり良くなる だが、問題点 シミュレーションが正確ではなかったので、近づいてから補正する必要があった
21.
課題4に組み込み これで大体5,6個捕まえられるようになった だが、捕まえてから帰ってこれなくなってくる
なんでかわからないまま定数をいじって時間だけが過ぎてゆく… 残すところ数時間となったとき、ついに思いつく
22.
高度調節 この方法での遷移は細長い楕円を経由する これで地球付近の補給所にあてるのは、地球から月にホールインワンするようなもの。これではあてられない。
なら、高度を下げてやればいいだけなのではないか?
23.
高度調節 高度調節自体は、ようするにホーマン遷移っぽいことをすればよい 地球から遠ければそれをするとする
24.
高度調整組み込み これで、燃料のある限り回収できるようになった 4001-4003で10個回収
25.
逆走問題 4004番はほかの衛星が逆走している これはつかまりにくい
なら、最初に自機をひっくり返すか 大体うまくいく 最初の宙返りに10000ぐらい燃料を使ってしまうので、9個しか集められなかったが
26.
チューニング 明らかに、衛星にくっつくために、軌道まで合わせるのは燃料の無駄 位置だけ微調整して何とかならないか
時間が足りず、残念ながら何ともならなかった シミュレーション精度さえよければなあ・・・
27.
月へ 月の近くに衛星がある(こともある)ようなので、月に行きたいが、時間も燃料もだめぽ…
28.
終わり 定数をうまい具合にチューニングして、スコアをせこく伸ばして、終了 最終的には、3890ぐらいだった
暫定スコアボードで トップが5171.5322 (pepsiso) 10位が3377.7318
29.
結果 http://icfpcontest.org/scoreboard.php スコア的にはトップ10には入れているかどうかも微妙なライン
トップにはぼろ負け 無念…
30.
動画 4001 http://www.youtube.com/watch?v=aTvd99IPRgQ
4002 http://www.youtube.com/watch?v=c19dSxB9Yco 4003 http://www.youtube.com/watch?v=IBO0vnGNRMw 4004 http://www.youtube.com/watch?v=1M255RhBbfM
31.
敗因分析:戦術面 よくなかった点 シミュレーションは実機でやるべきだった
すごい遅そうで倦厭していたが、燃料消費を考えると… そうでなければ、リバースエンジニアリングしてとか… は面倒ですけど… 毎回補給基地に帰るという方針 これは上ができてれば自然と改善されていたはずではあるが
32.
敗因分析:戦略面 人的リソースな面 PFIからでるなら、十分に確保できると思ったらそうでもなかった
期間中それだけ考えてくれる人が4人ぐらいは欲しい… 作業分担の面 問題そのものに取り組んでくれる人が少なかった (nushioさんの軌道修正をしてあげるべきだったか)
33.
感想 問題は相変わらずよくできてて、楽しかった 無理ゲーが楽勝になる感覚が3回ぐらい味わえた
主催者は相変わらず期間中にデバッグしてた これはどうしようもないのか 負けたのは悔しい また来年
Jetzt herunterladen