RU2549525C2 - Method and apparatus for searching for composite sample in sequence - Google Patents
Method and apparatus for searching for composite sample in sequence Download PDFInfo
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
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
, . , .
В частном случае, для образцов, включающих только одну подстроку, задача поиска формулируется как поиск вхождения. При лом вюрая часть условия (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; .i 1 + 1 = i 2 ; i 2 + 1 = 1i 3 ; .
По умолчанию выражения (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.
Известно устройство [А.с. 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
Структура блоков 11, 12, 2, 3 строго соответствуют устройству-прототипу в схемном и в функциональном отношении, состоит из совпадающих элементов и связей между ними.The structure of
Блок 4 поиска составного образца содержит два управляющих входа: «Начальная установка» 71 (первый вход) и вход «Запись строк» (второй вход), третий и четвертый входы для подачи символов составного образца и текста в параллельном коде через информационные входы 43, и 44 устройства, а также один информационный выход, являющийся вторым выходом 52 устройства. При этом второй управляющий вход блока 4 соединен со вторым выходом операционного блока 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
Характеристическая матрица поисковых ячеек 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-
Характеристическая матрица поисковых ячеек 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-
Триггера 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
Данное устройство, как и устройство-прототип, работает в режимах «Запись» и «Операция». Режим "Запись" строго соответствует алгоритму, описанному в устройстве-прототипе.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
Пусть устройство выполняет режим «Операция» с кодом операции «ПСО». На вход 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".
Выполнение алгоритма в режиме «Операция» на остальных операциях строго соответствует устройству-прототипу.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)
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)
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)
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 |
-
2013
- 2013-07-15 RU RU2013132666/08A patent/RU2549525C2/en not_active IP Right Cessation
Patent Citations (5)
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)
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) | "or" 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) | "or" 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 |