Make your own free website on Tripod.com
  English
3.5.А. Некоторые детали реализации процедуры накопления гипотез.

В программе, реализующей процедуру накопления гипотез, хранится информация только о помеченных зонах. Для этого отводится некоторый массив, запись в который делается с помощью L-хеширования [35] при котором ключом является номер зоны, а хеш-функцией - остаток от деления номера зоны на размер массива. В проведенных экспериментах этот массив состоял из 4096 ячеек. При этом начальный адрес поиска ячейки, отвечающей зоне с данным номером (хеш-функция), получался путем обнуления старших разрядов этого номера (начиная с 13-го). В каждой ячейке, кроме ключа зоны (номера в общем гипотетическом трехмерном массиве зон), хранится ссылка на описание данной зоны. Описание зоны - это также одна ячейка некоторого массива, в которой помечены биты, отвечающие номерам тех гипограмм, которые пометили данную зону. При этом пометка зоны отдельной гипограммой сводится к логическому сложению ее описания с ячейкой, в которой помечен бит, отвечающий номеру текущей гипограммы (массив таких ячеек заготавливается заранее). После окончания процесса пометки всеми гипограммами запускается операция преобразования содержимого каждого описания в число пометивших его гипограмм (для каждого описания - это одна машинная команда по подсчету единиц в данной ячейке).

При выполнении процедуры сглаживания номера окрестных зон не вычисляются заново, а вычисляются путем сложения с добавками, переводящими номер центральной зоны в номер одной из 27 соседних зон (3х3х3). Эти добавки вычисляются заранее. Логика их вычисления определяется логикой вычисления общего линейного номера элемента (зоны) в многомерном (трехмерном) массиве.

Для того чтобы уменьшить число прилегающих отрезков, отслеживающих эталонный контур при построении его гипограммы, очередные точки эталонной гипограммы строятся по передней ветви последнего прилегающего отрезка. Можно сказать, что по этой ветви продвигается фиктивный касательный прилегающий отрезок, и в его системе координат регистрируются положения базисного вектора. Граница такого построения определяется рассогласованием положений базисного вектора в системах координат фактического и фиктивного отрезков. При этом шаг продвижения фактических отрезков непрерывно подстраивается с помощью обратной связи так, чтобы удержать величину рассогласования в пределах четверти зоны, а шаг фиктивных - чтобы удержать соседние точки эталонной гипограммы в пределах одной зоны. Под зоной, как и ранее, подразумевается элемент разбиения параметрического пространства. Если этого сделать не удается, то принимается, что в этом месте гипограмма имеет разрыв и ее построение продолжается с другого места контура эталона.