# 최장 공통 부분 수열 ## 개요 **최장통 부분 수열**(Longest Subsequence, 이하 LCS)은 개 이상의 문자열(또는 수열)에서 동시에 나타나는 **부분 수열**(subsequence) 중 가장 긴 것을 찾는 문제입니다. 이 알고리즘은 **자연어처리**(NLP), **생물정보학**, **버전 관리 시스템**(예: `git diff`)...
검색 결과
"시간 복잡도"에 대한 검색 결과 (총 15개)
# 델라나이 삼각분할 ## 개요 델라이 삼각분할(Delaunay Triangulation)은산 기하학 중요한 개념 중 하나로 주어진 평면상의 점 집합을 삼각형으로 분할하는 방법입니다. 이 분할 방식은 삼각형의 내부에 다른 점이 포함되지 않도록 하는 **델라나이 조건**(Delaunay Condition)을 만족시킵니다. 즉, 각 삼각형의 외접원(circ...
# DP 테이블 ##요 **DP 테이블Dynamic Programming Table)은 동적획법(Dynamic Programming, DP) 구현할 때 사용하는 데이터 구조로, 주로 1차원 또는 2원 배열 형태로 표현된다. DP는 복잡한 문제를 작은 하위 문제로 나누어 해결한 후, 그 결과를 저장하고 재사용함으로써 중복 계산을 피하고 효율적으로 최적해를...
# 장기 의존성 연어처리(Natural Language, NLP) 분야에서장기 의존성**(Long-term dependency)은 언어의 구조적 특성 중 하나로, 문장이나 텍스트 내에서 멀리 떨어져 있는 단어나 구절 사이의 의미적, 문법적 관계를 유지하고 이해하는 능력을 의미합니다. 이는 자연어가 가지는 순차적이고 맥락 의존적인 특성에서 비롯되며, 인공지...
# 서포트 벡터 머신 ## 개요 **서트 벡터 머신**(Support Vector Machine, SVM)은 기계학습(Machine Learning) 분야에서 널리 사용되는 지도 학습(supervised learning) 알고리즘으로, 주로 분류(classification) 문제에 활용되지만 회귀(regression) 및 이상치 탐지(outlier de...
# 최적화 ## 개요 **최적화**(Optimization)는 소프트웨어 개발 및 시스템 운영에서 성능, 자원 사용량, 실행 시간, 메모리 소비 등을 개선하기 위한 체계적인 과정을 의미합니다. 특히 **코드 최적화**(Code Optimization)는 프로그램의 동작을 변경하지 않으면서도 더 효율적으로 동작하도록 소스 코드 또는 컴파일된 코드를 개선하...
# 로그함수 로그함수(logarithmic function) 지수함수의 역함로 정의되는 수학적 함수로, 수학 전반과 과학, 공학, 경제학 등 다양한 분야에서 중요한 역할을 한다. 로그함수는 큰 수를 다루거나 지수적인 증가·감소를 분석할 때 유용하며, 특히 데이터의 스케일을 조정하거나 복잡한 곱셈을 덧셈으로 변환하는 데 자주 사용된다. 이 문서에서는 로그함...
# 레지스터 할 ## 개요 **지스터 할당**(Register Allocation)은 컴파일러가 프로그램의 변수를 하드웨어의 제한된 수의 **CPU 레지스터**(Register)에 효율적으로 매핑하는 과정을 의미합니다. CPU 레지스터는 메모리보다 훨씬 빠른 접근 속도를 제공하므로, 변수를 레지스터에 저장하면 프로그램의 실행 속도가 크게 향상됩니다. 그...
# BLAS ## 개요 **BLAS**(Basic Linear Algebra Subprograms, 기본 선형대수 서브프로그램)는 벡터와 행렬 연산을 위한 표준 인터페이스를 정의한 소프트웨어 라이브러리입니다. 주로 수치해석, 과학기술 계산, 머신러닝, 고성능 컴퓨팅(HPC) 분야에서 핵심적인 역할을 하며, 선형대수 계산의 효율성과 성능을 극대화하는 데 ...
# 정규 방정식 ## 개요 정규 방정식(Normal Equation)은 **선형 회귀 분석**(Linear Regression)에서 최적의 파라미터(계수)를 직접 계산하는 수학적 방법입니다. 이 방법은 반복적 최적화 알고리즘인 경사 하강법(Gradient Descent)과 달리, 행렬 연산을 통해 해를 한 번에 도출합니다. 주로 **작은 데이터셋** 또는...
# 스트라이드 (Stride) ## 개요 스트라이드는 데이터 과학 및 분석 분야에서 다양한 의미로 사용되는 기술적 개념입니다. 주로 배열 또는 시계열 데이터 처리에서 단계별 이동량을 나타내며, 알고리즘 효율성 향상이나 데이터 특징 추출에 활용됩니다. 본 문서에서는 스트라이드의 정의, 응용 분야, 기술적 구현 방식 등을 체계적으로 설명합니다. --- #...
# SHA-256 ## 개요 SHA-256(secure hash algorithm 256)는 미국 표준기술연구소(NIST)가 개발한 **암호학적 해시 함수** 중 하나로, 데이터의 무결성 검증과 보안 인증에 널리 사용된다. SHA-2(secure hash algorithm 2) 계열의 하위 알고리즘으로, SHA-1보다 강력한 보안성을 제공하며, 암호화폐(...
# DBSCAN ## 개요/소개 DBSCAN(Density-Based Spatial Clustering of Applications with Noise)은 데이터 포인트의 밀도를 기반으로 군집을 형성하는 비모수적 클러스터링 알고리즘입니다. 1996년 Martin Ester 등이 제안한 알고리즘으로, K-means와 같은 전통적인 클러스터링 방법과 달리 *...
# 계층적 분류 (Hierarchical Clustering) ## 개요/소개 계층적 분류(Hierarchical Clustering)는 데이터 포인트 간의 유사도를 기반으로 계층 구조를 형성하여 클러스터를 생성하는 비단순 군집화 방법이다. 이 기법은 **계층적 구조**(Dendrogram)로 시각화되며, 데이터의 자연적인 계층 구조를 탐지하는 데 유용하...
# Q-러닝 ## 개요 Q-러닝(Q-learning)은 강화학습(Reinforcement Learning, RL)의 대표적인 알고리즘 중 하나로, **모델을 사용하지 않는 비지도 학습** 방식이다. 이 기법은 에이전트(Agent)가 환경(Environment)과 상호작용하며 최적의 행동 정책을 학습하는 데 초점을 맞춘다. Q-러닝의 핵심 개념인 **Q-값...