- 個人部門 入選作品
- 入賞『円周率計算分散処理アプリケーション』
- 入賞『避難』
- 入賞『VESTIGE 紅い記憶』
入賞『円周率計算分散処理アプリケーション』
作品紹介 | |
---|---|
表彰理由 | モンテカルロ法による円周率計算を、複数のサーバで分散処理するアプリケーション。 分散処理と円周率の計算方法の理解を目的に開発しており、モンテカルロ法の処理を図解する機能も備えている。Java(オブジェクト指向のプログラミング言語)を利用して、分散処理アプリケーションを実装した点は評価でき、ユーザーインタフェースも分かりやすく工夫されている。ただし、素材としてモンテカルロ法による円周率計算を選んだ点が惜しまれる。今後、分散処理を適用する対象と方法の妥当性について科学的アプローチを取り、新たな作品に取組んでもらいたい。 |
作品名 | 円周率計算分散処理アプリケーション |
制作者 | 学校法人岩崎学園 情報科学専門学校 ネットワークシステム科3年 飯島 諒亮 |
作品ジャンル | インターネット・通信 |
作品概要 | モンテカルロ法という計算方法を用いて、円周率を求める計算処理を複数のサーバに分散して処理することができるアプリケーションです。 クライアント・サーバ間の通信部分にはJavaのRMIという機能を利用しています。 RMIを利用すると、別のコンピュータにあるプログラムをあたかも自分自身が所有しているかのように呼び出すことができるので比較的容易に通信を行うアプリケーションを開発することができます。 |
開発言語、ツール | 開発言語はJavaを使用し、開発環境はEclipseを使用しました。 |
プログラムソースの規模 | クライアント・サーバ合わせて約2,000ステップ |
構想から 完成までの期間 |
今年の5月から開発にとりかかり、およそ3ヶ月で完成しました。 |
制作者からのコメント | |
---|---|
こだわりポイント ・独自のアイデア |
円周率計算を複数のサーバに分散して処理する機能だけではなく、内部でどのような処理が行われているのか理解しやすい機能を実装しています。 この機能を利用すると、アプリケーション全体の流れと、サーバプログラム内でどのように円周率を求めているかを視覚的に表示することができます。 |
苦心した点 | 私は、とあることから分散処理技術に興味をもち、このアプリケーションの開発を通じて分散処理技術に理解を深めたいと考えました。しかし、「分散処理技術を利用したアプリケーションを作ろう。」と決めたまでは良かったのですが、分散処理を用いて何を行えばいいのかという点で非常に迷いました。 当初は、リバーシや囲碁などのゲームを考えたのですが、ゲームでは分散処理の有用性を確認するのは難しいのでは、と感じ、コンピュータのベンチマークなどでも使われる円周率の計算を扱うものにしようと決めました。ところが、私は数学があまり得意ではなかったため円周率の計算アルゴリズムを組み込む部分で非常に苦労しました。 |
応募したきっかけ | 当初、このアプリケーションは学校の卒業研究として開発しており、アプリケーション開発の途中経過を担当の先生に見せたところ是非U-20プログラミング・コンテストに応募してみないかと言われ、応募を決めました。 |
プログラム開発歴 | 2年(専門学校に入学後) |
指導者の有無 | 学校の先生方 |
どうやって 勉強したか |
授業で学習した内容に加えて、足りない部分は書籍やインターネットで学習しました。 |
受賞した感想 | 当初、私が応募したプログラムには特に目新しい点や面白みがあるわけではないのに入選してしまって戸惑いました。
しかし、最終審査会で審査員の方々から貴重な意見を聞くことができ、また他の入選者の方々の作品を見て、もっと良いものを作りたいという思いが強くなりました。 来年以降のコンテストには応募できませんが、これからもプログラミング技術の向上に励みたいです。 |
インタビュー(最終審査会・表彰式) | 緊張のあまり最終審査会では、声が小さくなり、審査員の先生方にうまく説明できなかったのが心残りでしたが、その後の先生方からの質問もありプレゼンテーションは自己採点で80点ぐらいの成績だったと思います。元々、数学はあまり好きな教科ではなかったのに円周率を求めるプログラムを開発したことに対し皆さんビックリされていましたが、苦労しただけ完成したときは大感激でした。 |