2015/07/04 東海道らぐ 2015年7月オフな集まり in 名古屋 さとう

Slides:



Advertisements
Similar presentations
N クイーン問題 N×N のチェス盤の上に、将棋の飛車と角 行の動きを同時にできる駒(クイーン) をお互いに動きを妨げないように N 個置 け。
Advertisements

3班 岩村雅大 橋爪彩 宮沢彩. 画像: / /?rt=nocnt ( PConline) Facebook ・ Twitter ・ LINE は便利で多くの人が 利用しているアプリケーションです。
J: Magical Switches JAG 模擬地区予選 2013 原案:保坂 解答:保坂・楠本 解説:保坂.
PHP AV(Audio Visual) 拡張 クライアントサイド PHP アプリケーションPHP
(実はアイコンは単なる飾りで、この縦書きの部分のどこをクリックしても次のページに移動します。)
スライドショーの開始方法 ツールバーの「スライドショー」のボタンをクリック。 キーボードの「F5」キーを押す。
3次元nクイーン問題の 解に関する研究 論理工学研究室 伊藤精一
EightQueensに嵌ってます 2015/07/18 姫路IT系勉強会 さとう.
PHP AV(Audio Visual) 拡張 PHP asアプリケーション
プログラミング言語としてのR 情報知能学科 白井 英俊.
稲葉 一浩 (k.inaba) Python と プログラミングコンテスト 稲葉 一浩 (k.inaba)
Lightweight Language Weekend ls-lRシェル
RaspberryPiをカメラに(仮) 姫路IT系勉強会 さとう 2015/12/19(一部改訂)
ImpressのプレゼンをPPで表示 学校や会社にパワーポイントはあるが自宅には ない人のために・・・・・。
遺伝アルゴリズムによる NQueen解法 ~遺伝補修飾を用いた解探索の性能評価~
ソースコード品質概論 なぜソースの品質を追求するのか
担当: 遠藤 美純 情報教育 初級講座 担当: 遠藤 美純
Bottle/Pythonによる Webアプリ入門
クロスワードゲームの 作り方を学ぼう/やってみよう ‐ボードゲームの動作機構‐
PHP Framework Update symfony 編 株式会社ディノ 月宮紀柳.
第6章 2重ループ&配列 2重ループと配列をやります.
Boost.勉強会 #8 大阪 ( ) C++ Tips 3 カンマ演算子編.
F5 を押すか、または [スライド ショー] > [最初から] をクリックして、コースを開始してください。
あなたのお店をもっと 「ブランディング」して、 あなた自身の時間を作るために 業務を「自動化」しよう!
の まとめ 2007/04/02 (Mon) / d;id:hzkr
アルゴリズムとデータ構造 補足資料10-2 「nクイーン」
2017/4/9 情報処理 第5回.
モデリングシミュレーション入門(井庭崇)
経営工学基礎演習a PowerPointの利用.
「PPT アニメーション機能」でご覧下さい。
Open Street Map in 飯能・日高
C言語講座 第3回 ポインタ、配列.
シャノンのスイッチングゲームにおけるペアリング戦略について
50年前のプログラミング言語 50年後のプログラミング言語
梅澤威志 隣の芝は茶色いか 梅澤威志
はぐれたメルでプログラムを 担当した一人の仁藤が 授業開始前の2時間くらいで作成
第10章 これはかなり大変な事項!! ~ポインタ~
2011/06/21-24 情報知能学科「アルゴリズムとデータ構造」 担当:白井英俊
indentについて forやifの「中身」を右に寄せる. forやifの「外枠」は右に寄せない. int x; x = 3;
0.2 プロジェクトの準備 DXライブラリを使うための準備.
Processing使用の準備.
6年生理科  電気.
Cプログラミング演習 第10回 二分探索木.
プログラミング 4 整列アルゴリズム.
or-4. モンテカルロシミュレーション (オペレーションズリサーチを Excel で実習するシリーズ)
3次元Nクイーン問題の 解の存在の検証 07-1-037-0106 前波 大貴 情報論理工学研究室 宜しくお願いします。
TDD ってどんな感じ? FizzBuzz を作ってみる 2010/01/22 biac 1.
アルゴリズムとデータ構造1 2006年7月11日
第1章 いよいよプログラミング!! ~文章の表示 printf~
データ構造とアルゴリズム (第5回) 静岡大学工学部 安藤和敏
復習 Cにおけるループからの脱出と制御 break ループを強制終了する.if文と組み合わせて利用するのが一般的. continue
本当は消去できていない!? ~データを完全消去する方法~
本当は消去できていない!? ~データを完全消去する方法~
情報処理Ⅱ 2005年1月25日(火) レポート課題2の解説.
IchigoJam(イチゴジャム)入門 上田市マルチメディア情報センター.
pf-5. 関数呼び出し,スコープ (Python プログラミング基礎を演習で学ぶシリーズ)
第0章 MMC PCセクションへようこそ! ~VC++導入~
or-4. モンテカルロシミュレーション (オペレーションズリサーチを Excel で実習するシリーズ)
第5章 まだまだ続く反復処理!! ~繰り返しその2 for~
紙芝居「いっしょがいいね」はじまり はじまり
さまざまなプログラミング言語, オンライン開発環境
or-4. モンテカルロシミュレーション (オペレーションズリサーチを Excel で実習するシリーズ)
  情報に関する技術       情報モラル授業   .
pf-2. 条件分岐 (Python プログラミング基礎を演習で学ぶシリーズ)
Javaを用いたシューティングゲーム作成
3.1 シューティングゲームの当たり判定 当たったら死亡.
mi-5. プロダクションシステム 人工知能を演習で学ぶシリーズ(5)
FPS(続き).
ソーシャルメディアの画像テンプレート このテンプレートを使用して、既存の画像のサイズを変更するか、 ソーシャル メディアで使用する新しい画像を作成します。 Twitter Facebook Instagram LinkedIn 既存の画像のサイズを変更するには 新しい画像を作成するには 次のページで、画像サイズを選択し、画像のプレースホルダーの中央にある写真アイコン.
写真をより立体的に見る方法 千葉大学文学部 柳 淳二 【注意!】 あまり見過ぎると気持ち悪くなるかもしれません。ほどほどに。
Presentation transcript:

2015/07/04 東海道らぐ 2015年7月オフな集まり in 名古屋 さとう EightQueensしてみました 2015/07/04 東海道らぐ 2015年7月オフな集まり in 名古屋 さとう

まず、「えいとくいーん」について 古くからあるボードゲームのクイズで す。 チェスの「クイーン」8つがチェス盤 に。 クイーン同士が、互いに効いてないよう に並べます。 初心者向けのプログラム 課題によく使われる問題 のようです。 蛇足: クイーン(♛)は 縦横斜めに、 目一杯動けます。

おもいきってやってみました 後先見ずのやっつけですが... https://github.com/sato-makoto/8queens

で、実行結果はというと はい、あまり面白くないです。 縦横の位置を表示するだけです。 $ python eightqueen.py [[4, 0], [1, 1], [7, 2], [0, 3], [3, 4], [6, 5], [2, 6], [5, 7]]

やっつけな方法でやりました(0) はじめに、64個のマス目ぜんぶをリストアップ def makemyset(myset): for f1 in range(8): for f2 in range(8): pair = '{}-{}'.format(f1, f2) myset.add(pair) return myset

やっつけな方法でやりました(0)' 64個くらいなら、たぶん、そう大きくないです ね... set(['2-2', '5-4', '2-3', '7-7', '2-0', '7-6', '2-1', '7-5', '6-7', '2-6', '7-4', '2-7', '5-3', '2-4', '2-5', '5-2', '6-1', '0-4', '0-5', '0-6', '0-7', '0-0', '0-1', '0-2', '0-3', '1-1', '1-0', '1-3', '1-2', '1-5', '1-4', '1-7', '1-6', '5-6', '5-5', '6-6', '5-1', '6-4', '6-5', '6-2', '6-3', '6-0', '5-0', '4-0', '4-1', '4-2', '4-3', '4-4', '4-5', '4-6', '4-7', '3-7', '3-6', '3-5', '3-4', '3-3', '3-2', '3-1', '3-0', '7-3', '5-7', '7-2', '7-0', '7-1'])

やっつけな方法でやりました(2) 次に、左端のマス目から、どれかを選びました def randselect(n): random.seed() return random.randrange(0,n)

やっつけな方法でやりました(3) そして、それより右にある、効いているマス目を ぜんぶ消しました。 def delpair(x, y, setz): pair = '{}-{}'.format(x, y) if pair in setz: setz.remove(pair)

やっつけな方法でやりました(4) それから、隣の行の、まだ消えてないマス目のど れかを選択です。

やっつけな方法でやりました(4)' 以下、ほとんどおなじ。 いや、もし行き詰まったら?

やっつけな方法でやりました(4)'' もし行き詰まったら? はい、最初からやり直しです。 else: x, y, pairs, myset = eq.allclean() 時間がなかった(かつめんどくさい)ので、いずれ は通ることを信じて、何度でもやり直しさせてい ます

もう少しおもしろくできないかと なんとなく買っておいた8x8のLED http://www.adafruit.com/products/870

8x8 matrix ってこんなの I2Cで制御します ArduinoおよびRaspberryPIで動きます ライブラリが公開されています(サンプルソース も) https://github.com/adafruit/Adafruit-LED-Backpack- Library https://github.com/adafruit/Adafruit_Python_LED_Ba ckpack ので、プロトコルのことを何も知らなくても、ふ つーに動きました

EightQueensが動いてるところ こんな感じです(じつはここに来る電車の中...)

実はまだ... LEDを、ちゃんと制御できないでいます。 計算をスクリプトにつなげることができず、結果 をコピペしています(汗 queen0 = [[4, 0], [1, 1], [3, 2], [5, 3], [7, 4], [2, 5], [0, 6], [6, 7]] queen1 = [[5, 0], [3, 1], [6, 2], [0, 3], [2, 4], [4, 5], [1, 6], [7, 7]] . 次回はもっとちゃんと作る、、、かもしれません

何かツッコミはございませんか クリックしてテキストの挿入

それでは、まいど ご静聴だかご清澄だか、 ありがとうございます。 終