VNOI Marathon 2015 đã kết thúc, bảng tổng sắp các vòng đã có, điểm và thứ hạng mỗi người các bạn đều đã biết. Nhưng bảng tổng sắp đó không phải là bảng xếp hạng cuối cùng.

Vì sao mình lại nói như vậy? Chúng mình đã phát hiện ra một số trường hợp chép code lẫn nhau. Như các kỳ VM trước, tất cả những trường hợp chép code sẽ bị truất quyền tham gia VM, không được nhận bất cứ một giải thưởng gì từ kỳ thi. Nhưng cá nhân mình thấy việc này có một phần hơi mạnh tay cho vài bạn chỉ chép code 1 bài (Dù chép code 1 bài nhưng thật sự vô cùng đáng chê trách và hủy giải thưởng). Do đó mình có đề xuất với các admins khác, giảm nhẹ hình thức phạt để phần nào giúp các bạn vẫn có phần thưởng từ kỳ thi cũng như rút ra bài học đắt giá cho mình.

"Quay đầu là bờ" tất cả các bạn chép code hãy tự thú bằng cách gửi tin nhắn qua VNOI cho mình với nội dung sau:

Mình tên là :  <tên bạn>
Nick VOJ của mình là: <tên nick>
Mình đã chép code những bài sau
1> <tên bài> của <tên nick VOJ mà bạn chép bài>
2> <tên bài> của <tên nick VOJ mà bạn chép bài>
...
n> <tên bài> của <tên nick VOJ mà bạn chép bài>

Mình xin lỗi vì đã làm ảnh hưởng kết tính trung thực của kỳ thi.

Với tất cả những bài mà bạn chép code, mình sẽ disqualify kết quả của cả 2 bài (của bạn, và của bạn chép code) đồng thời trừ 200 điểm của cả 2 bạn trong điểm tổng. Danh tính của các bạn sẽ không bị tiết lộ ra ngoài nếu các bạn biết nhận lỗi :D

Ví dụ: Giả sử tổng điểm bạn là 1508, bạn chép code 2 bài, điểm mỗi bài lần lượt là 100, 8. Điểm sau khi bị trừ của bạn là 1508-100-8-200 = 1200

Tất cả các trường hợp chúng mình phát hiện chép code mà không tự thú, chúng mình sẽ tự hủy phần thưởng của các bạn và sẽ bị anh hieult ăn thịt.

Hạn cuối cùng để thú tội + thanh minh là hết ngày 29/08/2015. 

Thân ái,

VNOI Admins

1 tí ngoài lề, hy vọng sẽ không bị trừ.

Có thể dùng machine learning hay thuật toán nào để phát hiện 2 code chép nhau không?

Ví dụ: mình có thể dùng quy hoạch động tìm độ dài chuỗi con chung dài nhất, đặt độ dài chuỗi con đó là res, độ dài 2 code là l1, và l2. Nếu res >= 90% * min(l1, l2) => chép code? 

Hay các admin phát hiện chép code bằng cách dò code bằng mắt? :D

Ngoài ra, các bạn thi ACM ICPC thường code giống nhau do dùng chung documents, như vậy có được xét là chép code không?

Trả lời khaihanhdk
  Hiện bài gốc

Việc phát hiện chép code thì có rất nhiều phần mềm cũng như thuật toán để tìm :D 

Bạn có thể tìm thử Detecting Plagiarism :D

Trả lời khaihanhdk
  Hiện bài gốc

Hồi trước em có viết cho thầy Phương một phần mềm chống chép code. Đem lên phòng dự tuyển thử nghiệm. Mấy bọn dùng trò find and replace hay comment chết sạch.

Tiếc là trong một lần dọn rác em xoá mất xừ nó cái chương trình. T.T

Trả lời kien_coi_1997
  Hiện bài gốc

Mình nghỉ cái này hay nè "find and replace hay comment" mà vẫn tìm được.

Bạn còn nhớ ý tưởng không?

Trả lời nguyenvanhienit
  Hiện bài gốc

Cách phát hiện đạo văn trong mã nguồn có thể tham khảo trang này: http://www.drdobbs.com/architecture-and-design/detecting-source-code-plagiarism/184405734

Hầu hết các trang web phát hiện plagerism chỉ đơn giản dựa trên công cụ tìm kiếm như Google, Yahoo và Bing để làm các việc nâng nặng cho họ. Tìm kiếm nâng cao của Google có thể được sử dụng để phù hợp với một từ chính xác hoặc cụm từ, hoặc chỉ đơn giản có thể được thực hiện bằng cách gói truy vấn tìm kiếm của bạn trong dấu ngoặc kép.

Bằng dò Plagerism sẽ phá vỡ tài liệu vào của bạn thành các cụm từ và sau đó sử dụng công cụ tìm kiếm để tìm các trang web có cụm từ phù hợp. Rõ ràng là nếu quá nhiều cụm từ phù hợp, đặc biệt là từ cùng một nguồn sau đó docuent của bạn rất có thể plagerised. Các cụm từ thường được các câu, hoặc những phần của câu từ tài liệu của bạn.

Ví dụ tôi chỉ đọc về URL bình thường và nghĩ rằng tôi sẽ cố gắng để plagerise. Bằng cách sao chép các câu đầu tiên và xung quanh nó trong dấu ngoặc kép và googling nó. Các trang web đầu tiên để phù hợp là các bài viết Wikipedia.

    
"URL bình thường hóa là quá trình mà các URL được sửa đổi và tiêu chuẩn hóa một cách nhất quán. Mục tiêu của quá trình bình thường là để biến đổi một URL vào một URL bình thường vì vậy nó có thể xác định nếu hai URL cú pháp khác nhau có thể tương đương."


Thường thì những trang web mang đến bất kỳ "sự cố" và hiển thị chúng cho người dùng để họ có thể đi và kiểm tra vấn đề này hơn nữa. Các vấn đề duy nhất với cờ plagerism miễn phí là chúng chỉ phù hợp với dữ liệu có thể được tìm thấy thông qua công cụ tìm kiếm, đó là lý do tại sao nó là một ý tưởng tốt để họ dựa vào nhiều nguồn. Đây là những gì tôi đã tìm thấy bằng công cụ kiểm tra plagerism trực tuyến.

Đặc biệt hiện nay công nghệ chống đạo văn trong việc các sinh viên làm luận văn , bài essay , assignment phát triển rất mạnh. Một số công cụ như Plagerism Checker  đang được thương mại cũng có khả năng chống lại đạo văn tới 80%


Thường thì sách và các nước khác không công bố (do đó tôi có nghĩa là nó không thể được tìm thấy trên internet, ví dụ một sinh viên tiểu luận từ một vài năm trước đây) sẽ khó khăn hơn để phù hợp bởi vì không có một cơ sở dữ liệu có chứa tất cả các thông tin này. Để chống lại điều này, nhiều trường học và các trường đại học được di chuyển đến các hệ thống điện tử hiện nay có cơ sở dữ liệu riêng có trong đó lưu trữ các bài tiểu luận sinh viên trước và sách giáo khoa vào hệ thống. Đặc biệt hiện tượng  Sau đó, khi văn bản được kiểm tra họ được kiểm tra đối với mạng Internet, mà còn đối với các cơ sở dữ liệu cụ thể tổ chức.

Tôi sẽ không ngạc nhiên nếu công cụ plagerism thương mại mà có nhiều khách hàng, dữ liệu trận đấu với tất cả các trường học và các trường đại học khác mà họ đang ký hợp đồng để thiết kế các phần mềm cho.