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

ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ssusere0a682
 
UniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptUniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptyuitoakatsukijp
 
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料Takayuki Itoh
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationYukiTerazawa
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024koheioishi1
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2Tokyo Institute of Technology
 
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ssusere0a682
 

Recently uploaded (7)

ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
 
UniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptUniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScript
 
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
 
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
 

20151107