トップページ > 数学 > 2018年06月13日 > 6aITicNF

書き込み順位&時間帯一覧

9 位/112 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000000426



使用した名前一覧書き込んだスレッド一覧
132人目の素数さん
コラッツ予想がとけたらいいな その2

書き込みレス一覧

コラッツ予想がとけたらいいな その2
247 :132人目の素数さん[sage]:2018/06/13(水) 22:05:18.39 ID:6aITicNF
JavaScript で実装してみた
たぶん新しめのブラウザでないと動かない
最上位の1は暗黙の存在とし、内部的には全部'_'になって止まる

第1引数は下位を先頭とする2進数の文字列
(※最上位の1は入力からは除外する)
第2引数は途中で止めたい時用に処理する最大桁数
出力は途中経過の配列(最上位の1は補完)

function collatz(a,m){
const STT=[
['___','___','___'], // 停止
['10L','11L','6_R'], // 最下位まで戻る
['___','___','10L'], // 繰り上がり処理
['30R','41R','11L'], // ×3+0
['31R','50R','20R'], // ×3+1
['40R','51R','21R'], // ×3+2
['6_R','5_R','0_R'], // 割る2
];
let s=6, i=0, r=[a+1];
a=[...a];
while(s>0&&i<m){
let c='01'[a[i]]||'2';
let n=STT[s][c];
s=n[0]; // 状態
a[i]=n[1]; // 文字
i+=(n[2]=='R')?1:-1; // 移動
if(s==6)r.push(a.join('')+1);
}
return r;
}
コラッツ予想がとけたらいいな その2
249 :132人目の素数さん[sage]:2018/06/13(水) 22:12:54.50 ID:6aITicNF
なお出力の途中経過は×3+1,÷2のいずれかが完了したところだけ出してる
コラッツ予想がとけたらいいな その2
250 :132人目の素数さん[sage]:2018/06/13(水) 22:13:28.53 ID:6aITicNF
あ、プッシュダウンではないね
ただのオートマトン
コラッツ予想がとけたらいいな その2
252 :132人目の素数さん[sage]:2018/06/13(水) 22:25:22.86 ID:6aITicNF
弱い強いはよくわからんが
「ある整数からコラッツ問題の通りに計算を続けて1に到達する」と
「ある整数に対応する初期状態から開始すると止まる」が同値になるオートマトンは作れるかな?
というわけで作ってみたのだが
コラッツ予想がとけたらいいな その2
254 :132人目の素数さん[sage]:2018/06/13(水) 23:23:40.12 ID:6aITicNF
オートマトンは進む一方か……
チューリングマシンだったねこれ
コラッツ予想がとけたらいいな その2
255 :132人目の素数さん[sage]:2018/06/13(水) 23:34:57.10 ID:6aITicNF
とりあえずwikipediaで定義を見直してきましたが、チューリングマシンと呼ぶべきですね
チューリングマシンをオートマトンの一種とするならオートマトンといえなくもないかもですが……
有限オートマトンではありません
なんかごっちゃになってましたねー


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。