Eat Study Love

먹고 공부하고 사랑하라

MAIN ISSUE

more

Max - heap을 Tree형태로 표현하기

C++ 알고리즘의 대표적인 자료구조인 Priority Queue의 근간이 되는 Heap 구조를 Complete Binary Tree형태로 표현하였다. Array가 아닌 Linked list로 표현하여서 Time complexity는 모두 enqueue / dequeue O( log N ) 이고, 코드를 구현하며 주의해야할 점은, heap property를 깨지 않기 위해 en/dequeue를 할 때마다 heapify-up/down을 시행해야 한다는 것이다. Enqueue는 그래서 일단 element를 Tree의 Last Node에 삽입하고, 그 친구를 Heap - up 하며 Dequeue는 일단 root와 last-node를 스위칭 한 다음에 last-node를 제거한다. 그리고 root자리에 있는 친구..

C++ & Algorithm 2025.02.21 0

MST(Minimum Spanning Trees), SSSP(Single Source Shortest Paths), APSP(All Pairs Shortest Paths)에 대한 고찰

Algortihm의 대표적인 친구들인 MST, SSSP, APSP에 대한 이론 공부 Review를 빠르게 진행해보려고 한다.한 번씩 봤던 내용이니까 이론을 빨리 다루고, Code와 익숙해져보자. 각각의 경우 종류는 많지만, 대표적으로 쓰이는 몇 가지만 적어보려고 한다. 1. Minimum Spanning Tree한 Grpah에서 가장 낮은 cost로 전체 vertices를 도는 것을 계산하는 알고리즘이다. 그리고 여기서 Spanning Tree란, 어떤 Graph의 모든 Vertex를 다 포함하고 있는연결구조를 말한다.개중에 가장 Total Weight 이 작은 친구를 Minimum Spanning Tree라고 부르는 것이다. 이 MST 중 가장 유명한 알고리즘 2개를 다루겠다. 첫 번째, Prim's ..

C++ & Algorithm 2025.02.14 1

SSSP(Single Source Shortest Path) / APSP(All-Pairs Shortest Path) 실습

Algorithm의 대명사인 Shortest Path와 관련된 실습이다.SSSP / APSP를 구현해보는 실습을 할 것이다. 대표적으로 FloydWarshall과 BellmanFord 알고리즘을 확인해보자. 실습자료는 위와 같다.#include #include #include #include // 아래 header는 내가 추가#include using namespace std;/*//////////////////////// Description ////////////////////////////There are n cities in a logistics network, numbered from 0 to n−1. The edges array represents the logistics routes bet..

C++ & Algorithm 2025.02.14 0

C++ function implementation(feat, priority queue & DP)

이번 실습의 주제는 C++ Function Implementation이다.실습의 목표는 아래와 같다.  애증의 DP문제의 경우, 이해가 좀 어려운데 주석과 아래 예시를 보면 그래도 좀 느낌이 온다. 근데 문제는 이 느낌이 항상 답지를 보고 나서야 온다는 것-_-..문제 풀기 전부터 이 느낌이 머리에 딱 꽂치는 사람은 진짜 프로그래밍 고수다. 분명허다!! 나머지 문제는 Priority queue를 이용해 풀면 쉽다. 코드는 아래에 공유#include #include #include #include #include // 내가 추가using namespace std; // 내가 추가#include struct ListNode { int val; ListNod..

C++ & Algorithm 2025.02.14 0

SQL2NL Prompt Engineering - KCC(1)

SQL2NL Module의 정확도를 향상시키는 법에대한 고찰이다. 일단 생각해낼 것은, 어찌어찌 SQL2NL 정확도 올리는 법을 찾았다고 쳤을때 그 것을 어찌 판단할 것인가? 검색을 통해 얻은 NL Accuracy Evaluation Matrix는 아래와 같다. 1. ROUGE2. BERTScore 그리고, Paper SQL-to-Text Generation with Graph-to-Sequence Model(2019Feb12 Kun Xu et al.)에 나온 BLEU-4 score.이 논문의 저자도 이것만으론 좀 부족했는지 결국 Human Study(사람이 직접 문장보고 유사도 평가)를 사용했다. 연구의 골자는 다음과 같다. LLM을 통해서 SQL을 NL로 바꾸어 보려고 한다. 이것의 필요성은1. NL..

Research 2025.04.04 0

PostgreSQL, LLM 연결(5)

PostgreSQL Openai or Llama 연결 Settinghttps://eglife.tistory.com/338 PostgreSQL, LLM 연결(4)1.https://github.com/cloudquery/pg_gpt2.https://github.com/prabin-acharya/pg_gpt3.https://github.com/JelteF/pg_human4. https://github.com/pramsey/pgsql-openai5.https://www.crunchydata.com/blog/accessing-large-language-models-from-postgresql 으쌰으쌰eglife.tistory.com지난 글에서의 후기처럼, 어찌어찌 Llama를 이용한 Output은 받아올 수 있다..

Research 2025.04.01 0

SQL2NL 용 Data set 만들기

세상에 Data는 많다지만, 나의 Module에 Exactly fit한 data set은 없다. 물론, 시중 NL2SQL Benchmark pair data를 이용할 순 있지만, 그걸로만 Model Fine-tuning을 진행하기엔 한계가 있다. 그렇다고 그냥 구글링해서 쓰자니 또 정확도가 떨어지는 Data가 섞여 Fine-tuning이 잘 진행되지 않을 가능성이 농후하다. 그리하여.. 유명한 Database 책에 있는 SQL, Natural explanation을 일일히 따와서 Fine - Tuning 작업을 진행해보려고 한다. 옛날 책같은 경우엔 LLM도 pdf 파일 내의 text를 잘 검출하지 못하여 일일히 노가다를 뛰어보도록 했다. 너무 많은 책을 다루기엔 빡세니까 유명한 책 2가지를 타켓팅해보기..

Research 2025.03.31 0

PostgreSQL, LLM 연결(4)

1.https://github.com/cloudquery/pg_gpt2.https://github.com/prabin-acharya/pg_gpt3.https://github.com/JelteF/pg_human4. https://github.com/pramsey/pgsql-openai5.https://www.crunchydata.com/blog/accessing-large-language-models-from-postgresql 으쌰으쌰 얼른 PostgreSQL에 LLM을 연결해보자. 위 git-hub내용을 싸그리 검토해봅시다.. 1. Extension을 사용해보기내가 찾아본건, Paul Ramsey라는 양반이, 본인이 만든 PostgreSQL http extension을 가지고 PLpgSQL이란 언어로 ..

Research 2025.03.26 0

PostgreSQL, LLM 연결(3)

To-do : 시간이 왜 이렇게 차이가 크게 나는지 디버깅, Hugging Face 기반으로 Llama 돌려보기, Llama Model Fine tuning방도 적용시켜보기 일단 이전 코드와 비교해보며 디버깅해보니, Table schema처럼 좀 긴~ 놈을 Prompt text에 그냥 집어 넣으면 시간이 오래 걸리고, System_prompt로 따로 빼 놓으면 시간이 좀 덜 걸린다. 같은 양의 Token 처리 비교 표1. Table Schema를 System_prompt로 따로 빼놓기2. Table Schema를 User prompt_text에 넣기 오케이, 대충 이거는 원인을 찾았다근데, 이유에 대한 설명은 잘 나와있지 않다. 일단 GPT답변 참고,1) 실제로 system prompt + user pr..

Research 2025.03.25 0