Download Application of Quantum Computing principles to Natural Language Processing

Document related concepts

Relativistic quantum mechanics wikipedia , lookup

Ensemble interpretation wikipedia , lookup

Bohr–Einstein debates wikipedia , lookup

Bell test experiments wikipedia , lookup

Basil Hiley wikipedia , lookup

Renormalization group wikipedia , lookup

Delayed choice quantum eraser wikipedia , lookup

Theoretical and experimental justification for the Schrödinger equation wikipedia , lookup

Double-slit experiment wikipedia , lookup

Scalar field theory wikipedia , lookup

Quantum field theory wikipedia , lookup

Particle in a box wikipedia , lookup

Max Born wikipedia , lookup

Quantum decoherence wikipedia , lookup

Quantum dot wikipedia , lookup

Hydrogen atom wikipedia , lookup

Coherent states wikipedia , lookup

Bell's theorem wikipedia , lookup

Copenhagen interpretation wikipedia , lookup

Measurement in quantum mechanics wikipedia , lookup

Quantum fiction wikipedia , lookup

Path integral formulation wikipedia , lookup

Density matrix wikipedia , lookup

Quantum entanglement wikipedia , lookup

Many-worlds interpretation wikipedia , lookup

Quantum electrodynamics wikipedia , lookup

History of quantum field theory wikipedia , lookup

Symmetry in quantum mechanics wikipedia , lookup

Orchestrated objective reduction wikipedia , lookup

EPR paradox wikipedia , lookup

Interpretations of quantum mechanics wikipedia , lookup

Probability amplitude wikipedia , lookup

Quantum group wikipedia , lookup

Quantum teleportation wikipedia , lookup

Quantum key distribution wikipedia , lookup

Hidden variable theory wikipedia , lookup

Canonical quantization wikipedia , lookup

Quantum computing wikipedia , lookup

Quantum cognition wikipedia , lookup

Quantum machine learning wikipedia , lookup

Quantum state wikipedia , lookup

T-symmetry wikipedia , lookup

Transcript
Application of Quantum Computing principles
to Natural Language Processing
B.Tech Project Report
Submitted in partial fulfillment of the requirements for the degree of
Bachelor of Technlogy (Honors)
by
Vipul Singh
Roll No : 100050057
under the guidance of
Prof. Pushpak Bhattacharyya
Department of Computer Science and Engineering
Indian Institute of Technology, Bombay
Acknowledgement
First and foremost, I express my sincere gratitude towards my guide Prof. Pushpak Bhattacharyya for his guidance and for the freedom he has been providing
us for our research work. He is daily source of inspiration for me to strive harder
in the pursuit of my research goals.
Next, I would like to thank Prof. Pranab Sen, Tata Institute of Fundamental
Research, Mumbai and Prof. Avatar Tathagat Tulsi, IIT Bombay for their valuable inputs on our work and help with designing the Quantum Viterbi algorithm.
Next, I am really thankful to my batchmate Dikkala Sai Nishanth for being a great
colleague in this journey of learning. I am grateful to him for being a co-operative
co-learner and partner in this project. Last but not the least I would like to thank
my family, friends and teachers for their love and kind support.
Abstract
The discovery of quantum mechanics has led to some radical changes in the theory of computation. A quantum theory of computing has come up and has been
applied to give fascinating theoretical results for even classically unsolvable problems. With quantum computers being a part of the foreseeable future, it is definitely
worthwhile to take a look at whether they can speed up the existing algorithms for
common tasks in Natural Language Processing (NLP).
This thesis gives a description of the principles on which quantum computing is
based, namely qubits, their superposition and the process of measurement after the
application of quantum operations or gates, and also some of the above-mentioned
results/algorithms. Then, we explore some search methods pertaining to Machine
Learning and Natural Language Processing and see if these can be integrated into
the world of quantum computing. Of particular interest to us has been the problem
of Part-of-Speech (POS) tagging for which we develop a quantum counterpart to
the classical Viterbi. We provide results pertaining to our implementation of the
same on the British National Corpus (BNC).
Closely related to POS tagging is the machine translation among similar languages, for which, our quantum counterpart, actually gives a huge reduction in
running time of the viterbi algorithm. Following this, we foray into the realm of
quantum ideas applied to other intelligence tasks, for example, quantum random
walks for the A-star search algorithm.
Contents
1
2
3
Introduction
1.1 Motivation . . . . .
1.2 Aim of the Thesis .
1.3 Experimental Setup
1.4 Road Map . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
6
6
6
7
7
Quantum Computing Principles
2.1 Qubit - The Quantum Bit . . . . . . . . .
2.1.1 Bits vs. Qubits . . . . . . . . . .
2.1.2 Superposition . . . . . . . . . . .
2.1.3 Representation . . . . . . . . . .
2.2 Quantum States . . . . . . . . . . . . . .
2.2.1 Entanglement . . . . . . . . . . .
2.2.2 Registers . . . . . . . . . . . . .
2.3 Operators - Quantum Gates . . . . . . . .
2.3.1 Reversible Logic Gates . . . . . .
2.3.2 Matrix Operator Correspondence
2.3.3 Commonly used gates . . . . . .
2.3.4 Quantum Fourier Transform . . .
2.4 Measurement in Quantum Mechanics . .
2.4.1 A Qualitative Overview . . . . .
2.4.2 The Quantitative Overview . . . .
2.4.3 Collapsing of States . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
8
9
9
9
9
10
10
11
12
12
12
13
15
16
16
16
17
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Classical Optimization and Search Techniques
3.1 Hidden Markov Model . . . . . . . . . . . . . . . . . . . . . . .
3.1.1 Stochastic Process . . . . . . . . . . . . . . . . . . . . .
3.1.2 Markov Property and Markov Modelling . . . . . . . . .
3.1.3 The urn example . . . . . . . . . . . . . . . . . . . . . .
3.1.4 Formal Description of the Hidden Markov Model . . . . .
3.1.5 The Trellis Diagram . . . . . . . . . . . . . . . . . . . .
3.1.6 Formulating the Part-of-Speech tagging problem using HMM
3.1.7 The Viterbi Algorithm . . . . . . . . . . . . . . . . . . .
1
19
20
20
20
20
21
21
22
22
3.2
3.3
3.4
3.5
3.6
4
3.1.8 Pseudocode . . . . . . . . . . . . . . . . . . . .
Maximum Entropy Approach . . . . . . . . . . . . . . .
3.2.1 Entropy - Thermodynamic and Information . . .
3.2.2 The Maximum Entropy Model . . . . . . . . . .
3.2.3 Application to Statistical Machine Learning . . .
The ME Principle and a Solution . . . . . . . . . . . . .
3.3.1 Proof for the ME Formulation . . . . . . . . . .
3.3.2 Generalized Iterative Scaling . . . . . . . . . . .
Improved Iterative Scaling . . . . . . . . . . . . . . . .
3.4.1 The Model in parametric form . . . . . . . . . .
3.4.2 Maximum Likelihood . . . . . . . . . . . . . .
3.4.3 The objective to optimize . . . . . . . . . . . . .
3.4.4 Deriving the iterative step . . . . . . . . . . . .
Swarm Intelligence . . . . . . . . . . . . . . . . . . . .
3.5.1 Foundations . . . . . . . . . . . . . . . . . . . .
3.5.2 Example Algorithms and Applications . . . . . .
3.5.3 Case Study: Ant Colony Optimization applied to
hard Travelling Salesman Problem . . . . . . . .
Boltzmann Machines . . . . . . . . . . . . . . . . . . .
3.6.1 Structure . . . . . . . . . . . . . . . . . . . . .
3.6.2 Probability of a state . . . . . . . . . . . . . . .
3.6.3 Equilibrium State . . . . . . . . . . . . . . . . .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
the
. .
. .
. .
. .
. .
Some popular Quantum Computing Ideas
4.1 Deutsch-Jozsa Algorithm . . . . . . . . . . . . . . . . . . .
4.1.1 Problem Statement . . . . . . . . . . . . . . . . . .
4.1.2 Motivation and a Classical Approach . . . . . . . .
4.1.3 The Deutsch Quantum Algorithm . . . . . . . . . .
4.2 Shor’s Algorithm . . . . . . . . . . . . . . . . . . . . . . .
4.2.1 The factorization problem . . . . . . . . . . . . . .
4.2.2 The integers mod n . . . . . . . . . . . . . . . . . .
4.2.3 A fast classical algorithm for modular exponentiation
4.2.4 Reduction of the Factorization problem . . . . . . .
4.2.5 The Algorithm . . . . . . . . . . . . . . . . . . . .
4.2.6 An example factorization . . . . . . . . . . . . . . .
4.3 Grover’s Algorithm . . . . . . . . . . . . . . . . . . . . . .
4.3.1 The search problem . . . . . . . . . . . . . . . . . .
4.3.2 The Oracle . . . . . . . . . . . . . . . . . . . . . .
4.3.3 The Grover Iteration . . . . . . . . . . . . . . . . .
4.3.4 Performance of the algorithm . . . . . . . . . . . .
4.3.5 An example . . . . . . . . . . . . . . . . . . . . . .
4.4 The Quantum Minimum Algorithm . . . . . . . . . . . . . .
4.4.1 The Problem . . . . . . . . . . . . . . . . . . . . .
4.4.2 The Algorithm . . . . . . . . . . . . . . . . . . . .
2
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
NP. . .
. . .
. . .
. . .
. . .
36
39
39
40
41
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
42
42
42
42
43
43
44
44
44
45
45
46
48
48
48
49
49
49
50
50
50
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
23
24
24
25
25
27
27
28
29
29
29
31
31
33
33
35
4.5
5
6
7
4.4.3 Running Time and Precision . . . . . . . . . . . . . . . .
Quantum Walks . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5.1 Random Walks . . . . . . . . . . . . . . . . . . . . . . .
An example: A one-dimensional random walk . . . . . .
4.5.2 Terminology used with Random Walks . . . . . . . . . .
4.5.3 Quantum Analogue: Quantum Markov Chains or Quantum
Walks . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5.4 Application to Element-Distinctness Problem . . . . . . .
Quantum Computing and Intelligence Tasks
5.1 Quantum Classification . . . . . . . . . . . . . .
5.1.1 Learning in a Quantum World . . . . . .
5.1.2 The Helstrom Oracle . . . . . . . . . . .
5.1.3 Binary Classification . . . . . . . . . . .
5.1.4 Weighted Binary Classification . . . . . .
5.2 Quantum Walk for A-star search . . . . . . . . .
5.2.1 The A∗ Algorithm . . . . . . . . . . . .
The Heart of A∗ : The Heuristic Function
5.2.2 A Quantum Approach? . . . . . . . . . .
The Quantum Viterbi
6.1 The Approach . . . . . . . . . . . . . . . . . .
6.1.1 Can Grover be used? . . . . . . . . . .
6.2 The Algorithm . . . . . . . . . . . . . . . . .
6.2.1 The Classical Version . . . . . . . . . .
6.2.2 Quantum exponential searching . . . .
6.2.3 The Grover Iteration . . . . . . . . . .
6.2.4 The Quantum Approach to Viterbi . . .
6.3 Experimental Results . . . . . . . . . . . . . .
6.3.1 Implementation . . . . . . . . . . . . .
6.3.2 Results . . . . . . . . . . . . . . . . .
6.3.3 Tag-wise Precision and Recall Analysis
6.3.4 Concluding Remarks . . . . . . . . . .
Machine Translation among Close Languages
7.1 Machine Translation . . . . . . . . . . . . .
7.1.1 What is machine translation? . . . . .
7.1.2 How does machine translation work?
7.1.3 Advantages of machine translation . .
7.2 Similarity to POS tagging for close languages
7.2.1 The izafat phenomenon . . . . . . . .
7.3 Phrase-Book Translation . . . . . . . . . . .
7.4 Experiments and Results . . . . . . . . . . .
7.4.1 Training corpus . . . . . . . . . . . .
3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
50
51
51
51
51
52
52
.
.
.
.
.
.
.
.
.
54
54
54
55
56
56
57
57
59
60
.
.
.
.
.
.
.
.
.
.
.
.
61
61
62
62
62
63
63
63
64
64
64
69
69
.
.
.
.
.
.
.
.
.
70
70
70
70
71
71
72
72
72
72
7.4.2
7.4.3
7.4.4
Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Results . . . . . . . . . . . . . . . . . . . . . . . . . . .
Analysis . . . . . . . . . . . . . . . . . . . . . . . . . .
74
74
75
8
Conclusions
77
9
Future Work
78
4
List of Figures
2.1
2.2
3.1
3.2
3.3
3.4
3.5
3.6
3.7
5.1
5.2
Sphere representation for a qubit in the state: α = cos 2θ and
β = eiφ sin 2θ . . . . . . . . . . . . . . . . . . . . . . . . . . .
Circuit representation of Hadamard, CNOT and Toffoli gates, respectively . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
14
An example Hidden Markov Model with three urns . . . . . . . .
An Example Trellis . . . . . . . . . . . . . . . . . . . . . . . . .
The Pareto Optimal frontier is the set of hollow points. Operational
decisions must be restricted along this set if operational efficiency
is to be maintained . . . . . . . . . . . . . . . . . . . . . . . . .
The Pareto hypervolume . . . . . . . . . . . . . . . . . . . . . .
Search process for m=1000 ants . . . . . . . . . . . . . . . . . .
Search process for m=5000 ants . . . . . . . . . . . . . . . . . .
Graphical representation for a Boltzmann machine with a few labelled weights . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
22
Start State for the 8-puzzle problem . . . . . . . . . . . . . . . .
Goal State for the 8-puzzle problem . . . . . . . . . . . . . . . .
58
59
5
34
35
38
39
39
Chapter 1
Introduction
1.1
Motivation
With the development of quantum mechanics, new paradigms have opened up in
many sciences. One such paradigm is a novel way of performing computation
directly using quantum mechanical principles. Quantum computing looks at the act
of computing from a viewpoint that is radically different from classical theories of
computation, the most popular among the latter being the model of Turing machine.
Once, a quantum theory of computing was developed, the next task was to develop
algorithms for various problems using quantum computing which brings us to the
focus of this thesis. A close relation between quantum mechanics, natural language
processing and the functioning of the mind has been proposed by many previous
works. [4, 8] In this thesis, we study further how quantum computing can be used
to give efficient algorithms for common problems which are a part of NLP.
1.2
Aim of the Thesis
The aim of the thesis was to develop quantum computing algorithms for classical
tasks in Natural Language Processing. Although, these algorithms would need a
quantum computer to be actually implemented in practice, here we intend to perform a theoretical study of such algorithms ignoring the implementation part for the
time being, as is the case with most existing quantum algorithms such as Grover [3]
and Shor [2]. One problem we studied was that of part-of-speech tagging. Given
labeled data (sentences with the part-of-speech tags of the words given), a popular
classical algorithm for solving this is the Viterbi algorithm [13](it makes the assumption that the data follows a bigram Markov model). In Chapter 6 we present
a quantum version of the Viterbi algorithm which runs faster than the classical
Viterbi algorithm.
6
1.3
Experimental Setup
We also present a discussion of accuracy and precision results obtained from running a classical simulation of the quantum Viterbi algorithm on the BNC English
Corpus which has a 57 large tag set. The experimental setup is briefly described
here. Firstly, since we are simulating a quantum algorithm on a classical machine
we face an exponential blow-up in time which will be described in detail in Chapter
6. To combat this blow-up we ran the algorithm for different folds of the corpus as
different processes on a multi-core machine after performing compiler optimizations. Also, we had to cut down on the suggested number of iterations in the corpus
to reduce execution time losing some amount of accuracy in the process.
1.4
Road Map
The layout of this thesis is as follows. First the principles of quantum computing
are presented which the familiar reader can skip. This chapter is then followed by
a broad analysis of various search and optimization techniques used classically in
NLP. The intent of this section is two-fold. First, the unfamiliar reader can familiarize himself about the presented techniques. Secondly, we study the theoretical
aspects of these techniques in detail to gain deeper insight into how the quantum
versions of them might be developed.
Then we go on to study some popular quantum computing algorithms for classical problems such as factoring and searching in an unsorted database. We present
the quantum nature of these algorithms and where they defer from the limitations
imposed by classical computation models.
After this, we move on to look at some recent work in quantum algorithms for
classification and we look at the development of a quantum A∗ algorithm. Next, we
present the chapter on the Quantum Viterbi algorithm where we give the quantum
algorithm we have developed and also describe the results of the performance of a
simulation of the algorithm for Part-of-Speech tagging.
Next we look at the problem of Machine Translation (in Chapter 7) which is
a hallmark problem of NLP. We note that machine translation of close languages
such as hindi-urdu, hindi-marathi is simplified by the fact that most sentence translations are simply word by word replacement hence allowing the problem to be
modelled as a POS tagging problem and making it amenable for the Viterbi algorithm to be applied. We also present a study we have undertaken with a relatively
small parallel corpus of hindi-urdu sentences and present the results of the quantum
Viterbi approach to machine translation on this corpus. We end with the conclusions and insights we have gathered from our study and the direction in which
future work will proceed.
7
Chapter 2
Quantum Computing Principles
The massive amount of processing power generated by computer manufacturers
has not yet been able to quench our thirst for speed and computing capacity. In
1947, American computer engineer Howard Aiken said that just six electronic digital computers would satisfy the computing needs of the United States. Others have
made similar errant predictions about the amount of computing power that would
support our growing technological needs. Of course, Aiken didn’t count on the
large amounts of data generated by scientific research, the proliferation of personal
computers or the emergence of the Internet, which have only fuelled our need for
more, more and more computing power.
Will we ever have the amount of computing power we need or want? If, as
Moore’s Law states, the number of transistors on a microprocessor continues to
double every 18 months, the year 2020 or 2030 will find the circuits on a microprocessor measured on an atomic scale. And the logical next step will be to
create quantum computers, which will harness the power of atoms and molecules
to perform memory and processing tasks. Quantum computers have the potential
to perform certain calculations significantly faster than any silicon-based computer.
Scientists have already built basic quantum computers that can perform certain
calculations; but a practical quantum computer is still years away. In this chapter,
we explore what a quantum computer is and how it operates.
8
2.1
Qubit - The Quantum Bit
In quantum computing, a qubit or quantum bit is a unit of quantum information
the quantum analogue of the classical bit.
2.1.1
Bits vs. Qubits
A bit is the basic unit of information. It is used to represent information by computers. Regardless of its physical realization, a bit is always understood to be either
a 0 or a 1. An analogy to this is a light switch with the off position representing 0
and the on position representing 1.
A qubit is a two-state quantum-mechanical system, such as the polarization of
a single photon: here the two states are vertical polarization and horizontal polarization. It has a few similarities to a classical bit, but is overall very different. Like
a bit, a qubit can have two possible values normally a 0 or a 1. The difference is
that whereas a bit must be either 0 or 1, a qubit can be 0, 1, or a superposition of
both.
2.1.2
Superposition
Think of a qubit as an electron in a magnetic field. The electron’s spin may be
either in alignment with the field, which is known as a spin-up state, or opposite to
the field, which is known as a spin-down state. Changing the electron’s spin from
one state to another is achieved by using a pulse of energy, such as from a laser let’s say that we use 1 unit of laser energy. But what if we only use half a unit of
laser energy and completely isolate the particle from all external influences? According to quantum law, the particle then enters a superposition of states, in which
it behaves as if it were in both states simultaneously. Each qubit utilized could take
a superposition of both 0 and 1.
The principle of quantum superposition states that if a physical system may be
in one of many configurations arrangements of particles or fields then the most
general state is a combination of all of these possibilities, where the amount in
each configuration is specified by a complex number.
2.1.3
Representation
The two states in which a qubit may be measured are known as basis states (or
basis vectors). As is the tradition with any sort of quantum states, Dirac, or bra-ket
notation, is used to represent them. This means that the two computational basis
states are conventionally written as |0i and |1i (pronounced ”ket 0” and ”ket 1”).
A pure qubit state is a linear quantum superposition of the basis states. This means
that the qubit can be represented as a linear combination of |0i and |1i:
9
|ψi = α|0i + β|1i
where α and β are probability amplitudes and can in general both be complex numbers.
The possible states for a single qubit can be visualised using a Bloch sphere
as shown in Figure 2.1 1 . Represented on such a sphere, a classical bit could only
be at the ”North Pole” or the ”South Pole”, in the locations where |0i and |1i are,
respectively. The rest of the surface of the sphere is inaccessible to a classical bit,
but a pure qubit state can be represented by any point on the surface. For example,
√
the pure qubit state |0i+i|1i
would lie on the equator of the sphere, on the positive
2
y-axis.
Figure 2.1: Sphere representation for a qubit in the state: α = cos
eiφ sin 2θ
2.2
2.2.1
θ
2
and β =
Quantum States
Entanglement
An important distinguishing feature between a qubit and a classical bit is that
multiple qubits can exhibit quantum entanglement. Entanglement is a non-local
property that allows a set of qubits to express higher correlation than is possible
in classical systems. Take, for example, two entangled qubits in the Bell state
√1 (|00i + |11i).
2
Imagine that these two entangled qubits are separated, with one each given
to Alice and Bob. Alice makes a measurement of her qubit, obtaining |0i or |1i.
1
Source:http://en.wikipedia.org/wiki/Bloch_sphere
10
Because of the qubits’ entanglement, Bob must now get exactly the same measurement as Alice; i.e., if she measures a |0i, Bob must measure the same, as |00i is
the only state where Alice’s qubit is a |0i.
This is a real phenomenon (Einstein called it ”spooky action at a distance”),
the mechanism of which cannot, as yet, be explained by any theory - it simply
must be taken as given. Quantum entanglement allows qubits that are separated by
incredible distances to interact with each other instantaneously (not limited to the
speed of light). No matter how great the distance between the correlated particles,
they will remain entangled as long as they are isolated.
Entanglement also allows multiple states (such as the Bell state mentioned
above) to be acted on simultaneously, unlike classical bits that can only have one
value at a time. Entanglement is a necessary ingredient of any quantum computation that cannot be done efficiently on a classical computer. Many of the successes
of quantum computation and communication, such as quantum teleportation and
superdense coding, make use of entanglement, suggesting that entanglement is a
resource that is unique to quantum computation.
2.2.2
Registers
A number of entangled qubits taken together is a qubit register. Quantum computers perform calculations by manipulating qubits within a register. An example of a
3-qubit register:
Consider first a classical computer that operates on a three-bit register. The
state of the computer at any time is a probability distribution over the 23 = 8 different three-bit strings 000, 001, 010, 011, 100, 101, 110, 111. If it is a deterministic
computer, then it is in exactly one of these states with probability 1. However, if
it is a probabilistic computer, then there is a possibility of it being in any one of a
number of different states. We can describe this probabilistic state by eight nonnegative numbers A,B,C,D,E,F,G,H (where A = probability computer is in state
000, B = probability computer is in state 001, etc.). There is a restriction that these
probabilities sum to 1.
The state of a three-qubit quantum computer is similarly described by an eightdimensional vector (a,b,c,d,e,f,g,h), called a ket. However, instead of the sum of
the coefficient magnitudes adding up to one, the sum of the squares of the coefficient magnitudes, |a|2 +|b|2 +...+|h|2 , must equal one. Moreover, the coefficients
can have complex values. Since the absolute square of these complex-valued coefficients denote probability amplitudes of given states, the phase between any two
coefficients (states) represents a meaningful parameter, which presents a fundamental difference between quantum computing and probabilistic classical computing.
11
Now, an eight-dimensional vector can be specified in many different ways depending on what basis is chosen for the space. The basis of bit strings (e.g., 000,
001, ..., 111) is known as the computational basis. Other possible bases are unitlength, orthogonal vectors, etc. Ket notation is often used to make the choice of
basis explicit.
For example, the state (a,b,c,d,e,f,g,h) in the computational basis can be written
as: a|000i + b|001i + c|010i + d|011i + e|100i + f |101i + g|110i + h|111i where,
e.g., |010i = (0, 0, 1, 0, 0, 0, 0, 0).
Similarly, the computational basis for a single qubit (two dimensions) is |0i =
(1, 0) and |1i = (0, 1).
Taken together, quantum superposition and entanglement create an enormously
enhanced computing power. Where a 2-bit register in an ordinary computer can
store only one of four binary configurations (00, 01, 10, or 11) at any given time, a
2-qubit register in a quantum computer can store all four numbers simultaneously,
because each qubit represents two values. If more qubits are added, the increased
capacity is expanded exponentially.
2.3
2.3.1
Operators - Quantum Gates
Reversible Logic Gates
Ordinarily, in a classical computer, the logic gates other than the NOT gate are not
reversible. Thus, for instance, for an AND gate one cannot recover the two input
bits from the output bit; for example, if the output bit is 0, we cannot tell from this
whether the input bits are 0,1 or 1,0 or 0,0.
In quantum computing and specifically the quantum circuit model of computation, a quantum gate (or quantum logic gate) is a basic quantum circuit operating
on a small number of qubits. They are the building blocks of quantum circuits, like
classical logic gates are for conventional digital circuits. Unlike many classical
logic gates, quantum logic gates are reversible. However, classical computing
can be performed using only reversible gates. For example, the reversible Toffoli
gate can implement all Boolean functions. This gate has a direct quantum equivalent, showing that quantum circuits can perform all operations performed by
classical circuits.
2.3.2
Matrix Operator Correspondence
We can treat an n-qubit state as a vector consisting of 2n complex numbers, each
representing the coefficient of a state from the computational basis. Now, a gate
operates on such a state and yields another of the same dimension. So, a gate can
12
be seen as a function that transforms a 2n dimensional vector to another. Hence,
in the vector-matrix representation in n-qubit space, a gate is a square matrix of
dimensions 2n , whose ith column is the vector that results when we apply the gate
on the ith element of the computational basis.
For a quantum computer gate, we require a very special kind of reversible function, namely a unitary mapping, that is, a mapping on the state-space that preserves
the inner product. So, if H is a gate and |ψi and |φi represent two quantum states in
0
0
n-qubit space, then ψ = H|ψi and φ = H|φi will also be n-qubit states and will
0
0
satisfy the property that hψ |φ i = hψ|φi, where h..|..i denotes the inner-product
in bra-ket notation.
Hence, quantum logic gates are represented by unitary matrices. Note - a complex square matrix U is unitary if U ∗ U = U U ∗ = I, where I is the identity matrix
and U ∗ is the conjugate transpose of U. The real analogue of a unitary matrix is an
orthogonal matrix.
The most common quantum gates operate on spaces of one, two or three qubits.
This means that as matrices, quantum gates can be described by 2X2 or 4X4 or
8X8 unitary matrices.
2.3.3
Commonly used gates
Quantum gates are usually represented as matrices. A gate which acts on k qubits
is represented by a 2k X2k unitary matrix. The number of qubits in the input and
output of the gate have to be equal. The action of the quantum gate is found by
multiplying the matrix representing the gate with the vector which represents the
quantum state.
• Hadamard gate
The Hadamard gate acts on a single qubit. It maps the basis state |0i to
|0i+|1i
√
√
and |1i to |0i−|1i
, and represents a rotation of π about the axis (x̂ +
2
2
√
ẑ)/ 2. It is represented by the Hadamard matrix:
1 1
1
√
H= 2
1 −1
Since HH ∗ = I where I is the identity matrix, H is indeed a unitary matrix.
• Controlled Gates
Controlled gates act on 2 or more qubits, where one or more qubits act as
a control for some operation. For example, the controlled NOT gate (or
CNOT) acts on 2 qubits, and performs the NOT operation on the second
qubit only when the first qubit is |1i, and otherwise leaves it unchanged. It
is represented by the matrix:
13

1
0
CNOT = 
0
0
0
1
0
0
0
0
0
1

0
0

1
0
More generally if U is a gate that operates on single qubits with matrix representation
x00 x01
U=
,
x10 x11
then the controlled-U gate is a gate that operates on two qubits in such a way
that the first qubit serves as a control. It maps the basis states as follows:
|00i 7→ |00i
|01i 7→ |01i
|10i 7→ |1iU |0i = |1i (x00 |0i + x10 |1i)
|11i 7→ |1iU |1i = |1i (x01 |0i + x11 |1i)
The matrix representing the controlled U is:

1
0
C(U ) = 
0
0

0 0
0
1 0
0 

0 x00 x01 
0 x10 x11
Figure 2.2: Circuit representation of Hadamard, CNOT and Toffoli gates, respectively
• Toffoli Gate
The Toffoli gate, also CCNOT gate, is a 3-bit gate, which is universal for
classical computation. The quantum Toffoli gate is the same gate, defined
for 3 qubits. If the first two bits are in the state |1i, it applies a Pauli-X
(bit inversion) on the third bit, else it does nothing. It is an example of a
controlled gate. It swaps the states |110i and |111i; it is an identity map for
the other 6 states in the computational basis for a 3-qubit space. The matrix
representation is:
14

1
0

0

0

0

0

0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1

0
0

0

0

0

0

1
0
It can be also described as the gate which maps |a, b, ci to |a, b, c ⊕ abi.
2.3.4
Quantum Fourier Transform
This is a linear transformation on quantum bits, and is the quantum analogue of the
discrete Fourier transform. The quantum Fourier transform is a part of many quantum algorithms, notably Shor’s algorithm for factoring and computing the discrete
logarithm, the quantum phase estimation algorithm for estimating the eigenvalues
of a unitary operator, and algorithms for the hidden subgroup problem.
The quantum Fourier transform can be performed efficiently on a quantum
computer, with a particular decomposition into a product of simpler unitary matrices. Using a simple decomposition, the discrete Fourier transform can be implemented as a quantum circuit consisting of only O(n2 ) Hadamard gates and controlled phase shift gates, where n is the number of qubits. This can be compared
with the classical discrete Fourier transform, which takes O(n2n ) gates (where n
is the number of bits), which is exponentially more than O(n2 ).
The quantum Fourier transform is the classical discrete Fourier transform applied to the vector of amplitudes of a quantum state. The classical (unitary) Fourier
transform acts on a vector (x0 , ..., xN −1 ) and maps it to the vector (y0 , ..., yN −1 )
according to the formula:
yk =
where ω = e
2πi
N
√1
N
NP
−1
xj ω jk
j=0
is a primitive N th root of unity.
Similarly, the quantum Fourier transform acts on a quantum state
PN −1
maps it to a quantum state i=0
yi |ii according to the formula:
yk =
√1
N
NP
−1
j=0
This can also be expressed as the map
15
xj ω jk
NP
−1
i=0
xi |ii and
|ji 7→
√1
N
NP
−1
ω jk |ki
k=0
Equivalently, the quantum Fourier transform on a n-qubit vector (N = 2n ) can
be viewed as a unitary matrix acting on quantum state vectors, where the unitary
matrix FN is given
 by

1
1
1
1
···
1
1
ω
ω2
ω3
···
ω N −1 


2
4
6
2(N −1) 
1
ω
ω
ω
·
·
·
ω


FN = √1N 1
ω3
ω6
ω9
···
ω 3(N −1) 


.

..
..
..
..
 ..

.
.
.
.
1 ω N −1 ω 2(N −1) ω 3(N −1) · · ·
2.4
2.4.1
ω (N −1)(N −1)
Measurement in Quantum Mechanics
A Qualitative Overview
One of the most difficult and controversial problems in quantum mechanics is the
so-called measurement problem. Opinions on the significance of this problem vary
widely. At one extreme the attitude is that there is in fact no problem at all, while
at the other extreme the view is that the measurement problem is one of the great
unsolved puzzles of quantum mechanics. The issue is that quantum mechanics
only provides probabilities for the different possible outcomes in an experiment it provides no mechanism by which the actual, finally observed result,
comes about. Of course, probabilistic outcomes feature in many areas of classical
physics as well, but in that case, probability enters the picture simply because there
is insufficient information to make a definite prediction. In principle, that missing
information is there to be found, it is just that accessing it may be a practical impossibility. In contrast, there is no missing information for a quantum system, what
we see is all that we can get, even in principle.
In Dirac’s words - The intermediate character of the state formed by superposition thus expresses itself through the probability of a particular result for an observation being intermediate between the corresponding probabilities for the original
states, not through the result itself being intermediate between the corresponding
results for the original states.
2.4.2
The Quantitative Overview
For an ideal measurement in quantum mechanics, also called a von Neumann measurement, the only possible measurement outcomes are equal to the eigenvalues
(say k) of the operator representing the observable. Consider a system prepared in
state |ψi. Since the eigenstates of the observable Ô form a complete basis called
eigenbasis, the state vector |ψi can be written in terms of the eigenstates as
16
|ψi = c1 |1i + c2 |2i + c3 |3i + · · ·
where c1 , c2 , . . . are complex numbers in general. The eigenvalues O1 , O2 , O3 , ...
are all possible values of the measurement. The corresponding probabilities are
given by
Pr(On ) =
|hn|ψi|2
hψ|ψi
=
|cn |2
P
|ck |2
k
Usually |ψi is assumed to be normalized, i.e. hψ|ψi = 1. Therefore, the expression
above is reduced to
Pr(On ) = |hn|ψi|2 = |cn |2 .
A quantum computer operates by setting the n qubits in a controlled initial state
that represents the problem at hand and by manipulating those qubits with a fixed
sequence of quantum logic gates. The sequence of gates to be applied is called a
quantum algorithm. The calculation ends with measurement of all the states, collapsing each qubit into one of the two pure states, so the outcome can be at most n
classical bits of information.
For example, if we prepare a 2-qubit system in the state |psii = √1 |00i +
(2)
√1 |01i + √1 |11i, then a measurement on the system will yield results corre(3)
(6)
sponding to the state |00i with probability 12 , state |01i with probability
|11i with probability 16 .
1
3
and state
Partial measurement We can even perform a measurement on just one register.
Then, the probability of the state |0i being measured on the register is just a sum
of the probabilities of all states wherein this particular register is in the 0i state.
So, in the above example, a measurement on the first register will yield |0i with
probability = 21 + 13 = 65
2.4.3
Collapsing of States
A postulate of quantum mechanics states that the process of measurement formally
causes an instantaneous collapse of the quantum state to the eigenstate corresponding to the measured value of the observable. A consequence of this is that the
results of a subsequent measurement essentially unrelated to the form of the precollapse quantum state (unless the eigenstates of the operators representing the
observables coincide). So, in the example mentioned in the previous subsection,
if a measurement on the system had yielded the result corresponding to eigenstate
|00i, then all subsequent measurements would have given the same result too because the system would have collapsed to this state.
17
The scenario is slightly different in the case of partial measurement. Here,
the measured register collapses entirely into a particular state and then, the states
that remain in the system must all have this register in the measured state. Also,
as expected, the mutual ratio of the probability associated with these states stays
conserved. So, in the example where we did a measurement on the first register
only, the resultant state would be
s
s
2
q
q
1 2
√
√1
3
2
2
3
|00i
+
|01i
=
|00i
+
2
2
2
2
1
1
1
1
5
5 |01i
√
2
+√
3
√
2
+√
3
18
Chapter 3
Classical Optimization and
Search Techniques
In this chapter we discuss a few popular optimization techniques in use in current
day natural language processing algorithms. First we present the Hidden Markov
Model (HMM) used for part-of-speech tagging (POS-tagging) among other tasks.
Then we formulate the POS-tagging problem using HMM and present its classical
solution which is due to the Viterbi algorithm.
Then we present the Maximum Entropy approach, which is a heuristic used
in problems related to finding probability distributions. Next up is the Maximum
Entropy Markov Model (MEMM), a discriminative model that extends a standard
maximum entropy classifier by assuming that the unknown values to be learnt are
connected in a Markov chain rather than being conditionally independent of each
other. MEMMs find applications in information extraction, segmentation and in
natural language processing, specifically in part-of-speech tagging.
This is followed by an overview of some methods namely Generalised Iterative
Scaling and an improved iterative version of it, which find use in solving for the
training objectives of many problems which use maximum likelihood estimation
on the training data to get the parameters.
Then comes the concept of swarm intelligence, which is inspired by the action
of insects such as ants. Finally we briefly discuss Boltzmann machines. They
were one of the first examples of a neural network capable of learning internal
representations, and are able to represent and (given sufficient time) solve difficult
combinatoric problems.
19
3.1
Hidden Markov Model
The Hidden Markov model is a stochastic model in which the system being modelled is assumed to be a Markov process with unobserved (hidden) states. A key
aspect of the HMM is its Markov property which is described in brief below along
with other background definitions required.
3.1.1
Stochastic Process
Definition 1. Stochastic Process: A stochastic process is a collection of random
variables often used to represent the evolution of some random value over time.
There is indeterminacy in a stochastic process. Even if we know the initial
conditions, the system can evolve in possibly many different ways.
3.1.2
Markov Property and Markov Modelling
Definition 2. Markov Property: A stochastic process has the Markov property if
the conditional probability distribution of future states of the process (conditional
on both past and present values) depends only upon the present state, not on the
sequence of events that preceded it. That is, the process is memoryless.
A Markov model is a stochastic model that follows the Markov property. Next
we present the HMM through the urn problem which eases the exposition. In a
further sub-section the formal description of the HMM is given.
3.1.3
The urn example
There are N urns, each containing balls of different colours mixed in known proportions. An urn is chosen and a ball is taken out of it. The colour of the ball is
noted and the ball is replaced. The choice of the urn from which the nth ball will
be picked is determined by a random number and the urn from which the (n − 1)th
ball was picked. Hence, the process becomes a Markov process.
The problem to be solved is the following: Given the ball colour sequence find
the underlying urn sequence. Here the urn sequence is unknown (hidden) from
us and hence the name Hidden Markov Model. The diagram1 below shows the
architecture of an example HMM. The quantities marked on the transition arrows
represent the transition probabilities.
1
Source:http://en.wikipedia.org/wiki/Hidden_Markov_model
20
Figure 3.1: An example Hidden Markov Model with three urns
3.1.4
Formal Description of the Hidden Markov Model
The hidden Markov model can be mathematically described as follows:
N
T
θi=1...N
φi=1...N,j=1...N
φi=1...N
xt=1...T
yt=1...T
F (y|θ)
xt=2...T
yt=1...T
3.1.5
=
=
=
=
=
=
=
=
∼
∼
number of states
number of observations
emission parameter for an observation associated with state i
probability of transition from state i to state j
N -dimensional vector, composed of φi,1...N ; must sum to 1
state of observation at time t
observation at time t
probability distribution of an observation, parametrized on θ
Categorical(φxt−1 )
F (θxt )
The Trellis Diagram
Given the set of states in the HMM, we can draw a linear representation of the state
transitions given an input sequence by repeating the set of states at every stage.
This gives us the trellis diagram. A sample trellis is shown in Figure 3.22 . Each
level of the trellis contains all the possible states and transitions from each state
onto the states in the next level. Along with every transition, an observation is
emitted simultaneously (in the figure a time unit is crossed and observations vary
with time).
2
Source: Prof. Pushpak Bhattacharyya’s lecture slides on HMM from the course CS 344 - Artificial Intelligence at IIT Bombay, spring 2013
21
Figure 3.2: An Example Trellis
3.1.6
Formulating the Part-of-Speech tagging problem using HMM
The POS tagging problem can be described as follows. We are given a sentence
which is a sequence of words. Each word has a POS tag which is unknown. The
task is to find the POS tags of each word and return the POS tag sequence corresponding to the sentence. Here the POS tags constitute the hidden states. As in the
urn problem, we again assume that words (balls) are emitted by POS tags (urns), a
property called the lexical assumption. That is, the probability of seeing a particular word depends only on the POS tag previously seen. Also, as was the case in the
urn problem, the probability of a word having a particular POS tag is dependent
only on the POS tag of the previous word (urn to urn probability). Having modelled the problem as given above, we need to explain how the transition tables are
constructed. The transition probabilities come from data. This is a data-driven approach to POS tagging, and using data on sentences which are already POS tagged
we construct the transition tables. Given this formulation, we next present an algorithm which given an input sentence and the transition tables outputs the most
probable POS tag sequence.
3.1.7
The Viterbi Algorithm
The Viterbi algorithm[13] is a dynamic programming algorithm for finding the
most likely sequence of hidden states that result in the sequence of observed states.
Here the hidden states are the POS tags (or urns in the example) and the observed
sequence is the word sequence (ball colours).
The state transition probabilities are known (in practice these are estimated
from labelled data) and so are the probabilities of emitting each word in the sentence given the POS tag of the previous word. We start at the start of the input
sentence. We define two additional POS tags ˆ and $ to represent the tag for the
start of the sentence and the terminal character at the end of the sentence (full stop,
exclamation mark and question mark).
A straight-forward algorithm to find the most probable POS tag sequence (hidden sequence) would be to just try all possibilities starting from the beginning of
22
the sentence. Here, our problem has more structure. We will exploit the Markov
assumption we made earlier to get a much more efficient algorithm which is precisely the Viterbi algorithm.
In the trellis for POS tagging problem the following are the major changes to
be done.
• The observations (words) do not vary with time. Instead they vary with the
position of the pointer in the input sentence.
• The states are the POS tags. The state transition probabilities are pre-computed
using a POS-tagged corpus.
Next, we observe that due to the Markov assumption, once we have traversed
a part of the sentence, the transition probabilities do not depend on the entire sentence seen so far. They depend only on the previous POS tag. This crucial observation gives rise to the Viterbi algorithm:
Suppose we are given a HMM with S possible POS tags (states), initial probabilities πi of being in state i, the transition probabilities P (sj |si ) of going from
state i to j and the emission probabilities P (xt |si ) of emitting xt from the state si .
If the input sentence is x1 , x2 , . . . , xT then the most probable state sequence that
produces the sentence y1 , y2 , . . . , yT is given by the recurrence relations
V1,k = P (y1 |sk )πk
(3.1)
Vt,k = P (yt |sk )maxsx ∈S (P (sk |sx ).Vt−1,x )
(3.2)
where Vt,k is the probability of the most probable state sequence which emitted
the first t words that has k as the final state. The Viterbi path (most likely state
sequence) can be remembered by storing back pointers which contain the state
sx which was chosen in the second equation. The complexity of the algorithm is
O(|T ||S 2 |) where T is the set of words, the input sequence and S is the set of POS
tags.
3.1.8
Pseudocode
Pseudocode for the Viterbi algorithm is given below:
#
#
#
#
#
#
#
#
Given
Set of states: Array S
Start state: s0
End state: se
Symbol sequence: Array w
State transition probabilities: Matrix a
Symbol emission probabilities: Matrix b
alpha: Matrix alpha
# All indices in arrays start on 1 in this pseudocode
23
# Returns
# Total probability: p
# Initialisation F1
foreach s in S do
alpha [1][s] := a[s0][s]*b[s][w[1]]
done
# Induction F2
for i := 1 to length(w)-1 do
foreach s in S do
foreach s’ in S do
alpha[i+1][s] += alpha[i][s’]*a[s’][s]
done
alpha[i+1][s] *= b[s][w[i+1]]
done
done
# Termination F3
foreach s in S do
p += alpha[length(w)][s]*a[s][se]
done
return p
In the next section, we present the concept of Maximum Entropy and see how
it is applied to NLP tasks via an example for Statistical Machine Learning.
3.2
Maximum Entropy Approach
”Gain in entropy always means loss of information, and nothing more”.
- G.N. Lewis (1930)
3.2.1
Entropy - Thermodynamic and Information
In statistical mechanics, entropy is of the form:
P
S = −k pi log pi ,
i
where pi is the probability of the microstate i taken from an equilibrium ensemble.
The defining expression for entropy in Shannon’s theory of information is of the
form:
24
H=−
P
pi log pi ,
i
where pi is the probability of the message mi taken from the message space M .
Mathematically H may also be seen as an average information, taken over the
message space, because when a certain message occurs with probability pi , the information − log pi will be obtained.
A connection can be made between the two. If the probabilities in question
are the thermodynamic probabilities pi , the (reduced) Gibbs entropy σ can then be
seen as simply the amount of Shannon information needed to define the detailed
microscopic state of the system, given its macroscopic description. To be more
concrete, in the discrete case using base two logarithms, the reduced Gibbs entropy
is equal to the minimum number of yes/no questions needed to be answered in
order to fully specify the microstate, given that we know the macrostate.
3.2.2
The Maximum Entropy Model
Language modelling is the attempt to characterize, capture and exploit regularities
in natural language. In statistical language modelling, large amounts of text are
used to automatically determine the models parameters, in a process known as
training. While building models, we may use each knowledge source separately
and then combine. Under the Maximum Entropy approach, one does not construct
separate models. Instead, we build a single, combined model, which attempts to
capture all the information provided by the various knowledge sources. Each such
knowledge source gives rise to a set of constraints, to be imposed on the combined
model. The intersection of all the constraints, if not empty, contains a (possibly
infinite) set of probability functions, which are all consistent with the knowledge
sources. Once the desired knowledge sources have been incorporated, no other
features of the data are assumed about the source. Instead, the worst (flattest)
of the remaining possibilities is chosen. Let us illustrate these ideas with a simple
example.
3.2.3
Application to Statistical Machine Learning
Suppose we wish to predict the next word in a document[11], given the history,
i.e., what has been read so far. Assume we wish to estimate P (BANK|h), namely
the probability of the word BANK given the documents history. One estimate
may be provided by a conventional bigram. The bigram would partition the event
space (h, w) based on the last word of the history. Consider one such equivalence
class, say, the one where the history ends in THE. The bigram assigns the same
probability estimate to all events in that class:
PBIGRAM (BANK|THE) = K{THE,BANK}
That estimate is derived from the distribution of the training data in that class.
Specifically, it is derived as:
25
K{THE,BANK} =
C(THE,BANK)
C(THE)
Another estimate may be provided by a particular trigger pair, say (LOAN7→ BANK).
Assume we want to capture the dependency of BANK on whether or not LOAN occurred before it in the same document. Thus a different partition of the event space
will be added. Similarly to the bigram case, consider now one such equivalence
class, say, the one where LOAN did occur in the history. The trigger component
assigns the same probability estimate to all events in that class:
PLOAN7→BANK (BANK|LOAN∈ h) = K{BANK|LOAN∈h}
That estimate is derived from the distribution of the training data in that class.
Specifically, it is derived as:
K{BANK|LOAN∈h} =
C(BANK,LOAN∈h)
C(LOAN∈h)
These estimates are clearly mutually inconsistent. How can they be reconciled?
Linear interpolation solves this problem by averaging the two answers. The backoff method solves it by choosing one of them. The Maximum Entropy approach,
on the other hand, does away with the inconsistency by relaxing the conditions imposed by the component sources.
Consider the bigram. Under Maximum Entropy, we no longer insist that P (BANK|h)
always have the same value K{THE,BANK} whenever the history ends in THE. Instead, we acknowledge that the history may have other features that affect the
probability of BANK. Rather, we only require that, in the combined estimate,
P (BANK|h) be equal to K{THE,BANK} on average in the training data.
E
h ends in THE
[PCOMBINED (BANK|h)] = K{THE,BANK}
where E stands for an expectation, or average. The constraint expressed by this
equation is much weaker. There are many different functions PCOMBINED that
would satisfy it. Similarly,
E
[PCOMBINED (BANK|h)] = K{BANK|LOAN∈h}
LOAN∈h
In general, we can define any subset S of the event space, and any desired expectation K, and impose the constraint:
P
[P (h, w)] = K
(h,w)∈S
The subset S can be specified by an index function, also called selector function,
fS , an indicator for the belongingness of the pair (h, w) in S. So, we have
P
[P (h, w)fS (h, w)] = K
(h,w)
We need not restrict ourselves to index functions. Any real-valued function f (h, w)
can be used. We call f (h, w) a constraint function, and the associated K the desired
expectation. So, we have
hf, P i = K
26
3.3
The ME Principle and a Solution
Now, we give a general description of the Maximum Entropy model and its solution. The Maximum Entropy (ME) Principle can be stated as follows[6]
1. Reformulate the different information sources as constraints to be satisfied
by the target (combined) estimate.
2. Among all probability distributions that satisfy these constraints, choose the
one that has the highest entropy.
Given a general event space {x}, to derive a combined probability function P (x),
each constraint j is associated with a constraint function fj (x) and a desired expectation Kj . The constraint is then written as:
P
EP fj = P (x)fj (x) = Kj
x
Given consistent constraints, a unique ME solution is guaranteed to exist, and to
be of the form:
f (x)
P (x) = Π µj j
j
where the µj s are some unknown constants, to be found.
3.3.1
Proof for the ME Formulation
Here, we give a proof for the unique ME solution that we proposed in the previous
subsection. Suppose there are N different points in the event space, and we assign
a probability pi to each. Then, the objective to be maximised is the entropy, given
N
P
by H = −
pi ln pi . The constraints are:
i=1
X
pi = 1
i
X
pi fj (xi ) = Kj ∀j ∈ {1, 2, ..., m}
i
27
So, we introduce Lagrange multipliers and now maximise
F
= −
N
X
pi ln pi + λ(
i=1
∂F
∂pi
= − ln pi − 1 + λ +
N
X
i=1
m
X
pi − 1) +
m
X
N
X
λj (
pi fj (xi ) − Kj )
j=1
i=1
λj fj (xi ) = 0
j=1
ln pi = λ − 1 +
m
X
λj fj (xi )
j=1
m
P
λj fj (xi )
pi = eλ−1 ej=1
m
Y
pi = eλ−1
eλj fj (xi )
j=1
pi = a
m
Y
f (xi )
µj j
j=1
where a = eλ−1 is a normalization constant and eλj = µj
3.3.2
Generalized Iterative Scaling
Q
fj (xi )
for the µi s that will
To search the exponential family defined by pi = m
j=1 µj
make P (x) satisfy all the constraints, an iterative algorithm exists, which is guar(0)
anteed to converge to the solution. GIS[5] starts with some arbitrary µi values,
which define the initial probability estimate:
P 0 (x) =
Q
j
(0) fj (x)
µj
Each iteration creates a new estimate, which is improved in the sense that it matches
the constraints better than its predecessor. Each iteration (say k) consists of the
following steps:
1. Compute the expectations of all
Pthe fj ’s under the current estimate function.
Namely, compute EP (k) fj = P (k) (x)fj (x)
x
2. Compare the actual values EP (k) fj ’s to the desired values Kj s, and update
the µj ’s according to the following formula:
(k+1)
µj
(k)
= µj
Kj
EP (k) fj
3. Define the next estimate function based on the new µj s:
28
P (k+1) (x) =
Q
j
(k+1) fj (x)
µj
Iterating is continued until convergence or near-convergence.
3.4
Improved Iterative Scaling
Iterative Scaling and its variants are all based on the central idea of the Gradient
Descent algorithm for optimizing convex training objectives. It is presented here
using a model which occurs at many places in a maximum entropy approach to
natural language processing.
3.4.1
The Model in parametric form
The problem we consider is a language modelling problem[9], which is to define
the distribution P (y|x), where y and x are sequences. For eg, y can be the POS tag
sequence and x the input sequence. Henceforth the boldface indicating that x is a
sequence will be dropped unless the context demands further elucidation.
Given just the above information, the maximum entropy approach maximises
the entropy of the model giving us a model of the following form.
!
n
X
1
PΛ (y|x) =
exp
(3.3)
λi fi (x, y) .
ZΛ (x)
i=1
where
• fi (x, y) is a binary-valued function, called a feature of (x,y), associated with
the model. The model given above has n features.
• λi is a real-valued weight attached with fi whose absolute value measures
the ’importance’ of the feature fi . Λ is the vector of the weights: Λ =
{λ1 , λ2 , . . . , λn }.
• ZΛ (x) is the normalizing factor which ensures that PΛ is a probability distribution.
!
n
X
X
ZΛ (x) =
exp
λi fi (x, y)
y
3.4.2
i=1
Maximum Likelihood
The next thing to do would be to train the model, i.e find the parameters λi so as to
maximize some objective over the training data. Here, we choose to maximize the
likelihood of the training data. The likelihood is computed by assuming that the
29
model is the correct underlying distribution and hence is a function of the parameters of the model. The likelihood of the training data is expressed as follows (N is
the number of training instances):
M (Λ) =
N
Y
P (xi , yi )
i=1
=
N
Y
PΛ (yi |xi )P (xi )
i=1
Now, we note that log(x) is a one-to-one map for x > 0. Therefore the value of
x which maximizes f (x) is the same as that which maximizes log(f (x)). Henceforth we work with the logarithm of the likelihood expression as it is mathematically easier to work with. The log-likelihood expression denoted by L(Λ) is given
below:
L(Λ) = log(M (Λ))
=
N
X
log (PΛ (yi |xi )) + C
i=1
where C is independent of Λ and is hence treated as a constant. It is dropped from
the expression henceforth as it does not affect the maximization problem.
Now, we express the log-likelihood expression in terms of the empirical probability
distribution p̃(x, y) obtained from the training data as follows:
c(x, y)
x,y c(x, y)
p̃(x, y) = P
where c(x, y) is the number of times the instance (x, y) occurs in the training data.
The log-likelihood expression becomes the following:
X
Lp̃ (Λ) =
log PΛ (y|x)c(x,y)
x,y
=
X
p̃(x, y)log (PΛ (y|x))
x,y
We ignore
P
x,y
c(x, y) as it is constant for a given training set (= N ).
30
3.4.3
The objective to optimize
Hence we arrive the objective to be maximized. The maximum likelihood problem
is to discover Λ∗ ≡ argmaxΛ Lp̃ (Λ) where
X
Lp̃ (Λ) =
p̃(x, y)log (PΛ (y|x))
x,y
=
=
X
p̃(x, y)
X
x,y
i
x,y
X
X
X
p̃(x, y)
x,y
3.4.4
λi fi (x, y) −
X
λi fi (x, y) −
p̃(x, y)log
n
X
exp
y
p̃(x)log(
X
exp
y
x
i
X
!!
λi fi (x, y)
i=1
n
X
!
λi fi (x, y) )
i=1
Deriving the iterative step
Suppose we have a model with some arbitrary set of parameters Λ = {λ1 , λ2 , . . . , λn }.
We would like to find a new set of parameters Λ+∆ = {λ1 +δ1 , λ2 +δ2 , . . . , λn +
δn } which yield a model of higher log-likelihood. The change in log-likelihood is
X
X
Lp̃ (Λ + ∆) − Lp̃ (Λ) =
p̃(x, y)logP(Λ+∆) (y|x) −
p̃(x, y)logPΛ (y|x)
x,y
=
x,y
X
p̃(x, y)
x,y
X
δi fi (x, y) −
X
p̃(x)log
x
i
Z(Λ+∆) (x)
Z(Λ) (x)
Now, we make use of the inequality −log(α) ≥ 1 − α to establish a lower
bound on the above change in likelihood expression.
Lp̃ (Λ + ∆) − Lp̃ (Λ) ≥
X
p̃(x, y)
X
x,y
δi fi (x, y) + 1 −
X
p̃(x)
x
i
Z(Λ+∆) (x)
Z(Λ) (x)
P
y exp ( i (λi + δi )fi (x, y))
P
=
p̃(x, y)
δi fi (x, y) + 1 −
p̃(x) P
exp
(
i λi fi (x, y))
y
x,y
x
i
!!
X
X
X
X exp(P λi fi (x, y) X
i
=
p̃(x, y)
δi fi (x, y) + 1 −
p̃(x)
exp
δi fi (x, y)
Z
Λ (x)
x,y
x
y
i
i
!
X
X
X
X
X
=
p̃(x, y)
δi fi (x, y) + 1 −
p̃(x)
PΛ (y|x)exp
δi fi (x, y)
X
X
X
x,y
i
x
P
y
i
= A(∆|Λ)
Now we know that is we can find a ∆ such that A(∆|Λ) > 0 then we have a
improvement in the likelihood. Hence, we try to maximize A(∆|Λ) with respect
to each δi . Unfortunately the derivative of A(∆|Λ) with respect to δi yields an
equation containing all of {δ1 , δ2 . . . . , δn } and hence the constraint equations for
δi are coupled.
31
To get around this, we first observe that the coupling is due to the summation
of the δi s present inside the exponentiation function. We consider a counterpart
expression with the summation placed outside the exponentiation and compare the
two expressions. We find that we can indeed establish an inequality using an important property called the Jensen’s inequality. First, we define the quantity,
X
f # (x, y) =
fi (x, y)
i
If fi are binary-valued then f # (x, y) just gives the total number of features which
are non-zero (applicable) at the point (x,y). We rewrite A(∆|Λ) in terms of f # (x, y)
as follows:
A(∆|Λ) =
X
p̃(x, y)
X
x,y
i
Now, we note that
p(x),
X
X
X δi fi (x, y)
δi fi (x, y)+1−
p̃(x)
PΛ (y|x)exp f # (x, y)
f # (x, y)
x
y
!
i
fi (x,y)
f # (x,y)
is a p.d.f. Jensen’s inequality states that for a p.d.f,
!
exp
X
p(x)q(x)
≤
x
X
exp(p(x)q(x))
x
Now, using Jensen’s inequality, we get,
A(∆|Λ) ≥
X
p̃(x, y)
X
x,y
δi fi (x, y) + 1 −
X
x
i
p̃(x)
X
y
X fi (x, y) PΛ (y|x)
exp(δi f# (x, y))
f # (x, y)
i
= B(∆|Λ)
where B(∆|Λ) is a new lower-bound on the change in likelihood. B(∆|Λ) can be
maximized easily because there is no coupling of variables in its derivative. The
derivative of B(∆|Λ) with respect to δi is,
X
X
∂B(∆) X
=
p̃(x, y)fi (x, y) −
p̃(x)
PΛ (y|x)fi (x, y)exp(δi f # (x, y))
∂δi
x,y
x
y
Notice that in the expression for ∂B(∆)
∂δi δi appears alone without the other parameters. Therefore, we can solve for each δi individually. The final IIS algorithm is as
follows,
• Start with some arbitrary values for λi s.
• Repeat until convergence
– Solve for
∂B(∆)
∂δi
= 0 for δi .
– Set λi = λi + δi
for each i.
32
3.5
Swarm Intelligence
Swarm Intelligence (SI)[10] is a relatively new paradigm being applied in a host of
research settings to improve the management and control of large numbers of interacting entities such as communication, computer and sensor networks, satellite
constellations and more. Attempts to take advantage of this paradigm and mimic
the behaviour of insect swarms however often lead to many different implementations of SI. Here, we provide a set of general principles for SI research and development. A precise definition of self-organized behaviour is described and provides
the basis for a more axiomatic and logical approach to research and development as
opposed to the more prevalent ad hoc approach in using SI concepts. The concept
of Pareto optimality is utilized to capture the notions of efficiency and adaptability.
3.5.1
Foundations
The use of swarm intelligence principles makes it possible to control and manage
complex systems of interacting entities even though the interactions between and
among the entities is minimal.
As an example, consider how ants actually solve shortest path problems. Their
motivation for solving these problems stems from their need to find sources of
food. Many ants set out in search of a food source by apparently randomly choosing several different paths. Along the way they leave traces of pheromone. Once
ants find a food source, they retrace their path back to their colony by following
their scent back to their point of origin. Since many ants go out from their colony
in search of food, the ants that return first are presumably those that have found
the food source closest to the colony or at least have found a source that is in some
sense more accessible. In this way, an ant colony can identify the shortest or best
path to the food source.
The cleverness and simplicity of this scheme is highlighted when this process
is examined from what one could conceive of as the ants perspective - they simply
follow the path with the strongest scent (or so it seems). The shortest path will
have the strongest scent because less time has elapsed between when the ants set
out in search of food and when they arrive back at the colony, hence there is less
time for the pheromone to evaporate. This leads more ants to go along this path
further strengthening the pheromone trail and thereby reinforcing the shortest path
to the food source and so exhibits a form of reinforcement learning.
But this simple method of reinforcement or positive feedback also exhibits important characteristics of efficient group behaviour. If, for instance, the shortest
path is somehow obstructed, then the second best shortest path will, at some later
point in time, have the strongest pheromone, hence will induce ants to traverse it
thereby strengthening this alternate path. Thus, the decay in the pheromone level
33
leads to redundancy, robustness and adaptivity, i.e., what some describe as emergent behaviour.
Efficiency via Pareto Optimality
Optimization problems are ubiquitous and even social insects must face them. Certainly, the efficient allocation of resources present problems where some goal or
objective must be maintained or achieved. Such goals or objectives are often mathematically modelled using objective functions, functions of decision variables or
parameters that produce a scalar value that must be either minimized or maximized.
The challenge presented in these often difficult problems is to find the values of
those parameters that either minimize or maximize, i.e., optimize, the objective
function value subject to some constraints on the decision variables.
In multi-objective optimization problems (MOPs) system efficiency in a mathematical sense is often based on the definition of Pareto optimality a well established way of characterizing a set of optimal solutions when several objective
functions are involved. Each operating point or vector of decision variables (operational parameters) produces several objective function values corresponding to a
single point in objective function space (this implies a vector of objective function
values). A Pareto optimum corresponds to a point in objective function space with
the property that when it is compared to any other feasible point in objective function space, at least one objective function value (vector component) is superior to
the corresponding objective function value (vector component) of this other point.
Pareto optima therefore constitute a special subset of points in objective function
space that lie along what is referred to as the Pareto optimal frontier the set of
points that together dominate (are superior to) all other points in objective function
space.
Figure 3.3: The Pareto Optimal frontier is the set of hollow points. Operational decisions must be restricted along this set if operational efficiency is to be maintained
Determining several Pareto optima can be quite valuable for enhancing the
survival value of a species (or managing a complex system) because it enables
adaptive behaviour. Thus, if in an ant colony a path to a food source becomes congested, then other routes must be utilized. Although the distances to food sources
are generally minimized as is the level of congestion, these often conflicting objec34
tives can be efficiently traded off when the shortest distance is sacrificed to lessen
the level of congestion.
The Measure of Pareto Optima: A rather intuitive yet surprisingly little known
aspect of Pareto optima is its measure. This measure is based on the size of the
set of points in objective function space that are dominated by the Pareto optimal
frontier - in essence a Lebesgue measure or hypervolume.
Figure 3.4: The Pareto hypervolume
3.5.2
Example Algorithms and Applications
• Ant colony optimization
A class of optimization algorithms modelled on the actions of an ant colony,
ACO is a probabilistic technique useful in problems that deal with finding
better paths through graphs. Artificial ’ants’ -simulation agents, locate optimal solutions by moving through a parameter space representing all possible
solutions. Natural ants lay down pheromones directing each other to resources while exploring their environment. The simulated ’ants’ similarly
record their positions and the quality of their solutions, so that in later simulation iterations more ants locate better solutions.
• Artificial bee colony algorithm
Artificial bee colony algorithm (ABC) is a meta-heuristic algorithm that
simulates the foraging behaviour of honey bees. The algorithm has three
phases: employed bee, onlooker bee and scout bee. In the employed bee and
the onlooker bee phases, bees exploit the sources by local searches in the
neighbourhood of the solutions selected based on deterministic selection in
the employed bee phase and the probabilistic selection in the onlooker bee
phase. In the scout bee phase which is an analogy of abandoning exhausted
food sources in the foraging process, solutions that are not beneficial any
more for search progress are abandoned, and new solutions are inserted instead of them to explore new regions in the search space. The algorithm has
a well-balanced exploration and exploitation ability.
35
• Particle swarm optimization
PSO is a global optimization algorithm for dealing with problems in which
a best solution can be represented as a point or surface in an n-dimensional
space. Hypotheses are plotted in this space and seeded with an initial velocity, as well as a communication channel between the particles. Particles then
move through the solution space, and are evaluated according to some fitness
criterion after each time-step. Over time, particles are accelerated towards
those particles within their communication grouping which have better fitness values. The main advantage of such an approach over other global minimization strategies such as simulated annealing is that the large number of
members that make up the particle swarm make the technique impressively
resilient to the problem of local minima.
3.5.3
Case Study: Ant Colony Optimization applied to the NP-hard
Travelling Salesman Problem
Travelling salesman problem (TSP) consists of finding the shortest route in complete weighted graph G with n nodes and n(n-1) edges, so that the start node and
the end node are identical and all other nodes in this tour are visited exactly once.
We apply the Ant Colony[12] heuristic to obtain an approximate solution to the
problem. We use virtual ants to traverse the graph and discover paths for us. Their
movement depends on the amount of pheromone on the graph edges. We assume
the existence of ant’s internal memory. In symbols, what we have is:
• Complete weighted graph G = (N, A)
• N = set of nodes representing the cities
• A = set of arcs
• Each arc (i, j) in A is assigned a value (length) dij , which is the distance
between cities i and j.
Tour Construction
τij refers to the desirability of visiting city j directly after city i. Heuristic information is chosen as ηij = d1ij .
We apply the following constructive procedure to each ant:
1. Choose, according to some criterion, a start city at which the ant is positioned;
2. Use pheromone and heuristic values to probabilistically construct a tour by
iteratively adding cities that the ant has not visited yet, until all cities have
been visited;
3. Go back to the initial city;
36
4. After all ants have completed their tour, they may deposit pheromone on the
tours they have followed.
Continue for a fixed number of iterations or till the pheromone distribution becomes almost constant.
Ant System
The Ant System (proposed in 1991) uses the following heuristics and formulae for
probability propagation
• Initialize the pheromone trails with a value slightly higher than the expected
amount of pheromone deposited by the ants in one iteration; a rough estimate
of this value can be obtained by setting
τij = τ0 =
m
C nn
where m is the number of ants, and C nn is the length of a tour generated by
the nearest-neighbour heuristic.
• In AS, these m artificial ants concurrently build a tour of the TSP.
• Initially, put ants on randomly chosen cities. At each construction step, ant
k applies a probabilistic action choice rule, called random proportional rule,
to decide which city to visit next.
β
pkij = τijα ηij
/
P
l∈Nik
τilα ηilβ , if j ∈ Nik
• Each ant k maintains a memory Mk which contains the cities already visited,
in the order they were visited. This memory is used to define the feasible
neighbourhood Nik in the construction rule.
• We can adopt any of the following two: Parallel implementation: at each
construction step all ants move from current city to next one; Sequential implementation: ant builds complete tour before next one starts to build another
37
Update of Pheromone Trails
• Forget bad decisions:
τij ← (1 − ρ)τij ∀i, j, where ρ ∈ {0, 1}
• So,if an arc is not chosen by the ants, its pheromone value decreases exponentially
• ∆τijk is the amount of pheromone ant k deposits on the arcs it has visited and
C k is the length of tour T k built by the k th ant. Then, they are related as
follows:
∆τijk = 1/C k , if arc (i, j) belongs to tour T k ; 0 otherwise
• The update then happens as follows:
τij ← τij +
m
P
k=1
∆τijk , ∀(i, j)
Computational Experiments For experiment, the problem of 32 cities in Slovakia has been solved using the ACO. The optimal solution to that problem has a
length of route 1453km. Parameters are α = 1, β = 5. The number of iterations
was set to 1000.
With m = 1000, the result was the tour with length 1621 km in 34th iteration
(difference 11.56% from optimal route).
Figure 3.5: Search process for m=1000 ants
With m = 5000, algorithm ACO finds the tour with length 1532km in 21st
iteration (difference 5.44% from optimal route).
38
Figure 3.6: Search process for m=5000 ants
3.6
Boltzmann Machines
One of the first examples of a neural network capable of learning internal representations, Boltzmann machines3 are able to represent and (given sufficient time) solve
difficult combinatoric problems. They are named after the Boltzmann distribution
in statistical mechanics, which is used in their sampling function.
Figure 3.7: Graphical representation for a Boltzmann machine with a few labelled
weights
3.6.1
Structure
A Boltzmann machine, is a network of stochastic units with an energy defined for
the network. The global energy E, in a Boltzmann machine is:
P
P
E = −( i<j wij si sj + i θi si )
3
Content and figure from http://en.wikipedia.org/wiki/Boltzmann_machine
39
where wij is the connection strength between unit j and unit i; si ∈ {0, 1} is the
state of unit i; θi is the bias of unit i in the global energy function.
The connections in a Boltzmann machine have two restrictions:
• wii = 0
• wij = wji
3.6.2
∀i. (No unit has a connection with itself.)
∀i, j. (All connections are symmetric.)
Probability of a state
The difference in the global energy that results from a single unit i being 0(off)
versus 1(on), written ∆Ei , is given by:
P
∆Ei = j wij sj + θi
This can be expressed as the difference of energies of two states:
∆Ei = Ei=off − Ei=on
We then substitute the energy of each state with its relative probability according
to the Boltzmann Factor (the property of a Boltzmann distribution that the energy
of a state is proportional to the negative log probability of that state):
∆Ei = −kB T ln(pi=off ) − (−kB T ln(pi=on ))
where kB is Boltzmann’s constant and is absorbed into the artificial notion of temperature T . We then rearrange terms and consider that the probabilities of the unit
being on and off must sum to one:
∆Ei
T
∆Ei
T
∆Ei
T
∆Ei
−
T
∆Ei
−
T
∆Ei
exp −
T
= ln(pi=on ) − ln(pi=off )
= ln(pi=on ) − ln(1 − pi=on )
pi=on
= ln
1 − pi=on
1 − pi=on
= ln
pi=on
1
= ln
−1
pi=on
1
=
−1
pi=on
We can now solve for pi=on , the probability that the ith unit is on.
pi=on =
1
∆E
1+exp(− T i )
where the scalar T is referred to as the temperature of the system. This relation is
the source of the logistic function found in probability expressions in variants of
the Boltzmann machine.
40
3.6.3
Equilibrium State
The network is run by repeatedly choosing a unit and setting its state according
to the above formula. After running for long enough at a certain temperature, the
probability of a global state of the network will depend only upon that global state’s
energy, according to a Boltzmann distribution. This means that log-probabilities of
global states become linear in their energies. This relationship is true when the machine is at thermal equilibrium, meaning that the probability distribution of global
states has converged. If we start running the network from a high temperature, and
gradually decrease it until we reach a thermal equilibrium at a low temperature, we
may converge to a distribution where the energy level fluctuates around the global
minimum. This process is called simulated annealing.
41
Chapter 4
Some popular Quantum
Computing Ideas
A quantum algorithm is a step-by-step procedure such that each of the steps can
be performed on a classical computer. Quantum computers can execute algorithms
that sometimes dramatically outperform classical computation. The best-known
example of this is Shor’s discovery of an efficient quantum algorithm for factoring
integers, whereas the same problem appears to be intractable on classical computers. Understanding what other computational problems can be solved significantly
faster using quantum algorithms is one of the major challenges in the theory of
quantum computation. In an attempt to gain an insight in the same, we study a few
of the existing quantum algorithms.
The first among them is the Deutsch-Jozsa algorithm used to determine the
nature of a function, followed by Shor’s algorithm for factoring integers and then
Grover’s algorithm which efficiently searches for an element in an unsorted database.
4.1
4.1.1
Deutsch-Jozsa Algorithm
Problem Statement
In the Deutsch-Jozsa problem, we are given a black box quantum computer known
as an oracle that implements the function f : {0, 1}n → {0, 1}. In layman’s terms,
it takes n-digit binary values as input and produces either a 0 or a 1 as output for
each such value. We are promised that the function is either constant (0 on all
inputs or 1 on all inputs) or balanced (returns 1 for half of the input domain and 0
for the other half); the task then is to determine if f is constant or balanced by using
the oracle.
4.1.2
Motivation and a Classical Approach
The DeutschJozsa problem[1] is specifically designed to be easy for a quantum
algorithm and hard for any deterministic classical algorithm. The motivation is to
42
show a black box problem that can be solved efficiently by a quantum computer
with no error, whereas a deterministic classical computer would need exponentially
many queries to the black box to solve the problem.
For a conventional deterministic algorithm where n is number of bits/qubits,
+ 1 evaluations of f will be required in the worst case. To prove that f is
constant, just over half the set of inputs must be evaluated and their outputs found
to be identical.
2n−1
4.1.3
The Deutsch Quantum Algorithm
1. The algorithm begins with the n + 1 qubit state |0i⊗n |1i. That is, the first n
qubits are each in the state |0i and the final one is |1i.
P n −1
2. Apply a Hadamard transformation to each bit to obtain the state √ 1n+1 2x=0
|xi(|0i−
2
|1i).
3. We have the function f implemented as quantum oracle. The oracle maps
the state |xi|yi to |xi|y ⊕ f (x)i, where ⊕ is addition modulo 2.
P2n −1
4. Applying the quantum oracle gives √ 1n+1 x=0
|xi(|f (x)i − |1 ⊕ f (x)i).
2
5. For each x, fP
(x) is either 0 or 1. A quick check of these two possibilities
n −1
yields √ 1n+1 2x=0
(−1)f (x) |xi(|0i − |1i).
2
6. At this point, ignore the last qubit. Apply a Hadamard transformation to each
qubit to obtain
i
P2n −1
P2n −1 hP2n −1
1 P2n −1
x·y |yi = 1
f (x)
f (x) (−1)x·y |yi
(−1)
(−1)
(−1)
n
n
y=0
x=0
y=0
x=0
2
2
where x·y = x0 y0 ⊕x1 y1 ⊕· · ·⊕xn−1 yn−1 is the sum of the bitwise product.
2
1 P2n −1
⊗n
f
(x)
7. Finally we examine the probability of measuring |0i , 2n x=0 (−1)
which evaluates to 1 if f (x) is constant (constructive interference) and 0 if
f (x) is balanced (destructive interference).
The DeutschJozsa algorithm provided inspiration for Shor’s algorithm and Grover’s
algorithm, two of the most revolutionary quantum algorithms, which are described
now.
4.2
Shor’s Algorithm
Shor’s algorithm, given in 1994 by mathematician Peter Shor, is an algorithm for
integer factorization. On a quantum computer, Shor’s algorithm runs in polynomial time. First, we describe the problem of factorization more formally followed
43
by an overview of some mathematical concepts required to understand the algorithm. The familiar reader can skip these subsections and continue reading from
the subsection ’Reduction of the Factorization problem’.
4.2.1
The factorization problem
The factorization problem definition is given below.
Problem Definition: Given an integer n, factorize n as a product of primes.
Typically the integer n is very large (a few hundred digits long). Hence the
brute force approach of checking whether each number between 2 and n − 1 is a
factor of n which takes exponential time to complete, is not efficient and it can take
many years for the computation to finish. In fact, there is no deterministic algorithm known that can factorize n in polynomial-time. This limitation is exploited
by the famous Rivest-Shamir-Adleman encryption scheme (RSA).
We will assume (both for simplicity and with a view to RSA cryptanalysis) that
n = pq where p and q are large unknown primes. We must determine p and q.
4.2.2
The integers mod n
Let R = 0, 1, 2, . . . , n − 1 with addition and multiplication modulo n. For a, b ∈
R we compute a + b mod n and ab mod n by first computing the sum or product
as an ordinary integer, then taking the remainder upon division by n.
These operations are easily performed in polynomial time in the input size
l = log(n) using a classical logical circuit of size polynomial in l. For x ∈ R and
a ≥ 0, the value of xa mod n can also be determined in polynomial time and space
via the square-and-multiply algorithm which is described in brief below.
4.2.3
A fast classical algorithm for modular exponentiation
The method is based on the following observation:
(
a−1
x (x2 ) 2 , if a is odd
a
x =
a
(x2 ) 2 ,
if a is even.
(4.1)
Now, due to the modular nature of squaring, the number of digits of x2 are
limited by the length of n. We computed xa by repeated squaring taking the result
modulo n each time before proceeding to the next iteration, which gives rise to the
following recursive algorithm for exponentiation.
Function exp-by-squaring(x,n)
if n<0 then return exp-by-squaring(1/x, -n);
else if n=0 then return 1;
else if n=1 then return x;
else if n is even then return exp-by-squaring(x*x, n/2);
else if n is odd then return x*exp-by-squaring(x*x, (n-1)/2).
44
4.2.4
Reduction of the Factorization problem
Using randomization, factorization can be reduced to finding the order of an element in the multiplicative group (mod n), where order or r is the smallest r ≥ 1
such that xr mod n is 1.
Suppose we choose x randomly from {2, . . . , n − 1} and find the order r of x
with respect to n. Then if r is not odd
r
r
(x 2 − 1)(x 2 + 1) ≡ 1 (mod n)
r
Now consider the gcd(x 2 − 1, n). This fails to be a non-trivial divisor of n only if
r
x 2 ≡ −1 (mod n) or r is odd. This procedure, when applied to a random x (mod
1
n), yields a factor of n with probability at least 1 − 2k−1
, where k is the number of
distinct odd prime factors of n. We will accept this statement without proof.
It can be seen that the above probability is at least 12 if k ≥ 1. If k = 1 implying n
had only one odd prime factor, it can be easily factored in polynomial time using
classical algorithms. (Reference here)
Shor’s algorithm finds the factors of n indirectly by first choosing a random
r
x and then finding the order of x with respect to n. Then it finds gcd(x 2 − 1, n)
which will be a factor of n with high probability. It continues doing the same until
n has been completely factorized. The algorithm requires a quantum computer
only for finding the period of x in polynomial time. This part of the algorithm is
presented next.
4.2.5
The Algorithm
We present only the quantum part of the algorithm in this section. The complete
algorithm is presented at the end of the section. The algorithm uses two quantum
registers which hold integers represented in binary and some additional workspace.
1. Find q, such that q = 2l for some integer l and n2 ≤ q < 2n2 . In a quantum
gate array we need not even keep the values of n, x and q in memory, as they
can be built into the structure of the gate array.
2. Next, the first register is put in the uniform superposition of states representing numbers a (mod q). This leaves the registers in the following state.
q−1
1 X
1
q2
|ai|0i.
(4.2)
a=0
3. Next xa mod n is computed using the square-and-multiply algorithm. This
can be done reversibly. This leaves our registers in the following state.
q−1
1 X
q
1
2
|ai|xa (mod n)i.
a=0
45
(4.3)
4. Then the Fourier transform is performed on the first register, as described in
Chapter 2 which maps |ai to
q−1
1 X
1
q2
exp(2πiac/q)|ci.
(4.4)
c=0
This leaves the registers in the following state
q−1 q−1
1 XX
exp(2πiac/q)|ci|xa (mod n)i.
q
(4.5)
a=0 c=0
5. Finally we observe the system. We now compute the probability that our machine ends in a particular state |c, xk mod ni, where 0 ≤ k < r. Summing
up over all possible ways to reach this state, this probability is
2
1 X
exp(2πiac/q)
q a
a:x ≡xk
Since the order is r, this sum is over all a such that a ≡ k (mod r). Therefore, tha above sum can be written as,
2
b(q−k−1)/rc
X
1
exp(2πi(br
+
k)c/q)
q
b=0
Since, exp(2πikc/q) factors out of the sum and has magnitude 1, we drop
it. Now, on the remaining part of the expression Shor’s algorithm performs
an estimation analysis of the above probability expression and derives the
following lemma which we present without proof.
Lemma 1. The probability of seeing a given state |c, xk (mod n)i is at least
1
if there is a d such that,
3r2
−r
r
≤ rc − dq ≤ .
2
2
(4.6)
Next, Shor proceeds to prove that the probability of obtaining r via the above
δ
algorithm is at least loglogr
. We will accept the above statement without
proof. Hence by repeating the experiment O(loglogr) times, we are assured
of a high probability of success.
4.2.6
An example factorization
We show the running of Shor over the factorization of n = 55. Since n2 ≤ q < 2n2
and q = 2l , q = 213 = 8192. Suppose we choose x = 13. The running of the
algorithm on this input is described below.
46
1. We initialize the initial state to be a superposition of states representing a
(mod 8192).
|ψi = √
1
(|0, 0i + |1, 0i + . . . + |8191, 0i)
8192
2. Next the modular exponentiation gate is applied.
|ψi =
=
1
(|0, 1i + |1, 13i + |2, 132 mod55i . . . + |8191, 138191 mod55i)
8192
1
√
(|0, 1i + |1, 13i + |2, 4i . . . + |8191, 2i)
8192
√
3. Next we perform the Fourier transform on the first register.
|ψi =
8191 8191
1 XX
exp(2πiac/8192)|ci|13a (mod 55)i.
8192
a=0 c=0
4. Now we observe the registers. Register 2 can be in any of the states with
equal probability. Hence all power of x mod 55 are almost equally likely to
be observed if r << q. Suppose we observe 28 as a power of x mod 55.
This occurs 410 times in the series as a varies from 0 to 8191. Then the
probability of observing register 1 to be in state c is
409
1 1 X
P r(c) =
exp(2πirdc/8192)
8192 410 d=0
Here r = 20. Among the states which can be observed with reasonably high
probability is |4915i which is observed with probability of 4.4%.
5. Now qc = 4915
8192 . Shor’s algorithm uses the method of continued fractions
to find d/r from c/q. Applying it here would give us r to be a multiple of
r1 = 5 and that on trying r1 , 2r1 , . . . blog(n)1+ cr1 as values for r we are
guaranteed to find r with a very high probability. Here, we find that r = 20.
6. Now, the algorithm uses the Euclidean algorithm to find the factors of 55.
m = 13(20/2) mod 55 = 1310 mod 55 = 34
and the factors of n = 55 are,
gcd(m + 1, 55) = gcd(35, 55) = 5
gcd(m − 1, 55) = gcd(33, 55) = 11
47
4.3
Grover’s Algorithm
The Grover algorithm, given by Lov Grover in 1996, solves the problem of search1
ing for an element in an unsorted database with N entries in O(N 2 ) time. Note
that with classical computation models this problem cannot be solved in less than
linear time (O(N )).
4.3.1
The search problem
Assume N = 2n . Suppose that we have a function f (x) from {0, 1}n to 0, 1 which
is zero on all inputs except for a single (marked) item x0 : f (x) = δx,x0 . By querying this function we wish to find the marked item x0 . If we have no information
about the particular x0 , then finding this marked item is very difficult. In the worst
case it will take 2n − 1 queries to find x0 for a deterministic algorithm. In general,
if the search problem has M solutions, then the classical algorithm might take as
many as 2n − M steps.
For large N, the Grover algorithm could yield very large performance increases.
The key idea is that although finding a solution to the search problem is hard,
recognising a solution is easy. We wish to search through a list of N elements, lets
index the elements by x ∈ 0, N − 1 and call them yx .
4.3.2
The Oracle
Rather than dealing with the list itself, we focus on the index of the list, x. Given
some value of x, we can tell whether yx solves the search problem. We assume
that we can construct some device to tell us if yx solves the search problem. This
device is called an Oracle.
• The Oracle takes as input an index value in a qubit register |xi. It also takes
a single Oracle qubit, |qi. The state given to the Oracle is thus |ψi = |xi|qi.
• The Oracle is represented by a unitary operator, O. If x indexes a solution
to the search problem, O sets f (x) = 1, and f (x) = 0 if it doesnt index a
solution.
• If f (x) = 1, the Oracle flips the state of |qi. We write this as O|xi|qi =
|xiX f (x) |qi. X is just our quantum NOT operator.
• So if f (x) = 1, |qi 7→ X|qi, else |qi 7→ |qi.
• We choose to initially program |qi =
−|qi. And O|xi|qi =
√1
2
(|0i − |1i). Then X|qi =
√1
2
(−|0i + |1i) =
(−1)f (x) |xi|qi.
• The Oracle therefore takes |xi 7→ (−1)f (x) |xi. So the term indexing the
solution is marked with a − sign.
48
The Oracle does not find the solution to the problem, it simply recognises the
answer when presented with one. The key to quantum search is that we can look
at all solutions simultaneously: the Oracle just manipulates the state coefficients
using a unitary operator!.
4.3.3
The Grover Iteration
1. Begin with |xi =
√1
N
PN −1
j=0
|ji.
2. Apply the Oracle to |xi:
|xi 7→
√1
N
PN −1
j=0
(−1)f (x) |ji
3. Apply the QFT to |xi.
4. Reverse the sign of all terms in |xi except for the term |0i.
5. Apply the Inverse QFT.
6. Return to step 2 and repeat.
4.3.4
Performance of the algorithm
The point at which we terminate Grovers algorithm and measure the result is critical. This is because the probability associated with the correct state rises to 1
after a certain number of iterations and then oscillates periodically between the
two extremes,
0 and 1. It has been shown that the optimum number of iterations is
q
N
, where M is the number of solutions. It has also been shown that this is
∼ π4 M
the best that any quantum search algorithm can do.
4.3.5
An example
Apply Grovers algorithm to N = 4 with solution x = 2.
• We start with |xi = 12 (|0i + |1i + |2i + |3i).
• Apply the Oracle: |xi 7→ 12 (|0i + |1i − |2i + |3i).
• Apply the QFT: F |xi = 12 (|0i + |1i − |2i + |3i).
• Flips signs of all terms except |0i : F |xi 7→ 12 (|0i − |1i + |2i − |3i).
• Inverse QFT: |xi = |2i.
• So when we measure |xi, we are guaranteed the right answer.
49
4.4
The Quantum Minimum Algorithm
We now present a quantum algorithm for finding the minimum value among a given
set of numbers. This algorithm is faster than the fastest possible classical algorithm
and, as usual, is probabilistic. This algorithm uses the Grover search algorithm
repeatedly to find the minimum with a high probability. First, we formally present
the problem with notation and then we present the algorithm.
4.4.1
The Problem
Let T [0..N − 1] be an unsorted table of N items, each holding a value from an
ordered set. The minimum searching problem is to find the index y such that T [y]
is minimum. This clearly requires a linear number of probes on a classical probabilistic Turing machine. [16] gave a simple quantum algorithm which solves the
problem using O(N 1/2 ) probes. The algorithm makes repeated calls to Grover’s
search algorithm to find the index of a smaller item than the value determined by
a particular threshold index. If there are t ≥ 1 marked entries, Grover’s algorithm
p will return one of them with equal probability after an expected number of
O( N/t) iterations. If no entry is marked, it will run forever.
4.4.2
The Algorithm
The algorithm is as follows:
1. Choose threshold index 0 ≤ y ≤ N − 1 uniformly at random.
2. Repeat the
interrupt it when the total running time is more
√ following and
2
than 22.5 N + 1.4 log N . Then go to 2c.
(a) Initialize the register as a uniform superposition over the N states, i.e.,
give each state a coefficient of √1N . Mark every item j for which
T [j] < T [y]. This would be an O(N ) operation on a classical computer but here, the entire state which is a superposition of the N basis
states, is acted upon at once by a quantum operator.
(b) Apply the quantum exponential searching algorithm of [15].
(c) Observe the register: let y 0 be the outcome. If T [y 0 ] < T [y], then set
threshold index y to y 0 .
3. Return y.
4.4.3
Running Time and Precision
By convention, we assume that stage 2a takes log(N ) time steps and that one iteration in Grover’s algorithm takes one time step. The expected number of iterations
used by Grover to find the index of a marked item among N items where t items
50
p
are marked is at most 92 N/t. The expected total time before the y holds the index
√
7
of the minimum is at most m0 = 45
N + 10
log 2 N .
4
The algorithm given above finds the minimum with probability at least 12 . This
probability can be improved to 1 − 21c by running the algorithm c times.
4.5
Quantum Walks
A generalization of Grover’s search technique, quantum walks[17] have lead to a
number of quantum algorithms for problems such as element distinctness (which
will be described later). In this section, we present the basics of quantum walks and
also an application of quantum walks due to Ambainis , namely, element distinctness. First, we describe random walks which are the classical analogue of quantum
walks. Random walks provided the inspiration for quantum walks.
4.5.1
Random Walks
A random walk is a mathematical formulation of a path that consists of a succession
of random steps. For example, the path traced by a gas molecule, the path traced
by an animal foraging for food are all random walks. Often, random walks are
assumed to be Markov chains or Markov processes in discrete time although there
can be other types of random walks too. A classical Markov chain is said to be
a random walk on an underlying graph if the nodes of the graph are the states in
S, and a state s has a non-zero probability to go to state t if and only if the egde
(s, t) exists in the graph. A simple random walk on a graph G(V, E) is described
by repeated applications of a stochastic matrix P , where P (u, v) = (d1u ) if (u, v)
is an edge in G and du is the degree of the vertex u. If G is connected and nonbipartite, the distribution of the random walk Dt = P t D0 converges to a stationary
distribution π which is independent of the initial distribution D0 .
An example: A one-dimensional random walk
The elementary one-dimensional random walk is a walk on the integer line Z which
starts at 0 and at each time step moves +1 or -1 with equal probability.
4.5.2
Terminology used with Random Walks
There are many definitions which capture the rate of convergence to the limiting
distribution in a random walk. Some important terms are defined here.
Definition 3. Mixing Time:
M = min{T |∀t ≥ T, D0 : ||Dt − π|| ≤ }
(4.7)
where the distance between two distributions d1 and d2 is given by ||d1 − d2 || =
P
i |d1 (i) − d2 (i)|.
51
Definition 4. Filling Time:
τ = min{T |∀t ≥ T, D0 , X ⊆ V : Dt (X) ≥ (1 − )π(X)}
(4.8)
Definition 5. Dispersion Time:
ξ = min{T |∀t ≥ T, D0 , X ⊆ V : Dt (X) ≤ (1 + )π(X)}
4.5.3
(4.9)
Quantum Analogue: Quantum Markov Chains or Quantum Walks
Let G(V, E) be a graph, and let HV be the Hilbert space spanned by the states
|vi where v ∈ V . We denote by n, or |V | the number of vertices in G. Assume
that G is d-regular. Let HA be the auxiliary Hilbert space of dimension d spanned
by the states |1i through |di. Let C be a unitary transformation on HA . Label
each directed edge with a number between 1 and d, such that the edges labelled a
form a permutation. Now we can define a shift operator S on HA ⊗ HV such that
S|a, vi = |a, ui where u is the ath neighbour of v. Hence, one step of the quantum
walk is given by the operator U = S.(C ⊗ I). This is called a coined quantum
walk.
Example: Consider the cycle graph with n nodes. This graph is 2-regular. The
Hilbert space for the walk would be C 2 ⊗ C n . We choose C to be the Hadamard
transform
1
1
1
H = √2
1 −1
and the shift S is defined as
S|R, ii = |R, i + 1mod ni
S|L, ii = |L, i − 1mod ni
where R denotes a move to the node on the right of the node indexed i and L
denotes a move to the left. The quantum walk is then defined to be the repeated application of the Hadamard transform on the first register followed by an application
of the shift operator S.
Having this general idea of quantum walks in mind, we now proceed to examine their applications to algorithmic problems. We first make a remark that the
Grover’s search algorithm is a special case of a quantum walk. Next we describe
the application of quantum walks to the element distinctness problem.
4.5.4
Application to Element-Distinctness Problem
The element distinctness problem is as follows. Given numbers x1 , x2 · · · xN ∈
[M ], are there i, j ∈ [N ], such that i 6= j and xi = xj ? Any classical solution to
this problem will need Ω(N ) queries. Ambainis gave a quantum walk algorithm
for this problem that gives the answer in O(N 2/3 ) queries. The main idea is as follows. We have vertices vS corresponding to sets S ⊆ {1, 2, · · · , N }. Two vertices
52
vS and vT are connected by an edge is S and T differ in one variable. A vertex is
marked if S contains i, j such that xi = xj . At each moment of time, we know
xi for all i ∈ S. This enables us to check if the vertex is marked with no queries.
Also, it enables us to move to an adjacent vertex vT by querying just one variable
xi for i ∈
/ S and i ∈ T .
Then we define a quantum walk on subsets of the type S. Ambainis shows that
if x1 , x2 · · · xN are not distinct, this walk finds a set S containing i, j such that
xi = xj within O(N 2/3 ) steps.
With that, we conclude the current chapter on quantum computing literature.
Next, we move on to see the applications of quantum computing to more complex
algorithmic applications involving intelligence tasks.
53
Chapter 5
Quantum Computing and
Intelligence Tasks
Given, the quantum computing techniques we have seen on the previous chapter,
we would like to see if any of them can be applied to natural language processing tasks. There exist approaches in literature for applying quantum principles to
machine learning tasks such as classification [?]. Since NLP relies heavily on machine learning, we would like to study quantum machine learning algorithms too.
In this chapter, we first study a quantum approach to classification proposed by
Sébastian Gambs in 2008. Then we present our approach to a quantum Viterbi
algorithm using a modified version of Grover’s search algorithm. Later, we present
other possible approaches currently being investigated by us for the same problem.
5.1
Quantum Classification
Quantum classification is defined as the task of predicting the associated class of
an unknown quantum state drawn from an ensemble of pure states given a finite
number of copies of this state.
5.1.1
Learning in a Quantum World
Definition 6. (Quantum training dataset). A quantum training dataset containing
n pure quantum states can be described as Dn = {(|ψ1 i, y1 ), ...,
(|ψn i, yn )}, where |ψi i is the ith quantum state of the training dataset and yi is the
class associated with this state.
Example: (Quantum training dataset composed of pure states defined on d
qubits). In the context where all the pure states in the training dataset live in a
Hilbert space formed by d qubits and we are interested in the task of binary classid
fication; |ψi i ∈ C2 and yi ∈ {−1, +1}.
54
Definition 7. (Training error). The training error (or error rate) of a classifier
f is defined as the probability that this classifier predicts the wrong class yi on a
quantum state |ψi i drawn randomly from the states of the quantum training dataset
Dn . Formally:
P
f = n1
nP rob(f (|ψi i) 6= yi )
i=1
In the context of quantum classification, the notion of regret also takes a particular importance.
Definition 8. (Regret). The regret r of a classifier f is defined as the difference
between its error rate f and the smallest achievable error opt that can be achieved
on the same problem. Formally:
rf = f − opt
The regret of a classifier, as well as its error, can potentially take any value in
the range between zero and one. The concept of regret is particularly meaningful
in the context of hard learning problems, where the raw error rate alone is not an
appropriate measure to characterize the inherent difficulty of the learning.
Definition 9. (Classification cost). The classification cost corresponds to the number of copies of the unknown quantum state |ψ? i that will be used by the classifier
to predict the class y? of this state.
5.1.2
The Helstrom Oracle
For the purpose of quantum classification, we will be using an abstraction called
the Helstrom Oracle.
Definition 10. The Helstrom oracle is an abstract construction that takes as input:
Version 1: a classical description of the density matrices ρ− and ρ+ and corresponding to the -1 and +1 tagged states and their a priori probabilities p− and p+
or
Version 2: a finite number of copies of each state of the quantum training dataset
Dn
From this input, the oracle can be trained to produce an efficient implementation (exact or approximative) of the POVM (Positive-Operator Valued Measurement) of the Helstrom measurement fhel , in the form of a quantum circuit that can
distinguish between ρ− and ρ+. In the second version of the oracle, its training
cost corresponds to the minimum amount of copies of each state of the training
dataset that the oracle has to sacrifice in order to construct fhel .
55
5.1.3
Binary Classification
Let m− be the number of quantum states in Dn for which yi = −1 (negative class),
and its complement m+ be the number of states for which yi = +1 (positive class),
such that m− + m+ = n, the total number of data points in Dn . Moreover, p− is
the a priori probability of observing the negative class and is equal to p− f racm− n
, and p+ its complementary probability for the positive class such that p− +p+ = 1.
Definition 11. (Statistical mixture of the negative class).
The statistical mixture
1 P
representing the negative class ρ− , is defined as m−
nI{yi = −1}|ψi ihψi |,
i=1
where I{.} is the indicator function which equals 1 if its premise is true and 0
otherwise.
Definition 12. (Statistical mixture of the positive class). In the same P
manner, the
1
statistical mixture representing the positive class ρ+ is defined as m+
nI{yi =
i=1
+1}|ψi ihψi |.
Theorem 1. (Helstrom measurement). The error rate of distinguishing between the
two classes rho− and ρ+ is bounded from below by epsilonhel = 12 − D(ρ−2 ,ρ+ ) ,
where D(ρ− , ρ+ ) = T r|p− ρ− − p+ ρ+ | is a distance measure between ρ− and
ρ+ called the trace distance (here, p− and p+ represent the a priori probabilities
of classes ρ− and ρ+ , respectively). Moreover, this bound can be achieved exactly
by the optimal POVM called the Helstrom measurement.
The Helstroms measurement is a binary classifier that has a null regret, which
means rhel = 0.
Remark Error rate of the Helstrom measurement for extreme cases:
• Consider the case where both the negative class and the positive class are
equiprobable. If ρ− and ρ+ are two density matrices which correspond to
the same state, their trace distance D(ρ− , ρ+ ) is equal to zero, which means
that the error hel of the Helstrom measurement is 1.
• On the other hand, if ρ− and ρ+ are orthogonal, this means that D(ρ− , ρ+ ) =
1 and that the Helstrom measurement has an error hel = 0.
5.1.4
Weighted Binary Classification
(Reduction from weighted binary classification to standard binary classification via
Helstrom oracle). Given the access to an Helstrom oracle that takes as inputs the
description of the density matrices ρ− and ρ+ (and their a priori probabilities p−
and p+ ), it is possible to reduce the task of weighted binary classification to the
task of standard binary classification.
Training cost: null
Classification cost: Θ(1).
56
Proof : The weight wi of a particular state can be converted to a probability pi
wi
reflecting its importance by setting pi = P
.
n
wj
j=1
Let p− be the new a priori probability of the negative class, which is equal to p̂− =
n
P
pi I{yi = −1} and p̂+ , its complementary probability such that p̂− + p̂+ = 1.
i=1
The Helstrom measurement which discriminates between the density matrices in
which the weights are incorporated is precisely the POVM which minimizes the
weighted error. Therefore, it suffices to call the Helstrom oracle with inputs
ρ̂− =
ρ̂+ =
n
P
i=1
n
P
pi I{yi = −1}|ψi ihψi |
pi I{yi = +1}|ψi ihψi |
i=1
This reduction makes only one call to the Helstrom oracle and requires only one
copy of the unknown quantum state at classification.
5.2
Quantum Walk for A-star search
The A∗ search algorithm is a heuristic based searching/graph traversal algorithm
which has vast applications in the field of artificial intelligence. In this section, we
first describe the A∗ algorithm in detail and then present our ideas of a quantum A∗
using the idea of quantum walks.
5.2.1
The A∗ Algorithm
A∗ is a graph search algorithm which uses a best-first search to find the least cost
path from a given initial node to a goal node. As A∗ traverses the graph, it follows
a path of lowest expected cost and keeps a sorted priority queue of alternate path
segments along the way. It uses a knowledge-plus-heuristic cost function to determine the order in which the search visits nodes in the tree. A∗ is primarily a search
algorithm and the basic building blocks of any search algorithm are the following:
1. State Space: This is the space of states of the graph among which we are
searching for a solution.
2. Start State: The start state is the state from which our search starts. The start
state is denoted by S0 .
3. Goal State: The goal state is the state we intend to find via the search. The
goal state is denoted by G.
4. Operator: This constitutes of a transformation between states. It is a function
which takes a state as input and gives as output another state. This is used to
move from state to state thereby traversing the graph. Also each use of the
operator adds to the cost of taking that particular path.
57
5. Cost: The amount of effort involved in using the operator. This can be a
different function for different search problems.
6. Optimal Path: The path with the least cost to move from the start state to the
goal state.
Now we give an example to illustrate the above building blocks in a concrete
setting. We look at the 8-puzzle problem. We have a 3x3 square with the numbers
1 through 8 randomly arranged in 8 of the spaces of the square. This is our initial
configuration S0 . The empty square is regarded as free space and we can slide the
other 8 blocks upward, downward, left or right into the empty space. The aim is
to arrive at the goal configuration by sliding the blocks and making the minimum
number of moves (each movement of any block in any direction is regarded as one
move) This can be modelled in our search paradigm as follows. The state space the
set of all possible configurations of the 8 numbered blocks. The start state is the
initial configuration given to us and the goal state is the one shown in Figure 5.2.
The available operators are move left, move right, move up and move down if the
move is permitted. The cost is simply the total number of times the operators are
used in arriving at the goal state.
Figure 5.1: Start State for the 8-puzzle problem
We now present the A∗ search algorithm.
1. Create a search graph G consisting solely of the start node S. Put S on a list
called OPEN.
2. Create a list called CLOSED that is initially empty.
3. Loop: if OPEN is empty, exit with failure.
4. Select first node on OPEN, remove form OPEN and put on closed. Call this
node n.
5. If n is the goal node, exit with the solution obtained by tracing a path along
the pointers from S to n. (Pointers are established in step 7).
58
Figure 5.2: Goal State for the 8-puzzle problem
6. Expand node n, generating the set M of its successors that are not ancestors
of n. Install these members of n as successors of n in G.
7. Establish a pointer from n to those members of M not already in G. (i.e not
already on either OPEN or CLOSED. Add these members of M to OPEN.
For each member of n, that was already on OPEN or CLOSED, decide
whether or not to redirect its pointer to n. For each member of M already on
CLOSED, decide for each of its descendants in G whether or not to redirect
its pointer.
8. Reorder OPEN using the cost function f which is a mix of knowledge function g and heuristic function h. Reorder in the ascending order of cost.
9. Go to step 3.
The Heart of A∗ : The Heuristic Function
The cost function f is maintained at every node in the search graph. For a node n,
f (n) = g(n) + h(n), where g(n) is the least cost path to n from S0 found so far
and h(n) is a function which satisfies the property that h(n) ≤ h∗ (n) where h∗ (n)
is the actual cost of the optimal path to G from n which is to be found. If g ∗ (n) is
the least cost path from S0 to n, then g and h satisfy the following relations.
g(n) ≥ g ∗ (n)
∗
h(n) ≤ h (n)
(5.1)
(5.2)
For example, in the 8-puzzle problem a possible heuristic function is to let h(n)
be the total number of tiles displaced. Since we know that any path to the goal
configuration has to make a number of moves at least the total number of displaced
tiles, this is a valid heuristic function. A property of A∗ is that if we choose an
admissible heuristic such as the one above the algorithm always terminates finding
the optimal path. Of course, better the heuristic, faster the algorithm. Now, we give
59
our insights on how quantum computing ideas can possibly be applied to the A∗
algorithm.
5.2.2
A Quantum Approach?
We notice that A∗ at its heart, is a graph traversal scheme. We know from the previous chapter that quantum walks can also be used as a graph traversal scheme. It is
worthwhile to look at whether a quantum counterpart to the classical A∗ algorithm
can be designed. There already exist quantum walk algorithms for performing a
multi-dimensional grid search which offer speed-up over their classical counterparts. We believe we can apply these algorithms in the A∗ setting to get a quantum
A∗ which is faster than the classical one.
60
Chapter 6
The Quantum Viterbi
Now we present the quantum Viterbi algorithm developed by us and analyse the
precision and accuracy results on the BNC corpus.
6.1
The Approach
If we look at the trellis of the states on which Viterbi runs, we can say that the
Viterbi algorithm is searching for the ’best’ possible path from the first level of the
trellis to the last. Hence, we could call it a search problem. Classically, we would
have to search each path one after the other and compare their fitness values. Due
to the Markov assumption in the problem, our search is now split into stages. To
make the next step in the path, we still need to search among all possible transitions
from our current position and then choose the best one. The breakthrough quantum
computing brings is the ability to perform computation on many variables simultaneously. For example, in Shor’s algorithm, the routine for finding the period,
applies the Fourier transform on all the states simultaneously. In contrast, classical
period finding algorithms would have to search among the different xa mod n to
find the period.
Hence, a natural approach to a quantum Viterbi would be to try and model
it as a result of an observation over a quantum superposition of the various
paths in the trellis. However, Viterbi is not a random search among all the paths.
There is greater structure to the problem lent by the Markov assumption which
reduces the search over all possible paths to a search over all the possible next
states into which we can transition. So instead of a quantum superposition over all
possible trellis paths, we generate a new quantum superposition of states (possible
transitions) at each level of the trellis. Now, our task is find an operator or a sequence of operators such that their application on a uniform quantum superposition
of the possible transitions from a state will lead to a quantum superposition which
when observed has a very high probability of yielding the desired state.
61
6.1.1
Can Grover be used?
In the Grover algorithm, we see that the Oracle is a fixed operator which has knowledge of the
√ solution state and does not vary across iterations. The Grover search
is an O( N ) time algorithm when we have N states to search among. At each
tag, we spend O(T) time to select one out of the T possible paths ending there
from, the previous stage. So, at each stage of the classical Viterbi trellis,√we spend
O(T2 ). Via the Grover search, we wish to bring this time down to O(T T). But,
in our case, we do not know beforehand which is the element we are searching for
as we want to find the maximum among n numbers. To do this, we need to modify
Grover as used in the quantum Minimum finding algorithm. Using this insight, we
next present the quantum Viterbi algorithm.
6.2
The Algorithm
The classical Viterbi algorithm is first presented again for reference.
6.2.1
The Classical Version
Firstly, given a tagged corpus and a tag-set t1 , t2 , ..., tT of size T , we learn tagwise probabilities of starting the sentence πi ; tag-to-tag transition probabilities
P (tj |ti ); and tag-to-word generation probabilities P (wk |ti ). Then, given a sentence of length w1 , w2 , ..., wL of length L,
1. Initialize a 2-dimensional vector V of size T × (L + 1) to all zeroes
2. Initialize a 2-dimensional vector B of size T × L to null
3. Set V [i][0] to πi ∀ i ∈ {1, ..., T }
4. For k in 1 to L,
For j in 1 to T ,
B[j][k] = argmax P (tj |ti ) ×
i
P (wk |ti ) × V [i][k − 1]
m = B[j][k]
V [j][k] = P (tj |tm )P (wk |tm )V [m][k − 1]
5. In the BNC corpus used by us, all sentences end in punctuations. So, we
assign the corresponding tag to the last word in the sentence. Say, the index
for this tag is p. Then, tagL = p.
6. Now, we use the back-pointers stored in B to find the path that gave us
maximum score and ended in p.
For k in L − 1 to 1, tagk = B[tagk+1 ][k + 1]
62
6.2.2
Quantum exponential searching
This search algorithm[15] receives as input a superposition of N states, of which
say t are marked. It gives as output one of those t states. The steps are:
1. Initialize m = 1 and λ = 56 .
2. Choose j uniformly at random from the whole numbers smaller than m.
3. P
Apply j iterations of Grover’s algorithm starting from initial state |ψ0 i =
√1
i N |ii.
4. Observe the register; Let i be the outcome. If T [i] = x, then the problem is
solved; exit and return i.
√
5. Otherwise, set m to min(λm, N ) and go back to step 2.
6.2.3
The Grover Iteration
[3] shows that the unitary transform G, defined below, efficiently implements what
we called an iteration above. S0 is an operator that inverts the sign of the coefficient
of the |0i state. Similarly, St inverts the sign of coefficients of all marked states. T
is defined by its actions on the states |0i, |1i, ..., |N − 1i as
P −1
(i.j) |ii
T |ji = √1N N
i=0 (−1)
where i.j denotes the bitwise dot product of the two binary strings denoting i and
j. Then the transform G is given by
G = −T S0 T St
Grover considers only the case when N is a power of 2 since the transform T is
well-defined only in this case.
6.2.4
The Quantum Approach to Viterbi
Note that step 4 in 6.2.1 has an inner loop that runs T times and needs to find the
maximum among T quantities each time, leading to the O(T 2 ) component in the
running time on a classical computer. On a quantum computer, the T quantities
to be compared can be prepared together into a superposition of states in log T
time (because we need log T qubits to represent T states) and then, we modify the
Quantum Minimum Algorithm to get a Quantum Maximum Algorithm by changing the < comparison operator to ≥ in 2a. Since the T quantities for a fixed j, k are
in a superposed state, we use an operator that fetches the required values from the
V table and the probability values learnt during the training phase, simultaneously
for all possible i in constant time. Then, the triplets are multiplied together to give
the T quantities, again in constant time. Now, the Quantum Maximum Algorithm
takes O(T 1/2 ) time to find the maximum among the T number of values, hence
giving the reduction in overall running time from O(T 2 L) to O(T 3/2 L)
63
6.3
6.3.1
Experimental Results
Implementation
We implemented a simulation of the quantum algorithm on a classical computer
and assigned part-of-speech tags to the British National Corpus, which has a 61strong tagset available at http://www.natcorp.ox.ac.uk/docs/c5spec.
html. We padded this with 3 dummy tags in order to work with 64 states, i.e., 6qubit quantum registers.
Additionally,
instead of running the Quantum Minimum Algorithm for a time
√
of 22.5 N + 1.4 log2 N , we restricted the number of iteration of step 2 to 10,
thus giving a total running time of the same
√ order (because the Quantum Exponential Searching over N states is an O( N ) operation). The rationale behind this
was that the probability of getting the correct result from Grover search (of which
the Quantum Exponential Search is a generalization) algorithm oscillates with the
number of iterations, rising quickly and peaking periodically. Thus, by performing
a slightly lesser number of iterations, we do not lose out much on precision but save
on execution time. (Note that the simulation of a quantum algorithm on a classical
Turing machine incurs an exponential blow-up in execution time.)
We used smoothing in our implementation where the tag-to-word probability
is boosted by 10−8 for all words. This ensures that even for words not present in
the training corpus, a positive probability value is assigned. Pushing up the probabilities of solely the words absent from the training corpus can end up changing
the tags of other words. To avoid this, the tag-to-word probabilities of all the words
are increased by the same amount regardless of their original value. If there were
no smoothing, the algorithm would end up leaving some words untagged. Due
to smoothing no word is left untagged and hence the overall precision and recall
values become the same.
6.3.2
Results
Although the quantum Viterbi algorithm is probabilistic, the probability of success can be made high by setting the running time of the algorithm appropriately.
Hence, the precision of the algorithm can be brought as close to that of the classical version as needed. For our implementation the classical version yielded a
precision and recall of 0.9289 whereas the quantum counterpart yielded 0.9067 as
the precision and recall.
Tag
nn0
unc
ajc
pun
np0
Classical
0.867388
0.224541
0.892725
1
0.808852
Quantum
0.909962
0.258896
0.897757
1
0.807513
64
Difference
-0.0425745
-0.0343547
-0.00503225
0
0.001339
dt0
vbd
at0
pnp
nn2
dtq
vhz
aj0
vbb
xx0
av0
dps
vm0
vvn
avq
cjc
ord
vhg
cjs
nn1
vbz
vhb
crd
vbn
vvz
pnq
vdd
prp
prf
vvi
vdg
avp
vvg
vvd
pnx
cjt
vhd
pni
vdn
to0
vbg
vbi
ex0
vvb
0.889688
0.999746
0.997748
0.9847
0.910331
0.988764
0.999684
0.902669
0.992438
0.994644
0.859771
0.995861
0.974927
0.877453
0.641234
0.999177
0.984701
0.978126
0.83856
0.930382
0.99572
0.955453
0.937628
1
0.839655
0.983776
1
0.965542
0.997954
0.895492
0.918877
0.736335
0.863298
0.859617
0.945212
0.964409
0.98311
0.881366
0.996154
0.966268
0.982608
0.997867
0.968648
0.590293
0.887663
0.993134
0.989039
0.975611
0.897774
0.975926
0.98396
0.884891
0.973092
0.975089
0.840036
0.974889
0.953286
0.855244
0.61802
0.975847
0.961115
0.953638
0.813751
0.904409
0.96692
0.926358
0.907157
0.967927
0.807522
0.948785
0.96372
0.928909
0.959898
0.854277
0.877193
0.692918
0.816867
0.813175
0.895753
0.914131
0.928726
0.826813
0.941558
0.909248
0.921845
0.928526
0.89689
0.512389
65
0.00202525
0.00661225
0.0087095
0.009089
0.0125575
0.0128385
0.0157243
0.0177777
0.0193463
0.0195548
0.0197355
0.020972
0.0216412
0.0222092
0.0232142
0.0233302
0.0235863
0.0244878
0.0248092
0.0259725
0.0288
0.0290948
0.0304707
0.0320727
0.0321325
0.03499
0.03628
0.0366335
0.0380552
0.0412152
0.0416842
0.0434172
0.046431
0.0464418
0.049459
0.050278
0.054384
0.0545532
0.0545952
0.0570202
0.0607627
0.0693417
0.0717575
0.077904
vhi 0.916013 0.836266
0.0797468
zz0 0.532633 0.444551
0.088082
vdz 0.997071
0.89678
0.100291
ajs 0.878247 0.773294
0.104954
vdb 0.97538
0.85216
0.12322
vhn 0.817375 0.616667
0.200709
itj
0.615165 0.372024
0.243142
vdi 0.926695 0.628504
0.298191
Table 6.1: Tag-wise comparison of precision values obtained by
both the classical and quantum Viterbi algorithms.
Tag
vdg
ajs
xx0
vdz
cjt
dps
pun
vdn
vbd
dtq
crd
at0
vbi
cjc
vbn
prf
nn0
vhg
ajc
vdd
vvi
vbz
ord
vm0
prp
vbg
nn1
vvd
vhd
Classical
0.964209
0.955312
0.958409
0.970937
0.887344
0.984227
1
1
0.989565
0.991827
0.976715
0.961239
0.989855
0.991317
0.990903
0.979257
0.967757
1
0.899988
0.997205
0.923541
0.995352
0.982694
0.985806
0.906497
0.986774
0.906681
0.871606
0.98567
Quantum
0.985294
0.969154
0.96795
0.98
0.894839
0.986229
1
1
0.988928
0.989443
0.972657
0.956836
0.984467
0.985674
0.983238
0.970943
0.959004
0.991071
0.890287
0.9875
0.911903
0.982435
0.969212
0.971792
0.891614
0.971668
0.890365
0.854049
0.967624
66
Difference
-0.0210847
-0.0138413
-0.009541
-0.00906325
-0.00749475
-0.00200175
0
0
0.0006365
0.002385
0.00405825
0.0044035
0.005388
0.00564275
0.00766475
0.00831375
0.008752
0.0089285
0.0097015
0.0097055
0.011638
0.0129175
0.0134827
0.0140138
0.0148828
0.0151065
0.0163158
0.0175568
0.018046
nn2 0.972807 0.954353
0.0184537
pnq 0.991778 0.969166
0.0226122
np0
0.8974
0.874631
0.022769
vhz 0.991969 0.968629
0.0233397
to0 0.962689 0.939272
0.023417
aj0
0.89451
0.870274
0.0242367
dt0 0.941652 0.909601
0.0320515
pnx 0.964999 0.931361
0.0336375
avq 0.865876 0.832125
0.0337505
vvn 0.827202 0.788522
0.0386807
pni 0.887096 0.847107
0.039989
pnp 0.953722 0.912573
0.0411495
zz0 0.308415 0.266807
0.041608
vhi 0.937314 0.889001
0.0483137
ex0 0.971073 0.921361
0.0497125
vvg 0.88181
0.826416
0.0553935
cjs 0.803035
0.74663
0.0564043
vdi 0.943283 0.866551
0.0767322
vvz 0.936522 0.856728
0.0797933
vhb 0.938971 0.855368
0.0836035
av0 0.901366 0.792911
0.108455
vbb 0.995897 0.869538
0.126359
itj
0.780903
0.65
0.130903
avp 0.809851 0.656315
0.153536
unc 0.730885 0.569445
0.161441
vvb 0.736583 0.535853
0.20073
vdb 0.965909
0.6866
0.279309
vhn 0.767851 0.440196
0.327655
Table 6.2: Tag-wise comparison of recall values obtained by both
the classical and quantum Viterbi algorithms.
Tag1
vdi
itj
itj
zz0
ex0
vdb
itj
vhn
Tag2
vdb
av0
vvn
pnp
av0
vdi
nn2
vhd
Classical
0.0696285
0.0927187
0.0349679
0.0383333
0.0264066
0.0246204
0.0149679
0.182625
67
Quantum
0.323111
0.217262
0.125
0.115625
0.0976915
0.0939719
0.0833332
0.25
Difference
-0.253482
-0.124543
-0.0900321
-0.0772917
-0.0712849
-0.0693515
-0.0683653
-0.0673752
vbi
vbb 0.00183934 0.0647824 -0.062943
vvb
nn1
0.261705
0.32404
-0.0623347
vhi
vhb
0.0825578
0.143788 -0.0612307
vbg
nn1
0.0173924
0.078155 -0.0607626
to0
prp
0.0329976 0.0854874 -0.0524897
vdn
vvn
0
0.0508658 -0.0508658
vhn
av0
0
0.05
-0.05
cjt
dt0
0.0344765 0.0779157 -0.0434392
nn0
nn0
0.867388
0.909962 -0.0425745
vdg
nn1
0.0811227
0.122807 -0.0416843
itj
vdd
0
0.0416668 -0.0416668
vhn
at0
0
0.0416668 -0.0416668
vhn
vvn
0
0.0416668 -0.0416668
vvd
vvn
0.0992355
0.137942 -0.0387068
ajs
nn1
0.0174963 0.0561497 -0.0386534
prf
av0 0.00163094 0.0387577 -0.0371267
pnx
dt0
0.0209213 0.0558179 -0.0348965
zz0
at0
0.256993
0.291853 -0.0348605
unc
unc
0.224541
0.258896 -0.0343547
vhd
vhn
0.0159773 0.0497156 -0.0337384
ajs
av0
0.0565788 0.0900432 -0.0334643
itj
at0
0.0687203
0.10119
-0.0324701
pnq
np0 0.00742375 0.0397013 -0.0322776
vbz
pnp 0.00165125 0.0315426 -0.0298913
zz0
np0
0.0877019
0.11672
-0.0290181
avp
prp
0.232996
0.260796 -0.0278002
ajs
aj0
0.0349714 0.0626435 -0.0276721
vdb
vbz
0
0.0263157 -0.0263157
vhb
vhi
0.0433937 0.0693684 -0.0259747
vdd
vbz
0
0.0252422 -0.0252422
vdz
vm0
0
0.0240275 -0.0240275
vdi
vvi 0.00183823 0.0241926 -0.0223543
vdz
vdb
0
0.0217391 -0.0217391
Table 6.3: Tag-to-tag pairwise comparison of confusion values obtained by both the classical and quantum Viterbi algorithms. Listed
above are those pairs for which the quantum algorithm increased
the confusion by atleast 2% w.r.t. to the classical one.
68
6.3.3
Tag-wise Precision and Recall Analysis
For the tags NN0, UNC and AT0 the quantum Viterbi algorithm yielded a higher
precision value. And for the tags VDG, AJS, XX0 and VDZ the quantum algorithm
gives a higher recall. On the other hand, there are also a number of tags for which
the quantum algorithm performs particularly bad. For the tags VDI, ITJ, VHN,
VDB, AJS and VDZ the quantum algorithm gave a significantly lower precision
value. And for the tags VHN, VDB, VVB, AVP, ITJ, AV0, CJS and PNP the recall
is significantly lowered by the quantum algorithm.
The quantum Viterbi is a probabilistic algorithm and does badly in the case of
tags with specific word forms. For example, VDI is the infinitive form of the verb
DO, i.e. ’do’ whereas VDZ is the -s form of verb DO, i.e. does. These are word
forms with specific tags and the classical algorithm yields high accuracy in these
cases. Here, the introduction of randomization by the quantum algorithm ends up
lowering the accuracy significantly. For the tags VDI, VHN, VDB, VDZ, VHI,
VVB, VVI and EX0, the quantum implementation yielded a precision which was
atleast 6% lesser than that given by the classical algorithm.
It is worth noticing that AV0 and AVP, both adverb forms suffered losses of
10 − 15% in recall on using the quantum Viterbi, which suggests that for these,
the probabilistic quantum algorithm for maximum-finding doesn’t do as well as
the deterministic classical version on scores for words tagged AV0 or AVP. One
possible reason is that the values among which maximum is to be determined are
close to each other, in which case a deterministic algorithm will go through but a
probabilistic one has higher chances of failing. This is confirmed by the precision
values being on the lower side (0.73 and 0.85) for these tags in the classical algorithm.
6.3.4
Concluding Remarks
The current implementation of the quantum Viterbi algorithm does just 2% worse
on overall precision than its classical counterpart. We know that the Grover
search
q
N
algorithm gives maximum accuracy when the running time is ∼ π4 M
, where
M is the number of solutions. Here, M = 1 and N = 64, the closest power of
2 to the number of tags (61). The accuracy will increase marginally as we inch
closer to this value of the running time. The larger gain is in the reduction in time
complexity of the algorithm. Of course, this is small when N is of the order of
just 26 . To see an application where such a decrease can have a significant impact
on the overall algorithm, we delve into the problem of Machine Translation among
close languages in the next chapter.
69
Chapter 7
Machine Translation among
Close Languages
7.1
7.1.1
Machine Translation
What is machine translation?
Machine translation (MT) is the translation of text by a computer, with no human
involvement. Pioneered in the 1950s, machine translation can also be referred to
as automated translation, automatic or instant translation. On a basic level, MT
performs simple substitution of words in one natural language for words in another, but that alone usually cannot produce a good translation of a text because
recognition of whole phrases and their closest counterparts in the target language
is needed. Solving this problem with corpus and statistical techniques is a rapidly
growing field that is leading to better translations, handling differences in linguistic
typology, translation of idioms, and the isolation of anomalies
7.1.2
How does machine translation work?
There are two types of machine translation system:
• Rule-based systems use a combination of language and grammar rules plus
dictionaries for common words. Specialist dictionaries are created to focus on certain industries or disciplines. Rule-based systems typically deliver
consistent translations with accurate terminology when trained with specialist dictionaries. The basic approach involves linking the structure of the
input sentence with the structure of the output sentence using a parser and
an analyser for the source language, a generator for the target language, and
a transfer lexicon for the actual translation. Its biggest downfall is that everything must be done explicit: orthographical variation and erroneous input
must be made part of the source language analyser in order to cope with
70
it, and lexical selection rules must be written for all instances of ambiguity.
Adapting to new domains in itself is not that hard, as the core grammar is
the same across domains, and the domain-specific adjustment is limited to
lexical selection adjustment.
• Statistical systems have no knowledge of language rules. Instead they ”learn”
to translate by analysing large amounts of data for each language pair. They
can be trained for specific industries or disciplines using additional data
relevant to the sector needed. Typically statistical systems deliver more
fluent-sounding but less consistent translations. Google Translate and similar statistical translation programs work by detecting patterns in hundreds
of millions of documents that have previously been translated by humans
and making intelligent guesses based on the findings. Generally, the more
human-translated documents available in a given language, the more likely
it is that the translation will be of good quality. SMT’s biggest downfall
includes it being dependent upon huge amounts of parallel texts, its problems with morphology-rich languages (especially with translating into such
languages), and its inability to correct singleton errors.
7.1.3
Advantages of machine translation
Some advantages, owing to which research in this field should be pursued, are:
• When time is a crucial factor, machine translation can save the day. The
software can translate content quickly and provide a quality output to the
user in no time at all.
• The next benefit is that it is comparatively cheap. It might look like an unnecessary investment but in the long run it is a very small cost considering
the return it provides.
• Confidentiality: Giving sensitive data to a translator might be risky while
with machine translation your information is protected.
7.2
Similarity to POS tagging for close languages
Among pairs of close languages such as Hindi and Urdu which almost follow wordfor-word translation, we can treat the words of one language as part-of-speech tags
for the corresponding words of the other and then, simply employ the Viterbi POStagging algorithm to obtain machine translation. Note that here, the number of
states involved in the Viterbi trellis, i.e., T would be of the order of 104 , and hence
an O(T 3/2 L) algorithm will be much more efficient than an O(T 2 L) one. This is
a problem where a quantum version of the POS-tagger can drastically bring down
computing time, if deployed on a quantum computer.
71
7.2.1
The izafat phenomenon
Talking of Hindi-Urdu translation, it is imperative to discuss the phenomenon of
izafat, a feature of Urdu orthography derived from Persian. Most of the time, it
indicates either description or possession, which are explained via examples below:
1. To indicate that the word following the izafat describes the word preceding
it. That is, the second word is being used as an adjective. So, whereas
the normal adjective noun pair is simply adjective + noun, the structure of
the descriptive izafat construct is the other way around: noun + izafat +
adjective. Example: mughal means ’Moghul’, and azam means ’greatest’.
To say ’greatest Moghul’ using the izafat, we would say: mughal-i-azam
2. To express the idea, the word preceding the izafat is possessed by the word
following it. In other words, it does the same thing as ka, ke and ki from
Hindi but in the reverse order. For instance, the word gham (noun) means
’sadness’, and the word dil (noun) means ’heart’. If we wanted to say ’the
hearts sadness’ in regular Urdu, we would put the correct form of ka, ke or
ki in, and say dil ka gham. But if we wanted to say the same thing using an
izafat construction, we would reverse the order of the two nouns, and stick
the izafat between them: gham-i-dil.
Hindi-Urdu translation is then like a POS tagging problem, modulo izafat,
which can be dealt with to some extent post processing.
7.3
Phrase-Book Translation
A phrase book is a collection of ready-made phrases, usually for a foreign language
along with a translation, indexed and often in the form of questions and answers.
To test our modelling of statistical machine translation among close languages as
a part-of-speech problem, we use urdu-english and hindi-english phrasebooks and
build a corpus from the translations for English sentences that are common in both
phrasebooks.
7.4
7.4.1
Experiments and Results
Training corpus
We built a parallel corpus of 54 sentences, containing 237 distinct urdu words,
which act as tags for our Viterbi algorithm. A few examples:
1. urdu: mukhtalif ravaayat aur akaaeed ke log ek saath aate hai
hindi: vibhinn paramparaaon aur dharmon ke log ek saath aate hai
72
2. urdu: bambaari se unka achha hona imkaan nahi hai
hindi: bambaari se unka bhala hona sambhaavit nahin hai
3. urdu: Sadar Bush ne shayad wohi hasil kiya jisme woh sabase zyada dilchaspi
rakhte the
hindi: Rashtrapati Bush ne sambhavtah wahi paaya jisme woh sabse adhik
dilchaspi rakhte the
4. urdu: jab tak hum kaarrawaahi shuru nahi karenge , hamaare shahari jamhooriyat
ki taakat me ummeed khote rahenge
hindi: jab tak hum kaarrawaahi aarambh nahi karenge , hamaare naagrik
loktantra ki shakti me aashaa khote rahenge
5. urdu: hume ilaakaai ta-aavun aur yakajahatee ko mazboot banaane ke amal
ki raaftaar badaana chaahiye
hindi: hume kshetriya sahayog aur ekeekaran ko mazboot banaane ki prakriyaa
ki gati badaana chaahiye
6. urdu: hukoomaton aur bain-ul-akvaamee tanzeemon ko un taaleem policiyon
ki himaayat karna chahiye jinka moassar hona saabit kiya gaya hai
hindi: sarkaaron aur antarraashtriya sangathanon ko un shiksha neetiyon ka
samarthan karna chahiye jinka prabhavi hona siddh kiya gaya hai
7. urdu: ek hoshiyaar nayi takneek chand hafte kabal ek akhbaar me bayaan ki
gayi thi
hindi: ek nayi chatur takneek kuchh saptaah poorv ek samaachaar-patr me
varnit ki gayi thi
8. urdu: isme koi tajzub nahi ki bahut log khud ko anmol samajhte hai
hindi: isme koi aashchary nahi ki kai log khud ko amoolya samajhte hai
9. urdu: khush-amdid
hindi: svagat
10. urdu: ap ka taluq kahan se hai
hindi: ap ka vaasta kaha se hai
11. urdu: subha bakhair
hindi: subh prabhat
12. urdu: kya zara ahistah kehenge
hindi: kripaya thode dhire boliye
73
7.4.2
Issues
Since the corpus is not too dense, we face the following issues:
• There are 54 sentences and 237 tags. Hence, for most tags, the probability
that they can start a sentence, obtained via the usual learning routine is 0.
When we construct a test corpus sentence starting with a word that does not
occur at the beginning of any sentence in the training corpus, the score for
the correct path of tags stays at 0 in the Viterbi algorithm. Hence, we add a
small constant, 0.005 to the start-probability for each tag.
• Since most tags have only one hindi word corresponding to them in training corpus, the tag→word probabilities in many cases turn out to be zeroes,
often leaving just a single non-zero value in the vector where maximum is
to be found. This takes away the possibility for a hindi word to be translated as different urdu ones that might not have all occurred as instances in
the training corpus. Since most words do have a one-to-one mapping and if
found in corpus, mostly come with their correct counterparts, we use a small
smoothing factor of 0.0001 only.
• Since urdu words from training corpus are the tags themselves, the tag→tag
transition probabilities are zero in most pairs. So, if we build sentences
using hindi words from different sentences and ask for a translation, it is
highly likely that their corresponding urdu words would never have been
adjacent to each other in the training corpus. This issue is tackled by adding
a smoothing factor of 0.1 to all the transition probabilities. This factor is
quite large because we wish to account for the less amount of information
contained in the corpus regarding what words can follow a particular word
in the urdu language.
Since the tagset has increased in size from 57 to 237 as compared to the experiments on BNC corpus, we increase the number of iterations in step 2 of the
Quantum Minimum Algorithm from 10 to 20.
7.4.3
Results
For testing purpose, we use a manually constructed corpus of 11 hindi sentences,
containing words occurring in the training data and run the quantum Viterbi. The
inputs and their corresponidng outputs are as follows:
1. hindi: saubhagya
urdu: allah-ka-fazal-ho
2. hindi: ratri me milenge
urdu: bakhair me ek
74
3. hindi: namaste ap ka svagat hai
urdu: mein ap se khush-amdid hay
4. hindi: sone ka moolya seemit nahin hai
urdu: sone ki tanzeemon tajzub nahi hai
5. hindi: hamaare naagrik loktantra ki shakti me aashaa rakhte the
urdu: hamaare bain-ul-akvaamee jamhooriyat ki mukaable me Sweden rakhte
the
6. hindi: sriman ko mera dhanyavad
urdu: sahib ko anmol shukriya
7. hindi: ap ne acchi sehat ke lie ek takneek varnit ki thi
urdu: ap ho ache sehat safr leyae amreeki takneek amal ki thi
8. hindi: ruko mai samajha nahin thode dhire boliye
urdu: roko hain samjha nahi zara the kehenge
9. hindi: pradhanmantri ko prabhavi sangathanon ka samarthan karna chahiye
urdu: vazeer-e-aazam ko sath kitne ka himaayat isme chahiye
10. hindi: mai tum se kaphi ummeed karta hu
urdu: main ap shab kafi tavakko hum hoon
11. hindi: amreeki kaanoon saral nahin hai
urdu: amreeki kaanoon aasaan nahi hai
7.4.4
Analysis
We observe that many words are translated correctly individually but the sentence
as a whole goes wrong because of some incorrect tags. This is a disadvantage of
modelling Machine Translation as POS-tagging using the 1-level Markov Model
as we lose context beyond the next word in the sentence.
Looking at specific examples, we see that ratri me milenge gets translated as
bakhair me ek. The translation goes wrong in the first word itself. This is because
the only instance of ratri (meaning: night) in the training corpus is when subh ratri
(meaning: good night) is translated as shab bakhair where subh corresponds to
bakhair and ratri to shab, i.e., the order gets interchanged. Our algorithm learns
bakhair as the translation for ratri and uses it when run on the test data, yielding
wrong output.
sriman ko mera dhanyavad is translated as sahib ko anmol shukriya instead of
sahib ko mera shukriya because the words ko and mera do not occur adjacent to
each other in training data while ko and anmol do, hence the tag→tag transition
75
probability is higher in the latter case.
ke to safr, aashaa to Sweden, ek to amreeki, etc. are some examples of absurd
translations that we come across. This is due to the fact that the tag→tag transition
probabilities have been shifted by quite a bit due to the smoothing factor of 0.1
and hence, there are paths in the Viterbi trellis that shouldn’t get such high scores
but are being assigned them now. This hints towards the use of another different
learning algorithm for the smoothing factor itself, which is something to be looked
into, in future.
76
Chapter 8
Conclusions
Over the course of the past two semesters, we have come across various intriguing
and novel aspects of both quantum computing and natural language processing. We
have studied why a quantum computer allows us to gain an exponential speed-up
over the classical one in many cases, the reason being its ability to operate over all
states in one quantum step, using the concept of superposition of qubit states. Also,
a recurring feature in our study of various quantum algorithms has been the Fourier
Transform, which basically amounts to finding sub-groups within Abelian groups.
The Grover algorithm is a quantum approach to the search problem which uses
an Oracle that can recognize a solution and uses the Fourier and inverse Fourier
Transforms iteratively to propel the probability of the desired state upwards.
We have also investigated a whole array of classical optimization techniques
and gained an in-depth understanding of their working. The quantum Viterbi algorithm has been thoroughly studied by us and we have implemented the same on
the BNC corpus, achieving satisfactory results, just 2% shy of the classical precision. To show applicability to real-life tasks where a time reduction from O(T 2 )
to O(T 3/2 ) would be significant, we have dealt with the problem of statistical machine translation among close languages, which can be modelled as a POS-tagging
problem with the words of one language behaving as tagset. |T | here would therefore be of the order of thousands.
There are other classical search techniques too wherein ideas can be sought
from the quantum realm. For example, quantum random walks can be used for
the A-star algorithm. These and quantum versions for other classical algorithms
presented in this report, could be investigated further.
77
Chapter 9
Future Work
We have done an extensive literature survey on various classical optimization techniques in this thesis. We have also looked at various quantum computing techniques. We further developed a quantum version of the Viterbi algorithm. There
are numerous other problems to open for study as to how they can be implemented
on a quantum computer more efficiently. If the advent of commercial quantum
computers does occur, then quantum algorithms being developed as such will find
great applicability in all areas where computation is done. Among the other problems we are looking at for quantum counterparts are the A∗ search algorithm and
quantum gradient descent. For the problem A∗ search we are investigating the
work done on quantum walks and their algorithmic applications [14].
Another line of future work is to run simulations of the quantum Viterbi algorithm for machine translation of close languages and analyse the quality of the
results. We have made forays in this area and have presented our results and analysis in this report, but we believe a more extensive analysis of the same can be made
to obtain greater insights into the performance of the algorithm.
78
References
[1] D. Deutsch and R. Jozsa. Rapid solutions of problems by quantum computation. Proceedings of the Royal Society of London A, 1992.
[2] P. Shor. Polynomial-Time Algorithms for Prime Factorization and Discrete
Logarithms on a Quantum Computer. In Proc. 35th Annual ACM Symposium
on Foundations of Computer Science, 1994.
[3] Grover L.K. A fast quantum mechanical algorithm for database search, In
Proc. 28th Annual ACM Symposium on Theory of Computing, STOC-96, page
212, 1996.
[4] J.C.H. Chen. Quantum Computing and Natural Language Processing. Master’s Thesis, Universitát Hamburg, 2002.
[5] J.N. Darroch and D. Ratcliff. Generalized Iterative Scaling for Log-Linear
Models, textitThe Annals of Mathematical Statistics, Volume 43, pages
14701480. 1972.
[6] E.T. Jaynes. Information Theory and Statistical Mechanics. Physics Reviews
106, pages 620630. 1957.
[7] S. Gambs. Quantum Classification. 2008.
[8] S. Clark, B. Coecke, E. Grefenstette, S. Pulman and M. Sadrzadeh. A quantum teleportation inspired algorithm produces sentence meaning from word
meaning and grammatical structure. October, 2013.
[9] A. Berger. The Improved Iterative Scaling Algorithm: A gentle introduction.
December, 1997.
[10] M. Fleischer. Foundations of Swarm Intelligence - From Principles to Practice. 2003.
[11] R. Rosenfeld. A Maximum Entropy Approach to Adaptive Statistical Language Modeling. 1996.
[12] I. Brezina Jr. and Z. Cickova. Solving the Travelling Salesman Problem Using the Ant Colony Optimization, Management Information Systems, Vol.6,
2011.
79
[13] A. Viterbi. Error bounds for convolutional codes and an asymptotically optimal decoding algorithm. IEEE Transactions on Information Theory 13, pages
260-269, 1967.
[14] S. Aaronson and A. Ambanis. Quantum search of spatial regions. Theory of
Computing, pages 200-209, 2005.
[15] M. Boyer, G. Brassard, P. Hoyer and A. Tapp. Tight bounds on quantum
searching. Fortschritte Der Physik, 1998.
[16] C. Durr and P. Hoyer. A quantum algorithm for finding the minimum. http:
//arxiv.org/abs/quant-ph/9607014, 1996.
[17] A. Ambainis. Quantum walks and their algorithmic applications. http://
arxiv.org/abs/quantph/0403120, 2008.
80
Appendix
The BNC Basic (C5) Tagset used for POS tagging
1. AJ0 Adjective (general or positive) (e.g. good, old, beautiful)
2. AJC Comparative adjective (e.g. better, older)
3. AJS Superlative adjective (e.g. best, oldest)
4. AT0 Article (e.g. the, a, an, no) [N.B. no is included among articles, which
are defined here as determiner words which typically begin a noun phrase,
but which cannot occur as the head of a noun phrase.]
5. AV0 General adverb: an adverb not subclassified as AVP or AVQ (see below) (e.g. often, well, longer (adv.), furthest. [Note that adverbs, unlike
adjectives, are not tagged as positive, comparative, or superlative.This is because of the relative rarity of comparative and superlative adverbs.]
6. AVP Adverb particle (e.g. up, off, out) [N.B. AVP is used for such ”prepositional adverbs”, whether or not they are used idiomatically in a phrasal verb:
e.g. in ’Come out here’ and ’I can’t hold out any longer’, the same AVP tag
is used for out.
7. AVQ Wh-adverb (e.g. when, where, how, why, wherever) [The same tag is
used, whether the word occurs in interrogative or relative use.]
8. CJC Coordinating conjunction (e.g. and, or, but)
9. CJS Subordinating conjunction (e.g. although, when)
10. CJT The subordinating conjunction that [N.B. that is tagged CJT when it
introduces not only a nominal clause, but also a relative clause, as in ’the day
that follows Christmas’. Some theories treat that here as a relative pronoun,
whereas others treat it as a conjunction.We have adopted the latter analysis.]
11. CRD Cardinal number (e.g. one, 3, fifty-five, 3609)
12. DPS Possessive determiner (e.g. your, their, his)
81
13. DT0 General determiner: i.e. a determiner which is not a DTQ. [Here a
determiner is defined as a word which typically occurs either as the first
word in a noun phrase, or as the head of a noun phrase. E.g. This is tagged
DT0 both in ’This is my house’ and in ’This house is mine’.]
14. DTQ Wh-determiner (e.g. which, what, whose, whichever) [The category
of determiner here is defined as for DT0 above. These words are tagged as
wh-determiners whether they occur in interrogative use or in relative use.]
15. EX0 Existential there, i.e. there occurring in the there is ... or there are ...
construction
16. ITJ Interjection or other isolate (e.g. oh, yes, mhm, wow)
17. NN0 Common noun, neutral for number (e.g. aircraft, data, committee)
[N.B. Singular collective nouns such as committee and team are tagged NN0,
on the grounds that they are capable of taking singular or plural agreement
with the following verb: e.g. ’The committee disagrees/disagree’.]
18. NN1 Singular common noun (e.g. pencil, goose, time, revelation)
19. NN2 Plural common noun (e.g. pencils, geese, times, revelations)
20. NP0 Proper noun (e.g. London, Michael, Mars, IBM) [N.B. the distinction
between singular and plural proper nouns is not indicated in the tagset, plural
proper nouns being a comparative rarity.]
21. ORD Ordinal numeral (e.g. first, sixth, 77th, last) . [N.B. The ORD tag is
used whether these words are used in a nominal or in an adverbial role. Next
and last, as ”general ordinals”, are also assigned to this category.]
22. PNI Indefinite pronoun (e.g. none, everything, one [as pronoun], nobody)
[N.B. This tag applies to words which always function as [heads of] noun
phrases. Words like some and these, which can also occur before a noun
head in an article-like function, are tagged as determiners (see DT0 and AT0
above).]
23. PNP Personal pronoun (e.g. I, you, them, ours) [Note that possessive pronouns like ours and theirs are tagged as personal pronouns.]
24. PNQ Wh-pronoun (e.g. who, whoever, whom) [N.B. These words are tagged
as wh-pronouns whether they occur in interrogative or in relative use.]
25. PNX Reflexive pronoun (e.g. myself, yourself, itself, ourselves)
26. POS The possessive or genitive marker ’s or ’ (e.g. for ’Peter’s or somebody
else’s’, the sequence of tags is: NP0 POS CJC PNI AV0 POS)
82
27. PRF The preposition of. Because of its frequency and its almost exclusively
postnominal function, of is assigned a special tag of its own.
28. PRP Preposition (except for of) (e.g. about, at, in, on, on behalf of, with)
29. PUL Punctuation: left bracket - i.e. ( or [
30. PUN Punctuation: general separating mark - i.e. . , ! , : ; - or ?
31. PUQ Punctuation: quotation mark - i.e. ’ or ”
32. PUR Punctuation: right bracket - i.e. ) or ]
33. TO0 Infinitive marker to
34. UNC Unclassified items which are not appropriately classified as items of the
English lexicon. [Items tagged UNC include foreign (non-English) words,
special typographical symbols, formulae, and (in spoken language) hesitation fillers such as er and erm.]
35. VBB The present tense forms of the verb BE, except for is, ’s: i.e. am, are,
’m, ’re and be [subjunctive or imperative]
36. VBD The past tense forms of the verb BE: was and were
37. VBG The -ing form of the verb BE: being
38. VBI The infinitive form of the verb BE: be
39. VBN The past participle form of the verb BE: been
40. VBZ The -s form of the verb BE: is, ’s
41. VDB The finite base form of the verb BE: do
42. VDD The past tense form of the verb DO: did
43. VDG The -ing form of the verb DO: doing
44. VDI The infinitive form of the verb DO: do
45. VDN The past participle form of the verb DO: done
46. VDZ The -s form of the verb DO: does, ’s
47. VHB The finite base form of the verb HAVE: have, ’ve
48. VHD The past tense form of the verb HAVE: had, ’d
49. VHG The -ing form of the verb HAVE: having
50. VHI The infinitive form of the verb HAVE: have
83
51. VHN The past participle form of the verb HAVE: had
52. VHZ The -s form of the verb HAVE: has, ’s
53. VM0 Modal auxiliary verb (e.g. will, would, can, could, ’ll, ’d)
54. VVB The finite base form of lexical verbs (e.g. forget, send, live, return)
[Including the imperative and present subjunctive]
55. VVD The past tense form of lexical verbs (e.g. forgot, sent, lived, returned)
56. VVG The -ing form of lexical verbs (e.g. forgetting, sending, living, returning)
57. VVI The infinitive form of lexical verbs (e.g. forget, send, live, return)
58. VVN The past participle form of lexical verbs (e.g. forgotten, sent, lived,
returned)
59. VVZ The -s form of lexical verbs (e.g. forgets, sends, lives, returns)
60. XX0 The negative particle not or n’t
61. ZZ0 Alphabetical symbols (e.g. A, a, B, b, c, d)
84