Suche senden
Hochladen
アルゴリズム+データ構造勉強会(14)
•
0 gefällt mir
•
3,299 views
N
noldor
Folgen
Technologie
Melden
Teilen
Melden
Teilen
1 von 12
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
アルゴリズム+データ構造勉強会(15)
アルゴリズム+データ構造勉強会(15)
noldor
STC OC20210605 0と1の世界
STC OC20210605 0と1の世界
Yoshihiko Yamamoto
実践QBVH
実践QBVH
Shuichi Hayashi
アルゴリズム+データ構造勉強会(7)
アルゴリズム+データ構造勉強会(7)
noldor
アルゴリズム+データ構造勉強会(9)
アルゴリズム+データ構造勉強会(9)
noldor
アルゴリズム+データ構造勉強会(8)
アルゴリズム+データ構造勉強会(8)
noldor
アルゴリズム+データ構造勉強会(10)
アルゴリズム+データ構造勉強会(10)
noldor
アルゴリズム+データ構造勉強会(11)
アルゴリズム+データ構造勉強会(11)
noldor
Empfohlen
アルゴリズム+データ構造勉強会(15)
アルゴリズム+データ構造勉強会(15)
noldor
STC OC20210605 0と1の世界
STC OC20210605 0と1の世界
Yoshihiko Yamamoto
実践QBVH
実践QBVH
Shuichi Hayashi
アルゴリズム+データ構造勉強会(7)
アルゴリズム+データ構造勉強会(7)
noldor
アルゴリズム+データ構造勉強会(9)
アルゴリズム+データ構造勉強会(9)
noldor
アルゴリズム+データ構造勉強会(8)
アルゴリズム+データ構造勉強会(8)
noldor
アルゴリズム+データ構造勉強会(10)
アルゴリズム+データ構造勉強会(10)
noldor
アルゴリズム+データ構造勉強会(11)
アルゴリズム+データ構造勉強会(11)
noldor
アルゴリズム+データ構造勉強会(12)
アルゴリズム+データ構造勉強会(12)
noldor
Code igniterを初めて使うときにはまった4つのポイント(ノーマル版)
Code igniterを初めて使うときにはまった4つのポイント(ノーマル版)
noldor
とりあえずはじめるChatOps
とりあえずはじめるChatOps
正貴 小川
Study 20131009
Study 20131009
fujii_t
アルゴリズム+データ構造勉強会(13)
アルゴリズム+データ構造勉強会(13)
noldor
アルゴリズム+データ構造勉強会(6)
アルゴリズム+データ構造勉強会(6)
noldor
アルゴリズム+データ構造勉強会(5)
アルゴリズム+データ構造勉強会(5)
noldor
アルゴリズム+データ構造勉強会(4)
アルゴリズム+データ構造勉強会(4)
noldor
Code igniterを初めて使うときにはまった4つのポイント
Code igniterを初めて使うときにはまった4つのポイント
noldor
AWSをテラフォーミングする会(Terraformハンズオン)
AWSをテラフォーミングする会(Terraformハンズオン)
正貴 小川
Mackerel & Norikra mackerel meetup #4 LT
Mackerel & Norikra mackerel meetup #4 LT
Masahiro Nagano
Norikraで作るPHPの例外検知システム YAPC::Asia Tokyo 2015 LT
Norikraで作るPHPの例外検知システム YAPC::Asia Tokyo 2015 LT
Masahiro Nagano
Big Master Data PHP BLT #1
Big Master Data PHP BLT #1
Masahiro Nagano
Rhebok, High Performance Rack Handler / Rubykaigi 2015
Rhebok, High Performance Rack Handler / Rubykaigi 2015
Masahiro Nagano
メルカリのデータベース戦略 / PHPとMySQLの怖い話 MyNA会2015年8月
メルカリのデータベース戦略 / PHPとMySQLの怖い話 MyNA会2015年8月
Masahiro Nagano
Sakura IoT Platform
Sakura IoT Platform
Osamu Ogasahara
ISUCONの勝ち方 YAPC::Asia Tokyo 2015
ISUCONの勝ち方 YAPC::Asia Tokyo 2015
Masahiro Nagano
Java scriptによるテスト駆動開発
Java scriptによるテスト駆動開発
Hidekazu Nakamura
Railsチュートリアルの歩き方 (第4版)
Railsチュートリアルの歩き方 (第4版)
Yohei Yasukawa
Information sharing and Experience consistency at Cookpad mobile application
Information sharing and Experience consistency at Cookpad mobile application
ichiko_revjune
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
Weitere ähnliche Inhalte
Andere mochten auch
アルゴリズム+データ構造勉強会(12)
アルゴリズム+データ構造勉強会(12)
noldor
Code igniterを初めて使うときにはまった4つのポイント(ノーマル版)
Code igniterを初めて使うときにはまった4つのポイント(ノーマル版)
noldor
とりあえずはじめるChatOps
とりあえずはじめるChatOps
正貴 小川
Study 20131009
Study 20131009
fujii_t
アルゴリズム+データ構造勉強会(13)
アルゴリズム+データ構造勉強会(13)
noldor
アルゴリズム+データ構造勉強会(6)
アルゴリズム+データ構造勉強会(6)
noldor
アルゴリズム+データ構造勉強会(5)
アルゴリズム+データ構造勉強会(5)
noldor
アルゴリズム+データ構造勉強会(4)
アルゴリズム+データ構造勉強会(4)
noldor
Code igniterを初めて使うときにはまった4つのポイント
Code igniterを初めて使うときにはまった4つのポイント
noldor
AWSをテラフォーミングする会(Terraformハンズオン)
AWSをテラフォーミングする会(Terraformハンズオン)
正貴 小川
Mackerel & Norikra mackerel meetup #4 LT
Mackerel & Norikra mackerel meetup #4 LT
Masahiro Nagano
Norikraで作るPHPの例外検知システム YAPC::Asia Tokyo 2015 LT
Norikraで作るPHPの例外検知システム YAPC::Asia Tokyo 2015 LT
Masahiro Nagano
Big Master Data PHP BLT #1
Big Master Data PHP BLT #1
Masahiro Nagano
Rhebok, High Performance Rack Handler / Rubykaigi 2015
Rhebok, High Performance Rack Handler / Rubykaigi 2015
Masahiro Nagano
メルカリのデータベース戦略 / PHPとMySQLの怖い話 MyNA会2015年8月
メルカリのデータベース戦略 / PHPとMySQLの怖い話 MyNA会2015年8月
Masahiro Nagano
Sakura IoT Platform
Sakura IoT Platform
Osamu Ogasahara
ISUCONの勝ち方 YAPC::Asia Tokyo 2015
ISUCONの勝ち方 YAPC::Asia Tokyo 2015
Masahiro Nagano
Java scriptによるテスト駆動開発
Java scriptによるテスト駆動開発
Hidekazu Nakamura
Railsチュートリアルの歩き方 (第4版)
Railsチュートリアルの歩き方 (第4版)
Yohei Yasukawa
Information sharing and Experience consistency at Cookpad mobile application
Information sharing and Experience consistency at Cookpad mobile application
ichiko_revjune
Andere mochten auch
(20)
アルゴリズム+データ構造勉強会(12)
アルゴリズム+データ構造勉強会(12)
Code igniterを初めて使うときにはまった4つのポイント(ノーマル版)
Code igniterを初めて使うときにはまった4つのポイント(ノーマル版)
とりあえずはじめるChatOps
とりあえずはじめるChatOps
Study 20131009
Study 20131009
アルゴリズム+データ構造勉強会(13)
アルゴリズム+データ構造勉強会(13)
アルゴリズム+データ構造勉強会(6)
アルゴリズム+データ構造勉強会(6)
アルゴリズム+データ構造勉強会(5)
アルゴリズム+データ構造勉強会(5)
アルゴリズム+データ構造勉強会(4)
アルゴリズム+データ構造勉強会(4)
Code igniterを初めて使うときにはまった4つのポイント
Code igniterを初めて使うときにはまった4つのポイント
AWSをテラフォーミングする会(Terraformハンズオン)
AWSをテラフォーミングする会(Terraformハンズオン)
Mackerel & Norikra mackerel meetup #4 LT
Mackerel & Norikra mackerel meetup #4 LT
Norikraで作るPHPの例外検知システム YAPC::Asia Tokyo 2015 LT
Norikraで作るPHPの例外検知システム YAPC::Asia Tokyo 2015 LT
Big Master Data PHP BLT #1
Big Master Data PHP BLT #1
Rhebok, High Performance Rack Handler / Rubykaigi 2015
Rhebok, High Performance Rack Handler / Rubykaigi 2015
メルカリのデータベース戦略 / PHPとMySQLの怖い話 MyNA会2015年8月
メルカリのデータベース戦略 / PHPとMySQLの怖い話 MyNA会2015年8月
Sakura IoT Platform
Sakura IoT Platform
ISUCONの勝ち方 YAPC::Asia Tokyo 2015
ISUCONの勝ち方 YAPC::Asia Tokyo 2015
Java scriptによるテスト駆動開発
Java scriptによるテスト駆動開発
Railsチュートリアルの歩き方 (第4版)
Railsチュートリアルの歩き方 (第4版)
Information sharing and Experience consistency at Cookpad mobile application
Information sharing and Experience consistency at Cookpad mobile application
Kürzlich hochgeladen
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Kürzlich hochgeladen
(12)
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
アルゴリズム+データ構造勉強会(14)
1.
アルゴリズム+データ構造 勉強会(14) 2013-05-26 アロハ)竹腰 彰成
2.
第14回 8クイーン問題
3.
8クイーン問題とは • チェス盤に8つのクイーンを置く • クイーンがそれぞれ取られないように並べられ れば成功 •
クイーンは縦横ななめの8方向にどこまでも進めら れる(飛車と角行を合わせた動き) • 何通りかの解があることがわかっている • 全部で92通り。鏡像・回転を除くと12通り • これをコンピュータですべての解を導く 図はWikipediaより
4.
力まかせ探索
5.
力まかせ探索とは • 別名「しらみつぶし探索」 • 8つのクイーンを配置した全部のパターンをチェックすれば解ける • 64! 64−8
! = 64! 56! = 64 ∗ 63 ∗ 62 ∗ 61 ∗ 60 ∗ 59 ∗ 58 ∗ 57 = 178,462,987,637,760通り • コンピュータがきわめて高速なら使えることもあるが、あまり実用的 ではない • 1秒間に1,000,000,000通りを確認できるなら178,462秒=約2日で解ける • それでも、まずはこれでやってみる(高速化は次回行う)
6.
8クイーンの基本フロー(1) 1. 初期化 2. for
(各配置パターン全部回るような条件) { 1. パターンを配置する(); 2. If (クイーンが取り合いできないことを確認()) { 1. パターンを表示する 3. } 3. } • まず、どうやって条件を判定するか
7.
チェス盤の表現方法 • チェス盤を2重配列で表現することにする for ($y
= 0; $y < 8; $y++) { for ($x = 0; $x < 8; $x++) { $chessboard[$y][$x] = 0; } } • クイーンがあれば1、なければ0とする
8.
クイーン同士が取り合えないことを確認(1) • 横にチェックしたとき、同じ筋に2つクイーンがあるとアウト。0個または1 つならセーフ function check_yoko($chessboard) { for
($y = 0; $y < 8; $y++) { $count = 0; for ($i = 0; $i < 8; $i++) { $count += $chessboard[$y][$i]; } if ($count >= 2) { return false; } } return true; }
9.
クイーン同士が取り合えないことを確認(2) • 同じように縦筋、ななめ筋もチェックする関数を作り、まとめて呼び出 せば完成 function check_chessboard($chessboard) { return
check_tate($chessboard) && check_yoko($chessboard) && check_naname($chessboard); } ※ななめ筋のチェックはすこし面倒
10.
8クイーンの基本フロー(2) 1. 初期化 2. for
(各配置パターン全部回るような条件) { 1. パターンを配置する(); 2. If (check_chessboard()) { 1. パターンを表示する 3. } 3. } • 次に、どうやってパターンを配置するか
11.
力技で配置 • 全パターンを配置するのはちょっと大変。「横方向に2つ置けない」ので、 $chessboard[$y][$x]のうち$yを固定してしまう。 for ($x0;
$x0 < 8; $x0++) { $chessboard[0][$x0] = 1; for ($x1; $x1 < 8; $x1++) { $chessboard[1][$x1] = 1; for ($x2; $x2 < 8; $x2++) { (省略) for ($x7; $x7 < 8; $x7++) { $chessboard[7][$x7] = 1; if (check_chessboard($chessboard[7][$x7])) { print_chessboard(); } $chessboard[7][$x7] = 0; // ループ内で同じ横筋に2個置かないように取り除く } (省略)
12.
実習 • ここまでの内容を踏まえて、力まかせ探索で8クイーン問題を解いて ください • 全部表示するには数日かかるので、1つでも表示されたら動くだろうという程 度のテストでOKです •
次回はこれを高速化します。そのため、実装を完成させてください。 • 来週はお休みし、再来週に次回を行います。 • どうしても解けない場合でも「クイーンを互いに取り合えないことの確認」関 数は作ってください。
Jetzt herunterladen