WO2024052890A1 - Quantum annealing-based method and apparatus for computing solutions to problems - Google Patents
Quantum annealing-based method and apparatus for computing solutions to problems Download PDFInfo
- Publication number
- WO2024052890A1 WO2024052890A1 PCT/IB2023/061161 IB2023061161W WO2024052890A1 WO 2024052890 A1 WO2024052890 A1 WO 2024052890A1 IB 2023061161 W IB2023061161 W IB 2023061161W WO 2024052890 A1 WO2024052890 A1 WO 2024052890A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- value
- qubits
- qubit
- solution
- clause
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B82—NANOTECHNOLOGY
- B82Y—SPECIFIC USES OR APPLICATIONS OF NANOSTRUCTURES; MEASUREMENT OR ANALYSIS OF NANOSTRUCTURES; MANUFACTURE OR TREATMENT OF NANOSTRUCTURES
- B82Y10/00—Nanotechnology for information processing, storage or transmission, e.g. quantum computing or single electron logic
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N10/00—Quantum computing, i.e. information processing based on quantum-mechanical phenomena
- G06N10/40—Physical realisations or architectures of quantum processors or components for manipulating qubits, e.g. qubit coupling or qubit control
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N10/00—Quantum computing, i.e. information processing based on quantum-mechanical phenomena
- G06N10/60—Quantum algorithms, e.g. based on quantum optimisation, quantum Fourier or Hadamard transforms
Definitions
- the present invention relates to a method and device for calculating a solution to a problem using a quantum computer.
- Quantum annealing is mainly used for binary combinatorial optimization, and a superconductor-based quantum annealer that practically implements the Ising Model is used.
- a superconductor-based quantum annealer that practically implements the Ising Model is used.
- the technical problem to be achieved by the present invention is to eliminate repetitive encoding of qubits in order to compensate for the problems of prior technologies, while also eliminating the problem expected from a quantum annealer.
- the goal is to reduce the size of a given problem based on statistical analysis between repetitive post-processing tasks to maintain the gain in computational complexity.
- the technical problem of the present invention is not limited to the technical problem described above, and other technical problems can be inferred from the embodiments of the present invention.
- the present invention provides a method and device for calculating a solution to a problem based on quantum annealing.
- a method of calculating a solution to a problem based on quantum annealing includes a sample set including a plurality of qubits through quantum annealing. ) Obtaining; fixing the value of a specific qubit among the plurality of qubits based on statistical analysis; and calculating a solution to the problem based on the fixed specific qubit value.
- a solution calculation method is provided, including:
- an apparatus for calculating a solution to a problem based on quantum annealing comprising: at least one processor; and at least one memory operably connected to the at least one processor and storing instructions that, when executed, cause the at least one processor to perform a specific operation.
- the specific operations include: an apparatus for calculating a solution to a problem based on quantum annealing, comprising: at least one processor; and at least one memory operably connected to the at least one processor and storing instructions that, when executed, cause the at least one processor to perform a specific operation.
- the specific operation includes: obtaining a sample set including a plurality of qubits through quantum annealing; fixing the value of a specific qubit among the plurality of qubits based on statistical analysis; and calculating a solution to the problem based on the fixed specific qubit value.
- a solution calculation device comprising a is provided.
- a computer-readable non-volatile storage medium including at least one computer program that causes at least one processor to perform an operation, the operation being: a plurality of qubits through quantum annealing.
- Obtaining a sample set including: fixing the value of a specific qubit among the plurality of qubits based on statistical analysis; and calculating a solution to the problem based on the fixed specific qubit value.
- a storage medium containing a is provided.
- the size of the problem can be reduced based on the value of the specific fixed qubit.
- the acquisition and fixation can be performed iteratively.
- the statistical analysis may include analyzing the effect of the bias of each of the qubits on the state of system energy.
- the statistical analysis includes: counting whether each of the qubits in the sample set has a value of 0 or 1; estimating the optimal value of the qubits by deriving a bias of whether each of the qubits is biased toward 0 or 1; and calculating an influence on the state of system energy for a specific qubit whose bias is greater than or equal to a threshold, and based on the calculation result of the influence, the value of the specific qubit may be fixed.
- the bias can be derived by dividing the count value of each of the qubits by the number of the entire sample set.
- the impact can be calculated by comparing the system energy value when the value of the specific qubit is 0 and the system energy value when the value of the specific qubit is 1. there is.
- the statistical analysis may be performed on combinations of some of the qubits.
- the solution calculation device may include a quantum computer.
- the optimal value of each qubit is estimated through high-level simple annealing result analysis without the need to identify the root cause of errors in the quantum annealer, while simultaneously reducing the size of the problem. , qualitative improvement in the results of repeated annealing operations can be expected.
- Figure 1 illustrates scenarios of NTN to which a terminal can connect.
- Figure 2 is a block diagram showing the main configuration of the solution calculation device.
- Figure 3 is a flowchart showing a solution calculation method according to an embodiment of the present invention.
- first, second, etc. are used to describe various components, and are used only for the purpose of distinguishing one component from other components and to limit the components.
- the second component may be referred to as the first component without departing from the scope of the present invention, and similarly, the first component may also be referred to as the second component.
- unit refers to a unit that processes at least one function or operation, and may be implemented as hardware, software, or a combination of hardware and software.
- the terms "a or an”, “one”, “the”, and similar related terms are used in the context of describing the invention (particularly in the context of the claims below) as used herein. It may be used in both singular and plural terms, unless indicated otherwise or clearly contradicted by context.
- “/” and “,” should be interpreted as indicating “and/or.”
- “A/B” can mean “A and/or B.”
- “A, B” may mean “A and/or B.”
- “A/B/C” may mean “at least one of A, B and/or C.”
- “A, B, C” may mean “at least one of A, B and/or C.”
- “or” should be construed to indicate “and/or.”
- “A or B” may include “only A,” “only B,” and/or “both A and B.”
- “or” should be interpreted as indicating “additionally or alternatively.”
- embodiments within the scope of the present invention include computer-readable media having or transmitting computer-executable instructions or data structures stored on the computer-readable media.
- Such computer-readable media may be any available media that can be accessed by a general-purpose or special-purpose computer system.
- Such computer-readable media may include RAM, ROM, EPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage, or in the form of computer-executable instructions, computer-readable instructions or data structures. It may be used to store or transmit certain program code means, and may include, but is not limited to, a physical storage medium such as any other medium that can be accessed by a general purpose or special purpose computer system. .
- the present invention is applicable to personal computers, laptop computers, handheld devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, mobile phones, PDAs, and pagers. It can be implemented in a network computing environment with various types of computer system configurations, including pagers, quantum computers, etc.
- the invention may also be practiced in distributed system environments where tasks are performed by both local and remote computer systems that are linked over a network via wired data links, wireless data links, or a combination of wired and wireless data links.
- program modules may be located in local and remote memory storage devices.
- each block of the processing flow diagrams and combinations of the flow diagram diagrams may be performed by computer program instructions.
- These computer program instructions can be mounted on a processor of a general-purpose computer, special-purpose computer, or other programmable data processing equipment, so that the instructions performed through the processor of the computer or other programmable data processing equipment are described in the flow chart block(s). It creates the means to perform functions.
- These computer program instructions may also be stored in computer-usable or computer-readable memory that can be directed to a computer or other programmable data processing equipment to implement a function in a particular manner, so that the computer-usable or computer-readable memory It is also possible to produce manufactured items containing instruction means that perform the functions described in the flowchart block(s).
- Computer program instructions can also be mounted on a computer or other programmable data processing equipment, so that a series of operational steps are performed on the computer or other programmable data processing equipment to create a process that is executed by the computer, thereby generating a process that is executed by the computer or other programmable data processing equipment. Instructions that perform processing equipment may also provide steps for executing the functions described in the flow diagram block(s).
- each block may represent a module, segment, or portion of code that includes one or more executable instructions for executing specified logical function(s).
- each block may represent a module, segment, or portion of code that includes one or more executable instructions for executing specified logical function(s).
- a qubit (or quantum bit) is the basic unit of information in quantum computing.
- Binary bits are the basic information unit in conventional computing and represent either 0 or 1.
- qubits can implement a linear combination of two states using quantum mechanical phenomena.
- a qubit can represent an arbitrary ratio of 0 and 1 by overlapping two states: a state with a certain probability of being 0 and a state with a certain probability of being 1.
- a qubit may represent a state in which the probability of being 0 is 3/10 and the probability of being 1 is 7/10.
- Qubits can be implemented through trapped ions, photons, artificial or real atoms, quasiparticles, etc.
- Quantum annealing effectively solves optimization problems that require finding the maximum (or minimum) value in the shortest possible time.
- ‘Hill-climbing’ in traditional computing is an approach that identifies a local maximum by repeatedly changing parameters to find a slightly better solution than the current solution. The problem is that the 'local maximum' found here may not be the closest value to the target (global maximum).
- Quantum annealing provides a way to reach the goal by jumping to another, higher hill.
- the name quantum annealing comes from a classical computing technique called simulated annealing. The approaches are similar, but the difference is that quantum annealing uses physical quantum phenomena while simulated annealing uses random numbers to find higher hills to climb.
- the quantum annealer may include a metal ring produced by processing metal niobium (Nb). Multiple rings are used for the quantum annealer.
- the qubit value expressed through the metal ring can be 1 or 0. For example, if the current flows counterclockwise, the qubit value may be 1, and if the current flows clockwise, the qubit value may be 0.
- the metal ring When the temperature of the metal ring reaches absolute zero, the metal ring becomes a superconductor, and current flows in both directions, allowing a superimposed state of 0 and 1 to be expressed.
- Quantum annealer is one of the heuristic methodologies used in combinatorial optimization. Heuristics or heuristics are simple reasoning methods designed to quickly arrive at an answer in situations where a rational judgment cannot be made due to insufficient time or information, or where a systematic and rational judgment is not necessary. .
- quantum annealers Compared to existing classical annealing methods, quantum annealers use the quantum tunnel effect to find the ground state energy of a given system.
- the quantum annealer may be a quantum annealing module implemented in program form within a specific device. Alternatively, the quantum annealer may be a separate device connected to the solution calculation device according to an embodiment of the present invention.
- benefits can be expected compared to several methodologies, including classical annealing. However, due to current technological limitations, it is difficult to maximize the performance of quantum annealers.
- Errors may occur in quantum annealers for a variety of complex reasons, such as noise in the external environment, quantum coherence phenomenon, limitations in connectivity between qubits within the annealer, and limitations in qubit manipulation precision. It can happen. Due to errors, the quantum annealer outputs inaccurate results that are different from what the user initially programmed and intended.
- heuristic methodologies including quantum annealing, by their nature calculate the same problem repeatedly to derive an answer close to the optimal solution, but the larger the size of the problem, the greater the obstacle to the repetitive calculation process.
- the core of the present invention is to gradually reduce the size of the problem by estimating the optimal value of the qubit through statistical analysis of quantum annealing results and then fixing the value of the qubit during the iterative annealing process.
- the size of the problem is gradually reduced during the iterative calculation process, and as a result, the search space of the quantum annealer is reduced, thereby improving not only the gain in calculation time but also the quality of calculation results.
- a solution calculation device performs sampling using a quantum annealer and obtains a set of n samples.
- n rows in Figure 1 correspond to a set of n samples. Excluding omitted portions, FIG. 1 shows five sample sets as examples.
- the device counts whether each qubit in the entire sample set has a value of 0 or 1.
- the first qubit among n samples has 5 1 values
- the second qubit has 2 1 values and 3 0 values.
- the third and fourth qubits each have three 1 values and two 0 values.
- the fifth qubit has five zero values.
- the device divides the count value of each qubit by the number of the entire sample set, determines whether the qubit is statistically biased toward 0 or 1, and estimates the optimal value of the qubit. For example, in the case of the first qubit, the value of 5 of the 5 sample sets is 1, so by dividing the count value of 5 by 5, it is confirmed that the statistical bias for the qubit value of 1 is 1. Likewise, it is confirmed that the statistical bias toward 0 of the qubit value of the first qubit is 0. In the case of the second qubit, since it has two 1 values, if the count value 2 is divided by the number of sample sets 5, it is confirmed that the bias of the qubit value for 1 is 2/5. In the case of the fifth qubit, 0 1 values are counted, so if the count value 0 is divided by 5, it is confirmed that the bias toward 1 in the qubit value is 0.
- the device sets a threshold and, if the bias of each qubit is greater than the threshold, calculates the impact of the qubit on the state of the overall system energy.
- the threshold may be set, for example, to a bias of 1 versus 0 or 1. Referring to Figure 1, the first and fifth qubits correspond to qubits that are above the threshold.
- the device fixes the value of the qubit whose bias is greater than the threshold if its influence on the system energy approaches the energy of the ground state.
- the value of the qubits whose bias is above the threshold is fixed based on the calculation result of the effect on the system energy of the qubits whose bias is above the threshold.
- the impact of a specific qubit with a bias greater than a threshold on the system energy can be calculated by comparing the system energy value when the specific qubit is 0 and the system energy value when the specific qubit is 1.
- the effect of the first qubit on the system energy among the first and fifth qubits in Figure 1 is the system energy value when the first qubit is 0 and the system energy value when the first qubit is 1. It can be calculated through comparison. If the system energy value when the first qubit is 0 is less than the system energy value when the first qubit is 1, there is an error, so the value of the first qubit is not fixed to 1. If the system energy value when the first qubit is 1 is less than the system energy value when the first qubit is 0, the value of the first qubit is fixed to 1.
- the fifth qubit can be calculated by comparing the system energy value when the fifth qubit is 0 and the system energy value when it is 1. If the system energy value when the fifth qubit is 0 is less than the system energy value when the fifth qubit is 1, the value of the fifth qubit is fixed to 1. If the system energy value when the fifth qubit is 1 is less than the system energy value when the fifth qubit is 0, there is an error, so the value of the fifth qubit is not fixed to 0.
- the device reduces the size of the problem based on fixed qubit values.
- qubits fixed in problem H can be reflected in the problem in the form of offsets.
- the device repeats the entire process with additional annealing.
- the optimal value of the qubit derived during the process described with reference to FIG. 1 may correspond to a solution to the problem.
- the size of the problem that is, the search space to be searched by the quantum annealer
- the time required to estimate the optimal value of the qubits decreases, and the accuracy of the optimal value increases. It can be.
- the device can not only estimate the optimal value of a single qubit, but also estimate the optimal value of the combination by looking at statistical patterns in the form of combinations/clusters of qubits.
- the device analyzes the form of the combination of qubits, it is expected that quantum entanglement within the system can be inferred through additional analysis.
- the device counts what combinations of qubits look like in the entire sample set.
- the device can count whether the combination of qubits belongs to 00, 01, 10, or 11. For example, for the combination of the first two qubits in Figure 1, two 11 combinations and three 10 combinations are counted.
- the device can count which of 000, 001, 010, 011, 100, 101, 110, and 111 the combination of qubits belongs to. For example, for the combinations of the first three qubits in Figure 1, one 110 combination, two 101 combinations, one 111 combination, and one 100 combination are counted.
- the device can determine the values of the qubits by performing statistical analysis based on the combination of qubits.
- FIG. 2 is a block diagram showing the main configuration of the solution calculation device 300.
- the solution calculation device 300 includes an input module 310, an output module 330, a quantum annealing module 350, a storage module 370, and a control module 390. It can be configured.
- the input module 310 receives various information such as voice and/or text information, and transmits signals input in relation to setting various functions and controlling functions of the solution calculation device 300 to the control module 390.
- the input module 310 may be configured to include at least one of a keypad and a touchpad that generate an input signal according to the user's touch or manipulation, and/or a microphone that generates an input signal for a voice according to the user's utterance.
- the input module 310 is configured in the form of a touch panel (or touch screen) together with the output module 330 and can perform input and display functions simultaneously.
- the input module 310 may use any type of input means that may be developed in the future, in addition to input devices such as a keyboard, keypad, mouse, joystick, etc.
- the input module 310 according to the present invention detects input information input from the user and transmits it to the control module 390.
- the solution calculation device 300 can receive a problem for which a solution must be calculated through the input module 310.
- the output module 330 displays information about a series of operation states and operation results that occur while the solution calculation device 300 performs its functions. Additionally, the output module 330 may display menus of the solution calculation device 300 and user data input by the user.
- the output module 390 includes a liquid crystal display (LCD), an ultra-thin film transistor LCD (TFT-LCD), a light emitting diode (LED), and an organic light emitting diode (OLED).
- Organic LED ), active organic light emitting diode (AMOLED, Active Matrix OLED), Retina Display, flexible display, and 3 Dimensional display. Additionally, the output module 390 may include a speaker that outputs an electrical signal in the form of sound. At this time, when the output module 330 is configured in the form of a touch screen, the output module 330 may perform some or all of the functions of the input module 310.
- the solution calculation device 300 can display the derived solution using graphics, text, sound, etc. in a form that can be recognized by the user through the output module 330.
- the quantum annealer module 350 is a module for performing the function of the quantum annealer described above.
- the quantum annealer module 350 may perform quantum annealing on the problem input through the input module 310 to form a sample set.
- the storage module 370 is a device for storing data, includes a main memory and an auxiliary memory, and stores application programs necessary for the functional operation of the solution calculation device 300.
- the storage module 370 includes random access memory (RAM), dynamic RAM (DRAM), read only memory (ROM), flash memory, volatile memory, and non-volatile memory. and/or a combination thereof.
- This storage module 370 may largely include a program area and a data area.
- the solution calculation device 300 activates each function in response to the user's request, it executes the corresponding application programs under the control of the control module 390 to provide each function.
- the storage module 370 according to the present invention can store an operating system that boots the solution calculation device 300, various application programs, user information matching the solution calculation device 300, etc.
- the storage module 370 according to the present invention can store a solution calculation program 371 for providing the solution calculation method according to the present invention.
- the control module 390 may be a process device that drives an operating system (OS) and each component.
- control module 390 may be comprised of one or more processor sets.
- the control module 390 may be composed of a set of a communication control processor, an application processor, an electronic control unit (ECU), a graphics processing processor, and a memory control processor.
- the control module 390 controls the signal received through the input module 310 to be processed through one or more combinations of the operations described in FIG. 1 and output through the output module 330, and the signals generated in this process are controlled. Information or data can be controlled to be stored in the storage module 370.
- the solution calculation device 300 may further include a communication module.
- the communication module includes an RF transmitting means that up-converts and amplifies the frequency of the transmitted signal, an RF receiving means that amplifies the received signal to low noise and down-converts the frequency, and data for processing a communication protocol according to a specific communication method. Including processing means, etc.
- This communication module may include at least one of a wireless communication module (not shown) and a wired communication module (not shown).
- the wireless communication module is configured to transmit and receive data according to a wireless communication method, and when the solution calculation device 300 uses wireless communication, one of the wireless network communication module, wireless LAN communication module, and wireless fan communication module is used. Using this, the input problem and derived solution can be transmitted and received with an external device.
- each physically separated module may be configured to be connected wired/wireless.
- Figure 3 is a flowchart showing a solution calculation method according to an embodiment of the present invention.
- the solution calculation method is performed by the solution calculation device 300, and obtains a sample set including a plurality of qubits through quantum annealing (S501). , fixing the value of a specific qubit among a plurality of qubits based on statistical analysis (S503), and calculating a solution to the problem based on the fixed specific qubit value (S505). You can.
- the sample set can be obtained through quantum annealing on a problem input by a user or a problem whose size has been reduced by the statistical analysis process of the present invention.
- Statistical analysis may include a process of analyzing the effect of the bias of each qubit on the state of system energy, as previously described in relation to FIG. 1.
- the statistical analysis counts which value each of the qubits in the sample set has between 0 and 1, and derives the bias of which value each of the qubits is biased towards between 0 and 1. This may include estimating the optimal value of the qubits and calculating the effect on the state of the system energy for specific qubits whose bias is above a threshold.
- the solution calculation device 300 fixes the value of a specific qubit based on a calculation result of the influence that a specific qubit with a bias greater than a threshold has on the state of system energy.
- the solution calculation device 300 determines the effect of a specific qubit with a bias equal to or greater than a threshold on the state of system energy by calculating the system energy value when the value of the specific qubit is 0 and the value of the specific qubit when the value is 1. It is calculated by comparing the system energy values in each case.
- the solution calculation device 300 derives the bias by dividing the count value of each qubit by the number of the entire sample set.
- the solution calculation device 300 can reduce the size of the problem by fixing the value of a specific qubit.
- the solution calculation device 300 performs quantum annealing on the problem of reduced size to obtain a second sample set, and performs statistical analysis on the obtained second sample set to fix the value of the second specific qubit. can do.
- the solution calculation device 300 may repeatedly perform a series of processes, such as obtaining a third sample set for a problem whose size is further reduced.
- the solution calculation device 300 may output the estimated optimal value as a solution when the size of the problem is reduced to a certain size or less or when the optimal value of the qubits is derived to be the same more than a certain number of times.
- the solution calculation device 300 may be connected to a terrestrial communication network through a communication module.
- the terrestrial communication network may use wired communication methods such as Ethernet, xDSL (ADSL, VDSL), HFC (Hybrid Fiber Coaxial Cable), FTTC (Fiber to The Curb), and FTTH (Fiber To The Home).
- WLAN Wireless LAN
- Wi-Fi Wibro
- Wimax Wimax
- HSDPA High Speed Downlink Packet Access
- LTE Long Term Evolution
- LTE-A Long Term Evolution Advanced
- wireless communication methods such as NR (New RAT) can also be used.
- this communication network includes, for example, a plurality of access networks (not shown) and a core network (not shown), and may be configured to include an external network, such as an Internet network (not shown).
- the access network is an access network that performs wired and wireless communication with the solution calculation device, for example, a number of base stations such as BS (Base Station), BTS (Base Transceiver Station), NodeB, eNodeB, gNodeB, and BSC. It can be implemented with a base station controller such as (Base Station Controller) or RNC (Radio Network Controller).
- the core network (not shown) that constitutes the mobile network together with the access network (not shown) serves to connect the access network (not shown) with an external network, such as an Internet network (not shown).
- This core network is a network system that performs major functions for mobile communication services, such as mobility control and switching between access networks (not shown), and performs circuit switching or packet switching. and manages and controls packet flow within the mobile network.
- the core network manages inter-frequency mobility and plays a role in linking traffic within the access network (not shown) and the core network (not shown) with other networks, such as the Internet network (not shown). It may be possible.
- This core network further includes Serving GateWay (SGW), PDN GateWay (PGW), Mobile Switching Center (MSC), Home Location Register (HLR), Mobile Mobility Entity (MME), and Home Subscriber Server (HSS). It may be configured to include.
- SGW Serving GateWay
- PGW PDN GateWay
- MSC Mobile Switching Center
- HLR Home Location Register
- MME Mobile Mobility Entity
- HSS Home Subscriber Server
- the Internet network refers to a typical open communication network, that is, a public network, in which information is exchanged according to the TCP/IP protocol.
- the memory mounted on each device of the present invention stores information within the device.
- the memory is a computer-readable medium.
- the memory may be a volatile memory unit, and in another implementation, the memory may be a non-volatile memory unit.
- the storage device is a computer-readable medium.
- the storage device may include, for example, a hard disk device, an optical disk device, or some other mass storage device.
- implementations of the functional operations and subject matter described herein may be implemented in other types of digital electronic circuits, or may be implemented in the structures disclosed herein and their structural equivalents. It may be implemented as computer software, firmware, or hardware, or as a combination of one or more of these. Implementations of the subject matter described herein may relate to one or more computer program products, that is, computer program instructions encoded on a tangible program storage medium for controlling the operation of or execution by a device according to the invention. It can be implemented as the above modules.
- the computer-readable medium may be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of matter that affects a machine-readable radio wave signal, or a combination of one or more of these.
- various information generated when executing the solution calculation method of the present invention may be stored and accessed in any computer-readable medium related to the computing system.
- some of these program modules and some of the associated program data may be included in an operating system, application program, program module, and/or program data for storage in system memory.
- program modules and related program data may be stored in the mass storage device.
- program modules or portions thereof related to the present invention may be stored in a remote computer system connected through a network interface or a modem of the input/output interface. Execution of these modules can be performed in a distributed environment.
- the present invention relates to a method and apparatus for calculating a solution to a problem based on quantum annealing. According to the present invention, when deriving a solution to a problem using a quantum computer, it is possible to derive a solution that is faster and more reliable than existing solutions through statistical analysis.
- the present invention can contribute to the development of related industries by providing a method and device for calculating a solution to a problem based on quantum annealing, and not only has sufficient marketability or commercial potential, but also can be clearly implemented in reality, so it can contribute to the industry. There is a possibility of availability.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Artificial Intelligence (AREA)
- Nanotechnology (AREA)
- Chemical & Material Sciences (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Operations Research (AREA)
- Probability & Statistics with Applications (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Crystallography & Structural Chemistry (AREA)
- Life Sciences & Earth Sciences (AREA)
- Testing Or Measuring Of Semiconductors Or The Like (AREA)
- Complex Calculations (AREA)
Abstract
Description
본 발명은 양자 컴퓨터를 이용하여 문제에 대한 솔루션을 계산하는 방법 및 장치에 관한 것이다.The present invention relates to a method and device for calculating a solution to a problem using a quantum computer.
양자 어닐링은 주로 이진 조합 최적화에 사용되고 있으며, 실질적으로 이징 모델(Ising Model)을 구현한 한 초전도체 기반의 양자 어닐러가 사용되고 있다. 하지만 기술적 한계로 인하여 이징 모델을 구성하는 각각 큐비트들의 초기화 및 조작에 어려움을 겪고 있으며, 이로 인해 발생하는 에러는 사용자가 프로그래밍한 모델을 정확하게 계산하지 못하여 부정확한 결과를 야기시킨다. 따라서 이러한 에러를 보정하기 위하여 여러 방법론들이 제시되고 있다.Quantum annealing is mainly used for binary combinatorial optimization, and a superconductor-based quantum annealer that practically implements the Ising Model is used. However, due to technical limitations, it is difficult to initialize and manipulate each qubit that makes up the easing model, and the resulting errors do not accurately calculate the model programmed by the user, resulting in inaccurate results. Therefore, several methodologies are being proposed to correct these errors.
본 발명이 이루고자 하는 기술적 과제는, 종래기술들의 문제점을 보완하기 위하여 큐비트의 반복 인코딩을 없애는 한편, 양자 어닐러로부터 기대하는. 계산 복잡도의 이득을 유지하기 위하여 반복적인 후처리 작업 간, 통계적인 분석을 바탕으로 주어진 문제의 사이즈를 줄이는 데 있다.The technical problem to be achieved by the present invention is to eliminate repetitive encoding of qubits in order to compensate for the problems of prior technologies, while also eliminating the problem expected from a quantum annealer. The goal is to reduce the size of a given problem based on statistical analysis between repetitive post-processing tasks to maintain the gain in computational complexity.
본 발명의 기술적 과제는 상술된 기술적 과제에 제한되지 않으며, 다른 기술적 과제들이 본 발명의 실시예로부터 유추될 수 있다.The technical problem of the present invention is not limited to the technical problem described above, and other technical problems can be inferred from the embodiments of the present invention.
본 발명은 양자 어닐링(annealing)에 기반하여 문제(problem)에 대한 솔루션(solution)을 계산하는 방법 및 장치를 제공한다.The present invention provides a method and device for calculating a solution to a problem based on quantum annealing.
본 발명의 일 양태로서, 양자 어닐링(annealing)에 기반하여 문제(problem)에 대한 솔루션(solution)을 계산하는 방법으로서, 양자 어닐링을 통해 복수의 큐비트(Qubit)들을 포함하는 샘플 세트(sample set)를 획득하는 단계; 통계적 분석에 기반하여 상기 복수의 큐비트들 중 특정 큐비트의 값을 고정하는 단계; 및 상기 고정된 특정 큐비트 값을 기반으로 문제에 대한 솔루션을 계산하는 단계; 를 포함하는, 솔루션 계산 방법이 제공된다.As an aspect of the present invention, a method of calculating a solution to a problem based on quantum annealing includes a sample set including a plurality of qubits through quantum annealing. ) Obtaining; fixing the value of a specific qubit among the plurality of qubits based on statistical analysis; and calculating a solution to the problem based on the fixed specific qubit value. A solution calculation method is provided, including:
본 발명의 다른 일 양태로서, 양자 어닐링(annealing)에 기반하여 문제(problem)에 대한 솔루션(solution)을 계산하기 위한 장치에 있어서, 적어도 하나의 프로세서; 및 상기 적어도 하나의 프로세서에 동작 가능하도록 연결되고, 실행될 경우 상기 적어도 하나의 프로세서가 특정 동작을 수행하도록 하는 명령들(instructions)을 저장하는 적어도 하나의 메모리; 를 포함하고, 상기 특정 동작은: 양자 어닐링(annealing)에 기반하여 문제(problem)에 대한 솔루션(solution)을 계산하기 위한 장치에 있어서, 적어도 하나의 프로세서; 및 상기 적어도 하나의 프로세서에 동작 가능하도록 연결되고, 실행될 경우 상기 적어도 하나의 프로세서가 특정 동작을 수행하도록 하는 명령들(instructions)을 저장하는 적어도 하나의 메모리; 를 포함하고, 상기 특정 동작은: 양자 어닐링을 통해 복수의 큐비트(Qubit)들을 포함하는 샘플 세트(sample set)를 획득하는 단계; 통계적 분석에 기반하여 상기 복수의 큐비트들 중 특정 큐비트의 값을 고정하는 단계; 및 상기 고정된 특정 큐비트 값을 기반으로 문제에 대한 솔루션을 계산하는 단계; 를 포함하는, 솔루션 계산 장치가 제공된다.In another aspect of the present invention, an apparatus for calculating a solution to a problem based on quantum annealing, comprising: at least one processor; and at least one memory operably connected to the at least one processor and storing instructions that, when executed, cause the at least one processor to perform a specific operation. , wherein the specific operations include: an apparatus for calculating a solution to a problem based on quantum annealing, comprising: at least one processor; and at least one memory operably connected to the at least one processor and storing instructions that, when executed, cause the at least one processor to perform a specific operation. It includes, and the specific operation includes: obtaining a sample set including a plurality of qubits through quantum annealing; fixing the value of a specific qubit among the plurality of qubits based on statistical analysis; and calculating a solution to the problem based on the fixed specific qubit value. A solution calculation device comprising a is provided.
본 발명의 다른 일 양태로서, 적어도 하나의 프로세서가 동작을 수행하도록 하는 적어도 하나의 컴퓨터 프로그램을 포함하는 컴퓨터 판독가능한 비휘발성 저장 매체로서, 상기 동작은: 양자 어닐링을 통해 복수의 큐비트(Qubit)들을 포함하는 샘플 세트(sample set)를 획득하는 단계; 통계적 분석에 기반하여 상기 복수의 큐비트들 중 특정 큐비트의 값을 고정하는 단계; 및 상기 고정된 특정 큐비트 값을 기반으로 문제에 대한 솔루션을 계산하는 단계; 를 포함하는, 저장 매체가 제공된다.In another aspect of the present invention, a computer-readable non-volatile storage medium including at least one computer program that causes at least one processor to perform an operation, the operation being: a plurality of qubits through quantum annealing. Obtaining a sample set including: fixing the value of a specific qubit among the plurality of qubits based on statistical analysis; and calculating a solution to the problem based on the fixed specific qubit value. A storage medium containing a is provided.
상기 방법들 및 장치들에 있어서, 상기 고정된 특정 큐비트의 값에 기반하여 상기 문제의 크기(size)가 감소될 수 있다.In the methods and devices, the size of the problem can be reduced based on the value of the specific fixed qubit.
상기 방법들 및 장치들에 있어서, 상기 감소된 크기의 문제에 대해, 상기 획득 및 고정이 반복적으로 수행될 수 있다.In the methods and devices, for the reduced size problem, the acquisition and fixation can be performed iteratively.
상기 방법들 및 장치들에 있어서, 상기 통계적 분석은, 상기 큐비트들 각각의 편향성이 시스템 에너지의 상태에 미치는 영향을 분석하는 것을 포함할 수 있다.In the methods and devices, the statistical analysis may include analyzing the effect of the bias of each of the qubits on the state of system energy.
상기 방법들 및 장치들에 있어서, 상기 통계적 분석은: 상기 샘플 세트 내에서 상기 큐비트들 각각이 0과 1중 어느 값을 가지는지 카운트(count)하고; 상기 큐비트들 각각이 0과 1중 어떤 값에 편향되어 있는지에 대한 편향성을 도출하여 상기 큐비트들의 최적값을 추정하고; 상기 편향성이 임계값 이상인 특정 큐비트에 대해 시스템 에너지의 상태에 미치는 영향을 계산하는 것을 포함하며, 상기 영향의 계산 결과에 기반하여, 상기 특정 큐비트의 값이 고정될 수 있다.In the methods and devices, the statistical analysis includes: counting whether each of the qubits in the sample set has a value of 0 or 1; estimating the optimal value of the qubits by deriving a bias of whether each of the qubits is biased toward 0 or 1; and calculating an influence on the state of system energy for a specific qubit whose bias is greater than or equal to a threshold, and based on the calculation result of the influence, the value of the specific qubit may be fixed.
상기 방법들 및 장치들에 있어서, 상기 편향성은 상기 큐비트들 각각의 카운트 값을 전체 샘플 세트의 개수로 나누는 동작을 통해 도출될 수 있다.In the methods and devices, the bias can be derived by dividing the count value of each of the qubits by the number of the entire sample set.
상기 방법들 및 장치들에 있어서, 상기 영향은, 상기 특정 큐비트의 값이 0인 경우의 시스템 에너지 값과 상기 특정 큐비트의 값이 1인 경우의 시스템 에너지 값을 비교함을 통해 계산될 수 있다.In the methods and devices, the impact can be calculated by comparing the system energy value when the value of the specific qubit is 0 and the system energy value when the value of the specific qubit is 1. there is.
상기 방법들 및 장치들에 있어서, 상기 통계적 분석은, 상기 큐비트들 중 일부 큐비트들의 조합에 대해 수행될 수 있다.In the methods and devices, the statistical analysis may be performed on combinations of some of the qubits.
상기 솔루션 계산 장치는 양자 컴퓨터를 포함할 수 있다.The solution calculation device may include a quantum computer.
상술한 본 발명의 양태들은 본 발명의 바람직한 실시예들 중 일부에 불과하며, 본원 발명의 기술적 특징들이 반영된 다양한 실시예들이 당해 기술분야의 통상적인 지식을 가진 자에 의해 이하 상술할 본 발명의 상세한 설명을 기반으로 도출되고 이해될 수 있다.The above-described aspects of the present invention are only some of the preferred embodiments of the present invention, and various embodiments reflecting the technical features of the present invention can be understood by those skilled in the art. It can be derived and understood based on the explanation.
본 발명의 일 실시예에 따르면, 양자 어닐러가 가지고있는 오류들의 근본적인 원인을 파악할 필요가 없이, high-level 간단한 어닐링 결과 분석을 통하여 각 큐비트의 최적값을 추측함과 동시에 문제의 사이즈를 줄여, 차후 진행하는 반복적인 어닐링 작업의 결과의 질적인 향상을 기대할 수 있다.According to one embodiment of the present invention, the optimal value of each qubit is estimated through high-level simple annealing result analysis without the need to identify the root cause of errors in the quantum annealer, while simultaneously reducing the size of the problem. , qualitative improvement in the results of repeated annealing operations can be expected.
본 발명의 기술적 효과는 상술된 기술적 효과에 제한되지 않으며, 다른 기술적 효과들이 본 발명의 실시예로부터 유추될 수 있다.The technical effects of the present invention are not limited to the above-described technical effects, and other technical effects can be inferred from the embodiments of the present invention.
도 1은 단말이 접속 가능한 NTN의 시나리오들을 예시한다.Figure 1 illustrates scenarios of NTN to which a terminal can connect.
도 2는 솔루션 계산 장치의 주요 구성을 도시하는 블록도이다. Figure 2 is a block diagram showing the main configuration of the solution calculation device.
도 3은 본 발명의 일 실시 예에 따른 솔루션 계산 방법을 도시한 흐름도이다.Figure 3 is a flowchart showing a solution calculation method according to an embodiment of the present invention.
본 발명의 과제 해결 수단의 특징 및 이점을 보다 명확히 하기 위하여, 첨부된 도면에 도시된 본 발명의 특정 실시 예를 참조하여 본 발명을 더 상세하게 설명한다.In order to make the characteristics and advantages of the problem-solving means of the present invention clearer, the present invention will be described in more detail with reference to specific embodiments of the present invention shown in the attached drawings.
다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.However, detailed descriptions of known functions or configurations that may obscure the gist of the present invention are omitted in the following description and attached drawings. Additionally, it should be noted that the same components throughout the drawings are indicated by the same reference numerals whenever possible.
이하의 설명 및 도면에서 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위한 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원 시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.Terms or words used in the following description and drawings should not be construed as limited to their usual or dictionary meanings, and the inventor may appropriately define the concept of the term to explain his or her invention in the best way. It must be interpreted with meaning and concept consistent with the technical idea of the present invention based on the principle that it is. Therefore, the embodiments described in this specification and the configurations shown in the drawings are only one of the most preferred embodiments of the present invention, and do not represent the entire technical idea of the present invention, so at the time of filing the present application, various alternatives may be used to replace them. It should be understood that equivalents and variations may exist.
또한, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Additionally, unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as generally understood by a person of ordinary skill in the technical field to which the present invention pertains. Terms defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related technology, and should not be interpreted in an ideal or excessively formal sense unless explicitly defined in the present application. No.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다.In addition, terms containing ordinal numbers, such as first, second, etc., are used to describe various components, and are used only for the purpose of distinguishing one component from other components and to limit the components. Not used. For example, the second component may be referred to as the first component without departing from the scope of the present invention, and similarly, the first component may also be referred to as the second component.
또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 본 명세서에서 기술되는 "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Additionally, the terms used in this specification are only used to describe specific embodiments and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly dictates otherwise. In addition, terms such as "comprise" or "have" used in the specification are intended to indicate the presence of features, numbers, steps, operations, components, parts, or combinations thereof described in the specification, but are intended to indicate the presence of one or more of the features, numbers, steps, operations, components, parts, or combinations thereof described in the specification. It should be understood that this does not exclude in advance the presence or addition of other features, numbers, steps, operations, components, parts, or combinations thereof.
또한, 명세서에 기재된 "부", "기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, "일(a 또는 an)", "하나(one)", "그(the)" 및 유사 관련어는 본 발명을 기술하는 문맥에 있어서(특히, 이하의 청구항의 문맥에서) 본 명세서에 달리 지시되거나 문맥에 의해 분명하게 반박되지 않는 한, 단수 및 복수 모두를 포함하는 의미로 사용될 수 있다.Additionally, terms such as “unit,” “unit,” and “module” used in the specification refer to a unit that processes at least one function or operation, and may be implemented as hardware, software, or a combination of hardware and software. In addition, the terms "a or an", "one", "the", and similar related terms are used in the context of describing the invention (particularly in the context of the claims below) as used herein. It may be used in both singular and plural terms, unless indicated otherwise or clearly contradicted by context.
본 개시의 다양한 예에서, "/" 및 ","는 "및/또는"을 나타내는 것으로 해석되어야 한다. 예를 들어, "A/B"는 "A 및/또는 B"를 의미할 수 있다. 나아가, "A, B"는 "A 및/또는 B"를 의미할 수 있다. 나아가, "A/B/C"는 "A, B 및/또는 C 중 적어도 어느 하나"를 의미할 수 있다. 나아가, "A, B, C"는 "A, B 및/또는 C 중 적어도 어느 하나"를 의미할 수 있다.In various examples of this disclosure, “/” and “,” should be interpreted as indicating “and/or.” For example, “A/B” can mean “A and/or B.” Furthermore, “A, B” may mean “A and/or B.” Furthermore, “A/B/C” may mean “at least one of A, B and/or C.” Furthermore, “A, B, C” may mean “at least one of A, B and/or C.”
본 개시의 다양한 예에서, "또는"은 "및/또는"을 나타내는 것으로 해석되어야 한다. 예를 들어, "A 또는 B"는 "오직 A", "오직 B", 및/또는 "A 및 B 모두"를 포함할 수 있다. 다시 말해, "또는"은 "부가적으로 또는 대안적으로"를 나타내는 것으로 해석되어야 한다.In various examples of this disclosure, “or” should be construed to indicate “and/or.” For example, “A or B” may include “only A,” “only B,” and/or “both A and B.” In other words, “or” should be interpreted as indicating “additionally or alternatively.”
상술한 용어들 이외에, 이하의 설명에서 사용되는 특정 용어들은 본 발명의 이해를 돕기 위해서 제공된 것이며, 이러한 특정 용어의 사용은 본 발명의 기술적 사상을 벗어나지 않는 범위에서 다른 형태로 변경될 수 있다.In addition to the terms described above, specific terms used in the following description are provided to aid understanding of the present invention, and the use of these specific terms may be changed to other forms without departing from the technical spirit of the present invention.
아울러, 본 발명의 범위 내의 실시 예들은 컴퓨터 실행가능 명령어 또는 컴퓨터 판독가능 매체에 저장된 데이터 구조를 가지거나 전달하는 컴퓨터 판독가능 매체를 포함한다. 이러한 컴퓨터 판독가능 매체는, 범용 또는 특수 목적의 컴퓨터 시스템에 의해 액세스 가능한 임의의 이용 가능한 매체일 수 있다. 예로서, 이러한 컴퓨터 판독 가능 매체는 RAM, ROM, EPROM, CD-ROM 또는 기타 광 디스크 저장장치, 자기 디스크 저장장치 또는 기타 자기 저장장치, 또는 컴퓨터 실행가능 명령어, 컴퓨터 판독가능 명령어 또는 데이터 구조의 형태로 된 소정의 프로그램 코드 수단을 저장하거나 전달하는 데에 이용될 수 있고, 범용 또는 특수 목적 컴퓨터 시스템에 의해 액세스 될 수 있는 임의의 기타 매체와 같은 물리적 저장 매체를 포함할 수 있지만, 이에 한정되지 않는다.Additionally, embodiments within the scope of the present invention include computer-readable media having or transmitting computer-executable instructions or data structures stored on the computer-readable media. Such computer-readable media may be any available media that can be accessed by a general-purpose or special-purpose computer system. By way of example, such computer-readable media may include RAM, ROM, EPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage, or in the form of computer-executable instructions, computer-readable instructions or data structures. It may be used to store or transmit certain program code means, and may include, but is not limited to, a physical storage medium such as any other medium that can be accessed by a general purpose or special purpose computer system. .
아울러, 본 발명은 퍼스널 컴퓨터, 랩탑 컴퓨터, 핸드헬드 장치, 멀티프로세서 시스템, 마이크로프로세서-기반 또는 프로그램 가능한 가전제품(programmable consumer electronics), 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 모바일 전화, PDA, 페이저(pager), 양자 컴퓨터 등을 포함하는 다양한 유형의 컴퓨터 시스템 구성을 가지는 네트워크 컴퓨팅 환경에서 실시될 수 있다. 본 발명은 또한 네트워크를 통해 유선 데이터 링크, 무선 데이터 링크, 또는 유선 및 무선 데이터 링크의 조합으로 링크된 로컬 및 원격 컴퓨터 시스템 모두가 태스크를 수행하는 분산형 시스템 환경에서 실행될 수 있다. 분산형 시스템 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치에 위치될 수 있다.In addition, the present invention is applicable to personal computers, laptop computers, handheld devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, mobile phones, PDAs, and pagers. It can be implemented in a network computing environment with various types of computer system configurations, including pagers, quantum computers, etc. The invention may also be practiced in distributed system environments where tasks are performed by both local and remote computer systems that are linked over a network via wired data links, wireless data links, or a combination of wired and wireless data links. In a distributed system environment, program modules may be located in local and remote memory storage devices.
또한, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.Additionally, it will be understood that each block of the processing flow diagrams and combinations of the flow diagram diagrams may be performed by computer program instructions. These computer program instructions can be mounted on a processor of a general-purpose computer, special-purpose computer, or other programmable data processing equipment, so that the instructions performed through the processor of the computer or other programmable data processing equipment are described in the flow chart block(s). It creates the means to perform functions. These computer program instructions may also be stored in computer-usable or computer-readable memory that can be directed to a computer or other programmable data processing equipment to implement a function in a particular manner, so that the computer-usable or computer-readable memory It is also possible to produce manufactured items containing instruction means that perform the functions described in the flowchart block(s). Computer program instructions can also be mounted on a computer or other programmable data processing equipment, so that a series of operational steps are performed on the computer or other programmable data processing equipment to create a process that is executed by the computer, thereby generating a process that is executed by the computer or other programmable data processing equipment. Instructions that perform processing equipment may also provide steps for executing the functions described in the flow diagram block(s).
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.Additionally, each block may represent a module, segment, or portion of code that includes one or more executable instructions for executing specified logical function(s). Additionally, it should be noted that in some alternative execution examples it is possible for the functions mentioned in the blocks to occur out of order. For example, it is possible for two blocks shown in succession to be performed substantially at the same time, or it is possible for the blocks to be performed in reverse order depending on the corresponding function.
본 개시의 실시예들을 구체적으로 설명함에 있어서, 특정 시스템의 예를 주된 대상으로 할 것이지만, 본 명세서에서 청구하고자 하는 주요한 요지는 유사한 기술적 배경을 가지는 여타의 통신 시스템 및 서비스에도 본 명세서에 개시된 범위를 크게 벗어나지 아니하는 범위에서 적용 가능하며, 이는 당해 기술분야에서 숙련된 기술적 지식을 가진 자의 판단으로 가능할 것이다.In describing the embodiments of the present disclosure in detail, the main focus will be on the example of a specific system, but the main point claimed in the present specification is that the scope disclosed in the present specification is applicable to other communication systems and services with similar technical background. It can be applied within a range that does not deviate significantly, and this can be done at the discretion of a person with skilled technical knowledge in the relevant technical field.
그러면 이제, 본 발명의 실시 예에 따른 양자 어닐링(annealing)에 기반하여 문제(problem)에 대한 솔루션(solution)을 계산하는 방법 및 장치에 대하여 도면을 참조하여 상세하게 설명하도록 한다.Now, a method and apparatus for calculating a solution to a problem based on quantum annealing according to an embodiment of the present invention will be described in detail with reference to the drawings.
먼저 본 발명의 실시 예에 따른 솔루션 계산 방법에 대해 개략적으로 설명하도록 한다.First, we will briefly describe the solution calculation method according to an embodiment of the present invention.
큐비트(또는 양자 비트)는 양자 컴퓨팅의 기본 정보 단위이다. 이진 비트는 기존 컴퓨팅의 기본 정보 단위로, 0과 1 중 하나를 나타내었다. 반면, 큐비트는 양자 역학 현상을 이용하여 두 상태의 선형 조합을 구현할 수 있다. 큐비트는 0일 확률이 확실한 상태와 1일 확률이 확실한 상태의 두 가지 상태 중첩으로 0과 1의 임의 비율을 나타낼 수 있다. 예를 들어, 큐비트는 0일 확률이 3/10, 1일 확률이 7/10인 상태를 나타낼 수 있다. 큐비트는 포획된 이온, 광자, 인공 또는 실제 원자, 준입자 등을 통해 구현될 수 있다. A qubit (or quantum bit) is the basic unit of information in quantum computing. Binary bits are the basic information unit in conventional computing and represent either 0 or 1. On the other hand, qubits can implement a linear combination of two states using quantum mechanical phenomena. A qubit can represent an arbitrary ratio of 0 and 1 by overlapping two states: a state with a certain probability of being 0 and a state with a certain probability of being 1. For example, a qubit may represent a state in which the probability of being 0 is 3/10 and the probability of being 1 is 7/10. Qubits can be implemented through trapped ions, photons, artificial or real atoms, quasiparticles, etc.
양자 어닐링은 최대값(또는 최소값)을 최단 시간 내에 찾아야 하는 최적화 문제를 효과적으로 해결한다. 기존 컴퓨팅의 '힐 클라이밍(hill-climbing)'은 현재 솔루션보다 조금 더 나은 솔루션을 찾기 위해 매개변수를 반복적으로 변경하여 로컬 최대값(local maximum)을 파악하는 접근 방식이다. 문제는 여기서 찾은 '로컬 최대값'이 목표(global maximum)와 가장 가까운 값은 아닐 수도 있다는 점이다. 반면, 양자 어닐링은 더 높은 다른 언덕으로 건너가서 목표에 다다르는 방법을 제공한다. 양자 어닐링이라는 이름은 시뮬레이티드 어닐링(simulated annealing)이라는 고전 컴퓨팅 기법에서 유래했다. 접근 방식은 서로 비슷하지만 올라야 할 더 높은 언덕을 찾기 위해 양자 어닐링은 물리적 양자 현상을 이용하고 시뮬레이티드 어닐링은 난수를 이용한다는 점이 다르다.Quantum annealing effectively solves optimization problems that require finding the maximum (or minimum) value in the shortest possible time. ‘Hill-climbing’ in traditional computing is an approach that identifies a local maximum by repeatedly changing parameters to find a slightly better solution than the current solution. The problem is that the 'local maximum' found here may not be the closest value to the target (global maximum). Quantum annealing, on the other hand, provides a way to reach the goal by jumping to another, higher hill. The name quantum annealing comes from a classical computing technique called simulated annealing. The approaches are similar, but the difference is that quantum annealing uses physical quantum phenomena while simulated annealing uses random numbers to find higher hills to climb.
구체적인 예를 들면, 양자 어닐러는 금속 나이오븀(Nb)을 가공하여 생성된 금속 링(ring)을 포함할 수 있다. 복수의 링들이 양자 어닐러를 위해 사용된다. 금속 링에 흐르는 전류의 방향에 따라, 금속 링을 통해 표현되는 큐비트 값이 1 또는 0이 될 수 있다. 예를 들어, 전류가 반시계 방향으로 흐른다면 큐비트 값이 1, 전류가 시계 방향으로 흐른다면 큐비트 값이 0일 수 있다.For a specific example, the quantum annealer may include a metal ring produced by processing metal niobium (Nb). Multiple rings are used for the quantum annealer. Depending on the direction of the current flowing through the metal ring, the qubit value expressed through the metal ring can be 1 or 0. For example, if the current flows counterclockwise, the qubit value may be 1, and if the current flows clockwise, the qubit value may be 0.
금속 링의 온도가 절대영도가 되면, 금속 링은 초전도체가 되며, 양 방향으로 전류가 흐르게 되어, 0과 1의 중첩 상태가 표현될 수 있다.When the temperature of the metal ring reaches absolute zero, the metal ring becomes a superconductor, and current flows in both directions, allowing a superimposed state of 0 and 1 to be expressed.
금속 링들이 중첩 상태일 때, 횡(橫) 방향으로 자기장이 걸리면, 금속 링의 온도가 상승하여 초전도체의 효과가 없어진다. 이후 자기장이 점차 약화되면, 각 금속 링들 간 상호작용이 발생된다. 각 금속 링들 간 상호 작용에 따라, 각 금속 링들에는 전류가 시계 방향 또는 반시계 방향 중 하나로 흐르게 된다. 각 금속 링들 간의 상호 작용을 조절하면, 각 금속 링들 별 전류 방향이 조절될 수 있다. 동일한 방향으로 전류가 흐르는 금속 링들이 많을수록 높은 신호가 측정된다.When metal rings are overlapped and a magnetic field is applied in the transverse direction, the temperature of the metal rings rises and the superconductor effect is lost. Afterwards, as the magnetic field gradually weakens, interaction between each metal ring occurs. Depending on the interaction between each metal ring, current flows through each metal ring in either a clockwise or counterclockwise direction. By controlling the interaction between each metal ring, the current direction for each metal ring can be adjusted. The more metal rings with current flowing in the same direction, the higher the signal measured.
금속 링들 간 상호 작용의 조합을 바꾸어 가며 신호 측정을 반복하면, 최적화된 조합이 도출될 수 있다.By repeating signal measurements while changing the combination of interactions between metal rings, an optimized combination can be derived.
양자 어닐러(annealer)는 조합 최적화에 사용되는 휴리스틱한 방법론 중 하나이다. 휴리스틱(heuristics) 또는 발견법(發見法)이란 불충분한 시간이나 정보로 인하여 합리적인 판단을 할 수 없거나, 체계적이면서 합리적인 판단이 굳이 필요하지 않은 상황에서 빠르게 해답을 도출할 수 있도록 구성된 간편추론의 방법이다. Quantum annealer is one of the heuristic methodologies used in combinatorial optimization. Heuristics or heuristics are simple reasoning methods designed to quickly arrive at an answer in situations where a rational judgment cannot be made due to insufficient time or information, or where a systematic and rational judgment is not necessary. .
양자 어닐러는 기존의 고전적인 어닐링 방법과 비교하여 양자 터널 효과를 사용하여 주어진 시스템의 바닥 상태 에너지를 찾아낸다. 본 발명에서, 양자 어닐러는 특정 장치 내에 프로그램 형태로 구현된 양자 어닐링 모듈일 수 있다. 또는, 양자 어닐러는, 본 발명의 실시 예에 따른 솔루션 계산 장치와 연결된 별도의 장치일 수도 있다. 양자 터널 효과를 사용 시, 고전 어닐링을 비롯한 여러 방법론과 비교하여 이득을 기대할 수 있다. 다만 현재 기술적 한계로 인하여 양자 어닐러의 성능의 최대치를 끌어내는데 어려움이 있다. Compared to existing classical annealing methods, quantum annealers use the quantum tunnel effect to find the ground state energy of a given system. In the present invention, the quantum annealer may be a quantum annealing module implemented in program form within a specific device. Alternatively, the quantum annealer may be a separate device connected to the solution calculation device according to an embodiment of the present invention. When using the quantum tunnel effect, benefits can be expected compared to several methodologies, including classical annealing. However, due to current technological limitations, it is difficult to maximize the performance of quantum annealers.
외부 환경의 노이즈(noise), 양자 결맞음 현상, 어닐러 내 큐비트(Qubit)들 간의 연결성의 한계, 큐비트 조작 정밀도의 한계 등, 여러가지 복합적인 이유들로 인하여 양자 어닐러에서 에러(error)가 발생될 수 있다. 에러로 인해, 양자 어닐러는 사용자가 초기에 프로그래밍하고 의도한 바와 다르게 부정확한 결과를 출력한다.Errors may occur in quantum annealers for a variety of complex reasons, such as noise in the external environment, quantum coherence phenomenon, limitations in connectivity between qubits within the annealer, and limitations in qubit manipulation precision. It can happen. Due to errors, the quantum annealer outputs inaccurate results that are different from what the user initially programmed and intended.
에러의 요인들을 각각 모두 파악하고 해결하기에는 실질적으로 많은 어려움이 있다. 본 발명에서 제시하는 방법을 통하여 상위 레벨(high-level)에서 간편한 방법으로 양자 어닐링의 결과의 에러를 완화하고자 한다.In practice, there are many difficulties in identifying and resolving all error factors. Through the method presented in the present invention, we aim to alleviate errors in the results of quantum annealing in a simple way at a high level.
또한, 양자 어닐링을 비롯한 휴리스틱한 방법론들은 특성상 같은 문제를 반복적으로 계산하여 최적의 해에 가까운 답을 도출해내는데, 문제의 사이즈가 클수록 반복적인 연산 과정에 있어서 커다란 장애 요소가 된다. In addition, heuristic methodologies, including quantum annealing, by their nature calculate the same problem repeatedly to derive an answer close to the optimal solution, but the larger the size of the problem, the greater the obstacle to the repetitive calculation process.
본 발명의 핵심은, 양자 어닐링 결과의 통계적 분석을 통하여 큐비트의 최적값을 추정한 후, 반복적인 어닐링 과정에서 해당 큐비트의 값을 고정함으로써 문제의 사이즈를 점진적으로 줄이는데 있다.The core of the present invention is to gradually reduce the size of the problem by estimating the optimal value of the qubit through statistical analysis of quantum annealing results and then fixing the value of the qubit during the iterative annealing process.
본 발명의 방법을 통하여 반복적인 계산 과정에서 문제의 사이즈를 점진적으로 줄여 결과적으로 양자 어닐러의 탐색 공간(search space)를 줄임으로써, 연산 시간상의 이득뿐 아니라 연산 결과물의 질 또한 향상될 수 있다.Through the method of the present invention, the size of the problem is gradually reduced during the iterative calculation process, and as a result, the search space of the quantum annealer is reduced, thereby improving not only the gain in calculation time but also the quality of calculation results.
이하, 도 1을 참조하여 본 발명의 일 실시 예에 따른 솔루션 계산 방법에 대해 설명한다.Hereinafter, a solution calculation method according to an embodiment of the present invention will be described with reference to FIG. 1.
도 1을 참조하면, 솔루션을 구해야 할 문제 H에 대해, 솔루션 계산 장치(이하, 장치로 약칭한다)는 양자 어닐러를 사용하여 샘플링을 수행하고, n개의 샘플 세트를 획득한다. 예를 들어, 도 1의 n개의 행이 n개의 샘플 세트에 해당한다. 생략된 부분을 제외하면, 도 1에는 5개의 샘플 세트가 예시로 나타나 있다. Referring to FIG. 1, for a problem H to be solved, a solution calculation device (hereinafter abbreviated as device) performs sampling using a quantum annealer and obtains a set of n samples. For example, n rows in Figure 1 correspond to a set of n samples. Excluding omitted portions, FIG. 1 shows five sample sets as examples.
이후, 장치는 전체 샘플세트 내 큐비트들 각각이, 0과 1 중 어떤 값을 가지는지 카운트한다. 도 1을 참조하면, 도시된 범위 내에서, n개의 샘플들 중 첫 번째 큐비트는 5개의 1 값을 가지며, 두 번째 큐비트는 2개의 1 값과 3개의 0 값을 가진다. 세 번째 큐비트 및 네 번째 큐비트는 각각 3개의 1값과 2개의 0값을 가진다. 다섯 번째 큐비트는 5개의 0 값을 가진다. Afterwards, the device counts whether each qubit in the entire sample set has a value of 0 or 1. Referring to FIG. 1, within the range shown, the first qubit among n samples has 5 1 values, and the second qubit has 2 1 values and 3 0 values. The third and fourth qubits each have three 1 values and two 0 values. The fifth qubit has five zero values.
장치는, 각 큐비트의 카운트 값을 전체 샘플 세트의 개수로 나누어, 큐비트과 통계적으로 0과 1 중 어떤 값에 편향되어 있는지 확인하고, 큐비트의 최적값을 추정한다. 예를 들어, 첫 번째 큐비트의 경우, 5개의 샘플 세트 중 5개의 값이 1이므로, 카운트 값 5를 5로 나누어, 큐비트 값의 1에 대한 통계적 편향도는 1임이 확인된다. 마찬가지로, 첫 번째 큐비트의 큐비트 값의 0에 대한 통계적 편향도는 0임이 확인된다. 두 번째 큐비트의 경우, 2개의 1 값을 가지므로, 카운트 값 2를 샘플 세트의 수 5로 나누면, 큐비트 값의 1에 대한 편향도는 2/5임이 확인된다. 다섯 번째 큐비트의 경우, 0개의 1 값이 카운트되므로, 카운트 값 0을 5로 나누면, 큐비트 값의 1에 대한 편향도는 0임이 확인된다.The device divides the count value of each qubit by the number of the entire sample set, determines whether the qubit is statistically biased toward 0 or 1, and estimates the optimal value of the qubit. For example, in the case of the first qubit, the value of 5 of the 5 sample sets is 1, so by dividing the count value of 5 by 5, it is confirmed that the statistical bias for the qubit value of 1 is 1. Likewise, it is confirmed that the statistical bias toward 0 of the qubit value of the first qubit is 0. In the case of the second qubit, since it has two 1 values, if the count value 2 is divided by the number of sample sets 5, it is confirmed that the bias of the qubit value for 1 is 2/5. In the case of the fifth qubit, 0 1 values are counted, so if the count value 0 is divided by 5, it is confirmed that the bias toward 1 in the qubit value is 0.
장치는, 임계값(Threshold)을 정하고, 각 큐비트의 편향성이 해당 임계값 이상인 경우, 해당 큐비트가 전체 시스템 에너지의 상태에 미치는 영향을 계산한다. 임계값은, 예를 들어 0 또는 1에 대해 편향도 1로 설정될 수 있다. 도 1을 참조하면, 첫 번째 및 다섯 번째 큐비트들이 임계값 이상인 큐비트들에 해당한다.The device sets a threshold and, if the bias of each qubit is greater than the threshold, calculates the impact of the qubit on the state of the overall system energy. The threshold may be set, for example, to a bias of 1 versus 0 or 1. Referring to Figure 1, the first and fifth qubits correspond to qubits that are above the threshold.
장치는, 편향성이 임계값 이상인 큐비트가 시스템 에너지에 미치는 영향이 바닥 상태의 에너지에 가까워질 경우, 편향성이 임계값 이상인 큐비트의 값을 고정한다. 다시 말해서, 편향성이 임계값 이상인 큐비트가 시스템 에너지에 미치는 영향의 계산 결과에 기반하여, 편향성이 임계값 이상인 큐비트의 값이 고정된다. 구체적으로, 편향성이 임계값 이상인 특정 큐비트가 시스템 에너지에 미치는 영향은, 특정 큐비트가 0일 때의 시스템 에너지 값과 1일 때의 시스템 에너지 값을 비교함을 통해 계산될 수 있다.The device fixes the value of the qubit whose bias is greater than the threshold if its influence on the system energy approaches the energy of the ground state. In other words, the value of the qubits whose bias is above the threshold is fixed based on the calculation result of the effect on the system energy of the qubits whose bias is above the threshold. Specifically, the impact of a specific qubit with a bias greater than a threshold on the system energy can be calculated by comparing the system energy value when the specific qubit is 0 and the system energy value when the specific qubit is 1.
예를 들어, 도 1의 첫 번째 큐비트 및 다섯 번째 큐비트 중 첫 번째 큐비트가 시스템 에너지에 미치는 영향은, 첫 번째 큐비트가 0일 때의 시스템 에너지 값과 1일 때의 시스템 에너지 값을 비교함을 통해 계산될 수 있다. 첫 번째 큐비트가 0일 때의 시스템 에너지 값이 1일 때의 시스템 에너지 값보다 작으면, 오류가 있는 것이므로 첫 번째 큐비트의 값은 1로 고정되지 않는다. 첫 번째 큐비트가 1일 때의 시스템 에너지 값이 0일 때의 시스템 에너지 값보다 작으면, 첫 번째 큐비트의 값은 1로 고정된다. For example, the effect of the first qubit on the system energy among the first and fifth qubits in Figure 1 is the system energy value when the first qubit is 0 and the system energy value when the first qubit is 1. It can be calculated through comparison. If the system energy value when the first qubit is 0 is less than the system energy value when the first qubit is 1, there is an error, so the value of the first qubit is not fixed to 1. If the system energy value when the first qubit is 1 is less than the system energy value when the first qubit is 0, the value of the first qubit is fixed to 1.
다섯 번째 큐비트도 마찬가지로, 다섯 번째 큐비트가 0일 때의 시스템 에너지 값과 1일 때의 시스템 에너지 값을 비교함을 통해 계산될 수 있다. 다섯 번째 큐비트가 0일 때의 시스템 에너지 값이 1일 때의 시스템 에너지 값보다 작으면, 다섯 번째 큐비트의 값은 1로 고정된다. 다섯 번째 큐비트가 1일 때의 시스템 에너지 값이 0일 때의 시스템 에너지 값보다 작으면, 오류가 있는 것이므로 다섯 번째 큐비트의 값은 0으로 고정되지 않는다.Likewise, the fifth qubit can be calculated by comparing the system energy value when the fifth qubit is 0 and the system energy value when it is 1. If the system energy value when the fifth qubit is 0 is less than the system energy value when the fifth qubit is 1, the value of the fifth qubit is fixed to 1. If the system energy value when the fifth qubit is 1 is less than the system energy value when the fifth qubit is 0, there is an error, so the value of the fifth qubit is not fixed to 0.
장치는, 고정된 큐비트 값을 기반으로 문제의 사이즈를 줄인다. 도 1을 참조하면, 문제 H에서 고정된 큐비트들은 오프셋 형태로 문제에 반영될 수 있다.The device reduces the size of the problem based on fixed qubit values. Referring to Figure 1, qubits fixed in problem H can be reflected in the problem in the form of offsets.
장치는, 추가 어닐링을 진행하며 전체 과정을 반복한다.The device repeats the entire process with additional annealing.
이상으로, 도 1을 참조하여 본 발명의 일 실시 예에 따른 솔루션 계산 방법에 대해 설명하였다.Above, the solution calculation method according to an embodiment of the present invention has been described with reference to FIG. 1.
본 명세서에서, 획득된 샘플 세트 내에서 일련의 처리 과정을 거쳐 큐비트의 값이 고정될 때, 해당 처리 과정은 통계적 분석으로 지칭될 수 있다.In this specification, when the value of a qubit is fixed through a series of processing processes within an acquired sample set, the processing process may be referred to as statistical analysis.
도 1을 참조하여 설명된 과정 중 도출된 큐비트의 최적값이, 문제에 대한 솔루션에 해당할 수 있다. 반복에 의해 고정된 큐비트들의 수가 늘어나면, 문제의 크기, 즉 양자 어닐러가 탐색할 탐색 공간은 줄어들게 되며, 큐비트들의 최적값을 추정하는데 소요되는 시간은 감소되면서 최적값에 대한 정확도는 증가될 수 있다.The optimal value of the qubit derived during the process described with reference to FIG. 1 may correspond to a solution to the problem. As the number of qubits fixed through repetition increases, the size of the problem, that is, the search space to be searched by the quantum annealer, decreases, the time required to estimate the optimal value of the qubits decreases, and the accuracy of the optimal value increases. It can be.
또한, 장치는 단일 큐비트의 최적값을 추정하는 것뿐만 아니라, 큐비트들의 조합/클러스터의 형태의 통계적인 패턴을 보고 해당 조합의 최적값을 추정할 수 있다. 장치가 큐비트들의 조합의 형태를 분석할 경우, 추가 분석을 통하여 시스템 내의 양자적 얽힘 현상에 대해서도 유추해 볼 수 있을 것으로 기대된다.In addition, the device can not only estimate the optimal value of a single qubit, but also estimate the optimal value of the combination by looking at statistical patterns in the form of combinations/clusters of qubits. When the device analyzes the form of the combination of qubits, it is expected that quantum entanglement within the system can be inferred through additional analysis.
예를 들어, 장치는 전체 샘플 세트에서 큐비트들의 조합이 어떤 형태를 가지는지 카운트한다. For example, the device counts what combinations of qubits look like in the entire sample set.
큐비트들의 조합을 2개 조합 단위로 설정하는 경우, 장치는 큐비트들의 조합이 00, 01, 10, 11 중 어디에 속하는지를 카운트할 수 있다. 예를 들어, 도 1에서 처음 두 큐비트들의 조합에 대해, 2개의 11 조합과 3개의 10 조합이 카운트된다. When the combination of qubits is set as a unit of two combinations, the device can count whether the combination of qubits belongs to 00, 01, 10, or 11. For example, for the combination of the first two qubits in Figure 1, two 11 combinations and three 10 combinations are counted.
큐비트들의 조합을 3개 조합 단위로 설정하는 경우, 장치는 큐비트들의 조합이 000, 001, 010, 011, 100, 101, 110, 111 중 어디에 속하는지를 카운트할 수 있다. 예를 들어, 도 1에서 처음 세 큐비트들의 조합에 대해, 1개의 110 조합, 2개의 101 조합, 1개의 111 조합, 1개의 100 조합이 카운트된다.When the combination of qubits is set in units of three combinations, the device can count which of 000, 001, 010, 011, 100, 101, 110, and 111 the combination of qubits belongs to. For example, for the combinations of the first three qubits in Figure 1, one 110 combination, two 101 combinations, one 111 combination, and one 100 combination are counted.
장치는, 큐비트들의 조합을 기준으로 통계적 분석을 수행하여 큐비트들의 값을 정할 수 있다.The device can determine the values of the qubits by performing statistical analysis based on the combination of qubits.
이상으로, 본 발명의 일 실시 예에 따른 솔루션 계산 방법에 대해 설명하였다. 이하, 도 2를 통해 본 발명의 일 실시 예에 따른 솔루션 계산 자치에 대해 설명한다.Above, the solution calculation method according to an embodiment of the present invention has been described. Hereinafter, solution calculation autonomy according to an embodiment of the present invention will be described with reference to FIG. 2.
도 2는 솔루션 계산 장치(300)의 주요 구성을 도시하는 블록도이다.FIG. 2 is a block diagram showing the main configuration of the
도 2를 참조하면, 본 발명에 따른 솔루션 계산 장치(300)는 입력 모듈(310), 출력 모듈(330), 양자 어닐링 모듈(350), 저장 모듈(370), 제어 모듈(390)을 포함하여 구성될 수 있다.Referring to FIG. 2, the
입력모듈(310)은 음성 및/또는 문자 정보 등의 다양한 정보를 입력 받고, 각종 기능을 설정 및 솔루션 계산 장치(300)의 기능 제어와 관련하여 입력되는 신호를 제어 모듈(390)로 전달한다. 또한, 입력 모듈(310)은 사용자의 터치 또는 조작에 따른 입력 신호를 발생하는 키패드와 터치패드 및/또는 사용자 발화에 따른 음성에 대한 입력 신호를 발생하는 마이크 중 적어도 하나를 포함하여 구성될 수 있다. 이때, 입력 모듈(310)은 출력 모듈(330)와 함께 하나의 터치패널(또는 터치스크린(touch screen))의 형태로 구성되어 입력과 표시 기능을 동시에 수행할 수 있다. 또한, 입력 모듈(310)은 키보드, 키패드, 마우스, 조이스틱 등과 같은 입력 장치 외에도 향후 개발될 수 있는 모든 형태의 입력 수단이 사용될 수 있다. 특히, 본 발명에 따른 입력 모듈(310)은 사용자로부터 입력되는 입력 정보를 감지하여 제어 모듈(390)로 전달한다.The
특히, 본 발명에서 솔루션 계산 장치(300)는 입력 모듈(310)을 통해 솔루션을 계산해야 할 문제를 입력받을 수 있다.In particular, in the present invention, the
출력 모듈(330)은 솔루션 계산 장치(300)의 기능 수행 중에 발생하는 일련의 동작상태 및 동작결과 등에 대한 정보를 표시한다. 또한, 출력 모듈(330)은 솔루션 계산 장치(300)의 메뉴 및 사용자가 입력한 사용자 데이터 등을 표시할 수 있다. 여기서, 출력 모듈(390)은 액정표시장치(LCD, Liquid Crystal Display), 초박막 액정표시장치(TFT-LCD, Thin Film Transistor LCD), 발광다이오드(LED, Light Emitting Diode), 유기 발광다이오드(OLED, Organic LED), 능동형 유기발광다이오드(AMOLED, Active Matrix OLED), 레티나 디스플레이(Retina Display), 플렉시블 디스플레이(Flexible display) 및 3차원(3 Dimension) 디스플레이 등으로 구성될 수 있다. 또한, 출력 모듈(390)은 전기 신호를 소리의 형태로 출력하는 스피커를 포함할 수 있다. 이때, 출력 모듈(330)이 터치스크린(Touch screen) 형태로 구성된 경우, 출력 모듈(330)은 입력 모듈(310)의 기능 중 일부 또는 전부를 수행할 수 있다.The
특히, 본 발명에서 솔루션 계산 장치(300)는 도출한 솔루션을 출력 모듈(330)을 통해 사용자 인식할 수 있는 형태의 그래픽, 텍스트, 사운드 등을 사용하여 표시할 수 있다.In particular, in the present invention, the
양자 어닐러 모듈(350)은 앞서 설명된 양자 어닐러의 기능을 수행하기 위한 모듈이다. 양자 어닐러 모듈(350)은 입력 모듈(310)를 통해 입력된 문제에 대해 양자 어닐링을 수행하여, 샘플 세트를 구성할 수 있다.The
저장 모듈(370)은 데이터를 저장하기 위한 장치로, 주 기억 장치 및 보조 기억 장치를 포함하고, 솔루션 계산 장치(300)의 기능 동작에 필요한 응용 프로그램을 저장한다. 저장 모듈(370)은 RAM(Random Access Memory), DRAM(Dynamic RAM), ROM(Read Only Memory), 플래시 메모리(flash memory), 휘발성 메모리(volatile memory), 비-휘발성 메모리(non-volatile memory) 및/또는 이들의 조합으로 구성될 수 있다. 이러한 저장 모듈(370)은 크게 프로그램 영역과 데이터 영역을 포함할 수 있다. 여기서, 솔루션 계산 장치(300)는 사용자의 요청에 상응하여 각 기능을 활성화하는 경우, 제어 모듈(390)의 제어 하에 해당 응용 프로그램들을 실행하여 각 기능을 제공하게 된다.The
본 발명에 따른 저장 모듈(370)은 솔루션 계산 장치(300)를 부팅시키는 운영체제, 다양한 어플리케이션 프로그램, 솔루션 계산 장치(300)에 매칭되는 사용자 정보 등을 저장할 수 있다. 특히, 본 발명에 따른 저장 모듈(370)은 본 발명에 따른 솔루션 계산 방법 제공하기 위한 솔루션 계산 프로그램(371)을 저장할 수 있다.The
제어 모듈(390)은 운영 체제(OS, Operation System) 및 각 구성을 구동시키는 프로세스 장치가 될 수 있다. 예를 들어, 제어 모듈(390)은 하나 이상의 프로세서 집합으로 구성될 수 있다. 또한, 제어 모듈(390)은 통신 제어 프로세서, 어플리케이션 프로세서(Application processor), ECU(Electronic Control Unit), 그래픽 처리 프로세서, 메모리 제어 프로세서 등의 집합으로 구성될 수 있다.The
제어 모듈(390)은 입력 모듈(310)을 통해 입력받은 신호를 스스로 도 1에서 설명된 동작들 중 하나 이상의 조합을 통해 처리하여 출력 모듈(330)을 통해 출력하도록 제어하며, 이 과정에서 발생하는 정보 또는 데이터 등을 저장 모듈(370)에 저장하도록 제어할 수 있다.The
도시되지는 않았으나, 솔루션 계산 장치(300)는 통신 모듈을 더 포함할 수 있다. 통신 모듈(미도시)은 송신되는 신호의 주파수를 상승 변환 및 증폭하는 RF 송신 수단과 수신되는 신호를 저잡음 증폭하고 주파수를 하강 변환하는 RF 수신 수단, 특정 통신 방식에 따른 통신 프로토콜을 처리하기 위한 데이터 처리 수단 등을 포함한다. 이러한 통신 모듈(미도시)는 무선통신 모듈(미도시) 및 유선통신 모듈(미도시) 중 적어도 하나를 포함할 수 있다. 그리고, 무선통신 모듈은 무선 통신 방법에 따라 데이터를 송수신하기 위한 구성이며, 솔루션 계산 장치(300)가 무선 통신을 이용하는 경우, 무선망 통신 모듈, 무선 랜 통신 모듈 및 무선 팬 통신 모듈 중 어느 하나를 이용하여 입력된 문제 및 도출된 솔루션을 외부 장치와 송수신할 수 있다.Although not shown, the
앞서 설명된 바와 같이, 도 2를 통해 설명된 모듈들은 물리적으로 단일 장치 내에 포함될 수도 있다. 또한 분산형 컴퓨팅 환경에서 물리적으로 분리된 각 모듈이 유/무선으로 연결된 형태로 구성될 수도 있다.As previously described, the modules illustrated in FIG. 2 may be physically included in a single device. Additionally, in a distributed computing environment, each physically separated module may be configured to be connected wired/wireless.
이상, 본 발명에 따른 솔루션 계산 장치(300)의 구성 및 동작 방법에 대해 설명하였다.Above, the configuration and operation method of the
이하, 본 발명의 일 실시 예에 따른 솔루션 계산 방법을 흐름도를 통해 살펴보도록 하겠다.Hereinafter, we will look at the solution calculation method according to an embodiment of the present invention through a flowchart.
도 3은 본 발명의 일 실시 예에 따른 솔루션 계산 방법을 도시한 흐름도이다.Figure 3 is a flowchart showing a solution calculation method according to an embodiment of the present invention.
도 3을 참조하면, 본 발명의 일 실시 예에 따른 솔루션 계산 방법은, 솔루션 계산 장치(300)에 의해 수행되며, 양자 어닐링을 통해 복수의 큐비트들을 포함하는 샘플 세트를 획득하는 단계(S501), 통계적 분석에 기반하여 복수의 큐비트들 중 특정 큐비트의 값을 고정하는 단계(S503), 고정된 특정 큐비트 값을 기반으로 문제에 대한 솔루션을 계산하는 단계(S505)를 포함하여 구성될 수 있다.Referring to FIG. 3, the solution calculation method according to an embodiment of the present invention is performed by the
상기 샘플 세트는, 사용자에 의해 입력된 문제 또는 본 발명의 통계적 분석 과정에 의해 사이즈가 축소된 문제에 대한 양자 어닐링을 통해 획득될 수 있다.The sample set can be obtained through quantum annealing on a problem input by a user or a problem whose size has been reduced by the statistical analysis process of the present invention.
통계적 분석은, 앞서 도 1과 관련하여 설명된 바와 같이, 큐비트들 각각의 편향성이 시스템 에너지의 상태에 미치는 영향을 분석하는 과정을 포함할 수 있다.Statistical analysis may include a process of analyzing the effect of the bias of each qubit on the state of system energy, as previously described in relation to FIG. 1.
구체적으로, 통계적 분석은, 샘플 세트 내에서 큐비트들 각각이 0과 1중 어느 값을 가지는지 카운트하고, 큐비트들 각각이 0과 1중 어떤 값에 편향되어 있는지에 대한 편향성을 도출하여 상기 큐비트들의 최적값을 추정하고, 편향성이 임계값 이상인 특정 큐비트에 대해 시스템 에너지의 상태에 미치는 영향을 계산하는 것을 포함할 수 있다.Specifically, the statistical analysis counts which value each of the qubits in the sample set has between 0 and 1, and derives the bias of which value each of the qubits is biased towards between 0 and 1. This may include estimating the optimal value of the qubits and calculating the effect on the state of the system energy for specific qubits whose bias is above a threshold.
솔루션 계산 장치(300)는, 편향성이 임계값 이상인 특정 큐비트가 시스템 에너지의 상태에 미치는 영향의 계산 결과에 기반하여, 특정 큐비트의 값을 고정한다. 솔루션 계산 장치(300)는, 편향성이 임계값 이상인 특정 큐비트가 시스템 에너지의 상태에 미치는 영향을, 상기 특정 큐비트의 값이 0인 경우의 시스템 에너지 값과 상기 특정 큐비트의 값이 1인 경우의 시스템 에너지 값을 비교함을 통해 계산한다.The
솔루션 계산 장치(300)는, 큐비트들 각각의 카운트 값을 전체 샘플 세트의 개수로 나누는 동작을 통해 편향성을 도출한다.The
솔루션 계산 장치(300)는, 특정 큐비트의 값을 고정함으로써, 문제의 크기를 감소시킬 수 있다. 솔루션 계산 장치(300)는, 크기가 감소된 문제에 대해 양자 어닐링을 수행하여 제2 샘플 세트를 획득하고, 획득된 제2 샘플 세트에 대한 통계적 분석을 수행하여 제2 특정 큐비트의 값을 고정할 수 있다. 제2 특정 큐비트의 값이 고정됨으로써, 문제의 크기는 더 감소된다. 솔루션 계산 장치(300)는, 크기가 더 감소된 문제에 대한 제3 샘플 세트를 획득하는 등, 일련의 과정을 반복 수행할 수 있다.The
솔루션 계산 장치(300)는, 문제의 크기가 일정 크기 이하로 감소된 경우 혹은 큐비트들의 최적값이 일정 횟수 이상 동일하게 도출된 경우, 추정된 최적값을 솔루션으로 출력할 수 있다.The
이상으로, 본 발명의 일 실시 예에 따른 솔루션 계산 방법을 흐름도를 통해 설명하였다.Above, the solution calculation method according to an embodiment of the present invention has been described through a flowchart.
필수적이지는 않으나, 솔루션 계산 장치(300)는 통신 모듈을 통해 지상 통신망과 연결될 수 있다. 지상 통신망은 시스템 구현 방식에 따라 이더넷(Ethernet), xDSL(ADSL, VDSL), HFC(Hybrid Fiber Coaxial Cable), FTTC(Fiber to The Curb), FTTH(Fiber To The Home) 등의 유선 통신 방식을 이용할 수도 있고, WLAN(Wireless LAN), 와이파이(Wi-Fi), 와이브로(Wibro), 와이맥스(Wimax), HSDPA(High Speed Downlink Packet Access), LTE(Long Term Evolution), LTE-A (Long Term Evolution Advanced), NR (New RAT) 등의 무선 통신 방식을 이용할 수도 있다.Although not essential, the
아울러, 이러한 통신망은 예컨대, 다수의 접속망(미도시) 및 코어망(미도시)을 포함하며, 외부망, 예컨대 인터넷망(미도시)을 포함하여 구성될 수 있다. 여기서, 접속망(미도시)은 솔루션 계산 장치와 유무선 통신을 수행하는 접속망으로서, 예를 들어, BS(Base Station), BTS(Base Transceiver Station), NodeB, eNodeB, gNodeB 등과 같은 다수의 기지국과, BSC(Base Station Controller), RNC(Radio Network Controller)와 같은 기지국 제어기로 구현될 수 있다. In addition, this communication network includes, for example, a plurality of access networks (not shown) and a core network (not shown), and may be configured to include an external network, such as an Internet network (not shown). Here, the access network (not shown) is an access network that performs wired and wireless communication with the solution calculation device, for example, a number of base stations such as BS (Base Station), BTS (Base Transceiver Station), NodeB, eNodeB, gNodeB, and BSC. It can be implemented with a base station controller such as (Base Station Controller) or RNC (Radio Network Controller).
또한, 접속망(미도시)과 함께 모바일 망을 구성하는 코어망(미도시)은 접속망(미도시)과 외부 망, 예컨대, 인터넷망(미도시)을 연결하는 역할을 수행한다.In addition, the core network (not shown) that constitutes the mobile network together with the access network (not shown) serves to connect the access network (not shown) with an external network, such as an Internet network (not shown).
이러한 코어망(미도시)은, 접속망(미도시) 간의 이동성 제어 및 스위칭 등의 이동통신 서비스를 위한 주요 기능을 수행하는 네트워크 시스템으로서, 서킷 교환(circuit switching) 또는 패킷 교환(packet switching)을 수행하며, 모바일 망 내에서의 패킷 흐름을 관리 및 제어한다. 또한, 코어망(미도시)은 주파수간 이동성을 관리하고, 접속망(미도시) 및 코어망(미도시) 내의 트래픽 및 다른 네트워크, 예컨대 인터넷망(미도시)과의 연동을 위한 역할을 수행할 수도 있다. 이러한 코어망(미도시)은 SGW(Serving GateWay), PGW(PDN GateWay), MSC(Mobile Switching Center), HLR(Home Location Register), MME(Mobile Mobility Entity)와 HSS(Home Subscriber Server) 등을 더 포함하여 구성될 수도 있다.This core network (not shown) is a network system that performs major functions for mobile communication services, such as mobility control and switching between access networks (not shown), and performs circuit switching or packet switching. and manages and controls packet flow within the mobile network. In addition, the core network (not shown) manages inter-frequency mobility and plays a role in linking traffic within the access network (not shown) and the core network (not shown) with other networks, such as the Internet network (not shown). It may be possible. This core network (not shown) further includes Serving GateWay (SGW), PDN GateWay (PGW), Mobile Switching Center (MSC), Home Location Register (HLR), Mobile Mobility Entity (MME), and Home Subscriber Server (HSS). It may be configured to include.
또한, 인터넷망(미도시)은 TCP/IP 프로토콜에 따라서 정보가 교환되는 통상의 공개된 통신망, 즉 공용망을 의미한다.Additionally, the Internet network (not shown) refers to a typical open communication network, that is, a public network, in which information is exchanged according to the TCP/IP protocol.
한편, 본 발명의 각 장치에 탑재되는 메모리는 그 장치 내에서 정보를 저장한다. 일 구현예의 경우, 메모리는 컴퓨터로 판독 가능한 매체이다. 일 구현 예에서, 메모리는 휘발성 메모리 유닛일 수 있으며, 다른 구현예의 경우, 메모리는 비휘발성 메모리 유닛일 수도 있다. 일 구현예의 경우, 저장장치는 컴퓨터로 판독 가능한 매체이다. 다양한 서로 다른 구현 예에서, 저장장치는 예컨대 하드디스크 장치, 광학디스크 장치, 혹은 어떤 다른 대용량 저장장치를 포함할 수도 있다.Meanwhile, the memory mounted on each device of the present invention stores information within the device. In one implementation, the memory is a computer-readable medium. In one implementation, the memory may be a volatile memory unit, and in another implementation, the memory may be a non-volatile memory unit. In one implementation, the storage device is a computer-readable medium. In various different implementations, the storage device may include, for example, a hard disk device, an optical disk device, or some other mass storage device.
비록 본 명세서와 도면에서는 예시적인 장치 구성을 기술하고 있지만, 본 명세서에서 설명하는 기능적인 동작과 주제의 구현물들은 다른 유형의 디지털 전자 회로로 구현되거나, 본 명세서에서 개시하는 구조 및 그 구조적인 등가물들을 포함하는 컴퓨터 소프트웨어, 펌웨어 혹은 하드웨어로 구현되거나, 이들 중 하나 이상의 결합으로 구현 가능하다. 본 명세서에서 설명하는 주제의 구현물들은 하나 이상의 컴퓨터 프로그램 제품, 다시 말해 본 발명에 따른 장치의 동작을 제어하기 위하여 혹은 이것에 의한 실행을 위하여 유형의 프로그램 저장매체 상에 인코딩된 컴퓨터 프로그램 명령에 관한 하나 이상의 모듈로서 구현될 수 있다. 컴퓨터로 판독 가능한 매체는 기계로 판독 가능한 저장 장치, 기계로 판독 가능한 저장 기판, 메모리 장치, 기계로 판독 가능한 전파형 신호에 영향을 미치는 물질의 조성물 혹은 이들 중 하나 이상의 조합일 수 있다.Although the specification and drawings describe example device configurations, implementations of the functional operations and subject matter described herein may be implemented in other types of digital electronic circuits, or may be implemented in the structures disclosed herein and their structural equivalents. It may be implemented as computer software, firmware, or hardware, or as a combination of one or more of these. Implementations of the subject matter described herein may relate to one or more computer program products, that is, computer program instructions encoded on a tangible program storage medium for controlling the operation of or execution by a device according to the invention. It can be implemented as the above modules. The computer-readable medium may be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of matter that affects a machine-readable radio wave signal, or a combination of one or more of these.
아울러, 본 발명의 솔루션 계산 방법을 실행 시 발생되는 다양한 정보는 컴퓨팅 시스템에 관련된 임의의 컴퓨터 판독가능 매체에 저장되고 액세스될 수 있다. 예를 들면, 이러한 프로그램 모듈들의 일부 및 관련 프로그램 데이터의 일부는, 시스템 메모리에 저장하기 위해, 오퍼레이팅 시스템, 애플리케이션 프로그램, 프로그램 모듈, 및/또는 프로그램 데이터에 포함될 수 있다.In addition, various information generated when executing the solution calculation method of the present invention may be stored and accessed in any computer-readable medium related to the computing system. For example, some of these program modules and some of the associated program data may be included in an operating system, application program, program module, and/or program data for storage in system memory.
또한, 하드 디스크와 같은 대용량(mass) 저장 장치가 컴퓨팅 시스템에 연결되면, 이러한 프로그램 모듈 및 관련 프로그램 데이터는 대용량 저장 장치에 저장될 수 있다. 네트워크 환경에서, 본 발명과 관련된 프로그램 모듈 또는 그 일부는 입출력 인터페이스의 모뎀 또는 네트워크 인터페이스를 통해 연결된 원격 컴퓨터 시스템에 저장될 수 있다. 이러한 모듈의 실행은 분산형 환경에서 수행될 수 있다.Additionally, when a mass storage device, such as a hard disk, is connected to the computing system, these program modules and related program data may be stored in the mass storage device. In a network environment, program modules or portions thereof related to the present invention may be stored in a remote computer system connected through a network interface or a modem of the input/output interface. Execution of these modules can be performed in a distributed environment.
이상에서 설명한 바와 같이, 본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.As described above, although this specification contains details of numerous specific implementations, these should not be construed as limitations on the scope of any invention or what may be claimed, but rather may be specific to particular embodiments of a particular invention. It should be understood as a description of features. Certain features described herein in the context of individual embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment can also be implemented in multiple embodiments individually or in any suitable sub-combination. Furthermore, although features may be described as operating in a particular combination and initially claimed as such, one or more features from a claimed combination may in some cases be excluded from that combination, and the claimed combination may be a sub-combination. It can be changed to a variant of a sub-combination.
마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징될 수 있다는 점을 이해하여야 한다.Likewise, although operations are depicted in the drawings in a particular order, this should not be construed as requiring that those operations be performed in the specific order or sequential order shown or that all of the depicted operations must be performed to obtain desirable results. In certain cases, multitasking and parallel processing may be advantageous. Additionally, the separation of various system components in the above-described embodiments should not be construed as requiring such separation in all embodiments, and the described program components and systems may generally be integrated together into a single software product or packaged into multiple software products. You must understand that it is possible.
본 명세서에서 설명한 주제의 특정한 실시형태를 설명하였다. 기타의 실시형태들은 이하의 청구항의 범위 내에 속한다. 예컨대, 청구항에서 인용된 동작들은 상이한 순서로 수행되면서도 여전히 바람직한 결과를 성취할 수 있다. 일 예로서, 첨부도면에 도시한 프로세스는 바람직한 결과를 얻기 위하여 반드시 그 특정한 도시된 순서나 순차적인 순서를 요구하지 않는다. 특정한 구현 예에서, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다.Specific embodiments of the subject matter described herein have been described. Other embodiments are within the scope of the following claims. For example, the operations recited in the claims can be performed in a different order and still achieve desirable results. As an example, the process depicted in the accompanying drawings does not necessarily require the specific depicted order or sequential order to achieve desirable results. In certain implementations, multitasking and parallel processing may be advantageous.
본 기술한 설명은 본 발명의 최상의 모드를 제시하고 있으며, 본 발명을 설명하기 위하여, 그리고 통상의 기술자가 본 발명을 제작 및 이용할 수 있도록 하기 위한 예를 제공하고 있다. 이렇게 작성된 명세서는 그 제시된 구체적인 용어에 본 발명을 제한하는 것이 아니다. 따라서, 상술한 예를 참조하여 본 발명을 상세하게 설명하였지만, 통상의 기술자라면 본 발명의 범위를 벗어나지 않으면서도 본 예들에 대한 개조, 변경 및 변형을 가할 수 있다.The present description sets forth the best mode of the invention and provides examples to illustrate the invention and to enable any person skilled in the art to make and use the invention. The specification prepared in this way does not limit the present invention to the specific terms presented. Accordingly, although the present invention has been described in detail with reference to the above-described examples, those skilled in the art may make modifications, changes, and variations to the examples without departing from the scope of the present invention.
따라서 본 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위에 의해 정하여져야 한다.Therefore, the scope of the present invention should not be determined by the described embodiments, but by the scope of the patent claims.
본 발명은 양자 어닐링에 기반하여 문제에 대한 솔루션을 계산하는 방법 및 장치에 대한 것이다. 본 발명에 의하면, 양자 컴퓨터를 사용하여 문제의 솔루션을 도출함에 있어, 통계적 분석을 통해 기존보다 신속하며 신뢰도가 높은 솔루션이 도출되도록 할 수 있다.The present invention relates to a method and apparatus for calculating a solution to a problem based on quantum annealing. According to the present invention, when deriving a solution to a problem using a quantum computer, it is possible to derive a solution that is faster and more reliable than existing solutions through statistical analysis.
따라서 본 발명은 양자 어닐링에 기반하여 문제에 대한 솔루션을 계산하는 방법 및 장치의 제공을 통해 관련 산업 발전에 이바지할 수 있으며, 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있다.Therefore, the present invention can contribute to the development of related industries by providing a method and device for calculating a solution to a problem based on quantum annealing, and not only has sufficient marketability or commercial potential, but also can be clearly implemented in reality, so it can contribute to the industry. There is a possibility of availability.
Claims (24)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR10-2022-0112143 | 2022-09-05 | ||
| KR1020220112143A KR102867812B1 (en) | 2022-09-05 | 2022-09-05 | Method and apparatus for calculating a solution to a problem based on quantum annealing |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2024052890A1 true WO2024052890A1 (en) | 2024-03-14 |
Family
ID=90192227
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/IB2023/061161 Ceased WO2024052890A1 (en) | 2022-09-05 | 2023-11-06 | Quantum annealing-based method and apparatus for computing solutions to problems |
Country Status (2)
| Country | Link |
|---|---|
| KR (1) | KR102867812B1 (en) |
| WO (1) | WO2024052890A1 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR102823936B1 (en) * | 2024-03-21 | 2025-06-24 | 주식회사 큐노바 | Solution apparatus and method for sampling qubits in quantum annealer |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2020259813A1 (en) * | 2019-06-25 | 2020-12-30 | Parity Quantum Computing GmbH | Method of computing a solution to a computational problem using a quantum system and apparatus for computing solutions to computational problems |
| US20210279631A1 (en) * | 2018-08-31 | 2021-09-09 | President And Fellows Of Harvard College | Quantum computing for combinatorial optimization problems using programmable atom arrays |
| US20220092152A1 (en) * | 2013-12-05 | 2022-03-24 | D-Wave Systems Inc. | Sampling from a set spins with clamping |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP3113084B1 (en) | 2015-06-29 | 2020-12-09 | Parity Quantum Computing GmbH | Quantum processing device and method |
| KR101768066B1 (en) | 2016-06-13 | 2017-08-14 | 고려대학교 산학협력단 | Method and apparatus for generating quantum error correcting code using graph states |
| US11900264B2 (en) * | 2019-02-08 | 2024-02-13 | D-Wave Systems Inc. | Systems and methods for hybrid quantum-classical computing |
| KR102361858B1 (en) | 2020-11-17 | 2022-02-14 | 고려대학교 산학협력단 | Method and apparatus for optimization of quantum error correction code based on biased error |
-
2022
- 2022-09-05 KR KR1020220112143A patent/KR102867812B1/en active Active
-
2023
- 2023-11-06 WO PCT/IB2023/061161 patent/WO2024052890A1/en not_active Ceased
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20220092152A1 (en) * | 2013-12-05 | 2022-03-24 | D-Wave Systems Inc. | Sampling from a set spins with clamping |
| US20210279631A1 (en) * | 2018-08-31 | 2021-09-09 | President And Fellows Of Harvard College | Quantum computing for combinatorial optimization problems using programmable atom arrays |
| WO2020259813A1 (en) * | 2019-06-25 | 2020-12-30 | Parity Quantum Computing GmbH | Method of computing a solution to a computational problem using a quantum system and apparatus for computing solutions to computational problems |
Non-Patent Citations (2)
| Title |
|---|
| AYANZADEH RAMIN, DORBAND JOHN, HALEM MILTON, FININ TIM: "Multi-qubit correction for quantum annealers", SCIENTIFIC REPORTS, NATURE PUBLISHING GROUP, US, vol. 11, no. 1, US , XP093147124, ISSN: 2045-2322, DOI: 10.1038/s41598-021-95482-w * |
| SONG XINYU, WANG YAZHEN, WU SHANG, KIM DONGGYU: "Statistical Analysis of Quantum Annealing", ARXIV, 18 January 2021 (2021-01-18), XP093147125, ISSN: 2331-8422, DOI: 10.48550/arxiv.2101.06854 * |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20240033467A (en) | 2024-03-12 |
| KR102867812B1 (en) | 2025-10-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2021118039A1 (en) | Deep learning-based method for filtering similar images, and apparatus using same | |
| WO2022216109A1 (en) | Method and electronic device for quantizing dnn model | |
| WO2024052890A1 (en) | Quantum annealing-based method and apparatus for computing solutions to problems | |
| US10685160B2 (en) | Large cluster persistence during placement optimization of integrated circuit designs | |
| WO2017160026A2 (en) | Location estimation method and apparatus using access point in wireless communication system | |
| WO2021095987A1 (en) | Multi-type entity-based knowledge complementing method and apparatus | |
| WO2010120037A1 (en) | Apparatus and method for identifying an access terminal | |
| WO2014003254A1 (en) | Apparatus and method for setting search region for predicting motion vector | |
| CN115473841A (en) | Method, device and storage medium for determining network path | |
| US11853751B2 (en) | Indirect function call target identification in software | |
| WO2024058465A1 (en) | Method for training local neural network model for federated learning | |
| WO2015056818A1 (en) | Counting bloom filter | |
| US20230156658A1 (en) | Position estimation | |
| WO2022030805A1 (en) | Speech recognition system and method for automatically calibrating data label | |
| WO2020222373A1 (en) | Indoor positioning device and method | |
| WO2022045841A1 (en) | Method and apparatus of supervised learning approach for reducing latency during context switchover in 5g mec | |
| EP3677067A1 (en) | Electronic device and method for controlling the electronic device for joint transmission thereof | |
| US10644811B1 (en) | Primary RF insulated units including secondary RF insulated units for testing multiple wireless technologies | |
| WO2023033345A1 (en) | Optimal learning rate selection through step sampling | |
| WO2023177025A1 (en) | Method and apparatus for computing artificial neural network based on parameter quantization using hysteresis | |
| WO2025198091A1 (en) | Solution device and method for sampling qubits in quantum annealer | |
| KR20240050025A (en) | Method and apparatus for mapping binary variable to qubit in quantum annealer | |
| WO2025110327A1 (en) | Calibration method and apparatus using input/output distribution of adjacent layer | |
| Liu et al. | An adaptive hybrid localization algorithm for wireless sensor network | |
| WO2019216551A1 (en) | Device for generating dialogue sentence, dialogue robot including same and method for generating dialogue sentence |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23862632 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 23862632 Country of ref document: EP Kind code of ref document: A1 |