概要
コラッツの問題(コラッツ予想)とは
「コラッツの問題」は、数論の未解決問題のひとつです。
任意の正の整数 n
に対して、以下で定められる操作を繰り返し行う場合に「どんな初期値から始めても、有限回の操作のうちに必ず 1 に到達する」という主張が、コラッツの予想です。
実際にブラウザ画面で視覚的に表現してみたいと思いアプリを作成しました。
コラッツの問題の操作ルール
-
n
が偶数の場合、n
を2で割る -
n
が奇数の場合、n
に3をかけて1を足す
例)初期値が6だった場合
6 → 3 → 10 → 5 → 16 → 8 → 4 → 2 → 1
Vis Networkとは
「Vis Network」とは、vis.jsという可視化ライブラリに含まれるグラフ可視化ライブラリです。
見た目が面白くなりそうなので採用させていただきました。
作成した物
今回は作成したアプリの使い方的な紹介となります。
コードの中身については、今回は割愛します。興味のある方は、GitHubをご覧ください。
- GitHub:https://github.com/ishi720/collatz_visualization
- WEBページ:https://suisui.fun/collatz_visualization/
■ 1つずつ計算する機能
数値をダブルクリックすると、前後の数値を計算して表示します。
■ 一括で計算する機能
指定した整数から1になるまで一括で計算できます。
■ グループで色分けする機能
Mod(ある数で割った余り)などのグループで色分けできます。
まとめ
今回は機能面を重視した説明内容となりました。
コード内容やクリックや操作が楽しくなるようにUI/UXを工夫した点や、
数学的な観点で「コラッツの問題」を分析した気づきなど、
必要があればそちらの記事も書きたいと思います。
また、見ていただいた通り不完全部分が多いため今後も更新予定です。
機能について、アイディアやご意見があればぜひお願いします。
Forkして直接開発していただいても問題ありません。
ここまで読んで頂きありがとうございました。
GitHubのリポジトリ → https://github.com/ishi720/collatz_visualization