Route Finding: A Quantum [Non] Algorithm Jason Clemons EECS 598 November 7, 2001.

Slides:



Advertisements
Similar presentations
Graphs and Finding your way in the wilderness
Advertisements

Midwestern State University Department of Computer Science Dr. Ranette Halverson CMPS 2433 – CHAPTER 4 GRAPHS 1.
Introduction to Graph “theory”
IKI 10100: Data Structures & Algorithms Ruli Manurung (acknowledgments to Denny & Ade Azurat) 1 Fasilkom UI Ruli Manurung (Fasilkom UI)IKI10100: Lecture10.
Lecture 17 Path Algebra Matrix multiplication of adjacency matrices of directed graphs give important information about the graphs. Manipulating these.
Graphs Chapter 12. Chapter Objectives  To become familiar with graph terminology and the different types of graphs  To study a Graph ADT and different.
Chapter 8, Part I Graph Algorithms.
Introduction This chapter explores graphs and their applications in computer science This chapter explores graphs and their applications in computer science.
Edited by Malak Abdullah Jordan University of Science and Technology Data Structures Using C++ 2E Chapter 12 Graphs.
Midwestern State University Department of Computer Science Dr. Ranette Halverson CMPS 2433 CHAPTER 4 - PART 2 GRAPHS 1.
C++ Programming: Program Design Including Data Structures, Third Edition Chapter 21: Graphs.
ITEC200 – Week 12 Graphs. 2 Chapter Objectives To become familiar with graph terminology and the different types of graphs To study.
Applied Discrete Mathematics Week 12: Trees
Chapter 9 Graph algorithms. Sample Graph Problems Path problems. Connectedness problems. Spanning tree problems.
Nyhoff, ADTs, Data Structures and Problem Solving with C++, Second Edition, © 2005 Pearson Education, Inc. All rights reserved Graphs.
Graphs. Graph definitions There are two kinds of graphs: directed graphs (sometimes called digraphs) and undirected graphs Birmingham Rugby London Cambridge.
Introduction to Graphs
Introduction to Graphs What is a Graph? Some Example applications of Graphs. Graph Terminologies. Representation of Graphs. –Adjacency Matrix. –Adjacency.
Graphs Chapter 12. Chapter 12: Graphs2 Chapter Objectives To become familiar with graph terminology and the different types of graphs To study a Graph.
Spring 2010CS 2251 Graphs Chapter 10. Spring 2010CS 2252 Chapter Objectives To become familiar with graph terminology and the different types of graphs.
Fall 2007CS 2251 Graphs Chapter 12. Fall 2007CS 2252 Chapter Objectives To become familiar with graph terminology and the different types of graphs To.
Discrete Math for CS Chapter 8: Directed Graphs. Discrete Math for CS digraph: A digraph is a graph G = (V,E) where V is a finite set of vertices and.
Chapter 9: Graphs Basic Concepts
Backtracking.
ECE669 L10: Graph Applications March 2, 2004 ECE 669 Parallel Computer Architecture Lecture 10 Graph Applications.
GRAPH Learning Outcomes Students should be able to:
Chapter 9 – Graphs A graph G=(V,E) – vertices and edges
GRAPH THEORY.  A graph is a collection of vertices and edges.  An edge is a connection between two vertices (or nodes).  One can draw a graph by marking.
Graph Theory Topics to be covered:
Week 11 - Wednesday.  What did we talk about last time?  Graphs  Euler paths and tours.
Nyhoff, ADTs, Data Structures and Problem Solving with C++, Second Edition, © 2005 Pearson Education, Inc. All rights reserved Graphs.
1 CS104 : Discrete Structures Chapter V Graph Theory.
Nyhoff, ADTs, Data Structures and Problem Solving with C++, Second Edition, © 2005 Pearson Education, Inc. All rights reserved Graphs.
Fundamental Data Structures and Algorithms (Spring ’05) Recitation Notes: Graphs Slides prepared by Uri Dekel, Based on recitation.
1 Graphs Theory UNIT IV. 2Contents  Basic terminology,  Multi graphs and weighted graphs  Paths and circuits  Shortest path in weighted graph  Hamiltonian.
Data Structures CSCI 132, Spring 2014 Lecture 38 Graphs
Graphs A ‘Graph’ is a diagram that shows how things are connected together. It makes no attempt to draw actual paths or routes and scale is generally inconsequential.
Graphs. Graphs Similar to the graphs you’ve known since the 5 th grade: line graphs, bar graphs, etc., but more general. Those mathematical graphs are.
1 Directed Graphs Chapter 8. 2 Objectives You will be able to: Say what a directed graph is. Describe two ways to represent a directed graph: Adjacency.
Graphs Chapter 12. Chapter 12: Graphs2 Chapter Objectives To become familiar with graph terminology and the different types of graphs To study a Graph.
Discrete Structures CISC 2315 FALL 2010 Graphs & Trees.
1 Algorithms CSCI 235, Fall 2015 Lecture 32 Graphs I.
Source: CSE 214 – Computer Science II Graphs.
Chapter 20: Graphs. Objectives In this chapter, you will: – Learn about graphs – Become familiar with the basic terminology of graph theory – Discover.
Chapter 05 Introduction to Graph And Search Algorithms.
Week 11 - Wednesday.  What did we talk about last time?  Graphs  Paths and circuits.
(CSC 102) Lecture 30 Discrete Structures. Graphs.
Spanning Trees Dijkstra (Unit 10) SOL: DM.2 Classwork worksheet Homework (day 70) Worksheet Quiz next block.
1 GRAPH Learning Outcomes Students should be able to: Explain basic terminology of a graph Identify Euler and Hamiltonian cycle Represent graphs using.
Graphs and Matrices Spring 2012 Mills College Dan Ryan Lecture Slides by Dan Ryan is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike.
Graphs Chapter 20.
Graphs Representation, BFS, DFS
Introduction to Graphs
Matrix Multiplication
Introduction to Graphs
CS120 Graphs.
Comp 245 Data Structures Graphs.
Graphs Representation, BFS, DFS
Graphs Chapter 13.
Chapter 9: Graphs Basic Concepts
Graphs.
Discrete Math 2 Shortest Paths Using Matrix
Discrete Math 2 Shortest Path Using Matrix
Backtracking and Branch-and-Bound
Trees-2, Graphs Data Structures with C Chpater-6 Course code: 10CS35
Algorithms CSCI 235, Spring 2019 Lecture 32 Graphs I
Chapter 9: Graphs Basic Concepts
Chapter 9 Graph algorithms
Introduction to Graphs
Introduction to Graphs
Presentation transcript:

Route Finding: A Quantum [Non] Algorithm Jason Clemons EECS 598 November 7, 2001

The Paper Narayanan, A., Wallace, J. A Quantum Algorithm for Route Finding. Proceedings of the 15th European Meeting on Cybernetics and Systems Research (EMCSR 2000), Vienna, Austria, April 2000, Vol. 1, pp EMCSR 2000

Outline for the day Introduction to Graphs Review of basic graphs Review of representation The QAND The Basic Algorithm Interesting Findings Final Thoughts and Questions

Graphs Common representation in CS A D BC

Graphs Terminology Edges – connect two nodes Node – Basic state or representation there of Weight – Cost associated with a node

Graphs A few characteristics: Weighted Directional Problems from graphs Graph Coloring Hamiltonian Circuit Finding Traveling Salesman (Shortest Route)

Our Graph Shortest Route Finding for: Weighted finite edges Finite number of nodes Undirected No self connection edges

Our Graph (Example) A B CS

Representation As Matrix Adjacency Matrix: N x N Matrix where N is the number of nodes M ij = w i to j where w is the weight of the edge from node I to node J and zero or zero if there is no edge

Representation as Matrix SABC S0240 A2015 B4102 C0520

Our Graph as a Tree S BA CBSSAC CA ACS BABA BCS BA

The Quantum And a QSUMAND b = a + b if (a > 0 and b >0) 0 if a=0 or b =0 where a, b  R +  {0} Example: 2 QSUMAND 2 = 4 2 QSUMAND 0 = 0

The Matrix creation Each Row is superposition of states representing the edges Example: From our Matrix before the row |S> is the vector a|000> + b|010> +c|100> + d|000> An element can be identified using the row and column labels Example: = 1 (note: not an IP)

Quantum Registers Similar to what is used by Shor 3 Registers Reg1 Holds the original adjacency matrix Reg2 Holds Matrix created when choose start node Reg3 Interacts with Reg1 to tell us whether a route exists. During the Algorithm we alternate between Reg2 and Reg3 to hold info

Algorithm Step 1 Select the Starting node and perform the QSUMAND manipulation process (Perform QSUMAND between start node row and all other rows) to produce a new matrix M 2

Algorithm Step 1 |S 1 >QSUMAND|S 1 > | > QSUMAND | > = | > |S 1 >QSUMAND|A 1 > | > QSUMAND | > = | > |S 1 >QSUMAND|B 1 > = | > |S 1 >QSUMAND|C 1 > = | >

M2M2 |s 2 >|a 2 >|b 2 >|c 2 > |S 2 >0480 |A 2 >0050 |B 2 >0300 |C 2 >0760

What M 2 Says M 2 shows that from S to the row node is connected through column node with a total length of the entry Example: S to B to A is 5 We have a new level of the search tree!

What M 2 Says The column shows from the start point to that node and from that node to each of the rows.

Algorithm Step 2 Manipulate each non-zero column of the matrices constructed in previous step by performing QSUMAND with each non zero column and the entire row in matrix M 1 that is associated with each element from the non zero column

Step 2 example QSUMAND |S 1 > |4> QSUMAND | > = | > QSUMAND |A 1 > = | > QSUMAND |B 1 > = | > QSUMAND |C 1 > = | >

M3M3 |s 3 >|a 3 >|b 3 >|c 3 > |S 3 >0680 |A 3 >0000 |B 3 >7405 |C 3 >01290

M4M4 |s 4 >|a 4 >|b 4 >|c 4 > |S 4 > |A 4 >70610 |B 4 >0000 |C 4 >01180

M 3 and M 4 They are each a separate side of the search tree M 3 is path from S down Node A M 4 is path from S down Nobe B

M 3 and M 4 Entry is the distance from start to Row by path computed so far and then from row to column Example: in M 3 has the cumulative weight for S- >A->B->S which is 7 in M 4 has the cumulative weight for S- >B->B->S which is 0

M 3 and M 4 S BA CBSSAC CA ACS BABA BCS BA M3M3 M4M4

Step 3 Repeat step 2 adequate amount of times to reach bottom of tree and for each new matrix at each level

Step 4 Route exists if there is non zero value in a column Thus measure columns and non zero values are path

Expanding the Adjacency Matrix Creation Each row and column are a super position of quantum state vectors with N states where N is number of nodes The N states either show a weight if there is an edge or show that there is no weight ie the n states represent a weight

Issues Even if have weights, information on which node is connected to which is lost |  s > = |  s > + |  a > + |  b > + |  c > looks okay but leads to: |S 1 > = a|000> + b|010> + c|100> + d|000>

Issues Author calls for n distinct values but opens up problem of dealing with states that have the same weight Author agrees saying: “There are problems describing the adjacency matrix as quantum state vectors”

Issues Algorithm calls for acting on single state in a superposition of states ie acting solely on state |  a > for the vector |  s > = |  s > + |  a > + |  b > + |  c >

Alternate Representation Add in qubits for the node in which this weight is for. One issue is make sure you have enough qubits to represent the weight Furthermore the fact that the Qubits are no longer in a single state will complicate the QSUMAND

Review Graph Basics Route Finding in general QAND The basic Algorithm Issues with Algorithm Fixes to be explored

Questions?

References NarayananNarayanan, A., Wallace, J., A Quantum Algorithm for Route Finding. Proceedings of the 15th European Meeting on Cybernetics and Systems Research (EMCSR 2000), Vienna, Austria, April 2000, Vol. 1, pp WallaceEMCSR 2000 Penrose, R. Shadows of the Mind: A search for the missing science of consciousness. Oxford University Press Shor, P., Algorithms for quantum computation: Discrete logarithms and factoring 1994.

Follow Up I need a drink after all this.