装置を動かすプログラミング大会「DDCC 2024」が開催 - ディスコの狙いとは

2024年3月28日(木)7時3分 マイナビニュース

●シミュレーションとの誤差への対応力を問う1台の装置
2024年3月24日、半導体製造装置メーカーであるディスコの東京本社にて、同社とディスカバリー・ジャパンが共同開催するプログラミングコンテスト「DISCO Presents ディスカバリーチャンネル コードコンテスト2024」(DDCC 2024)の本戦が行われた。
プログラミングを競う大会でありながら、作成したプログラムを装置へと実装し、その制御の正確性によって順位が決定される「装置実装問題」を最大の特徴とする同大会では、データだけでなく“実物の動き”を観ながら対応する能力が求められる。半導体製造装置を生業とするディスコが、なぜこうしたプログラミングコンテストを実施するのか。そこには、同社が求めるエンジニアへの想いが込められていた。
○29名が1台の装置を舞台にプログラミングで勝負
季節外れの寒空となった3月24日、東京都大田区のディスコ本社には、朝から続々と本戦出場者が到着していた。138名の申し込みがあった予選参加者の中から、新卒枠(25卒/26卒)から20名、一般枠(社会人&学生)から10名が予選を通過。1名の欠席者を除く29名が本選に参加した。
DDCC 2024で戦いの舞台となったのは、7つの穴と4つの障害物が並んだステージが設置された1台の装置。ステージ端からボールを射出し、狙った穴へとボールを入れることでスコアを獲得でき、その合計点によって勝負が決される。
同装置は、3点の高さの変化によるステージの傾き、ボールを送り出す射出地点の角度、そしてステージ上の障害物の角度が調整可能。これらのパラメータを操作してボールを狙った穴へと届けることが求められ、ステージの傾きや穴の難易度によって獲得できる得点が変わる。
なお今大会は、ソフトウェア内の装置でプログラムを動作させた際の得点を競う“シミュレータ問題”(60分)、実際の装置を動かすためのプログラムを書き上げる“実機問題”(30分)、提出したプログラムが実際の装置でどのような挙動となるか確認し、プログラムへと修正を反映させる2回の“トライアル”(各90分)で構成される。また、シミュレータ問題の成績が高い参加者から順にトライアルを行えるため、実機での挙動を反映させる時間が長く、比較的有利になる。
○午前はシミュレータ上での最適解を探る
大会は、シミュレータ問題から幕を開けた。参加者はまず、PC上で出題された課題に着手。60分をかけ、シミュレータ上でより多くの得点が獲得できるプログラムを黙々と構築していく。
ディスコの担当者によれば、DDCCの参加者は非常にレベルが高く、決勝大会の30人に残る実力ともなると、ディスコ社内のトップエンジニアに勝るとも劣らないプログラミング能力を備えているという。実際に多くのプログラミングコンテストで顔を合わせている面々も少なくないようで、60分のシミュレータ問題を解き終えた参加者たちの中には、休憩中に会話を交わしている姿も見られた。
続く実機問題では、シミュレータ上での挙動を参考にしながら、次に迎えるトライアルで実機を動かすためのプログラムを構築していく。シミュレータでは、実際の装置ならではのわずかなブレや抵抗(摩擦・空気抵抗)はおろか、ステージ上の障害物の大きさなども考慮されていないとのこと。それらのさまざまな変数を考慮した上で、実機でのハイスコアを目指す必要がある。こうした物理的な変化への対応力が問われるのが、DDCCの特徴である。
30分をかけ1回目のトライアルのためのプログラムを提出した参加者たち。終了後は会場中央に設置された問題の装置に興味を示す人も多く、穴の形状や障害物のサイズなどを観察しながら談笑する光景もあった。
○トライアルではシミュレーションと実機の誤差が明らかに
昼食休憩をはさんで、1回目のトライアルが開始した。シミュレータ問題の成績上位者、つまり“物理条件が影響しなければ”高い得点を獲得できる順番で、実際の装置にプログラムを反映した際の挙動を確認していく。
実機での挙動を見ていると、参加者たちが苦戦している様子がうかがえた。ボールの射出地点から近い穴にはボールが入るのだが、少し遠くなるだけでまるで狙い通りにいかなくなるのである。狙う距離が遠くなるほど、摩擦などの抵抗は大きくなりシミュレーションとの誤差は広がる。また、障害物に弾かれてステージ上に滞留したボールに射出された別のボールが当たってしまうなど、シミュレーションでは想定が難しい課題が表出していた。
だがトライアルの中には、1つの穴を狙う中でもステージの傾け方や射出の角度を複数試し、最適な形を探っているように見られる参加者もいた。その中からハイスコアにつながる選択肢を見つけ出し、限られた時間でプログラムへと反映できるのか。実機の挙動を見てソフトウェア側で修正するという、ディスコのような機械メーカーのソフトエンジニアに不可欠な能力が問われるのである。
また今大会の難しさは、トライアルが2回しか行えないこと。1度目のトライアルで見えた課題をプログラムへと反映し、2度目の試行でその結果を見ることはできるが、それ以降は実機の動きを見ながら試すことができない。2度の装置の挙動を見たうえで、論理的に導いた最適解に加え、ある程度の“勘”が求められることも、DDCCの特徴だ。
2回のトライアルを終えた参加者たちは、入力したプログラムと装置の挙動とを照らし合わせながら、最後の仕上げに入る。制限時間の終盤には手を休ませている人もいれば、時間いっぱいまでキーボードを叩く姿も。果たしてどういった結果になるのか、その行方はファイナルへと委ねられた。
●大会を通じてディスコが見出したい人材とは?
○試行錯誤の末のファイナルでは新たな発想に驚きも
ファイナルでは、29名のプログラムを実装した装置の動きを全員で見つめる。ボールをどうやって穴へと届けるのか、さらにはハイスコアを得るためにどういった戦略を立てるのか。装置の周りに集まった参加者同士も興味深々な様子だった。
ファイナルの実演が、トライアル2回目での得点が低かった参加者から順に行われることもあり、開始前にトライアル2回目のランキングが発表された。するとやはり、シミュレータ問題の成績からは大きく順位が変動しており、実機の動作ならではの対応力が表れていた。
しかしファイナルの結果から見れば、その順位すらも最終結果の参考にはならないほど、まったく予想のできない展開となった。トライアルを試行錯誤のための材料として用いていたのか、ファイナル序盤に登場した参加者が好成績を残すこともしばしば。逆にトライアルでは好成績を残していた参加者でも、障害物のサイズや抵抗の大きさを見定めきれずにスコアが伸び悩むことがあった。過去のDDCCで上位を獲得した参加者も数多く参加していたが、その経験をもってしても物理現象の予測は難しく、“大満足”といった表情を見せる参加者はほぼいなかった。
しかし、予測できないからこそ生まれる奇跡もある。ファイナルでは、障害物であるバーにボールを当てることでボールの軌道を調整し、狙いの穴へと送り届ける例がいくつも見られた。中にはバーに2度当てて穴を狙う参加者もいて、その実演を観た参加者からはどよめきが起こっていた。それらの多くは、トライアルの中で偶然ボールが穴に入ったためにファイナルでも利用したとのことだったが、ディスコの担当者も「ボールの動きを妨げる障害物としか思っていなかったバーを、軌道の調整のためにうまく利用するという発想すらなかった」と語っており、シミュレーションだけでは生まれ得ない新たな発想が見られていた。
○装置を動かすためのプログラミングが楽しめる人材を
今年で8回目の開催となったDDCCは、オンライン予選を通過した29名が名物の装置実装問題に挑戦し、ハイレベルな戦いを経て幕を下ろした。では、ディスコはなぜこういったプログラミングコンテストを主催しているのだろうか。
ディスコの担当者いわく、当然ながら“人材獲得”といった側面が大きいという。IT技術の発展に伴ってソフトウェア人材に対する需要は急増しており、提供価値を大きく左右するソフトウェア開発能力を向上させるため、人材獲得は喫緊の課題となっている。
そういった世の潮流もあり、若手のソフトウェア開発人材がIT企業へと流れている傾向にあるとのこと。しかし、ディスコの事業領域である半導体製造装置においても、ソフトウェアが果たす役割は非常に大きく、どんなにいい製品があっても、今やそのソフトウェア制御がうまく行かなければ、優れた性能を発揮することは難しい。つまり、ディスコも事業を成長させるためにはソフトウェア人材の確保が不可欠なのである。
では同社は、どういった人材を求めるのか。大会担当者によれば、その理由こそがDDCCでの装置実装問題の出題につながるという。半導体製造装置をはじめ、モノに実装するソフトウェアは、実際に装置を動かした際に性能を発揮できるかがすべてだ。裏を返せば、装置自体のずれや物理的な特性を考慮してプログラムを最適化できなければ、そのソフトウェアは価値を生み出せない。まさにDDCCの参加者たちが直面した課題は、ディスコという企業が日常的に取り組んでいる作業の1つなのだ。
今回の問題に使用された装置は、DDCCのために製作されたもので、前回大会でも同じものを用いたとのこと。ディスコが実際の製品にも搭載するような高品質の部材を使用しているとのことで、装置の製作にも多くの費用がかけられているとする。
前出の大会担当者は、「一般的なプログラミングコンテストのように画面の中で答えを出すことを目指すのではなく、実際の装置に触れて動かす、という体験を楽しんでもらうために、装置実装問題を出題している」と話す。また同社として求める人材として、「今回問題のように、装置を動かして調整を行う作業が面白いと思ってもらえる人に入ってきてほしい」と話した。
なおDDCC 2024では、本選に参加した29人全員に就職面接パス券が用意され、中でも1位〜6位の参加者は、採用フローが役員面接のみとなる。実際にこういった制度を経て入社した例もあるとのことで、大会に際して行われた会社見学では、2019年のDDCCに参加しディスコへと入社したエンジニアによる技術説明も行われた。大会OBである先輩の姿を見て、今大会の参加者たちは何を感じただろうか。
○大会優勝者には賞金とトロフィーが贈呈された
大会の表彰式では、半導体ウェハを模したシリコン製のトロフィーと賞金(優勝:30万円、2位:20万円、3位:10万円)が送られた。優勝者は「実際に装置を動かすという貴重な経験ができて、しかも優勝ができたのでとてもうれしい」と話した。過去大会で好成績を残した参加者たちもしのぎを削った中、新たな優勝者が誕生した今大会。次回はどんな装置を舞台に、どういった戦いが繰り広げられるのか。モノを動かすプログラミングの戦いに、今後も注目したい。

マイナビニュース

「プログラミング」をもっと詳しく

「プログラミング」のニュース

「プログラミング」のニュース

トピックス

x
BIGLOBE
トップへ