Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

量子オートマトンの計算能力

279 views

Published on

Published in: Software
  • Be the first to comment

  • Be the first to like this

量子オートマトンの計算能力

  1. 1. On the Power of Quantum Finite State Automata の紹介 2018/12/17 @量子コンピューターについて語ろうLT大会&懇親会 *https://pdfs.semanticscholar.org/40a4/b75e75e44efc6f891ef5d785d461c554a318.pdf
  2. 2. 2 自己紹介 ・モフ猫 ・NTTテクノクロス社のエンジニア ・趣味はPythonと猫 ・最近は様々なIT関連の勉強会に顔を出してます ・転職考え中なので良い会社をご存知の方は 是非ぜひ紹介してください! ・連絡先 Twitter https://twitter.com/okn_yu GitHub https://github.com/okn-yu/Nand2Tetris
  3. 3. 3 抽象機械とは ・抽象機械はコンピュータのハードウェアやソフトウェアの計算モデル ・「チューリングマシン」〜「組み合わせ論理回路」の間にも能力の限定 された計算モデルが階層的に存在する
  4. 4. 4 抽象機械の具体例 実際のコンピュータ 有限オートマトン メモリ RAM 現在の状態のみ 入力 キーボード・マウス・ネットワークなど 文字列 出力 モニター・スピーカー・ネットワークなど 現在の状態が受理状態であるか プロセッサ 任意のプログラムを実行できるCPUコア 入力文字に応じて状態を変更する ハードコーディングされた規則 ・オートマトン:最もシンプルな計算モデル - 現在の状態のみ ・プッシュダウンオートマトン:外部ストレージとしてスタック - スタックの先頭を読み書きに利用可能(pop / push) ・チューリングマシン:外部ストレージとしてテープ - テープの任意の箇所を読み書きに利用可能
  5. 5. 5 各抽象機械の能力 正規言語 チューリング判定能な言語 文脈自由言語 チューリング認識可能な言語 オートマトン プッシュダウンオートマトン チューリングマシンチューリングマシン 正規表現で表現できる文字列 Java・Python・Ruby etc ・機械Mの認識できる言語=『機械Mが受理できる文字列の集合』
  6. 6. 6 今回の発表のキモ① ・古典コンピュータ < 量子コンピュータ ・量子オートマトンはオートマトンの量子版 ⇒ オートマトン < 量子オートマトンも成立??? 古典計算機 ⇒ 量子計算機 古典チューリングマシン ⇒ 量子チューリングマシン 古典オートマトン ⇒ 量子オートマトン プチ・量子コンピュータ プチ・古典コンピュータ 正規言語を認識可能 古典有限オートマトン (正規言語を認識) 量子オートマトン???
  7. 7. 7 (参考)量子コンピュータの場合
  8. 8. 8 最も基本的なオートマトン 決定性有限オートマトン(DFA)は以下の5つで特徴づけられる - Q は状態と呼ばれる有限集合 - Σ は入力アルファベットと呼ばれる有限集合 - δ は遷移関数 - q0 は開始状態 - F は受理状態の集合 s1s0 1 1 0 0 1 s0 s0 s1 s1 s1 s0 遷移関数 δ 入力文字列:0001 は受理状態に至る 例 有限オートマトンM 0
  9. 9. 9 オートマトンの種類 ・様々な形式のオートマトンが存在するが全て計算能力は同等 - 決定性有限オートマトン(DFA) - 非決定性有限オートマトン(NFA、GNFA) - 確立有限オートマトン(PFA) - 一方向決定有限オートマトン(1-DFA)←今回量子化して扱う - 双方向決定有限オートマトン(2-DFA)←今回量子化して扱う 状態 ¢ a a a b b b $ 開始記号¢ 終端記号$ テープヘッド テープヘッドはテープ上を”走査”する ・2DFA:テープヘッドは入力テープに対して左右に移動 ・1DFA:テープヘッドは入力テープに対して一方向に移動 q0, q1, q2..
  10. 10. 10 今回の発表のキモ② 古典有限オートマトン (正規言語) 1-QFA 2-QFA ・古典有限オートマトンは正規言語のみ認識可能 ・2-QFAは正規言語と一部の非正規言語Lも認識可能 ・1-QFAは一部の正規言語を認識不能 ・非正規言語L={ ambm | m>=1} 例: ‘ab’ ‘aabb’ ‘aaabbb’ ・プッシュダウンオートマトン: ⇒スタックを利用して文字の出現回数を“記録”できる ・チューリングマシン:Lを認識可能 ⇒テープを利用して文字の出現回数を”記録”できる ・古典有限オートマトン: ⇒文字の出現回数を“記録”できない 時間の都合上省略 (背理法で証明) 以降はこちらの話題
  11. 11. 11 オートマトンの量子化① ■状態の遷移 ・状態遷移行列 を用いて への状態遷移は以下の表に表される ・ はユニタリ行列 d : Q ´ S´ Q ´{-1,0,1}ÞC d(q,a,q ',D) =a ■遷移関数の量子化 ・状態qで入力aを読んだとき状態q’でテープヘッドをDに遷移する確率がα ・Dはテープヘッドの移動方向(左、停止、右) V x ( q,k )= d(q,x (k ),q ',D ) q ',k +D q ',D å qは状態、kはテープ位置 最初はq=q0, k=0から開始 y ®y' V V
  12. 12. 12 オートマトンの量子化② ■観測 ・状態の観測を状態遷移する度に実施 O = Eacc Å Enon Å Erej Eacc = span{ q :q Î Qacc } Erej = span{ q :q Î Qrec } Enon = span{ q :q Î Qnon } y y' Î Ei ・ を測定すると (線型部分空間への射影)に収束 ⇒ 入力を受理 ⇒ 入力を非受理 オートマトンを停止 ⇒ 次の状態に遷移 ⇒ Oは線型部分空間の和空間
  13. 13. ■線形部分空間への射影の例 13 オートマトンの量子化③ x = - 1 2 0 + 1 2 1 + 1 2 2 O = E1Å E 2 E1 = span{ 0 } E2 = span{1 , 2 } 観測量 0 ・確率1/4でE2に所属し、状態は に収束 1 2 1 + 1 2 2 ・確率1/2でE1に所属し、状態は に収束 で観測した場合: ・部分空間への射影などで基底ベクトルに収縮するとは限らない ・測定後も重ね合わせ状態を維持が可能
  14. 14. 14 Q ={q0 ,q1 ,q2 ,q3 }È{rj ,k }ÈS j Qacc ={SN } Qrec ={S j |1£ j £ N } 2QFAの場合の要点① ・以下を計算する
  15. 15. 15 2QFAの場合の要点② ¢ a a a 〜 b b $ ①開始記号から 終端記号まで右 ②終端記号まで移動したら 重ね合わせ状態に状態遷移 ③各重ね合わせ状態 は開始記号まで左 ④開始記号まで戻ったら重ね合わせ 状態が打ち消し合うように状態遷移 ・全頁に沿って計算すると以下となる ・ambm (m>=1)の形式の場合の計算結果 〜 ・ ambm (m>=1)の形式の場合のみ非受理状態が打ち消し合う⇒測定すると確率1で受理状態 ・上記以外の場合⇒受理状態となる確率は1/N 1 N exp( 2pi N jl ) l =1 N å j =1 N å Sl ,0 = SN ,0
  16. 16. 16 終わり 古典有限オートマトン (正規言語) 1-QFA 2-QFA ・2-QFAは古典有限オートマトンよりも強力な計算モデルであり1-QFAは 古典有限オートマトンより弱い計算モデル
  17. 17. No.1 「0からコンピュータを作ってみた」 ・NANDゲートでCPU〜VM〜コンパイラまで作成しました ・「ゆるゆるIT勉強会 feat.Reedex Vol.4」 の発表資料 ・https://www.slideshare.net/YuuOkano/0-119311314 No.2 「0からコンピュータを作ってみた」 ・NANDゲートでCPU〜VM〜コンパイラまで作成しました ・「ゆるゆるIT勉強会 feat.Reedex Vol.4」 の発表資料 ・https://www.slideshare.net/YuuOkano/0-119311314 17 過去の発表資料

×