IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ サントル ナシオナル ドゥ ラ ルシェルシェサイアンティフィク(セエヌエールエス)の特許一覧 ▶ プロバイユの特許一覧 ▶ タレスの特許一覧 ▶ ユニベルシテ ドゥ パリ 11−パリ シュドの特許一覧 ▶ ウニベルシテ グルノーブル アルプの特許一覧 ▶ ユニヴェルシテ ピエール エ マリ キュリー パリ 6の特許一覧

<>
  • 特許-モジュラ確率マシンおよび関連する方法 図1
  • 特許-モジュラ確率マシンおよび関連する方法 図2
  • 特許-モジュラ確率マシンおよび関連する方法 図3
  • 特許-モジュラ確率マシンおよび関連する方法 図4
  • 特許-モジュラ確率マシンおよび関連する方法 図5
  • 特許-モジュラ確率マシンおよび関連する方法 図6
  • 特許-モジュラ確率マシンおよび関連する方法 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-03-28
(45)【発行日】2022-04-05
(54)【発明の名称】モジュラ確率マシンおよび関連する方法
(51)【国際特許分類】
   G06N 7/00 20060101AFI20220329BHJP
   G06F 17/18 20060101ALI20220329BHJP
【FI】
G06N7/00
G06F17/18 Z
【請求項の数】 10
(21)【出願番号】P 2019540700
(86)(22)【出願日】2017-10-10
(65)【公表番号】
(43)【公表日】2019-12-19
(86)【国際出願番号】 EP2017075857
(87)【国際公開番号】W WO2018069349
(87)【国際公開日】2018-04-19
【審査請求日】2020-09-10
(31)【優先権主張番号】16/01463
(32)【優先日】2016-10-10
(33)【優先権主張国・地域又は機関】FR
(73)【特許権者】
【識別番号】501089863
【氏名又は名称】サントル ナシオナル ドゥ ラ ルシェルシェ サイアンティフィク
(73)【特許権者】
【識別番号】519127731
【氏名又は名称】プロバイユ
(73)【特許権者】
【識別番号】511148123
【氏名又は名称】タレス
(73)【特許権者】
【識別番号】505011198
【氏名又は名称】ユニベルシテ ドゥ パリ 11-パリ シュド
(73)【特許権者】
【識別番号】519077687
【氏名又は名称】ウニベルシテ グルノーブル アルプ
(73)【特許権者】
【識別番号】507416908
【氏名又は名称】ソルボンヌ・ユニヴェルシテ
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【弁理士】
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100114018
【弁理士】
【氏名又は名称】南山 知広
(74)【代理人】
【識別番号】100165191
【弁理士】
【氏名又は名称】河合 章
(74)【代理人】
【識別番号】100133835
【弁理士】
【氏名又は名称】河野 努
(72)【発明者】
【氏名】ピエール ベシエール
(72)【発明者】
【氏名】ジャック ドゥルレ
(72)【発明者】
【氏名】エマニュエル マゼール
(72)【発明者】
【氏名】ラファエル ローラン
(72)【発明者】
【氏名】ジュリー グロリエ
(72)【発明者】
【氏名】マルバン フェ
(72)【発明者】
【氏名】アレクサンドル コナンクス
(72)【発明者】
【氏名】ダビド コリオー
(72)【発明者】
【氏名】ダミアン クルリオーズ
【審査官】吉倉 大智
(56)【参考文献】
【文献】特公昭50-026069(JP,B1)
【文献】国際公開第2015/145555(WO,A1)
【文献】米国特許第06104968(US,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 5/00- 7/00
G06F 17/00-17/18
G06F 7/58- 7/62
(57)【特許請求の範囲】
【請求項1】
確率ビットストリームの確率計算を行うことができるモジュラ確率マシン(10)であって、
複数のランダム変数(O、D、Z)に対応する少なくとも1つの確率分布モジュール(SD)であって、当該確率分布モジュール(SD)は、入力として、前記複数のランダム変数の中から、指定されたランダム変数の値を受け取り、出力として、前記入力として受け取った指定されたランダム変数の値により条件付けられる少なくとも1つの指定されてないランダム変数の確率の分布の表現を返すことができる、少なくとも1つの確率分布モジュール(SD)と、
それぞれが単一のランダム変数(O、D、Z)に対応する、少なくとも2つの確率変数モジュール(SV)であって、
入力として、同じランダム変数(X)の第1確率分布(P1(X))および第2確率分布(P2(X))の表現を受け取り、出力として、前記ランダム変数(X)の積確率分布(P(X))の表現を返すことができる、確率乗算器(SPO)と、
入力として、確率分布のビット形式で表現を受け取り、出力として、前記受け取った確率分布の比例して正規化された表現であって、当該比例して正規化された表現は、前記入力として受け取った表現よりも多くの1であるビットを有する、比例して正規化された表現を返すことができる、確率線形正規化器(SPN)と、を備える、少なくとも2つの確率変数モジュール(SV)と、を備える、モジュラ確率マシン(10)。
【請求項2】
前記確率分布モジュール(SD)および前記確率変数モジュール(SV)は、確率ビット生成器(SBG)であって、当該確率ビット生成器(SBG)のそれぞれは、1であるビットが生起する確率が前記確率ビット生成器(SBG)に記憶される値に比例する確率ビットストリームを生成できる、確率ビット生成器(SBG)を備える、請求項1に記載のマシン(10)。
【請求項3】
前記確率分布モジュール(SD)は、前記複数のランダム変数の異なる値の可能な組み合わせの数と同じ数の確率ビット生成器を備える、請求項2に記載のマシン(10)。
【請求項4】
前記確率分布モジュール(SD)の出力において返される確率分布の表現は、前記確率分布モジュール(SD)に記憶される同時または条件付き確率値から生成される、請求項1~3のいずれか一項に記載のマシン(10)。
【請求項5】
ランダム変数の確率分布の表現は、サンプルベクトルと呼ばれる確率ビットベクトルの時系列であって、当該サンプルベクトルのそれぞれは、前記ランダム変数の基数と同じ数の座標を有する、確率ビットベクトルの時系列であり、
同じランクの前記座標に対する前記時系列における1であるビットの数は、前記ランクに対応する確率値に比例する、請求項1~4のいずれか一項に記載のマシン(10)。
【請求項6】
前記確率ビットベクトルは、1であるビットを1つのみ有するサンプル値である、請求項5に記載のマシン(10)。
【請求項7】
各確率変数モジュール(SV)は、アクティブ化および非アクティブ化されることができる確率サンプラであって、当該確率サンプラは、入力として、確率分布を表すサンプルベクトルを取り、出力として、同じ確率分布を表すサンプル値を返すことができる、確率サンプラ(SPS)を備える、請求項5および6と組み合わされた請求項1~6のいずれか一項に記載のマシン(10)。
【請求項8】
各確率変数モジュール(SV)は、決定性レジームと呼ばれるレジームに従って動作するのに適し、当該レジームにおいて、前記確率変数モジュール(SV)は、前記ランダム変数の固定値の表現を送出することができる、請求項7に記載のマシン(10)。
【請求項9】
各確率変数モジュール(SV)は、データバスにより前記確率分布モジュール(SD)に接続され、当該データバスのそれぞれは、前記確率変数モジュール(SV)に対応する前記ランダム変数の基数と同じ数のワイヤを備える、請求項1~8のいずれか一項に記載のマシン(10)。
【請求項10】
少なくとも2つのランダム変数に対して行われる確率計算の方法であって、
モジュラ確率マシン(10)を提供するステップであって、当該モジュラ確率マシン(10)は、
複数のランダム変数(O、D、Z)に対応する少なくとも1つの確率分布モジュール(SD)であって、当該確率分布モジュール(SD)は、入力として、前記複数のランダム変数の中から、指定されたランダム変数の値を受け取り、出力として、前記入力として受け取った指定されたランダム変数の値により条件付けられる少なくとも1つの指定されてないランダム変数の確率の分布の表現を返すことができる、少なくとも1つの確率分布モジュール(SD)と、
それぞれが単一のランダム変数(O、D、Z)に対応する、少なくとも2つの確率変数モジュール(SV)であって、
入力として、同じランダム変数(X)の第1確率分布(P1(X))および第2確率分布(P2(X))の表現を受け取り、出力として、前記ランダム変数(X)の積確率分布(P(X))の表現を返すことができる、確率乗算器(SPO)と、
入力として、確率分布のビット形式で表現を受け取り、出力として、前記受け取った確率分布の比例して正規化された表現であって、当該比例して正規化された表現は、前記入力として受け取った表現よりも多くの1であるビットを有する、比例して正規化された表現を返すことができる、確率線形正規化器(SPN)と、を備える、少なくとも2つの確率変数モジュール(SV)と、を備え、
ランダム変数の確率分布の表現は、サンプルベクトルと呼ばれる確率ビットベクトルの時系列であって、当該サンプルベクトルのそれぞれは、前記ランダム変数の基数と同じ数の座標を有する、確率ビットベクトルの時系列であり、
同じランクの前記座標に対する前記時系列における1であるビットの数は、前記ランクに対応する確率値に比例し、
前記確率ビットベクトルは、1であるビットを1つのみ有するサンプル値であり、
各確率変数モジュール(SV)は、アクティブ化および非アクティブ化されることができる確率サンプラであって、当該確率サンプラは、入力として、確率分布を表すサンプルベクトルを取り、出力として、同じ確率分布を表すサンプル値を返すことができる、確率サンプラ(SPS)を備え、
各確率変数モジュール(SV)は、決定性レジームと呼ばれるレジームに従って動作するのに適し、当該レジームにおいて、前記確率変数モジュール(SV)は、前記ランダム変数の固定値の表現を送出することができ、
前記確率計算が行われるランダム変数と同じ数の確率変数モジュール(SV)を備える、マシン(10)を提供するステップと、
前記行われる確率計算に基づいて、少なくとも1つの確率変数モジュール(SV)の確率サンプラ(SPS)をアクティブ化または非アクティブ化するステップと、
前記確率変数モジュール(SV)が、前記決定性レジームに従って動作するように、前記確率変数モジュール(SV)をオプションとして構成するステップと、
前記行われる確率計算に基づいて、ある確率変数モジュール(SV)とある確率分布モジュール(SD)との間でデータバスを接続または切断するステップと、を備える、方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モジュラ確率(ストカスティック)マシン(machine stochastique modulaire)に関する。本発明は、また、対応する確率を計算する方法にも関する。
【背景技術】
【0002】
モジュラ確率マシンは、多くの確率計算に関わるすべての分野に適用可能である。例えば、金融市場、経済モデル、天気予報に関する分野に関わる。
【0003】
特に、モジュラ確率マシンは、一般にマルコフ連鎖によるモンテカルロ法を使用して解かれる問題を解くことができる。
【0004】
例えば、金融の場合、資産の価格は、確率微分方程式(e’quation diffe’rentielle stochastique)の解として表される。このような資産から導出される収益(produits)の評価は、ある場合、モンテカルロ法と組み合わされた離散マルコフ連鎖を使用して確率微分方程式に解を近似する方法に基づく。
【0005】
現在、多くの確率計算を使用する分野では、従来のマイクロプロセッサが、一般には、フォンノイマン型のコンピュータシステム内で(au sein de syste`mes informatiques de type Von Neumann)使用される。
【0006】
このような場合、ソフトウェア命令は、マイクロプロセッサの別個のメモリに記憶される。マイクロプロセッサは、メモリ内を読み取ることにより、受け取ったコマンドに基づいてソフトウェア命令を実行できる。
【0007】
従来のマイクロプロセッサは、異なる性質の計算問題を解くために異なる演算を行うことができるという利点を有する。
【0008】
「従来のマイクロプロセッサ」は、例えば、確率形式(forme probabiliste)における表現とは反対に、例えば、予め定義された数を示すワードに対応するビットを使用する、決定性形式(forme de’terministe)で提示される情報を扱うマイクロプロセッサを指す。
【0009】
しかしながら、現在のコンピュータシステムにおいて使用される従来のマイクロプロセッサは、クロックのペーシング(cadencement)の観点における(en termes de)制限により引き起こされる演算速度と構成要素の小型化との観点における物理的制限に遭遇する。
【0010】
更に、いわゆる確率マイクロプロセッサ構造は、既存の決定性アーキテクチャにより示されるいくつかの制限を取り除くことを可能にすることが周知である。
【0011】
しかしながら、このような構造は、すべての確率計算を効率よくかつ柔軟に行うことを可能にしない。特に、異なる問題を解くために同じ構造を使用する可能性は、現時点では対処されていない。言い換えれば、構造は、所与の特定の確率計算に対応し、異なる計算に使用することはできない。
【発明の概要】
【発明が解決しようとする課題】
【0012】
したがって、決定性演算(fonctionnement de’terministe)の技術的障壁に縛られることなく、異なる確率計算問題を解くことができる確率マイクロプロセッサ構造(structure de microprocesseur stochastique)を有する必要がある。
【課題を解決するための手段】
【0013】
この目的のため、確率ビットストリーム(flux de bits stochastiques)の確率計算を行うことができるモジュラ確率マシンが提案される。当該マシンは、複数のランダム変数に対応する少なくとも1つの確率分布モジュール(module de distribution stochastique)であって、確率分布モジュールは、入力として、複数のランダム変数の中から、指定されたランダム変数の値を受け取り、出力として、入力として受け取った指定されたランダム変数の値により条件付けられる少なくとも1つの指定されてないランダム変数の確率の分布の表現を返すことができる、少なくとも1つの確率分布モジュールを備える。当該マシンは、また、それぞれが単一のランダム変数に対応する、少なくとも2つの確率変数モジュール(module de variable stochastique)を備える。確率変数モジュールのそれぞれは、確率乗算器(multiplieur stochastique)および確率線形正規化器(normalisateur proportionnel stochastique)を備える。確率乗算器は、入力として、同じランダム変数の第1確率分布および第2確率分布の表現を受け取り、出力として、ランダム変数の積確率分布(distribution de probabilite’s produit de ladite variable ale’atoire)の表現を返すことができる。確率線形正規化器は、入力として、確率分布のビット形式で表現を受け取り、出力として、受け取った確率分布の比例して正規化された表現であって、当該比例して正規化された表現は、前記入力として受け取った表現よりも多くの1であるビットを有する、比例して正規化された表現を返すことができる。
【0014】
特定の実施形態によれば、当該マシンは、単独で考察され、または任意の技術的に可能な組み合わせに係る、下記の、
確率分布モジュールおよび確率変数モジュールは、確率ビット生成器であって、確率ビット生成器のそれぞれは、1であるビットが生起する確率が確率ビット生成器に記憶される値に比例する確率ビットストリームを生成できる、確率ビット生成器を備え、
確率分布モジュールは、複数のランダム変数の異なる値の可能な組み合わせの数と同じ数の確率ビット生成器を備え、
確率分布モジュールの出力において返される確率分布の表現は、確率分布モジュールに記憶される同時または条件付き確率(probabilite’s conjointes ou conditionnelles)から生成され、
ランダム変数の確率分布の表現は、サンプルベクトルと呼ばれる確率ビットベクトルの時系列(se’rie temporelle)であって、サンプルベクトルのそれぞれは、ランダム変数の基数と同じ数の座標を有する、確率ビットベクトルの時系列であり、同じランクの座標に対する時系列における1であるビットの数は、ランクに対応する確率値に比例し、
確率ビットベクトルは、1であるビットを1つのみ有するサンプル値であり、
各確率変数モジュールは、アクティブ化および非アクティブ化されることができる確率サンプラであって、確率サンプラは、入力として、確率分布を表すサンプルベクトルを取り(prendre)、出力として、同じ確率分布を表すサンプル値を返すことができる、確率サンプラを備え、
各確率変数モジュールは、決定性レジームと呼ばれるレジームに従って動作するのに適し、当該レジームにおいて、確率変数モジュールは、ランダム変数の固定値の表現を送出する(de’livrer)ことができ、
各確率変数モジュールは、データバスにより確率分布モジュールに接続され、データバスのそれぞれは、確率変数モジュールに対応するランダム変数の基数と同じ数のワイヤを備える、という特徴の1つまたは複数を備える。
【0015】
また、少なくとも2つのランダム変数に対して行われる(実現される)確率計算(calcul de probabilite’s a` re’aliser)の方法も提案される。当該方法は、
モジュラ確率マシンを提供するステップであって、モジュラ確率マシンは、
複数のランダム変数に対応する少なくとも1つの確率分布モジュールであって、確率分布モジュールは、入力として、複数のランダム変数の中から、指定されたランダム変数の値を受け取り、出力として、入力として受け取った、指定されたランダム変数の値により条件付けられる少なくとも1つの指定されてないランダム変数の確率の分布の表現を返すことができる、少なくとも1つの確率分布モジュールと、
それぞれが単一のランダム変数に対応する、少なくとも2つの確率変数モジュールであって、
入力として、同じランダム変数の第1確率分布および第2確率分布の表現を受け取り、出力として、ランダム変数の積確率分布の表現を返すことができる、確率乗算器と、
入力として、確率分布のビット形式で表現を受け取り、出力として、受け取った確率分布の比例して正規化された表現であって、比例して正規化された表現は、入力として受け取った表現よりも多くの1であるビットを有する、比例して正規化された表現を返すことができる、確率線形正規化器と、を備える、少なくとも2つの確率変数モジュールと、を備え、
ランダム変数の確率分布の表現は、サンプルベクトルと呼ばれる確率ビットベクトルの時系列であって、サンプルベクトルのそれぞれは、ランダム変数の基数と同じ数の座標を有する、確率ビットベクトルの時系列であり、
同じランクの座標に対する時系列における1であるビットの数は、ランクに対応する確率値に比例し、
確率ビットベクトルは、1であるビットを1つのみ有するサンプル値であり、
各確率変数モジュールは、アクティブ化および非アクティブ化されることができる確率サンプラであって、確率サンプラは、入力として、確率分布を表すサンプルベクトルを取り、出力として、同じ確率分布を表すサンプル値を返すことができる、確率サンプラを備え、
各確率変数モジュールは、決定性レジームと呼ばれるレジームに従って動作するのに適し、当該レジームにおいて、確率変数モジュールは、ランダム変数の固定値の表現を送出することができ、
計算が行われるランダム変数と同じ数の確率変数モジュールを備える、マシンを提供するステップと、
行われる確率計算に基づいて、少なくとも1つの確率変数モジュールの確率サンプラをアクティブまたは非アクティブ化するステップと、
確率変数モジュールが、決定性レジームに従って動作するように、確率変数モジュールをオプションとして構成するステップと、
行われる確率計算に基づいて、ある確率変数モジュールとある確率分布モジュールとの間でデータバスを接続または切断するステップと、を備える。
【0016】
特定の実施形態によれば、計算方法は、単独で考察され、または任意の技術的に可能な組み合わせに係る、下記の、
モジュラ確率マシンを提供するステップは、確率分布モジュールの数を決定するサブステップを備え、
モジュラ確率マシンを提供するステップは、確率変数モジュールの数を決定するサブステップを備え、
モジュラ確率マシンを提供するステップは、データバスの数を決定するサブステップを備え、
モジュラ確率マシンを提供するステップは、確率分布モジュールの数と、確率変数モジュールの数と、データバスの数と、確率分布モジュール、確率変数モジュール、およびデータバスの配置と、を最適にするためのアルゴリズムを実施することを備える、という特徴の1つまたは複数を備える。
【図面の簡単な説明】
【0017】
図1】モジュラ確率マシンを実現することを可能にする構成要素セットを概略的に例示する図である。
図2】確率分布モジュールの例を概略的に例示する図である。
図3】確率変数モジュールの例を概略的に例示する図である。
図4】確率乗算器の例を概略的に例示する図である。
図5】確率線形正規化器の例を概略的に例示する図である。
図6】モジュラ確率マシンの例を概略的に例示する図である。
図7】確率計算を行うための、図6のモジュラ確率マシンの構成の例を示す図である。
【発明を実施するための形態】
【0018】
本発明の他の特徴および利点は、例としてのみ、そして図面を参照して行われる、本発明の実施形態の下記の記述を読むことにより明確になるであろう。
【0019】
モジュラ確率マシンは、異なるタイプの構成要素を配置したものである。
【0020】
構成要素のタイプ、構成要素の数および構成要素の配置の選択は、行われる確率計算に依存する。
【0021】
モジュラ確率マシンを製作することを可能にする構成要素セットは、図1に示される。
【0022】
図1に示されるように、構成要素セットは、3つのタイプの構成要素、すなわち、確率分布モジュール(module de distribution stochastique)と、ランダム変数モジュール(module de variable ale’atoire)と、データバス(bus de donne’es)と、を備える。
【0023】
以降、確率分布モジュールは、英語の頭文字語SD(Stochastic Distribution)を使用して称され、確率変数モジュールは、英語の頭文字語SV(Stochastic Variable)を使用して称され、データバスは、頭文字語BD(Bus de Donne’es)で示される。
【0024】
以降、各構成要素を、図2~5を参照して、互いに独立して記述する。そして、モジュラ確率マシンの一例を、図6を参照して提示する。最後に、確率計算方法の実施形態の一例を、図7を参照して記述する。
【0025】
図2~7を記述する前に、使用される表記および一般情報を提示する。
【0026】
1-表記
下記の表記が、ここでの記述で使用される。
・Xは、離散かつ有限ランダム変数を示す。
・nXは、ランダム変数Xの基数(cardinal)、すなわち、ランダム変数Xが取り得る値(valeurs possibles)の数を示す。
・x1、x2、…、xnは、ランダム変数Xが取り得る値を示す。
・P(X)は、ランダム変数Xの確率分布、すなわち、ランダム変数Xの取り得る値の関数として確率値を示す。
・P([X=xi])は、ランダム変数Xが値xiに等しい確率を示す。
・P(X1、X2、…、Xn)は、ランダム変数X1、X2、…、Xnの同時確率分布(distribution de probabilite’s conjointe)を示す。
・P(Xi/Xj)は、ランダム変数Xjが既知の場合の、ランダム変数Xiの条件付き確率を示す。
【0027】
2-一般情報
決定性コンピューティング(informatique de’terministe)において、特に、従来のマイクロプロセッサにおいて、情報は、バイト形式で従来のように表されるか、または、より一般的には、固定数のビットにより構成される数を示すワードの形式で表される。
【0028】
以降、決定性コンピューティングとは異なり、情報は、確率ビットストリーム(flux de bits stochastiques)の形式で表される。
【0029】
「確率ビットストリーム」はビットのセットであり、定義により、各ビットは、値1または値0を取る。値1を取るビットは、「1であるビット」の表現で示される。
【0030】
確率ビットストリームは、確率ビット生成器(Stochastic Bit Generator;SBG)により生成される。
【0031】
SBGは、値を記憶するように意図されるメモリを備える物理装置であり、SBGは、1である確率が、記憶される値に比例するビットストリームを生成できる。言い換えれば、確率ビットストリームの「1であるビットの割合(ratio)」は、1であるビットの数を、ストリームにおけるビット総数で割った商を示し、1であるビットの割合は、記憶される値に比例する。
【0032】
SBGは、例えば、磁気トンネル接合(jonctions a` tunnel magne’tique)の確率特性を使用して製造される。
【0033】
トンネル効果磁気接合(jonction magne’tique a` effet tunnel)は、その最も簡単な形式において、通常は、1~2ナノメートルを超えない、2つの伝導性電極間の薄い絶縁障壁である。電流の通過は、この障壁を通してのトンネル効果により行われ、トンネル効果とは、量子オブジェクトのエネルギが、上記障壁を越えるために必要な最小エネルギよりも低くても電位障壁を越えるという、量子オブジェクトが有する特性のことである。周囲温度において、トンネル効果超常磁性接合(jonction super-paramagne’tique a` effet tunnel)は、平行状態(e’tat paralle`le)と反平行状態(e’tat antiparalle`le)との間で確率的に振動する(oscille)。これは、確率ビットを作成するために使用できるナノ構成要素の抵抗に対するランダムな変化という結果になる。
【0034】
ランダム変数Xの確率分布P(X)は、サンプルベクトルと呼ばれる確率ビットベクトルの時系列(se’rie temporelle de vecteurs de bits stochastiques)により表される。
【0035】
ベクトルは、それぞれがランクに対応する座標のセットを備える。各座標は、ビットである。
【0036】
以降、iを整数として、ランクiの座標は、一様にi番目の座標により示され、i番目のビットまたはランクiのビットを一様に示す。
【0037】
各サンプルベクトルは、ランダム変数に対して取り得る値の数と同じ数の座標を備える。形式的に述べれば、値x1、x2、…、xnを取る基数nXのランダム変数Xに対して、サンプルベクトルは、n個の座標を備え、ランクiの座標は、ランダム値Xが、値xiを取ることができる状況に対応する。特に、ランダム変数Xが値xiを取るとき、ランクiの座標は、1であるビットである。
【0038】
更に、同じランクの座標に対する時系列における1であるビットの、ビットの総数に対する比は、上記ランクに対応する値の確率に比例する。
【0039】
下記は、確率P([X=x1])=0.1、P([X=x2])=0.5、およびP([X=x3])=0.4の分布を表す、20個のサンプルベクトルの例を例示する表1である。
<表1>
【表1】
【0040】
表1に示されるように、1であるビットの割合は、ランク1の座標に対しては、4/20=0.2、ランク2の座標に対しては、20/20=1、そして、ランク3の座標に対しては、16/20=0.8である。
【0041】
1であるビットの割合の合計は、0.2+1+0.8=2に等しく、ファクタ2による正規化により、第1行に対して、0.1、第2行に対して0.5、そして、第3行に対して0.4の値を得ることができる。
【0042】
代替として、確率分布P(X)を表す、時系列の確率ビットのベクトルは、サンプル値である。
【0043】
定義により、サンプル値は、1であるビットを1つのみ備える。
【0044】
下記は、表1と同じように、同じ確率の分布を表す20個のサンプル値の例を例示し、すなわち、確率分布P([X=0])=0.1、P([X=1])=0.5、そしてP([X=2])=0.4である。
<表2>
【表2】
【0045】
表2に示されるように、1であるビットの生起比は、ランク1の座標に対しては、2/20=0.1、ランク2の座標に対しては、10/20=0.5、そしてランク3の座標に対しては、8/20=0.4である。実際には、1であるビットの割合は、それぞれ、表される確率分布の値に等しい。
【0046】
決定性値は、すなわち、ランダム変数が既知である特定の場合、すべてが同じサンプル値の時系列で表され、各サンプル値に対して、ランダム変数の値に対応する座標は、1であるビットであり、他の座標は、0であるビットである。
【0047】
例えば、下記の表3に示されるように、値X=x3を取るランダム変数Xが、サンプル値の下記の時系列により示される。
<表3>
【表3】
【0048】
代替として、サンプル値は、従来の決定性演算におけるように、所与の情報を符号化したビットにより置き換えられる。
【0049】
モジュラ確率マシンを製作することができる、図1に示される構成要素セットの構成要素について、ここで記述する。
【0050】
3-SDモジュール
3.1-SDモジュールの構造
SDモジュールは、複数のランダム変数に対応する。
【0051】
「複数のランダム変数」とは、少なくとも2つのランダム変数を指す。
【0052】
SDモジュールは、例えば、2つのランダム変数に対応する。
【0053】
SDモジュールは、例えば、少なくとも20個のランダム変数に対応する。
【0054】
SDモジュールは、複数のランダム変数の中から、指定されたランダム変数の値の入力を受け取ることができ、この入力として受け取った、指定されたランダム変数の値により条件付けられる少なくとも1つの指定されてないランダム変数の確率の分布の表現を、出力として返すことができる。
【0055】
言い換えれば、ランダム変数X1、X2、…、Xnに対応するSDモジュールは、出力として、例えば、下記の確率分布の表現を返すことができる。
P(Xn|x1、x2、…、xn-1
ここで、x1、x2、…、xn-1は、指定されたランダム変数X1、X2、…、Xn-1が取るそれぞれの値に対応する。
【0056】
実施形態において、例えば、SDモジュールは、入力として、それぞれが指定されたランダム変数X1、X2、…、Xn-1の値x1、x2、…、xn-1を表すn-1個のサンプル値を受け取ることができ、出力として、確率P(Xn|x1、x2、…、xn-1)の分布のサンプル値を返すことができる。
【0057】
更に、SDモジュールは、複数のSBGを備える。
【0058】
特に、SDモジュールは、複数のランダム変数の異なる値の可能な組み合わせの数と同じ数のSBGを備える。
【0059】
例えば、それぞれが2つの値(x、x’)および(y、y’)を取る、2つのランダム変数X、Yに対応するSDモジュールは、4つの可能な組み合わせ、すなわち、(x、y)、(x、y’)、(x’、y)および(x’、y’)があるので、4つのSBGを備える。
【0060】
SDモジュールの出力において返される確率分布の表現は、SDモジュールに記憶される同時または条件付き確率値(valeurs de probabilite’s conjointes ou conditionnelles)から生成される。
【0061】
特に、各SBGは、SBGのメモリに、複数のランダム変数の同時確率値を記憶して、記憶される値を表す確率ビットのストリームを生成できる。
【0062】
SDモジュールは、また、指定されたランダム変数値に対応するSBGの出力をアクティブ化できる制御システムを備える。
【0063】
例示として、情報Yi=yiを表すサンプル値を入力として受け取ると、制御システムは、特に、ランダム変数Yiは、値yiに設定されることが既知なので、確率値に対応するSBGの出力を選択することができる。この場合、ランダム変数Yiが、異なる値yj≠iに設定されることを既知とする確率値に対応するSBGの出力は非アクティブ化され、これらの対応するSBGは、確率ビットストリームを生成しない。
【0064】
有利には、SBGが非アクティブ化されると、1であるビットのみを生成することが可能である。これは、「透明な(transparents)」確率ビットストリームを生成するという利点を有し、このような確率ビットストリームがAND論理ゲートの入力において見い出されるとき特に利点となる。
【0065】
3.2-SDモジュールの動作
SDモジュールの動作を、図2に示される例としてのSDモジュールを参照して記述する。
【0066】
図2のSDモジュールは、2つのランダム変数XおよびYに対応し、確率分布P(X,Y)を記憶できる。
【0067】
この場合、SDモジュールは、nX×nY個のSBGを備える。nXは3に等しく、nYは2に等しいので、SDモジュールは、6個のSBGを備える。
【0068】
SBGは、SBGi、jと示され、iは、1から3に変化する整数であり、jは、1から2に変化する整数である。SBGi、jは、確率値P([X=xi、Y=yj])を表す確率ビットストリームを生成できる。
【0069】
この例において、ランダム変数Xが値x1を取り、ランダム変数Yが値y1を取る確率は0.2に等しく、SBG1,2が、SBG1,2の制御システムによりいったんアクティブ化されると、SBG1,2は、値0.2を表す確率ビットストリームを生成できる。
【0070】
図2のSDモジュールは、また、条件付き確率分布P([X|Y=y1])のサンプル値の時系列の形式の表現を生成することを可能にする。
【0071】
図2のSDモジュールは、例えば、同時確率分布P([X、Y=y1])のサンプル値の時系列の形式の表現を生成することを可能にする。
【0072】
条件付き確率分布P([X|Y=y1])のサンプル値の時系列の形式の表現を生成するために、SDモジュールは、入力として、情報Y=y1を表す下記のサンプル値を受け取る。
<表4>
【表4】
【0073】
上記のサンプル値を受け取ると、制御システムは、それぞれが確率値P([X=x1、Y=y1])、P([X=x2、Y=y1])、およびP([X=x3、Y=y1])に対応する、SBG1,1、SBG2,1、およびSBG3,1の入力をアクティブ化する。
【0074】
SBG1,1、SBG2,1およびSBG3,1は、この場合、確率ビットベクトルの時系列を生成でき、そのランク1の座標は、SBG1,1により生成される確率ビットストリームにより形成され、ランク2の座標は、SBG2,1により生成される確率ビットストリームにより形成され、ランク3の座標は、SBG3,1により生成される確率ビットストリームにより形成される。
【0075】
そして、SBG1,1、SBG2,1、およびSBG3,1の組み合わせにより生成されるサンプルベクトルの時系列は、所望の確率分布P([X、Y=y1])を表す。
【0076】
4-SVモジュール
4.1-SVモジュールの構造
SVモジュールは、単一のランダム変数に対応する。
【0077】
特に、各SVモジュールは、1つのSDモジュールに対応する複数のランダム変数の中から選択された1つのランダム変数に対応する。
【0078】
各SVモジュールは、確率ビットを送ることができるデータバスにより、少なくとも1つのSDモジュールに接続できる。このSDデータバスについては、後で、より詳細に記述される。
【0079】
ある実施形態において、SVモジュールは、複数のランダム変数に対応するSDモジュールに接続されるのみであり、上記複数のランダム変数は、SVモジュールに対応するランダム変数を含む。
【0080】
SVモジュールは、確率乗算器(Stochastic Product Operator;SPO)と、確率線形正規化器(Stochastic Proportional Normalisator;SPN)と、を備える。
【0081】
ある実施形態において、図3に示されるように、SVモジュールは、また、確率比例サンプラ(Stochastic Proportional Sampler;SPS)も備える。
【0082】
図3に示されるように、値x1、x2、…、xnを取るランダム変数に対応するSVモジュールは、入力として、ランダム変数Xの複数の異なる確率分布P1(X)、P2(X)、…、Pk(X)を表すサンプルベクトルを受け取り、出力として、上記ランダム変数Xの確率分布P(X)のサンプルベクトルの比例して正規化された時系列の形式の表現を生成できる。
【0083】
SVモジュールが、アクティブ化されたSPSを備えるとき、SVモジュールは、出力として、上記ランダム変数Xの確率分布P(X)のサンプル値の比例して正規化された時系列の形式の表現を生成できる。このような場合において、SVモジュールは、上記SVモジュールに対応するランダム変数のサンプリングされた値を表すサンプルの時系列を返すことができると明言される。
【0084】
特に、SVモジュールの出力として生成される確率分布の表現は、入力として受け取った確率分布の積確率分布の比例して正規化された表現である。
【0085】
更に、SVモジュールは、決定性レジーム(re’gime de’terministe)と呼ばれるレジームに従って動作することに適しており、そのレジームにおいて、SVモジュールは、ランダム変数に対して設定された値を表す確率ビットストリームを送出する。
【0086】
例えば、基数nX=3のランダム変数Xが値X=x2に設定される場合、ランダム変数は決定性であると言われ、SVモジュールは、決定性レジームにおいて動作するように構成される。このような場合において、SVモジュールは、出力として下記のサンプル値を返す。
<表5>
【表5】
【0087】
SVモジュールを形成する構成要素をここで記述する。
【0088】
理解を容易にするために、以降では、SVモジュールは、一方では、それぞれがP1(X)およびP2(X)と示されるランダム変数Xの第1および第2確率分布を受け取ることができ、他方では、確率分布P1(X)およびP2(X)の、P(X)と示される積確率分布(distribution de probabilite’s produit)を生成できると考える。
【0089】
当業者であれば、下記のことが同様に、SVモジュールが2つより多い確率分布を受け取る場合にも当てはまることを理解するであろう。例えば、SVモジュールが3つの確率分布を受け取る場合、SVモジュールは、例えば、下記に記述するように、2つのSVモジュールのカスケード配置である。
【0090】
SVモジュールを形成する構成要素を、ここで互いに独立して記載する。
【0091】
4.1.1-SPOの説明
例としてのSPOが図4に示される。
【0092】
SPOは、出力として、同じランダム値Xの積確率分布の表現を返すために、入力として、第1確率分布P1(X)および第2確率分布P2(X)のそれぞれのサンプルベクトルの形式の表現を受け取ることができる。
【0093】
SPOは、それぞれがランダム変数Xの1つの取り得る値に対応するAND論理ゲートを備える。
【0094】
AND論理ゲートは、「AND」関数を実施する構成要素である。「AND」関数は、入力として、TRUE値またはFALSE値を取る2つの被演算子を使用し、両方の被演算子がTRUE値を有する場合のみ、TRUE値を返すブール代数における論理演算子である。論理ゲートは、例えば、入力として、ゼロ電圧または5Vに等しい電圧のいずれかが供給される2つの端子を備え、ゼロ電圧または5Vに等しい電圧を有する出力を備える電子構成要素である。5Vの電圧値は、TRUE値に、すなわち、1であるビットに対応し、ゼロ電圧は、FALSE値に、すなわち、0であるビットに対応する。この場合、入力電圧が共に5Vに等しい場合のみ、出力電圧は、5Vに等しい。
【0095】
図4に示されるように、SPOは、AND1、AND2、およびAND3と示される3つのANDゲートを備える。iを1から3に変化する整数とすると、ゲートANDiは、ランダム変数Xの値x1に対応する。
【0096】
1から3に変化するインデックスiに対して、ゲートANDiは、値P1(X=xi)を表す第1確率ビットストリームと、値P2(X=xi)を表す第2確率ビットストリームと、を受け取る。
【0097】
ANDiゲートは、出力として、値P1(X=xi)P2(X=xi)を表す確率ビットストリームを返すために、受け取ったストリームのそれぞれのビットの積を1つずつ得る。
【0098】
実際には、図4に示されるように、SPOは、下記の形式で表現されるサンプルベクトルの時系列を生成できる。
<表6>
【表6】
【0099】
異なる確率の積P1(X=xi)P2(X=xi)から、SPOの出力におけるサンプルベクトルは、必然的に、確率分布P1(X)およびP2(X)をそれぞれ表すサンプルベクトルよりも少ない数の1であるビットを備えることが明らかになる。
【0100】
この現象は、時間的希釈(dilution temporelle)と呼ばれ、確率ビットストリームに対する1であるビットの割合の評価に必要な時間が増大するので、計算を遅くさせ得る。言い換えれば、1であるビットが生起する可能性の評価は、ますます長くなる確率ビットストリームを必要とする。
【0101】
4.1.2-SPNの説明
SPNは、入力として、確率分布P(X)のビット形式の表現を受け取ることができ、出力として、受け取った確率分布の比例して正規化された表現を返すことができ、比例して正規化された表現は、入力として受け取った表現よりも、より多くの1であるビットを備える。
【0102】
特に、比例して正規化された表現のサンプルベクトルのランクiの座標は、確率P([X=xi])の値に比例する、1である確率(probabilite’)を有する。
【0103】
1であるビットの加算は、比例して行われ、すなわち、サンプルベクトルの異なるランクに対する1であるビットの割合の間の関係は変わらない。
【0104】
SPNは、時間的希釈の問題を相殺するために特に適合される。
【0105】
SVモジュールの場合、SPOの出力は、SPNの入力に接続され、SPNの入力として受け取られるサンプルベクトルは、SPOの出力において返されるサンプルベクトルである。
【0106】
例としてのSPNが図5に示される。
【0107】
図5の例によれば、例示されるSPNは、確率分布P(X)の最大確率に対応する座標がすべて1であるビットである確率分布P(X)を表すサンプルベクトルを生成できる。
【0108】
図5は、3つの値x1、x2、x3を取るランダム変数と、下記のように定義されるランダム変数Xの確率分布P(X)と、の特定の場合を例示する。
P([X=x1])=0.1
P([X=x2])=0.1
P([X=x3])=0.8
【0109】
SPNは、それぞれが値X=x1、X=x2およびX=x3に対応する、SBG1、SBG2およびSBG3と示される3つのSBGを備える。
【0110】
ランダム変数Xの値に対応する各SBGは、座標に対応し、受け取ったサンプル値において、このランダム変数Xの同じ値に対応する、確率ビットストリームを受け取る。
【0111】
1から3に変化するiに対して、SBGiは、確率分布P(X)表すサンプルベクトルのランクiの座標、すなわち、X=x1の場合に対応する座標を受け取る。
【0112】
更に、各SBG1、SBG2およびSBG3は、それぞれC1、C2およびC3と示されるカウンタを備える。
【0113】
カウンタC1、C2およびC3は、すべて、Nmaxと示される同じ容量を有する。
【0114】
各カウンタC1、C2およびC3は、1であるビットを受け取ると増加させることができる。1から3に変化する整数iに対して、カウンタCiの増加の数は、Niと示され、カウンタCiの内容(contenu)と呼ばれる。
【0115】
カウンタCiは、Ni=Nmaxのときフルである(rempli)という。
【0116】
図5の例において、SPNが、確率分布P(X)を表すサンプルベクトルを受け取り、C1、C2およびC3は、カウンタがフルになるまで増加される。
【0117】
いったんカウンタがフルになると、SPNは、他のカウンタの増加を停止できる。
【0118】
この例において、確率分布P(X)の最大確率は、X=x3の場合に対応する。実際には、X=x3の場合に対応するSBG3のカウンタC3は、最初にフルになるカウンタである。
【0119】
SPNが、他のカウンタの増加を停止すると、各SBGiは、1に等しいビットを有する確率が、カウンタの容量Nmaxで除算されたカウンタCiの内容Niと等しい確率ビットストリームを生成する。
【0120】
この例において、カウンタの容量Nmaxは、200に等しいと考える。
【0121】
SPNは、他のカウンタの増加を、例えば、カウンタの内容が下記のようなときに停止する。
1=25
2=25
3=200=Nmax
【0122】
第1、第2、および第3座標の1であるビットの割合は、それぞれ下記に等しい。
25/200=0.125
25/200=0.125
200/200=1
【0123】
0.125+0.125+1=1.25の値で正規化することにより、下記が得られる。
P([X=x1])=0.125/1.25=0.1
P([X=x2])=0.125/1.25=0.1
P([X=x3])=1/1.25=0.8
【0124】
この例に示されるように、確率分布P(X)を表すSPNの出力におけるサンプルベクトルは、同じ確率分布P(X)を表すSPNの入力におけるサンプルベクトルよりも、より多くの1であるビットを備える。したがって、1であるビットの加算は、時間的分布を削減する利点を有する。
【0125】
他の変形例によれば、SPNは、また、前述した例とは異なり、その容量に到達し、生成されるビットが1であるときに減少させることができるカウンタも備える。
【0126】
4.1.3-SPSの説明
SPSは、出力として、同じ確率分布を表すサンプル値を返すために、確率の分布の比例して正規化された表現を形成するサンプルベクトルを受け取ることができる。
【0127】
SVモジュールの場合、SPSは、入力として、SPNの出力に接続されることによって、確率分布P(X)の比例して正規化された表現を形成するサンプルベクトルを受け取り、出力として、同じ確率分布P(X)を表すサンプル値を返す。
【0128】
更に、SPSは、アクティブ化および非アクティブ化されることができる。
【0129】
SPSが非アクティブ化されると、SPSは、受動構成要素(composant passif)のように動作する。このような場合、SVモジュールの出力は、SPNの出力に対応し、SVモジュールは、SVモジュールの入力において受け取った確率分布の表現の積確率分布を表す、比例して正規化されたサンプルベクトルを返す。
【0130】
SPSがアクティブ化されると、SPSは、サンプル値を返すために、入力において受け取ったサンプルベクトルの「変換」を行う。このような場合、SPSは、SVモジュールに対応するランダム変数のサンプリングされた値を表すサンプル値を送出する。
【0131】
実際には、SPSがアクティブ化されると、SVモジュールは、出力として、単一の1であるビットを備え、ランクiの係数(coefficients)が1であるビットである確率が、SVモジュールに対応するランダム変数が値xiを取る確率に比例するサンプル値を返す(le module SV retourne en sortie des e’chantillons-valeurs comprenant un unique bit a` 1 et pour lesquels la probabilite’ que les coefficients de rang i soient des bits a` 1 est proportionnelle a` la probabilite’ que la variable ale’atoire correspondant au module SV prenne la valeur xi)。
【0132】
4.2-SVモジュールの動作
SVモジュールは、SPO、SPN、およびSPSを配置したものなので、SVモジュールの動作は、前述したSPO、SPN、およびSPSのそれぞれの動作に起因する。
【0133】
以降、SVモジュールは、決定性レジームでは動作しないと考える。
【0134】
SVモジュールは、入力として、同じランダム変数の複数の異なる確率分布を表すサンプルベクトルのセットを受け取る。
【0135】
SVモジュールの入力は、SPOの入力と結合され(confondue)、SPOは、出力として、入力として受け取った異なる確率分布の積確率分布を表すサンプルベクトルを返す。
【0136】
SPOの出力は、SPNの入力に接続され、SPNは、入力として、SPOにより生成され、SVモジュールの入力として受け取った異なる確率分布の積確率分布を表すサンプルベクトルを受け取る。そして、SPOは、サンプルベクトルの形式で受け取った表現の正規化を行い、この正規化は、1であるビットの割合の間の関係を、SVモジュールの入力において提供される表現の1であるビットの割合の間の関係と同一に保ちながら、1であるビットの加算から構成される。
【0137】
SPNの動作は、SPOにより引き起こされる時間的希釈を削減する結果となる。
【0138】
最後に、SPNの出力は、SPSの入力に接続され、SPSは、入力として、SVモジュールの入力で受け取った異なる確率分布の積確率分布を表す、比例して正規化されたサンプルベクトルを受け取る。
【0139】
そして、2つの場合が起こる。
【0140】
第1の場合において、SPSは、非アクティブ化され、SPSは、受動構成要素のように動作する。この第1の場合において、SVモジュールの出力は、SPNの出力に対応する。言い換えれば、SVモジュールは、出力として、SVモジュールの入力で受け取った異なる確率分布の積確率分布を表す、比例して正規化されたサンプルベクトルを返す。
【0141】
第2の場合において、SPSは、アクティブ化され、そしてSPSは、入力において受け取ったサンプルベクトルを、サンプル値に変換する。このような場合、SVモジュールの出力は、SPSの出力に対応し、SVモジュールは、出力として、SVモジュールに対応するランダム変数のサンプリングされた値を表すサンプル値を返す。
【0142】
ここで、SVモジュールは、決定性レジームで動作すると考える。
【0143】
このような場合、SVモジュールに対応するランダム変数に対する値が設定され、SVモジュールは、出力として、ランダム変数の値を表すサンプル値を返す。
【0144】
5-データバス
データバスBDは、SDモジュールとSVモジュールとを互いに接続できる。
【0145】
実施形態において、各データバスBDは、SVモジュールに対応するランダム変数の基数と同じ数のワイヤを備える。
【0146】
例えば、ランダム変数Xに対応するSVモジュールは、nX個のワイヤを備えるデータバスにより、ランダム変数X、Yに対応するSDモジュールに接続される。
【0147】
他の実施形態において、データバスBDは、すべて同一であり、実際には、それぞれは、同じ数のワイヤを備える。
【0148】
データバスは、接続したり、または切断することができる。言い換えれば、各データバスは、アクティブ化されることができ、または、確率ビットが送られないように禁じることができる。
【0149】
データバスの接続または切断は、例えば、SDモジュールまたはSVモジュールに統合された機能をアクティブ化することに起因する。
【0150】
データバスは、バイナリ情報を伝えることができる任意のタイプの物理媒体により形成される。例示として、データバスは、ワイヤ、回路上の焼き付け、または、電磁波もしくは光信号の交換に適した装置である。
【0151】
6-モジュラ確率マシン
6.1-モジュラ確率マシンの構造
モジュラ確率マシンは、少なくとも2つのランダム変数から、確率ビットストリームにおける確率計算を行うことができる。
【0152】
モジュラ確率マシンは、SBGと、少なくとも1つのSDモジュールと、少なくとも2つのSVモジュールと、SDモジュールとSVモジュールとを互いに接続できるデータバスBDと、を備える。
【0153】
確率マシンは、SDモジュール、SVモジュール、およびデータバスBDのアセンブリであるので、モジュラ(modulaire)とみなされる。
【0154】
モジュラ確率マシンのアセンブリは、行われる確率計算に依存する。言い換えれば、所与のアセンブリは、確率計算のセットに対応し、アセンブリの特定の構成は、確率計算のセットの中から、特定の確率計算を行うことができる。
【0155】
モジュラ確率マシン10の例は、図6に示される。
【0156】
この例において、マシン10は、3つのSVモジュールと2つのSDモジュールとを備える。
【0157】
第1SVモジュールはSV1と示され、第2SVモジュールはSV2と示され、第3SVモジュールはSV3と示される。
【0158】
第1モジュールSV1は、ランダム変数Oに対応し、第2モジュールSV2は、ランダム変数Dに対応し、第3モジュールSV3は、ランダム変数Zに対応する。
【0159】
第1SDモジュールはSD1と示され、第2SDモジュールはSD2と示される。
【0160】
第1モジュールSD1は、ランダム変数O、Dに対応し、第2モジュールSD2は、ランダム変数O、D、Zに対応する。
【0161】
図6に示されるように、マシン10は、第1データバスBD1、第2データバスBD2、第3データバスBD3、第4データバスBD4、および第5データバスBD5を備える。
【0162】
第1データバスBD1は、第1モジュールSV1を第1モジュールSD1に接続する。
【0163】
第2データバスBD2は、第1モジュールSV1を第2モジュールSD2に接続する。
【0164】
第3データバスBD3は、第2モジュールSV2を第1モジュールSD1に接続する。
【0165】
第4データバスBD4は、第2モジュールSV2を第2モジュールSD2に接続する。
【0166】
第5データバスBD5は、第3モジュールSV3を第2モジュールSD2に接続する。
【0167】
ここで、マシン10の動作を記述する。
【0168】
6.2-モジュラ確率マシンの動作
ここで、モジュラ確率マシンを使用する確率計算方法の実施例を、図7を参照して記述する。
【0169】
図7は、図6に対応し、図6のマシン10に基づく計算の例を例示するために、データバスBD1、BD2、BD3、BD4、およびBD5は、異なって示される。
【0170】
以降、データバスに関する下記の取り決めが使用される。
-矢印の方向は、確率ビットストリームが送られる方向を示す。
-点線で示される矢印は、矢印の起点であるSVモジュールに対応するランダム変数によるサンプリングを表すサンプル値が送られることを示す。
-太線で示される矢印は、ランダム変数に対して設定される値を表す、すべて同一なサンプル値が送られることを示す。そして、
-細線で示される矢印は、確率分布を表すサンプルベクトルが送られることを示す。
【0171】
図7の例において、ランダム変数O、D、Zは、自動車に対する自動運転支援システムを記述する。
【0172】
車両の前の空間は、各セルに対して確率を計算するためにセンサが設置される異なるセルから構成される、確率占有グリッド(grille d'occupation probabiliste)により示される。
【0173】
ランダム変数Oは、バイナリであり、セルが占有される場合、1に等しい。
【0174】
ランダム変数Dは、バイナリであり、センサによる検出があった場合、1に等しい。
【0175】
ランダム変数Zは、センサにより提供される値に対応する、数字のランダム値である。
【0176】
この例において、解決すべき問題は、下記の通りである。センサからの測定値を既知として、セルが占有される確率は、いくつであるか?
【0177】
数学の表現で公式化すると(Formule’ en termes mathe’matiques)、問題は、センサから返される値を既知とする占有をモデル化したランダム変数の確率分布、すなわち、確率分布P(O|Z=z)を決定することになる。
【0178】
確率分布P(O、D)、P(O、D、Z)は、例えば、テストを使用して周知であると考える。
【0179】
構成により、確率分布P(O、D)は、下記に対応する確率を示す。
{O=1、D=1}または{O=0、D=0}である場合に関わる、良好な検出。
{O=0、D=1}である場合に関わる、誤った検出。
{O=1、D=0}である場合に関わる、検出に失敗した対象(cibles rate’es)。
【0180】
構成により、確率分布P(O、D、Z)は、良好な検出、誤った検出、および検出に失敗した対象の場合におけるセンサの動作を記述する。
【0181】
周知の様式において、所望の確率分布は、下記のように表される。
P(O|Z=z)=ΣDP(O、D)P(O、D、Z=z)
【0182】
上記の確率計算は、確率計算方法に従って、モジュラ確率マシンを使用して行われる。
【0183】
方法は、モジュラ確率マシンを提供するステップを備える。
【0184】
この提供ステップは、サブステップを備える。
【0185】
第1サブステップにおいて、SVモジュールの数が決定される。3つのランダム変数O、D、Zに関わる、行われる計算、これらの3つのランダム変数O、D、Zにそれぞれ対応する3つのSVモジュールが提供される。
【0186】
そして、第2サブステップにおいて、SDモジュールの数が決定される。確率分布P(O、D)、P(O、D、Z)が周知であるので、それぞれがランダム変数O、DおよびO、D、Zに対応する2つのSDモジュールが提供される。
【0187】
最後に、第3サブステップにおいて、データバスBDの数が決定される。第3サブステップは、SVモジュールが、SVモジュールに対応するランダム変数を含む複数のランダム変数に対応するSDモジュールに接続されるだけであるという規則に基づいて実施される。このケースにおいて、5つのデータバスBDが必要である。
【0188】
提供ステップの最後において、図6のモジュラ確率マシンが得られる。
【0189】
特定の実施形態において、提供ステップは、SDモジュールの数、SVモジュールの数、データバスの数、並びにSDモジュール、SVモジュールおよびデータバスの配置を最適化するアルゴリズムを実施することを備える。
【0190】
特定の実施形態において、提供ステップは、SDモジュール、SVモジュールおよびデータバスBDの最適な配置を作り出すのに所望される確率分布の分解構造を分析する(parcourir la structure de la de’composition de la distribution de probabilite’s)ことから構成されるソフトウェアの方法により自動的に行われる。
【0191】
そして、第1のステップセットが実行される。
【0192】
第1のステップセットは、行われる確率計算に基づいて、少なくとも1つのSVモジュールのSPSをアクティブ化または非アクティブ化するサブステップを備える。
【0193】
この例において、第2モジュールSV2のSPSがアクティブ化される。この場合、第1および第2モジュールSD1およびSD2はそれぞれランダム変数Dに対応するので、第2モジュールSV2は、一方では第1モジュールSD1に送られ、他方では第2モジュールSD2に送られる、ランダム変数Dのサンプリングされた値を表すサンプル値を送出する。
【0194】
そして、第2モジュールSV2を第1モジュールSD1に、他方では第2モジュールSV2を第2モジュールSD2に、接続する第3および第4データバスBD3およびBD4は、点線の矢印により示される。
【0195】
更に、第1のステップセットは、決定性レジームに従ってSVモジュールを動作させることから構成されるサブステップを備える。
【0196】
この例において、第3モジュールSV3は、決定性レジームに従って動作するよう構成される。この場合、第2モジュールSD2のみがランダム変数Zに対応するので、第3モジュールSV3は、すべてが同一で、第2モジュールSD2に送られる、ランダム変数Zに対して設定される値zを表すサンプル値を送出する。
【0197】
そして、第3モジュールSV3を第2モジュールSD2に接続する第5データバスBD5は、太線の矢印により示される。
【0198】
モジュラ確率マシンのこの構成から、第1モジュールSD1は、第2モジュールSV2から、指定されたランダム変数Dのサンプリングされた値を受け取る。
【0199】
そして、モジュールSD1は、下記のように表される第1確率分布P1(O)のサンプル値の形式の表現を生成する。
1(O)=P(O|D=d)
ここで、ランダム変数Dが取る値dは、第2モジュールSV2の出力において返されるランダム変数Dのサンプリングされた値を表すサンプル値に対応する。
【0200】
この動作は、ランダム変数Dのサンプリングされた値を表すサンプル値を受け取ることにより可能である。
【0201】
第1確率分布P1(O)を表すサンプルベクトルは、細線の矢印で表される第1データバスBD1により、第1モジュールSV1に送られる。
【0202】
平行して、第2モジュールSD2は、第3モジュールSV3から、ランダム変数Zに対する設定値zを表す同一のサンプル値を受け取り、また、第2モジュールSV2から、指定されたランダム変数Dのサンプリングされた値を表すサンプル値を受け取る。
【0203】
そして、モジュールSD2は、下記のように表される第2確率分布P2(O)のサンプルベクトルの形式の表現を生成する。
2(O)=P(O|D=d、Z=z)
ここで、ランダム変数Dが取る値dは、第3モジュールSV3の出力において返されるランダム変数Dのサンプリングされた値を表すサンプル値に対応し、ランダム変数Zが取る値zは、第3モジュールSV3の出力において返されるランダム変数Zに対する設定値zを表す同一のサンプル値に対応する。
【0204】
この動作は、ランダム変数Dのサンプリングされた値を表すサンプル値と、ランダム変数Zに対して設定された値zを表すサンプル値と、を受けとることにより可能である。
【0205】
第2確率分布P2(O)のサンプルベクトルは、細い線の矢印で示される第2データバスBD2により、第1モジュールSV1に送られる。
【0206】
そして、第1モジュールSV1は、下記の演算を行う。
P(O|Z=z)=ΣDP(O|D=d)P(O|D=d、Z=z)=ΣD1(O)P2(O)
【0207】
言い換えれば、第1モジュールSV1は、出力として、確率分布P1(O)とP2(O)との積を比例して正規化した表現を返し、実際には、提起される問題に対する結果を提供する。
【0208】
モジュラ確率マシン10は、例えば、確率分布P(Z|O=o、D=d)またはP(Z|D=d)を計算するために、多様な形態で構成可能である。
【0209】
このように、モジュラ確率マシンは、広く多様な確率計算を行う可能性を提供する。
【0210】
更に、モジュラ確率マシンの使用は、特に簡単で、多くの演算を必要としない。
【0211】
計算速度は、従来のマイクロプロセッサに対して、相当に増加する。
図1
図2
図3
図4
図5
図6
図7