книги из ГПНТБ / Яковлев, В. В. Стохастические вычислительные машины
.pdfРешение алгебраических уравнений. С помощью следящих стохастических интеграторов можно решать системы линейных алгебраических уравнений, подобно тому как это делается в АВМ.
о)
6)
Рис. 74. Решение системы т линейных алгебраиче ских уравнений при помощи устройства: а — с т + 1 суммирующими входами; б — с одним суммирующим
входом
Пусть задана система уравнешш:
пП^1 “1а12^2 + ••■"Г аУт^т“Ь Ь1= О,
a 2 1 ^ " l + а 2 2 ^ 2 ' Д • • ■ + а 2 т ^ т + ^2 = 0>
а / я 1 ^ 1 “Г а т2-^-2 ~Т~ • ' ‘ i ^ т т ^ -т 'О ^/п ~
Для решения этой системы уравнений преобразуем ее:
Х г = dn X 1 г d12X2~f-. . • г dlmXmJ[-e1,
Х 2= $21^1 ~1~ ^22-^-2 |
d2tnXтА" Со, |
^■т. ^ml-^1 |
-f- . . . -f- dmmX nl -f- 6tn. |
На рис. 74 изображена схема k-vo узла ющего последнюю систему уравнений. Всего жится т таких узлов. В схеме на рис. 74, а
устройства, реша в устройстве содер переменные посту-
160
пают на счетчик параллельно по т + 1 суммирующим входам. В результате быстродействие устройства понижается, так как возможно образование очереди при одновременном поступлении
единичных |
приращений по нескольким |
каналам. |
В схеме |
на рис. 74, б этот недостаток |
устраняется путем вклю |
чения на вход интегратора суммирующей ячейки п использова
ния т + 1 несовпадающих |
коэффициентов кг, к 2, . . ., кт. |
Таким образом, на вход + 1 |
СлСтИ поступает сумма |
kidkl^ i+ •. ■+ kmdkmX m+ km+1ek.
Если к х = к 2= . . . ~ к т + 1 = к, то на входе + 1 СлСтИ имеем
к (dklX l + . . . -\-dkmXmф- ek).
Включим в цепь обратной связи интегратора конъюнктор, подав на его второй вход последовательность с математическим ожида нием, равным к. Тогда установившееся значение переменной на выходе интегратора будет
Z = Xk.
Следовательно, искомые переменные образуются на выходе следя щих интеграторов в исходном масштабе.
23. Реверсивный счетчик в режиме деления переменных при несимметричном кодировании
Итеративный характер алгоритма деления вызывает допол нительные трудности при выполнении этой операции с помощью стохастических схем. Особенно «неудобными», требующими суще ственного усложнения схемы, являются микрооперации запомина ния и оценки величины (знака) промежуточной разности в конце каждой итерации.
Известен лишь один способ оценки стохастической перемен ной: интегрирование представляющей ее случайной последова тельности с помощью счетчика. Как бы ни был громоздок этот способ, он обладает тем преимуществом, что наряду с оценкой позволяет осуществить и запоминание, хотя форма представления информации при этом меняется. Стохастическая переменная в счетчике представлена цифровым кодом, и, следовательно, для выполнения последующей итерации необходимо обратное преоб разование «код — вероятность».
Микрооперации, о которых идет речь, реализуются стохасти ческим интегратором, работающим в следящем режиме. Неболь шое дополнение к нему в виде логической схемы в цепи обратной связи, как мы уже могли убедиться, превращает интегратор в стохастическое делительное устройство. Это дополнение выз вано необходимостью реализации третьей микрооперации алго ритма деления — умножения.
11 В. Е. Яковлев |
161 |
Деление стохастических переменных с помощью следящего интегратора особенно удобно в том случае, когда оно выпол няется на заключительной стадии вычислений и его результат является окончательным. При этом цифровая форма представле ния результата облегчает его вывод из машины. Если же такой необходимости нет, можно отказаться от датчика случайных чисел и исключить из схемы компаратор. Упрощение схемы основано на том, что для выполнения алгоритма деления после каждой операции достаточно знать лишь знак промежуточной разности и не определять ее величину. Поэтому нет необходимости охваты вать обратной связью все разряды счетчика. Достаточно учиты
|
вать |
лишь |
значение |
знакового |
||
р с |
(старшего) разряда. |
|
|
|||
Г. |
Рассмотрим |
схему, |
представ |
|||
|
ленную на рис. 75 |
и состоящую |
||||
|
из реверсивного |
счетчика PC и |
||||
|
конъюнктора |
в |
цепи |
обратной |
||
|
связи. |
|
|
|
|
|
|
На |
ее |
выходе |
реализуется |
функция
Рис. 75. Схема стохастического делительного устройства при не симметричном кодировании ин формации
О, |
если п <;0, |
|
z = 1. |
если п>:0, |
(4.13) |
п — содержимое счетчика. Рассмотрим изменение состояния счетчика в двух последова
тельных тактах t — 1 и г для случаев, когда в такте t в счетчике оказывается записанным число п 1, предполагая, что на входы схемы поступают некоррелированные и стационарные случайные последовательности, представляющие стохастические переменные М (х) и М (у). Это имеет место в следующих четырех случаях:
1) |
п (t — 1) = п-\-1; х = 0; |
y = U |
||
2) |
п (t — 1) |
= п; |
х= 0; |
у = 0; |
3) |
п (t — 1) |
= п\ |
х —1; |
у = 1; |
4) |
п (t —1) = п — 1; ж= 1; |
у = 0. |
Переходя к вероятностям, получаем
Р { п , t) = q (x )p |
(y )P (n + l, t — l) + [p(x)p(y) + |
|
+ q(x)q(y)]P(n, |
t — l ) + p ( x ) q ( y ) P (n — 1, t — 1). |
(4.14) |
Вустановившемся режиме
Р(п, t) = P(n, t — l) = P(n).
Тогда
Р (n) — q (z) P (У) P (n + 1 ) + [p (x) p{y)-{-q {x) q(y)]P {n) -f
+ p { x )q {y ) P { n — 1).
1 6 2
Предполагая емкость счетчика неограниченной, просуммируем правую и левую части последнего равенства по всем состояниям от п до оо;
СО |
со |
со |
2 P{n) -= q (я) р (у) S Р {п + 1)+ [Р (®) Р (У) + q (я) q (у)] 2 ^ (») + |
||
п |
п |
п |
|
00 |
|
|
+ Р(*) Я Ф) п |
(« -!)■ |
Произведем в необходимых местах замену индексов суммиро вания:
00 со со
2 |
P(n) = q (х) р (у) 2 Р (п) + [р (х) р (у) + |
q (я) q (у)] 2 Р (») + |
л |
/ if l |
/г |
|
со |
|
|
+ р (*) q(y) Ц р И - |
|
|
л-1 |
|
После приведения подобных членов остается
О = - q ( x ) p ( y ) P (в) + р (я) q (у) Р (п — 1).
Таким образом, для всех п ^ 1 справедливо следующее рекур рентное соотношение:
Р(п)
или
Р(п) =
Р (х) д (у) |
Р ( п - 1) |
я (*) р (У) |
|
' Р(х) д (у) |
П |
. д(х)р (у) |
Р Ф ) . |
|
Вернемся к анализу состояний счетчика в двух последователь ных тактах для п (t) — 0. В этом случае возможные ситуации определяются следующими условиями:
1) |
п (t — 1) = |
1; |
x = 0; |
у = |
l ; |
||
2) |
n{t — 1) |
= |
0; |
x = |
0; |
У = |
0; |
3) |
n(t — 1) |
= |
0; |
x = |
1; |
y = |
i; |
Ф |
n(t — 1 ) ------1; |
я = |
1; |
У = |
0; |
5) n (t — 1) = - 1 ; я = 1; y = l
Тогда
Р (0) = q (х) р (у) Р (1) + \р (я) р (у) + q (я) q (у)} Р (0) +
+ [р (*) q (у) + р Ф) р (у)] р ( — !)•
Но р(у) + 9(у) = 1, а Р ( 1) = т Ш ы _ р ( 0)-
и * |
163 |
Поэтому |
|
|
|
(4.15) |
Р (0) = |
[1 — q (®) Р (У)] Р (0) + р ( х ) Р (—1). |
|||
Для п (t) = —1: |
|
|
|
|
1) |
n(t — 1) = 0; |
а: = 0; |
у = 1; |
|
2 ) |
/г (£ — 1 ) = — 1 ; |
ж = 0 ; |
г/ = 0 ; |
|
3) |
n(t — 1) = — 1; |
ж = 0; |
у = 1 - |
|
Отсюда |
|
|
|
|
Р (—1) = q (х) р {у) Р (0) + [q (х) q (у) + q (х) р(у)]Р (—1), |
|
|||
или |
|
|
|
|
Р (—1) = 9 (ж) Р (г/) Р (0) + q (х) Р (—1). |
(4.16) |
|||
Обобщая рассмотренные случаи, заметим, что в среднем содер |
||||
жимое счетчика в |
каждом такте изменяется на величину Ап — |
|||
— Р (х) У (У) — q (х) р (у), если в предыдущем такте было |
п ^ 0, |
ина величину Ап = р (х), если п (t — 1) = —1. Усредним Ап по всем значениям п
М (Ап)*=р(х)Р (—\) + \p(x)q(y)—q(x)p(y)\ [1 —Р (—1)].
В установившемся режиме
М (An) —М [п (t)\ —M [п (г — 1)] = 0.
Поэтому
Р (—1) = 1 |
Р(х) |
|
р { у ) |
||
|
Подставляя последнюю формулу в (4.15) или (4.16), находим
р /(У) = р('Х1' |
Г1 — р 1 М ' |
|
' ' Р (У) |
L |
д(X) Р (у) J * |
Поскольку наборов входных переменных, приводящих] к п < —1, не существует, то в соответствии с (4.13)
М (г) = р (г) = Р (В & 0) = 1 - Р ( - 1 ) ~ ^ « - £ | г Г .
Таким образом, рассматриваемая схема в установившемся режиме выполняет операцию деления стохастических перемен ных, однако для обеспечения такого режима необходимо, чтобы математическое ожидание п было конечным.
По определению
СО
М (п) = ] £ п Р (п) = 2 пР (п)— Р ( — 1) =
(«)п=0
со |
Р (*) |
р (х) д (у) |
|
|
P i x ) д ( у ) |
||
= 2 - |
Р(У) |
д(х)р(у) J |
L q(x)p(y) . |
л=0 |
|
|
|
1.64
|
|
Г 1 _ Л Ё 2 _ 1р (ж)— |
4 |
I |
||||
|
|
L |
р (у ) J |
р (у) |
|
* ^ |
|
|
|
I р (х ) |
h |
р (х ) я (у ) 1 X? |
Гр (*) д (у) |
1п |
|||
|
' р (у ) |
L |
д { х ) р ( у ) J j L i |
l q { x ) p ( y ) \ |
|
|||
|
|
|
|
|
п=о |
|
|
|
Рассмотрим |
отдельно сумму |
вида |
|
|
|
|
||
|
|
|
|
со |
|
|
|
|
|
|
|
5 = 2 пап. |
|
|
|
||
|
|
|
|
п=О |
|
|
|
|
Эту сумму можно записать так: |
|
|
|
|
||||
|
со |
|
со |
|
со |
со |
|
|
|
2 пап = 2 пап— 2 а” + 2 |
|
||||||
|
я=0 |
|
я=1 |
|
/г=1 |
/г=1 |
|
|
Объединим первые две суммы правой части равенства и выне |
||||||||
сем за знак суммы постоянную а\ |
|
|
|
|||||
|
СО |
|
СО |
|
|
|
с о |
|
|
2 |
пап = а 2 |
{п — 1) an_1+ |
2 я" |
|
|||
|
л=о |
|
п=1 |
|
|
|
я=1 |
|
Подставив |
к == п — 1, |
получаем |
|
|
|
|
||
|
|
ОО |
|
СО |
|
0 0 |
|
|
|
|
2 |
гсап= |
а 2 |
как -f 2 |
а”- |
|
|
|
|
я=о |
|
/г=0 |
|
я=1 |
|
|
Отсюда |
|
|
|
|
|
|
|
|
|
|
СО |
|
СО |
|
|
с о |
|
|
|
л=0 |
|
ft=0 |
|
|
п= 1 |
|
Слагаемые оставшейся суммы образуют геометрическую прогрес сию со знаменателем и первым членом, равным а, а сама сумма
конечна, если |
|а |<[ 1. |
В нашем |
случае |
,p W ; (у)
ч (х) р (у ) *
Следовательно, для конечности суммы необходимо выполнить условие
р ( « ) я (у )
ч (х) р (у ) ^
или
М (х) с М (у).
Стохастическая переменная М (z) = М (х)](М (у) не может принимать значений, превышающих единицу, и, следовательно, выполнение полученного условия обеспечивается соответствую щим масштабированием входных переменных. Тогда, используя
165
формулу суммы бесконечно убывающей геометрической прогрес сии, получаем
р(х)
М(п) = Р(У)
[ q { x ) p ( y ) - \ - p ( x ) q (У)] — q ( х ) р {у)
Р ( У ) — Р ( х )
Как видно из этой формулы, значение М (п) стремится к беско нечности при р (х) -*■ р (у) и при р (z) — р (x)Jp (у) = const тем больше, чем меньше р (у).
t
Рис. 76. Граф переходов схемы, изображенной на рис. 75
Практически важно знать вероятность переполнения счет
чика при конечном числе I его |
разрядов: |
||
|
|
оо |
|
P ( n > 2 ‘) = '2l P(n) = - ^ L |
у |
р ( * ) д (у) 1 V 1 Г Р(х)д (у) п |
|
|
q (х ) р (у) \ jU Vq(x)p(v) |
||
|
|
||
п |
|
П=*<2,1 |
|
Р ( п S? 21) |
р ( х ) |
Г р ( х ) д ( у ) 1 2г |
|
р ( у ) |
L д (х) р (у) . |
||
|
Как можно видеть, эта вероятность быстро убывает с увеличе нием I даже при значениях р (z), близких к единице, и может быть уменьшена до пренебрежимо малой величины увеличением разрядности счетчика и масштабированием переменных.
Вторым важным фактором, определяющим точность стохасти ческих вычислений, является автокорреляционная функция вы ходной последовательности. Вывод аналитического выражения этой функции связан со значительными трудностями. Однако, если под рукой имеется даже не очень современная ЦВМ, неслож но получить численное решение задачи, используя жесткую вероятностную модель, представленную в виде графа на рис. 76.
166
Вершины этого графа соответствуют числам, накопленным в счет чике, а дугам придан вес, равный условным вероятностям пере хода из одного состояния в другое. С помощью этой модели можно для любого конечного числа тактов т рассчитать вероятности возможных состояний счетчика как вероятности использования соответствующих вершин графа, если задаться начальным состоя нием, т. е. распределением вероятностей использования вершин графа в такте t — т. Для расчета формулы (4.14), (4.15) и (4.16) приводятся к следующему виду:
Р ( — 1, t — k) = q(x) р (у) Р (0, t —k — l) + q ( x ) P { —l, t — k — 1),
Р ( 0, t — k) = q ( x ) p (y ) P ( l, t — k — l) + [p(x)p(y) +
+ q {x )q (y ))P { 0, t — k — l ) + p ( x ) P ( — l, t — k — 1),
P (n, t — k) — q ( x ) p ( x ) P ( n Jr 1, |
t — k — 1) + |
+ [p(z) pty) + q(x) q(y)\P (n, |
t — k — \) + |
+ P (x)q(y)P (« — 1, t — k — 1), |
|
1, k = 0, 1, 2, . . ., (t — 1). |
|
Установим связь автокорреляционной функции с вероятно |
|
стями использования вершин графа, приняв во внимание, что |
в соответствии с (2.6) значения этой функции для прямой и инверс
ной последовательности |
совпадают |
|
|
|
|
|
||||
Кг (т) = К-2(т) = Р (zzT) - |
М 2(z) = |
Р (zT) Р (z |ZT) - |
М 2(z). |
|||||||
Здесь |
Р (z]zT) — условная |
вероятность |
z = |
0 в |
такте |
t, если |
||||
z = 0, |
в |
такте t — т, т. е. |
|
|
|
|
|
|
|
|
Р (z \zT) — Р (z = 0, t\z — 0, t — x) = P { n = |
—1, |
t\n = |
—1, |
t —x). |
||||||
Кроме |
того, |
|
|
|
|
|
|
|
|
|
|
|
P (zT) = P(z) = i — p (z), |
|
|
|
|||||
Тогда |
|
M2 (z) = |
[1 —p (z)]3. |
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
K t (x) = U - p ( z ) ] P ( n = - l , |
t\n = |
- i , |
t - x ) - [ l - p ( z ) \ 2 = |
|||||||
|
|
= [1 —p(z)] [p (z) — p (n Ss 0, |
t\n = —1, t — x)], |
|
||||||
поскольку |
0) = 1 — P (n = —1). |
|
|
|
||||||
|
|
P (n |
|
|
|
Таким образом, начальные условия для расчета автокорреля ционной функции с помощью модели имеют вид:
Р ( п = —1, t —т) = 1, Р(п + —1, *— т) = 0.
167
На рис. 77 показаны в полулогарифмическом масштабе кри вые К г (т) для некоторых конкретных значений р (у) и р (z). Числа у кривых указывают значение р (у). По рисунку можно судить, что автокорреляционная функция довольно быстро убы вает с увеличением т, а закон ее изменения при этом прибли жается к экспоненциальному. Корреляция максимальна при зна чениях р (z)i близких к 0,75, и возрастает с уменьшением р (у).
Рис. 77. Автокорреляционная функция выход ной последовательности в схеме, изображен
|
ной на |
рис. 75: |
|
|||
1 — V (V ) = |
0.75; |
2 — |
р ( у |
) = 0,5; |
3 — р |
( у ) = 0,25; |
---------- — р |
( z ) = |
0,75; |
— |
■-------— |
р (г) = |
0,5; |
|
|
— *—Р (г) = 0,25 |
|
Одно из возможных назначений схемы заключается в укруп нении масштаба переменной при несимметричном кодировании, например, в два раза (р (у) = 0,5). Тогда при р {£) = 0,75 авто корреляционная функция на интервале т = 60 составляет 0,0017 и в дальнейшем убывает на порядок при увеличении интервала примерно на каждые 70 тактов.
Наличие автокорреляции в выходной последовательности сви детельствует об инерционных свойствах схемы, т. е. о том, что значение выходной переменной с необходимой точностью устана вливается лишь спустя некоторое время, зависящее от первона чальной установки счетчика. Переходный режим можно воспро извести с помощью той же модели, что и расчет автокорреляцион ной функции, если принять t = т.
168
Пусть до начала отсчета времени решения р (z) = 0, что соот ветствует Р (п = —1, г ^ 0) = 1. Тогда значение выходной стохастической переменной как функции времени определяется вероятностью р (z, t) = Р (п ^ 0, t |п = —1, t = 0). При этом начальные условия для моделирования остаются такими же, как и в предыдущей задаче, так что моделирование можно вести в
один прием. Ap(zj Расчетная формула для
абсолютной ошибки представ ления выходной переменной имеет вид
Ap(z) = p ( z ) ~ p ( z , t) =
= p{z) — P(n>? 0,
t\n = —i, t = 0).
Здесь, как и далее, |
р (z) = |
|
|
|
|||||
= M(z) —установившееся зна |
|
|
|
||||||
чение выходной |
переменной. |
|
|
|
|||||
Результаты расчета в виде |
|
|
|
||||||
переходных |
кривых |
при |
|
|
|
||||
Р (у) = |
0,5 |
показаны в полу |
|
|
|
||||
логарифмическом |
масштабе |
|
|
|
|||||
на рис. 78. Как видно, пере |
|
|
|
||||||
ходный |
процесс |
замедляется |
|
|
|
||||
при увеличении р (z) |
и в худ |
|
|
|
|||||
шем случае р (z) |
= 1 ошибка |
Рис. 78. Переходные процессы в схеме, |
|||||||
составляет 0,0727 при |
t = |
60, |
|||||||
уменьшаясь в дальнейшем на |
изображенной на рис. 75: |
|
|||||||
Р (z) = 1 ; |
V (Z) = |
0,75; |
|||||||
порядок |
примерно |
каждые |
|||||||
---------------- V (z) = 0 ,5 ; ------------------ |
Р (z) = |
0,25 |
250тактов.
Взаключение отметим, что схема будет выполнять те же функ ции, если вместо инверсного использовать прямой выход знако вого разряда, а входы счетчика поменять местами, причем все формулы остаются справедливыми с заменой знака п на обратный.
24. Реверсивный счетчик в режиме деления переменных при однолинейном симметричном кодировании
Если в схеме, рассмотренной в предыдущем параграфе, заме нить конъюнктор в цепи обратной связи логическим элементом, реализующим функцию эквивалентности (рис. 79), то граф пере ходов схемы примет вид, показанный на рис. 80. По условным ве роятностям переходов граф можно разделить на две части. Для правой (п (t — к) 0) среднее изменение числа, накопленного в счетчике, в каждом такте составляет
An = n(t — к + 1) — n(t — k ) = p ( x ) q {у) — q(x) р(у).
169