Databases are used in various computing systems to store information. The main operations conducted on databases to perform transactions include insert operations, update operations, delete operations, and search operations. Currently, there are no effective systems that can provide such operations for databases associated with quantum computing systems.
The following detailed description refers to the accompanying drawings. The same reference numbers in different drawings may identify the same or similar elements.
Systems, devices, and/or methods described herein may provide for one or more quantum circuit systems that provided for database search, delete, update, and/or insert operations. In embodiments, one or more circuits may be used to conduct search, delete, update, and/or insert operations in a quantum database. In embodiments, one particular quantum circuit may be a quantum insert circuit which may insert/append new data in a quantum database (i.e., QDB) to construct a uniform superposition QDB or a weighted superposition QDB.
Accordingly, the systems, devices, and/or methods described herein can be used to insert a greater amount of data into a database system, which cannot be achieved using non-quantum computers or other systems. In embodiments, the one or more quantum circuits provide for a more efficient insertion of information from one or more databases and can overcome issues of requiring more time associated with non-quantum systems. In embodiments, the insert operation may have a database system that is integrated with AI. Grover's algorithm, which is a quantum search algorithm, that reduces the search process within a database system of O(√{square root over (N)}) (where N is the number of database items, compared with traditional algorithms that need O(N)). Thus, quantum computers have a significantly greater speed (such as a quadratic speed) to perform such search operations when compared to a non-quantum computer.
In embodiments, if it is required to store a uniform superimposition QDB, parameters g and h are initialized as follows in equation (1):
In embodiments, where k=1, 2, 3, . . . , 2n−1. In embodiments, if it is required to store a weighted superposition QDB then the parameters are given by equation (2):
, |S
, and |D
. In embodiments, the register |D
represents the input register which is of size n qubits. In embodiments, the register |D
carries new data which is required to be inserted in the quantum database (QDB). In embodiments, the register |QDB
represents a register of n qubits initialized with the vacuum state |000 . . . 0
, which stores the quantum database in the quantum database system. In embodiments, the register |S
represents a two-qubit quantum control register initialized with state |01
, where the state |01
, for register |S
is used to mark the vacuum state |000 . . . 0
. And initialize the counter k to be k=1.
At step 1 (202), if the given/calculated value of αk satisfies that αk=M−Σi=1,k-1αi=1, then apply step 2 (204) only and terminate the algorithm; else apply steps 2-9. In embodiments, M represents the number of states, data items, which are required to be stored in the QDB, has a weight
such that M may be equal or not equal 2n, αk=2n−k in equation (1), noted above. In embodiments, the value of M depends on given value that is defined by the user or a computer application program in equation (2) as noted above.
At step 2 (204): a set of size n of 3-qubit Toffoli gates are applied to store the new input data that is carried via the state of the register |D into the vacuum state of register |QDB
.
At step 3 (206), quantum circuit 200 may apply the S-operator which consists of n of CNOT gates, and n of X gates. In embodiments, each CNOT gate is applied on each two qubits of the registers |D_i, and |QDB_i
, where i=1, 2, . . . , n such that the control qubit is |D_i
and the target qubit is |QDB_i
. In embodiments, each gate of n X gates is applied on the qubits of the register |QDB_i
. In embodiments, step 3 (206) transforms the state of the new current inserted data to state |111 . . . 1
.
At step 4 (208), the n+1-qubit Toffoli gate is applied by quantum circuit 200 such that the control qubits are the qubits of the register |QDB, and the target qubit is |S_1
. In embodiments, step 4 (208) marks by entanglement the new inserted state that is stored in the register |QDB
.
At step 5 (210), the IO operator is executed by quantum circuit 200. In embodiments, if it is required to construct a uniform superposition QDB then the operator IO is applied with the parameters of equation (1), described above. Conversely, in embodiments, if it is required to construct a uniform superposition QDB then the operator IO is applied with the parameters of equation (2) as described above.
At step 6 (212), step 4 is repeated. In embodiment; step 6 (212) undoes the effect of step (4) because the inverse of step 4 is performed by applying the same gate or it is decomposition. In other words, step 6 (212) removes the marking step that is done in step 4.
At step 7 (214), step 3 is repeated. In embodiments, step 7 (214) undoes the effect of step 3 because the inverse of step 3 is performed by applying the same gate.
At step 8 (216), step 2 is repeated. In embodiments, step 8 (216) makes the state of the register |D which is entangled with state |01
, of the register |S
, go to the vacuum state |000 . . . 0
to be ready for storing new state(s).
At step 9, In embodiments, if it is required to store a uniform superposition QDB then k=k+1 in equation (1), described above, and go to step 2 (204). In embodiments, if it is required to store a weighted superposition QDB then receive α_k as input and go to step 2 (204).
In this non-limiting example, a quantum circuit is applied three times to values {|0011, |0101
, |1001
} and graph 400 is generated. As shown in
In this non-limiting example, a quantum circuit is applied three times to values {|0011, |0101
, |1001
} and graph 500 is generated. As shown in
Quantum bus 610 may include a path that permits communications among the components of device 600. Quantum processor 620 may include one or more processors, microprocessors, and/or processing logic (e.g., a field programmable gate array (FPGA), quantum teleportation devices, quantum communication devices, quantum computing circuits, quantum encryption applications and/or an application specific integrated circuit (ASIC)) that interprets and executes instructions. Input component 640 may include a mechanism that permits a user to convert classical information to quantum input information to device 600, such as a quantum circuit, a quantum-based application, a keyboard, a keypad, a button, a switch, voice command, etc. Quantum output component 650 may include a mechanism that outputs information and transforms quantum information to classical information to be provided to the user, such as a display, a speaker, one or more light emitting diodes (LEDs), etc.
Quantum communications interface 660 may include any transceiver-like mechanism that enables device 600 to communicate with other devices and/or systems. For example, communications interface 660 may include an Ethernet interface, an optical interface, a coaxial interface, a wireless interface, or the like and quantum-to-classical and vice versa unit.
In another implementation, quantum communications interface 660 may include, for example, a transmitter that may convert baseband signals from quantum processor 620 to radio frequency (RF) signals and/or a receiver that may convert RF signals to baseband signals. Alternatively, communications interface 660 may include a transceiver to perform functions of both a transmitter and a receiver of wireless communications (e.g., radio frequency, infrared, visual optics, quantum wireless, quantum channels, quantum fiber optics, quantum teleportation, quantum communication devices/networks, quantum encryption devices, etc.), wired communications (e.g., conductive wire, twisted pair cable, coaxial cable, transmission line, fiber optic cable, waveguide, single-photon channels, multi-photon channels, etc.), or a combination of wireless and wired communications.
Communications interface 660 may connect to an antenna assembly (not shown in
As will be described in detail below, device 600 may perform certain operations. Device 600 may perform these operations in response to quantum processor 620 executing software instructions (e.g., computer program(s), quantum computing circuit, quantum teleportation, etc.) contained in a computer-readable medium/quantum-based computing, such as quantum memory 630, a secondary storage device (e.g., hard disk, CD-ROM, etc.), or other forms of RAM or ROM. A computer-readable medium may be defined as a non-transitory memory device. A memory device may include space within a single physical memory device or spread across multiple physical memory devices. The software instructions may be read into quantum memory 630 from another computer-readable medium or from another device. The software instructions contained in quantum memory 630 may cause quantum processor 620 to perform processes described herein. Alternatively, hardwired circuitry may be used in place of or in combination with software instructions to implement processes described herein. Thus, implementations described herein are not limited to any specific combination of hardware circuitry and software.
Even though particular combinations of features are recited in the claims and/or disclosed in the specification, these combinations are not intended to limit the disclosure of the possible implementations. In fact, many of these features may be combined in ways not specifically recited in the claims and/or disclosed in the specification. Although each dependent claim listed below may directly depend on only one other claim, the disclosure of the possible implementations includes each dependent claim in combination with every other claim in the claim set.
While various actions are described as selecting, displaying, transferring, sending, receiving, generating, notifying, and storing, it will be understood that these example actions are occurring within an electronic computing, electronic networking, quantum database, quantum computing and/or quantum networking environment and may require one or more computing devices, as described in
No element, act, or instruction used in the present application should be construed as critical or essential unless explicitly described as such. Also, as used herein, the article “a” is intended to include one or more items and may be used interchangeably with “one or more.” Where only one item is intended, the term “one” or similar language is used. Further, the phrase “based on” is intended to mean “based, at least in part, on” unless explicitly stated otherwise.
In the preceding specification, various preferred embodiments have been described with reference to the accompanying drawings. It will, however, be evident that various modifications and changes may be made thereto, and additional embodiments may be implemented, without departing from the broader scope of the invention as set forth in the claims that follow. The specification and drawings are accordingly to be regarded in an illustrative rather than restrictive sense.