## 2 Related Work  
The \"Agrep\" algorithm for approximate nucleotide sequence matching was put forth by [PERSON] et al. The current pattern-matching algorithms can only match a limited number of genome sequences [16; 17]. A sequence matching algorithm that operates on discovering a wide range of genome patterns of length up to 64 bits with an adaptability of 9 bits was achieved by the \"CUDA\" implementation of \"Agrep algorithms\". Its memory requirement is decreased using a binary representation with two bits per character. Consequently, multiple genomes can be loaded at an instance. Because the entire genome is strictly scanned, its high sensitivity is ensured [18]. The high sensitivity of the CUDA agreement--a measure of \"the proportion of actual positives\" identified correctly--is another benefit of the agreement. A novel \"exact multiple pattern\" matching algorithm utilizing \"DNA sequence\" and \"pattern pair\" was introduced by [PERSON] and [PERSON] [12]. Each pattern algorithm starts from the character that matches the pattern, reducing the need to compare additional characters if the indexes for the input sequence have already been created. It works well for applications involving DNA sequences; in some instances, the number of comparisons of the proposed algorithm decreases as the pattern size increases. The algorithm proposed in this paper outperforms other commonly used algorithms regarding comparisons and the \"comparations per character (CPC)\" ratio. The proposed algorithm outperforms many competing algorithms, including MSMPMA, brute force, TriMatch, naive string matching, and IKPMPM, regarding metrics such as CPC ratio. Comparing the EPMSPP approach to other, more traditional methods, it performs excellently. In [13], the Boyer-Moore algorithm conducts a more significant shift increment when a mismatch is identified. In terms of scanning, it differs significantly from the naive algorithm. It traverses the string going right to the left, unlike the naive algorithm, in which the last character of P is matched with the first character of T. If a character matches, the pointer is advanced to the left to the pattern's remaining elements. If a conflict is found in T at character c that does not exist in P, P is advanced right by m places and adjusted to the next character following c. P is moved exactly such that c is aligned with the rightmost appearance of c in P if the c is part of P. However, the worst-case time complexity remains O(m+n). M is first generated for the specified pattern P in the Knuth-Morris-Pratt finite state automata (FSM) model [14]. If a pattern exists in the text, it is approved or ignored. The KMP algorithm initially generates a supplementary LPS of size m (the same as the pattern size) to skip characters during matching. LPS represents the longest prefix suffix. It also serves as a suffix. KMP can know some of the following characters in the next window's text. Knowing this, we can avoid matching characters we already know will match. The sole drawback of the KMP method is that it does not indicate the number of times the pattern has occurred. Dynamic programming is one of the highly utilized algorithms in computer science. It entails recursively addressing consecutive recurrence relations, in which more minor issues are addressed to answer the more significant problem. The worst time complexity is O(n). According to [PERSON] et al. [15]. They proposed the \"Aho-Corasick string matching algorithm\", especially for real-world applications. The Aho-Corasick algorithm works well for multiple pattern matching and has many applications. However, it has been found that the algorithm's performance suffers in terms of \"time\" and \"space\" as the size of the automata dramatically increases. The algorithm's complexity grows linearly with the patterns' scope, the text being searched, and the number of output matches. This algorithm can resolve issues in text mining, bioinformatics, digital forensics, intrusion detection, and plagiarism detection, among other things.