3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Vis Networkを使って「コラッツの問題」を視覚化してみた

Last updated at Posted at 2023-06-10

概要

コラッツの問題(コラッツ予想)とは

「コラッツの問題」は、数論の未解決問題のひとつです。
任意の正の整数 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をご覧ください。

■ 1つずつ計算する機能

数値をダブルクリックすると、前後の数値を計算して表示します。

Animation.gif

■ 一括で計算する機能

指定した整数から1になるまで一括で計算できます。

Animation2.gif

■ グループで色分けする機能

Mod(ある数で割った余り)などのグループで色分けできます。

Animation3.gif

まとめ

今回は機能面を重視した説明内容となりました。

コード内容やクリックや操作が楽しくなるようにUI/UXを工夫した点や、
数学的な観点で「コラッツの問題」を分析した気づきなど、
必要があればそちらの記事も書きたいと思います。

また、見ていただいた通り不完全部分が多いため今後も更新予定です。
機能について、アイディアやご意見があればぜひお願いします。
Forkして直接開発していただいても問題ありません。

ここまで読んで頂きありがとうございました。

GitHubのリポジトリhttps://github.com/ishi720/collatz_visualization

3
3
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?