Optical Computing
Optical Computing
Damien Woods a
a Department of Computer Science and Artificial Intelligence
University of Seville, Spain
Finland
Abstract
We consider optical computers that encode data using images and compute by transforming such
images. We give an overview of a number of such optical computing architectures, including
descriptions of the type of hardware commonly used in optical computing, as well as some
of the computational efficiencies of optical devices. We go on to discuss optical computing
from the point of view of computational complexity theory, with the aim of putting some old,
and some very recent, results in context. Finally, we focus on a particular optical model of
computation called the continuous space machine. We describe some results for this model
including characterisations in terms of well-known complexity classes.
Key words:
PACS:
1. Introduction
In this survey we consider optical computers that encode data using images and com-
pute by transforming such images. We try to bring together, and thus give context to, a
large range of architectures and algorithms that come under the term optical computing.
⋆ DW acknowledges support from Junta de Andalucı́a grant TIC-581. TN acknowledges support from
the European Commission Framework Programme 6 through a Marie Curie Intra-European Fellowship.
Email addresses: [email protected] (Damien Woods), [email protected] (Thomas J. Naughton).
URLs: http://www.cs.ucc.ie/∼dw5 (Damien Woods), http://www.cs.nuim.ie/∼tnaughton/
(Thomas J. Naughton).
2
2.1. Optical pattern recognition
Arguably, optical computing began with the design and implementation of optical
systems to arbitrarily modify the complex valued spatial frequencies of an image. This
concept, spatial filtering [67,86,89], is at the root of optics’ ability to perform efficient
convolution and correlation operations. In a basic pattern recognition application, spatial
filtering is called matched filtering, where a filter is chosen that matches (i.e. conjugates)
the spectrum of the sought object. Employing this operation for advanced pattern recog-
nition [12,18,43,47], effort focused on achieving systems invariant to scaling, rotation,
out-of-plane rotation, deformation, and signal dependent noise, while retaining the exist-
ing invariance to translating, adding noise to, and obscuring parts of the input. Effort also
went into injecting nonlinearities into these inherently linear systems to achieve wider
functionality [46]. Improvements were made to the fundamental limitations of the basic
matched filter design, most notably the joint transform correlator architecture [92].
Optical correlators that use incoherent sources of illumination (both spatially and tem-
porally) rather than lasers are also possible [11,71]. The simplest incoherent correlator
would have the same basic spatial filtering architecture as that used for matched fil-
tering. While coherent systems in principle are more capable than incoherent systems
(principally because the former naturally represents complex functions while the latter
naturally represents real functions), incoherent systems require less precise positioning
when it comes to system construction and are less susceptible to noise.
Trade-offs between space and time were proposed and demonstrated. These included
time integrating correlators [90] (architecturally simpler linear time variants of the con-
stant time space integrating matched filter mentioned already) and systolic architec-
tures [21]. In addition to pattern recognition, a common application for these classes of
architectures was numerical calculation.
3
2.3. Digital optical computing
The next major advances came in the form of optical equivalents of digital comput-
ers [44]. The flexibility of digital systems over analog systems in general was a major
factor behind the interest in this form of optical computation [78]. Specific drawbacks of
the analog computing paradigm in optics that this new paradigm addressed included no
perceived ability to perform general purpose computation, accumulation of noise from
one computation step to another, and systematic errors introduced by imperfect analog
components. The aim was to design digital optical computers that followed the same
principles as conventional electronic processors but which could perform many binary
operations in parallel. These systems were designed from logic gates using nonlinear op-
tical elements: semitransparent materials whose transmitted intensity has a nonlinear
dependence on the input intensity.
Digital optical computing was also proposed as an application of architectures designed
originally for image-based processing, for example logic effected through symbolic substi-
tution [10]. At the confluence of computing and communication, optical techniques were
proposed for the routing of signals in long-haul networks [29,101].
The three most basic hardware components of an optical information processing system
are a source, a modulator, and a detector. A source generates the light, a modulator
multiplies the light by a (usually, spatially varying) function, and a detector senses the
resulting light. These and others are introduced in this section.
3.1. Sources
Lasers are a common source of illumination because at some levels they are math-
ematically simpler to understand, but incoherent sources such as light-emitting diodes
are also used frequently for increased tolerance to noise and when nonnegative functions
are sufficient for the computation. Usually, the source is monochromatic to avoid the
problem of colour dispersion as the light passes through refracting optical components,
unless this dispersion is itself the basis for the computation.
4
other side of the SLM. A beam splitter then allows one to read out this spatially-varying
reflectance pattern. The liquid-crystal light valve [45] is one instance of this class. Other
classes of SLMs such as liquid-crystal display panels and acousto-optic modulators allow
one to dynamically alter the pattern using electronics. It is possible for a single device
(such as an electronically programmed array of individual sources) to act as both source
and modulator.
Optical signals can be regarded as having both an amplitude and phase. However,
detectors will measure only the square of the amplitude of the signal (referred to as its
intensity). This phenomenon is known as Nature’s detector square law and applies to
detectors from photographic film to digital cameras to the human eye. Detectors that
obey this law are referred to as square-law detectors. This law is evident in many physical
theories of light. In quantum theory, the measurement of a complex probability function
is formalised as a projection onto the set of real numbers through a squaring operation.
Square-law detectors need to be augmented with a interferometric or holographic ar-
rangement to measure both amplitude and phase rather than intensity [13], or need to
be used for multiple captures in different domains to heuristically infer the phase.
Since it squares the absolute value of a complex function, this square law can be
used for some useful computation (for example, in the joint transform correlator [92]).
Detectors most commonly used include high range point (single pixel) detectors such as
photodiodes, highly sensitive photon detectors such as photomultiplier tubes, and 1D
and 2D array detectors such as CCD- or CMOS-digital cameras. Intensity values outside
the range of a detector (outside the lowest and highest intensities that the detector
can record) are thresholded accordingly. The integration time of some detectors can be
adjusted to sum all of the light intensity falling on them over a period of time. Other
detectors can have quite large light sensitive areas and can sum all of the light intensity
falling in a region of space.
Lenses can be used to effect high fan-in and fan-out interconnections, to rescale images
linearly in either one or two dimensions, and for taking Fourier transforms. In fact, a co-
herent optical wavefront naturally evolves into its Fresnel transform, and subsequently
into its Fourier transform at infinity, and the lens simply images those frequency compo-
nents at a finite fixed distance.
A mirror changes the direction of the wavefront and simultaneously reflects it along
some axis. A phase conjugate mirror [25] returns an image along the same path at which
it approached the mirror.
Prisms can be used to for in-plane flipping (mirror image), in-plane rotations, and out-
of-plane tilting. A prism or diffraction grating can be used to separate by wavelength the
components of a multi-wavelength optical channel. For optical fiber communications ap-
plications, more practical (robust, economical, and scalable) alternatives exist to achieve
the same effect [101].
5
Polarisation is an important property of wavefronts, in particular in coherent optical
computing, and is the basis for how liquid crystal displays work. At each point, an
optical wavefront has an independent polarisation value dependent on the angle, in the
range [0, 2π), of its electrical field. This can be independent of its successor (in the case
of randomly polarised wavefronts), or dependent (as in the case of linear polarisation),
or dependent and time varying (as in the case of circular or elliptical polarisation).
Mathematically, a polarisation state, and the transition from one polarisation state to
another, can be described using the Mueller calculus or the Jones calculus.
Photons have properties such as phase, polarisation, and quantum state that can be
used for computation. For example, quantum computers using linear optical elements
(such as mirrors, polarisers, beam splitters, and phase shifters) have been proposed and
demonstrated [50].
As optical pathways can cross in free space without measurable effect on the infor-
mation in either channel, high interconnection densities are possible with optics [20].
6
Architectures with highly parallel many-to-many interconnections between parallel sur-
faces have already been proposed for common tasks such as sorting [7]. Currently, intra-
chip, inter-chip, and inter-board connections are being investigated for manufacturing
feasibility [59].
Electrical wires suffer from induced noise and heat, which increases dramatically when-
ever wires are made thinner or placed closer together, or whenever the data throughput
is increased [59]. As a direct consequence of their resistance-free pathways and noise-
reduced environments, optical systems have the potential to generate less waste heat and
so consume less energy per computation step than electronic systems [14]. This has been
demonstrated experimentally with general-purpose digital optical processors [38].
There has been a lot of effort put into designing optical computers to emulate conven-
tional microprocessors (digital optical computing), and to image processing over contin-
uous wavefronts (analog optical computing and pattern recognition). Numerous physical
implementations of the latter class exist, and example applications include fast pattern
recognition and matrix-vector algebra [35,90]. There have been much resources devoted
to designs, implementations and algorithms for such optical information processing ar-
chitectures (for example see [4,15,29,35,52,55,57,62,77,90,101,27] and their references).
However the computational complexity theory of optical computers (that is, finding
lower and upper bounds on computational power in terms of known complexity classes)
has received relatively little attention when compared with other nature-insired com-
puting paradigms. Some authors have even complained about the lack of suitable mod-
els [29,55]. Many other areas of natural computing (e.g. [41,2,54,100,82,37,70,60,61]) have
not suffered from this problem. Despite this, we review a number of algorithmically orien-
tated results related to optical computing. We then go on to suggest classes of problems
where optical computers might be usefully applied.
Reif and Tyagi [77] study two optically inspired models. One model is a 3D VLSI model
augmented with a 2D discrete Fourier transform (DFT) primitive and parallel optical
interconnections. The other is a DFT circuit with operations (multiplication, addition,
comparison of two inputs, DFT) that compute over an ordered ring. Time complexity
is defined for both models as number of (parallel) steps. For the first model, volume
complexity is defined as the volume of the smallest convex box enclosing an instance of
the model. For the DFT circuit, size is defined as the number of edges plus gates. Constant
time, polynomial size/volume, algorithms for a number of problems are reported including
matrix multiplication, sorting and string matching [77]. These interesting results are
built upon the ability of their models to compute the 2D DFT in one step. The authors
suggest that the algorithm designer and optical computing architecture communities
should identify other primitive optical operations, besides the DFT, that might result
in efficient parallel algorithms. Barakat and Reif [6], and Tyagi and Reif [76] have also
shown lower bounds on the optical VLSI model.
7
Reif, Tygar and Yoshida [75] examined the computational complexity of ray tracing
problems. In such problems we are concerned about the geometry of an optical system
where diffraction is ignored and we wish to predict the position of light rays after passing
through some system of mirrors and lenses. They gave undecidability and PSPACE hard-
ness results, which gives an indication of the power of these systems as computational
models.
Feitelson [29] gives a call to theoretical computer scientists to apply their knowledge
and techniques to optical computing. He then goes on to generalise the concurrent read,
concurrent write parallel random access machine, by augmenting it with two optically
inspired operations. The first is the ability to write the same piece of data to many global
memory locations at once. Secondly, if many values are concurrently written to a single
memory location then a summation of those values is computed in a single timestep.
Essentially Feitelson is using ‘unbounded fan-in with summation’ and ‘unbounded fan-
out’. His architecture mixes a well known discrete model with some optical capabilities.
A symbolic substitution model of computation has been proposed by Huang and Bren-
ner, and a proof sketched of its universality [10]. This model of digital computation oper-
ates over discrete binary images and derives its efficiency by performing logical operations
on each pixel in the image in parallel. It has the functionality to copy, invert, and shift
laterally individual images, and OR and AND pairs of images. Suggested techniques for
its optical implementation are outlined.
In computer science there are two famous classes of problems called P and NP [68]. P
contains those problems that are solvable in polynomial time on a standard sequential
computer, while NP is the class of problems that are solvable in polynomial time on a
nondeterministic computer. NP contains P, and it is widely conjectured that they are not
equal. A direct consequence of this conjecture is that there are (NP-hard) problems for
which we strongly believe there is no polynomial time algorithm on a standard sequential
computer.
It is known that it is possible to solve any NP (and even any PSPACE) problem in
polynomial time on optical computers, albeit with exponential use of some other, space-
like, resources [97,93,95]. These results were shown on the CSM, a general model of a
wide range of optical computers. The lower bound results were shown by generating
appropriate Boolean masks, of exponential size, and manipulating the masks via parallel
multiplications and additions to simulate space bounded Turing machines in a time-
efficient way. The model was designed on the one hand to be close to the realities of
optical computing, and on the other hand to be relatively straightforward to analyse from
the point of view of computational complexity theory (e.g. see Section 6). In Section 9.1
we discuss the computational abilities of this computational model.
Since these general results, there have been a number of specific examples of optical
systems (with exponential resource usage) for NP-hard problems.
Shaked et al. [79–81] design an optical system for solving the NP-hard travelling sales-
man problem in polynomial time. Basically they use an optical matrix-vector multiplier
to generate the (exponentially large) matrix of all possible tours, then they multiply this
tour matrix by the vector of intercity weights, and finally the lowest value in the resulting
vector corresponds to the shortest tour. Interestingly, they give both optical experiments
and simulations. They note that solving travelling salesman problems (or Hamiltonian
path problems) with more than 15 nodes is problematic. However they argue that for less
nodes (e.g. 5) their system works in real-time, which is faster than digital-electronic ar-
8
chitectures. Problems with such bounds on input size (i.e. constant) lie in the class NC1 ,
and moreover in AC0 . As argued below, perhaps this suggests that the optical comput-
ing community should be focusing on problems where optics excels over digital-electronic
architectures, such as problems in P or NC, rather than NP-hard problems.
Dolev and Fitoussi [26] give optical algorithms that make use of (exponentially large)
masks to solve a number of NP-hard problems. Oltean [66], and Haist and Osten [39],
give architectures for Hamiltonian path, and travelling salesman problem, respectively,
via light travelling through optical cables. As is to be expected, both suffer from expo-
nential resource use. The paper by MacKenzie and Ramachandran [56] is an example of
algorithmic work, and lower bounds, on dynamically reconfigurable optical networks.
9
NC, where optical architectures can be shown to excel. Obvious examples for which this
is already known are matrix-vector multiplication (which lies in NC2 ), or Boolean matrix
multiplication (which is in NC1 ). Another example is the NC1 unordered search prob-
lem [99,98]. Another closely related idea is to exploit the potential unbounded fan-in
of optics to compute problems in the AC, and TC, (parallel) circuit classes. These are
defined similarly to NC circuits except we allow unbounded fan-in gates, and threshold
gates, respectively. The results in the above mentioned paper of Reif and Tyagi [77], and
Caulfield’s observation on the benefits of unbounded fan-in [16], can be interpreted as
exploiting this important and efficient aspect of optics.
For the remainder of this paper we focus on an optical model of computation called the
CSM. The model was originally proposed by Naughton [63,64]. The CSM is inspired by
analog Fourier optical computing architectures, specifically pattern recognition and ma-
trix algebra processors [35,62]. For example, these architectures have the ability to do unit
time Fourier transformation using coherent (laser) light and lenses. The CSM computes
in discrete timesteps over a number of two-dimensional images of fixed size and arbitrary
spatial resolution. The data and program are stored as images. The (constant time) oper-
ations on images include Fourier transformation, multiplication, addition, thresholding,
copying and scaling. The model is designed to capture much of the important features
of optical computers, while at the same time be amenable to analysis from a computer
theory point of view. Towards these goals we give an overview of how the model relates
to optics as well as giving a number of computational complexity results for the model.
Section 6.1 begins by defining the model. We analyse the model in terms of seven
complexity measures inspired by real-world resources, these are described in Section 6.2.
In Section 6.3 we discuss possible optical implementations for the model. We then go
on to give example algorithms and datastructures in Section 7. The CSM definition is
rather general, and so in Section 8 we define a more restricted model called the C2 -
CSM. Compared to the CSM, the C2 -CSM is somewhat closer to optical computing as
it happens in the laboratory. Finally, in Section 9 we show the power and limitations
of optical computing, as embodied by the C2 -CSM, in terms computational complexity
theory. Optical information processing is a highly parallel form of computing and we
make this intuition more concrete by relating the C2 -CSM to parallel complexity theory
by characterising the parallel complexity class NC. For example, this shows the kind of
worst case resource usage one would expect when applying CSM algorithms to problems
that are known to be suited to parallel solutions.
We begin this section by describing the CSM model in its most general setting, this
brief overview is not intended to be complete and more details are to be found in [93].
A complex-valued image (or simply, image) is a function f : [0, 1) × [0, 1) → C, where
[0, 1) is the half-open real unit interval. We let I denote the set of complex-valued images.
Let N+ = {1, 2, 3, . . .}, N = N+ ∪ {0}, and for a given CSM M let N be a countable set
of images that encode M ’s addresses. An address is an element of N × N. Additionally,
10
for a given M there is an address encoding function E : N → N such that E is Turing
machine decidable, under some reasonable representation of images as words.
11
h(i1 ;i2 ) : replace image at i2 with horizontal 1D Fourier transform of i1 .
· (i1 ,i2 ;i3 ) : pointwise multiply the two images at i1 and i2 . Store result at i3 .
+(i1 ,i2 ;i3 ) : pointwise addition of the two images at i1 and i2 . Store result at i3 .
ρ(i1 ,zl ,zu ;i2 ) : filter the image at i1 by amplitude using zl and zu as lower and upper
amplitude threshold images, respectively. Place result at i2 .
[ξ1 , ξ2 , η1 , η2 ] ← [ξ1 , ξ2 , η1 , η2 ] : copy the rectangle of images whose bottom left-hand
′ ′ ′ ′
η
i
ξ ξ+3
Fig. 2. Illustration of the instruction i ← [ξ, ξ + 3, η, η] that copies four images to a single image that is
denoted i.
Let S : I × (N × N) → I, where S(f (x, y), (Φ, Ψ)) is a raster image, with ΦΨ constant-
valued pixels arranged in Φ columns and Ψ rows, that approximates f (x, y). If we choose
a reasonable and realistic S then the details of S are not important.
12
One can think of spatialRes as a measure of the number of pixels needed during a
computation. In optical image processing terms, and given the fixed size of our images,
spatialRes corresponds to the space-bandwidth product of a detector or SLM.
Definition 6 The space complexity of a CSM M is the product of the grid, spatialRes,
dyRange, amplRes, phaseRes and freq complexities of M .
In this section, we outline how some of the elementary operations of the CSM could
be carried out physically. We do not intend to specify the definitive realisation of any of
the operations, but simply convince the reader that the model’s operations have physical
interpretations. Furthermore, although we concentrate on implementations employing
visible light (optical frequencies detectable to the human eye) the CSM definition does
not preclude employing other portion(s) of the electromagnetic spectrum.
A complex-valued image could be represented physically by a spatially coherent optical
wavefront. Spatially coherent illumination (light of a single wavelength and emitted with
the same phase angle) can be produced by a laser. A SLM could be used to encode the
image onto the expanded and collimated laser beam. One could write to a SLM offline
(expose photographic film, or laser print or relief etch a transparency) or online (in the
case of a liquid-crystal display [102,62,91] or holographic material [24,74]). The functions
h and v could be effected using two convex cylindrical lenses, oriented horizontally and
vertically, respectively [90,35,62,34].
A coherent optical wavefront will naturally evolve into its own Fourier spectrum as
it propagates to infinity. What we do with a convex lens is simply image, at a finite
distance, this spectrum. This finite distance is called the focal length of the lens. The
constant θ used in the definitions of h and v could be effected using Fourier spectrum
size reduction techniques [90,35] such as varying the focal length of the lens, varying the
separation of the lens and SLM, employing cascaded Fourier transformation, increasing
13
the dimensions/reducing the spatial resolution of the SLM, or using light with a shorter
wavelength.
The function ∗ could be implemented using a phase conjugate mirror [25]. The func-
tion · could be realised by placing a SLM encoding an image f in the path of a wavefront
encoding another image g [90,35,89]. The wavefront immediately behind the SLM would
then be ·(f, g). The function + describes the superposition of two optical wavefronts.
This could be achieved using a 50:50 beam splitter [90,25,92]. The function ρ could be
implemented using an electronic camera or a liquid-crystal light valve [91]. The parame-
ters zl and zu would then be physical characteristics of the particular camera/light valve
used. zl corresponds to the minimum intensity value that the device responds to, known
as the dark current signal, and zu corresponds to the maximum intensity (the saturation
level).
A note will be made about the possibility of automating these operations. If suitable
SLMs can be prepared with the appropriate 2D pattern(s), each of the operations h, v, ∗, ·,
and + could be effected autonomously and without user intervention using appropriately
positioned lenses and free space propagation. The time to effect these operations would
be the sum of the flight time of the image (distance divided by velocity of light) and
the response time of the analog 2D detector; both of which are constants independent
of the size or resolution of the images if an appropriate 2D detector is chosen. Examples
of appropriate detectors would be holographic material [24,74] and a liquid-crystal light
valve with a continuous (not pixellated) area [91]. Since these analog detectors are also
optically-addressed SLMs, we can very easily arrange for the output of one function to act
as the input to another, again in constant time independent of the size or resolution of the
image. A set of angled mirrors will allow the optical image to be fed back to the first SLM
in the sequence, also in constant time. It is not known, however, if ρ can be carried out
completely autonomously for arbitrary parameters. Setting arbitrary parameters might
fundamentally require offline user intervention (adjusting the gain of the camera, and so
on), but at least for a small range of values this can be simulated online using a pair of
liquid-crystal intensity filters.
We have outlined some optics principles that could be employed to implement the op-
erations of the model. The simplicity of the implementations hides some imperfections in
our suggested realisations. For example, the implementation of the + operation outlined
above results in an output image that has been unnecessarily multiplied by the constant
factor 0.5 due to the operation of the beam splitter. Also, in our suggested technique,
the output of the ρ function is squared unnecessarily. However, each of these effects can
be compensated for with a more elaborate optical setup and/or at the algorithm design
stage.
A more important issue concerns the quantum nature of light. According to our cur-
rent understanding, light exists as individual packets called photons. As such, in order
to physically realise the CSM one would have to modify it such that images would have
discrete, instead of continuous, amplitudes. The atomic operations outlined above, in
particular the Fourier transform, are not affected by the restriction to quantised ampli-
tudes, as the many experiments with electron interference patterns indicate. We would
still assume, however, that in the physical world space is continuous.
A final issue concerns how a theoretically infinite Fourier spectrum could be represented
by an image (or encoded by a SLM) of finite extent. This difficulty is addressed with the
freq complexity measure [98].
14
7. Example CSM datastructures and algorithms
There are many ways to represent data as images and interesting new algorithms
sometimes depend on a new data representation. Data representations should be in some
sense reasonable, for example it is unreasonable that the input to an algorithm could (non-
uniformly) encode solutions to NP-hard or even undecidable problems. From Section 8.1,
the CSM address encoding function gives the programmer room to be creative, so long
as the representation is logspace computable (assuming a reasonable representation of
images as words).
Here we mention some data representations that are commonly used. Figures 3(a)
and 3(b) are the binary symbol image representations of 1 and 0 respectively. These im-
ages have an everywhere constant value of 1 and 0 respectively, and both have spatialRes
of 1. The row and column image representations of the word 1011 are respectively given
in Figures 3(c) and 3(d). These row and column images both have spatialRes of 4. In
the matrix image representation in Figure 3(e), the first matrix element is represented at
the top left corner and elements are ordered in the usual matrix way. This 3 × 4 matrix
image has spatialRes of 12. Finally the binary stack image representation, which has
exponential spatialRes of 16, is given in Figure 3(f).
Figure 2 shows how we might form a list image by copying four images to one in a single
timestep. All of the above mentioned images have dyRange, amplRes and phaseRes
of 1.
Another useful representation is where the value of a pixel directly encodes a number,
in this case dyRange becomes crucial. We can also encode values as phase values, and
naturally phaseRes becomes a useful measure of the resources needed to store such
values.
Here we give an example CSM algorithm (taken from [95]) that makes use of the data
representations described above. The algorithm squares a n × n matrix in O(log n) time
and O(n3 ) spatialRes (number of pixels), while all other CSM resources are constant.
Proof. (Sketch) In this proof the matrix and its matrix image representation (see Fig-
ure 3(e)) are both denoted A. We begin with some precomputation, then one parallel
pointwise multiplication step, followed by log n additions to complete the algorithm.
We generate the matrix image A1 that consists of n vertically juxtaposed copies of
A. This is computed by placing one copy of A above the other, scaling to one image,
15
and repeating to give a total of log n iterations. The image A1 is constructed in time
O(log n), grid O(1) and spatialRes O(n3 ).
Next we transpose A to the column image A2 . The first n elements of A2 are row 1 of
A, the second n elements of A2 are row 2 of A, etc. This is computed in time O(log n),
grid O(1) and spatialRes O(n2 ) as follows.
Let A′ = A and i = n. We horizontally split A′ into a left image A′L and a right
image A′R . Then A′L is pointwise multiplied (or masked) by the column image that
represents (10)i , in time O(1). Similarly A′R is pointwise multiplied (or masked) by the
column image that represents (01)i . The masked images are added. The resulting image
has half the number of columns as A′ and double the number of rows, and for example:
row 1 consists of the first half of the elements of row 1 of A′ and row 2 consists of the
latter half of the elements of row 1 of A′ . We call the result A′ and we double the value
of i. We repeat the process to give a total of log n iterations. After these iterations the
resulting column image is denoted A2 .
We pointwise multiply A1 and A2 to give A3 in time O(1), grid O(1) and spatialRes O(n3 ).
To facilitate a straightforward addition we first transpose A3 in the following way:
A3 is vertically split into a bottom and a top image, the top image is placed to the
left of the bottom and the two are scaled to a single image, this splitting and scaling is
repeated to give a total of log n iterations and we call the result A4 . Then to perform
the addition, we vertically split A4 into a bottom and a top image. The top image is
pointwise added to the bottom image and the result is thresholded between 0 and 1.
This splitting, adding and thresholding is repeated a total of log n iterations to create
A5 . We ‘reverse’ the transposition that created A4 : image A5 is horizontally split into a
left and a right image, the left image is placed above the right and the two are scaled
to a single image, this splitting and scaling is repeated a total of log n iterations to give
A2 . 2
The algorithm highlights a few points of interest about the CSM. The CSM has quite
a number of space-like resources, and it is possible to have trade-offs between them. For
example in the algorithm above, if we allow grid to increase from O(1) to O(n) then
the spatialRes can be reduced from O(n3 ) to O(n2 ). In terms of optical architectures
modelled by the CSM this phenomenon could be potentially very useful as certain re-
sources may well be more economically viable than others. The algorithm is used in the
proof that that polynomial time CSMs (and C2 -CSMs, see below) compute problems
that are in the PSPACE class of languages. PSPACE includes the famous NP class. Such
computational complexity results are discussed further in Section 9 below.
There are a number of existing CSM algorithms, for these we point the reader to the
literature [63–65,93,95,97,98].
8. C2 -CSM
In this section we define the C2 -CSM. One of the motivations for this model is the need
to put reasonable upper bounds on the power of reasonable optical computers. As we’ve
shown elsewhere [96], it turns out that CSMs can very quickly use massive amounts of
resources, and the C2 -CSM definition is an attempt to define a more reasonable model,
especially towards the goal of providing useful upper bounds on its power.
16
8.1. C2 -CSM
Definition 7 (C2 -CSM) A C2 -CSM is a CSM whose computation time is defined for
t ∈ {1, 2, . . . , T (n)} and has the following restrictions:
– For all time t both amplRes and phaseRes have constant value of 2.
– For all time t each of grid, spatialRes and dyRange is 2O(t) and space is rede-
fined to be the product of all complexity measures except time and freq.
– Operations h and v compute the discrete Fourier transform in the horizontal and ver-
tical directions respectively.
– Given some reasonable binary word representation of the set of addresses N , the ad-
dress encoding function E : N → N is decidable by a logspace Turing machine.
Let us discuss these restrictions. The restrictions on amplRes and phaseRes imply
that C2 -CSM images are of the form f : [0, 1) × [0, 1) → {0, ± 21 , ±1, ± 23 , . . .}. We have
replaced the Fourier transform with the discrete Fourier transform [9], this essentially
means that freq is now solely dependent on spatialRes; hence freq is not an interest-
ing complexity measure for C2 -CSMs and we do not analyse C2 -CSMs in terms of freq
complexity [93,96]. Restricting the growth of space is not unique to our model, such
restrictions are to be found elsewhere [33,69,73].
In Section 6.1 we stated that the address encoding function E should be Turing ma-
chine decidable, here we strengthen this condition. At first glance sequential logspace
computability may perhaps seem like a strong restriction, but in fact it is quite weak.
From an optical implementation point of view it should be the case that E is not compli-
cated, otherwise we cannot assume fast addressing. Other (sequential/parallel) models
usually have a very restricted ‘addressing function’: in most cases it is simply the identity
function on N. Without an explicit or implicit restriction on the computational complex-
ity of E, finding non-trivial upper bounds on the power of C2 -CSMs is impossible as E
could encode an arbitrarily complex Turing machine. As a weaker restriction we could
give a specific E. However, this restricts the generality of the model and prohibits the
programmer from developing novel, reasonable, addressing schemes.
As we saw in Section 5, there are number of optical algorithms that use the inherent
parallelism of optics to provide fast solutions to certain problems. An alternative approach
is to ask the following question: How does a given optical model relate to standard se-
quential and parallel models? Establishing a relationship with computational complexity
theory, by describing both upper and lower bounds on the model, gives immediate access
to a large collection of useful algorithms and proof techniques.
The parallel computation thesis [31,23,49,87,69] states that parallel time (polynomi-
ally) corresponds to sequential space, for reasonable parallel and sequential models. An
example would be the fact that the class of problems solvable in polynomial space on a
number of parallel models is equivalent to PSPACE, the class of problems solvable on
Turing machines that use at most polynomial space [40,8,30,32,22,33,88,85,83,3,84].
17
Of course the thesis can never be proved, it relates the intuitive notion of reasonable
parallelism to the precise notion of a Turing machine. When results of this type were
first shown researchers were suitably impressed; their parallel models truly had great
power. For example if model M verifies the thesis then M decides PSPACE (includ-
ing NP) languages in polynomial time. However there is another side to this coin. It is
straightforward to verify that given our current best algorithms, M will use at least a
superpolynomial amount of some other resource (like space or number of processors) to
decide a PSPACE-complete or NP-complete language. Since the composition of polyno-
mials is itself a polynomial, it follows that if we restrict the parallel computer to use at
most polynomial time and polynomial other resources, then it can at most solve problems
in P.
Nevertheless, asking if M verifies the thesis is an important question. Certain problems,
such as those in the class NC, are efficiently parallelisable. NC can be defined as the class
of problems that are solvable in polylogarithmic time on a parallel computer that uses a
polynomial amount of hardware. So one can think of NC as those problems in P which
are solved exponentially faster on parallel computation thesis models than on sequential
models. If M verifies the thesis then it may be useful to apply M to these problems. We
also know that if M verifies the thesis then there are (P-complete) problems for which
it is widely believed that we will not find exponential speed-up using M .
18
algorithm shows that if we allow more spatialRes we can in fact use only constant grid
and dyRange. It would be interesting to find other such resource trade-offs within the
model.
Since NP is contained in PSPACE, Theorem 2, and the corresponding earlier results
in [93,97], show that this optical model solves NP-complete problems in polynomial time.
As described in Section 5, this has also been shown experimentally, for example Shaked
et al. [80] have recently given a polynomial time, exponential space, optical algorithm
to solve the NP-complete travelling salesperson problem. Their optical setup can be
implemented on the CSM.
The other of the two inclusions that are necessary in order to verify the parallel com-
putation thesis have also been shown: C2 -CSMs computing in time T (n) are no more
powerful than T O(1) (n) space bounded deterministic Turing machines. More precisely,
we have:
Theorem 4 ([99]) PSPACE is characterised by C2 -CSMs that are restricted to use poly-
nomial time T = O(nk ), spatialRes O(1), grid O(1), and generalised to use amplRes
T T
O(22 ), dyRange O(22 ).
So by treating images as registers and generating exponentially large, and exponentially
small, values we can solve seemingly intractable problems. Of course this kind of CSM is
quite unrealistic from the point of view of optical implementations. In particular, accurate
multiplication of such values is difficult to implement in optics [99].
To restrict the model we could replace arbitrary multiplication, by multiplication by
constants, which can be easily simulated by a constant number of additions. If we disallow
multiplication in this way, we characterise P.
19
Theorems 5 and 6 give conditions under which our optical model essentially looses its
parallel abilities and acts like a standard sequential Turing machine.
Via the proofs of Theorems 2 and 3 we can show that C2 -CSMs that simultaneously
use polynomial space and polylogarithmic time solve exactly those problems in the
class NC.
References
[1] M. A. G. Abushagur and H. J. Caulfield. Speed and convergence of bimodal optical computers.
Optical Engineering, 26(1):22–27, Jan. 1987.
[2] L. M. Adleman. Molecular computation of solutions to combinatorial problems. Science, 266:1021–
1024, Nov. 1994.
[3] A. Alhazov and M. de Jesús Pérez-Jiménez. Uniform solution to QSAT using polarizationless
active membranes. In J. Durand-Lose and M. Margenstern, editors, Machines, Computations and
Universality (MCU), volume 4664 of LNCS, pages 122–133, Orléans, France, Sept. 2007. Springer.
[4] H. H. Arsenault and Y. Sheng. An Introduction to Optics in Computers, volume TT8 of Tutorial
Texts in Optical Engineering. SPIE Press, Bellingham, Washington, 1992.
[5] J. L. Balcázar, J. Dı́az, and J. Gabarró. Structural complexity, vols I and II. EATCS Monographs
on Theoretical Computer Science. Springer, Berlin, 1988.
[6] R. Barakat and J. H. Reif. Lower bounds on the computational efficiency of optical computing
systems. Applied Optics, 26(6):1015–1018, Mar. 1987.
[7] F. R. Beyette Jr., P. A. Mitkas, S. A. Feld, and C. W. Wilmsen. Bitonic sorting using an
optoelectronic recirculating architecture. Applied Optics, 33(35):8164–8172, Dec. 1994.
[8] A. Borodin. On relating time and space to size and depth. SIAM Journal on Computing, 6(4):733–
744, Dec. 1977.
[9] R. N. Bracewell. The Fourier transform and its applications. Electrical and electronic engineering
series. McGraw-Hill, second edition, 1978.
[10] K.-H. Brenner, A. Huang, and N. Streibl. Digital optical computing with symbolic substitution.
Applied Optics, 25(18):3054–3060, Sept. 1986.
[11] D. P. Casasent and G. P. House. Comparison of coherent and noncoherent optical correlators. In
Optical Pattern Recognition V, Proceedings of SPIE vol. 2237, pages 170–178, Apr. 1994.
[12] D. P. Casasent and D. Psaltis. Position, rotation, and scale invariant optical correlation. Applied
Optics, 15(7):1795–1799, 1976.
[13] H. J. Caulfield, editor. Handbook of Optical Holography. Academic Press, New York, 1979.
[14] H. J. Caulfield. The energetic advantage of analog over digital computing. In OSA Optical
Computing Technical Digest Series, volume 9, pages 180–183, 1989.
[15] H. J. Caulfield. Space-time complexity in optical computing. In B. Javidi, editor, Optical
information-processing systems and architectures II, volume 1347, pages 566–572. SPIE, July 1990.
[16] H. J. Caulfield. Space-time complexity in optical computing. Multidimensional Systems and Signal
Processing, 2(4):373–378, Nov. 1991. Special issue on optical signal processing.
20
[17] H. J. Caulfield and M. A. G. Abushagur. Hybrid analog-digital algebra processors. In Optical and
Hybrid Computing II, Proceedings of SPIE vol. 634, pages 86–95, Orlando, Florida, Apr. 1986.
[18] H. J. Caulfield and R. Haimes. Generalized matched filtering. Applied Optics, 19(2):181–183, Jan.
1980.
[19] H. J. Caulfield, S. Horvitz, and W. A. V. Winkle. Introduction to the special issue on optical
computing. Proceedings of the IEEE, 65(1):4–5, Jan. 1977.
[20] H. J. Caulfield, J. M. Kinser, and S. K. Rogers. Optical neural networks. Proceedings of the IEEE,
77:1573–1582, 1989.
[21] H. J. Caulfield, W. T. Rhodes, M. J. Foster, and S. Horvitz. Optical implementation of systolic
array processing. Optics Communications, 40:86–90, 1981.
[22] A. K. Chandra, D. C. Kozen, and L. J. Stockmeyer. Alternation. Journal of the ACM, 28(1):114–
133, Jan. 1981.
[23] A. K. Chandra and L. J. Stockmeyer. Alternation. In 17th annual symposium on Foundations of
Computer Science, pages 98–108, Houston, Texas, Oct. 1976. IEEE. (Preliminary Version).
[24] F. S. Chen, J. T. LaMacchia, and D. B. Fraser. Holographic storage in lithium niobate. Applied
Physics Letters, 13(7):223–225, oct 1968.
[25] A. E. Chiou. Photorefractive phase-conjugate optics for image processing, trapping, and
manipulation of microscopic objects. Proceedings of the IEEE, 87(12):2074–2085, Dec. 1999.
[26] S. Dolev and H. Fitoussi. The traveling beam: optical solution for bounded NP-complete problems.
In P. Crescenzi, G. Prencipe, and G. Pucci, editors, The fourth international conference on fun
with algorithms (FUN), pages 120–134, 2007.
[27] J. Durand-Lose. Reversible conservative rational abstract geometrical computation is Turing-
universal. In Logical Approaches to Computational Barriers, Second Conference on Computability
in Europe, (CiE), volume 3988 of Lecture Notes in Computer Science, pages 163–172, Swansea,
UK, 2006. Springer.
[28] N. H. Farhat and D. Psaltis. New approach to optical information processing based on the Hopfield
model. Journal of the Optical Society of America A, 1:1296, 1984.
[29] D. G. Feitelson. Optical Computing: A survey for computer scientists. MIT Press, Cambridge,
Massachusetts, 1988.
[30] S. Fortune and J. Wyllie. Parallelism in random access machines. In Proc. 10th Annual ACM
Symposium on Theory of Computing, pages 114–118, 1978.
[31] L. M. Goldschlager. Synchronous parallel computation. PhD thesis, University of Toronto,
Computer Science Department, Dec. 1977.
[32] L. M. Goldschlager. A unified approach to models of synchronous parallel machines. In Proc. 10th
Annual ACM Symposium on Theory of Computing, pages 89–94, 1978.
[33] L. M. Goldschlager. A universal interconnection pattern for parallel computers. Journal of the
ACM, 29(4):1073–1086, Oct. 1982.
[34] J. W. Goodman. Operations achievable with coherent optical information processing systems.
Proceedings of the IEEE, 65(1):29–38, Jan. 1977.
[35] J. W. Goodman. Introduction to Fourier Optics. Roberts & Company, Englewood, Colorado, third
edition, 2005.
[36] R. Greenlaw, H. J. Hoover, and W. L. Ruzzo. Limits to parallel computation: P-completeness
theory. Oxford university Press, Oxford, 1995.
[37] L. K. Grover. A fast quantum mechanical algorithm for database search. In Proc. 28th Annual
ACM Symposium on Theory of Computing, pages 212–219, May 1996.
[38] P. S. Guilfoyle, J. M. Hessenbruch, and R. V. Stone. Free-space interconnects for high-performance
optoelectronic switching. IEEE Computer, 31(2):69–75, Feb. 1998.
[39] T. Haist and W. Osten. An optical solution for the travelling salesman problem. Optics Express,
15(16):10473–10482, Aug. 2007. Erratum: Vol. 15(10), pp 12627. Aug. 2007.
[40] J. Hartmanis and J. Simon. On the power of multiplication in random access machines. In
Proceedings of the 15th annual symposium on switching and automata theory, pages 13–23, The
University of New Orleans, Oct. 1974. IEEE.
[41] T. Head. Formal language theory and DNA: an analysis of the generative capacity of specific
recombinant behaviors. Bulletin of Mathematical Biology, 49(6):737–759, 1987.
[42] J. L. Horner, editor. Optical Signal Processing. Academic Press, San Diego, 1987.
[43] Y.-N. Hsu and H. H. Arsenault. Optical pattern recognition using circular harmonic expansion.
Applied Optics, 21(22):4016–4019, Nov. 1982.
21
[44] A. Huang. Architectural considerations involved in the design of an optical digital computer.
Proceedings of the IEEE, 72(7):780–786, July 1984.
[45] A. D. Jacobson, T. D. Beard, W. P. Bleha, J. D. Morgerum, and S. Y. Wong. The liquid crystal light
value, an optical-to-optical interface device. In Proceedings of the Conference on Parallel Image
Processing, Goddard Space Flight Center, pages 288–299, Mar. 1972. Document X-711-72-308.
[46] B. Javidi. Nonlinear joint power spectrum based optical correlation. Applied Optics, 28(12):2358–
2367, June 1989.
[47] B. Javidi and J. Wang. Optimum distortion-invariant filter for detecting a noisy distorted target in
nonoverlapping background noise. Journal of the Optical Society of America A, 12(12):2604–2614,
Dec. 1995.
[48] M. A. Karim and A. A. S. Awwal. Optical Computing: An Introduction. Wiley, New York, 1992.
[49] R. M. Karp and V. Ramachandran. Parallel algorithms for shared memory machines. In J. van
Leeuwen, editor, Handbook of Theoretical Computer Science, volume A, chapter 17. Elsevier,
Amsterdam, 1990.
[50] E. Knill, R. LaFlamme, and G. J. Milburn. A scheme for efficient quantum computation with
linear optics. Nature, 409:46–52, 2001.
[51] J. N. Lee, editor. Design Issues in Optical Processing. Cambridge Studies in Modern Optics.
Cambridge University Press, Cambridge, Great Britain, 1995.
[52] J. N. Lee, editor. Design issues in optical processing. Cambridge studies in modern optics.
Cambridge University Press, 1995.
[53] Lenslet Labs. Enlight256. white paper report, Lenslet Ltd., 6 Galgalei Haplada St, Herzelia Pituach,
46733 Israel, Nov. 2003.
[54] R. J. Lipton. Using DNA to solve NP-complete problems. Science, 268:542–545, Apr. 1995.
[55] A. Louri and A. Post. Complexity analysis of optical-computing paradigms. Applied Optics,
31(26):5568–5583, Sept. 1992.
[56] P. D. MacKenzie and V. Ramachandran. Ercw prams and optical communication. Theoretical
Computer Science, 196:153–180, 1998.
[57] A. D. McAulay. Optical Computer Architectures: The Application of Optical Concepts to Next
Generation Computers. Wiley, New York, 1991.
[58] C. Mead. Analog VLSI and Neural Systems. Addison-Wesley, Reading, Massachusetts, 1989.
[59] D. A. Miller. Rationale and challenges for optical interconnects to electronic chips. Proceedings of
the IEEE, 88(6):728–749, June 2000.
[60] C. Moore. Generalized shifts: undecidability and unpredictability in dynamical systems.
Nonlinearity, 4:199–230, 1991.
[61] C. Moore. Majority-vote cellular automata, Ising dynamics and P-completeness. Journal of
Statistical Physics, 88(3/4):795–805, 1997.
[62] T. Naughton, Z. Javadpour, J. Keating, M. Klı́ma, and J. Rott. General-purpose acousto-optic
connectionist processor. Optical Engineering, 38(7):1170–1177, July 1999.
[63] T. J. Naughton. Continuous-space model of computation is Turing universal. In S. Bains and
L. J. Irakliotis, editors, Critical Technologies for the Future of Computing, Proceedings of SPIE
vol. 4109, pages 121–128, San Diego, California, Aug. 2000.
[64] T. J. Naughton. A model of computation for Fourier optical processors. In R. A. Lessard and
T. Galstian, editors, Optics in Computing 2000, Proc. SPIE vol. 4089, pages 24–34, Quebec,
Canada, June 2000.
[65] T. J. Naughton and D. Woods. On the computational power of a continuous-space optical model
of computation. In M. Margenstern and Y. Rogozhin, editors, Machines, Computations and
Universality: Third International Conference (MCU’01), volume 2055 of LNCS, pages 288–299,
Chişinău, Moldova, May 2001. Springer.
[66] M. Oltean. A light-based device for solving the Hamiltonian path problem. In Fifth International
Conference on Unconventional Computation (UC’06), volume 4135 of LNCS, pages 217–227, York,
UK, 2006. Springer.
[67] E. L. O’Neill. Spatial filtering in optics. IRE Transactions on Information Theory, 2:56–65, June
1956.
[68] C. H. Papadimitriou. Computational complexity. Addison-Wesley, 1995.
[69] I. Parberry. Parallel complexity theory. Wiley, 1987.
[70] G. Păun. Membrane computing: an introduction. Springer, 2002.
22
[71] A. Pe’er, D. Wang, A. W. Lohmann, and A. A. Friesem. Optical correlation with totally incoherent
light. Optics Letters, 24(21):1469–1471, Nov. 1999.
[72] V. R. Pratt, M. O. Rabin, and L. J. Stockmeyer. A characterisation of the power of vector machines.
In Proc. 6th annual ACM symposium on theory of computing, pages 122–134. ACM press, 1974.
[73] V. R. Pratt and L. J. Stockmeyer. A characterisation of the power of vector machines. Journal of
Computer and Systems Sciences, 12:198–221, 1976.
[74] A. Pu, R. F. Denkewalter, and D. Psaltis. Real-time vehicle navigation using a holographic memory.
Optical Engineering, 36(10):2737–2746, Oct. 1997.
[75] J. Reif, D. Tygar, and A. Yoshida. The computability and complexity of optical beam tracing. In
31st Annual IEEE Symposium on Foundations of Computer Science (FOCS), pages 106–114, St.
Louis, MO, Oct. 1990. IEEE.
[76] J. H. Reif and A. Tyagi. Energy complexity of optical computations. In 2nd IEEE Symposium on
Parallel and Distributed Processing, pages 14–21, Dallas, TX, Dec. 1990.
[77] J. H. Reif and A. Tyagi. Efficient parallel algorithms for optical computing with the discrete Fourier
transform (DFT) primitive. Applied Optics, 36(29):7327–7340, Oct. 1997.
[78] A. A. Sawchuk and T. C. Strand. Digital optical computing. Proceedings of the IEEE, 72(7):758–
779, July 1984.
[79] N. T. Shaked, S. Messika, S. Dolev, and J. Rosen. Optical solution for bounded NP-complete
problems. Applied Optics, 46(5):711–724, Feb. 2007.
[80] N. T. Shaked, G. Simon, T. Tabib, S. Mesika, S. Dolev, and J. Rosen. Optical processor for solving
the traveling salesman problem (TSP). In B. Javidi, D. Psaltis, and H. J. Caulfield, editors, Proc.
of SPIE, Optical Information Systems IV, volume 63110G, Aug. 2006.
[81] N. T. Shaked, T. Tabib, G. Simon, S. Messika, S. Dolev, and J. Rosen. Optical binary-
matrix synthesis for solving bounded NP-complete combinatorical problems. Optical Engineering,
46(10):108201–1–108201–11, Oct. 2007.
[82] P. Shor. Algorithms for quantum computation: Discrete logarithms and factoring. In Proceedings
35th Annual Symposium on Foundations Computer Science, pages 124–134, 1994.
[83] P. Sosı́k. The computational power of cell division in P systems: Beating down parallel computers?
Natural Computing, 2(3):287–298, 2003.
[84] P. Sosı́k and A. Rodrı́guez-Patón. Membrane computing and complexity theory: A characterization
of PSPACE. Journal of Computer and System Sciences, 73(1):137–152, 2007.
[85] J. Tromp and P. van Emde Boas. Associative storage modification machines. In K. Ambos-Spies,
S. Homer, and U. Schöning, editors, Complexity theory: current research, pages 291–313. Cambridge
University Press, 1993.
[86] G. L. Turin. An introduction to matched filters. IRE Transactions on Information Theory,
6(3):311–329, June 1960.
[87] P. van Emde Boas. Machine models and simulations. In J. van Leeuwen, editor, Handbook of
Theoretical Computer Science, volume A, chapter 1. Elsevier, Amsterdam, 1990.
[88] J. van Leeuwen and J. Wiedermann. Array processing machines. BIT, 27:25–43, 1987.
[89] A. VanderLugt. Signal detection by complex spatial filtering. IEEE Transactions on Information
Theory, 10(2):139–145, Apr. 1964.
[90] A. VanderLugt. Optical Signal Processing. Wiley, New York, 1992.
[91] P.-Y. Wang and M. Saffman. Selecting optical patterns with spatial phase modulation. Optics
Letters, 24(16):1118–1120, Aug. 1999.
[92] C. S. Weaver and J. W. Goodman. A technique for optically convolving two functions. Applied
Optics, 5(7):1248–1249, July 1966.
[93] D. Woods. Computational complexity of an optical model of computation. PhD thesis, National
University of Ireland, Maynooth, 2005.
[94] D. Woods. Upper bounds on the computational power of an optical model of computation. In
X. Deng and D. Du, editors, 16th International Symposium on Algorithms and Computation
(ISAAC 2005), volume 3827 of LNCS, pages 777–788, Sanya, China, Dec. 2005. Springer.
[95] D. Woods. Optical computing and computational complexity. In Fifth International Conference
on Unconventional Computation (UC’06), volume 4135 of LNCS, pages 27–40, York, UK, 2006.
Springer. Invited.
[96] D. Woods and J. P. Gibson. Complexity of continuous space machine operations. In S. B.
Cooper, B. Löewe, and L. Torenvliet, editors, New Computational Paradigms, First Conference
23
on Computability in Europe (CiE 2005), volume 3526 of LNCS, pages 540–551, Amsterdam, June
2005. Springer.
[97] D. Woods and J. P. Gibson. Lower bounds on the computational power of an optical model of
computation. In C. S. Calude, M. J. Dinneen, G. Păun, M. J. Pérez-Jiménez, and G. Rozenberg,
editors, Fourth International Conference on Unconventional Computation (UC’05), volume 3699
of LNCS, pages 237–250, Sevilla, Oct. 2005. Springer.
[98] D. Woods and T. J. Naughton. An optical model of computation. Theoretical Computer Science,
334(1-3):227–258, Apr. 2005.
[99] D. Woods and T. J. Naughton. Sequential and parallel optical computing. In International
Workshop on Optical SuperComputing, 2008. To appear.
[100] T. Yokomori. Molecular computing paradigm – toward freedom from Turing’s charm. Natural
computing, 1(4):333–390, 2002.
[101] F. T. S. Yu, S. Jutamulia, and S. Yin, editors. Introduction to information optics. Academic Press,
San Diego, 2001.
[102] F. T. S. Yu, T. Lu, X. Yang, and D. A. Gregory. Optical neural network with pocket-sized liquid-
crystal televisions. Optics Letters, 15(15):863–865, Aug. 1990.
24