DOI QR코드

DOI QR Code

극대 증가 부분서열을 찾는 선형 알고리즘

Linear-time algorithms for computing a maximal increasing subsequence

  • 나중채 (세종대학교 컴퓨터공학과)
  • 투고 : 2023.06.26
  • 심사 : 2023.07.18
  • 발행 : 2023.07.31

초록

최장 증가 부분서열(longest increasing subsequence)은 컴퓨터 과학 분야에서 오랫동안 연구되어온 주요 문제이다. 본 논문에서는 최장 조건을 극대로 완화한 극대 증가 부분서열(maximal increasing subsequence) 문제를 고려한다. 본 논문에서는 두 가지 버전의 증가 개념(단조증가, 순증가)에 대해, 알파벳 Σ 에 대한 서열의 극대 증가 부분서열을 구하는 선형시간 알고리즘을 제안한다. 극대 단조증가 부분서열을 구하는 알고리즘은 O(1) 공간을 사용하고, 극대 순증가 부분서열을 구하는 알고리즘은 O(|Σ|) 공간을 사용한다.

The longest increasing subsequence is a fundamental problem which has been studied for a long time in computer science. In this paper, we consider the maximal increasing subsequence problem where the constraint is released from the longest to the maximal. For two kinds of increasing (monotone increasing and strictly increasing), we propose linear-time algorithms computing a maximal increasing subsequence of an input sequence from an alphabet Σ. Our algorithm for computing a maximal monotone increasing subsequence requires O(1) space and our algorithm for computing a maximal strictly increasing subsequence requires O(|Σ|) space.

키워드

과제정보

이 논문은 정부(과학기술정보통신부)의 재원으로 한국연구재단의 지원을 받아 수행된 연구임 (2020R1F1A1068873). 이 논문은 2021년도 교내연구비 지원에 의한 논문임.

참고문헌

  1. C. Schensted, "Longest increasing and decreasing subsequences," Canadian J ournal of Mathematics, 13, pp. 179-191, 1961.  https://doi.org/10.4153/CJM-1961-015-3
  2. I. Lee, "Mining Regular Expression Rules based on q-grams," Smart Media J ournal, Vol. 8, No. 3, pp. 17-22, 2019.  https://doi.org/10.30693/SMJ.2019.8.3.17
  3. M. L. Fredman, "On computing the length of longest increasing subsequences," Discrete Mathematics, Vol. 11, Issue 1, pp. 29-35, 1975.  https://doi.org/10.1016/0012-365X(75)90103-X
  4. J.W. Hunt and T.G. Szymanski, "A fast algorithm for computing longest common subsequences," Communications of ACM, Vol. 20, Issue 5, pp. 350-353, May 1977.  https://doi.org/10.1145/359581.359603
  5. D. Aldous and P. Diaconis, "Longest increasing subsequences: from patience sorting to the Baik-Deift-Johansson theorem," Bulletin of the American Mathematical Society, Vol. 36, No. 4, pp. 413-432, Jul. 1999.  https://doi.org/10.1090/S0273-0979-99-00796-X
  6. M. Crochemore and E. Porat, "Fast computation of longest increasing subsequences and application," Information and computation, Vol. 208, Issue 9, pp. 1054-1059, Sep. 2010.  https://doi.org/10.1016/j.ic.2010.04.003
  7. D. Gusfield, Algorithms on Strings, Trees and Sequences: Computer Science and Computational Biology, Cambridge University Press, 1997. 
  8. 이인복, "k개의 오차를 허용하는 순위 패턴 매칭," 스마트미디어저널, 제9권, 제2호, 33-38쪽, 2020년6월 
  9. 박승현, 이은지, 김판구, "한글 편집거리 알고리즘을 이용한 한국어 철자오류 교정방법," 스마트미디어저널, 제6권, 제1호, 16-21쪽, 2017년 3월 
  10. R.A. Wagner and M.J. Fischer. "The string-to-string correction problem," Journal of the ACM, Vol. 21, Issue 1, pp. 168-173, Jan. 1974.  https://doi.org/10.1145/321796.321811
  11. I.-H. Yang, C.-P. Huang, and K.-M. Chao, "Afast algorithm for computing a longest common increasing subsequence," Information Processing Letters 93 (5), pp. 249-253, 2005.  https://doi.org/10.1016/j.ipl.2004.10.014
  12. A. Agrawal and P. Gawrychowski, "A Faster Subquadratic Algorithm for the Longest Common Increasing Subsequence Problem," Proc. of International Symposium on Algorithms and Computation (ISAAC), 4, Hong Kong, China, Dec. 2020. 
  13. Y. Sakai, "Maximal common subsequence algorithms," Theoretical Computer Science, vol. 793, pp. 132-139, 2019.  https://doi.org/10.1016/j.tcs.2019.06.020
  14. 이동엽, 나중채, "유사도 측정에 대한 극대 공통부분 서열의 효용성," 한국차세대컴퓨팅학회 논문지, vol. 18, no. 3, 53-61쪽, 2022년 6월  https://doi.org/10.23019/KINGPC.18.3.202206.005
  15. 이동엽, 나중채, "더 긴 극대 공통 부분 서열을 찾기 위한 알고리즘," 정보과학회논문지, vol. 49, no. 7, 507-513쪽, 2022년 7월  https://doi.org/10.5626/JOK.2022.49.7.507
  16. M.J. Atallah and S.R. Kosaraju, "An Efficient Algorithm for Maxdominance, with Applications," Algorithmica, 4, pp. 221-236, 1989. https://doi.org/10.1007/BF01553888