Javaでチューリングマシンシミュレータプログラムの大規模なテストケースを考え出そうとしています。
プログラムは入力ファイルからデータを読み取り、テストケース文字列とチューリングマシンルールのリストに基づいてシミュレーションを実行します。以下のルールを実行した後、プログラムは、文字列が受け入れられたか、拒否されたか、または指定されたステップ数で停止しないかどうかを出力します。
プログラムは基本的に、入力文字列を指定して、紙の上でチューリングステートマシンを手動で歩くシミュレーションです。
このプログラムのテストは難しいことがわかりました。このプログラムは、すべての基本的なチューリングマシン、および比較的小さなテストケースに最適です。非常に大きなテスト文字列(〜30文字)、5000ステップ、およびいくつかの多数またはルールと状態を指定して、このプログラムをテストしたいと思います。
誰かが私がこれのための良いテストケースを考え出すのを手伝ってくれるかどうか疑問に思いましたか?
サンプルテストケース
7 15 //number of states and number of rules
0 0 3 B R //[current state, transition character, destination state, value to write, direction to move]
0 B 2 B R
0 x 2 x R
3 x 3 x R
3 B 1 B R
3 0 6 x R
6 x 6 x R
6 0 4 0 R
6 B 5 B L
4 x 4 x R
4 B 2 B R
4 0 6 x R
5 0 5 0 L
5 x 5 x L
5 B 3 B R
3 15 //number of testcases and number of steps to come to a halt
00
000
000000
よろしくお願いします