BSDT Multi-valued Coding in Discrete Spaces Petro Gopych Universal Power Systems USA-Ukraine LLC, 3 Kotsarskaya Street, Kharkiv 61012 Ukraine [email protected] Abstract. Recent binary signal detection theory (BSDT) employs a 'replacing' binary noise (RBN). In this paper it has been demonstrated that RBN generates some related N-dimensional discrete vector spaces, transforming to each other under different network synchrony conditions and serving 2-, 3-, and 4-valued neurons. These transformations explain optimal BSDT coding/decoding rules and provide a common mathematical framework, for some competing types of signal coding in neurosciences. Results demonstrate insufficiency of almost ubiquitous binary codes and, in complex cases, the need of multi-valued ones. Keywords: neural networks, replacing binary noise, colored spaces, degenerate spaces, spikerate coding, time-rate coding, meaning, synchrony, criticality. 1 Introduction Data coding (a way of taking noise into account) is a problem whose solving depends essentially on the accepted noise model [1]. Recent binary signal detection theory (BSDT, [2-4] and references therein) employs an original replacing binary noise (RBN, see below) which is an alternative to traditional additive noise models. For this reason, BSDT coding has unexpected features, leading in particular to the conclusion that in some important cases almost ubiquitous binary codes are insufficient and multi-valued ones are essentially required. The BSDT defines 2N different N-dimensional vectors x with spin-like components i x = ±1, reference vector x = x0 representing the information stored in a neural network (NN), and noise vectors x = xr. Vectors x are points in a discrete N-dimensional binary vector space, N-BVS, where variables take values +1 and –1 only. As in the N-BVS additive noise is impossible, vectors x(d) in this space (damaged versions of x0) are introduced by using a 'replacing' coding rule based on the RBN, xr: ⎧ x i , if u i = 0, xi (d ) = ⎨ 0i d = ∑ u i / N , i = 1,..., N ⎩ x r , if u i = 1 (1) where ui are marks, 0 or 1. If m is the number of marks ui = 1 then d = m/N is a fraction of noise components in x(d) or a damage degree of x0, 0 ≤ d ≤ 1; q = 1 – d is a fraction of intact components of x0 in x(d) or an intensity of cue, 0 ≤ q ≤ 1. If d = m/N, the number of different x(d) is 2mCNm, CNm = N!/(N – m)!/m!; if 0 ≤ d ≤ 1, this number is ∑2mCNm = 3N (0 ≤ m ≤ N). If ui = 1 then, to obtain xi(d), the ith component of x0, xi0, is replaced by the ith component of noise, xir, otherwise xi0 remains intact (1). E. Corchado et al. (Eds.): CISIS 2008, ASC 53, pp. 258–265, 2009. © Springer-Verlag Berlin Heidelberg 2009 springerlink.com BSDT Multi-valued Coding in Discrete Spaces 259 2 BSDT Binary, Ternary and Quaternary Vector Spaces With respect to vectors x, vectors x(d) have an additional range of discretion because their ±1 projections have the property to be a component of a noise, xr, or a signal message, x0. To formalize this feature, we ascribe to vectors x a new range of freedom ― a 'color' (meaning) of their components. Thus, within the N-BVS (Sect. 1), we define an additional two-valued color variable (a discrete-valued non-locality) labeling the components of x. Thanks to that extension, components of x become colored (meaningful), e.g. either 'red' (noise) or 'black' (signal), and each x transforms into 2N different vectors, numerically equivalent but colored in different colors (in column 3 of Table 1, such 2N vectors are underlined). We term the space of these items an Ndimensional colored BVS, N-CBVS. As the N-CBVS comprises 2N vectors x colored in 2N ways, the total number of N-CBVS items is 2N×2N = 4N. Table 1. Two complete sets of binary N-PCBVS(x0) vectors (columns 1-5) and ternary N-TVS vectors (columns 5-8) at N = 3. m, the number of noise ('red,' shown in bold face in column 3) components of x(d); sm = 2mCNm, the number of different x(d) for a given m; 3N = ∑sm, the same for 0 ≤ m ≤ N. In column 3, all the x(d) for a given x0 (column 1) are shown; 2N two-color vectors obtained by coloring the x = x0 are here underlined. n, the number of zeros among the – components of N-TVS vectors; sn = 2N nC NN – n, the number of N-TVS vectors for a given n; N 3 = ∑sn, the same for 0 ≤ n ≤ N. In columns 3 and 7, table cells containing complete set of 2N one-color N-BVS vectors are between the shaded cells m = 3 and sm = 8, sn = 8 and n = 0. Positive, negative and zero vector components are designated as +, – and 0, respectively. –+– x0 1 m 2 0 1 2 3 –++ 0 1 2 N-PCBVS(x0) vectors 3 – + –, – + –, + + –, – + –, – – –, – + –, – + +, – + –, + + –, + – –, – – –, – + –, – + +, – – –, – – +, – + –, – + +, + + –, + + +, – + –, + + –, – + +, – – +, + – –, + + +, – – –, + – +. – + +, – + +, + + +, – + +, – – +, – + +, – + –, – + +, + + +, + – +, – – +, – + +, – – +, – + –, – – –, – + +, + + +, – + –, + + –, sm 4 1 6 12 3N 5 27 8 1 6 12 – + –, + + –, – + +, – – +, 8 + – –, + + +, – – –, + – +. Complete set of N synchronized neurons, 'dense' spike-time coding 27 3 33 sn 6 1 6 N-TVS vectors 7 n 8 3 2 0 0 0, + 0 0, 0 0 +, 0 + 0, – 0 0, 0 0 –, 0 – 0, 12 + + 0, + 0 +, 0 + +, 1 – + 0, – 0 +, 0 – +, + – 0, + 0 –, 0 + –, – – 0, – 0 –, 0 – –, 8 – + –, + + –, – + +, – – +, 0 + – –, + + +, – – –, + – +. 1 0 0 0, 3 6 + 0 0, 0 0 +, 0 + 0, 2 – 0 0, 0 0 –, 0 – 0, 12 + + 0, + 0 +, 0 + +, 1 – + 0, – 0 +, 0 – +, + – 0, + 0 –, 0 + –, – – 0, – 0 –, 0 – –, 8 – + –, + + –, – + +, – – +, 0 + – –, + + +, – – –, + – +. Complete set of N unsynchronized neurons, 'sparse' spike-rate coding 260 P. Gopych Of 4N colored vectors x(d) constituting the N-CBVS, (1) selects a fraction (subspace, subset) of them specific to particular x = x0 and consisting of 3N x(d) only. We refer to such an x0-specific subspace as an N-dimensional partial colored BVS, NPCBVS(x0). An N-PCBVS(x0) consists of particular x0 and all its possible distortions (corresponding vectors x(d) have m colored in red components, see column 3 of Table 1). As an N-BVS generating the N-CBVS supplies 2N vectors x = x0, the total number of different N-PCBVS(x0) is also 2N. 2N spaces N-PCBVS(x0) each of which consists of 3N items contain in sum 2N×3N = 6N vectors x(d) while the total amount of different x(d) is only 4N. The intersection of all the spaces N-PCBVS(x0) (sets of corresponding space points) and the unity of them are I x0∈N -BVS N -PCBVS( x0 ) = N -BVS, U x0 ∈N -BVS N -PCBVS( x0 ) = N -CBVS. (2) The first relation means that any two spaces N-PCBVS(x0) contain at least 2N common space points, constituting together the N-BVS (e.g., 'red' vectors x(d) in Table 1 column 3 rows m = 3). The second relation reflects the fact that spaces N-PCBVS(x0) are overlapped subspaces of the N-CBVS. Spaces N-PCBVS(x0) and N-CBVS consist of 3N and 4N items what is typically for N-dimensional spaces of 3- and 4-valued vectors, respectively. Of this an obvious insight arises ― to consider an N-PCBVS(x0) as a vector space 'built' for serving 3valued neurons (an N-dimensional ternary vector space, N-TVS; Table 1 columns 58) and to consider an N-CBVS as a vector space 'built' for serving 4-valued neurons (an N-dimensional quaternary vector space, N-QVS; Table 3 column 2). After accepting this idea it becomes clear that the BSDT allows an intermittent three-fold (2-, 3-, and 4-valued) description of signal data processing. 3 BSDT Degenerate Binary Vector Spaces Spaces N-PCBVS(x0) and N-CBVS are devoted to the description of vectors x(d) by means of explicit specifying the origin or 'meaning' of their components (either signal or noise). At the stage of decoding, BSDT does not differ the colors (meanings) of x(d) components and reads out their numerical values only. Consequently, for BSDT decoding algorithm, all N-PCBVS(x0) and N-CBVS items are color-free. By means of ignoring the colors, two-color x(d) are transforming into one-color x and, consequently, spaces N-CBVS and N-PCBVS(x0) are transforming, respectively, into spaces N-DBVS (N-dimensional degenerate BVS) and N-DBVS(x0) (N-dimensional degenerate BVS given x0). The N-DBVS(x0) and the N-DBVS contain respectively 3N and 4N items, though only 2N of them (related to the N-BVS) are different. As a result, N-DBVS and N-DBVS(x0) items are degenerate, i.e. in these spaces they may exist in some equivalent copies. We refer to the number of such copies related to a given x as its degeneracy degree, τ (1 ≤ τ ≤ 2N, τ = 1 means no degeneracy). When N-CBVS vectors x(d) lose their color identity, their one-color counterparts, x, are 'breeding' 2N times. For this reason, all N-DBVS space points have equal degeneracy degree, τ = 2N. When N-PCBVS(x0) vectors x(d) lose their color identity, their one-color counterparts, x, are 'breeding' the number of times which is specified by (1) BSDT Multi-valued Coding in Discrete Spaces 261 given x0 and coincides with the number of x(d) related to particular x in the NPCBVS(x0). Consequently, all N-DBVS(x0) items have different in general degeneracy degrees, τ(x,x0), depending on x as well as x0. As the number of different vectors x in an N-DBVS(x0) and the number of different spaces N-DBVS(x0) are the same (and equal to 2N), discrete function τ(x,x0) is a square non-zero matrix. As the number of x in an N-DBVS(x0) and the number of x(d) in corresponding N-PCBVS(x0) is 3N, the sum of matrix element values made over each row (or over each column) is also the same and equals 3N. Remembering that ∑2mCNm = 3 N (m = 0, 1, …, N), we see that in each the matrix's row or column the number of its elements, which are equal to 2m, is CNm (e.g. in Table 2, the number of 8s, 4s, 2s and 1s is 1, 3, 3 and 1, respectively). If x (columns) and x0 (rows) are ordered in the same way (as in Table 2) then matrix τ(x,x0) is symmetrical with respect to its main diagonal; if x = x0, then in the column x and the row x0 τ(x,x0)-values are equally arranged (as in the column and the row shaded in Table 2: 4, 2, 8, 4, 1, 4, 2, 2; corresponding sets of two-colored N-PCBVS(x0) vectors x(d) are shown in column 3 of Table 1). Degeneracy degree averaged across all the x given N-DBVS(x0) or across all the N-DBVS(x0) given x does not depend on x and x0: τa = <τ(x,x0)> = (3/2)N (for the example presented in Table 2, τa = (3/2)3 = 27/8 = 3.375). x x0 –+– ∑τ(x,x0) given x –+– ++– –++ ––+ +–– +++ ––– +–+ ++– –++ ––+ +–– +++ ––– +–+ ∑τ(x,x0) given x0 Table 2. Degeneracy degree, τ(x,x0), for all the vectors x in all the spaces N-DBVS(x0), N = 3. 2N = 8, the number of different x (and different x0); 3N = 27, the total number of x in an NDBVS(x0) or the number of two-colored x(d) in corresponding N-PCBVS(x0); positive and negative components of x and x0 are designated as + and –, respectively. Rows provide τ(x,x0) for all the x given N-DBVS(x0) (the row x0 = – + + is shaded); columns show τ(x,x0) for all the spaces N-DBVS(x0) given x (the column x = – + + is shaded). 8 4 4 2 2 2 4 1 4 8 2 1 4 4 2 2 4 2 8 4 1 4 2 2 2 1 4 8 2 2 4 4 2 4 1 2 8 2 4 4 2 4 4 2 2 8 1 4 4 2 2 4 4 1 8 2 1 2 2 4 4 4 2 8 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 3N Of the view of the set theory, the N-DBVS consists of 2N equivalent N-BVS; the intersection and the unity of them are the N-BVS itself. Each N-DBVS(x0) includes all the 2N N-BVS vectors each of which is repeated in an x0-specific number of copies, as it is illustrated by rows (columns) of Table 2 (N + 1 of these numbers are only different). 262 P. Gopych 4 BSDT Multi-valued Codes and Multi-valued Neurons For the description of a network of the size N in spaces above discussed, the BSDT defines 2-, 3- and 4-valued N-dimensional (code) vectors each of which represents a set of N firing 2-, 3- and 4-valued neurons, respectively (see Tables 1 and 3). 23valued valued 3 –1, black –1, red +1, red +1, black –1, black/red no black/red +1, black/red –1, black/red +1, black/red 4 –1, signal –1, noise +1, noise +1, signal –1, signal/noise no signal/noise +1, signal/noise –1, signal/noise +1, signal/noise 5 inhibitory inhibitory excitatory excitatory inhibitory no spike excitatory inhibitory excitatory Space examples The target neuron's synapse Signal/noise numerical code, SNNC 2 –2 –1 +1 +2 –1 0 +1 –1 +1 Colored numerical code, CNC Numerical code, NC 1 4valued Type of neurons Table 3. Values/meanings of code vector components for BSDT neurons and codes. Shaded table cells display code items implementing the N-BVS (its literal implementation by 3- and 4valued neurons is possible under certain conditions only; parentheses in column 6 indicate this fact, see also process 6 in Fig. 1); in column 5 the content/meaning of each code item is additionally specified in neuroscience terms. 6 N-QVS, N-CBVS, N-PCBVS(x0), (N-BVS) N-TVS, (N-BVS) N-BVS, N-DBVS, N-DBVS(x0) In Table 3 numerical code (NC, column 2) is the simplest, most general, and meaning-irrelevant: its items (numerical values of code vector components) may arbitrary be interpreted (e.g., for 4-valued neurons, code values ±1 and ±2 may be treated as related to noise and signal, respectively). Colored numerical code (CNC, column 3) combines binary NC with binary color code; for 3- and 2-valued neurons, CNC vector components are ambiguously defined (they are either black or red, 'black/ red'). Signal/noise numerical code (SNNC, column 4) specifies the colors of the CNC with respect to a signal/noise problem: 'black' and 'red' units are interpreted as ones that represent respectively signal and noise components of SNNC vectors (marks 'signal' and 'noise' reflect this fact). As in the case of the CNC, for 3- and 2-valued neurons, SNNC code vector components say only that (with equal probability) they can represent either signal or noise (this fact reflects the mark 'signal/ noise'). Further code specification (by adding a neuroscience meaning to each signal, noise, or signal/noise numerical code item) is given in column 5: it is assumed [3] that vector components –1 designate signal, noise or signal/noise spikes, affecting the inhibitory synapses of target neurons, while vector components +1 designate spikes, affecting the excitatory synapses of target neurons (i.e. BSDT neurons are intimately embedded into their environment, as they always 'know' the type of synapses of their postsynaptic neurons); zero-valued components of 3-valued vectors designate 'silent' or 'dormant' BSDT Multi-valued Coding in Discrete Spaces 263 neurons generating no spikes at the moment and, consequently, not affecting on their target neurons at all (marks 'no signal/noise' and 'no spike' in columns 4 and 5 reflect this fact). BSDT spaces implementing different types of coding and dealing with different types of neurons are classified in column 6. The unity of mathematical description of spiking and silent neurons (see Table 3) explains why BSDT spin-like +1/–1 coding cannot be replaced by popular 1/0 coding. Ternary vectors with large fractions of zero components may also contribute to explaining the so-called sparse neuron codes (e.g., [5-6], Table 1 columns 5-8). Quaternary as well as binary vectors without zero components (and, perhaps, ternary vectors with small fractions of zero components) may contribute to explaining the so-called dense neuron codes (a reverse counterpart to sparse neuron codes, Table 1 columns 1-5). 5 Reciprocal Transformations of BSDT Vector Spaces The major physical condition explaining the diversity of BSDT vector spaces and the need of their transformations is the network's state of synchrony (Fig. 1). We understand synchrony as simultaneous (within a time window/bin ∆t ~ 10 ms) spike firing of N network neurons (cf. [7]). Unsynchronized neurons fire independently at instants t1, …, tN whose variability is much greater than ∆t. As the BSDT imposes no constraints on network neuron space distribution, they may arbitrary be arranged occupying positions even in distinct brain areas (within a population map [8]). Unsynchronized and synchronized networks are respectively described by BSDT vectors with and without zero-valued components and consequently each such an individual vector represents a pattern of network spike activity at a moment t ± ∆t. Hence, the BSDT deals with network spike patterns only (not with spike trains of individual neurons [9]) while diverse neuron wave dynamics, responsible in particular for changes in network synchrony [10], remains out of the consideration. For unsynchronized networks (box 2 in Fig. 1), spike timing can in principle not be used for coding; in this case signals of interest may be coded by the number of network spikes randomly emerged per a given time bin ― that is spike-rate or firingrate population coding [9], implementing the independent-coding hypothesis [8]. For partially ordered networks, firing of their neurons is in time to some extent correlated and such mutual correlations can already be used for spike-time coding (e.g., [1,9]) ― that is an implementation of the coordinated-coding hypothesis [8]. The case of completely synchronized networks (box 4 in Fig. 1) is an extreme case of spike-time coding describable by BSDT vectors without zero components. Time-to-first-spike coding (e.g., [11]) and phase coding (e.g., [12]) may be interpreted as particular implementations of such a consideration. Figure 1 shows also the transformations (circled dashed arrows) related to changes in network synchrony and accompanied by energy exchange (vertical arrows). BSDT optimal decoding probability (that is equal to BSDT optimal generalization degree) is the normalized number of N-DBVS(x0) vectors x for which their Hamming distance to x0 is smaller than a given threshold. Hence, the BSDT defines its coding/decoding [2,3] and generalization/codecorrection [2] rules but does not specify mechanisms implementing them: for BSDT applicability already synchronized/unsynchronized networks are required. 264 P. Gopych 1 The global network's environment Energy input 2 Energy dissipation N-TVS Unsynchronized neurons Entropy 1 'The edge of chaos' 5 N-PCBVS(x0) N-DBVS(x0) N-CBVS N-PCBVS(x0) N-DBVS(x0) 2 Synchronized neurons ... N-PCBVS(x0) 3 1 2 Complexity N-BVS N-BVS 6 3 4 N-TVS ... 4 N-DBVS(x0) N 2 Fig. 1. Transformations of BSDT vector spaces. Spaces for pools of synchronized (box 4) and unsynchronized (box 2) neurons are framed separately. In box 4, right-most numbers enumerate different spaces of the same type; framed numbers mark space transformation processes (arrows): 1, coloring all the components of N-BVS vectors; 2, splitting the N-CBVS into 2N different but overlapping spaces N-PCBVS(x0); 3, transformation of two-color N-PCBVS(x0) vectors x(d) into one-color N-TVS vectors (because of network desynchronization); 4, equalizing the colors of all the components of all the N-PCBVS(x0) vectors; 5, transformation of one-color NTVS vectors into two-color N-PCBVS(x0) vectors; 6, random coincident spiking of unsynchronized neurons. Vertical left/right-most arrows remind trends in entropy and complexity for a global network, containing synchronized and unsynchronized parts and open for energy exchange with the environment (box 1). Box 3 comprises rich and diverse neuron individual and collective nonlinear wave/oscillatory dynamics implementing synchrony/unsynchrony transitions (i.e. the global network is as a rule near its 'criticality'). In most behavioral and cognitive tasks, spike synchrony and neuron coherent wave/oscillatory activity are tightly entangled (e.g. [10,13]) though which of these phenomena is the prime mechanism, for dynamic temporal and space binding (synchronization) of neurons into a cell assembly, remains unknown. If gradual changes of the probability of occurring zero-valued components of ternary vectors is implied then the BSDT is consistent in general with scenarios of gradual synchrony/ unsynchrony transitions, but we are here interesting in such abrupt transitions only. This means that, for the BSDT biological relevance, it is needed to take the popular stance according to which the brain is a very large and complex nonlinear dynamic system having long-distant and reciprocal connectivity [14], being in a metastable state and running near its 'criticality' (box 3 in Fig. 1). If so, then abrupt unsynchronyto-synchrony transitions may be interpreted as the network's 'self-organization,' 'bifurcation,' or 'phase transition' (see ref. 15 for review) while abrupt synchrony decay may be considered as reverse phase transitions. This idea stems from statistical physics and offers a mechanism contributing most probably to real biological processes underlying BSDT space transformations shown in Fig. 1 (i.e. arrows crossing 'the edge of chaos' may have real biological counterparts). Task-related brain activity takes <5% of energy consumed by the resting human brain [16]; spikes are high energy-consuming and, consequently, rather seldom and important brain signals [17]. Of these follows that the BSDT, as a theory for spike computations, describes though rather small but perhaps most important ('high-level') fraction of brain activity responsible for maintaining behavior and cognition. BSDT Multi-valued Coding in Discrete Spaces 265 6 Conclusion A set of N-dimensional discrete vector spaces (some of which are 'colored' and some degenerate) has been introduced by using original BSDT coding rules. These spaces, serving 2-, 3- and 4-valued neurons, ensure optimal BSDT decoding/generalization and provide a common description of spiking and silencing neurons under different conditions of network synchrony. The BSDT is a theory for spikes/impulses and can describe though rather small but probably most important ('high-level') fraction of brain activity responsible for human/animal behavior and cognition. Results demonstrate also that for the description of complex living or artificial digital systems, where conditions of signal synchrony and unsynchrony coexist, binary codes are insufficient and the use of multi-valued ones is essentially required. References 1. Averbeck, B.B., Latham, P.E., Pouget, A.: Neural Correlations, Population Coding and Computation. Nat. Rev. Neurosci. 7, 358–366 (2006) 2. Gopych, P.M.: Generalization by Computation through Memory. Int. J. Inf. Theo. Appl. 13, 145–157 (2006) 3. Gopych, P.M.: Foundations of the Neural Network Assembly Memory Model. In: Shannon, S. (ed.) Leading Edge Computer Sciences, pp. 21–84. Nova Science, New York (2006) 4. Gopych, P.M.: Minimal BSDT Abstract Selectional Machines and Their Selectional and Computational Performance. In: Yin, H., Tino, P., Corchado, E., Byrne, W., Yao, X. (eds.) IDEAL 2007. LNCS, vol. 4881, pp. 198–208. Springer, Heidelberg (2007) 5. Kanerva, P.: Sparse Distributed Memory. MIT Press, Cambridge (1988) 6. Olshausen, B.A., Field, D.J.: Sparse Coding of Sensory Inputs. Curr. Opin. Neurobiol. 14, 481–487 (2004) 7. Engel, A.K., Singer, W.: Temporal Binding and the Neural Correlates of Sensory Awareness. Trends Cog. Sci. 5, 16–21 (2001) 8. de Charms, C.R., Zador, A.: Neural Representations and the Cortical Code. Ann. Rev. Neurosci. 23, 613–647 (2000) 9. Tiesinga, P., Fellous, J.-M., Sejnowski, T.J.: Regulation of Spike Timing in Visual Cortical Circuits. Nat. Rev. Neurosci. 9, 97–109 (2008) 10. Buzáki, G., Draghun, A.: Neuronal Oscillations in Cortical Networks. Science 304, 1926– 1929 (2004) 11. Johansson, R.S., Birznieks, I.: First Spikes in Ensemble of Human Tactile Afferents Code Complex Spatial Fingertip Events. Nat. Neurosci. 7, 170–177 (2004) 12. Jacobs, J., Kahana, M.J., Ekstrom, A.D., Fried, I.: Brain Oscillations Control Timing of Single-Neuron Activity in Humans. J. Neurosci. 27, 3839–3844 (2007) 13. Varela, F., Lachaux, J.-P., Rodriguez, E., Martinerie, J.: The Brainweb: Phase Synchronization and Large-Scale Integration. Nat. Rev. Neurosci. 2, 229–239 (2001) 14. Sporns, O., Chialvo, D.R., Kaiser, M., Hilgetag, C.C.: Organization, Development and Function of Complex Brain Networks. Trends Cog. Sci. 8, 418–425 (2004) 15. Werner, G.: Perspectives on the Neuroscience of Cognition and Consciousness. BioSystems 87, 82–95 (2007) 16. Fox, M.D., Raichle, M.E.: Spontaneous Fluctuations in Brain Activity Observed with Functional Magnetic Resonance Imaging. Nat. Rev. Neurosci. 8, 700–711 (2007) 17. Lennie, P.: The Cost of Cortical Computation. Curr. Biology 13, 493–497 (2003)
© Copyright 2025 Paperzz