2022年8月8日(月)に開催した、「1Day インターン 組み合わせ最適化講習会」の当日資料です。
Fixstars Corporation www.fixstars.comCopyright © Fixstars Group Copyright © Fixstars Group【1dayインターン】組み合わせ最適化講習会
View Slide
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com2本日のAgenda第一部 (13:00~13:50): 会社紹介• 会社概要• 組合せ最適化問題及び事例のご紹介• Fixstars Amplify のご紹介第二部 (14:00~15:30): ハンズオンワークショップ• 数の分割問題• 搬送経路最適化 (7/25)、シフト最適化 (8/8)、生産計画最適化 (9/9)• 発展的課題第三部 (15:30~16:00): 今後について• ぜひ情報発信を!• 研究での活用事例• Amplifyの業務• 採用情報
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.comQ&Aについて• 質問がある場合はZoomのチャット機能で「全員宛」で発信してください• その場で回答できるものは回答します• または後ほど時間の許す限りお答えします3
Fixstars Corporation www.fixstars.comCopyright © Fixstars Group Copyright © Fixstars Group【第一部】会社紹介
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com5フィックスターズの概要会社名 株式会社フィックスターズ本社所在地東京都港区芝浦3-1-1 msb Tamachi田町ステーションタワーN 28階設立 2002年8月上場区分 東証プライム(証券コード:3687)代表取締役社長 三木 聡資本金 5億5,446万円(2021年9月現在)社員数(連結) 258名(2021年9月現在)主なお客様キオクシア株式会社株式会社ネクスティ エレクトロニクス株式会社日立製作所キヤノン株式会社グループ体制株式会社フィックスターズ株式会社Fixstars AutonomousTechnologies株式会社ネクスティ エレクトロニクスとのJV自動運転向けソフトウェア開発当社完全子会社米国での営業及び開発概要株式会社Sider株式会社Smart Opinion当社完全子会社開発支援SaaS「Sider」を運営当社連結子会社乳がんAI画像診断支援事業を運営Fixstars Solutions, Inc.オスカーテクノロジー株式会社当社連結子会社ソフトウェア自動並列化サービスを提供株式会社Fixstars Amplify当社完全子会社量子コンピューティングのクラウド事業を運営2021/10/1 設立
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com6ソフトウェア高速化サービス (概要)• お客様にソースコードをご提供いただき、• 最適化やアルゴリズムの改良を施して高速化してお返しします当社 お客様オリジナルソースコードのご提供高速化したソースコードコンサルティング 高速化 サポート性能評価ボトルネックの特定アルゴリズムの改良・開発ハードウェアへの最適化レポート作成レポートやコードへのQ&A実製品への組込み支援
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.comフィックスターズの強みフィックスターズは、コンピュータの性能を最大限に引き出し大量データの高速処理を実現する、高速化のエキスパート集団です。7低レイヤソフトウェア技術アルゴリズム実装力各産業・研究分野の知見
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.comフィックスターズの量子技術への取り組み82017年日本で初めてD-Wave Systems社と提携2018年NEDOのプロジェクトに採択「イジングマシン共通ソフトウェア基盤の研究開発」2019年SIPの研究開発に参画「光・量子を活用したSociety 5.0実現化技術:光電子情報処理」2021年•2月:量子アニーリングクラウドサービス「Fixstars Amplify」提供開始•10月:子会社Fixstars Amplifyを設立•11月:Q-STAR 量子技術による新産業創出協議会に特別会員として加入次世代技術を先取りし今ある課題の解決を目指す
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.comFixstars Amplifyの量子技術への取り組み9一般社団法人 量子技術による新産業創出協議会東洋経済主催シンポジウム「ビジネスを劇的に変える量子コンピューティングの可能性」にCEO平岡が登壇しましたモデレーター九州大学 藤澤克樹教授パネリストロート製薬株式会社代表取締役会長 山田邦雄氏株式会社東芝代表執行役社長CEO 島田太郎氏株式会社Fixstars Amplify代表取締役社長 平岡卓爾出展:一般社団法人 量子技術による新産業創出協議会 https://qstar.jp/東洋経済新報社主催「量子コンピューティングの実用化に関する」パネルディスカッションの基調講演では、実用可能な段階に入った量子コンピューティングの現状について、専門家の立場から意見を述べました。パネルディスカッションでは、九州大学マス・フォア・インダストリ研究所の藤澤 克樹教授、東芝株式会社代表執行役社長 CEO で、量子技術による新産業創出協議会(Q-STAR)実行委員長を務める島田 太郎氏、ロート製薬代表取締役会長の山田 邦雄氏も参加され、専門家や経営者のお立場から、量子コンピューティングの現在地を語っています。本セッションは、東洋経済オンライン並びに同社YouTubeで公開されています。東洋経済オンライン記事:https://toyokeizai.net/articles/-/583900Fixstars Amplify 代表取締役会長の三木が理事を務めている「量子技術による新産業創出協議会(Q-STAR)」は、量子関連の産業・ビジネスの創出を目的として設立された協議会です。IT企業で開発が進む量子技術を、実際のビジネスにどのように役立てていくのかを研究し、量子技術を応用した新産業を創出する取り組みを加速しています。2022年5月23日、社団法人化を記念したシンポジウムでは、CEOの平岡が登壇し「量子技術の産業化加速に向けた課題と取組み」というテーマでパネルディスカッションを行いました。画像:FixstarsCorporation youtubeチャンネルよりhttps://www.youtube.com/watch?v=uS-_BZqvqUo代表取締役会長三木が参加代表取締役社長平岡が参加
Fixstars Corporation www.fixstars.comCopyright © Fixstars Group Copyright © Fixstars Group組合せ最適化・イジングマシン及び製造業における事例の紹介
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com11量子アニーリング・イジングマシンと組合せ最適化問題量子アニーリング・イジングマシン ⇒ 組合せ最適化問題を解くための専用マシンスケジューリング 配送計画 スマートシティー 集積回路設計膨大な選択肢から、制約条件を満たし、ベストな選択肢を探索する(組合せ最適化問題)参考: 慶應義塾大学 田中宗 准教授 「量子コンピュータ最前線とイジングマシンの可能性」
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com12目的関数:制約条件:解を取得定式化実装問題設定膨大な解候補(組合せ)から最適解を選ぶ・解候補一つ一つの計算は可能・候補数が膨大ですべての解候補を計算できないこれを最小化(最大化)する解が最適解が必ず満たすべき条件数式で表現数式をPythonのプログラムで記述Amplifyが最適解を探索バイキングで最も安く必要な栄養が取れる組合せは?目的関数: 合計金額(最小化)制約条件:炭水化物:300g以上タンパク質:150g以上脂質:50g以上(10g単位) 炭水化物 タンパク質 脂質 金額ごはん 8g 1g 1g 10円パン 7g 1g 2g 12円ハンバーグ 1g 5g 4g 50円焼き魚 1g 8g 1g 35円組合せ最適化問題の例ごはん:380g焼き魚:140g金 額:870円最適メニュー組合せ最適化問題は統一的なフレームワークで解くことができる
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com13製造業における品質管理の4M本日の事例やワークショップの対象ManMachineMethodMaterial4Mとは
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com14最も効率的な作業員のシフトは?チーム編成とタスク割り当て解を取得定式化実装問題設定目的関数:業務要求の満足度最適化・スキルや業務時間平滑化、個人の希望などの考慮制約条件:チーム人数や一人1タスクなどの制約・従来、ホワイトボードを使い、朝・夕30分程度ずつかけて作成・Amplifyが10秒で推薦配置を提示
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com15最も効率的な生産スケジュールは?製品製造工程順序の最適化October 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31Machine 1Machine 2Machine 3Machine 4Machine 5Machine 6Machine 7Machine 8Machine 9Machine 10解を取得定式化実装問題設定目的関数:製造完了時間(最小化)・段取り時間、納期、稼動率などを考慮制約条件:機械数や製造可能な製品の制約・従来技術だと数時間かかることも・Amplifyがより高速に妥当な解を提示
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com16装置1装置2装置xA B BB B B BC E E DA電気機器製造メーカー A社様複数の製品事業部から様々なプリント基板の注文を受け、生産を行う部門生産する基板に応じて製造装置の部品や材料を交換する「段取り時間」が必要。段取り時間を考慮した効率的な生産スケジュールを作成したい従来は、専任者が、一日数回・毎回数十分かけて経験に基づいてスケジュールを作成。更なる生産性向上やノウハウ継承のため、生産スケジュール作成の自動化に着手課題次期フェーズでは、Amplifyの活用領域の拡大を検討中!最適化未経験のご担当者様1人がプログラム試作開始から約1~2ヵ月間取り組んでこの効果を実現現在は試作段階で、実運用に向けてモデルを改良中!効果 段取りのための製造装置の停止回数の削減!(10%以上削減)段取り時間段取り時間 段取り時間生産スケジュール作成の時間・コストの大幅な削減!(一日あたり数時間 → 数分)
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com17最も効率的な部材や製品の搬送方法は?AGV(無人搬送車)の待ち時間を最小化するリアルタイム経路選択解を取得定式化実装問題設定目的関数:各AGVの次の一定時間の待ち時間(最小化)制約条件:各AGVが衝突しない、など・Amplifyが他のAGVの行動を考慮し、次の最適動作をリアルタイムに指示・最短経路だけでなく、迂回・交差点制御なども実現
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.comFixstars Amplify: メディア掲載https://amplify.fixstars.com/ja/news/mediaSoftware Design「はじめての量子プログラミング体験」(2021年6月号~2022年1月号まで連載)Interface「Pythonで体験!量子コンピュータ」(2022年6月号)18
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com19第二部ワークショップでの深掘りテーマシフト作成自動化 生産計画最適化人の直観で時間をかけて行っていた生産ラインや物流倉庫の業務シフト作成を、スキルや勤務時間などの条件をもとに最適化します製造工場の設備の利用割り当て(ジョブショップスケジューリング) を、納期や段取り時間などを考慮して最適化します8/8セミナーのテーマ 9/9セミナーのテーマ経路指示リアルタイム制御倉庫を走行する多数の搬送ロボット (AGV) が効率よく動作するよう、最適経路だけでなく迂回や交差点での待機などリアルタイムに指示します7/25セミナーのテーマ
Fixstars Corporation www.fixstars.comCopyright © Fixstars Group Copyright © Fixstars GroupFixstars Amplify のご紹介
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupCONFIDENTIALFixstars Corporation www.fixstars.comチーム21代表取締役社長CEO 平岡卓爾2004年 東京大学大学院 工学系研究科 物理工学専攻 修了(修士)量子テレポーテーションの研究で有名な古澤研究室の最初の学部生。ゼロから実験環境を構築する稀有な機会を経験した。2004年 株式会社エリジオン入社3次元CADデータ、形状処理ソフトウェアの開発。工場DXに繋がる3次元点群処理ソフトウェア「InfiPoints」の立ち上げを手掛けた。2021年 株式会社Fixstars Amplify入社取締役CTO 松田佳希2011年 東京工業大学大学院 物性物理学専攻 博士課程修了量子アニーリングの理論研究で有名な西森研究室の出身2011年 東京大学 物性研究所 助教2013年 株式会社フィックスターズ入社2017年 量子事業立ち上げ、経済産業省NEDO・内閣府SIPの量子関連プロジェクトに参画。量子コンピューティング技術を用いたアプリケーション開発プラットフォーム・クラウドサービスの開発責任者として事業開発に取り組む。2020年 早稲田大学グリーンコンピューティングシステム研究機構 客員講師(兼務)2021年 株式会社Fixstars Amplify CTO就任
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com22量子コンピュータとその周辺1量子コンピュータIBM/Google/Rigetti/IonQ2イジングマシン富士通/日立/東芝/Fixstars3量子アニーリングD-Wave/NEC1. 量子コンピュータ量子ゲート方式古典汎用コンピュータの上位互換。量子力学の重ね合わせ状態を制御する量子ゲートを操作し、特定の問題を汎用的かつ高速に処理する。2. イジングマシン二値二次多項式模型二次の多変数多項式で表される目的関数の最適化問題 (QUBO) を扱う専用マシン。変数は0,1または±1。統計物理学におけるイジング模型(磁性体の性質を表す模型) に由来。様々な実装により実現されている。3. 量子アニーリング方式量子焼きなまし法イジングマシンの一種であり、量子焼きなまし法の原理に基づいて動作する。量子イジング模型を物理的に搭載したプロセッサで実現する。自然計算により低エネルギー状態が出力される。Amplify AE
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com23クラウドサービス :Fixstars Amplify様々な量子コンピュータ・イジングマシンに対応したアプリケーションを開発出来る、クラウドプラットフォームです。量子コンピューティング時代を見据え、シンプルで効率的な開発環境の提供を目指しています。・・・適用分野 (一例)金融 物流 ライフサイエンス様々なマシンに対応各社が提供する量子アニーリング・イジングマシンをFixstars Amplifyから利用することが出来ます。シンプルで効率的なアプリ開発複雑で専門性の高いプロセスを自動化し、効率的にマシンを使うための学習コストを、圧倒的に低くします。PoCから実問題まで対応大規模問題の入力と高速実行が可能で、PoCや実問題を視野に入れたアプリケーション開発が行えます。すぐに開発を開始可能開発環境と実行環境がセットで提供されるため、すぐに開発を開始することが出来ます。主な特長サービス概要
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com24二次計画問題• 最適化問題の分類• 組合せ最適化問題• 決定変数が離散値 (整数など)• 整数計画問題 (決定変数が整数)• 0-1整数計画問題 (決定変数が二値)• 連続最適化問題• 決定変数が連続値 (実数など)• 量子アニーリング・イジングマシンQuadratic 二次形式Unconstrained 制約条件なしBinary 0-1整数 (二値)Optimization 計画𝑓 = 𝑖𝑄𝑖𝑗𝑞𝑖𝑞𝑗+ 𝑖𝑄𝑖𝑖𝑞𝑖𝑞𝑖∈ 0,1 or 𝑞𝑖∈ ±1問題設定(入力・定数)決定変数(出力・変数)評価値(目的関数)• QUBO模型 (0-1整数二次計画問題)
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com25イジングマシンの実行手順1. 数理モデル検討 解きたい課題の「目的関数」「決定変数」「制約条件」を検討する2. QUBO定式化 (論理)「 2値決定変数+二次形式」で「目的関数」と「決定変数」を記述 (変換) する「制約条件」は直接扱えないので「ペナルティ関数」で表現する3. QUBO定式化 (物理)各マシンの仕様や制限に準拠した形式にQUBO模型を変換する(例: 二次項に制約がある場合は「グラフマイナー埋め込み」問題を解く)4. 入力データの準備 各マシンのSDKやAPI仕様に合わせてQUBO模型 (物理) をデータ化する5. マシンの実行 マシンを実行して出力の変数値やエネルギー値(コスト値)を解析する上記の逆の手順を辿り解きたい課題の「決定変数」を解釈するSWによる支援と自動化
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com26Fixstars Amplify の特長– いつでも 開発環境と実行環境がセットのためすぐにプログラミングと実行が出来る– 誰でも ハードウェアや専門的な知識が不要無料で開発がスタート可能– 高速に 26万ビットクラスの大規模問題の高速処理と高速実行が可能– あらゆる 一般に公開されている全てのイジングマシンを利用可能
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com27Fixstars Amplify クラウドの構成Amplify クラウドが量子アニーリングマシン・イジングマシンの大規模実行環境を提供Amplify SDK で書かれた最適化エンジンは他社製も含め全ての商用イジングマシンで実行可能量子アニーリング・イジングマシン (Amplify AE)組合せ最適化問題の定式化やマシンを高度に操るための最先端の技術や知見をライブラリ化したシンプルなインターフェースを提供専門知識が不要で量子アニーリングイジングマシンを用いた最適化エンジンの開発に取り組めるAmplify SDK組合せ最適化問題を含むアプリケーションはAmplify SDK を用いることで効率的かつ簡便に組合せ最適化の定式化が可能研究・開発ではAmplifyクラウドは無償提供されるため直ぐに開発をスタートできるアプリケーション
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com28Amplify の対応マシンhttps://news.fixstars.com/2361/ : IBM Quantum対応 (6/14発表)https://news.fixstars.com/2199/ : Gurobi対応 (5/18発表)
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com29Fixstars Amplifyによる課題解決◼ イジングマシンのための革新的な開発環境簡単 多くのマシンに対応 始めやすい✓ SDKをインストールするだけですぐに使える (pip installamplify)✓ ハードウェアの専門知識不要でアプリケーションが開発できる✓ 進化の早いマシンの発展に追従すべての量子アニーリング/イジングマシンに対応✓ 26万ビット級のアニーリングマシン実行環境が利用可能✓ 研究・開発用途には開発環境と実行環境が無償で利用可能✓ 多くのチュートリアル、サンプルコードを整備・拡充多くの人が始めやすい開発プラットフォームを無料で提供https://amplify.fixstars.com
Fixstars Corporation www.fixstars.comCopyright © Fixstars Group Copyright © Fixstars GroupFixstars Amplify の技術
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com31Amplify SDKのワークフロー◼ 従来のプログラミングワークフローとの比較実行方法
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com32Amplify SDKによるシンプルプログラミング数独を解くサンプルアプリ 富士通・デジタルアニーラの設定用コードSDKなし最適化しても200行以上出典: WikipdiaSDKなし59行SDKあり30行程度SDKあり1行日立CMOSアニーリングマシンの設定用コードSDKなし183行SDKあり1行
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com33Amplify による巡回セールスマン問題 (TSP) の実装例
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com34Amplify Annealing Engine• NVIDIA GPU V100/A100 で動作• 独自の並列化シミュレーテッドアニーリングアルゴリズム• WEB経由で計算機能を提供• Amplify SDK の実装を直ぐに実行可能• 社会課題への取り組み・PoC・検証が加速• 商用マシンでは最大規模かつ最高速レベル• 128Kビット (全結合) / 256Kビット超 (疎結合)Amplify Cloud
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com35Amplify Annealing Engine◼ 実問題やPoCを視野に入れたアプリケーション開発にも対応研究・開発利用において無償提供
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com36Amplify 標準提供マシン最先端の量子技術最先端の並列化技術NVIDIA A100/V100最大26万ビット以上D-Wave Advantage5000量子ビット出典:https://www.nvidia.com/ja-jp/data-center/dgx-2/
Fixstars Corporation www.fixstars.comCopyright © Fixstars Group Copyright © Fixstars Group【第二部】ハンズオンワークショップ
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.comQ&Aについて• 質問がある場合はZoomのチャット機能で「全員宛」で発信してください• その場で回答できるものは回答します• または後ほど時間の許す限りお答えします38
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com39ワークショップの準備 (1)• ご自身のPC (ブラウザ上) でPythonプログラミングを行います。Googlecolaboratoryを使うので、事前にログイン出来ることを確認をお願いします(Googleアカウントが必要です)• https://colab.research.google.com/• Fixstars Amplify のトークンを取得済みか確認をお願いします。まだの人はFixstars Amplifyホームページのサインアップよりユーザ登録の上、無料トークンの取得をお願いします (1分で終わります)• https://amplify.fixstars.com/ja/register
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com40ワークショップの準備 (2)• お持ちのAmplifyのトークンを用いて、以下のURLにあるサンプルコードが動くか確認をお願いします。サンプルコードは閲覧のみ可能ですので、「ドライブにコピー」の上、ご自身のトークンを入力し、Shift+Enterで実行をしてください (警告が出る場合がありますが、「このまま実行」を選択下さい)• https://colab.research.google.com/drive/1evYBKqKfVrEzrQOa-SWwciROfvqjL8qm?usp=sharingこの部分に、ご自身のトークン番号(32桁)を入力の上、Shift+Enterで実行下さい。ご自身のトークン番号は、Amplify HPよりご確認いただけます• ご自身のトークンを入力の上、以下の結果が出力されればOKです
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com41ワークショップの準備 (3)• ワークショップで使うサンプルコードを以下のURLより取得して下さい• それぞれのサンプルコードにご自身のトークンを入力いただく必要があります。それぞれのサンプルコードを「ドライブにコピー」の上、トークンを入力し実行して下さいStep1 https://colab.research.google.com/drive/1M9_fty7GQ4gPVa87lkLA9jdJR2OEqvvC?usp=sharingStep2 https://colab.research.google.com/drive/1ZSgLMVgZTjIGODDy_YIJy29zr827OI6Y?usp=sharingStep3 https://colab.research.google.com/drive/100KyhLplCh9oZ854BEXY0aadeE3IkSWl?usp=sharingStep4 https://colab.research.google.com/drive/1wzffv95TAr1cx7j_WiYnXEWzU1z3uIZE?usp=sharing➢ シフト最適化➢ 数の分割問題https://colab.research.google.com/drive/1zi_uMgxFfmIvr_ag-fNr6NVJBg5QWs94#scrollTo=xMdHzdYLPPT7
Fixstars Corporation www.fixstars.comCopyright © Fixstars Group Copyright © Fixstars Groupハンズオンワークショップ・数の分割問題
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com43数の分割問題【問題】{2,10,3,8,5,7,9,5,3,2}を、集合内の数の和がもう一方の集合内の数の和と等しくなるよう二つの集合に分けよ2,10,3,8,5,7,9,5,3,2NP完全問題: とても難しい問題として知られている → 全通り試すしか方法は無い (210 = 1,024通り)𝐴0𝐴1
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com44手でやってみようまず適当に 大きい順に並び替えて交互に 一個発見!分割方法は23通り存在する (対称を除く。重複を除くと9個の解が存在)並び替え 交互に入れ替え
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com45数の分割問題目的関数の定式化決定変数を準備𝐴0に割当てる場合は1𝐴1に割当てる場合は0実装𝑓 = 𝑖=09𝑎𝑖∙ 𝑞𝑖−12𝑖=09𝑎𝑖2i番目 数 決定変数0 2 q_0 (0 or 1)1 10 q_1 (0 or 1)2 3 q_2 (0 or 1)3 8 q_3 (0 or 1)4 5 q_4 (0 or 1)5 7 q_5 (0 or 1)6 9 q_6 (0 or 1)7 5 q_7 (0 or 1)8 3 q_8 (0 or 1)9 2 q_9 (0 or 1)𝐴0の合計から集合全体の半分を引いた数を最小化
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com46数の分割問題求解結果の取得Amplify AE
Fixstars Corporation www.fixstars.comCopyright © Fixstars Group Copyright © Fixstars Groupハンズオンワークショップ・最適シフト作成
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com48最適シフト作成【問題】業務で求められる役割・役職・スキルと個人の能力や要求を考慮した最適シフトとは業務要求各従業員情報・・・要求管理者数 要求スキル量(各従業員が持つスキル値の合計)ライン 責任者 主任技師 合計 前工程 後工程 組立て 合計LineA 1 1 2 8 4 5 17LineB 1 1 2 6 9 3 18LineC 1 1 2 7 6 5 18合計 3 3 6 21 19 13 53要求配置(0=NG, 1=OK, 2=要求)従業員ID LineA LineB LineC0 1 0 01 1 1 12 1 2 023 1 1 124 1 1 0担当可能役職 スキル値(1=初級, 2=中級, 3=上級)従業員ID 責任者 主任技師 技師 前工程 後工程 組立て0 1 1 1 3 3 31 0 1 1 3 3 22 0 0 1 2 1 0・・・・・・23 0 0 1 0 0 224 0 0 1 1 0 1マッチング
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com49① 従業員は同時に1ラインのみに配置可② 各ラインが要求する管理職を配置することなど目的関数:制約条件:最適シフト作成解を取得定式化実装問題設定 各ラインの要求を満たすシフトの作成複数の要求のバランス(充足率の平均の最大化、分散の最小化、配置要求とのマッチングの最大化)LineA LineB LineC 充足率
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com50自動配置(アニーリング)手動配置一部事前配置自動配置結果の微調整各種条件を満たすように、未配置のメンバーを一括割り当て事例紹介: 人員配置の効率化・自動最適化関連インタビュー動画(4:00~):https://www.youtube.com/watch?v=UyvomUej2Xw充足率の平均の最大化、充足率の分散の最小化を最適化する問題をイジングマシンで実行
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com51ワークショップ: 問題設定15名の従業員を5名ずつ3つの生産ラインへ振り分けます。各従業員は、各ラインに対するスキル値を持ちます。各ラインに配置された従業員のスキル値 (ラインスキル値) の合計がなるべく高く、また、各ラインのラインスキル値のばらつきが少ない、という2つの目的のバランスの取れたシフトの作成を目指します。全てを一度にやるのは難しいので4つのステップに分けてアルゴリズムの完成を目指しますAライン(5名)Bライン(5名)Cライン(5名)組合せは約1400万通り!
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com52ワークショップ: 試しに人の手でやってみましょう
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com53ワークショップ: 4 Stepまず、2つの制約だけを考慮して配置シフトを求めます制約➀: 従業員は同時に1つの製造ラインのみに配置が可能制約②: 各ラインの配置人数が5名ずつになることStep1に「ラインスキル値の合計 (= 全ラインの合計スキル値) を最大化」という目的➀を追加し、複数の解の候補から目的を実現するシフトを求めます解の候補多数ありStep1Step2Step2に「ラインスキル値のばらつきを最小化」という目的②を追加して、2つの目的を同時に実現するシフトを求めますStep3Step4Step3に目的➀と目的②の重みを調整する「パラメーター」を追加し、最適なバランスのシフトを作成します15名の従業員を5名ずつ3つの生産ラインへ振り分けます。各従業員は、各ラインに対するスキル値を持ちます。各ラインに配置された従業員のスキル値 (ラインスキル値) の合計がなるべく高く、また、各ラインのラインスキル値のばらつきが少ない、という2つの目的のバランスの取れたシフトの作成を目指します。全てを一度にやるのは難しいので4つのステップに分けてアルゴリズムの完成を目指します
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com54まず、2つの制約だけを考慮して配置シフトを求めますStep1Step1のサンプルコードのレビュー(尚、本ワークショップでは、最適化のコードにフォーカスし、下準備や可視化のコードの詳細は割愛します)
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com55まず、2つの制約だけを考慮して配置シフトを求めますStep1決定変数の準備実装イジングマシンによる計算で最適な(0,1)の組合せを探す従業員3はline_Cに配置BinaryPoly型(15×3)= 45 [qbit]1: 配置0: 非配置決定変数
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com56定式化𝑙3𝑞𝑖,𝑙= 1𝑖15𝑞𝑖,𝑙= 5制約②: 各ラインの配置人数が要求人数(5名)と一致すること → equal_to制約 (等式制約)Step1制約➀: 従業員は同時に1つの製造ラインのみに配置が可能 → one_hot制約まず、2つの制約だけを考慮して配置シフトを求めます
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com57Step1実装まず、2つの制約だけを考慮して配置シフトを求めますhttps://amplify.fixstars.com/ja/demo【補足】制約条件の取り扱いに関する詳細は、こちらにあるチュートリアルも合わせてご参照下さい
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com58Step1求解無料版は1ジョブ10秒まで設定可有料版では1分まで設定可能Amplify AEまず、2つの制約だけを考慮して配置シフトを求めます• modelに格納してマシンに投げます• 制約条件だけを与えた場合、制約条件を満たす解を探してきてくれます
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com59Step1結果の取得可視化確認まず、2つの制約だけを考慮して配置シフトを求めます同じ人が複数のラインに配置されることなく、各ラインに5人ずつ配置するという二つの制約を満たすシフトを作ることができました。但し、解の候補はたくさんあり、最適化の余地も大きいそうです
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com60Step2 Step1に「ラインスキル値の合計 (= 全ラインの合計スキル値) を最大化」という目的➀を追加し、複数の解の候補から目的を実現するシフトを求めますここでは、工場全体のアウトプットの最大化を目指し、各従業員をできるだけ高いスキル値を持つラインへ配置することを目指しますAライン(5名)ラインスキル値Bライン(5名)Cライン(5名)全ラインのスキル値の合計これを最大化したい!ラインスキル値ラインスキル値
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com61Step2のサンプルコードのレビューStep2 Step1に「ラインスキル値の合計 (= 全ラインの合計スキル値) を最大化」という目的➀を追加し、複数の解の候補から目的を実現するシフトを求めます
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com62Step2定式化各列の要素同士の掛け算の和 ⇒ 各ラインのラインスキル値Step1に「ラインスキル値の合計 (= 全ラインの合計スキル値) を最大化」という目的➀を追加し、複数の解の候補から目的を実現するシフトを求めます𝑠𝑘𝑖𝑙𝑙_𝑠𝑐𝑜𝑟𝑒 = 𝑙3𝑖15𝑞𝑖,𝑙∙ 𝑠𝑖,𝑙決定変数目的➀: 全ラインの合計スキル値の最大化
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com63Step2実装Step1に「ラインスキル値の合計 (= 全ラインの合計スキル値) を最大化」という目的➀を追加し、複数の解の候補から目的を実現するシフトを求めます制約条件には適切な値の重みを設定する必要があります。典型的なスキル値より大きくしておく必要があるため 150 としました: 追加コードイジングマシンは、このobjectiveの値が最小になる組合せを探します (全ラインの合計スキル値は大きいものを選びたいので、skill_scoreにマイナスをつけたものをobjectiveとしています)
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com64Step2結果の取得可視化確認Step1に「ラインスキル値の合計 (= 全ラインの合計スキル値) を最大化」という目的➀を追加し、複数の解の候補から目的を実現するシフトを求めますばらつき大二つの制約を満しながら、全ラインの合計スキル値が最大化されたシフトを作ることができました (Step1の全ラインの合計スキル値は1,265) 。但し、ライン間のスキル値のばらつきが大きいので、更なる最適化をかけたい状況です
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com65Step3 Step2に「ラインスキル値のばらつきを最小化」という目的②を追加して、2つの目的を同時に実現するシフトを求めます目的②: ラインスキル値のばらつき (分散)を最小化定式化 実装𝑣𝑎𝑟𝑖𝑎𝑛𝑐𝑒 =σ𝑙3 σ𝑖15 𝑞𝑖,𝑙∙ 𝑠𝑖,𝑙23−σ𝑙3 σ𝑖15 𝑞𝑖,𝑙∙ 𝑠𝑖,𝑙32: 追加コードばらつきは小さい方が選ばれるようにしたいのでプラスで足します
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com66結果の取得可視化確認Step3 Step2に「ラインスキル値のばらつきを最小化」という目的②を追加して、2つの目的を同時に実現するシフトを求めますばらつきなし!二つの制約を満しながら、全ラインの合計スキルが高く、各ライン間のばらつきが全くないシフトを作ることができました(Step1の全ラインの合計スキル値は1,265で、Step2は1,475)。最後に、目的➀と目的②のバランスをチューニングして最適なシフトの作成を目指します。
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com67Step4 Step3に目的➀と目的②の重みを調整する「パラメーター」を追加し、最適なバランスのシフトを作成します実装: 追加コード
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com68最適なバランスのシフトが完成しました!結果の取得可視化確認Step4 Step3に目的➀と目的②の重みを調整する「パラメーター」を追加し、最適なバランスのシフトを作成しますばらつき極小!
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com69Step1スキル値合計: 1,265ワークショップ: おさらい制約のみからスタートして、複数の目的を加え、重みを調整することで最適なバランスのシフトを作りましたスキル値最大化スキル値ばらつき調整重みを調整制約Step2スキル値合計: 1,475Step3スキル値合計: 1,440Step4スキル値合計: 1,460制約スキル値最大化制約スキル値最大化スキル値ばらつき調整制約
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com70類似の実アプリの紹介
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com課題2最近、従業員番号0の田中さんと従業員番号1の佐藤さんの間にトラブルが発生して、この二人を同じラインに配属できなくなりました。この二人を同じチームには入れないという条件を加えて、ワークショップと同じ目的を実現するための最適シフトを求めるためには、サンプルコードをどのように変えればよいでしょうか課題1各従業員の各ラインのスキル値を10倍の値とした場合に、ワークショップと同じ目的を実現するための最適シフトを求めて下さい (スキル値の値を変えるだけだと解は求まりません)発展課題
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com72Fixstars Amplify: オンラインデモ & チュートリアルhttps://amplify.fixstars.com/ja/demo
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com7月25日(月)第一部 13:00~13:50- フィックスターズの紹介- 組合せ最適化問題・イジングマシンの紹介- Fixstars Amplifyの紹介第二部 14:00~15:30- Fixstars Amplifyを用いた搬送経路最適化のワークショップ- Q&A第三部 15:30~16:00- 今後について- 採用情報8月8日(月)第一部 13:00~13:50- フィックスターズの紹介- 組合せ最適化問題・イジングマシンの紹介- Fixstars Amplifyの紹介第二部 14:00~15:30- Fixstars Amplifyを用いたシフト最適化のワークショップ- Q&A第三部 15:30~16:00- 今後について- 採用情報9月9日(金)第一部 13:00~13:50- フィックスターズの紹介- 組合せ最適化問題・イジングマシンの紹介- Fixstars Amplifyの紹介第二部 14:00~15:30- Fixstars Amplifyを用いた生産計画最適化のワークショップ- Q&A第三部 15:30~16:00- 今後について- 採用情報次回のご案内
Fixstars Corporation www.fixstars.comCopyright © Fixstars Group Copyright © Fixstars Group【第三部】今後について
Fixstars Corporation www.fixstars.comCopyright © Fixstars Group Copyright © Fixstars Groupぜひ情報発信を!
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.comSDKの復習や発展課題にチャレンジブログやQiita等で公開された場合はぜひご連絡くださいhttps://sparse-dense.blogspot.com/2022/06/ibm-quantumfixstars-amplify.html
Fixstars Corporation www.fixstars.comCopyright © Fixstars Group Copyright © Fixstars Group研究での活用事例
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com研究での活用事例大学 研究室 概要 参考慶應義塾大学 村松研究室 Phase-fieldモデルの量子アニーリングシミュレータ (ジブロックコポリマー相分離構造への適用)https://www.nature.com/articles/s41598-022-14735-4東京大学/JFLIPhilippeCodognetModeling the Costas Array Problem in QUBOfor Quantum Annealinghttps://link.springer.com/chapter/10.1007/978-3-031-04148-8_10名古屋大学 片桐研究室 Amplifyを用いたCMOSアニーリングマシンの特性の分析https://ipsj.ixsq.nii.ac.jp/ej/?action=pages_view_main&active_action=repository_view_main_item_detail&item_id=213136&item_no=1&page_id=13&block_id=8東北大学 小松研究室 組み合わせクラスタリングによるアニーリングマシンの評価https://ipsj.ixsq.nii.ac.jp/ej/?action=pages_view_main&active_action=repository_view_main_item_detail&item_id=218973&item_no=1&page_id=13&block_id=8山梨大学 鈴木研究室 量子アニーリングによる疎行列直接解法向けフィルイン削減オーダリングhttps://ieeexplore.ieee.org/document/9691960アカデミックの研究においても Amplify が利用されています!
Fixstars Corporation www.fixstars.comCopyright © Fixstars Group Copyright © Fixstars GroupAmplifyの業務
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com81Amplify開発に必要とされる技術Amplify クラウドが量子アニーリングマシン・イジングマシンの大規模実行環境を提供Amplify SDK で書かれた最適化エンジンは他社製も含め全ての商用イジングマシンで実行可能量子アニーリング・イジングマシン (Amplify AE)組合せ最適化問題の定式化やマシンを高度に操るための最先端の技術や知見をライブラリ化したシンプルなインターフェースを提供専門知識が不要で量子アニーリングイジングマシンを用いた最適化エンジンの開発に取り組めるAmplify SDK組合せ最適化問題を含むアプリケーションはAmplify SDK を用いることで効率的かつ簡便に組合せ最適化の定式化が可能研究・開発ではAmplifyクラウドは無償提供されるため直ぐに開発をスタートできるアプリケーション
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com82Amplify開発に必要とされる技術Amplify クラウドが量子アニーリングマシン・イジングマシンの大規模実行環境を提供Amplify SDK で書かれた最適化エンジンは他社製も含め全ての商用イジングマシンで実行可能量子アニーリング・イジングマシン (Amplify AE)組合せ最適化問題の定式化やマシンを高度に操るための最先端の技術や知見をライブラリ化したシンプルなインターフェースを提供専門知識が不要で量子アニーリングイジングマシンを用いた最適化エンジンの開発に取り組めるAmplify SDK組合せ最適化問題を含むアプリケーションはAmplify SDK を用いることで効率的かつ簡便に組合せ最適化の定式化が可能研究・開発ではAmplifyクラウドは無償提供されるため直ぐに開発をスタートできるアプリケーション• C/C++による Python SDK 開発• 各種イジングマシンや量子コンピュータの活用• マルチコアCPU・マルチGPU環境における並列計算(CUDA・C/C++)• 安定したサービス運用• ユーザー課題の理解と組合せ最適化問題への定式化• PythonやC/C++を用いたアルゴリズム開発• Web技術やクラウド技術を活用したアプリケーション開発
Fixstars Corporation www.fixstars.comCopyright © Fixstars Group Copyright © Fixstars Group採用情報
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com就業体系84裁量労働制もしくはフレックスタイム制を適用しています※入社時のスキルによって1、2のいずれか所定労働時間 8時間 休憩1時間1 裁量労働制推奨:始業時間10:00、終業時間19:00※専門業務型裁量労働制により9時間働いたものとみなします固定残業:30時間2 フレックスタイム制コアタイム 10:00~14:00固定残業:15時間
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com福利厚生:各種手当85子供手当 交通費 ドリンク補助業績・成果により変動扶養義務のあるお子様一人につき 5,000円/月全額支給上限 60,000円/月奨励金 100%※本社株式社内自販機 10円賞与 従業員持株会SO制度ストックオプション制度あり
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com福利厚生:休日休暇86完全週休2日制土日祝日 10~20日 3日夏季休暇産前産後・介護休暇慶弔休暇有給休暇年末年始休暇
Fixstars Corporation www.fixstars.comCopyright © Fixstars Group社外活動支援87※本社規定に準じますスキルアップサポートセミナーや勉強会、学会発表・参加、プロコンなどの社外活動を奨励しています。MBA/ PhD学費・交通費補助MBAやPhDの取得希望者に学費と交通費等のサポートを行っています。実績:MBA 早稲田大学 2名PhD 名古屋大学 1名・北海道大学 1名語学研修補助社員の外国語コミュニケーション向上のため、オンラインレッスン(英語・日本語)受講のためのサポートを行っています。資格取得補助 業務に関連のある資格に対して、合格奨励金の支給や受験料の補助など、各種サポートが受けられます。
Fixstars Corporation www.fixstars.comCopyright © Fixstars Group社内イベント / 制度88※本社規定に準じます社内勉強会エンジニア主体で週1回以上開かれます。2021年度:Intel Software Developer Manualを読む会並列(分散)アルゴリズム勉強会社内プロコン年に1度開催します。プロコン勢が多いため盛り上がります。2021年:「イジングモデル最適化」社内交流おやつタイム・社内新聞・アドベントカレンダーなど社内の情報を共有したり、メンバー同士の交流の場が随時あります。社内大学知見のある社員が講師となり開講。業務時間内に受けることができます。(詳細は次ページへ)
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com成長支援(社内大学2020)89テーマや内容は年によって変更となることがあります。講座名 テーマ 内容高速化講座 CPUを使った高速化x86を例にした現代のCPUアーキテクチャと最適化技法についての理解と習得CUDAを使った高速化CUDAを使った高速なプログラムの書き方、CUDAプログラムの解析方法、高速化方法の習得性能モデルに基づく高速化性能モデルに基づいたメモリ階層を活用する高速化手法やCompute-intensiveな処理の高速化手法の習得AI講座 AI・機械学習機械学習アルゴリズムの概念及び深層学習技術の習得、AI・深層学習技術を利用した問題解決の実装CV講座 コンピュータビジョン 古典的な画像処理による手法から、より新しい機械学習ベースの手法まで、コンピュータービジョン関連技術の理解と習得
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com使用ツール90GSuite全社員使用ツール・こだわりのキーボードやマウスが使えます。・開発に必要なソフトウェア、技術書の購入に特に制限はありません。・各種オープンソースや開発ツール、テストツールなども自由です。・申請は必要ですが、自分の機材を持ち込むことも可能です。
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com本棚91本棚の本、技術雑誌は自由に読むことができます。また、本の購入にも制限はなく相談の上、簡単に購入することができます。技術書以外にも、漫画やボードゲームもあります。
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com開発環境92大きな机高性能な椅子複数モニター(2枚以上)リラクゼーションスペースマッサージチェア10円ドリンクウォーターサーバー
Fixstars Corporation www.fixstars.comCopyright © Fixstars Group Copyright © Fixstars Group選考の流れ
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com新卒選考94応募 書類選考オファー面談一次面接適性検査最終面接応募弊社HPの応募フォームよりご応募ください。書類選考お送りいただいた内容に基づき書類選考を行います。一次面接担当者、役職者との面接を受けていただきます。※ 研究発表(15分)・ライブコーディング試験を実施します。
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com新卒選考95応募 書類選考オファー面談一次面接適性検査最終面接最終面接社員全員との面接を受けていただきます。オファー面談最終面接を通過された方は、条件提示の面談をさせていただきます。
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.comライブコーディング試験961 2 3問題理解 コーディング コード解説問題の読解・アルゴリズムの理解Wandboxを使用してコーディング記述いただいたコードの説明◆ 時間は30分程度 ◆疑問点は随時質問いただけます▽ネット検索はご遠慮いただいております
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.comWandbox97
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupThank Youお問い合わせ窓口 : [email protected]