예바의 스터디16 [컴파일러] FIRST(𝞪)의 개념과 예제 FIRST(𝞪)와 FOLLOW(𝞪)는 모두 결정적 구문 분석을 하기 위한 구문임을 판단할 때 사용되는 개념이다. 결정적 구문 분석으로 비결정적 구문 분석보다 더 효율적으로 구문 분석이 가능하기에 주로 결정적 구문 분석을 사용한다. 결정적 구문 분석 방식 중 하나인 LL 파싱이 존재하며, FIRST(𝞪)와 FOLLOW(𝞪)에 대한 개념이 LL 파싱을 수행할 수 있는 구문임을 파악하기 위한 조건(LL condition)으로 나오게 된다. 그 중에서 FIRST(𝞪)에 대해 자세히 알아보자 FOLLOW(𝞪)와 LL 파싱에 대한 자세한 내용은 아래의 포스팅을 참고해주세요! [컴파일러] FOLLOW(𝞪)의 개념과 예제FIRST(𝞪)와 FOLLOW(𝞪)는 모두 결정적 구문 분석을 하기 위한 구문임을 .. 2024. 9. 16. MPNN(Message Passing Neural Network) MPNN(Message Passing Neural Network)와 MLFF 분야에서의 활용1. MPNN이란?그래프 데이터를 처리하기 위해 설계된 딥러닝 모델이다. GNN의 한 종류로, Message Passing을 통해 각 노드가 이웃 노드와 정보를 주고 받으며 학습하고 예측하는 데에 사용된다. MPNN은 크게 Message Passing Phase와 Readout Phase로 2가지 단계로 구성된다. 2. MPNN의 2가지 단계: Message Passing & Readout Phase#Phase 1. Message Passing: 노드를 표현하는 Feature를 이웃 노드의 Feature를 토대로 업데이트하는 단계 Message Function : 각 노드가 이웃 노드들로부터 받는(혹은 보내는) .. 2024. 8. 15. [자격증] 제 53회 SQL 개발자(SQLD) 후기 오늘은 SQLD 자격증 후기를 가볍게 적어보려 한다! 이번 SQLD를 데이터베이스 전공 강좌와 병행하며 준비하였다. 전공자이지만, SQLD에 대해서는 완전 아무것도 모르는 상태였고 중간고사 시험 준비를 위한 공부만 한 상황이었다. 다행히 총 점 60점 이상, 과목 별 40% 이상 취득해서 합격하였다!!! 1. SQLD란?SQLD는 Structured Query Language Developer의 약자로, 데이터 베이스 SQL 국가 공인 자격증이다. 해당 자격증 시험의 항목으로 크게 2가지 파트로 나뉘어 있다. 데이터 모델링의 이해에서 10문제, SQL 기본 및 활용에서 40문제가 모두 객관식으로 나온다. 이전까지는 주관식도 포함되었으나 2024년 제 52회 SQLD부터 주관식이 사라지고 모두 객관식으로 .. 2024. 6. 15. [알고리즘] KMP 알고리즘 (Knuth-Morris-Pratt Algorithm) KMP 알고리즘(Knuth-Morris-Pratt Algorithm)KMP 알고리즘을 만든 Knuth, Morris, Pratt의 이름 앞 글자를 따서 명명한 알고리즘이다. 우리가 찾고 싶어하는 길이 N의 문자열을 Pattern String으로, Pattern String을 찾을 길이 M의 문자열을 Text String으로 하자. 단순한 Brute Force 문자열 탐색 알고리즘의 시간 복잡도는 O(N*M)인 반면에, KMP 알고리즘의 시간 복잡도는 O(N+M)이다. 1. Brute Force와의 비교Text String을 "AABABCAABACABC"로, Pattern String을 "ABACABC"라고 할 때 Brute Force로 진행하면 다음과 같은 과정으로 문자열을 탐색한다. Brute For.. 2024. 5. 5. 이전 1 2 3 4 다음