EP3523730A1 - Machine stochastique modulaire et procédé associé - Google Patents

Machine stochastique modulaire et procédé associé

Info

Publication number
EP3523730A1
EP3523730A1 EP17788170.3A EP17788170A EP3523730A1 EP 3523730 A1 EP3523730 A1 EP 3523730A1 EP 17788170 A EP17788170 A EP 17788170A EP 3523730 A1 EP3523730 A1 EP 3523730A1
Authority
EP
European Patent Office
Prior art keywords
stochastic
module
variable
representation
random
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP17788170.3A
Other languages
German (de)
English (en)
Inventor
Pierre Bessiere
Jacques DROULEZ
Emmanuel Mazer
Raphaël LAURENT
Julie Grollier
Marvin FAIX
Alexandre CONINX
David COLLIAUX
Damien QUERLIOZ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Centre National de la Recherche Scientifique CNRS
Thales SA
Universite Grenoble Alpes
Sorbonne Universite
Probayes SAS
Universite Paris Saclay
Original Assignee
Centre National de la Recherche Scientifique CNRS
Thales SA
Universite Paris Sud
Universite Grenoble Alpes
Sorbonne Universite
Probayes SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Centre National de la Recherche Scientifique CNRS, Thales SA, Universite Paris Sud, Universite Grenoble Alpes, Sorbonne Universite, Probayes SAS filed Critical Centre National de la Recherche Scientifique CNRS
Publication of EP3523730A1 publication Critical patent/EP3523730A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/10Numerical modelling

Definitions

  • the present invention relates to a modular stochastic machine.
  • the invention also relates to a method for calculating corresponding probabilities.
  • a modular stochastic machine finds applications in all fields involving many probability calculations. These include, for example, areas related to financial markets, economic modeling or weather forecasting.
  • a modular stochastic machine solves problems generally solved by the Markov Chain Monte Carlo method.
  • asset prices are represented as the solution of a stochastic differential equation.
  • the valuation of derivatives on such assets is, in some cases, based on methods of approximating a solution of the stochastic differential equation by a discrete Markov chain combined with the Monte Carlo method.
  • software instructions are stored in a separate memory of the microprocessor. It is able to execute, by reading in the memory, software instructions based on commands received.
  • conventional microprocessor is meant a microprocessor processing information presented in a deterministic form, for example by means of bits corresponding to predefined digital words, in opposition to a representation in probabilistic form.
  • the machine comprises at least one stochastic distribution module corresponding to a plurality of random variables, the stochastic distribution module being adapted to receive as input random values of variables specified among the plurality of random variables, and to output a representation of the probability distribution of at least one unspecified random variable conditioned by the values of specified random variables received as input.
  • the machine also includes at least two stochastic variable modules, each stochastic variable module corresponding to a single random variable.
  • Each stochastic variable module includes a stochastic multiplier and a stochastic proportional normalizer.
  • a stochastic multiplier is adapted to receive as input representations of a first probability distribution and a second probability distribution of the same random variable, and to return a representation of the product probability distribution of said random variable .
  • a stochastic proportional normalizer is adapted to receive as input a bit representation of a probability distribution, and to output a proportionally normalized representation of the received probability distribution, the proportionally normalized representation comprising more than one bit than the representation received as input.
  • the machine comprises one or more of the following characteristics, taken separately or in any technically possible combination: the stochastic distribution module and the stochastic variable modules comprise stochastic bit generators, each stochastic bit generator being able to generate a stochastic bit stream whose probability of occurrence of bits at 1 is proportional to a value stored in the stochastic bit generator.
  • the stochastic distribution module comprises as many stochastic bit generators as possible combinations of the different values of the plurality of random variables.
  • the representation of the probability distribution returned at the output of the stochastic distribution module is generated from joint or conditional probability values stored in the stochastic distribution module.
  • a representation of a probability distribution on a random variable is a time series of stochastic bit vectors called sample-vectors, each sample-vector comprising as many coordinates as the cardinal of the random variable, the number of bits at 1 in the time series for the coordinates of the same rank being proportional to the probability value corresponding to said rank.
  • the stochastic bit vectors are value samples, a sample-value comprising only a single bit at 1.
  • each stochastic variable module comprises a stochastic sampler capable of being activated and deactivated, a stochastic sampler being adapted to take input samples representing a probability distribution, and to return the value samples representing the same distribution of probabilities; probabilities.
  • each stochastic variable module is adapted to operate according to a regime, called a deterministic regime, in which the stochastic variable module is capable of delivering a representation of a fixed value of the random variable.
  • each stochastic variable module is connected to the stochastic distribution module by a data bus, each data bus comprising as many wires as the cardinal of the random variable corresponding to the stochastic variable module.
  • the method comprises the steps of:
  • the stochastic distribution module being adapted to receive, as input, values of random variables specified among the plurality of random variables, and to output a representing the probability distribution of at least one unspecified random variable conditioned by the specified random variable input values, and
  • each stochastic variable module corresponding to a single random variable and comprising:
  • a stochastic multiplier adapted to receive as input representations of a first probability distribution and a second probability distribution of the same random variable, and to output a representation of the product probability distribution of said variable random
  • a stochastic proportional normalizer adapted to receive as input a bit representation of a probability distribution, and to output a proportionally normalized representation of the received probability distribution, the proportionally normalized representation comprising more than one bit of 1 that the representation received as input,
  • a representation of a probability distribution on a random variable being a time series of stochastic bit vectors called sample-vectors, each vector-sample comprising as many coordinates as the cardinal of the random variable, the number of bits at 1 in the time series for the coordinates of the same rank being proportional to the probability value corresponding to said rank,
  • the stochastic bit vectors being value samples, a sample-value comprising only a single bit at 1,
  • each stochastic variable module comprising a stochastic sampler adapted to be activated and deactivated, a stochastic sampler being adapted to input vector samples representing a distribution of probabilities, and to return the value samples representing the same distribution of probabilities ,
  • each stochastic variable module being adapted to operate according to a regime, said deterministic regime, in which the stochastic variable module is adapted to deliver a representation of a fixed value of the random variable, and
  • the machine comprising as many stochastic variable modules as random variables on which the calculation is performed; activation or deactivation of a stochastic sampling of at least one stochastic variable module according to the calculation of probabilities to be performed;
  • the method of calculation comprises one or more of the following characteristics, taken separately or in any technically possible combination:
  • the step of providing a modular stochastic machine comprises a substep of determining a number of stochastic distribution modules.
  • the step of providing a modular stochastic machine comprises a substep of determining a number of stochastic variable modules.
  • the step of providing a modular stochastic machine comprises a substep of determining a number of data buses.
  • the step of providing a modular stochastic machine comprises the implementation of an optimization algorithm for the number of stochastic distribution modules, the number of stochastic variable modules, the number of data buses and the number of stochastic distribution modules; arrangement of stochastic distribution modules, stochastic variable modules and data buses.
  • FIG. 2 a schematic representation of an exemplary stochastic distribution module
  • FIG. 3 a schematic representation of an example of a stochastic variable module
  • FIG. 4 a schematic representation of an example of a stochastic multiplier
  • FIG. 5 a schematic representation of an example of a stochastic proportional normalizer
  • FIG. 6 a schematic representation of an example of a modular stochastic machine
  • FIG. 7 an example of a configuration of the modular stochastic machine of FIG. 6 for performing a calculation of probabilities.
  • a modular stochastic machine is an arrangement of components of different types.
  • the choice of the type of component, the number of components as well as the arrangement of the components is a function of a calculation of probabilities to be achieved.
  • FIG. 1 A set of components for making a modular stochastic machine is shown in FIG. 1
  • the set of components comprises three types of components, namely a stochastic distribution module, a random variable module, and a data bus.
  • a stochastic distribution module is designated by the acronym
  • SD "Stochastic Distribution” a stochastic distribution module is designated by the acronym SV of the English “Stochastic Variable” and a data bus is designated by the acronym BD.
  • ⁇ X denotes a discrete and finite random variable.
  • nX denotes the cardinal of the random variable X, that is to say the number of possible values taken by the random variable X.
  • ⁇ ⁇ , ⁇ 2 , ... ⁇ ⁇ denotes the values taken by the random variable X .
  • P (X) denotes a probability distribution on the random variable X, that is to say the probability values as a function of the possible values of the random variable X.
  • P (X 1 , X 2 , - X n ) denotes the random variable joint probability distribution X 1 , X 2 , - X n .
  • information is conventionally represented in the form of bytes or, more generally, in the form of digital words formed of a fixed number of bits.
  • a “stochastic bit stream” is a set of bits, each bit taking by definition the value 1 or the value 0.
  • a bit taking the value 1 is designated by the expression "bit at 1".
  • a stochastic bit stream is generated by a stochastic bit generator, hereinafter referred to as the Stochastic Bit Generator (SBG).
  • SBG Stochastic Bit Generator
  • An SBG is a physical device that includes a memory for storing a value, the SBG being able to generate a bit stream whose probability of being 1 is proportional to the stored value.
  • a "bit ratio of 1" of a stochastic bit stream designating the number of bits at 1 divided by the total number of bits of the stream, the ratio of bits to 1 is proportional to the stored value.
  • An SBG is, for example, realized using the stochastic properties of magnetic tunnel junctions.
  • a magnetic tunnel junction is, in its simplest form, a thin insulating barrier, generally not exceeding 1 to 2 nanometers, between two conductive electrodes.
  • the passage of an electric current is made by tunnel effect through this barrier, the tunnel effect designating the property that possesses a quantum object to cross a potential barrier even if the energy of the quantum object is less than the minimum energy required to cross this barrier.
  • a super-paramagnetic tunnel junction oscillates stochastically between a parallel state and an antiparallel state. This results in random changes in the resistance of the nano-component that can be used to generate stochastic bits.
  • a probability distribution P (X) on a random variable X is represented by a time series of stochastic bit vectors called vector samples.
  • a vector comprises a set of coordinates each corresponding to a rank. Each coordinate is a bit.
  • the coordinate of rank i is indifferently designated by the i-th coordinate and denotes indifferently the i-th bit or bit of rank i.
  • Each vector sample has as many coordinates as possible values for the random variable.
  • the vector samples comprise n coordinates and the coordinate of rank i corresponds to the situation in which the random variable X is susceptible to take the value x t .
  • the coordinate of rank i is a bit at 1 when the random variable X takes the value x t .
  • the ratio of bits to 1 in the time series for the coordinates of the same rank relative to the total number of bits is proportional to the probability of the value corresponding to said rank.
  • the stochastic bit vectors of a time series representing a probability distribution P (X) are value samples.
  • a sample-value includes only one bit at 1.
  • bit ratios to 1 are respectively equal to the values of the represented probability distribution.
  • a deterministic value that is to say the particular case where the random variable is known, is represented by a time series of identical sample-values where, for each sample-value, the coordinate corresponding to the value of the random variable is a bit at 1, the other coordinates being bits at 0.
  • Table 3 Alternatively, the value samples are replaced by bits encoding a given piece of information, as in classical deterministic computing.
  • An SD module corresponds to a plurality of random variables.
  • plurality of random variables is meant at least two random variables.
  • An SD module corresponds, for example to two random variables.
  • An SD module corresponds, for example at least twenty random variables.
  • An SD module is adapted to receive as input random variable values specified among the plurality of random variables, and to output a representation of the probability distribution of at least one unspecified random variable conditioned by the values of random variables. specified received as input.
  • a module SD corresponding to the random variables X 1 , X 2 , ... X n is adapted to return to the output, for example, a representation of the following probability distribution:
  • an SD module is, for example, adapted to receive as input n - 1 sample-values respectively representing the values
  • an SD module includes a plurality of SBGs.
  • the SD module comprises as many SBGs as possible combinations of the different values of the plurality of random variables.
  • a SD module corresponding to two random variables X, Y each taking two values ( ⁇ , ⁇ ') and (y,') comprises four SBGs since there are four possible combinations that are (x, y), ( ⁇ , ⁇ '), (x', y) and (x ', y').
  • the representation of the probability distribution returned at the output of the SD module is generated from joint or conditional probability values stored in the SD module.
  • each SBG is capable of storing in the SBG memory a joint probability value on several random variables to generate a stochastic bit stream representative of the stored value.
  • An SD module also includes a control system capable of activating SBG outputs corresponding to specified random variable values.
  • the control system is able to select the outputs of the SBGs corresponding to probability values knowing in particular that the random variable Y ; is set to the value y t .
  • the SBG outputs corresponding to the probability values knowing that the random variable Y is set to different values y j ⁇ i are deactivated and the corresponding SBGs then generate no stochastic bit stream.
  • SBG when SBG is deactivated, it is able to generate only bits at 1. This has the advantage of generating a stream of "transparent" stochastic bits, especially when such a stochastic bit stream is found at the input of an AND logic gate.
  • the SD module of FIG. 2 corresponds to two random variables X and Y and is capable of storing the probability distribution P (X, Y).
  • the SD module includes nX x nY SBG. Since nX is 3 and nY is 2, the SD module includes six SBGs.
  • the SBGs are denoted SBGi j , where i is an integer varying from 1 to 3, j being an integer varying from 1 to 2.
  • the SBGi , 2 is specific to generate, once the output of the SBGi , 2 has been activated by the SBGi control system , 2 , a stochastic bit stream representative of the value 0.2.
  • the SD module receives as input the following sample-value representative of the information
  • the SBGu SBG 2, i and SBG 3 1 are, in this case, adapted to generate a time series of stochastic bit vectors whose rank 1 coordinates are formed by the flow of stochastic bits generated by the SBG ⁇ , whose row coordinates 2 are formed by the flow of bits generated by the stochastic SBG 2, i and whose row coordinate 3 are formed by the flow of bits generated by the stochastic SBG 3 1.
  • An SV module corresponds to a single random variable.
  • each SV module corresponds to a random variable chosen from among the plurality of random variables corresponding to an SD module.
  • Each SV module is adapted to be connected to at least one SD module by a data bus adapted to ensure the transmission of stochastic bits. SD data buses are described in more detail later.
  • an SV module is connected only to the SD module (s) corresponding to a plurality of random variables, the plurality of random variables containing the random variable corresponding to the SV module.
  • An SV module includes a stochastic multiplier, hereafter referred to as the Stochastic Product Operator (SPO), and a stochastic proportional normalizer, hereafter referred to as the Stochastic Proportional Normalisator (SPN).
  • SPO Stochastic Product Operator
  • SPN Stochastic Proportional Normalisator
  • an SV module also includes a stochastic sampler, hereinafter referred to as the Stochastic Proportional Sampler (SPS).
  • SPS Stochastic Proportional Sampler
  • a module SV corresponding to the random variable X taking the values x 1 , x 2 ,..., X n is adapted to receive as input representative samples-vectors of a plurality of distributions. of different probabilities P 1 (3 ⁇ 4P 2 (X), ..., P k (X) of the random variable X to output a representation in the form of a proportionally normalized time series of vector samples of a probability distribution P (X) of said random variable X.
  • an SV module comprises an activated SPS
  • the SV module is able to output a representation in the form of a proportionally normalized time series of sample-values of a probability distribution P (X) of said random variable X.
  • P (X) probability distribution
  • the representation of the probability distribution generated at the output of the SV module is the proportionally normalized representation of the probability distribution produced from the input probability distributions.
  • the SV module is adapted to operate according to a regime, said deterministic regime, wherein the SV module delivers stochastic bit streams representative of a fixed value for a random variable.
  • the random variable is said to be deterministic and the module SV is configured to operate in deterministic mode.
  • the SV module is firstly able to receive a first and a second probability distribution on the random variable X which are respectively denoted P t (X) and P 2 ( X), and secondly to generate the distribution of product probabilities denoted P (X) probability distributions / ⁇ () and P 2 (X).
  • the SV module receives more than two probability distributions.
  • the SV module is, for example, a cascading arrangement of two SV modules as described below.
  • the SPO is adapted to receive, as input, representations in the form of vector samples respectively of the first distribution of probabilities Pi () and of the second distribution of probabilities P 2 X) to return a representation of the distribution of product probabilities. of the same random variable X.
  • the SPO comprises AND logic gates each corresponding to a possible value of the random variable X.
  • An AND logic gate is a component implementing the AND function.
  • the "AND" function is a logical operator of the Boolean algebra which takes as input two operands taking the TRUE value or the FALSE value and which returns the TRUE value if and only if both operands are TRUE.
  • a logic gate is, for example, an electronic component comprising as input two terminals powered by either a zero voltage or a voltage of 5 V and which comprises an output having a voltage of zero or equal to 5 V.
  • the voltage value 5 V is the TRUE value, that is, a 1 bit
  • the zero voltage value is FALSE, that is, one bit at 0.
  • the voltage output is 5 V if and only if the input voltages are both equal to 5 V.
  • the SPO comprises three AND gates denoted AND 1; AND 2 , and AND 3 . I being an integer varying from 1 to 3, the AND gate, corresponding to the value xi of the random variable X.
  • the SPO is able to generate a time series of sample-vectors which is represented in the form:
  • An SPN is able to receive as input a bit representation of a probability distribution P (X), and to output a proportionally normalized representation of the received probability distribution.
  • the proportionally normalized representation comprising more than one bit than the representation received at the input.
  • the addition of bits to 1 is done proportionally, that is, the ratios between bit ratios at 1 for different ranks of the vector samples are unchanged.
  • An SPN is particularly adapted to overcome the problem of time dilution.
  • the output of the SPO is connected to the input of the SPN and the vector samples received at the input of the SPN are the vector samples returned at the output of the SPO.
  • the represented SPN is able to generate representative vector samples of the probability distribution P (X) whose coordinates corresponding to the maximum probability of the probability distribution P (X) are all bits to 1.
  • FIG. 5 illustrates the particular case of a random variable X taking three values x 1 , x 2 , x 3 and a probability distribution P (X) on the random variable X defined as follows:
  • Each SBG corresponding to a value of the random variable X receives a stream of stochastic bits corresponding to the coordinates, in the received vector samples, corresponding to this same value of the random variable X.
  • each SBGi, SBG 2 and SBG 3 comprises a counter denoted respectively Ci, C 2 and C 3 .
  • Counters Ci, C 2 and C 3 all have the same capacity, denoted N max .
  • Each counter d, C 2 and C 3 is able to increment upon receipt of a bit at 1.
  • N3 ⁇ 4 the number of increments of a counter C is denoted by N3 ⁇ 4 and is called the content of the counter C 1.
  • the SPN receiving representative vector samples of the probability distribution P (X) the counters d, C 2 and C 3 are incremented until a counter is filled.
  • the SPN is able to stop incrementing the other counters.
  • each SBG generates stochastic bit streams with the probability of having a bit equal to the content N3 ⁇ 4 of the counter C, divided by the capacity N max of the counters.
  • the capacity N max of the counters is 200.
  • bit ratios at 1 of the first, second and third coordinates are respectively:
  • the output-vector samples SPN representative of the probability distribution P (X) comprise more bits than 1 SPN input vector samples representative of the same probability distribution P (X).
  • the addition of bits to 1 thus has the advantage of reducing the time dilution.
  • the SPN also comprises counters which, unlike the example described above, are able to decrement when their capacity is reached and the bit to be generated is 1.
  • An SPS is suitable for receiving vector samples forming a proportionally normalized representation of a probability distribution to return the output of the sample-values representing the same distribution of probabilities.
  • the SPS is input connected to the output of the SPN to receive vector samples forming a proportionally normalized representation of the probability distribution P (X) and to return to output representative sample values. the same probability distribution P (X).
  • the SPS is able to be activated and deactivated.
  • the SPS When the SPS is disabled, the SPS behaves like a passive component.
  • the output of the SV module corresponds to the output of the SPN and the SV module returns proportionally normalized vector samples representative of the probability distribution produced representations of the probability distributions received at the input of the SV module.
  • the SPS When the SPS is activated, the SPS "converts" the input vector samples to return sample values. In such a case, the SPS delivers sample values representative of sampled values of the random variable corresponding to the SV module.
  • the SV module when the SPS is activated, the SV module returns to the output of the value samples comprising a single bit at 1 and for which the probability that the coefficients of rank i are bits at 1 is proportional to the probability that the random variable corresponding to the SV module takes the value x t .
  • an SV module is the arrangement of an SPO, an SPN and an SPS
  • the operation of an SV module results from the respective operations of an SPO, an SPN and an SPS described previously.
  • the SV module does not operate in a deterministic regime.
  • the SV module receives as input a set of vector samples representative of a plurality of different probability distributions of the same random variable.
  • the input of the SV module being confused with the input of an SPO, the SPO returns at the output of the representative vector samples of the probability distribution product of the different probability distributions received at the input.
  • the output of the SPO being connected to the input of an SPN, the SPN receives as input the vector samples generated by the SPO and which are representative of the probability distribution produced by the different probability distributions received at the input of the SV module.
  • the SPO then performs a normalization of the representation received in the form of vector samples, the normalization of adding bits to 1 while keeping the ratios between the bit ratios at 1 identical to the ratios between the bit ratios at 1 of the representation provided at the input of the SV module.
  • the action of the SPN has the effect of reducing the temporal dilution induced by the SPO.
  • the SPS receives as input the proportionally normalized vector samples representative of the probability distribution produced from the different probability distributions received at the input of the SV module.
  • the SPS is deactivated and the SPS behaves like a passive component.
  • the output of the SV module corresponds to the output of the SPN.
  • the SV module returns as output proportionally normalized vector samples representative of the probability distribution produced from the different probability distributions received at the input of the SV module.
  • the SPS is activated and the SPS then converts the input vector samples into value samples.
  • the output of the SV module corresponds to the output of the SPS and the SV module returns to the output sample-values representative of sampled values of the random variable corresponding to the SV module.
  • the SV module operates in deterministic mode. In such a case, a value for the random variable corresponding to the SV module is set and the SV module returns output samples representative of the value of the random variable. 5 - The data buses
  • BD data buses are able to connect SD modules and SV modules together.
  • each data bus BD has as many wires as the cardinal of the random variable corresponding to the SV module.
  • an SV module corresponding to the random variable X is connected to an SD module corresponding to the random variables X, Y by a data bus comprising nX son.
  • the data buses BD are all identical and in fact each comprise the same number of wires.
  • the data buses are suitable for being connected or disconnected. In other words, each data bus is able to be activated or inhibited so that no stochastic bit is transmitted.
  • a connection or a disconnection of a data bus results, for example, from the activation of a function integrated in an SD module or an SV module.
  • the data buses are formed by any type of physical medium capable of conveying binary information.
  • the data buses are wires, prints on a circuit, or devices adapted to exchange electromagnetic waves or optical signals.
  • a modular stochastic machine is capable of performing probability calculations on stochastic bit streams from at least two random variables.
  • the modular stochastic machine comprises SBGs, at least one SD module, at least two SV modules, and BD data buses capable of connecting SD modules and SV modules together.
  • the stochastic machine is described as modular because the stochastic machine is an assembly of SD modules, SV modules and BD data buses.
  • the assembly of a modular stochastic machine depends on the calculations of probabilities to be carried out.
  • a given assembly corresponds to a set of probability calculations and a particular configuration of the assembly is capable of performing a particular probability calculation among the set of probability calculations.
  • FIG. 10 An example of a modular stochastic machine 10 is shown in FIG.
  • the machine 10 comprises three SV modules and two SD modules.
  • a first SV module is denoted SV 1; a second SV module is noted SV 2 and a third SV module is noted SV 3 .
  • the first module SVi corresponds to a random variable O
  • the second module SV 2 corresponds to a random variable D
  • the third module SV 3 corresponds to a random variable Z.
  • a first SD module is denoted SD ⁇ and a second SD module is denoted SD 2 .
  • the first module SD ⁇ corresponds to the random variables 0, D and the second module SD 2 corresponds to the random variables 0, D, Z.
  • the machine 10 comprises a first data bus BD 1; a second data bus BD 2 , a third data bus BD 3 , a fourth data bus BD 4 and a fifth data bus BD 5 .
  • the first BD ⁇ data bus connects the first SV Module SD ⁇ ⁇ the first module.
  • the second data bus BD 2 connects the first module SV ⁇ to the second module SD 2 .
  • the third data bus BD 3 connects the second module SV 2 to the first module SD ⁇ .
  • the fourth data bus BD 4 connects the second module SV 2 to the second module SD 2 .
  • the fifth data bus BD 5 connects the third module SV 3 to the second module SD 2 .
  • Fig. 7 corresponds to Fig. 6, in which the data buses BD 1; BD 2 ,
  • BD 3 , BD 4 and BD 5 are shown differently to illustrate an example of calculation from machine 10 of FIG.
  • an arrow represented in dashed line represents the transmission of samples-values representative of a sampling by the random variable corresponding to the SV module from which the arrow originates;
  • an arrow represented in thick lines represents the transmission of sample-values, all identical, representative of the value fixed for a random variable
  • an arrow represented in fine line represents the transmission of samples-vectors representing a distribution of probabilities.
  • the random variables 0, D, Z describe an automatic driving assistance system for a motor vehicle.
  • the space at the front of the vehicle is represented by a probabilistic occupation grid formed of different cells in which, for each cell, sensors are installed to calculate probabilities.
  • Random variable 0 is binary and is 1 if the cell is busy.
  • the random variable D is binary and is equal to 1 if there has been detection by the sensor.
  • the random variable Z is a numerical random variable that corresponds to the value provided by a sensor.
  • the problem to be solved is: what is the probability that a cell is occupied knowing the measurement of the sensor?
  • the probability distribution P (0, D, Z) describes the operation of the sensor in cases of good detections, false detections and missed targets.
  • the calculation of probabilities above is carried out using a modular stochastic machine according to the method of calculating probabilities.
  • the method comprises a step of providing a modular stochastic machine.
  • the provisioning step includes sub-steps.
  • the number of SV modules is determined.
  • the calculation to be performed involving three random variables 0, D, Z, three SV modules respectively corresponding to the three random variables 0, D, Z are provided.
  • the number of SD modules is determined.
  • the probability distributions P (0, D), P (0, D, Z) being known, two SD modules respectively corresponding to the random variables 0, D and 0, D, Z are provided.
  • the number of data buses BD is determined.
  • the third substep is implemented according to the rule that an SV module is connected only to SD module (s) corresponding to a plurality of random variables, the plurality of random variables containing the random variable corresponding to the SV module. In this case, five BD data buses are needed.
  • the modular stochastic machine 10 of FIG. 6 is obtained.
  • the provisioning step comprises the implementation of an algorithm for optimizing the number of SD modules, the number of SV modules, the number of data buses and the arrangement of the SD modules. , SV modules and data buses.
  • the provisioning step is performed automatically by a software method consisting in traversing the structure of the decomposition of the desired probability distribution to produce an optimal arrangement of SD modules, SV modules and BD data bus.
  • the first set of steps comprises substeps for activating or deactivating an SPS of at least one SV module according to the calculation of probabilities to be performed.
  • the SPS of the second module SV 2 is activated.
  • the second module SV 2 delivers in this case representative sample values of sampled values of the random variable D which are transmitted to the first module SD-i on the one hand and the second module SD 2 on the other hand, since the first and the second modules SD- ⁇ and SD 2 each correspond to the random variable D.
  • the third and fourth data bus BD 3 , BD 4 connecting the second module SV 2 to the first module SD ⁇ on the one hand and the second module SD 2 on the other hand are then represented by dotted arrows.
  • the first set of steps includes substeps of operating SV modules according to the deterministic regime.
  • the third SV module 3 is configured to operate according to the deterministic regime.
  • the third module SV 3 delivers in this case all identical sample values representative of the value z fixed for the random variable Z which are transmitted to the second module SD 2 since only the second module SD 2 corresponds to the random variable Z.
  • the fifth data bus BD 5 connecting the third module SV 3 to the second module SD 2 is then represented by a thick line arrow.
  • the first module SD- ⁇ receives from the second module SV 2 sampled values of the random variable D which is specified.
  • the module SD ⁇ then generates a representation in the form of vector samples of a first distribution of probabilities Pi (O) which is expressed as follows:
  • the representative vector samples of the first probability distribution Pi (O) are transmitted to the first module SVi by the first data bus BD 1; represented by an arrow in fine line.
  • the second module SD 2 receives from the third module SV 3 identical value samples representative of the fixed value z for the random variable Z and also receives from the second module SV 2 representative sample values of sampled values of the random variable D which is specified.
  • This operation is possible because of the reception of representative sample values of sampled values of the random variable D and of sample-values representative of the value z fixed for the random variable Z.
  • the vector samples of the second probability distribution P 2 (0) are transmitted to the first module SN ⁇ by the second data bus BD 2 , represented by a thin line arrow.
  • the first module SN ⁇ then performs the following operation:
  • the first module SN ⁇ returns a proportionally normalized representation of the product of the probability distributions P t. 0) and P 2 (0) and provides the result to the problem.
  • a modular stochastic machine thus offers the possibility of performing a wide variety of probability calculations.
  • the computation speed is considerably increased compared to conventional microprocessors.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Algebra (AREA)
  • Probability & Statistics with Applications (AREA)
  • Software Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Operations Research (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Complex Calculations (AREA)

Abstract

L'invention concerne une machine (10) stochastique modulaire propre à effectuer des calculs de probabilités et comprenant : - au moins un module de distribution stochastique (SD1, SD2) correspondant à une pluralité de variables aléatoires (O, D, Z) et propre à recevoir en entrée des valeurs de variables spécifiées pour retourner en sortie une représentation de la distribution d'au moins une variable non spécifiée conditionnée par les valeurs de variables spécifiées, et - au moins deux modules de variable stochastique (SV1, SV2, SV3) correspondant chacun à une seule variable aléatoire (O, D, Z) et comprenant : + un multiplieur stochastique propre à recevoir en entrée des représentations de distributions pour retourner en sortie une représentation de la distribution produit, et + un normalisateur proportionnel stochastique propre à recevoir en entrée une représentation d'une distribution pour retourner en sortie une représentation proportionnellement normalisée.

Description

Machine stochastique modulaire et procédé associé
DOMAINE TECHNIQUE DE L'INVENTION
La présente invention concerne une machine stochastique modulaire. L'invention se rapporte également à un procédé de calcul de probabilités correspondant.
ARRIERE-PLAN TECHNOLOGIQUE
Une machine stochastique modulaire trouve des applications dans tous les domaines faisant intervenir de nombreux calculs de probabilités. Il s'agit, par exemple, des domaines relatifs aux marchés financiers, à la modélisation économique ou à la prévision météorologique.
En particulier, une machine stochastique modulaire permet de résoudre des problèmes généralement résolus par la méthode de Monte-Carlo par chaînes de Markov.
Pour le cas de la finance, par exemple, les prix des actifs sont représentés comme la solution d'une équation différentielle stochastique. L'évaluation des produits dérivés sur de tels actifs repose, dans certains cas, sur des méthodes d'approximation d'une solution de l'équation différentielle stochastique par une chaîne de Markov discrète combinée avec la méthode de Monte-Carlo.
Actuellement, dans les domaines faisant intervenir de nombreux calculs de probabilités, des microprocesseurs classiques sont utilisés, généralement au sein de systèmes informatiques de type Von Neumann.
Dans un tel cas, des instructions logicielles sont mémorisées dans une mémoire séparée du microprocesseur. Celui-ci est propre à exécuter, par lecture dans la mémoire, des instructions logicielles en fonction de commandes reçues.
Les microprocesseurs classiques présentent comme avantage de pouvoir exécuter différentes opérations pour résoudre des problèmes calculatoires de natures différentes.
Par « microprocesseur classique », il est entendu un microprocesseur traitant des informations présentées sous une forme déterministe, par exemple au moyen de bits correspondant à des mots numériques prédéfinis, en opposition avec une représentation sous forme probabiliste.
Toutefois, les microprocesseurs classiques utilisés dans les systèmes informatiques actuels connaissent une limite physique en termes de vitesse de calcul causée par des limitations en termes de cadencement des horloges et de miniaturisation des composants. Par ailleurs, il est connu des structures de microprocesseurs dits stochastiques permettant de lever certaines contraintes posées par les architectures déterministes existantes.
Toutefois, de telles structures ne permettent pas d'effectuer de manière efficace et flexible tous les calculs de probabilités. En particulier, la possibilité d'utiliser une même structure pour résoudre des problèmes distincts n'est pas aujourd'hui abordée. Dit autrement, une structure correspond à un calcul particulier de probabilités donné et ne peut pas être utilisée pour des calculs différents.
Il existe donc un besoin de disposer d'une structure de microprocesseur stochastique propre à résoudre différents problèmes de calcul de probabilités, tout en s'affranchissant des verrous technologiques d'un fonctionnement déterministe.
RESUME DE L'INVENTION
A cet effet, il est proposé une machine stochastique modulaire propre à effectuer des calculs de probabilités sur des flux de bits stochastiques. La machine comprend au moins un module de distribution stochastique correspondant à une pluralité de variables aléatoires, le module de distribution stochastique étant propre à recevoir en entrée des valeurs de variables aléatoires spécifiées parmi la pluralité de variables aléatoires, et à retourner en sortie une représentation de la distribution de probabilités d'au moins une variable aléatoire non spécifiée conditionnée par les valeurs de variables aléatoires spécifiées reçues en entrée. La machine comprend également au moins deux modules de variable stochastique, chaque module de variable stochastique correspondant à une seule variable aléatoire. Chaque module de variable stochastique comprend un multiplieur stochastique et un normalisateur proportionnel stochastique. Un multiplieur stochastique est propre à recevoir en entrée des représentations d'une première distribution de probabilités et d'une deuxième distribution de probabilités d'une même variable aléatoire, et à retourner en sortie une représentation de la distribution de probabilités produit de ladite variable aléatoire. Un normalisateur proportionnel stochastique est propre à recevoir en entrée une représentation sous forme de bits d'une distribution de probabilités, et à retourner en sortie une représentation proportionnellement normalisée de la distribution de probabilités reçue, la représentation proportionnellement normalisée comprenant plus de bit à 1 que la représentation reçue en entrée.
Suivant des modes de réalisation particuliers, la machine comprend une ou plusieurs des caractéristiques suivantes, prise(s) isolément ou suivant toutes les combinaisons techniquement possibles : - le module de distribution stochastique et les modules de variable stochastique comprennent des générateurs de bits stochastiques, chaque générateur de bits stochastiques étant propre à générer un flux de bits stochastiques dont la probabilité d'occurrence de bits à 1 est proportionnelle à une valeur mémorisée dans le générateur de bits stochastiques.
- le module de distribution stochastique comprend autant de générateurs de bits stochastiques que de combinaisons possibles des différentes valeurs de la pluralité de variables aléatoires.
- la représentation de la distribution de probabilités retournée en sortie du module de distribution stochastique est générée à partir de valeurs de probabilités conjointes ou conditionnelles mémorisées dans le module de distribution stochastique.
- une représentation d'une distribution de probabilités sur une variable aléatoire est une série temporelle de vecteurs de bits stochastiques dits échantillons-vecteurs, chaque échantillon-vecteur comprenant autant de coordonnées que le cardinal de la variable aléatoire, le nombre de bits à 1 dans la série temporelle pour les coordonnées d'un même rang étant proportionnel à la valeur de probabilité correspondant audit rang.
- les vecteurs de bits stochastiques sont des échantillons-valeurs, un échantillon- valeur ne comprenant qu'un seul bit à 1 .
- chaque module de variable stochastique comprend un échantillonneur stochastique propre à être activé et désactivé, un échantillonneur stochastique étant propre à prendre en entrée des échantillons-vecteurs représentant une distribution de probabilités, et à retourner en sortie des échantillons-valeurs représentant la même distribution de probabilités.
- chaque module de variable stochastique est adapté pour fonctionner selon un régime, dit régime déterministe, dans lequel le module de variable stochastique est propre à délivrer une représentation d'une valeur fixée de la variable aléatoire.
- chaque module de variable stochastique est connecté au module de distribution stochastique par un bus de données, chaque bus de données comprenant autant de fils que le cardinal de la variable aléatoire correspondant au module de variable stochastique.
II est également proposé un procédé de calcul de probabilités à réaliser sur au moins deux variables aléatoires. Le procédé comprend les étapes de :
- de fourniture d'une machine stochastique modulaire comprenant :
+ au moins un module de distribution stochastique correspondant à une pluralité de variables aléatoires, le module de distribution stochastique étant propre à recevoir en entrée des valeurs de variables aléatoires spécifiées parmi la pluralité de variables aléatoires, et à retourner en sortie une représentation de la distribution de probabilités d'au moins une variable aléatoire non spécifiée conditionnée par les valeurs de variables aléatoires spécifiées reçues en entrée, et
+ au moins deux modules de variable stochastique, chaque module de variable stochastique correspondant à une seule variable aléatoire et comprenant :
++ un multiplieur stochastique propre à recevoir en entrée des représentations d'une première distribution de probabilités et d'une deuxième distribution de probabilités d'une même variable aléatoire, et à retourner en sortie une représentation de la distribution de probabilités produit de ladite variable aléatoire, et
++ un normalisateur proportionnel stochastique propre à recevoir en entrée une représentation sous forme de bits d'une distribution de probabilités, et à retourner en sortie une représentation proportionnellement normalisée de la distribution de probabilités reçue, la représentation proportionnellement normalisée comprenant plus de bit à 1 que la représentation reçue en entrée,
une représentation d'une distribution de probabilités sur une variable aléatoire étant une série temporelle de vecteurs de bits stochastiques dits échantillons- vecteurs, chaque échantillon-vecteur comprenant autant de coordonnées que le cardinal de la variable aléatoire, le nombre de bits à 1 dans la série temporelle pour les coordonnées d'un même rang étant proportionnel à la valeur de probabilité correspondant audit rang,
les vecteurs de bits stochastiques étant des échantillons-valeurs, un échantillon-valeur ne comprenant qu'un seul bit à 1 ,
chaque module de variable stochastique comprenant un échantillonneur stochastique propre à être activé et désactivé, un échantillonneur stochastique étant propre à prendre en entrée des échantillons-vecteurs représentant une distribution de probabilités, et à retourner en sortie des échantillons-valeurs représentant la même distribution de probabilités,
chaque module de variable stochastique étant adapté pour fonctionner selon un régime, dit régime déterministe, dans lequel le module de variable stochastique est propre à délivrer une représentation d'une valeur fixée de la variable aléatoire, et
la machine comprenant autant de modules de variables stochastiques que de variables aléatoires sur lesquelles est réalisé le calcul ; - d'activation ou de désactivation d'un échantillonner stochastique d'au moins un module de variable stochastique en fonction du calcul de probabilités à réaliser ;
- de configuration éventuelle d'un module de variable stochastique pour que le module de variable stochastique fonctionne selon le régime déterministe, et
- de connexion ou de déconnexion de bus de données entre certains modules de variable stochastique et certains modules de distribution stochastique en fonction du calcul de probabilités à réaliser.
Suivant des modes de réalisation particuliers, le procédé de calcul comprend une ou plusieurs des caractéristiques suivantes, prise(s) isolément ou suivant toutes les combinaisons techniquement possibles :
- l'étape de fourniture d'une machine stochastique modulaire comprend une sous- étape de détermination d'un nombre de modules de distribution stochastique.
- l'étape de fourniture d'une machine stochastique modulaire comprend une sous- étape de détermination d'un nombre de modules de variable stochastique.
- l'étape de fourniture d'une machine stochastique modulaire comprend une sous- étape de détermination d'un nombre de bus de données.
- l'étape de fourniture d'une machine stochastique modulaire comprend la mise en œuvre d'un algorithme d'optimisation du nombre de modules de distribution stochastique, du nombre de modules de variable stochastique, du nombre de bus de données et de l'agencement des modules de distribution stochastique, des modules de variable stochastique et des bus de données.
BREVE DESCRIPTION DES DESSINS
D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description qui suit de modes de réalisation de l'invention, donnée à titre d'exemple uniquement et en référence aux dessins qui sont :
- figure 1 , une représentation schématique d'un ensemble de composants permettant de réaliser une machine stochastique modulaire ;
- figure 2, une représentation schématique d'un exemple de module de distribution stochastique ;
- figure 3, une représentation schématique d'un exemple de module de variable stochastique ;
- figure 4, une représentation schématique d'un exemple de multiplieur stochastique ;
- figure 5, une représentation schématique d'un exemple de normalisateur proportionnel stochastique ; - figure 6, une représentation schématique d'un exemple de machine stochastique modulaire, et
- figure 7, un exemple de configuration de la machine stochastique modulaire de la figure 6 pour effectuer un calcul de probabilités.
DESCRIPTION DETAILLEE DE MODES DE REALISATION
Une machine stochastique modulaire est un arrangement de composants de différents types.
Le choix du type de composant, du nombre de composants ainsi que de l'agencement des composants est fonction d'un calcul de probabilités à réaliser.
Un ensemble de composants permettant de réaliser une machine stochastique modulaire est représenté sur la figure 1 .
Comme visible sur la figure 1 , l'ensemble de composants comprend trois types de composants, à savoir un module de distribution stochastique, un module de variable aléatoire, et un bus de données.
Dans ce qui suit, un module de distribution stochastique est désigné par le sigle
SD de l'anglais « Stochastic Distribution », un module de distribution stochastique est désigné par le sigle SV de l'anglais « Stochastic Variable » et un bus de données est désigné par le sigle BD.
Dans ce qui suit, chaque composant est décrit indépendamment les uns des autres en référence aux figures 2 à 5. Puis un exemple de machine stochastique modulaire est présenté en référence à la figure 6. Enfin, un exemple de mise en œuvre du procédé de calcul de probabilités est décrit en référence à la figure 7.
Préalablement à la description des figures 2 à 7, les notations utilisées et des généralités sont présentées.
1 - Notations
Les notations suivantes sont utilisées dans la présente description : · X désigne une variable aléatoire discrète et finie.
• nX désigne le cardinal de la variable aléatoire X, c'est-à-dire le nombre de valeurs possibles prises par la variable aléatoire X. · χχ, χ2, ... χη désigne les valeurs prises par la variable aléatoire X. P(X) désigne une distribution de probabilités sur la variable aléatoire X, c'est-à-dire les valeurs de probabilités en fonction des valeurs possibles de la variable aléatoire X.
P([X = Xj]) désigne la probabilité que la variable aléatoire X soit égale à la valeur xt .
P(X1, X2, - Xn) désigne la distribution de probabilités conjointe variables aléatoires X1, X2, - Xn.
P(Xi désigne la probabilité conditionnelle de la variable aléatoire Xi sachant la variable aléatoire Xj .
2 - Généralités
En informatique déterministe, et en particulier dans les microprocesseurs classiques, une information est classiquement représentée sous forme d'octets ou, plus généralement, sous forme de mots numériques formés d'un nombre de bits fixés.
Dans ce qui suit, à l'inverse de l'informatique déterministe, une information est représentée sous forme de flux de bits stochastiques.
Un « flux de bits stochastiques » est un ensemble de bits, chaque bit prenant par définition la valeur 1 ou la valeur 0. Un bit prenant la valeur 1 est désigné par l'expression « bit à 1 ».
Un flux de bits stochastiques est généré par un générateur de bits stochastiques, désigné par la suite par le sigle SBG de l'anglais « Stochastic Bit Generator ».
Un SBG est un dispositif physique qui comprend une mémoire destinée à mémoriser une valeur, le SBG étant propre à générer un flux de bits dont la probabilité d'être à 1 est proportionnelle à la valeur mémorisée. Dit autrement, un « ratio de bits à 1 » d'un flux de bits stochastiques désignant le nombre de bits à 1 divisé par le nombre total de bits du flux, le ratio de bits à 1 est proportionnel à la valeur mémorisée.
Un SBG est, par exemple, réalisé en utilisant les propriétés stochastiques des jonctions à tunnel magnétique.
Une jonction magnétique à effet tunnel est, sous sa forme la plus simple, une mince barrière isolante, n'excédant généralement pas 1 à 2 nanomètres, entre deux électrodes conductrices. Le passage d'un courant électrique se fait par effet tunnel à travers cette barrière, l'effet tunnel désignant la propriété que possède un objet quantique de franchir une barrière de potentiel même si l'énergie de l'objet quantique est inférieure à l'énergie minimale requise pour franchir cette barrière. A température ambiante, une jonction super-paramagnétique à effet tunnel oscille de manière stochastique entre un état parallèle et un état antiparallèle. Il en résulte des changements aléatoires de la résistance du nano-composant pouvant être utilisés pour engendrer des bits stochastiques.
Une distribution de probabilités P(X) sur une variable aléatoire X est représentée par une série temporelle de vecteurs de bits stochastiques appelés échantillons-vecteurs.
Un vecteur comprend un ensemble de coordonnées correspondant chacune à un rang. Chaque coordonnée est un bit.
Dans ce qui suit, i étant un entier, la coordonnée de rang i est indifféremment désignée par la i-ème coordonnée et désigne indifféremment le i-ème bit ou le bit de rang i.
Chaque échantillon-vecteur comprend autant de coordonnées que de valeurs possibles pour la variable aléatoire. Formellement, pour une variable aléatoire X de cardinal nX prenant les valeurs x1, x2, ... xn, les échantillons-vecteurs comprennent n coordonnées et la coordonnée de rang i correspond à la situation dans laquelle la variable aléatoire X est susceptible de prendre la valeur xt . En particulier, la coordonnée de rang i est un bit à 1 lorsque la variable aléatoire X prend la valeur xt.
De plus, le ratio de bits à 1 dans la série temporelle pour les coordonnées d'un même rang par rapport au nombre de bits total est proportionnel à la probabilité de la valeur correspondant audit rang.
Il est représenté ci-dessous un tableau 1 illustrant un exemple de 20 échantillons- vecteurs représentatifs de la distribution de probabilités P([X = x ) = 0,1 ; P([X = x2]) = 0,5 et P([X = x3]) = 0,4 :
Tableau 1 Comme visible sur le tableau 1 , le ratio de bits à 1 est de ^ = 0,2 pour les coordonnées de rang 1 , de ^ = 1 pour les coordonnées de rang 2 et de ^ = 0,8 pour les coordonnées de rang 3. La somme des ratios de bits à 1 étant égale à 0,2 + 1 + 0,8 = 2, une normalisation par un facteur 2 permet d'obtenir les valeurs de 0,1 pour la première ligne, 0,5 pour la deuxième ligne et 0,4 pour la troisième ligne.
Alternativement, les vecteurs de bits stochastiques d'une série temporelle représentant une distribution de probabilités P(X) sont des échantillons-valeurs.
Par définition, un échantillon-valeur ne comprend qu'un seul bit à 1 .
Il est représenté ci-dessous un tableau 2 illustrant un exemple de 20 échantillons- valeurs représentatifs de la même distribution de probabilités que dans le cas du tableau 1 , à savoir la distribution de probabilités P [X = 0]) = 0,1 ; P [x = 1]) = 0,5 et P([X = 2]) = 0,4 :
Tableau 2
Comme visible sur le tableau 2, le ratio d'occurrence de bits à 1 est de— = 0,1
' 20 10
pour les coordonnées de rang 1 , de — = 0,5 pour les coordonnées de rang 2 et de
^ = 0,4 pour les coordonnées de rang 3. De fait, les ratios de bits à 1 sont respectivement égaux aux valeurs de de la distribution de probabilités représentée.
Une valeur déterministe, c'est-à-dire le cas particulier où la variable aléatoire est connue, est représentée par une série temporelle d'échantillons-valeurs tous identiques où, pour chaque échantillon-valeur, la coordonnée correspondant à la valeur de la variable aléatoire est un bit à 1 , les autres coordonnées étant des bits à 0.
Par exemple, comme représenté par un tableau 3 ci-dessous, la variable aléatoire X prenant la valeur X = x3 est représentée par la série temporelle d'échantillons-valeurs suivante :
Tableau 3 Alternativement, les échantillons-valeurs sont remplacés par des bits codant une information donnée, comme en informatique classique déterministe.
Les composants de l'ensemble de composants représenté sur la figure 1 permettant de réaliser une machine stochastique modulaire sont à présent décrits.
3 - Le module SD
3. 1 - Structure d'un module SD
Un module SD correspond à une pluralité de variables aléatoires.
Par « pluralité de variables aléatoires », il est entendu au moins deux variables aléatoires.
Un module SD correspond, par exemple à deux variables aléatoires.
Un module SD correspond, par exemple au moins vingt variables aléatoires.
Un module SD est propre à recevoir en entrée des valeurs de variables aléatoires spécifiées parmi la pluralité de variables aléatoires, et à retourner en sortie une représentation de la distribution de probabilités d'au moins une variable aléatoire non spécifiée conditionnée par les valeurs de variables aléatoires spécifiées reçues en entrée.
Dit autrement, un module SD correspondant aux variables aléatoires X1, X2, ... Xn est propre à retourner en sortie, par exemple, une représentation de la distribution de probabilités suivante :
P(Xn \x1, x2, ... xn_i) où x1, x2, - xn-i correspondant aux valeurs respectivement prises par les variables aléatoires XXl X2 l - Xn-i spécifiées.
Dans des modes de réalisation, un module SD est, par exemple, propre à recevoir en entrée n - 1 échantillons-valeurs représentant respectivement les valeurs
de variables aléatoires X1, X2, ... Xn-i spécifiées et est propre à retourner en sortie des échantillons-vecteurs de la distribution de probabilités P(Xn \x1, x2, ... xn_t).
En outre, un module SD comprend une pluralité de SBG.
En particulier, le module SD comprend autant de SBG que de combinaisons possibles des différentes valeurs de la pluralité de variables aléatoires. Par exemple, un module SD correspondant à deux variables aléatoires X, Y prenant chacune deux valeurs (χ, χ') et (y, ') comprend quatre SBG puisqu'il y a quatre combinaisons possibles qui sont (x, y), (χ, γ') , (x'. y) et (x'. y').
La représentation de la distribution de probabilités retournée en sortie du module SD est générée à partir de valeurs de probabilités conjointes ou conditionnelles mémorisées dans le module SD.
En particulier, chaque SBG est propre à mémoriser dans la mémoire du SBG une valeur de probabilité conjointe sur plusieurs variables aléatoires pour générer un flux de bits stochastiques représentatif de la valeur mémorisée.
Un module SD comprend également un système de contrôle propre à activer les sorties des SBG correspondant à des valeurs de variables aléatoires spécifiées.
A titre d'illustration, à la réception en entrée d'un échantillon-valeur représentant l'information Yt = y le système de contrôle est propre à sélectionner les sorties des SBG correspondant à des valeurs de probabilités sachant notamment que la variable aléatoire Y; est fixée à la valeur yt . Dans ce cas, les sorties des SBG correspondant aux valeurs de probabilités sachant que la variable aléatoire Y est fixée à des valeurs yj≠i différentes sont désactivées et les SBG correspondant ne génèrent alors aucun flux de bits stochastiques.
Avantageusement, lorsqu'un SBG est désactivé, il est propre à ne générer que des bits à 1 . Cela présente l'avantage de générer un flux de bits stochastiques « transparents », notamment lorsqu'un tel flux de bits stochastiques se retrouve en entrée d'une porte logique AND.
3.2 - Fonctionnement d'un module SD
Le fonctionnement d'un module SD est décrit en référence à un exemple de module SD représenté sur la figure 2.
Le module SD de la figure 2 correspond à deux variables aléatoires X et Y et est propre à mémoriser la distribution de probabilités P(X, Y) .
Dans ce cas, le module SD comprend nX x nY SBG. nX valant 3 et nY valant 2, le module SD comprend six SBG.
Les SBG sont notés SBGij, i étant un entier variant de 1 à 3, j étant un entier variant de 1 à 2. Le SBGij est propre à générer un flux de bits stochastiques représentatif de la valeur de probabilité P [X = xu Y = ,]).
Dans le présent exemple, la probabilité que la variable aléatoire X prenne la valeur xx et que la variable aléatoire Y prenne la valeur y1 valant 0,2, le SBGi,2 est propre à générer, une fois que la sortie du SBGi,2 a été activée par le système de contrôle du SBGi,2, un flux de bits stochastiques représentatif de la valeur 0,2.
Le module SD de la figure 2 permet également de générer une représentation sous la forme d'une série temporelle d'échantillons-vecteurs de la distribution de probabilités conditionnelle = y- ).
Le module SD de la figure 2 permet, par exemple, de générer une représentation sous la forme d'une série temporelle d'échantillons-vecteurs de la distribution de probabilités conjointe P([X, Y = yi]).
Pour générer une représentation sous la forme d'une série temporelle d'échantillons-vecteurs de la distribution de probabilités conditionnelle = y ), le module SD reçoit en entrée l'échantillon-valeur suivant représentatif de l'information
A la réception de l'échantillon-valeur ci-dessus, le système de contrôle active les entrée des SBG^ , SBG2,i et SBG3 1 correspondant respectivement aux valeurs de probabilités P([X = x , Y = y ), P([X = x2, Y = y ) et P([X = x3, Y = y ).
Les SBGu , SBG2,i et SBG3 1 sont, dans ce cas, propres à générer une série temporelle de vecteurs de bits stochastiques dont les coordonnées de rang 1 sont formées par le flux de bits stochastiques généré par le SBG^ , dont les coordonnées de rang 2 sont formées par le flux de bits stochastiques généré par le SBG2,i et dont les coordonnées de rang 3 sont formées par le flux de bits stochastiques généré par le SBG3 1.
La série temporelle d'échantillons-vecteurs générée par la combinaison des SBGi,i , SBG2,i et SBG3,i représente alors la distribution de probabilités P([X, Y = y ) recherchée.
4 - Le module SV 4. 1 - Structure d'un module SV
Un module SV correspond à une seule variable aléatoire.
En particulier, chaque module SV correspond à une variable aléatoire choisie parmi la pluralité de variables aléatoires correspondant à un module SD. Chaque module SV est propre à être connecté à au moins un module SD par un bus de données propre à assurer la transmission de bits stochastiques. Les bus de données SD sont décrits plus en détails par la suite.
Dans certains modes de réalisation, un module SV n'est connecté qu'au(x) module(s) SD correspondant(s) à une pluralité de variables aléatoires, la pluralité de variables aléatoires contenant la variable aléatoire correspondant au module SV.
Un module SV comprend un multiplieur stochastique, désigné par la suite par le sigle SPO de l'anglais « Stochastic Product Operator », et un normalisateur proportionnel stochastique, désigné par la suite par le sigle SPN de l'anglais « Stochastic Proportional Normalisator ».
Dans certains modes de réalisation, comme visible sur la figure 3, un module SV comprend également un échantillonneur stochastique, désigné par la suite par le sigle SPS de l'anglais « Stochastic Proportional Sampler ».
Comme visible sur la figure 3, un module SV correspondant à la variable aléatoire X prenant les valeurs x1, x2, ... , xn est propre à recevoir en entrée des d'échantillons- vecteurs représentatifs d'une pluralité de distribution de probabilités différentes P1(¾P2(X), ... , Pk (X) de la variable aléatoire X pour générer en sortie une représentation sous la forme d'une série temporelle proportionnellement normalisée d'échantillons- vecteurs d'une distribution de probabilités P(X) de ladite variable aléatoire X.
Lorsqu'un module SV comprend un SPS activé, le module SV est propre à générer en sortie une représentation sous la forme d'une série temporelle proportionnellement normalisée d'échantillons-valeurs d'une distribution de probabilités P(X) de ladite variable aléatoire X. Dans un tel cas, il est dit que le module SV est propre à retourner une série temporelle d'échantillons représentatifs de valeurs échantillonnées de la variable aléatoire correspondant audit module SV.
En particulier, la représentation de la distribution de probabilités générée en sortie du module SV est la représentation proportionnellement normalisée de la distribution de probabilités produit des distributions de probabilités reçues en entrée.
En outre, le module SV est adapté pour fonctionner selon un régime, dit régime déterministe, dans lequel le module SV délivre des flux de bits stochastiques représentatifs d'une valeur fixée pour une variable aléatoire.
Par exemple, si la variable aléatoire X de cardinal nX = 3 est fixée à la valeur X = x2 , la variable aléatoire est dite déterministe et le module SV est configuré pour fonctionner en régime déterministe. Dans un tel cas, le module SV retourne en sortie les échantillons-valeurs suivants : P([x = x ) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
P([x = ¾]) 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
P([x = X3]) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Les composants formant un module SV sont à présent décrits.
Pour faciliter la compréhension, il est considéré dans ce qui suit que le module SV est d'une part propre à recevoir une première et une deuxième distributions de probabilités sur la variable aléatoire X qui sont respectivement notées Pt (X) et P2 (X) , et d'autre part propre à générer la distribution de probabilités produit notée P(X) des distributions de probabilités /\( ) et P2 (X) .
L'homme du métier comprendra que ce qui suit s'applique de façon analogue au cas où le module SV reçoit plus de deux distributions de probabilités. Par exemple, dans le cas où un module SV reçoit trois distributions de probabilités, le module SV est, par exemple, un arrangement en cascade de deux modules SV tels que décrits ci-dessous.
Les composants formant un module SV sont à présent décrits indépendamment les uns des autres. 4. 1. 1 - Description d'un SPO
Un exemple de SPO est représenté sur la figure 4.
Le SPO est propre à recevoir en entrée des représentations sous forme d'échantillons-vecteurs respectivement de la première distribution de probabilités Pi( ) et de la deuxième distribution de probabilités P2 X) pour retourner en sortie une représentation de la distribution de probabilités produit de la même variable aléatoire X.
Le SPO comprend des portes logiques AND correspondant chacune à une valeur possible de la variable aléatoire X.
Une porte logique AND est un composant implémentant la fonction « ET ». La fonction « ET » est un opérateur logique de l'algèbre de Boole qui prend en entrée deux opérandes prenant la valeur VRAI ou la valeur FAUX et qui retourne la valeur VRAI si et seulement si les deux opérandes ont la valeur VRAI. Une porte logique est, par exemple, un composant électronique comprenant en entrée deux bornes alimentées soit par une tension nulle, soit par une tension valant 5 V et qui comprend une sortie présentant une tension nulle ou égale à 5 V. La valeur de tension 5 V correspond à la valeur VRAI, c'est- à-dire un bit à 1 , et la valeur de tension nulle correspond à la valeur FAUX, c'est-à-dire à un bit à 0. Dans ce cas, la tension en sortie vaut 5 V si et seulement si les tensions en entrée sont toutes les deux égales à 5 V. Comme visible sur la figure 4, le SPO comprend trois portes AND notées AND1 ; AND2, et AND3. I étant un entier variant de 1 à 3, la porte AND, correspondant à la valeur xi de la variable aléatoire X.
Pour l'indice i variant de 1 à 3, la porte AND, reçoit un premier flux de bits stochastiques représentatif de la valeur Pt(X = xt) et un deuxième flux de bits stochastiques représentatif de la valeur P2 X =
La porte AND, effectue un à un le produit des bits de chacun des flux reçus pour retourner en sortie un flux de bits stochastiques représentatif de la valeur P (X = xi)P2 (X = xi).
De fait, comme visible sur la figure 4, le SPO est propre à générer une série temporelle d'échantillons-vecteurs qui se représente sous la forme :
Il résulte des différents produits de probabilités P^X = χι)Ρ2 (Χ = χ;) que les échantillons-vecteurs en sortie du SPO comprennent nécessairement moins de bits à 1 que les échantillons-vecteurs représentant respectivement les distributions de probabilités Pt (X) et P2 (X).
Ce phénomène, appelé dilution temporelle, est susceptible de provoquer un ralentissement des calculs puisque le temps nécessaire pour évaluer les ratios de bits à 1 sur un flux de bits stochastiques augmente. Dit autrement, l'évaluation de la probabilité d'occurrence de bits à 1 nécessite des flux de bits stochastiques de plus en plus longs.
4. 1.2 - Description d'un SPN Un SPN est propre à recevoir en entrée une représentation sous forme de bits d'une distribution de probabilités P(X), et à retourner en sortie une représentation proportionnellement normalisée de la distribution de probabilités reçue, la représentation proportionnellement normalisée comprenant plus de bit à 1 que la représentation reçue en entrée.
En particulier, la coordonnée de rang i des échantillons-vecteurs de la représentation proportionnellement normalisée a une probabilité d'être à 1 proportionnelle à la valeur de la probabilité P([X = xt ). L'ajout de bits à 1 est effectué de manière proportionnelle, c'est-à-dire que les rapports entre les ratios de bits à 1 pour différents rangs des échantillons-vecteurs sont inchangés.
Un SPN est notamment adapté pour pallier la problématique de la dilution temporelle.
Dans le cas d'un module SV, la sortie du SPO est connectée à l'entrée du SPN et les échantillons-vecteurs reçus en entrée du SPN sont les échantillons-vecteurs retournés en sortie du SPO.
Un exemple de SPN est représenté sur la figure 5.
Selon l'exemple de la figure 5, le SPN représenté est propre à générer des échantillons-vecteurs représentatifs de la distribution de probabilités P(X) dont les coordonnées correspondant à la probabilité maximum de la distribution de probabilités P(X) sont tous des bits à 1 .
La figure 5 illustre le cas particulier d'une variable aléatoire X prenant trois valeurs x1, x2, x3 et d'une distribution de probabilités P(X) sur la variable aléatoire X définie de la façon suivante :
P([X = x2])
PQ.X = *3])
Le SPN comprend trois SBG notés SBGi , SBG2 et SBG3 correspondant respectivement aux valeurs X = xx, X = x2 et X = x3.
Chaque SBG correspondant à une valeur de la variable aléatoire X reçoit un flux de bits stochastiques correspondant aux coordonnées, dans les échantillons-vecteurs reçus, correspondant à cette même valeur de la variable aléatoire X.
Pour i variant de 1 à 3, le SBG, reçoit les coordonnées de rang i des échantillons- vecteurs représentatifs de la distribution de probabilités P(X), c'est-à-dire les coordonnées correspondant au cas où X = xt .
En outre, chaque SBGi , SBG2 et SBG3 comprend un compteur noté respectivement Ci , C2 et C3.
Les compteurs Ci , C2 et C3 ont tous la même capacité, notée Nmax.
Chaque compteur d , C2 et C3 est propre à s'incrémenter à la réception d'un bit à 1 . Pour i entier variant de 1 à 3, le nombre d'incrémentations d'un compteur C, est noté N¾ et est appelé le contenu du compteur C,.
Le compteur C, est dit rempli lorsque Nt = Nmax. Dans l'exemple de la figure 5, le SPN recevant des échantillons-vecteurs représentatifs de la distribution de probabilités P(X) , les compteurs d , C2 et C3 sont incrémentés jusqu'à ce qu'un compteur soit rempli.
Une fois qu'un compteur est rempli, le SPN est propre à arrêter l'incrémentation des autres compteurs.
Dans le présent exemple, la probabilité maximum de la distribution de probabilités P(X) correspond au cas où X = x3. De fait, le compteur C3 du SBG3 correspondant au cas où X = x3 est le compteur qui est le premier rempli.
Le SPN ayant arrêté l'incrémentation des autres compteurs, chaque SBG, génère des flux de bits stochastiques avec pour probabilité d'avoir un bit à 1 égale au contenu N¾ du compteur C, divisé par la capacité Nmax des compteurs.
Dans le présent exemple, il est considéré que la capacité Nmax des compteurs vaut 200.
Le SPN arrête l'incrémentation des autres compteurs lorsque, par exemple, les contenus des compteurs sont les suivants : i = 25
N2 = 25
N3 = 200 = Nmax
Les ratios de bits à 1 des premières, deuxièmes et troisièmes coordonnées valent respectivement :
— = 0,125
200
— = 0,125
200
200
200
En normalisant par la valeur 0,125 + 0,125 + 1 = 1,25, il est obtenu
P([ = *i]) = ¾ = 0,1 P([ = *2]) = ¾ = 0,1
P([X = *3]) = 7¾ = 0,8
Comme visible sur cette exemple, les échantillons-vecteurs en sortie du SPN représentatifs de la distribution de probabilités P(X) comprennent plus de bits à 1 que les échantillons-vecteurs en entrée du SPN représentatifs de la même distribution de probabilités P(X). L'ajout de bits à 1 présente donc pour avantage de réduire la dilution temporelle.
Selon d'autres variantes, le SPN comprend également des compteurs qui, à la différence de l'exemple précédemment décrit, sont propres à se décrémenter lorsque leur capacité est atteinte et que le bit à générer est à 1 .
4. 1.3 - Description d'un SPS Un SPS est propre à recevoir des échantillons-vecteurs formant une représentation proportionnellement normalisée d'une distribution de probabilités pour retourner en sortie des échantillons-valeurs représentant la même distribution de probabilités.
Dans le cas d'un module SV, le SPS est relié en entrée à la sortie du SPN pour recevoir des échantillons-vecteurs formant une représentation proportionnellement normalisée de la distribution de probabilités P(X) et pour retourner en sortie des échantillons-valeurs représentant la même distribution de probabilités P(X).
En outre, le SPS est propre à être activé et désactivé.
Lorsque le SPS est désactivé, le SPS se comporte comme un composant passif. Dans un tel cas, la sortie du module SV correspond à la sortie du SPN et le module SV retourne des échantillons-vecteurs proportionnellement normalisés représentatifs de la distribution de probabilités produit des représentations des distributions de probabilités reçues en entrée du module SV.
Lorsque le SPS est activé, le SPS effectue une « conversion » des échantillons- vecteurs reçus en entrée pour retourner des échantillons-valeurs. Dans un tel cas, le SPS délivre des échantillons-valeurs représentatifs de valeurs échantillonnées de la variable aléatoire correspondant au module SV.
De fait, lorsque le SPS est activé, le module SV retourne en sortie des échantillons-valeurs comprenant un unique bit à 1 et pour lesquels la probabilité que les coefficients de rang i soient des bits à 1 est proportionnelle à la probabilité que la variable aléatoire correspondant au module SV prenne la valeur xt. 4.2 - Fonctionnement d'un module SV
Un module SV étant l'agencement d'un SPO, d'un SPN et d'un SPS, le fonctionnement d'un module SV résulte des fonctionnements respectifs d'un SPO, d'un SPN et d'un SPS décrits précédemment.
Il est considéré dans ce qui suit que le module SV ne fonctionne pas en régime déterministe.
Le module SV reçoit en entrée un ensemble d'échantillons-vecteurs représentatifs d'une pluralité de distributions de probabilités différentes d'une même variable aléatoire.
L'entrée du module SV étant confondue avec l'entrée d'un SPO, le SPO retourne en sortie des échantillons-vecteurs représentatifs de la distribution de probabilités produit des différentes distributions de probabilités reçues en entrée.
La sortie du SPO étant connectée à l'entrée d'un SPN, le SPN reçoit en entrée les échantillons-vecteurs générés par le SPO et qui sont représentatifs de la distribution de probabilités produit des différentes distributions de probabilités reçues en entrée du module SV. Le SPO effectue alors une normalisation de la représentation reçue sous forme d'échantillons-vecteurs, la normalisation consistant à ajouter des bits à 1 en gardant les rapports entre les ratios de bits à 1 identiques aux rapports entre les ratios de bits à 1 de la représentation fournie en entrée du module SV.
L'action du SPN a pour effet de réduire la dilution temporelle induite par le SPO.
Enfin, la sortie du SPN étant reliée à l'entrée du SPS, le SPS reçoit en entrée les échantillons-vecteurs proportionnellement normalisés représentatif de la distribution de probabilités produit des différentes distributions de probabilités reçues en entrée du module SV.
Deux cas se présentent alors.
Dans un premier cas, le SPS est désactivé et le SPS se comporte comme un composant passif. Dans ce premier cas, la sortie du module SV correspond à la sortie du SPN. En d'autres termes, le module SV retourne en sortie des échantillons-vecteurs proportionnellement normalisés représentatifs de la distribution de probabilités produit des différentes distributions de probabilités reçues en entrée du module SV.
Dans un deuxième cas, le SPS est activé et le SPS convertit alors les échantillons- vecteurs reçus en entrée en échantillons-valeurs. Dans un tel cas, la sortie du module SV correspond à la sortie du SPS et le module SV retourne en sortie des échantillons-valeurs représentatifs de valeurs échantillonnées de la variable aléatoire correspondant au module SV.
Il est à présent considéré que le module SV fonctionne en régime déterministe. Dans un tel cas, une valeur pour la variable aléatoire correspondant au module SV est fixée et le module SV retourne en sortie des échantillons-valeurs représentatifs de la valeur de la variable aléatoire. 5 - Les bus de données
Les bus de données BD sont propres à connecter entre eux des modules SD et des modules SV.
Dans des modes de réalisation, chaque bus de données BD comprend autant de fils que le cardinal de la variable aléatoire correspondant au module SV.
Par exemple, un module SV correspondant à la variable aléatoire X est connecté à un module SD correspondant aux variables aléatoires X, Y par un bus de données comprenant nX fils.
Dans d'autres modes de réalisation, les bus de données BD sont tous identiques et comprennent de fait chacun le même nombre de fils.
Les bus de données sont propres à être connectés ou déconnectés. Dit autrement, chaque bus de données est propre à être activé ou inhibé pour qu'aucun bit stochastique ne soit transmis.
Une connexion ou une déconnexion d'un bus de données résulte, par exemple, de l'activation d'une fonction intégrée à un module SD ou à un module SV.
Les bus de données sont formés par tout type de support physique propre à acheminer des informations binaires. A titre d'illustration, les bus de données sont des fils, des impressions sur un circuit, ou des dispositifs adaptés pour échanger des ondes électromagnétiques ou des signaux optiques.
6 - La machine stochastique modulaire
6. 1 - Structure d'une machine stochastique modulaire Une machine stochastique modulaire est propre à effectuer des calculs de probabilités sur des flux de bits stochastiques à partir d'au moins deux variables aléatoires.
La machine stochastique modulaire comprend des SBG, au moins un module SD, au moins deux modules SV et des bus de données BD propres à connecter des modules SD et des modules SV entre eux. La machine stochastique est qualifiée de modulaire parce que la machine stochastique est un assemblage de modules SD, de modules SV et de bus de données BD.
L'assemblage d'une machine stochastique modulaire est fonction des calculs de probabilités à réaliser. Dit autrement, un assemblage donné correspond à un ensemble de calculs de probabilités et une configuration particulière de l'assemblage est propre à effectuer un calcul de probabilités particulier parmi l'ensemble de calculs de probabilités.
Un exemple de machine 10 stochastique modulaire est représenté sur la figure 6.
Dans cet exemple, la machine 10 comprend trois modules SV et deux modules SD.
Un premier module SV est noté SV1 ; un deuxième module SV est noté SV2 et un troisième module SV est noté SV3.
Le premier module SVi correspond à une variable aléatoire O, le deuxième module SV2 correspond à une variable aléatoire D et le troisième module SV3 correspond à une variable aléatoire Z.
Un premier module SD est noté SD^ et un deuxième module SD est noté SD2.
Le premier module SD^ correspond aux variables aléatoires 0, D et le deuxième module SD2 correspond aux variables aléatoires 0, D, Z.
Comme visible sur la figure 6, la machine 10 comprend un premier bus de données BD1 ; un deuxième bus de données BD2, un troisième bus de données BD3, un quatrième bus de données BD4 et un cinquième bus de données BD5.
Le premier bus de données BDÏ connecte le premier module SVÏ au premier module SD^ .
Le deuxième bus de données BD2 connecte le premier module SVÏ au deuxième module SD2.
Le troisième bus de données BD3 connecte le deuxième module SV2 au premier module SD^ .
Le quatrième bus de données BD4 connecte le deuxième module SV2 au deuxième module SD2.
Le cinquième bus de données BD5 connecte le troisième module SV3 au deuxième module SD2.
Le fonctionnement de la machine 10 est à présent décrit. 6.2 - Fonctionnement d'une machine stochastique modulaire
Un exemple de mise en œuvre d'un procédé de calcul de probabilités au moyen d'une machine stochastique modulaire est à présent décrit, en référence à la figure 7.
La figure 7 correspond à la figure 6, dans laquelle les bus de données BD1 ; BD2,
BD3, BD4 et BD5 sont représentés de façon différente afin d'illustrer un exemple de calcul à partir de la machine 10 de la figure 6.
Les conventions suivantes relativement aux bus de données sont utilisées dans ce qui suit :
- le sens d'une flèche indique le sens de transmission des flux de bits stochastiques ;
- une flèche représentée en pointillés représente la transmission d'échantillons- valeurs représentatifs d'un échantillonnage par la variable aléatoire correspondant au module SV dont est issue la flèche ;
- une flèche représentée en trait épais représente la transmission d'échantillons- valeurs, tous identiques, représentatifs de la valeur fixée pour une variable aléatoire, et
- une flèche représentée en trait fin représente la transmission d'échantillons- vecteurs représentatifs d'une distribution de probabilités.
Dans l'exemple de la figure 7, les variables aléatoires 0, D, Z décrivent un système d'aide automatique à la conduite pour véhicule automobile.
L'espace à l'avant du véhicule est représenté par une grille d'occupation probabiliste formée de différentes cellules dans laquelle, pour chaque cellule, des capteurs sont installés pour calculer des probabilités.
La variable aléatoire 0 est binaire et vaut 1 si la cellule est occupée.
La variable aléatoire D est binaire et vaut 1 s'il y a eu une détection par le capteur.
La variable aléatoire Z est une variable aléatoire numérique qui correspond à la valeur fournie par un capteur.
Dans le présent exemple, le problème à résoudre est le suivant : quelle est la probabilité qu'une cellule soit occupée connaissant la mesure du capteur ?
Formulé en termes mathématiques, le problème revient à déterminer la distribution de probabilités sur la variable aléatoire modélisant l'occupation connaissant la valeur retournée par le capteur, c'est-à-dire la distribution de probabilités P(0 \Z = z).
Il est considéré que les distributions de probabilités P(0, D), P(0, D, Z) sont connues, par exemple au moyen de tests.
Par construction, la distribution de probabilités P(0, D) indique les probabilités correspondant à des : - bonnes détections, il s'agit des cas dans lesquels {0 = 1, D = 1) ou {0 = 0, D =
0) ;
- fausses détections, il s'agit du cas dans lequel {0 = 0, D = 1), et
- cibles ratées, il s'agit du cas dans lequel {0 = 1, D = 0).
Par construction, la distribution de probabilités P(0, D, Z) décrit le fonctionnement du capteur dans les cas de bonnes détections, de fausses détections et de cibles ratées.
De façon connue, la distribution de probabilités recherchée s'exprime de la façon suivante : P{0 \Z = z) =∑D P(0, D)P(0, D, Z = z)
Le calcul de probabilités ci-dessus est effectué au moyen d'une machine stochastique modulaire selon le procédé de calcul de probabilités.
Le procédé comprend une étape de fourniture d'une machine stochastique modulaire.
L'étape de fourniture comprend des sous-étapes.
Dans une première sous-étape, le nombre de modules SV est déterminé. Le calcul à réaliser faisant intervenir trois variables aléatoires 0, D, Z, trois modules SV correspondant respectivement aux trois variables aléatoires 0, D, Z sont fournis.
Puis, dans une deuxième sous-étape, le nombre de modules SD est déterminé.
Les distributions de probabilités P(0, D), P(0, D, Z) étant connues, deux modules SD correspondant respectivement aux variables aléatoires 0, D et 0, D, Z sont fournis.
Enfin, dans une troisième sous-étape, le nombre de bus de données BD est déterminé. La troisième sous-étape est mise en œuvre en fonction de la règle selon laquelle un module SV n'est connecté qu'au(x) module(s) SD correspondant(s) à une pluralité de variables aléatoires, la pluralité de variables aléatoires contenant la variable aléatoire correspondant au module SV. Dans le présent cas, cinq bus de données BD sont nécessaire.
A la fin de l'étape de fourniture, la machine stochastique modulaire 10 de la figure 6 est obtenue.
Dans des modes particuliers de réalisation, l'étape de fourniture comprend la mise en œuvre d'un algorithme d'optimisation du nombre de modules SD, du nombre de modules SV, du nombre de bus de données et de l'agencement des modules SD, des modules SV et des bus de données.
Dans des modes particuliers de réalisation, l'étape de fourniture est réalisée automatiquement par un procédé logiciel consistant à parcourir la structure de la décomposition de la distribution de probabilités recherchée pour produire un agencement optimal de modules SD, des modules SV et de bus de données BD.
Puis un premier ensemble d'étapes est mis en œuvre.
Le premier ensemble d'étapes comprend des sous-étapes d'activation ou de désactivation d'un SPS d'au moins un module SV en fonction du calcul de probabilités à réaliser.
Dans le présent exemple, le SPS du deuxième module SV2 est activé. Le deuxième module SV2 délivre dans ce cas des échantillons-valeurs représentatifs de valeurs échantillonnées de la variable aléatoire D qui sont transmis au premier module SD-i d'une part et au deuxième module SD2 d'autre part, puisque le premier et le deuxième modules SD-ι et SD2 correspondent chacun à la variable aléatoire D .
Les troisième et quatrième bus de données BD3, BD4 connectant le deuxième module SV2 au premier module SD^ d'une part et au deuxième module SD2 d'autre part sont alors représentés par des flèches pointillées.
En outre, le premier ensemble d'étapes comprend des sous-étapes consistant à faire fonctionner des modules SV selon le régime déterministe.
Dans le présent exemple, le troisième module SV3 est configuré pour fonctionner selon le régime déterministe. Le troisième module SV3 délivre dans ce cas des échantillons-valeurs tous identiques représentatifs de la valeur z fixée pour la variable aléatoire Z qui sont transmis au deuxième module SD2 puisque seul le deuxième module SD2 correspond à la variable aléatoire Z.
Le cinquième bus de données BD5 connectant le troisième module SV3 au deuxième module SD2 est alors représenté par une flèche en trait épais.
A partir de cette configuration de la machine stochastique modulaire, le premier module SD-ι reçoit du deuxième module SV2 des valeurs échantillonnées de la variable aléatoire D qui est spécifiée.
Le module SD^ génère alors une représentation sous forme d'échantillons- vecteurs d'une première distribution de probabilités Pi(O) qui s'exprime de la façon suivante :
P^O) = P(0 \D = d) où les valeurs d prises par la variable aléatoire D correspondent aux échantillons- valeurs représentatifs des valeurs échantillonnées de la variable aléatoire D retournés en sortie du deuxième module SV2. Cette opération est possible du fait de la réception d'échantillons-valeurs représentatifs de valeurs échantillonnées de la variable aléatoire D.
Les échantillons-vecteurs représentatifs de la première distribution de probabilités Pi(O) sont transmis au premier module SVi par le premier bus de données BD1 ; représentés par une flèche en trait fin.
Parallèlement, le deuxième module SD2 reçoit du troisième module SV3 des échantillons-valeurs identiques représentatifs de la valeur fixée z pour la variable aléatoire Z et reçoit également du deuxième module SV2 des échantillons-valeurs représentatifs de valeurs échantillonnées de la variable aléatoire D qui est spécifiée.
Le module SD2 génère alors une représentation sous forme d'échantillons- vecteurs d'une deuxième distribution de probabilités P2(0) qui s'exprime de la façon suivante : p2 (0) = P(0 \D = d, Z = z) où les valeurs d prises par la variable aléatoire D correspondent aux échantillons- valeurs représentatifs des valeurs échantillonnées de la variable aléatoire D retournés en sortie du deuxième module SV2, et où la valeur z prise par la variable aléatoire Z correspond aux échantillons-valeurs identiques représentatifs de la valeur fixée z pour la variable aléatoire Z retournés en sortie du troisième module SV3.
Cette opération est possible du fait de la réception d'échantillons-valeurs représentatifs de valeurs échantillonnées de la variable aléatoire D et d'échantillons- valeurs représentatifs de la valeur z fixée pour la variable aléatoire Z.
Les échantillons-vecteurs de la deuxième distribution de probabilités P2(0) sont transmis au premier module SN^ par le deuxième bus de données BD2, représentés par une flèche en trait fin.
Le premier module SN^ effectue alors l'opération suivante :
P{0 \Z = z) =∑D P(0 \D = d)P{0 \D = d, Z = z) =∑D P1{0)P2 {0)
En d'autres termes, le premier module SN^ retourne en sortie une représentation proportionnellement normalisée du produit des distributions de probabilités Pt .0) et P2(0) et fournit de fait le résultat au problème posé.
La machine 10 stochastique modulaire est configurable de diverses manières pour, par exemple, calculer les distributions de probabilités P(Z\0 = o, D = d) ou P(Z\D = d). Une machine stochastique modulaire offre ainsi la possibilité d'effectuer une grande diversité de calculs de probabilités.
En outre, l'utilisation d'une machine stochastique modulaire est particulièrement simple et ne requiert pas beaucoup d'opérations.
La vitesse de calcul est considérablement augmentée par rapport aux microprocesseurs classiques.

Claims

REVENDICATIONS
1 .- Machine (10) stochastique modulaire propre à effectuer des calculs de probabilités sur des flux de bits stochastiques, la machine comprenant :
- au moins un module de distribution stochastique (SD) correspondant à une pluralité de variables aléatoires (O, D, Z), le module de distribution stochastique (SD) étant propre à recevoir en entrée des valeurs de variables aléatoires spécifiées parmi la pluralité de variables aléatoires, et à retourner en sortie une représentation de la distribution de probabilités d'au moins une variable aléatoire non spécifiée conditionnée par les valeurs de variables aléatoires spécifiées reçues en entrée, et
- au moins deux modules de variable stochastique (SV), chaque module de variable stochastique (SV) correspondant à une seule variable aléatoire (O, D, Z) et comprenant :
+ un multiplieur stochastique (SPO) propre à recevoir en entrée des représentations d'une première distribution de probabilités (Pi(X)) et d'une deuxième distribution de probabilités (P2(X)) d'une même variable aléatoire (X), et à retourner en sortie une représentation de la distribution de probabilités produit (P(X)) de ladite variable aléatoire (X), et
+ un normalisateur proportionnel stochastique (SPN) propre à recevoir en entrée une représentation sous forme de bits d'une distribution de probabilités, et à retourner en sortie une représentation proportionnellement normalisée de la distribution de probabilités reçue, la représentation proportionnellement normalisée comprenant plus de bit à 1 que la représentation reçue en entrée.
2.- Machine (10) selon la revendication 1 , dans laquelle le module de distribution stochastique (SD) et les modules de variable stochastique (SV) comprennent des générateurs de bits stochastiques (SBG), chaque générateur de bits stochastiques (SBG) étant propre à générer un flux de bits stochastiques dont la probabilité d'occurrence de bits à 1 est proportionnelle à une valeur mémorisée dans le générateur de bits stochastiques (SBG).
3.- Machine (10) selon la revendication 2, dans laquelle le module de distribution stochastique (SD) comprend autant de générateurs de bits stochastiques que de combinaisons possibles des différentes valeurs de la pluralité de variables aléatoires.
4. - Machine (10) selon l'une quelconque des revendications 1 à 3, dans laquelle la représentation de la distribution de probabilités retournée en sortie du module de distribution stochastique (SD) est générée à partir de valeurs de probabilités conjointes ou conditionnelles mémorisées dans le module de distribution stochastique (SD).
5. - Machine (10) selon l'une quelconque des revendications 1 à 4, dans laquelle une représentation d'une distribution de probabilités sur une variable aléatoire est une série temporelle de vecteurs de bits stochastiques dits échantillons-vecteurs, chaque échantillon-vecteur comprenant autant de coordonnées que le cardinal de la variable aléatoire, le nombre de bits à 1 dans la série temporelle pour les coordonnées d'un même rang étant proportionnel à la valeur de probabilité correspondant audit rang.
6. - Machine (10) selon la revendication 5, dans laquelle les vecteurs de bits stochastiques sont des échantillons-valeurs, un échantillon-valeur ne comprenant qu'un seul bit à 1 .
7. - Machine (10) selon l'une quelconque des revendications 1 à 6 prises en combinaison avec les revendications 5 et 6, dans laquelle chaque module de variable stochastique (SV) comprend un échantillonneur stochastique (SPS) propre à être activé et désactivé, un échantillonneur stochastique (SPS) étant propre à prendre en entrée des échantillons-vecteurs représentant une distribution de probabilités, et à retourner en sortie des échantillons-valeurs représentant la même distribution de probabilités.
8. - Machine (10) selon la revendication 7, dans laquelle chaque module de variable stochastique (SV) est adapté pour fonctionner selon un régime, dit régime déterministe, dans lequel le module de variable stochastique (SV) est propre à délivrer une représentation d'une valeur fixée de la variable aléatoire.
9. - Machine (10) selon l'une quelconque des revendications 1 à 8, dans laquelle chaque module de variable stochastique (SV) est connecté au module de distribution stochastique (SD) par un bus de données, chaque bus de données comprenant autant de fils que le cardinal de la variable aléatoire correspondant au module de variable stochastique (SV).
10.- Procédé de calcul de probabilités à réaliser sur au moins deux variables aléatoires, le procédé comprenant les étapes : - de fourniture d'une machine (10) stochastique modulaire comprenant :
+ au moins un module de distribution stochastique (SD) correspondant à une pluralité de variables aléatoires (O, D, Z), le module de distribution stochastique (SD) étant propre à recevoir en entrée des valeurs de variables aléatoires spécifiées parmi la pluralité de variables aléatoires, et à retourner en sortie une représentation de la distribution de probabilités d'au moins une variable aléatoire non spécifiée conditionnée par les valeurs de variables aléatoires spécifiées reçues en entrée, et
+ au moins deux modules de variable stochastique (SV), chaque module de variable stochastique (SV) correspondant à une seule variable aléatoire (O, D, Z) et comprenant :
++ un multiplieur stochastique (SPO) propre à recevoir en entrée des représentations d'une première distribution de probabilités (Pi(X)) et d'une deuxième distribution de probabilités (P2(X)) d'une même variable aléatoire (X), et à retourner en sortie une représentation de la distribution de probabilités produit (P(X)) de ladite variable aléatoire (X), et
++ un normalisateur proportionnel stochastique (SPN) propre à recevoir en entrée une représentation sous forme de bits d'une distribution de probabilités, et à retourner en sortie une représentation proportionnellement normalisée de la distribution de probabilités reçue, la représentation proportionnellement normalisée comprenant plus de bit à 1 que la représentation reçue en entrée,
une représentation d'une distribution de probabilités sur une variable aléatoire étant une série temporelle de vecteurs de bits stochastiques dits échantillons- vecteurs, chaque échantillon-vecteur comprenant autant de coordonnées que le cardinal de la variable aléatoire, le nombre de bits à 1 dans la série temporelle pour les coordonnées d'un même rang étant proportionnel à la valeur de probabilité correspondant audit rang,
les vecteurs de bits stochastiques étant des échantillons-valeurs, un échantillon-valeur ne comprenant qu'un seul bit à 1 ,
chaque module de variable stochastique (SV) comprenant un échantillonneur stochastique (SPS) propre à être activé et désactivé, un échantillonneur stochastique (SPS) étant propre à prendre en entrée des échantillons- vecteurs représentant une distribution de probabilités, et à retourner en sortie des échantillons-valeurs représentant la même distribution de probabilités, chaque module de variable stochastique (SV) étant adapté pour fonctionner selon un régime, dit régime déterministe, dans lequel le module de variable stochastique (SV) est propre à délivrer une représentation d'une valeur fixée de la variable aléatoire, et
la machine (10) comprenant autant de modules de variables stochastiques (SV) que de variables aléatoires sur lesquelles le calcul est à réaliser ;
- d'activation ou de désactivation d'un échantillonneur stochastique (SPS) d'au moins un module de variable stochastique (SV) en fonction du calcul de probabilités à réaliser ;
- de configuration éventuelle d'un module de variable stochastique (SV) pour que le module de variable stochastique (SV) fonctionne selon le régime déterministe, et
- de connexion ou de déconnexion de bus de données entre certains modules de variable stochastique (SV) et certains modules de distribution stochastique (SD) en fonction du calcul de probabilités à réaliser.
EP17788170.3A 2016-10-10 2017-10-10 Machine stochastique modulaire et procédé associé Withdrawn EP3523730A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1601463A FR3057372B1 (fr) 2016-10-10 2016-10-10 Machine stochastique modulaire et procede associe
PCT/EP2017/075857 WO2018069349A1 (fr) 2016-10-10 2017-10-10 Machine stochastique modulaire et procédé associé

Publications (1)

Publication Number Publication Date
EP3523730A1 true EP3523730A1 (fr) 2019-08-14

Family

ID=58314283

Family Applications (1)

Application Number Title Priority Date Filing Date
EP17788170.3A Withdrawn EP3523730A1 (fr) 2016-10-10 2017-10-10 Machine stochastique modulaire et procédé associé

Country Status (7)

Country Link
US (1) US20200050957A1 (fr)
EP (1) EP3523730A1 (fr)
JP (1) JP7048622B2 (fr)
KR (1) KR102493657B1 (fr)
CN (1) CN110235124B (fr)
FR (1) FR3057372B1 (fr)
WO (1) WO2018069349A1 (fr)

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5026069B1 (fr) * 1970-02-28 1975-08-28
SU940175A1 (ru) * 1980-12-18 1982-06-30 Московский Ордена Ленина И Ордена Октябрьской Революции Авиационный Институт Им.Серго Орджоникидзе Веро тностное устройство дл анализа сетей
CA2166247A1 (fr) * 1995-12-28 1997-06-29 Ravi Shankar Ananth Circuit de surveillance
WO2009111559A2 (fr) * 2008-03-04 2009-09-11 Massachusetts Institute Of Technology Logique stochastique combinatoire
US8458114B2 (en) * 2009-03-02 2013-06-04 Analog Devices, Inc. Analog computation using numerical representations with uncertainty
US20110010140A1 (en) * 2009-07-13 2011-01-13 Northrop Grumman Corporation Probability Distribution Function Mapping Method
US8161329B2 (en) * 2009-11-11 2012-04-17 International Business Machines Corporation Generating random sequences based on stochastic generative model having multiple random variates
US8645286B2 (en) * 2010-02-23 2014-02-04 Prior Knowledge, Inc. Configurable circuitry for solving stochastic problems
EP3125161A4 (fr) * 2014-03-25 2017-12-06 Hitachi, Ltd. Système d'inférence probabiliste
CN105913118B (zh) * 2015-12-09 2019-06-04 上海大学 一种基于概率计算的人工神经网络硬件实现装置
US10520975B2 (en) * 2016-03-03 2019-12-31 Regents Of The University Of Minnesota Polysynchronous stochastic circuits

Also Published As

Publication number Publication date
KR20190121288A (ko) 2019-10-25
FR3057372B1 (fr) 2022-05-20
WO2018069349A1 (fr) 2018-04-19
CN110235124A (zh) 2019-09-13
JP2019537173A (ja) 2019-12-19
FR3057372A1 (fr) 2018-04-13
KR102493657B1 (ko) 2023-01-31
CN110235124B (zh) 2023-09-26
JP7048622B2 (ja) 2022-04-05
US20200050957A1 (en) 2020-02-13

Similar Documents

Publication Publication Date Title
EP4137999B1 (fr) Circuit neuromorphique à base de cellules rram 2t2r
FR2644264A1 (fr) Reseau neuronal analogique programmable
WO2010066563A1 (fr) Dispositif a architecture pipeline de flot de donnees pour la reconnaissance et la localisation d'objets dans une image par balayage de fenetres de detection
WO2011121218A1 (fr) Générateur de séquences chaotiques et système de génération correspondant
WO2017001212A1 (fr) Microprocesseur parallèle stochastique
FR2935059A1 (fr) Procede de detection d'anomalies dans un circuit de cryptographie protege par logique differentielle et circuit mettant en oeuvre un tel procede
BE898544R (fr) Calculateur associatif permettant une multiplication rapide.
EP3523730A1 (fr) Machine stochastique modulaire et procédé associé
FR3066871A1 (fr) Dispositif logique de detection de fautes
EP4576094B1 (fr) Circuit électronique à base de cellules rram 2t2r avec précision améliorée
EP3343427B1 (fr) Procédé et dispositif de gestion de la consommation en courant d'un module intégré
EP2315388B1 (fr) Procédé sécurisé de calcul cryptographique et composant électronique correspondant.
EP0283393A1 (fr) Dispositif de calcul binaire
FR2499788A1 (fr) Circuit generateur d'impulsions utilisant une source de courant et ensemble de memorisation utilisant un tel circuit
EP3511870B1 (fr) Procédés d'apprentissage de paramètres d'un réseau de neurones à convolution, et de classification d'une donnée d'entrée
WO2016050595A1 (fr) Procede de codage d'un signal reel en un signal quantifie
FR3059805A1 (fr) Dispositif et procede de modulation, synapse artificielle comportant ledit dispositif de modulation, procede de plasticite a court terme dans un reseau de neurones artificiels comportant ladite synapse artificielle
FR3073645A1 (fr) Procede de modification aleatoire du profil de consommation d'un circuit logique, et dispositif associe
EP4557166A1 (fr) Procédé et dispositif de détermination d'appartenance aux données d'apprentissage utilisées pour l'entraînement d'un modèle de classification de données par apprentissage machine
FR2928769A1 (fr) Dispositif permettant l'utilisation d'un composant programmable dans un environnement radiatif naturel
FR2773652A1 (fr) Circuit de generation d'un signal d'activation commande
EP2329596B1 (fr) Module reconfigurable et procede de mise en oeuvre de ce module reconfigurable pour realiser des operations morphologiques
EP3622445A1 (fr) Procede, mise en oeuvre par ordinateur, de recherche de regles d'association dans une base de donnees
EP4436101A1 (fr) Verification d'une donnee
EP3516769A1 (fr) Dispositif de génération d'un signal porteur continu à partir d'un signal impulsionnel de référence

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20190430

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: SORBONNE UNIVERSITE

Owner name: CENTRE NATIONAL DE LA RECHERCHE SCIENTIFIQUE

Owner name: THALES

Owner name: PROBAYES

Owner name: UNIVERSITE GRENOBLE ALPES

Owner name: UNIVERSITE PARIS-SACLAY

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

17Q First examination report despatched

Effective date: 20211111

RAP3 Party data changed (applicant data changed or rights of an application transferred)

Owner name: UNIVERSITE GRENOBLE ALPES

Owner name: UNIVERSITE PARIS-SACLAY

Owner name: SORBONNE UNIVERSITE

Owner name: THALES

Owner name: PROBAYES

Owner name: CENTRE NATIONAL DE LA RECHERCHE SCIENTIFIQUE

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20250712