競技プログラミングの在り方 ~「競技プログラミングを我々が終わらせる」を受けて~
コメント
注目のコメント
両方読みました。
面接の競技プログラミング的課題は、センター試験みたいなもんで、あくまで最低限の基礎的な知識を持ってるかどうかなのですよね。たかがセンター試験なのに神格化されてしまって困惑というのも理解できます。
こちらの記事にある、純粋にパズルとして楽しくて、試験対策にもなるからお得だよね!というのも共感します。
何より元の記事の、FAANG+Mの中を知ってる日本人が少なすぎるから国益を損ねてるという話に危機感を同じくします。あらゆる手を使って日本の最低ラインも引き上げないと、引き離されるばかりですから。素敵な反論。
「我々が競技プログラミングを終わらせる」などというのは、到底容認できるものではありません。競技プログラミングは貴方のものではない。もちろん僕のものでもないので、多様な競技プログラミングのあり方があるべきでしょう。
って箇所がカッコ良すぎました。共感。熱意込められた競技プログラミングの意義、感動しました。
アルゴリズム開発は、自然界の究極に挑む取り組み、出題者や自分との知恵比べで、満足いく解を見つけた時の喜びは大きいです。
システムエンジニアリング、製品開発まで広げると、アーキテクチャや基盤開発、運用保守やセキュリティ、継続進化に関わるセンスが必要で、アルゴリズムが全てでないのは当然です。
センスない例として、IoTセンサーのビッグデータをリレーショナルデータベースに完璧に保存する、を考えてみます。
災害に備えてディザスタリカバリーする、可動上げるためにMTTRをとことん短くするとどうなるか。データベースのコスト、運用保守コストが膨大になり、対応しきれない所では 長い目でかえって品質ガタ落ちになります。
こういうのは、①ユーザー要求の様なデータと、②水道水のごとく単位時間毎に新しく発生するデータをを分けて考え、①はQoS1以上(ロストを許容しない特別な制御を期待)、②はQoS0(ロストしたら次のデータ来るのを期待)と設計する案が浮かびます。
大量の過剰なDBトランザクション品質に伴う資源を無駄遣いさせない、こういう発想、センスは有益で、これは競技プログラミングで評価するポイントでないかもしれず、競プロ万能を唱えるなら虚しいです。
アルゴリズム開発は部分的とはいえ、そのメリットはどれだけ強調しても言い切れないのも感じてます。
何千年かけて計算する処理を瞬間で解けるならどうでしょう。
1000万円のコンピューター資源を10万円にできるなら。
不可解な自然の営みをロジックとパラメータの抽象表現ができ、パラメータ変更における未来が見える様になったら?
情報処理には資源を使いますので、資源のみなもと、自然界の究極に挑むアルゴリズム開発スキルは、極めて有益で、何より面白いです!
※AtCoder面白そう。やってみようかな