木構造可視化
木構造に整理されたデータを可視化出来るとデータの概要を的確に理解することが出来ることがある。 これは例えば株価の可視化などで使われており、四角形の大きさで時価総額を表し、色で変化を表したりする。 おれの学部の時の研究テーマはこれだった。
一般的に使われるツリーマップという手法は、小さな値を持ったリーフのアスペクト比が悪くなることがあり、 クリック出来なくなったりしてインタラクティブ性が落ちるという問題があったりする。 ツリーマップでもこの問題はアルゴリズムの問題として改善はされているが、完全ではない。
このアスペクト比の問題を解決するために、 逆転の発想で、リーフのアスペクト比を1に保ってしまった上でボトムアップ的にツリーを可視化しようという試みもなされたりする。 この方向性について、おれは学部では「平安京ビュー」というアルゴリズムの高速化を研究した。 当時Javaで書いた実装のPython再実装版についてはこちら→https://github.com/akiradeveloper/HeiankyoView
一方で、ツリーマップではあるけど四角形という制約を捨てることでアスペクト比の改善を図る方向性もあり、 重みつきボロノイ分割をツリーマップの分割に活かそうというアイデアが2005年に発表され、 Voronoi Treemapと呼ばれる。
Voronoi分割の実装
M1の時のおれは次に何をするか迷っていて、とりあえずVoronoi Treemapを実装してみるかと取り組んだ時期が一瞬あったのだが、 当時は実装技術も拙かったことがあり、英語も今ほどは出来なかったこともあり(当然、自動翻訳なども存在しなかった)、断念した経験がある。
その時のことをふと思い出し、じゃあ今チャッピーにやらせてみたらどうなるだろうかと思ってやらせてみた。 我流なのでこれが正しいやり方なのかは不明だが、こんな感じでAGENTS.mdをさくっと書き、「開発を開始せよ」と命令した。
| |
15分だった。たった15分で、動くものが出来た。

その後、性能がどう見てもO(n^2)だったため、O(nlogn)にせよと命令してそこからは多少時間がかかったが、 フリーレンを見ながらぽちぽちチャットしてたら結構速そうなものが出来た。

感想
AIを使った開発は結構楽しい。 以前とは、開発の楽しみが変わった感じだろうか。
今は、チャッピーという超優秀なAIが自分の部下になってくれて、 彼に好きなようにさせてあげることに喜びを感じている。
おれはもともと、良いものを作ることにこだわってきたタイプだが、 今は実装に関しては「何も」気にしなくなった。 チャッピーがそれで良いというのであれば良いと思うし、 こうした方がよりよくなるというのであればきっとそうだろうと思う。
AI時代にはおれのような「上司」が輝くのだろう。 チャッピーによって無能な人間が排除されることはおれにとって非常に都合の良いことだ。