SlideShare une entreprise Scribd logo
1  sur  30
Télécharger pour lire hors ligne
MATH NIGHT 2



最適化の
手前の数学




  @antimon2
チャプタ 1

自己紹介




         1
セク ショ ン 1




自己紹介 (1)
•名前:後藤 俊介 (@antimon2)

•最終学歴:名古屋大学大学院多元数理科学研究科

      博士前期課程修了 (1999/03)(数学修士)

•現役時代の専攻:組合せ数学(代数的組合せ論、グラフ理論)

•修論のタイトル:Planer Vertex-transitive Graph の Hamiltonian 性




                             2
セク ショ ン 2




自己紹介 (2)
•所属:株式会社コスモルート

    CRD(クラウドR&Dグループ) 数学班

•研究テーマ:

       •データ分析手法・ノウハウ(多変量解析、ベイズ解析、etc…)

       •ビッグデータ分析・機械学習

       ※まだ実績なし

•ブログ始めました:

       •名古屋で数学するプログラマ(仮)(http://antimon2.hatenablog.jp/)

                             3
チャプタ 2

フィボナッチ数




         4
みんな大好き
フィボナッチ数列♪
 もちろんみんな知ってるよね?


       5
 …一応、定義から説明します。




                  6
セク ショ ン 1




フィボナッチ数列とは?




前の2つの数の和が次の数となる数列。




                     7
(0,) 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, …




                                                    8
フィボナッチ数列の一般項 Fn を

           フィボナッチ数
                 と言います。



5 は 5 番目のフィボナッチ数。

144 は 12番目のフィボナッチ数。etc…


                     9
チャプタ 3

フィボナッチ数を求める




              コミック版「数学ガール」第13話(下巻 p.144) をTeXで再現




         10
セク ショ ン 1




問題

【問題1】
100番目のフィボナッチ数 F100 を求めよ。


【問題2】
n 番目のフィボナッチ数 Fn を求めるプログラムを書け。




                11
問題2 だけを考えます。
問題1は、問題2ができれば n=100 を代入すれば解けるので。

(テトラちゃんのようにがんばって手計算で解かなくても良いのでw)




                   12
セク ショ ン 2




fib 関数 (1)
def fib n
    return n.even? ? -fib(-n) : fib(-n) if n < 0
    a, b = 0, 1
    n.times { a = b + b = a }
    a
end



手続き指向の解答例。



                            13
F0 (= 0)、F1 (= 1)から、

F2 = F1 + F0、F3 = F2 + F1、…を順に n まで計算しているだけ。



•シンプル。

•計算量:O(n)。

•F100は余裕で計算可能。




                              14
セク ショ ン 3




fib 関数 (2)
def fib n
    return n.even? ? -fib(-n) : fib(-n) if n < 0
    return n if n < 2
    fib(n-1) + fib(n-2)
end




関数指向の解答例。



                            15
フィボナッチ数の定義(漸化式)をそのまま実装。再帰。

Fn = Fn-1 + Fn-2 , 

 Fn-1 = Fn-2 + Fn-3 ,

  Fn-2 = Fn-3 + Fn-4 , …



•直感的。

•計算量:???

•F50すらまともに計算できない(1時間以上かかる)。

 F100なんて計算始めた日にゃ…(>_<)




                            16
⇒何らかの最適化が必要。

•メモ化

…一度計算した値は覚えておいて、再利用する。

 →計算量を O(n) に抑えることが出来る。

•末尾再帰

…再帰呼び出しを関数の最後に1回だけにするようにする。

 →こちらも計算量が O(n) に。




                     17
でもその前に。




          18
セク ショ ン 4




倍数公式




n 番目のフィボナッチ数を (n/2) 番目あたりのフィボナッチ数を使って表す公式。




                     19
証明概要:




        20
セク ショ ン 5




fib 関数 (3)
def fib n
    return n.even? ? -fib(-n) : fib(-n) if n < 0
    return n if n < 2
    n.even? ?
       (fib(n/2-1)*2 + fib(n/2)) * fib(n/2) :
       fib(n/2)**2 + fib(n/2+1)**2
end

倍数公式を利用した実装例。




                             21
倍数公式をそのまま実装。再帰。



•計算量:O(log n) ※1

•F100はもちろん、F1000くらいは余裕で実用に耐えうるスピード。

 F10000とかになるとやはり重くなってくる。

 ※普通の再帰と同じ問題。

→メモ化、または末尾再帰による最適化が必要。

※1: 最適化実施後の計算量。




                        22
セク ショ ン 6




参考:メモ化の例
   ※仮想コードです。このままでは動作しません。

cache = Hash.new
def fib n
   return n.even? ? -fib(-n) : fib(-n) if n < 0
   return n if n < 2
   cache[n] ||= n.even? ?
      (cache[n/2-1]*2 + cache[n/2]) * cache[n/2] :
      cache[n/2]**2 + cache[n/2+1]**2
end

Point: 計算結果をキャッシュに保持。2回目以降はキャッシュ値を利用。




                                23
セク ショ ン 7




参考:末尾再帰の例
   ※仮想コードです。このままでは動作しません。

def fib n
   return n.even? ? -fib(-n) : fib(-n) if n < 0
   fib_iter 1, 0, 0, 1, n
end
def fib_iter a, b, p, q, c
   return b if c.zero?
   case c
      when even; p, q, c = p**2 + q**2, (2*p+q)*q, c/2
      else a, b, c = b*q + a*q + a*p, b*p + a*q, c-1
   end
   fib_iter a, b, p, q, c
end

Point: 再帰呼び出しを最後に1回だけにする(呼び出し回数削減)。

※処理系によっては末尾再帰に対して最適化コンパイルが実施されさらに高速化。



                                           24
セク ショ ン 8




参考:フィボナッチ数の公式




導出方法は略。

(証明するだけなら F0, F1 の値と Fn = Fn-1 + Fn-2 を満たすことは容易に確認可能)




                           25
セク ショ ン 9




まとめ

•数学的考察による「根本的な高効率化」はとっても重要。

 ⇒場合によっては O(n) → O(log n) の高速化。



•メモ化(キャッシュ)、末尾再帰(イテレーション)等の最適化も重要。

 ⇒でもこれらは「次の手段」。




                            26
チャプタ 4

その他のトピック




         27
セク ショ ン 1




例えば…

•コンピュータパズル

 ⇒解探索の前に、できる限り数学的に考察して枝刈り・高効率化。

  •例:「変形魔方陣」(http://antimon2.hatenablog.jp/entry/2012/05/15/230829)

•素数列挙

 ⇒既知のアルゴリズムでも、数学的考察に基づく少しの工夫で倍速化。

  •例:「汎用的で省メモリかつかなり速い素数無限列挙」

    (http://antimon2.hatenablog.jp/entry/2012/06/19/221335)




                                            28
チャプタ 5

The library is closed !


         ご清聴、ありがとうございます




               29

Contenu connexe

Tendances

[第2版]Python機械学習プログラミング 第16章
[第2版]Python機械学習プログラミング 第16章[第2版]Python機械学習プログラミング 第16章
[第2版]Python機械学習プログラミング 第16章Haruki Eguchi
 
SSE4.2の文字列処理命令の紹介
SSE4.2の文字列処理命令の紹介SSE4.2の文字列処理命令の紹介
SSE4.2の文字列処理命令の紹介MITSUNARI Shigeo
 
Haswellサーベイと有限体クラスの紹介
Haswellサーベイと有限体クラスの紹介Haswellサーベイと有限体クラスの紹介
Haswellサーベイと有限体クラスの紹介MITSUNARI Shigeo
 
条件分岐とcmovとmaxps
条件分岐とcmovとmaxps条件分岐とcmovとmaxps
条件分岐とcmovとmaxpsMITSUNARI Shigeo
 
kagami_comput2016_06
kagami_comput2016_06kagami_comput2016_06
kagami_comput2016_06swkagami
 
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)Takeshi Yamamuro
 
研究生のためのC++ no.4
研究生のためのC++ no.4研究生のためのC++ no.4
研究生のためのC++ no.4Tomohiro Namba
 
8 並列計算に向けた pcセッティング
8 並列計算に向けた pcセッティング8 並列計算に向けた pcセッティング
8 並列計算に向けた pcセッティングTakeshi Takaishi
 
研究動向から考えるx86/x64最適化手法
研究動向から考えるx86/x64最適化手法研究動向から考えるx86/x64最適化手法
研究動向から考えるx86/x64最適化手法Takeshi Yamamuro
 
NumPyが物足りない人へのCython入門
NumPyが物足りない人へのCython入門NumPyが物足りない人へのCython入門
NumPyが物足りない人へのCython入門Shiqiao Du
 
汎用性と高速性を目指したペアリング暗号ライブラリ mcl
汎用性と高速性を目指したペアリング暗号ライブラリ mcl汎用性と高速性を目指したペアリング暗号ライブラリ mcl
汎用性と高速性を目指したペアリング暗号ライブラリ mclMITSUNARI Shigeo
 

Tendances (20)

NumPy闇入門
NumPy闇入門NumPy闇入門
NumPy闇入門
 
[第2版]Python機械学習プログラミング 第16章
[第2版]Python機械学習プログラミング 第16章[第2版]Python機械学習プログラミング 第16章
[第2版]Python機械学習プログラミング 第16章
 
Prosym2012
Prosym2012Prosym2012
Prosym2012
 
SSE4.2の文字列処理命令の紹介
SSE4.2の文字列処理命令の紹介SSE4.2の文字列処理命令の紹介
SSE4.2の文字列処理命令の紹介
 
Haswellサーベイと有限体クラスの紹介
Haswellサーベイと有限体クラスの紹介Haswellサーベイと有限体クラスの紹介
Haswellサーベイと有限体クラスの紹介
 
全探索
全探索全探索
全探索
 
条件分岐とcmovとmaxps
条件分岐とcmovとmaxps条件分岐とcmovとmaxps
条件分岐とcmovとmaxps
 
フラグを愛でる
フラグを愛でるフラグを愛でる
フラグを愛でる
 
kagami_comput2016_06
kagami_comput2016_06kagami_comput2016_06
kagami_comput2016_06
 
Boost.SIMD
Boost.SIMDBoost.SIMD
Boost.SIMD
 
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
 
LLVM最適化のこつ
LLVM最適化のこつLLVM最適化のこつ
LLVM最適化のこつ
 
研究生のためのC++ no.4
研究生のためのC++ no.4研究生のためのC++ no.4
研究生のためのC++ no.4
 
8 並列計算に向けた pcセッティング
8 並列計算に向けた pcセッティング8 並列計算に向けた pcセッティング
8 並列計算に向けた pcセッティング
 
研究動向から考えるx86/x64最適化手法
研究動向から考えるx86/x64最適化手法研究動向から考えるx86/x64最適化手法
研究動向から考えるx86/x64最適化手法
 
NumPyが物足りない人へのCython入門
NumPyが物足りない人へのCython入門NumPyが物足りない人へのCython入門
NumPyが物足りない人へのCython入門
 
optimal Ate pairing
optimal Ate pairingoptimal Ate pairing
optimal Ate pairing
 
emcjp Item 42
emcjp Item 42emcjp Item 42
emcjp Item 42
 
汎用性と高速性を目指したペアリング暗号ライブラリ mcl
汎用性と高速性を目指したペアリング暗号ライブラリ mcl汎用性と高速性を目指したペアリング暗号ライブラリ mcl
汎用性と高速性を目指したペアリング暗号ライブラリ mcl
 
Emcjp item21
Emcjp item21Emcjp item21
Emcjp item21
 

Similaire à 最適化の手前の数学

命令プログラミングから関数プログラミングへ
命令プログラミングから関数プログラミングへ命令プログラミングから関数プログラミングへ
命令プログラミングから関数プログラミングへNaoki Kitora
 
数列で学ぶ初めての CommonLisp #fibonacci
数列で学ぶ初めての CommonLisp #fibonacci数列で学ぶ初めての CommonLisp #fibonacci
数列で学ぶ初めての CommonLisp #fibonaccipgf2alpha
 
数式をnumpyに落としこむコツ
数式をnumpyに落としこむコツ数式をnumpyに落としこむコツ
数式をnumpyに落としこむコツShuyo Nakatani
 
情報科学シケスラ Fibonacci
情報科学シケスラ Fibonacci情報科学シケスラ Fibonacci
情報科学シケスラ Fibonaccitozan gezan
 
Or seminar2011final
Or seminar2011finalOr seminar2011final
Or seminar2011finalMikio Kubo
 
はんなりPython#42 20210629
はんなりPython#42 20210629はんなりPython#42 20210629
はんなりPython#42 20210629takey Takesue
 
Cython intro prelerease
Cython intro prelereaseCython intro prelerease
Cython intro prelereaseShiqiao Du
 
Chainerの使い方と自然言語処理への応用
Chainerの使い方と自然言語処理への応用Chainerの使い方と自然言語処理への応用
Chainerの使い方と自然言語処理への応用Seiya Tokui
 
代数トポロジー入門
代数トポロジー入門代数トポロジー入門
代数トポロジー入門Tatsuki SHIMIZU
 
Fftw誰得ガイド
Fftw誰得ガイドFftw誰得ガイド
Fftw誰得ガイドchunjp
 
これから Haskell を書くにあたって
これから Haskell を書くにあたってこれから Haskell を書くにあたって
これから Haskell を書くにあたってTsuyoshi Matsudate
 
モナドハンズオン前座
モナドハンズオン前座モナドハンズオン前座
モナドハンズオン前座bleis tift
 
cp-5. 繰り返し計算
cp-5. 繰り返し計算cp-5. 繰り返し計算
cp-5. 繰り返し計算kunihikokaneko1
 

Similaire à 最適化の手前の数学 (17)

動的計画法
動的計画法動的計画法
動的計画法
 
命令プログラミングから関数プログラミングへ
命令プログラミングから関数プログラミングへ命令プログラミングから関数プログラミングへ
命令プログラミングから関数プログラミングへ
 
数列で学ぶ初めての CommonLisp #fibonacci
数列で学ぶ初めての CommonLisp #fibonacci数列で学ぶ初めての CommonLisp #fibonacci
数列で学ぶ初めての CommonLisp #fibonacci
 
数式をnumpyに落としこむコツ
数式をnumpyに落としこむコツ数式をnumpyに落としこむコツ
数式をnumpyに落としこむコツ
 
情報科学シケスラ Fibonacci
情報科学シケスラ Fibonacci情報科学シケスラ Fibonacci
情報科学シケスラ Fibonacci
 
Or seminar2011final
Or seminar2011finalOr seminar2011final
Or seminar2011final
 
cp-9. 再帰関数
cp-9. 再帰関数cp-9. 再帰関数
cp-9. 再帰関数
 
はんなりPython#42 20210629
はんなりPython#42 20210629はんなりPython#42 20210629
はんなりPython#42 20210629
 
Cython intro prelerease
Cython intro prelereaseCython intro prelerease
Cython intro prelerease
 
Chainerの使い方と自然言語処理への応用
Chainerの使い方と自然言語処理への応用Chainerの使い方と自然言語処理への応用
Chainerの使い方と自然言語処理への応用
 
代数トポロジー入門
代数トポロジー入門代数トポロジー入門
代数トポロジー入門
 
HPC Phys-20201203
HPC Phys-20201203HPC Phys-20201203
HPC Phys-20201203
 
会津合宿2015Day3:D問題
会津合宿2015Day3:D問題会津合宿2015Day3:D問題
会津合宿2015Day3:D問題
 
Fftw誰得ガイド
Fftw誰得ガイドFftw誰得ガイド
Fftw誰得ガイド
 
これから Haskell を書くにあたって
これから Haskell を書くにあたってこれから Haskell を書くにあたって
これから Haskell を書くにあたって
 
モナドハンズオン前座
モナドハンズオン前座モナドハンズオン前座
モナドハンズオン前座
 
cp-5. 繰り返し計算
cp-5. 繰り返し計算cp-5. 繰り返し計算
cp-5. 繰り返し計算
 

Dernier

2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptxssuserbefd24
 
20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdfAyachika Kitazaki
 
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521Satoshi Makita
 
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose EstimationToru Tamaki
 
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑Akihiro Kadohata
 
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一瑛一 西口
 
Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )iwashiira2ctf
 
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計atsushi061452
 
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayersToru Tamaki
 
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員Sadaomi Nishi
 
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)keikoitakurag
 
情報を表現するときのポイント
情報を表現するときのポイント情報を表現するときのポイント
情報を表現するときのポイントonozaty
 

Dernier (12)

2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
 
20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf
 
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
 
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
 
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
 
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
 
Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )
 
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
 
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
 
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
 
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
 
情報を表現するときのポイント
情報を表現するときのポイント情報を表現するときのポイント
情報を表現するときのポイント
 

最適化の手前の数学