Explore chapters and articles related to this topic
Probabilistic state machine mining method of wireless unknown protocol
Published in Amir Hussain, Mirjana Ivanovic, Electronics, Communications and Networks IV, 2015
Fen Li, Weiyan Zhang, Kuilin Tao
Assuming that captured data frame has no preamble with evident fixed pattern, and the protocol frame boundary can only be roughly identified. If layer can be divided based on the structure and semantics of part of the field, and the data part of corresponding layer of each frame needed to analyze can be extracted, the finite state machine model of some layer can be obtained according to the following scheme; If the layer cannot be divided, the whole protocol state transition diagram can be reconstructed according to the following scheme. Use clustering algorithm to cluster two classes with a minimum distance to a new class, and classify each frame to different classes by calculating the longest common substring of two frames;Assign each class an ID number, thus each frame is marked by a cluster ID, and each data stream is converted to a cluster ID sequence;Extract state with the same cluster ID in each stream as the same state ID;Use common substring searching algorithm to find other states with a length greater than 2 in the remaining sub - stream; and remaining frame is set as a separate state;Create state diagram for each stream; merge all of these figures as a finite state model; use "pullout" and "pull-in" to extract common prefix state; emerge the two states for precursor state with only one successor state, finally obtain the simplified state diagram.
A fast two-level grid index algorithm for common edge extraction in vector data compression
Published in Journal of Spatial Science, 2023
Wei Yang, Qiaojun Li, Xiaoning Li, Shuxia Li, Xianju Feng, YueMei Ren, Ling Wang
The dynamic programming method (Jin 2017) transforms the process of extracting common edges into the problem of finding the longest common substring shared by two coordinate point strings. In the process of solving, the recursive Equation 1 is used to construct a two-dimensional dynamic programming table which stores the solutions that have been solved. The solved solutions can be directly called (from the table) and utilised the next time to avoid redundant calculations. Supposing the coordinate point of two adjacent vectorised polygons are A{a1, a2, …, am} and B{b1, b2, …, bn}. Firstly, according to the numbers of points in polygons A and B, a two-dimensional table c with a size of m * n is established. Secondly, table c is initialised according to Equation 1, i.e. c[i][j] = c[i−1][j−1]+1 if the coordinates of the jth point in A is equal to that of the ith point in A, otherwise, c[i][j] = 0. Next, search for nonzero values in table c. Regard the first nonzero value as the starting point of the 1st common edge between the polygons represented by A and B, and search for more common points on the 1st common edge in table c along the diagonal direction of the starting point. The points on the 1st common edge increase along the diagonal direction of the starting point until reaching a position where the two points from A and B become unequal. Next, search for the next common edge, until it reaches the end of the table c.