[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

RU2549525C2 - Method and apparatus for searching for composite sample in sequence - Google Patents

Method and apparatus for searching for composite sample in sequence Download PDF

Info

Publication number
RU2549525C2
RU2549525C2 RU2013132666/08A RU2013132666A RU2549525C2 RU 2549525 C2 RU2549525 C2 RU 2549525C2 RU 2013132666/08 A RU2013132666/08 A RU 2013132666/08A RU 2013132666 A RU2013132666 A RU 2013132666A RU 2549525 C2 RU2549525 C2 RU 2549525C2
Authority
RU
Russia
Prior art keywords
input
inputs
search
composite sample
output
Prior art date
Application number
RU2013132666/08A
Other languages
Russian (ru)
Other versions
RU2013132666A (en
Inventor
Александр Владимирович Крипачев
Евгений Анатольевич Титенко
Руслан Владимирович Бредихин
Алексей Вячеславович Белокопытов
Александр Геннадиевич Курочкин
Original Assignee
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Юго-Западный государственный университет" (ЮЗ ГУ)
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 Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Юго-Западный государственный университет" (ЮЗ ГУ) filed Critical Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Юго-Западный государственный университет" (ЮЗ ГУ)
Priority to RU2013132666/08A priority Critical patent/RU2549525C2/en
Publication of RU2013132666A publication Critical patent/RU2013132666A/en
Application granted granted Critical
Publication of RU2549525C2 publication Critical patent/RU2549525C2/en

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

FIELD: physics, computer engineering.
SUBSTANCE: invention relates to computer engineering. A method of searching for a composite sample in an analysed sequence, characterised by combining parallel bitwise processing of elements in the diagonals of a characteristic matrix, the length of which is equal to the length of the composite sample in the analysed sequence, with row-wise computation of start values search cells of the characteristic matrix, which enables to take into account the positionally irregular arrangement of symbols of the composite sample in the analysed sequence and join into a single search object the positionally irregular arrangements of symbols of the composite sample in the analysed sequence.
EFFECT: broader functional capabilities owing to modernisation of links of cells of the characteristic matrix and input of additional elements into the characteristic matrix.
2 cl, 5 dwg

Description

Изобретение относится к области вычислительной техники и информатики, может быть использовано в информационно-поисковых и экспертных системах, в системах высокочастотного трейдинга, в системах передачи данных, в специализированных устройствах и системах обработки символьной информации и др.The invention relates to the field of computer engineering and informatics, can be used in information retrieval and expert systems, in high-frequency trading systems, in data transmission systems, in specialized devices and systems for processing symbolic information, etc.

Рассматривается задача поиска составного образца в анализируемой последовательности (текст, поток данных). 13 общем случае, составной образец и анализируемая последовательность представляют одномерные структуры данных (строки), составленные из букв рабочего алфавита. Пусть заданы составной образец x длиной m-символов, содержащий z подстрок x1, x2…xz с длинами t1, t2, …tz, такими, что (t1+t2, +…+tz≤m, и текст у длиной n-символов, где n>0, m>0 и m≤n. Требуется найти позиции вхождения подстрок из x в y, т.е. определить такие наименьшие адреса i1, i2…iz, при которых справедливоThe problem of searching for a composite sample in the analyzed sequence (text, data stream) is considered. In the general case, the composite sample and the analyzed sequence represent one-dimensional data structures (rows) made up of the letters of the working alphabet. Let a composite pattern x with a length of m-characters be given containing z substrings x 1 , x 2 ... x z with lengths t 1 , t 2 , ... t z such that (t 1 + t 2, + ... + t z ≤m , and the text is n-character long, where n> 0, m> 0 and m≤n. It is required to find the position of occurrence of substrings from x to y, that is, to determine such smallest addresses i 1 , i 2 ... i z , for which is fair

Figure 00000001
,
Figure 00000002
.
Figure 00000001
,
Figure 00000002
.

В частном случае, для образцов, включающих только одну подстроку, задача поиска формулируется как поиск вхождения. При лом вюрая часть условия (1) записывается какIn the particular case, for patterns that include only one substring, the search problem is formulated as an entry search. With scrap, the best part of condition (1) is written as

i1+1=i2; i2+1=1i3;

Figure 00000003
.i 1 + 1 = i 2 ; i 2 + 1 = 1i 3 ;
Figure 00000003
.

По умолчанию выражения (2) подразумеваются, они определяют физически смежный характер расположения вхождений отдельных подстрок из x в структуре текста y.By default, expressions (2) are implied; they determine the physically adjacent nature of the arrangement of occurrences of individual substrings from x in the structure of the text y.

Наиболее важным практическим случаем для систем обработки символьной информации является поиск составного образца x, содержащего z подстрок x1, x2…xz с длинами, равными одному символу каждая, т.е. t1=t2=…tz=1. Фактически в анализируемой последовательности y осуществляется посимвольный поиск из x, для каждого элемента которого не обязательно выполняется условие (2), но обязательно выполняемся условие (1).The most important practical case for symbol information processing systems is the search for a composite sample x containing z substrings x 1 , x 2 ... x z with lengths equal to one symbol each, i.e. t 1 = t 2 = ... t z = 1. In fact, in the analyzed sequence y, a character-by-character search is performed from x, for each element of which condition (2) is not necessarily satisfied, but condition (1) is surely fulfilled.

Известен способ конвейерного поиска вхождений [Кулик, Б.А. Системы поиска в произвольном тексте / Б.А.Кулик // Программирование. 1987. №1 - С.6-10.], основанный на параллельном сопоставлении текущего символа образца с анализируемой последовательностью и на вычислении, хранении и обработке двух двоичных (характеристических) векторов с количеством бит, равным количеству символов в тексте. Алгоритмизация данного способа заключается в циклической обработке предыдущего и текущего характеристических векторов на основе аппаратно-ориентированной операции «косая конъюнкция», представляющей собой побитовое умножение двух двоичных векторов, причем биты предыдущего вектора со смещением на одну позицию к началу вектора. Недостаток данного способа заключается в необходимости дополнительных затрат времени на проверку позиций «1» в двоичных векторах в соответствии с распределением символов составного образца по тексту.A known method of pipelined search of occurrences [Kulik, B.A. Search systems in arbitrary text / B.A. Kulik // Programming. 1987. No. 1 - C.6-10.], Based on a parallel comparison of the current character of the sample with the analyzed sequence and on the calculation, storage and processing of two binary (characteristic) vectors with the number of bits equal to the number of characters in the text. The algorithmization of this method consists in cyclic processing of the previous and current characteristic vectors based on the hardware-oriented operation “oblique conjunction”, which is a bitwise multiplication of two binary vectors, with the bits of the previous vector shifted by one position to the beginning of the vector. The disadvantage of this method is the need for additional time spent on checking positions “1” in binary vectors in accordance with the distribution of the characters of the composite sample in the text.

Известен способ матричного поиска вхождений строки-образца [Титенко, Е.А. Метод параллельною поиска по образцу и матричное устройство для его реализации / К.А.Титенко // Информационные системы и технологии. №4. - 2011 С.24-30.], основанный на двумерном представлении слов-операндов для учета позиционных и временных соотношений между символами двух строк и заключающийся в организации вычислений по диагоналям двоичной (характеристической) матрицы. Параллельная обработка матрицы состоит в побитовой обработке элементов строк и столбцов в составе k (k=m-n-1) диагоналей матрицы. Последовательности смежных «1» в составе каждой диагонали матрицы описывают структурные отношения вхождения. При организации поиска составного образца недостаток данного способа - невозможность учета позицией ню нерегулярного распределения символов составного образца по тексту и, как следствие, избыточные затраты времени на последовательную обработку каждого символа составного образца и дополнительная проверка текущего и предыдущего адресов односимвольных вхождений па условие ij-1<ij, где j=1…z.A known method of a matrix search for occurrences of a string pattern [Titenko, EA A method parallel to the search for a pattern and a matrix device for its implementation / K.A. Titenko // Information Systems and Technologies. Number 4. - 2011 P.24-30.], Based on a two-dimensional representation of operand words to take into account the positional and temporal relationships between the characters of two lines and consisting in organizing calculations along the diagonals of the binary (characteristic) matrix. Parallel processing of a matrix consists in bitwise processing of row and column elements in k (k = mn-1) diagonals of the matrix. Sequences of adjacent "1" in each diagonal matrix describe the structural relationship of occurrence. When organizing the search for a composite sample, the disadvantage of this method is the inability to take into account the position of the irregular distribution of the characters of the composite sample in the text and, as a consequence, the excessive time spent for sequential processing of each symbol of the composite sample and additional verification of the current and previous addresses of single-character occurrences pa condition i j-1 <i j , where j = 1 ... z.

Известно устройство [А.с. 1485254 СССР, МКИ G06F 12/00. Устройство для адресации по содержанию блока памяти /.А.Кулик, Э.В.Рахов, Н.Н.Востров, Т.П.Копиец - №4313200/24-24, заявл. 05.10.87; опубл. 07.06.89, Бюл. №21. 10 с., ил.] для адресации по содержанию блока памяти, состоящее из двух блоков ассоциативных признаков, блока памяти логических векторов и операционного блока, выполняющего, в том числе операцию идентификации на основе обработки двоичных векторов-столонов (поиск по столбцу). Вместе с тем ограниченность операции идентификации связана с теоретико-множественной трактовкой исходных данных. Вследствие этого структурные отношения следования в характеристических векторах не учитываются, что не позволяет непосредственно использовать операционный блок для поиска вхождений составного образца в тексте.A device is known [A.S. 1485254 USSR, MKI G06F 12/00. A device for addressing the contents of the memory block /.A. Kulik, E.V. Rakhov, N.N. Vostrov, T.P. Kopets - No. 4313200 / 24-24, declared 10/05/87; publ. 06/07/89, Bull. No. 21. 10 pp., Ill.] For addressing by the contents of a memory block, consisting of two blocks of associative features, a logical vector memory block and an operation block that performs, among other things, an identification operation based on processing of binary stolon vectors (column search). At the same time, the limitations of the identification operation are associated with a set-theoretic interpretation of the initial data. As a result of this, the structural relationships of succession in characteristic vectors are not taken into account, which does not allow directly using the operation unit to search for occurrences of a compound pattern in the text.

Известна параллельная система информационного поиска [Патент 2195015 РФ, МПК G06K 17/30. Параллельная система информационного поиска / В.М.Довгаль, С.С.Шевелев; заявитель и патентообладатель Курск, гос. техн. ун-т. - №2001 120172/09: заявл. 18.07.2001; опубл. 20.12.2002, Бюлл. №12], содержащая блок памяти вхождений, блок памяти слов, блок управления, массив блоков определения вхождений, работающих одновременно и имеющих в своем составе, регистр сдвига для хранения текста и ассоциативную память для храпения подстроки образца. Работа системы заключается в параллельном сопоставлении в ассоциативной памяти подстроки образца и текста. В случае отсутствия вхождения осуществляется сдвиг текста на одну полицию и новая итерация поиска. Недостаток данной системы - невозможность учета структурных отношений упорядочения вхождений подстрок составного образца в анализируемом тексте.A parallel information retrieval system is known [RF Patent 2195015, IPC G06K 17/30. Parallel information retrieval system / V.M. Dovgal, S.S. Shevelev; applicant and patent holder Kursk, state. tech. un-t - No. 2001 120172/09: declared 07/18/2001; publ. 12/20/2002, Bull. No. 12], which contains an occurrence memory block, a word memory block, a control block, an array of occurrence determination blocks working simultaneously and incorporating a shift register for storing text and associative memory for snoring a substring of a pattern. The operation of the system consists in parallel matching in the associative memory of the substring of the pattern and the text. If there is no entry, the text is shifted by one police and a new iteration of the search. The disadvantage of this system is the inability to take into account structural relations of ordering occurrences of substrings of a composite sample in the analyzed text.

Устройством-прототипом является устройство для параллельного поиска и обработки данных [Патент 72771 Российская Федерация, МПК G06F 12/00. Устройство для параллельного поиска и обработки данных E.А.Титенко, Л.А.Лисицин, В.М.Довгаль; заявитель и патентообладатель Курск, гос. техн. ун-т. - №2007149075/22: заявл. 25.12.2007; опубл. 27.04.2008, Бюлл. №12.], состоящее из двух блоков хранения и сравнения ассоциативных признаков, блока памяти логических векторов, операционного блока и блока матричного поиска, выполняющее параллельную обработку совокупности характеристических векторов, объединенных в двумерную матрицу поиска. Недостатком данного устройства является ограниченная функциональность - устройство позволяет осуществлять только поиск вхождений образца, состоящего только из одной подстроки. Характеристическая матрица поиска имеет геометрическую форму параллелограмма, а связи между смежными элементами диагоналей имеют локальный характер, что не позволяем этому устройству решать задачу поиска составного образца в анализируемой последовательности.The prototype device is a device for parallel search and data processing [Patent 72771 Russian Federation, IPC G06F 12/00. Device for parallel search and data processing E.A. Titenko, L.A. Lisitsin, V.M. Dovgal; applicant and patent holder Kursk, state. tech. un-t - No. 2007149075/22: declared 12/25/2007; publ. 04/27/2008, Bull. No. 12.], Which consists of two blocks for storing and comparing associative features, a logical vector memory block, an operation block, and a matrix search block that performs parallel processing of a set of characteristic vectors combined into a two-dimensional search matrix. The disadvantage of this device is its limited functionality - the device allows you to only search for occurrences of a sample consisting of only one substring. The characteristic search matrix has the geometric shape of a parallelogram, and the connections between adjacent elements of the diagonals are local in nature, which does not allow this device to solve the problem of searching for a composite sample in the analyzed sequence.

Технической задачей изобретения является расширение функциональных возможностей за счет модернизации связей ячеек характеристической матрицы и ввода дополнительных элементов в характеристическую матрицу, что позволит решить поставленную задачу. Сущность модернизации характеристической матрицы заключается в совмещении параллельной побитовой обработки элементов в составе диагоналей матрицы, длина которых равна длине образца, с построчным вычислением стартовых значений ячеек характеристической матрицы.An object of the invention is to expand the functionality by modernizing the relationships of the cells of the characteristic matrix and introducing additional elements into the characteristic matrix, which will solve the problem. The essence of the modernization of the characteristic matrix consists in combining parallel bitwise processing of elements in the composition of the diagonals of the matrix, the length of which is equal to the length of the sample, with a line-by-line calculation of the starting values of the cells of the characteristic matrix.

Решение технической задачи достигается тем, что в устройство поиска составного образца в последовательности, содержащее первый и в второй блоки хранения и сравнения ассоциативных признаков, блок памяти логических векторов и операционный блок, причем информационные входы первого и второго блоков хранения и сравнения ассоциативных признаков являются соответственно первым и вторым информационными входами устройства, а выходы блоков хранения и сравнения ассоциативных признаков соединены соответственно с первым и вторым адресными входами блока памяти логических векторов, входы задания режимов первого и второго блоков хранения и сравнения ассоциативных признаков и вход записи-считывания блока памяти логических векторов являются соответственно первым, вторым и третьим входами задания режимов устройства, а четвертый, пятый, шестой входы задания режимов устройства соответственно соединены с тремя входами кодов операций операционного блока, первый выход которого является первым выходом устройства, первый вход начальной установки устройства подключен к входу начальной установки операционного блока, второй вход начальной установки - к входам начальной установки первого и второго блоков хранения и сравнения ассоциативных признаков, первый и второй выходы блока памяти логических векторов подключены соответственно к первому и второму информационным входам операционного блока, введены дополнительный однобитовый выход операционного блока, который является вторым выходом операционного блока, и блок поиска составного образца, имеющим четыре входа и один выход, причем первый вход начальной установки устройства подключен к первому входу блока поиска составного образца, второй вход которого соединен со вторым выходом операционного блока, третий и четвертый входы блока поиска составного образца являются соответственно третьим и четвертым информационными входами устройства, а выход блока поиска составного образца является вторым выходом устройства, при этом блок поиска составного образца содержит элемент задержки, n регистров для храпения кодов символов составного образца разрядностью p бит каждый, m регистров для хранения кодов символов текста разрядностью p бит каждый, k триггеров позиции, а также характеристическую матрицу, состоящую из поисковых ячеек и имеющую геометрическую форму параллелограмма, размер матрицы - n×k поисковых ячеек (k-m-n+1 - количество диагоналей в матрице) и (n-1)×k двухвходовых элементов ИЛИ для построчного вычисления стартовых значений, при этом каждый регистр для хранения кодов символов составного образца и каждый регистр для хранения кодов символов текста имеют соответственно три входа (первый и второй управляющие входы и третий информационный p-разрядный вход) и один p-разрядный выход, каждый триггер позиции имеет соответственно три входа (первый и второй управляющие входы и третий информационный вход) и один p-разрядный выход, каждая поисковая ячейка имеет три информационных входа (первый и второй входы разрядностью p бит каждый, третий - одноразрядный вход) и один выход, каждая поисковая ячейка содержит двухвходовую схему сравнения на равенство p-разрядных кодов символов составного образца и текста и двухвходовой элемент И, причем первый и второй p-разрядные входы поисковой ячейки соединены соответственно с первым и вторым p-разрядными входами двухвходовой схемы сравнения на равенство соответственно, выход которой является первым входом двухвходового элемента И, выход которого является выходом поисковой ячейки, второй вход двухвходового элемента И соединен с третьим входом поисковой ячейки, причем первые p-разрядные входы всех поисковых ячеек i-ой строки матрицы (i=1-n) соединены с p-разрядным выходом i-ого регистра для хранения символа составного образца, p-разрядный выход j-ого регистра для хранения кода символа текста (j=1-m) соединен соответственно со вторыми p-разрядными входами всех поисковых ячеек, входящих в j-ый столбец матрицы, выход (i, j)-ой поисковой ячейки, кроме i=n (последняя строка матрицы), соединен с первым входом (i, j)-го двухвходового элемента ИЛИ, второй вход которого соединен с выходом (i,j-1)-го двухвходового элемента ИЛИ, кроме первого двухвходового элемента ИЛИ в текущей строке матрицы, выход (i, j)-го двухвходового элемента ИЛИ соединен со вторым входом (ij+1) двухвходового элемента ИЛИ и с третьим входом (i+1, j+1) поисковой ячейки, кроме i=n, на второй вход первого двухвходового элемента ИЛИ в каждой строке матрицы, подается значение логического «0», выход поисковой ячейки, расположенной в последней строке матрицы, соединен с третьим входом j-го триггера позиции, на третий вход каждой поисковой ячейки, расположенной в первой строке матрицы, подано значение логической «1», первый вход блока поиска составного образца соединен соответственно с первыми входами n регистров для хранения кодов символов составного образца, а также с первыми входами m регистров для хранения кодов символов текста и первыми входами k триггеров позиций, второй вход «Запись строк» блока поиска составного образца соединен со входом элемента задержки и со вторыми входами n регистров для хранения кодов символов составного образца и вторыми входами m регистров для хранения кодов символов текста соответственно, выход элемента задержки соединен со вторыми входами k триггеров позиций, выходы которых образуют информационный k-разрядный выход блока поиска составного образца, третий вход блока матричного поиска состоит из n групп по p разрядов каждая группа, кодирующих символы составного образца, причем i-ая группа разрядов (i=1-n) подается на третий p-разрядный вход i-ого регистра для хранения кода символа составного образца, четвертый вход блока поиска составного образца состоит из m групп разрядов по p разрядов каждая группа, кодирующих символы текста, причем j-ая группа разрядов (j=1-m) подается на третий p-разрядный вход j-ого регистра для хранения кода символов текста, каждая двухвходовая схема сравнения на равенство в составе поисковой ячейки состоит из p-входового элемента И, а также из p двухвходовых элементов суммы по модулю два с инверсией, на первые входы которых подастся соответствующий разряд из i-ой p-разрядной группы третьего входа блока поиска составного образца, а па вторые входы двухвходовых элементов суммы по модулю два с инверсией - соответствующий разряд из j-ой p-разрядной группы четвертого входа блока поиска составного образца, выходы всех двухвходовых элементов суммы по модулю два с инверсией соединены с p-входовым элементом И, выход которого является одноразрядным выходом двухвходовой схемы сравнения на равенство.The solution to the technical problem is achieved by the fact that in the device for searching for a composite sample in a sequence containing the first and second blocks for storing and comparing associative signs, a memory block of logical vectors and an operation block, the information inputs of the first and second blocks for storing and comparing associative signs are respectively the first and second information inputs of the device, and the outputs of the storage units and comparison of associative features are connected respectively to the first and second address inputs mi of the logical vector memory block, the input of the regimes of the first and second blocks for storing and comparing associative signs, and the write-read input of the logical vector memory block are the first, second, and third inputs of the device modes, and the fourth, fifth, sixth device mode inputs, respectively connected to three inputs of operation unit operation codes, the first output of which is the first output of the device, the first input of the initial installation of the device is connected to the input initially installation of the operating unit, the second input of the initial installation - to the inputs of the initial installation of the first and second blocks for storing and comparing associative features, the first and second outputs of the logical vector memory block are connected respectively to the first and second information inputs of the operating unit, an additional one-bit output of the operating unit is introduced, which is the second output of the operating unit, and the composite sample search unit having four inputs and one output, and the first input of the initial installation The property is connected to the first input of the composite sample search unit, the second input of which is connected to the second output of the operation unit, the third and fourth inputs of the composite sample search unit are the third and fourth information inputs of the device, and the output of the composite sample search unit is the second output of the device, while the composite sample search unit contains a delay element, n registers for snoring the codes of the symbols of the composite sample with a bit size of p bits each, m registers for storing symbol codes in the text, each bit has p bits, k position triggers, as well as a characteristic matrix consisting of search cells and having a parallelogram geometric shape, matrix size is n × k search cells (km-n + 1 is the number of diagonals in the matrix) and (n- 1) × k two-input OR elements for line-by-line calculation of starting values, with each register for storing composite character codes and each register for storing text character codes, respectively, with three inputs (the first and second control inputs and the third information p-p row input) and one p-bit output, each position trigger has three inputs (first and second control inputs and third information input) and one p-bit output, each search cell has three information inputs (first and second p bit bits each, the third is a one-bit input) and one output, each search cell contains a two-input comparison scheme for the equality of p-bit codes of characters of a composite sample and text and a two-input element And, with the first and second p-bit inputs of the search cell are connected respectively to the first and second p-bit inputs of the two-input comparison circuit for equality, respectively, the output of which is the first input of the two-input element And, the output of which is the output of the search cell, the second input of the two-input element And is connected to the third input of the search cell, the first p-bit the inputs of all the search cells of the i-th row of the matrix (i = 1-n) are connected to the p-bit output of the i-th register for storing a compound pattern symbol, p-bit output of the j-th register for storing the tex character code that (j = 1-m) is connected respectively to the second p-bit inputs of all the search cells included in the j-th column of the matrix, the output of the (i, j) -th search cell, except for i = n (the last row of the matrix), is connected with the first input of the (i, j) -th two-input OR element, the second input of which is connected to the output of the (i, j-1) -th two-input OR element, except for the first two-input OR element in the current matrix row, the output (i, j) - of the two-input OR element is connected to the second input (ij + 1) of the two-input OR element and to the third input (i + 1, j + 1) of the search cell, except i = n, on the second the input of the first two-input OR element in each row of the matrix, a logical “0” value is supplied, the output of the search cell located in the last row of the matrix is connected to the third input of the j-th position trigger, to the third input of each search cell located in the first row of the matrix, a logical value of “1” is applied, the first input of the composite pattern search block is connected respectively to the first inputs of n registers for storing the character codes of the composite pattern, as well as with the first inputs of m registers for storing the character codes text and the first inputs k of position triggers, the second input “Recording strings” of the composite pattern search unit is connected to the input of the delay element and to the second inputs of n registers for storing the character codes of the composite pattern and the second inputs of m registers for storing text character codes, respectively, the output of the delay element is connected with second inputs of k position triggers, the outputs of which form the information k-bit output of the composite sample search block, the third input of the matrix search block consists of n groups of p bits each group, symbols of the composite sample, and the i-th group of bits (i = 1-n) is fed to the third p-bit input of the i-th register to store the code of the symbol of the composite sample, the fourth input of the composite sample search block consists of m groups of bits of p bits each group encoding characters of the text, and the j-th group of bits (j = 1-m) is fed to the third p-bit input of the j-th register to store the code of the characters of the text, each two-input equality comparison scheme in the search cell consists of p -input element And, as well as from p two-input the output elements of the sum modulo two with inversion, the first inputs of which will receive the corresponding bit from the i-th p-bit group of the third input of the composite sample search unit, and the pa second inputs of the two-input elements of the sum modulo two with inversion are the corresponding bit from the jth p-bit group of the fourth input of the composite sample search unit, the outputs of all two-input elements of the sum modulo two with inversion are connected to the p-input element And, the output of which is a one-bit output of the two-input comparison circuit for equality.

Сущность изобретения поясняется чертежами, где на фиг.1 представлена функциональная схема устройства поиска составного образца в последовательности, на фиг.2 - функциональная схема блока поиска составного образца, на фиг.3 - функциональная схема поисковой ячейки характеристической матрицы, на фиг.4 - пример поиска составного образца, на фиг.5 - временные диаграммы работы на операции «ПОИСК СОСТАВНОГО ОБРАЗЦА» («ПСО»).The invention is illustrated by drawings, where Fig. 1 shows a functional diagram of a device for searching a composite sample in a sequence, Fig. 2 is a functional diagram of a unit for searching a composite sample, Fig. 3 is a functional diagram of a search cell of a characteristic matrix, Fig. 4 is an example search composite sample, figure 5 is a timing diagram of the operation "SEARCH COMPOSITION" ("PSO").

Сущность предлагаемого способа заключаемся в совмещении параллельной побитовой обработки диагонально расположенных элементов характеристической матрицы, длина которых равна длине составного образца, с построчным вычислением стартовых значений для поисковых ячеек характеристической матрицы. Организации построчного вычисления начального значения поисковых ячеек характеристической матрицы позволяет учесть нерегулярный характер расположения отдельных подстрок составного образца в структуре анализируемой последовательности. Начальное значение в пределах отдельной строки матрицы формируемся как итерационная функция ИЛИ результатов посимвольного сопоставления в пределах анализируемой последовательности. Вычисленные стартовые значения «1» в позициях текущей строки характеристической матрицы инициируют процессы параллельного поиска по диагоналям матрицы, что позволяет соединить в один поисковый объект позиционно нерегулярные расположения символов составного образца.The essence of the proposed method consists in combining parallel bitwise processing of diagonally located elements of the characteristic matrix, the length of which is equal to the length of the composite sample, with line-by-line calculation of starting values for the search cells of the characteristic matrix. The organization of line-by-line calculation of the initial value of the search cells of the characteristic matrix allows you to take into account the irregular nature of the location of the individual substrings of the composite sample in the structure of the analyzed sequence. The initial value within a single row of the matrix is formed as an iterative function OR the results of character-by-symbol matching within the analyzed sequence. The calculated starting values of “1” at the positions of the current row of the characteristic matrix initiate parallel search processes along the diagonals of the matrix, which makes it possible to combine positionally irregular arrangements of characters of a composite sample into one search object.

Устройство поиска составного образца в последовательности (фиг.1) содержит блоки 11 и 12 хранения и сравнения ассоциативных признаков, блок 2 памяти логических векторов, операционный блок 3, блок 4 поиска составного образца, информационные входы 41, 42, 43 и 44, информационные выходы 51-52, входы 61-66 задания режима работы, входы 71 и 72 начальной установки.The device for searching for a composite sample in the sequence (Fig. 1) contains blocks 1 1 and 1 2 for storing and comparing associative signs, a block 2 for logical vector memory, an operation block 3, a block 4 for searching for a composite sample, information inputs 4 1 , 4 2 , 4 3 and 4 4 , information outputs 5 1 -5 2 , inputs 6 1 -6 6 of setting the operating mode, inputs 7 1 and 7 2 of the initial installation.

Структура блоков 11, 12, 2, 3 строго соответствуют устройству-прототипу в схемном и в функциональном отношении, состоит из совпадающих элементов и связей между ними.The structure of blocks 1 1 , 1 2 , 2, 3 strictly corresponds to the prototype device in a circuit and in functional terms, consists of matching elements and the connections between them.

Блок 4 поиска составного образца содержит два управляющих входа: «Начальная установка» 71 (первый вход) и вход «Запись строк» (второй вход), третий и четвертый входы для подачи символов составного образца и текста в параллельном коде через информационные входы 43, и 44 устройства, а также один информационный выход, являющийся вторым выходом 52 устройства. При этом второй управляющий вход блока 4 соединен со вторым выходом операционного блока 3.Block 4 for searching a composite sample contains two control inputs: “Initial installation” 7 1 (first input) and input “Recording lines” (second input), third and fourth inputs for supplying characters of a composite sample and text in parallel code through information inputs 4 3 , and 4 4 devices, as well as one information output, which is the second output of 5 2 devices. In this case, the second control input of unit 4 is connected to the second output of the operation unit 3.

Блок 4 поиска составного образца содержит элемент 31 задержки, состоящий из n пар инверторов, n регистров 321-32n для хранения кодов символов составного образца, m регистров 331-33m для хранения кодов символов текста, характеристической матрицы поисковых ячеек 3411-34nm. и (n-1)×k двухвходовых элементов 40 ИЛИ для построчного вычисления стартовых значений, к триггеров 37 позиций, причем регистр 32i (i=1-n) и регистр 33j (j=1-m) содержат первый и второй управляющие входы, третий p-разрядный информационный вход и один выход соответственно. Первые и вторые входы n регистров 32 для хранения кодов символов составного образца и первые и вторые входы m регистров 33 для хранения кодов символов текста соединены соответственно с первым и вторым управляющими входами блока 4 поиска составного образца, третий вход которого разрядностью p×n бит предназначен для параллельной записи составного образца в регистры 321-32n и состоит из n групп разрядов по p разрядов каждая группа, кодирующих символы составного образца, причем i-ая группа разрядов (i=1-n) подается на третий p-разрядный вход регистра 32i (i=1-n), четвертый вход блока 4 поиска составного образца разрядностью p×m бит предназначен для параллельной записи текста в регистры 331-33m и состоит из m групп разрядов по p разрядов каждая группа, кодирующих символы текста, причем j-ая группа разрядов (j=1-m) подается на третий p-разрядиый вход регистра 33j (j=1-m). Второй управляющий вход блока 4 поиска составного образца также соединен со входом элемента 31 задержки.The composite sample search unit 4 contains a delay element 31, consisting of n pairs of inverters, n registers 32 1 -32 n for storing the character codes of the composite sample, m registers 33 1 -33 m for storing the character codes of the text, the characteristic matrix of the search cells 34 11 - 34 nm. and (n-1) × k two-input elements 40 OR for line-by-line calculation of starting values, k triggers 37 positions, and register 32 i (i = 1-n) and register 33 j (j = 1-m) contain the first and second control inputs, the third p-bit information input and one output, respectively. The first and second inputs of n registers 32 for storing composite character codes and the first and second inputs of m registers 33 for storing text character codes are respectively connected to the first and second control inputs of the composite pattern search unit 4, the third input of which is p × n bit wide parallel recording of the composite sample in registers 32 1 -32 n and consists of n groups of bits of p bits each group encoding the characters of the composite sample, and the i-th group of bits (i = 1-n) is fed to the third p-bit input of register 32 i (i = 1-n), the fourth input of block 4 for searching for a composite sample with a bit size of p × m bits is intended for parallel writing of text into registers 33 1 -33 m and consists of m groups of bits of p bits each group encoding text characters, and j-th group of bits (j = 1-m) is fed to the third p-bit input of the register 33 j (j = 1-m). The second control input of the composite sample search unit 4 is also connected to the input of the delay element 31.

Характеристическая матрица поисковых ячеек 3411-34nm имеет размер n×k ячеек (k=m-n+1 - количество диагоналей в матрице), причем каждая поисковая ячейка 34ij имеет три входа и один выход и содержит двухвходовую схему 35ij сравнения на равенство p-разрядных кодов символов составного образна и текста и двухвходовой элемент 36 И, каждая двухвходовая схема 35ij сравнения на равенство в составе поисковой ячейки 34ij состоит из p-входового элемента 39 И, а также p двухвходовых элементов 381-38р суммы по модулю два с инверсией, на первые входы которых подается соответствующий разряд из i-ой p-разрядной группы третьего входа блока 4 поиска составного образца, а на вторые входы двухвходовых элементов 381-38р суммы по модулю два с инверсией - соответствующий разряд из j-ой p-разрядной группы четвертого входа блока 4 поиска составного образца, все выходы двухвходовых элементов 381-38р суммы по модулю два с инверсией в составе двухвходовой схемы 35ij сравнения на равенство соединены с p-входовым элементом 39 И, выход которого является выходом двухвходовой схемы 35ij сравнения на равенство. Первый и второй p-разрядные входы поисковой ячейки 34ij соответственно соединены с первым и вторым p-разрядными входами двухвходовой схемы 35ij сравнения на равенство, выход которой является первым входом двухвходового элемент 36 И, второй вход которого является третьим входом поисковой ячейки 34ij, выходом которой является выход двухвходового элемента 36 И. Также в каждую строку характеристической матрицы, кроме последней строки, входят к двухвходовых элементов 40 ИЛИ.The characteristic matrix of search cells 34 11 -34 nm has a size n × k cells (k = m-n + 1 is the number of diagonals in the matrix), and each search cell 34 ij has three inputs and one output and contains a two-input comparison circuit 35 ij for equality of p-bit character codes of the composite image and the text and the two-input element 36 I, each two-input equality comparison circuit 35 ij in the search cell 34 ij consists of the p-input element 39 I, as well as p two-input elements 38 1 -38 p sum modulo two with inversion, the first inputs of which are supplied respectively etstvuyuschy discharge of the i-th group of p-bit unit 4 sample the composite input search the third, and the second inputs of two-input elements 38 1 -38 p modulo two sum with inversion - the corresponding bit of the j-th group of p-bit input of the fourth block 4 searching for a composite sample, all outputs of two-input elements 38 1 -38 p sum modulo two with inversion in the two-input equality circuit 35 ij connected to the p-input element 39 And, the output of which is the output of the two-input equality comparison circuit 35 ij . The first and second p-bit inputs of the search cell 34 ij are respectively connected to the first and second p-bit inputs of the two-input equality comparison circuit 35 ij , the output of which is the first input of the two-input element 36 AND, the second input of which is the third input of the search cell 34 ij , the output of which is the output of the two-input element 36 I. Also, each row of the characteristic matrix, except for the last row, includes two-input elements 40 OR.

Характеристическая матрица поисковых ячеек 3411-34nm имеем геометрическую форму параллелограмма, в которой в каждой строке располагается k поисковых ячеек, сдвинутых относительно следующей строки ячеек вправо на 1 позицию, начиная с ячеек первой строки 3411-341k. Такая форма матрицы обеспечивает направление поиска по диагоналям, проходящим через ячейки от первой строки к последней строке включительно. Также в каждую строку характеристической матрицы, кроме последней строки, входят k двухвходовых элементов 40 ИЛИ. Первые p-разрядные входы k поисковых ячеек i-ой строки матрицы (i=1-n) соединены с p-разрядным выходом регистра 32i. P-разрядный выход регистра 33j (j=1-m) соединен со вторыми p-разрядными входами всех поисковых ячеек, входящих в j-ый столбец матрицы. Выход каждой поисковой ячейки 34ij, кроме i=n (последняя строка матрицы), соединен с первым входом (i, j)-го двухвходового элемента 40 ИЛИ, второй вход которого соединен с выходом (i, j-1)-го двухвходового элемента 40 ИЛИ, кроме первого двухвходового элемента 40 ИЛИ в каждой строке матрицы, выход (i, j)-го двухвходового элемента 40 ИЛИ соединен со вторым входом (i,j+1) двухвходового элемента 40 ИЛИ и с третьим входом (i+1, j+1) поисковой ячейки, кроме i=n, па второй вход первого двухвходового элемента 40 ИЛИ в каждой строке матрицы, подается значение логического «0», выход поисковой ячейки, расположенной в последней строке матрицы, соединен с третьим входом j-го триггера позиции. На третий вход каждой ячейки, расположенной в первой строке матрицы, подается значение логической «1», задавая тем самым направление поиска по соответствующей диагонали от первой строки матрицы к последней строке включительно.The characteristic matrix of search cells 34 11 -34 nm has a geometric parallelogram shape in which each row contains k search cells shifted 1 position to the right from the next row of cells, starting from the cells of the first row 34 11 -34 1k . This form of the matrix provides the direction of the search along the diagonals passing through the cells from the first row to the last row inclusive. Also, each row of the characteristic matrix, except the last row, includes k two-input elements 40 OR. The first p-bit inputs of k search cells of the i-th row of the matrix (i = 1-n) are connected to the p-bit output of register 32 i . The p-bit output of the register 33 j (j = 1-m) is connected to the second p-bit inputs of all the search cells included in the j-th column of the matrix. The output of each search cell 34 ij , except i = n (the last row of the matrix), is connected to the first input of the (i, j) -th two-input element 40 OR, the second input of which is connected to the output of the (i, j-1) -th two-input element 40 OR, except for the first two-input OR element 40 in each row of the matrix, the output of the (i, j) -th two-input OR element 40 is connected to the second input (i, j + 1) of the two-input OR element 40 and to the third input (i + 1, j + 1) of the search cell, except for i = n, pa the second input of the first two-input element 40 OR in each row of the matrix, the value of the logical "0" is supplied, you the course of the search cell located in the last row of the matrix is connected to the third input of the j-th position trigger. On the third input of each cell located in the first row of the matrix, a logical value of “1” is supplied, thereby setting the direction of the search along the corresponding diagonal from the first row of the matrix to the last row inclusive.

Триггера 371-37k позиций хранят результат поиска в виде k-разрядного кода, в котором значением логической «1» отмечены позиции начала вхождений составного образца в текст. Триггер 37i позиции (i=1-k) содержит три входа (первый и второй управляющие, третий одноразрядный информационный вход) и один выход. Первый вход блока 4 поиска составного образца соединен соответственно с первыми входами k триггеров 37 позиций, вторые входы k триггеров 37 позиций соединены с выходом элемента 31 задержки. Выходы триггеров 371-37k позиций образуют k-разрядный информационный выход блока 4 поиска составного образца.The trigger 37 1 -37 k positions store the search result in the form of a k-bit code, in which the logical “1” value marks the position of the beginning of occurrences of the composite pattern in the text. The trigger 37 i position (i = 1-k) contains three inputs (first and second control, the third one-bit information input) and one output. The first input of the composite sample search unit 4 is connected respectively to the first inputs of k position triggers 37, the second inputs of the position triggers 37 are connected to the output of the delay element 31. The outputs of the triggers 37 1 -37 k positions form a k-bit information output of the block 4 search composite sample.

Данное устройство, как и устройство-прототип, работает в режимах «Запись» и «Операция». Режим "Запись" строго соответствует алгоритму, описанному в устройстве-прототипе.This device, like the prototype device, works in the “Record” and “Operation” modes. The Record mode strictly corresponds to the algorithm described in the prototype device.

В алгоритме режима "Операция" дополнительно к выполняемым в устройстве-прототипе вводится операция, обозначаемая как «ПСО» и имеющая собственный код операции, который подается на соответствующий вход режима работы. С учетом появления блока 4 по сравнению с устройством-прототипом в алгоритм режима "Операция" вносятся следующие дополнения.In the algorithm of the "Operation" mode, in addition to the operations performed in the prototype device, an operation is designated, designated as "PSO" and having its own operation code, which is supplied to the corresponding input of the operation mode. Given the appearance of block 4, in comparison with the prototype device, the following additions are made to the algorithm of the "Operation" mode.

Пусть устройство выполняет режим «Операция» с кодом операции «ПСО». На вход 71 «Начальная установка» операционного блока 3 и блока 4 поиска составного образца подается импульсный сигнал начальной установки, который сбрасывает в нулевое состояние регистр 22 команд по его входу 1, регистр 30 по его входу 1, а также k триггеров 37 позиций по их входу 1, n регистров 32 по их входу 1 и m регистров 33 по их входу 1. После окончания действия сигнала начальной установки на вход 66, режима работы операционного блока 3 подается код операции «ПСО», который обнаруживается дешифратором 23 команд и со второго выхода операционного блока 3 на второй вход «Запись строк» блока 4 поиска составного образца подается импульсный сигнал. Данный импульсный сигнал по входу «Запись строк» блока 4 поиска составного образца подается соответственно на вторые входы разрешения записи n регистров 32 для хранения кодов символов составного образца и на вторые входы разрешения записи m регистров 33 для хранения кодов символов текста, обеспечивая тем самым запись n символов составного образца и m символов текста в параллельном коде с входов 43 и 44 устройства. Также импульсный сигнал по входу «Запись строк» блока 4 поиска составного образца через элемент 31 задержки подаемся соответственно на вторые входы разрешения записи k триггеров 37 позиций. Элемент 31 задержки, выполненный в виде n пар инверторов, необходим для завершения процессов поиска составного образца по диагоналям характеристической матрицы, состоящей из поисковых ячеек 3411-34nm. Поиск начинается с ячеек первой строки характеристической матрицы. Начальный k-битовый характеристический вектор, равный 11…1, подается на третьи входы поисковых ячеек первой строки матрицы и определяет тем самым направление параллельного поиска по всем диагоналям характеристической матрицы от поисковых ячеек первой строки до поисковых ячеек последней строки включительно. Время поиска составного образца определяется величиной Т=mτИ, где τИ - время задержки в элементе 36 И. По завершении процессов поиска импульсный сигнал с выхода элемента 31 задержки через время Т=m2τинв (2τинв - время задержки на цепочке инверторов) записывает k-битовый результат поиска составного образца в триггера 371-37k позиций. Выходы триггеров 371-37k позиций являются k-разрядным выходом блока 4 поиска составного образца и образуют второй выход устройства 52.Let the device perform the "Operation" mode with the operation code "PSO". Input 7 1 “Initial setting” of the operation unit 3 and unit 4 for searching the composite sample is supplied with a pulse signal of the initial installation, which resets the register 22 of the commands at its input 1, register 30 at its input 1, and also k triggers 37 positions at their input 1, n registers 32 at their input 1 and m registers 33 at their input 1. After the signal of the initial installation expires at input 6 6 , the operating mode of operation unit 3, the operation code "PSO" is detected, which is detected by the decoder 23 commands and with second output of the operating unit 3 a second input of 'Writing strings "unit 4 composite sample search supplied with the pulse signal. This pulse signal at the “Record strings” input of the composite sample search unit 4 is supplied respectively to the second write enable inputs of n registers 32 for storing the character codes of the composite sample and to the second write enable inputs of m registers 33 for storing text character codes, thereby recording n characters of a composite sample and m characters of text in parallel code from inputs 4 3 and 4 4 of the device. Also, the pulse signal at the input “Recording lines” of the composite sample search unit 4 through the delay element 31 is supplied respectively to the second recording permission inputs of k triggers 37 positions. The delay element 31, made in the form of n pairs of inverters, is necessary to complete the search for a composite sample along the diagonals of the characteristic matrix, consisting of search cells 34 11 -34 nm . The search begins with the cells of the first row of the characteristic matrix. The initial k-bit characteristic vector, equal to 11 ... 1, is fed to the third inputs of the search cells of the first row of the matrix and thereby determines the direction of parallel search on all diagonals of the characteristic matrix from the search cells of the first row to the search cells of the last row, inclusive. The search time for a composite sample is determined by the value T = mτ И , where τ И is the delay time in the element 36 I. Upon completion of the search processes, the pulse signal from the output of the delay element 31 after the time T = m2τ inv (2τ inv is the delay time on the inverter chain) records The k-bit composite pattern search result in trigger 37 1 -37 k positions. The outputs of the triggers 37 1 -37 k positions are the k-bit output of the block 4 search for a composite sample and form the second output of the device 5 2 .

Выполнение алгоритма в режиме «Операция» на остальных операциях строго соответствует устройству-прототипу.The execution of the algorithm in the "Operation" mode on the remaining operations strictly corresponds to the prototype device.

Таким образом, достигается расширение функциональности устройства поиска составного образца в последовательности за счет модернизации связей ячеек характеристической матрицы и ввода дополнительных элементов в характеристическую матрицу поиска.Thus, the expansion of the functionality of the composite sample search device in the sequence is achieved due to the modernization of the links of the cells of the characteristic matrix and the introduction of additional elements into the characteristic search matrix.

Claims (2)

1. Способ поиска составного образца в анализируемой последовательности, отличающийся совмещением параллельной побитовой обработки элементов в составе диагоналей характеристической матрицы, длина которых равна длине составного образца в анализируемой последовательности, с построчным вычислением стартовых значений поисковых ячеек характеристической матрицы, что позволяет учесть позиционно нерегулярное расположение символов составного образца в анализируемой последовательности и соединить в один поисковый объект позиционно нерегулярные расположения символов составного образца в анализируемой последовательности.1. The method of searching for a composite sample in the analyzed sequence, characterized by combining parallel bitwise processing of the elements in the diagonals of the characteristic matrix, the length of which is equal to the length of the composite sample in the analyzed sequence, with line-by-line calculation of the starting values of the search cells of the characteristic matrix, which allows you to take into account the positionally irregular arrangement of the characters of the composite sample in the analyzed sequence and combine in one search object positionally the linear arrangement of the characters of the composite sample in the analyzed sequence. 2. Устройство поиска составного образца в анализируемой последовательности, содержащее первый и второй блоки хранения и сравнения ассоциативных признаков, блок памяти логических векторов и операционный блок, причем информационные входы первого и второго блоков хранения и сравнения ассоциативных признаков являются соответственно первым и вторым информационными входами устройства, а выходы блоков хранения и сравнения ассоциативных признаков соединены соответственно с первым и вторым адресными входами блока памяти логических векторов, входы задания режимов первого и второго блоков хранения и сравнения ассоциативных признаков и вход записи-считывания блока памяти логических векторов являются соответственно первым, вторым и третьим входами задания режимов устройства, а четвертый, пятый, шестой входы задания режимов устройства соответственно соединены с тремя входами кодов операций операционного блока, первый выход которого является первым выходом устройства, первый вход начальной установки устройства подключен к входу начальной установки операционного блока, второй вход начальной установки - к входам начальной установки первого и второго блоков хранения и сравнения ассоциативных признаков, первый и второй выходы блока памяти логических векторов подключены соответственно к первому и второму информационным входам операционного блока, отличающееся тем, что в него, во-первых, введен дополнительный однобитовый выход операционного блока, который является вторым выходом операционного блока, во-вторых, блок поиска составного образца в анализируемой последовательности, имеющий четыре входа и один выход, причем первый вход начальной установки устройства подключен к первому входу блока поиска составного образца в анализируемой последовательности, второй вход которого соединен со вторым выходом операционного блока, третий и четвертый входы блока поиска составного образца в анализируемой последовательности являются соответственно третьим и четвертым информационными входами устройства, а выход блока поиска составного образца в анализируемой последовательности является вторым выходом устройства, при этом блок поиска составного образца в анализируемой последовательности содержит элемент задержки, n регистров для хранения кодов символов составного образца в анализируемой последовательности разрядностью p бит каждый, m регистров для хранения кодов символов текста разрядностью p бит каждый, k триггеров позиций, а также характеристическую матрицу, состоящую из поисковых ячеек и имеющую геометрическую форму параллелограмма, размер матрицы - n×k поисковых ячеек (k=m-n+1 - количество диагоналей в матрице) и (n-1)×k двухвходовых элементов ИЛИ для построчного вычисления стартовых значений, при этом каждый регистр для хранения кодов символов составного образца в анализируемой последовательности и каждый регистр для хранения кодов символов текста имеют соответственно три входа (первый и второй управляющие входы и третий информационный p-разрядный вход) и один p-разрядный выход, каждый триггер позиции имеет соответственно три входа (первый и второй управляющие входы и третий информационный вход) и один p-разрядный выход, каждая поисковая ячейка имеет три информационных входа (первый и второй входы разрядностью p бит каждый, третий - одноразрядный вход) и один выход, каждая поисковая ячейка содержит двухвходовую схему сравнения на равенство p-разрядных кодов символов составного образца в анализируемой последовательности и текста и двухвходовой элемент И, причем первый и второй p-разрядные входы поисковой ячейки соединены соответственно с первым и вторым p-разрядными входами двухвходовой схемы сравнения на равенство соответственно, выход которой является первым входом двухвходового элемента И, выход которого является выходом поисковой ячейки, второй вход двухвходового элемента И соединен с третьим входом поисковой ячейки, причем первые p-разрядные входы всех поисковых ячеек i-ой строки матрицы (i=1-n) соединены с p-разрядным выходом i-ого регистра для хранения символа составного образца в анализируемой последовательности, p-разрядный выход j-ого регистра для хранения кода символа текста (j=1-m) соединен соответственно со вторыми p-разрядными входами всех поисковых ячеек, входящих в j-ый столбец матрицы, выход (i,j)-ой поисковой ячейки, кроме i=n (последняя строка матрицы), соединен с первым входом (i,j)-го двухвходового элемента ИЛИ, второй вход которого соединен с выходом (i,j-1)-го двухвходового элемента ИЛИ, кроме первого двухвходового элемента ИЛИ в текущей строке матрицы, выход (i,j)-го двухвходового элемента ИЛИ соединен со вторым входом (ij+1) двухвходового элемента ИЛИ и с третьим входом (i+1, j+1) поисковой ячейки, кроме i=n, на второй вход первого двухвходового элемента ИЛИ в каждой строке матрицы подается значение логического «0», выход поисковой ячейки, расположенной в последней строке матрицы, соединен с третьим входом j-го триггера позиции, на третий вход каждой поисковой ячейки, расположенной в первой строке матрицы, подано значение логической «1», первый вход блока поиска составного образца в анализируемой последовательности соединен соответственно с первыми входами n регистров для хранения кодов символов составного образца в анализируемой последовательности, а также с первыми входами m регистров для хранения кодов символов текста и первыми входами к триггеров позиций, второй вход «Запись строк» блока поиска составного образца в анализируемой последовательности соединен со входом элемента задержки и со вторыми входами n регистров для хранения кодов символов составного образца в анализируемой последовательности и вторыми входами m регистров для хранения кодов символов текста соответственно, выход элемента задержки соединен со вторыми входами k триггеров позиций, выходы которых образуют информационный k-разрядный выход блока поиска составного образца в анализируемой последовательности, третий вход блока матричного поиска состоит из n групп по p разрядов каждая группа, кодирующих символы составного образца в анализируемой последовательности, причем i-ая группа разрядов (i=1-n) подается на третий p-разрядный вход i-ого регистра для хранения кода символа составного образца в анализируемой последовательности, четвертый вход блока поиска составного образца в анализируемой последовательности состоит из m групп разрядов по p разрядов каждая группа, кодирующих символы текста, причем j-ая группа разрядов (j=1-m) подается на третий p-разрядный вход j-ого регистра для хранения кода символов текста, каждая двухвходовая схема сравнения на равенство в составе поисковой ячейки состоит из p-входового элемента И, а также из p двухвходовых элементов суммы по модулю два с инверсией, на первые входы которых подается соответствующий разряд из i-ой p-разрядной группы третьего входа блока поиска составного образца в анализируемой последовательности, а на вторые входы двухвходовых элементов суммы по модулю два с инверсией - соответствующий разряд из j-ой p-разрядной группы четвертого входа блока поиска составного образца в анализируемой последовательности, выходы всех двухвходовых элементов суммы по модулю два с инверсией соединены с p-входовым элементом И, выход которого является одноразрядным выходом двухвходовой схемы сравнения на равенство. 2. A device for searching for a composite sample in the analyzed sequence, containing the first and second blocks for storing and comparing associative signs, a memory block of logical vectors and an operation block, the information inputs of the first and second blocks for storing and comparing associative signs are the first and second information inputs of the device, and the outputs of the blocks for storing and comparing associative signs are connected, respectively, with the first and second address inputs of the logical vector memory block c, the inputs of the job modes of the first and second blocks for storing and comparing associative signs and the write-read input of the logical vector memory block are the first, second, and third inputs of the device modes, and the fourth, fifth, and sixth inputs of the device modes are respectively connected to three inputs operating unit operation codes, the first output of which is the first output of the device, the first input of the initial installation of the device is connected to the input of the initial installation of the operating unit, T swarm input of the initial installation - to the inputs of the initial installation of the first and second blocks of storage and comparison of associative signs, the first and second outputs of the logical vector memory block are connected respectively to the first and second information inputs of the operational block, characterized in that, firstly, it is introduced into it an additional one-bit output of the operating unit, which is the second output of the operating unit, and secondly, a unit for searching for a composite sample in the analyzed sequence, having four inputs and one you a move, and the first input of the initial installation of the device is connected to the first input of the composite sample search unit in the analyzed sequence, the second input of which is connected to the second output of the operation unit, the third and fourth inputs of the composite sample search unit in the analyzed sequence are the third and fourth information inputs of the device, and the output of the composite sample search unit in the analyzed sequence is the second output of the device, while the composite search unit the sample in the analyzed sequence contains a delay element, n registers for storing the character codes of the composite sample in the analyzed sequence with bits of p bits each, m registers for storing character codes of text with bits of p bits each, k position triggers, and also a characteristic matrix consisting of search cells and having a parallelogram geometric shape, the matrix size is n × k search cells (k = m-n + 1 is the number of diagonals in the matrix) and (n-1) × k are two-input elements OR for line-by-line calculation of starts values, with each register for storing character codes of a composite sample in the analyzed sequence and each register for storing text character codes of text, respectively, have three inputs (first and second control inputs and a third information p-bit input) and one p-bit output, each a position trigger has three inputs (first and second control inputs and a third information input) and one p-bit output, respectively, each search cell has three information inputs (first and second inputs with a capacity of p b each, the third is a one-bit input) and one output, each search cell contains a two-input comparison scheme for the equality of p-bit codes of the symbols of the composite sample in the analyzed sequence and text and a two-input element And, the first and second p-bit inputs of the search cell are connected respectively with the first and second p-bit inputs of the two-input comparison circuit for equality, respectively, the output of which is the first input of the two-input element And, the output of which is the output of the search cell, the input of the two-input element And is connected to the third input of the search cell, and the first p-bit inputs of all the search cells of the i-th row of the matrix (i = 1-n) are connected to the p-bit output of the i-th register to store the symbol of the composite sample in the analyzed sequence, the p-bit output of the j-th register for storing the text character code (j = 1-m) is connected respectively to the second p-bit inputs of all the search cells included in the j-th column of the matrix, the output of the (i, j) -th the search cell, except for i = n (the last row of the matrix), is connected to the first input ohm of the (i, j) -th two-input OR element, the second input of which is connected to the output of the (i, j-1) -th two-input OR element, except for the first two-input OR element in the current row of the matrix, the output of the (i, j) -th two-input the OR element is connected to the second input (ij + 1) of the two-input OR element and to the third input (i + 1, j + 1) of the search cell, except i = n, the logical “ 0 ", the output of the search cell located in the last row of the matrix is connected to the third input of the j-th trigger Position, the logical “1” value is supplied to the third input of each search cell located in the first row of the matrix, the first input of the composite sample search unit in the analyzed sequence is connected respectively to the first inputs of n registers for storing the codes of the composite sample characters in the analyzed sequence, and with the first inputs of m registers for storing text character codes and the first inputs to position triggers, the second input is “Record strings” of the composite sample search block in the analyzed sequence and is connected to the input of the delay element and to the second inputs of n registers for storing codes of characters of the composite sample in the analyzed sequence and the second inputs of m registers for storing codes of text characters, respectively, the output of the delay element is connected to the second inputs of k position triggers, the outputs of which form information k bit output of the composite sample search block in the analyzed sequence, the third input of the matrix search block consists of n groups of p bits each group encoding the characters of an explicit sample in the analyzed sequence, the i-th group of bits (i = 1-n) being fed to the third p-bit input of the i-th register to store the code of the symbol of the composite sample in the analyzed sequence, the fourth input of the composite sample search block in the analyzed sequence consists of of m groups of digits of p digits each group encoding characters of the text, and the j-th group of digits (j = 1-m) is fed to the third p-bit input of the j-th register to store the code of the characters of the text, each two-input comparison circuit on equal your search cell consists of a p-input element And, as well as p two-input elements, the sums are modulo two with inversion, the first inputs of which are supplied with the corresponding bit from the ith p-bit group of the third input of the composite sample search block in the analyzed sequence , and the second inputs of two-input elements of the sum modulo two with inversion - the corresponding bit from the j-th p-bit group of the fourth input of the composite sample search unit in the analyzed sequence, the outputs of all two-input elements modulo two sum with inversion from p-coupled input elements and whose output is the output two-input one-bit comparison circuit for equality.
RU2013132666/08A 2013-07-15 2013-07-15 Method and apparatus for searching for composite sample in sequence RU2549525C2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2013132666/08A RU2549525C2 (en) 2013-07-15 2013-07-15 Method and apparatus for searching for composite sample in sequence

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2013132666/08A RU2549525C2 (en) 2013-07-15 2013-07-15 Method and apparatus for searching for composite sample in sequence

Publications (2)

Publication Number Publication Date
RU2013132666A RU2013132666A (en) 2015-01-20
RU2549525C2 true RU2549525C2 (en) 2015-04-27

Family

ID=53280811

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2013132666/08A RU2549525C2 (en) 2013-07-15 2013-07-15 Method and apparatus for searching for composite sample in sequence

Country Status (1)

Country Link
RU (1) RU2549525C2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2762781C1 (en) * 2021-02-26 2021-12-22 Федеральное государственное бюджетное образовательное учреждение высшего образования "Юго-Западный государственный университет" (ЮЗГУ) (RU) Matrix device for parallel search of occurrences and data processing
RU2789997C1 (en) * 2022-04-21 2023-02-14 Федеральное государственное бюджетное образовательное учреждение высшего образования "Юго-Западный государственный университет" (ЮЗГУ) Method and matrix device for parallel-pipeline pattern match search

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2195015C1 (en) * 2001-07-18 2002-12-20 Курский государственный технический университет Information retrieval parallel system
RU72771U1 (en) * 2007-12-25 2008-04-27 Государственное образовательное учреждение высшего профессионального образования "Курский государственный технический университет" DEVICE FOR PARALLEL SEARCH AND DATA PROCESSING
US7957171B2 (en) * 2007-11-30 2011-06-07 Hiroshima University Associative memory and searching system using the same
RU2430408C1 (en) * 2010-03-29 2011-09-27 Государственное образовательное учреждение высшего профессионального образования Курский государственный технический университет Device for parallel search for word inclusions and coincidence
CN103049570A (en) * 2012-12-31 2013-04-17 天津大学 Method for searching and sorting images and videos on basis of relevancy preserving mapping and classifier

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2195015C1 (en) * 2001-07-18 2002-12-20 Курский государственный технический университет Information retrieval parallel system
US7957171B2 (en) * 2007-11-30 2011-06-07 Hiroshima University Associative memory and searching system using the same
RU72771U1 (en) * 2007-12-25 2008-04-27 Государственное образовательное учреждение высшего профессионального образования "Курский государственный технический университет" DEVICE FOR PARALLEL SEARCH AND DATA PROCESSING
RU2430408C1 (en) * 2010-03-29 2011-09-27 Государственное образовательное учреждение высшего профессионального образования Курский государственный технический университет Device for parallel search for word inclusions and coincidence
CN103049570A (en) * 2012-12-31 2013-04-17 天津大学 Method for searching and sorting images and videos on basis of relevancy preserving mapping and classifier

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2762781C1 (en) * 2021-02-26 2021-12-22 Федеральное государственное бюджетное образовательное учреждение высшего образования "Юго-Западный государственный университет" (ЮЗГУ) (RU) Matrix device for parallel search of occurrences and data processing
RU2789997C1 (en) * 2022-04-21 2023-02-14 Федеральное государственное бюджетное образовательное учреждение высшего образования "Юго-Западный государственный университет" (ЮЗГУ) Method and matrix device for parallel-pipeline pattern match search

Also Published As

Publication number Publication date
RU2013132666A (en) 2015-01-20

Similar Documents

Publication Publication Date Title
Kaplan et al. A resistive CAM processing-in-storage architecture for DNA sequence alignment
Chin et al. Voting algorithms for discovering long motifs
US7392229B2 (en) General purpose set theoretic processor
US9740659B2 (en) Merging and sorting arrays on an SIMD processor
US6760821B2 (en) Memory engine for the inspection and manipulation of data
US8954484B2 (en) Inclusive or bit matrix to compare multiple corresponding subfields
US20120072704A1 (en) &#34;or&#34; bit matrix multiply vector instruction
Chowdhury et al. A DNA read alignment accelerator based on computational RAM
CN111445952B (en) Method and system for quickly comparing similarity of super-long gene sequences
KR20230170891A (en) In-memory efficient multistep search
US20080288756A1 (en) &#34;or&#34; bit matrix multiply vector instruction
Sadiq et al. NvPD: novel parallel edit distance algorithm, correctness, and performance evaluation
RU2549525C2 (en) Method and apparatus for searching for composite sample in sequence
RU2430408C1 (en) Device for parallel search for word inclusions and coincidence
Mäkinen et al. Applying the positional Burrows–Wheeler transform to all-pairs hamming distance
RU84615U1 (en) ASSOCIATIVE MEMORIAL MATRIX
RU72771U1 (en) DEVICE FOR PARALLEL SEARCH AND DATA PROCESSING
RU163442U1 (en) DEVICE FOR PARALLEL SEARCH FOR COMPOSITE SAMPLE
US7069386B2 (en) Associative memory device
Brođanac et al. Parallelized rabin-karp method for exact string matching
RU2776602C1 (en) Matrix apparatus for parallel search of a composite sample
RU2789997C1 (en) Method and matrix device for parallel-pipeline pattern match search
RU2787742C1 (en) Matrix device for fast occurrence search and data processing
RU2762781C1 (en) Matrix device for parallel search of occurrences and data processing
RU223472U1 (en) DEVICE FOR PROCESSING DESCRIPTORS AND PARALLEL SEARCHING FOR INTERNETWORK INTERACTION CANDIDATES

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20150716