SlideShare a Scribd company logo
1 of 18
表計算アプリケーションを利用した
Turing 機械シミュレータの試作
北海道情報大学 情報メディア学部
情報メディア学科 准教授
新井山 亮
2015/11/07
電気・情報関係学会北海道支部連合大会
はじめに~これまでの報告~
(電気・情報関係学会北海道支部連合大会)
• Java Turing 機械シミュレータを利用する初等プログ
ラミング教育の提案,2006年,室工大
• Java Turing 機械シミュレータを利用する初等プログ
ラミング教育の提案(その2) ,2008年,東海大札幌
• Java Turing 機械シミュレータによる「ハノイの塔」問
題の求解,2009年,北見工大
• Java Turing 機械シミュレータによるHamming(7,4) 符
号の誤り訂正,2011年,はこだて未来大
• Java Turing 機械シミュレータによる「3目並べ」ゲー
ム,2011年,はこだて未来大
2
Java Turing 機械シミュレータを利用する
初等プログラミング教育の提案
• Turing機械シミュレータ
– xTuringMachineの導入
– 単進数の加減算
– 2進数のIncrement
– 2進数のDecrement
– 機械の合成,2進数の加
減算
– 並べ替え(Sorting)
– 石取りゲーム
3
Java Turing 機械シミュレータによる
「ハノイの塔」問題の求解
4
• 制約(xTuringMachine)
– 状態数:25+1(halt)
記号数:5+1(blank)
• 非再帰的手法の導入
– “Buneman-Levy” 法
– 各円盤が位置して
いる柱X, Y, Zを表現
– 円盤とcell・・・1対1
Java Turing 機械シミュレータによる
Hamming(7,4) 符号の誤り訂正
5
• 受信符号の設定
– “0000011”
• 受信符号の記号置換
– “0000011”⇒ “xxxxxyy”
• Hamming(7,4)符号
– テープ上,空白分かち書き受
信符号より右側に列挙
• 符号の記号を再置換
– “x” ⇒ “0” / “y” ⇒ “1”
• 1[bit]誤り訂正を明示
– 受信 “0” → 訂正 “1” ⇒ “$”
– 受信 “1” → 訂正 “0” ⇒ “z”
• 受信符号は“0001011”
Java Turing 機械シミュレータによる
「3目並べ」ゲーム
6
• 3×3の盤面を9文字列で表
現(x:先手, y:後手, z:空白)
• 現在の盤面と,各盤面での
最善手(先手=機械側)
– 空白分かち書きでテープ上
に書き込み(最善手=48)
– 現在盤面と最善手とのパ
ターン・マッチングを実行
– 状態遷移をxTuringMachine
に設定
“xTuringMachine”の制約
状態数:25+1(halt) / 記号数:5+1(blank)
実行/停止
逐次的実行
テープ削除
ルール削除
ルール読込
ルール保存
ルール追加
読み書き
ヘッド と
状態表示窓
テープ
現
在
の
状
態
新
し
い
状
態
読
込
み
文
字
書
込
み
文
字
ヘ
ッ
ド
移
動
ルール編集
実行時速度
ファイル名
状態:0, 1, 2, …, 24, h(halt=停止)
文字:0, 1, x, y, z, #(blank=空白), *(other|same)
移動:L(左), R(右)
7
xlTuring.xlsm
Turing機械シミュレータを試作
• xTuringMachine
– 使用できる状態数や
文字種に制限
• xlTuring.xlsm
– Microsoft Excel(TM)と
マクロ言語機能を利用
– xTuringMachine上で動作
する各種機械の
シミュレーションを確認
– 制限緩和(状態数/文字種)
– 機械設計の自由度が向上
9
動作の確認
並べ替え(Sorting)
• 内容
– Turing機械のテープに書き込
まれた「0」「1」の
ランダム列を,「0」→「1」の順
番に並び替え
10
動作の確認
石取りゲーム
• 遊び方
– 「先手」「後手」2者で対戦
– 順番に石を1個,2個,ないし
3個,場から取り除く
– 最後の1石を残されたら負け
• xTuringMachine
– 「石」をテープ上の「1」で表現
– ユーザが「1」を除去/機械を
動作・・・繰り返し
動作の確認
「ハノイの塔」問題の求解
11
全角文字
円 盤 全角文字
xlTuring.xlsm
Turing機械シミュレータを試作
• xTuringMachine
– Java 実行環境が必須
• xlTuring.xlsm
– Excel(TM) 動作環境
– 設計した機械の状態
⇒ ファイルに保存
• テープ,状態,遷移規則
• 拡張子: xlsm
– 可搬性
• 添付してメール送信
→受信先で実行
xlTuring.xlsm
Turing機械シミュレータを試作
• 意匠
– xTuringMachine 参考に
• セルの最大値
– 1048575行×16384桁
– ヘッドは8192桁目周辺に
• 機能
– "Tape"タブが開くごとに
ヘッドが見えるように
– "Rules"タブが開くごとに
("Make Rule"押下時)
遷移規則を並べ替え
– "Step"押下で逐次実行
"Run"押下で通し実行
8192
16384
1048575
Tape Rules
Tape Rules
Step
Run
Make Rule
xlTuring.xlsm
「再帰呼び出し」(状態遷移規則との照合)
Function ruleFunction(ByVal
currentInState, ByVal currentReadTape,
ByVal currentRuleRow)
…
If (inState = currentInState And
(readTape = currentReadTape Or
readTape = "*")) Then
ruleFunction = currentRuleRow
Else
ruleFunction =
ruleFunction(currentInState,
currentReadTape, currentRuleRow + 1)
End If
End Function
xlTuring.xlsm
「連想配列」("Slowest", "Slow", "Moderate", "Fast", "Fastest")
Private Sub setIntervals()
Set msInterval =
CreateObject("Scripting.Dictionary")
msInterval.Add "Slowest", 1024
msInterval.Add "Slow", 512
msInterval.Add "Moderate", 256
msInterval.Add "Fast", 128
msInterval.Add "Fastest", 0
End Sub
xlTuring.xlsm
「割り込み処理」("Run"押下で実行/停止)
Private Sub runMachine()
If isRunning = False Then
isRunning = True Else
isRunning = False
End If
If msInterval Is Nothing Then Call
setIntervals
Do Until isRunning = False
Call stepMachine
Sleep (ActiveWorkbook.Worksheets
("Rules").Cells(1, 7).Value)
DoEvents
Loop
End Sub
xlTuring.xlsm
Turing機械シミュレータを試作
• マクロ言語のソース
– 「再帰呼び出し」
– 「連想配列」
– 「割り込み処理」
etc.
• 情報処理教育のため
実践的教材に好適?
– 計算理論から高級言語
プログラミングに至るま
で幅広く
まとめ
• "xlTuring.xlsm"
– 表計算アプリケーションとそのマクロ言語機能を
利用したTuring機械シミュレータを試作
• 動作確認
– "xTuringMachine" ⇒ "xlTuring.xlsm" (逆は×)
– 機械設計の自由度と可搬性
• Finite state numbers [0,1,…,1048574 and h(=halt)]
• 1048575 rules / 16384 cells / multi-byte char. (symbols)
• Tape, State, Rules ⇒ Save to ".xlsm" file

More Related Content

Viewers also liked

単機能Twitter クライアント試作のための各種方法の検討
単機能Twitter クライアント試作のための各種方法の検討単機能Twitter クライアント試作のための各種方法の検討
単機能Twitter クライアント試作のための各種方法の検討Akira Niiyama
 
URL短縮サービスを利用した文字列情報圧縮の新たな試み
URL短縮サービスを利用した文字列情報圧縮の新たな試みURL短縮サービスを利用した文字列情報圧縮の新たな試み
URL短縮サービスを利用した文字列情報圧縮の新たな試みAkira Niiyama
 
A combination of fog and chemicals that come from automobile and factory emis...
A combination of fog and chemicals that come from automobile and factory emis...A combination of fog and chemicals that come from automobile and factory emis...
A combination of fog and chemicals that come from automobile and factory emis...jaipal18
 
Social media and inappropriate behaviour
Social media and inappropriate behaviourSocial media and inappropriate behaviour
Social media and inappropriate behaviourcpsocialmedia
 
Makalah mpk agama islam peran keluarga dlm lgbt
Makalah mpk agama islam peran keluarga dlm lgbtMakalah mpk agama islam peran keluarga dlm lgbt
Makalah mpk agama islam peran keluarga dlm lgbtKhairunnisa Nazhifah
 
Pengaruh islam dalam kebudayaan masa kini (iptek dan media sosial)
Pengaruh islam dalam kebudayaan masa kini (iptek dan media sosial)Pengaruh islam dalam kebudayaan masa kini (iptek dan media sosial)
Pengaruh islam dalam kebudayaan masa kini (iptek dan media sosial)Khairunnisa Nazhifah
 
Cathodic Protection Technique to Control Galvanic Corrosion
Cathodic Protection Technique to Control Galvanic CorrosionCathodic Protection Technique to Control Galvanic Corrosion
Cathodic Protection Technique to Control Galvanic CorrosionMahmoud Elkaffas
 
Presentation on salon industry
Presentation on salon industryPresentation on salon industry
Presentation on salon industryRavindra Walkunde
 

Viewers also liked (17)

Hidrokarbon man 7
Hidrokarbon man 7Hidrokarbon man 7
Hidrokarbon man 7
 
単機能Twitter クライアント試作のための各種方法の検討
単機能Twitter クライアント試作のための各種方法の検討単機能Twitter クライアント試作のための各種方法の検討
単機能Twitter クライアント試作のための各種方法の検討
 
Geo litosfer
Geo litosferGeo litosfer
Geo litosfer
 
20151108
2015110820151108
20151108
 
URL短縮サービスを利用した文字列情報圧縮の新たな試み
URL短縮サービスを利用した文字列情報圧縮の新たな試みURL短縮サービスを利用した文字列情報圧縮の新たな試み
URL短縮サービスを利用した文字列情報圧縮の新たな試み
 
Explanation text
Explanation textExplanation text
Explanation text
 
A combination of fog and chemicals that come from automobile and factory emis...
A combination of fog and chemicals that come from automobile and factory emis...A combination of fog and chemicals that come from automobile and factory emis...
A combination of fog and chemicals that come from automobile and factory emis...
 
syariah islam Ltm 2
syariah islam Ltm 2 syariah islam Ltm 2
syariah islam Ltm 2
 
Social media and inappropriate behaviour
Social media and inappropriate behaviourSocial media and inappropriate behaviour
Social media and inappropriate behaviour
 
Alat optik 1
Alat optik 1Alat optik 1
Alat optik 1
 
Manusia dan agama
Manusia dan agamaManusia dan agama
Manusia dan agama
 
Contoh penyimpangan sosial
Contoh penyimpangan sosialContoh penyimpangan sosial
Contoh penyimpangan sosial
 
Pengertian islam
Pengertian islamPengertian islam
Pengertian islam
 
Makalah mpk agama islam peran keluarga dlm lgbt
Makalah mpk agama islam peran keluarga dlm lgbtMakalah mpk agama islam peran keluarga dlm lgbt
Makalah mpk agama islam peran keluarga dlm lgbt
 
Pengaruh islam dalam kebudayaan masa kini (iptek dan media sosial)
Pengaruh islam dalam kebudayaan masa kini (iptek dan media sosial)Pengaruh islam dalam kebudayaan masa kini (iptek dan media sosial)
Pengaruh islam dalam kebudayaan masa kini (iptek dan media sosial)
 
Cathodic Protection Technique to Control Galvanic Corrosion
Cathodic Protection Technique to Control Galvanic CorrosionCathodic Protection Technique to Control Galvanic Corrosion
Cathodic Protection Technique to Control Galvanic Corrosion
 
Presentation on salon industry
Presentation on salon industryPresentation on salon industry
Presentation on salon industry
 

Similar to 20151107

電子回路の民主化とその実践
電子回路の民主化とその実践電子回路の民主化とその実践
電子回路の民主化とその実践Junichi Akita
 
自動チューニングとビックデータ:機械学習の適用の可能性
自動チューニングとビックデータ:機械学習の適用の可能性自動チューニングとビックデータ:機械学習の適用の可能性
自動チューニングとビックデータ:機械学習の適用の可能性Takahiro Katagiri
 
センサ端末構築を牽引するマイコン・LSI技術とその動向
センサ端末構築を牽引するマイコン・LSI技術とその動向センサ端末構築を牽引するマイコン・LSI技術とその動向
センサ端末構築を牽引するマイコン・LSI技術とその動向Junichi Akita
 
サイバー・フィールド研究分科会 活動経過
サイバー・フィールド研究分科会 活動経過サイバー・フィールド研究分科会 活動経過
サイバー・フィールド研究分科会 活動経過hsgk
 
ユーザ参加型センシングシステムの可能性
ユーザ参加型センシングシステムの可能性ユーザ参加型センシングシステムの可能性
ユーザ参加型センシングシステムの可能性Junichi Akita
 
Gifu University Before Study 2015
Gifu University Before Study 2015Gifu University Before Study 2015
Gifu University Before Study 2015Kiyoshi Ogawa
 
メイカームーブメント:その背景と現状
メイカームーブメント:その背景と現状メイカームーブメント:その背景と現状
メイカームーブメント:その背景と現状Junichi Akita
 
Tomorrow's software testing for embedded systems ~明日にでも訪れてしまう組込みシステムのテストの姿~
Tomorrow's software testing for embedded systems ~明日にでも訪れてしまう組込みシステムのテストの姿~Tomorrow's software testing for embedded systems ~明日にでも訪れてしまう組込みシステムのテストの姿~
Tomorrow's software testing for embedded systems ~明日にでも訪れてしまう組込みシステムのテストの姿~Yasuharu Nishi
 
先駆的研究テーマ mruby/c
先駆的研究テーマ mruby/c先駆的研究テーマ mruby/c
先駆的研究テーマ mruby/cshimane-itoc
 
心理学研究におけるQualtricsの活用
心理学研究におけるQualtricsの活用心理学研究におけるQualtricsの活用
心理学研究におけるQualtricsの活用igarashilab
 
20151103 アーバンデータチャレンジ ハッカソン in 奈良先端科学技術大学院大学
20151103 アーバンデータチャレンジ ハッカソン in 奈良先端科学技術大学院大学20151103 アーバンデータチャレンジ ハッカソン in 奈良先端科学技術大学院大学
20151103 アーバンデータチャレンジ ハッカソン in 奈良先端科学技術大学院大学Takuya Sato
 

Similar to 20151107 (14)

電子回路の民主化とその実践
電子回路の民主化とその実践電子回路の民主化とその実践
電子回路の民主化とその実践
 
自動チューニングとビックデータ:機械学習の適用の可能性
自動チューニングとビックデータ:機械学習の適用の可能性自動チューニングとビックデータ:機械学習の適用の可能性
自動チューニングとビックデータ:機械学習の適用の可能性
 
センサ端末構築を牽引するマイコン・LSI技術とその動向
センサ端末構築を牽引するマイコン・LSI技術とその動向センサ端末構築を牽引するマイコン・LSI技術とその動向
センサ端末構築を牽引するマイコン・LSI技術とその動向
 
サイバー・フィールド研究分科会 活動経過
サイバー・フィールド研究分科会 活動経過サイバー・フィールド研究分科会 活動経過
サイバー・フィールド研究分科会 活動経過
 
2015年度 コンピュータリテラシ (1)
2015年度 コンピュータリテラシ (1)2015年度 コンピュータリテラシ (1)
2015年度 コンピュータリテラシ (1)
 
ユーザ参加型センシングシステムの可能性
ユーザ参加型センシングシステムの可能性ユーザ参加型センシングシステムの可能性
ユーザ参加型センシングシステムの可能性
 
Gifu University Before Study 2015
Gifu University Before Study 2015Gifu University Before Study 2015
Gifu University Before Study 2015
 
メイカームーブメント:その背景と現状
メイカームーブメント:その背景と現状メイカームーブメント:その背景と現状
メイカームーブメント:その背景と現状
 
Tomorrow's software testing for embedded systems ~明日にでも訪れてしまう組込みシステムのテストの姿~
Tomorrow's software testing for embedded systems ~明日にでも訪れてしまう組込みシステムのテストの姿~Tomorrow's software testing for embedded systems ~明日にでも訪れてしまう組込みシステムのテストの姿~
Tomorrow's software testing for embedded systems ~明日にでも訪れてしまう組込みシステムのテストの姿~
 
先駆的研究テーマ mruby/c
先駆的研究テーマ mruby/c先駆的研究テーマ mruby/c
先駆的研究テーマ mruby/c
 
心理学研究におけるQualtricsの活用
心理学研究におけるQualtricsの活用心理学研究におけるQualtricsの活用
心理学研究におけるQualtricsの活用
 
20150414seminar
20150414seminar20150414seminar
20150414seminar
 
CMSI計算科学技術特論A(5) プログラム高速化の応用
CMSI計算科学技術特論A(5) プログラム高速化の応用CMSI計算科学技術特論A(5) プログラム高速化の応用
CMSI計算科学技術特論A(5) プログラム高速化の応用
 
20151103 アーバンデータチャレンジ ハッカソン in 奈良先端科学技術大学院大学
20151103 アーバンデータチャレンジ ハッカソン in 奈良先端科学技術大学院大学20151103 アーバンデータチャレンジ ハッカソン in 奈良先端科学技術大学院大学
20151103 アーバンデータチャレンジ ハッカソン in 奈良先端科学技術大学院大学
 

Recently uploaded

リアル戦国探究in米沢 事前講座1スライド(スタッフ共有用)『川中島の謎』についてのスライド
リアル戦国探究in米沢 事前講座1スライド(スタッフ共有用)『川中島の謎』についてのスライドリアル戦国探究in米沢 事前講座1スライド(スタッフ共有用)『川中島の謎』についてのスライド
リアル戦国探究in米沢 事前講座1スライド(スタッフ共有用)『川中島の謎』についてのスライドKen Fukui
 
リアル戦国探究in米沢 当日講座3スライド(スタッフ共有用)『糧は三度はさいせず』についてのスライド
リアル戦国探究in米沢 当日講座3スライド(スタッフ共有用)『糧は三度はさいせず』についてのスライドリアル戦国探究in米沢 当日講座3スライド(スタッフ共有用)『糧は三度はさいせず』についてのスライド
リアル戦国探究in米沢 当日講座3スライド(スタッフ共有用)『糧は三度はさいせず』についてのスライドKen Fukui
 
リアル戦国探究in米沢 事前講座2スライド(スタッフ共有用)『両雄の強さの秘密』についてのスライド
リアル戦国探究in米沢 事前講座2スライド(スタッフ共有用)『両雄の強さの秘密』についてのスライドリアル戦国探究in米沢 事前講座2スライド(スタッフ共有用)『両雄の強さの秘密』についてのスライド
リアル戦国探究in米沢 事前講座2スライド(スタッフ共有用)『両雄の強さの秘密』についてのスライドKen Fukui
 
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ssusere0a682
 
リアル戦国探究in米沢 当日講座2スライド(スタッフ共有用)『人を致すも人に致されず』についてのスライド
リアル戦国探究in米沢 当日講座2スライド(スタッフ共有用)『人を致すも人に致されず』についてのスライドリアル戦国探究in米沢 当日講座2スライド(スタッフ共有用)『人を致すも人に致されず』についてのスライド
リアル戦国探究in米沢 当日講座2スライド(スタッフ共有用)『人を致すも人に致されず』についてのスライドKen Fukui
 
リアル戦国探究in米沢 当日講座1(スタッフ共有用)『兵は詐をもって立つ』についてのスライド
リアル戦国探究in米沢 当日講座1(スタッフ共有用)『兵は詐をもって立つ』についてのスライドリアル戦国探究in米沢 当日講座1(スタッフ共有用)『兵は詐をもって立つ』についてのスライド
リアル戦国探究in米沢 当日講座1(スタッフ共有用)『兵は詐をもって立つ』についてのスライドKen Fukui
 
【ゲーム理論入門】ChatGPTが作成した ゲーム理論の問題を解く #3 Slide
【ゲーム理論入門】ChatGPTが作成した ゲーム理論の問題を解く #3 Slide【ゲーム理論入門】ChatGPTが作成した ゲーム理論の問題を解く #3 Slide
【ゲーム理論入門】ChatGPTが作成した ゲーム理論の問題を解く #3 Slidessusere0a682
 
TEAMIN Service overview for customer_20240422.pdf
TEAMIN Service overview for customer_20240422.pdfTEAMIN Service overview for customer_20240422.pdf
TEAMIN Service overview for customer_20240422.pdfyukisuga3
 

Recently uploaded (8)

リアル戦国探究in米沢 事前講座1スライド(スタッフ共有用)『川中島の謎』についてのスライド
リアル戦国探究in米沢 事前講座1スライド(スタッフ共有用)『川中島の謎』についてのスライドリアル戦国探究in米沢 事前講座1スライド(スタッフ共有用)『川中島の謎』についてのスライド
リアル戦国探究in米沢 事前講座1スライド(スタッフ共有用)『川中島の謎』についてのスライド
 
リアル戦国探究in米沢 当日講座3スライド(スタッフ共有用)『糧は三度はさいせず』についてのスライド
リアル戦国探究in米沢 当日講座3スライド(スタッフ共有用)『糧は三度はさいせず』についてのスライドリアル戦国探究in米沢 当日講座3スライド(スタッフ共有用)『糧は三度はさいせず』についてのスライド
リアル戦国探究in米沢 当日講座3スライド(スタッフ共有用)『糧は三度はさいせず』についてのスライド
 
リアル戦国探究in米沢 事前講座2スライド(スタッフ共有用)『両雄の強さの秘密』についてのスライド
リアル戦国探究in米沢 事前講座2スライド(スタッフ共有用)『両雄の強さの秘密』についてのスライドリアル戦国探究in米沢 事前講座2スライド(スタッフ共有用)『両雄の強さの秘密』についてのスライド
リアル戦国探究in米沢 事前講座2スライド(スタッフ共有用)『両雄の強さの秘密』についてのスライド
 
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
 
リアル戦国探究in米沢 当日講座2スライド(スタッフ共有用)『人を致すも人に致されず』についてのスライド
リアル戦国探究in米沢 当日講座2スライド(スタッフ共有用)『人を致すも人に致されず』についてのスライドリアル戦国探究in米沢 当日講座2スライド(スタッフ共有用)『人を致すも人に致されず』についてのスライド
リアル戦国探究in米沢 当日講座2スライド(スタッフ共有用)『人を致すも人に致されず』についてのスライド
 
リアル戦国探究in米沢 当日講座1(スタッフ共有用)『兵は詐をもって立つ』についてのスライド
リアル戦国探究in米沢 当日講座1(スタッフ共有用)『兵は詐をもって立つ』についてのスライドリアル戦国探究in米沢 当日講座1(スタッフ共有用)『兵は詐をもって立つ』についてのスライド
リアル戦国探究in米沢 当日講座1(スタッフ共有用)『兵は詐をもって立つ』についてのスライド
 
【ゲーム理論入門】ChatGPTが作成した ゲーム理論の問題を解く #3 Slide
【ゲーム理論入門】ChatGPTが作成した ゲーム理論の問題を解く #3 Slide【ゲーム理論入門】ChatGPTが作成した ゲーム理論の問題を解く #3 Slide
【ゲーム理論入門】ChatGPTが作成した ゲーム理論の問題を解く #3 Slide
 
TEAMIN Service overview for customer_20240422.pdf
TEAMIN Service overview for customer_20240422.pdfTEAMIN Service overview for customer_20240422.pdf
TEAMIN Service overview for customer_20240422.pdf
 

20151107