Supplementary Information of “An optical fiber network oracle for NP-complete problems” S1. Delay Assignment S1.1 Proof for T j t (2 N 2 j 1 ) To provide an unambiguous oracle, the delay Tj assigned to nodes numbered by subscript j must be selected in a way that equation N N C T T j j 1 j j 1 (S1) j is fulfilled only if Cj = 1 for all j = 1, 2,… N. Here Cj is a non-negative integer representing the number of visits to node j and N is the number of nodes in the graph. In this case observing a pulse with delay equal to the sum of all nodes’ delay is equivalent to the oracle declaration of existence of the Hamiltonian path. Here we will show that the delay assignment Tj = ∆t∙(2N+2j-1) is universally suitable for the oracle as Hamiltonian path can be distinguished from any other combinations of delay. Substituting the Tj expression into Eq.(S1) yields N N j 1 j 1 2 N C j C j 2 j 1 N 2 N 2 N 1 (S2) N N 2 N 1 2 N C j N C j 2 j 1 j 1 j 1 (S3) This equation can be re-written as So we have N C j 1 j N (S4) Otherwise, the right hand side of Eq.(S3) will be greater than 2N. Then we suppose that certain Cj equal to zero. Obviously C1 is greater than zero. For any Cj = 0 (j > 1), the lack of its corresponding term of 2j-1 must be compensated by one or few 2p-1 (p < j) terms. This is because {1, 2, … 2N-1} can be treated as the base of binary expression. The right hand side of Eq.(S1) and Eq.(S2) can be then treated as a known binary expression with all 1 the coefficients equal to 1 except for the term of 2N. Therefore the missing 2j-1 term requires at least an additional 2·2 j-1 term to compensate. Or compared with the case that Cj = 1 (j = 1~N), each Cj = 0 increases the total sum of Cj by at least 1. That is, if there exists any Cj = 0 (j > 1), then N C j 1 j N 1 (S5) This conflicts with Eq.(S4), therefore Cj = 0 cannot exist. Since all Cj’s are non-negative integers, the only possible values of them are Cj = 1 for all j = 1~N. An example of the above proof for a graph with 5 nodes is shown in Fig.S1. The total time delay is given by N T j 1 j ( N 1)2 N 1 t N 2 N t (S6) And the time complexity is O(N2N). Figure S1 An example of the proof procedure for a graph with N = 5 nodes. For all Cj = 1, the sum of Cj is 5. If there is one Cj = 0, in this example it is C4, the missing term 23 can only be compensated by increasing the coefficients of smaller terms 22, 21 and 20. A few possible coefficient combinations are given in the figure such as {3,1,1}, {2,3,1} and {0,7,1} for terms {2 2, 21, 20}. However, by observing these coefficient combinations, compensation of term 23 at least requires a coefficient of 3 for term 2 2 and increases the sum of Cj by 1. This conflicts with the limitation set by Eq.(S2). Therefore all Cj’s must be greater than zero and the only possible values satisfying Eq.(S2) are Cj = 1 for all j = 1~N. 2 N S1.2 Proof for T j t pk / p j k 1 In this delay assignment pj’s are different prime numbers and p1 < p2...< pN. With this delay assignment, all terms in Eq.(S1) are divisible by prime number pj, except for the terms of Cj Tj in the left hand side and Tj in the right hand side. This means (Cj - 1)Tj is divisible by pj. Since Tj is not divisible, (Cj - 1) is therefore divisible by pj, so we can write that C j 1 mj pj (S7) where mj is a non-negative integer. Substituting Eq.(S7) into Eq.(S1) yields N m j 1 j 0 (S8) Therefore mj = 0 and correspondingly, Cj = 1 for all j = 1 ~ N. Prime number based delay assignment has a time complexity greater than O(N!) since N T j 1 j N N N t pk / p j tN pk / pN tN ! j 1 k 1 k 1 3 (S9) S2. Experimental Implementation of the Fiber Network S2.1. Fiber network design Realization of the graph is based on optical fiber and fiber couplers, as shown in Figure 1 (b) in the main text. For node 1, an optical pulse is injected into the starting port of the whole graph. Then the pulse is split into two paths by a 50:50 fiber coupler. These two pulses with ~50% energy of the injected pulse will propagate to node 2 and node 5 via fiber links. For the pulses propagating back from node 4 to node 1, an 80:20 fiber coupler in node 1 is used. 20% power of the pulses from node 4 is extracted in the ending port for detection and the rest 80% power will be re-injected into the graph via the other input port of the 50:50 fiber coupler in node 1. For node 2, 3 and 5, the couplers used are all 50:50 fiber couplers with two inputs and two outputs. For node 2, only one input port of the coupler is used. For node 3 and 5, one output port of the coupler is used to form the connection to other nodes and the other output port is used as monitor port. All the nodes are connected by optical fibers. All fibers are connected by fiber splicing to minimize loss and eliminate back reflection induced by the fiber connector. There is no need of using optical isolator in this specific graph: the unidirectional property of all the paths is guaranteed by the design of each node. The delay of each node is achieved by inserting certain length of fiber in the node. The delay length of each node is calculated from the splicing point (shown as “X” in Figure 1 (b)) of the input fiber to the splicing point of the output fiber. For standard single mode fiber (SMF) at 1.55 µm, the effective refractive index is ~1.465, therefore 1 meter of SMF generates a delay of ~4.9 ns. Note that due to the length of input fiber at node 1 an additional common delay of ~7.5 ns is added to all output pulse delays; however, being common, this delay is irrelevant to the experiment. S2.2. Node design A node design for a general graph with N nodes and arbitrary connections is shown in Fig.S2. All inputs from other nodes are combined by an Nx1 combiner. Then the combined optical signals are delayed and amplified. Finally, the optical signals are equally split by a 1xN splitter and output to other nodes. Any node can be the starting node and/or the ending node for the Hamiltonian path detection since only N-1 inputs and N-1 outputs are used. 4 Input from other nodes or external ... Nx1 combiner Delay Isolator Amplifier Isolator 1xN splitter ... Output to other nodes or external Figure S2 Node design for a general graph with N nodes and arbitrary connections among different nodes. Input signals are combined by an Nx1 combiner and then delayed by a certain length of fiber. Isolators guarantee the unidirectional operation and amplifier compensates the loss. The signals are finally split by a 1xN splitter as output to other nodes or external for monitoring purpose. 5