SNUCSE-CTA / Graph-Pattern-Matching-Challenge

1 stars 58 forks source link

Challenge Spec 관련 질문들 #10

Open kdh9949 opened 3 years ago

kdh9949 commented 3 years ago

안녕하세요. 현재 챌린지를 진행중인 컴퓨터공학부 김동현입니다. 챌린지 specification 관련하여 질문이 몇 가지 있어서 드리고자 합니다.

  1. 지금 Repository에 있는 설명 pdf와 제가 본 홍보 pdf에 나와 있는 과제 deadline이 각각 다른데 (6월 1일 / 6월 8일), 6월 8일이 deadline이 맞는지 궁금합니다.
  2. 현재 컴파일 옵션이 c++11로 지정되어 있는 것 같은데, 혹시 바꿔도 되는지 (c++17 내지는 14) 궁금합니다.
  3. 작성하는 프로그램이 Multi-Thread 기능을 사용해도 되는지 궁금합니다.
  4. 실제 채점 시 사용하게 되는 graph data set은 현재 repository에 주어진 것 외에 더 많을 것으로 예상되는데, 그럴 경우 Data graph와 Query graph의 최대 크기가 각각 어느 정도 되는지 궁금합니다. (|V|, |E|, |Σ| 등)
  5. 채점 시에 Time limit이 넘어가면 (1분이 지나면) 실행 중인 프로그램을 강제로 종료한다고 쓰여 있는데, 프로그램의 구현에 따라서 embedding의 출력이 줄 중간에서 끊기는 상황이 발생할 수도 있을 것 같습니다. 이 경우에 출력 형식을 지키지 않아서 해당 데이터에 대해서 0점 처리가 되는지 (즉, 출력 부분을 신경써서 구현해야 하는지) 궁금합니다.
  6. 논문에 나온 Failing Set 등의 Pruning 기법을 사용하지 말라고 하였는데, 본 챌린지에서 요구하는 최적화의 범위가 정확히 어디까지인지 궁금합니다. 즉, "Matching Order를 정하는 방법" 외의 다른 부분은 아예 건드리면 안 되는 것이 맞는지 궁금합니다.
  7. Candidate Set의 계산을 논문에 나온 대로 직접 구현하게 되면 현재 주어진 executable file을 통해 얻을 수 있는 정보(query graph의 각 정점마다, 매칭될 가능성이 있는 data graph의 정점들의 list)보다 더 자세한 정보를 얻을 수 있다고 이해했습니다. Data graph와 Query graph에서 Candidate Set을 얻는 알고리즘을 직접 구현함으로써 그런 추가적인 정보를 얻어 사용해도 되는지 궁금합니다.

감사합니다.

kdh9949 commented 3 years ago
  1. 주어지는 query graph와 data graph에 중복 edge / self loop가 없음이 보장되는지 궁금합니다.

질문 하나를 까먹고 안 썼습니다.. 죄송합니다.

JihoonJang commented 3 years ago

안녕하세요, 챌린지 조교 장지훈입니다.

  1. Deadline은 6월 8일까지입니다.
  2. 네 상관 없습니다.
  3. 본 챌린지에서 알고리즘 최적화를 위한 Multi-threading은 허용하고 있지 않습니다.
  4. Data graph는 업로드된 human, hprd, yeast에 대해서만 채점을 진행할 예정이고, query graph 또한 업로드된 예시와 비슷한 크기 (|V|, |E|, |Σ|)의 그래프를 이용하여 채점할 예정입니다.
  5. 줄 끊김이 일어나기 전의 모든 line들에 대해서 score를 계산할 예정입니다.
  6. 본 챌린지의 목적상, 논문 기준으로 matching order 외의 다른 부분에 대한 최적화(pruning, filtering 등)는 허용되어 있지 않습니다.
  7. 네 말씀하신 부분을 구현하시는 건 상관 없습니다.
  8. 중복 edge와 self loop 모두 없음이 보장됩니다 (즉, simple graph임이 보장됩니다).

감사합니다.

kdh9949 commented 3 years ago

넵 답변 감사합니다!

NamYehyun commented 3 years ago

기초적인 technique은 사용해도 좋으나, challenge는 좋은 matching order를 찾는 것을 목표로 하고 있기 때문에 (DAF의 Failing set과 같이) 논문에 등장하는 pruning technique은 사용하지 않으시면 좋을 것 같습니다.