Path Detection: a Quantum Algorithmic Primitive
Total Page:16
File Type:pdf, Size:1020Kb
Path Detection: A Quantum Algorithmic Primitive Shelby Kimmel Middlebury College Based on work with Stacey Jeffery: arXiv: 1704.00765 (Quantum vol 1 p 26) Michael Jarret, Stacey Jeffery, Alvaro Piedrafita, arXiv:1804.10591 (ESA 2018) Kai DeLorenzo, Teal Witter, arXiv:1904.05995 (TQC 2019) Primitives! • Quantum algorithmic primitives 1. Widely applicable 2. Can be used in a black box manner (with easily analyzable behavior) Primitives! • Quantum algorithmic primitives 1. Widely applicable 2. Can be used in a black box manner (with easily analyzable behavior) – Ex: Searching unordered list of � items – Classically, takes Ω(�) time – Quantumly, takes �( �) time Primitives! • Quantum algorithmic primitives 1. Widely applicable 2. Can be used in a black box manner (with easily analyzable behavior) – Ex: Searching unordered list of � items – Classically, takes Ω(�) time – Quantumly, takes �( �) time Good primitive: ��-connectivity Outline: A. Introduction to st-connectivity B. st-connectivity makes a good algorithmic primitive 1. Widely applicable 2. Easy to analyze Outline: A. Introduction to st-connectivity B. st-connectivity makes a good algorithmic primitive 1. Widely applicable 2. Easy to analyze Applications: • Read-once Boolean formulas (query optimal) [JK] • Total connectivity (query optimal) [JJKP] • Cycle detection (query optimal) [DKW] • Even length cycle detection [DKW] • Bipartiteness (query optimal) [DKW] • Directed st-connectivity (query optimal) (Beigi et al ‘19) • Directed smallest cycle (query optimal) (Beigi et al ‘19) Outline: Applications: • Topological sort (Beigi et al ‘19) • Connected components (Beigi et al ‘19) • Strongly connected components (Beigi et al ‘19) • k-cycle at vertex v (Beigi et al ‘19) • st-connectivity (Reichardt, Belovs ‘12) ��-connectivity � �� − ������������: is there a path from � to �? � ��-connectivity � �� − ������������: is there a path from � to �? � Input to Algorithm Bit String: �! �" … �# Input to Algorithm Bit String: �! �" … �# 1 0 1 Input to Algorithm Skeleton � Bit String: 1 2 Graph 3 �! �" �$ 38 1 2 3 � Input to Algorithm Skeleton � Bit String: 1 2 Graph 3 �! �" �$ 38 1 1 0 1 2 3 � Input to Algorithm Skeleton � Bit String: 1 2 Graph 3 �! �" �$ 38 1 0 0 1 2 3 � Input to Algorithm Skeleton � Bit String: 1 2 Graph 3 �! �" �$ 38 1 1 2 • Bit string initially hidden, can query 3 value of string at each bit. � Input to Algorithm �! � � = � � + �" Skeleton � Bit String: 1 2 Graph 3 �! �" �$ 38 1 1 2 • Bit string initially hidden, can query 3 value of string at each bit. � Algorithm Skeleton � 1 2 Graph 3 38 1 2 Q. Algorithm to Ye s / N o 3 Solve connectivity � �%for Bit String: �! �" �$ Outline: A. Introduction to st-connectivity B. st-connectivity makes a good algorithmic primitive 1. Widely applicable 2. Easy to analyze Cycle Detection Is there a cycle? Ye s Cycle Detection Is there a cycle? No Cycle Detection Is there a cycle? 1 Input to Cycle Detection: 2 5 3 • Skeleton graph • Hidden bit string 4 �!�"�$�+�, �- = 1 ↔edge � is present Cycle Detection Is there a cycle through edge 1? 1 2 5 3 4 Cycle Detection Is there a cycle through edge 1? 1 2 5 3 4 There is a cycle through Edge 1 iff • Edge 1 is present • Path between the endpoints of Edge 1 not using Edge 1 Cycle Detection Is there a cycle through edge 1? � 1 1 Edge 1 is present 2 5 3 4 2 5 There is a cycle through 4 Path between Edge 1 iff the endpoints • Edge 1 is present 3 of Edge 1 not • Path between the � using Edge 1 endpoints of Edge 1 not using Edge 1 Cycle Detection Is there a cycle? 1 2 5 3 4 There is a cycle if there is a cycle through some edge Cycle Detection � Is there a cycle? 1 4 5 1 2 3 1 2 5 3 2 5 1 5 1 5 3 3 2 2 4 4 1 4 4 4 There is a cycle if 5 3 2 3 there is a cycle through some edge � Boolean Formulas � �(�) �1 �! �$ �, ⋀ ⋁ �+ �#$ �2 1 �3 ⋀ ⋀ ⋀ �" �4 ⋁ ⋁ �!0 �# �% �& �' � 0 0 1 0 �( �) �* �+ �, 0 1 0 1 1 Outline: A. Introduction to st-connectivity B. st-connectivity makes a good algorithmic primitive 1. Widely applicable 2. Easy to analyze Algorithm Analysis: Space Complexity: � log(# ����� �� �������� ����ℎ) Algorithm Analysis: Query Complexity: • Bit string initially unknown • Minimum # of oracle uses to determine w.h.p. on worst input Algorithm Analysis: Query Complexity: • Bit string initially unknown • Minimum # of oracle uses to determine w.h.p. on worst input ≈ Time Complexity Algorithm Analysis: Query Complexity: � max �(,% � max �(,% � !"##$!%$& ' #"% !"##$!%$& ' Effective resistance Effective capacitance Algorithm Analysis: Query Complexity: � max �(,% � max �(,% � !"##$!%$& ' #"% !"##$!%$& ' Effective resistance Effective capacitance [Belovs, [Jarret, Jeffery, Kimmel, Reichardt, ’12] Piedrafita, ’18] Effective Resistance 1 unit of flow � � 1 unit of flow Effective Resistance 1 unit of flow � Valid flow: 1 0 • 1 unit in at � • 1 unit out at � � 1 − � • At all other nodes, zero net flow 1 � 1 unit of flow Effective Resistance 1 unit of flow � Flow energy: 1 0 N ���� �� ���� " � 56758 1 − � 1 � 1 unit of flow Effective Resistance 1 unit of flow � Flow energy: 1 0 N ���� �� ���� " � 56758 1 − � Effective Resistance: �8,:(�) • Smallest energy of any valid 1 flow from � to � on �. � 1 unit of flow Effective Resistance 1 unit of flow � Flow energy: 1 0 N ���� �� ���� " 1/2 56758 1/2 Effective Resistance: �8,:(�) • Smallest energy of any valid 1 flow from � to � on �. � 1 unit of flow Algorithm Analysis: Query Complexity: � max �(,% � max �(,% � !"##$!%$& ' #"% !"##$!%$& ' Effective resistance Effective capacitance Effective Capacitance � Generalized cut: 1 • 1 at � 1 • 0 at � 1 • Difference is 0 across edge � 0 � Effective Capacitance Potential energy: � 1 N ��� ���������� " 1 1 56758 -# 8;5<5:=# 7>?@A � 0 � Effective Capacitance Potential energy: � 1 N ��� ���������� " 1 1 56758 -# 8;5<5:=# 7>?@A Effective Capacitance: � (�) 8,: 2/3 • Smallest potential energy of any valid generalized cut 0 � between � and � on �. Algorithm Analysis: Query Complexity: � max �(,% � max �(,% � !"##$!%$& ' #"% !"##$!%$& ' Effective resistance Effective capacitance Example Cycle Detection � max �8,: � max �8,: � B=##5B:56 C #=: B=##5B:56 C � 1 5 2 3 4 1 2 5 5 1 3 1 3 2 5 2 4 1 4 4 5 4 3 2 3 � Example Cycle Detection � max �8,: � max �8,: � B=##5B:56 C #=: B=##5B:56 C � 1 5 2 3 4 1 2 5 5 1 3 1 3 2 5 2 4 1 4 4 5 4 3 2 3 � Example Cycle Detection � max �8,: � max �8,: � B=##5B:56 C #=: B=##5B:56 C � 1 5 2 3 4 1 2 5 5 1 3 1 3 2 5 2 4 1 4 4 5 4 3 2 3 � • k parallel paths of length k Length k cycle • 1/� flow on each path • Effective resistance is 1 Example Cycle Detection � max �8,: � max �8,: � B=##5B:56 C #=: B=##5B:56 C � 1 5 2 3 4 1 2 5 5 1 3 1 3 2 5 2 4 1 4 4 5 4 3 2 3 � Multiple cycles Effective resistance is < 1 Example Cycle Detection � max �8,: � max �8,: � B=##5B:56 C #=: B=##5B:56 C � 1 5 2 3 4 1 2 5 5 1 3 1 3 2 5 2 4 1 4 4 5 4 3 2 3 � Example Cycle Detection � max �8,: � max �8,: � B=##5B:56 C #=: B=##5B:56 C � % • � � subgraphs 1 5 2 3 4 corresponding to non- 1 2 5 5 1 3 1 present edges: cut at top 3 2 5 2 • � � 4 1 subgraphs 4 4 5 4 corresponding to present 3 2 3 edges, cut could have � �(�%) edges in cut Example Cycle Detection � max �8,: � max �8,: � B=##5B:56 C #=: B=##5B:56 C $ �8,: � = �(1) �8,: � = �(� ) Query complexity: � �$/" (optimal – logarithmic improvement over previous algorithm) Example Cycle Detection � max �8,: � max �8,: � B=##5B:56 C #=: B=##5B:56 C E! �8,: � = ������� ���� Circuit rank = min # of edges to cut to create a cycle free graph • Quantum algorithm picks out critical topological parameter • If promised either large circuit rank or no cycle, then cycle detection algorithm runs faster • Proved by 2nd year undergrads Estimation Algorithm: Quantum query algorithm to estimate effective resistance or effective capacitance of �. (Jeffery, Ito ’15) Estimation Algorithm: Quantum query algorithm to estimate effective resistance or effective capacitance of �. (Jeffery, Ito ’15) Because effective resistance depends directly on circuit rank, we now have a quantum algorithm to estimate circuit rank. Umm…Algorithm? N Theorem 14. Let U(P, x)=(2Πker A I)(2ΠH(x) I).FixX 0, 1 and f : X 0, 1 ,andletPbeaspan N − − ⊆ { } → { } program on 0, 1 that decides f . Let W+( f , P)=maxx f 1(1) w+(x, P) and W ( f , P)=maxx f 1(0) w (x, P). { } ∈ − − ∈ − − Then there is a bounded error quantum algorithm that decides fbymakingO( W+( f , P)W ( f , P)) calls to U(P, x), − and elementary gates. In particular, this algorithm has quantum query complexity O( W+( f , P)W ( f , P)). ! − Ref. [IJ16]definestheapproximate positive and negative witness sizes, w˜ +(x, !P) and w˜ (x, P).Theseare − similar to the positive and negative witness sizes, but with the conditions w H(x) and ωAΠH(x) = 0 relaxed. | ⟩∈ Definition 15 (Approximate Positive Witness). For any span program P on 0, 1 N and x 0, 1 N,wedefine the positive error of x in Pas: { } ∈ { } 2 e+(x)=e+(x, P) := min Π w : A w = τ .(14) H(x)⊥| ⟩ | ⟩ "# # $ # # # # 2 We say w is an approximate positive witness for x in P if Π w = e+(x) and A w = τ. We define | ⟩ H(x)⊥ | ⟩ | ⟩ the approximate positive witness size as # # # # # # 2 2 w˜ +(x)=w˜ +(x, P) := min w : A w = τ, Π w = e+(x) .(15) ∥| ⟩∥ | ⟩ H(x)⊥ | ⟩ " # # $ # # If x P ,thene+(x)=0.