Đếm các hình tam giác trong đồ thị chung có thể được thực hiện một cách tầm thường trong thời gian và tôi nghĩ rằng làm nhanh hơn nhiều là khó (tham khảo hoan nghênh). Còn đồ thị phẳng thì sao? Quy trình đơn giản sau đây cho thấy rằng nó có thể được thực hiện trong thời gian O ( n log n ) . Câu hỏi của tôi là hai lần:
- Một tài liệu tham khảo cho thủ tục này là gì?
- Thời gian có thể được thực hiện tuyến tính?
Từ bằng chứng thuật toán của định lý phân cách phẳng của Lipton-Tarjan, chúng ta có thể, theo thời gian tuyến tính theo kích thước của đồ thị, tìm một phân vùng các đỉnh của đồ thị thành ba bộ sao cho không có cạnh nào có một điểm cuối trong Một và một ở B , S có kích thước giới hạn bởi O ( √và cảA,Bđều có kích thước giới hạn trên 2 trong số các đỉnh. Chú ý rằng bất kỳ hình tam giác trong đồ thị hoặc là những lời dối trá hoàn toàn bênAhoặc hoàn toàn bênBhoặc sử dụng ít nhất một đỉnh củaSvới hai đỉnh khác từA∪Shoặc cả hai từB∪S. Do đó, nó đủ để đếm số lượng tam giác trong biểu đồ trênSvà hàng xóm củaStrongA(và tương tự choB). Lưu ý rằngSvàA-neighbourscủa nótạo ra mộtđồ thị phẳngk-outer (đồ thị đã nói là một sơ đồ của đồ thị phẳng có đường kính4). Do đó, việc đếm số lượng hình tam giác trong biểu đồ như vậy có thể được thực hiện trực tiếp bằng lập trình động hoặc bằng một ứng dụng của định lý Courcelle (tôi biết chắc rằng một phiên bản đếm như vậy tồn tại trong thế giới Logspace của Elberfeld et al và đoán rằng nó cũng tồn tại trong thế giới thời gian tuyến tính) kể từ khi hình thành một tam giác không bị chặn là một thuộc tính và do phân rã cây có chiều rộng giới hạn có thể dễ dàng thu được từ biểu đồ phẳng k -outer nhúng .
Do đó, chúng tôi đã giảm vấn đề thành một cặp vấn đề, mỗi vấn đề nhỏ hơn một phần không đổi với chi phí của thủ tục thời gian tuyến tính.
Lưu ý rằng thủ tục có thể được mở rộng để tìm số lượng phiên bản của bất kỳ biểu đồ được kết nối cố định nào bên trong biểu đồ đầu vào trong thời gian .