본문 바로가기
728x90
반응형

논문 리뷰3

Space/time trade-offs in hash coding with allowable errors (Bloom FIlter) 프로젝트를 진행하다보면, 수많은 데이터들이 저장되고, 이를 효율적으로 찾기 위해서 여러 가지 방법들에 대해 찾아보게 됩니다.그러던 와중, 데이터를 찾으러 떠나기 전에 있는지부터 확인할 수 있는 Bloom Filter라는 자료구조에 대하여 알아보고자 합니다. Bloom Filter란Bloom Filter는 1970년 Burton H. Bloom이라는 분의 "Space/time trade-offs in hash coding with allowable errors"이라는 논문을 통해 처음 공개되었습니다. 특정 원소가 집합에 속하여 있는지 검사하는데 사용하는 확률형 자료구조 입니다.여기까지만 보면, Map이라는 좋은 자료구조가 있는데 왜? 쓰지? 라는 생각이 들 수 있습니다.그치만 Bloom Filter란 친구.. 2024. 11. 20.
A Fast StringSearching Algorithm 리뷰 해당 논문은 boyer–moore 알고리즘 이라고 불리는 kmp와 비슷한 알고리즘에 대하여 설명하고 있습니다. 보이어무어 알고리즘은 불필요한 것은 건너뛰고, 검색을 빠르게 하자는 것에서 KMP와 유사합니다. 단, 뒷부분에서 불일치가 일어날 확률이 높다는 성질을 활용하여 오른쪽 끝부터 비교하여 문자열 매칭을 진행합니다. 다음과 같이 "EAT A APPLE"의 문장에 "APPLE"이라는 단어가 있는지 체크하는 과정을 거친다고 가정해보겠습니다.APPLE의 맨 뒤 단어인 E와 같은 위치에 있는 단어는 A로 서로 다르다는 것을 인식하였습니다.이후, A라는 단어가 찾고자 하는 APPLE 이라는 단어에 포함되어 있는지 확인하고, 포함되어 있다면 해당 위치로 이동을 시킵니다.위치로 이동결과, APPLE이라는 단어를 찾.. 2024. 6. 16.
Efficient String Matching : An Aid to Bibliographic Search 리뷰 이번엔 Efficient String Matching : An Aid to Bibliographic Search이라는 논문에 대해 리뷰해볼까 합니다. 해당 논문은 유명한 문자열 매칭 알고리즘인 "아호코라식"에 대한 논문입니다. 아호 코라식 알고리즘에 대해 이해하기에 앞서 kmp와 trie 알고리즘에 대해 어느 정도 알고계시면 이해하기 쉽습니다. KMP "ABAABC"라는 문자열에 "ABC"라는 단어가 부분 문자열로 존재하는지 체크하는 과정을 단순 반복문을 통하여 진행하게 되면, 맨 앞에 단어부터 해당 형식으로 진행하게 됩니다. kmp 알고리즘을 활용하게 된다면, 해당 형식처럼 진행을 하게 됩니다. kmp는 기존 문자열 매칭방식과 다르게 fail function이라는 실패 함수를 활용하게 됩니다. "ABC.. 2024. 4. 23.
728x90
반응형