Tôi hiện có biểu đồ có khoảng 10 triệu nút và 35 triệu cạnh. Hiện tại, đồ thị hoàn chỉnh được tải vào bộ nhớ khi bắt đầu chương trình. Điều này mất một vài phút (nó là Java sau khi tất cả) và cần khoảng một nửa gigabyte RAM. Hiện tại, nó chạy trên một máy tính với bộ xử lý lõi kép và 4 GB RAM.bề rộng-tìm kiếm đầu tiên trên biểu đồ lớn với ít ram
Khi đồ thị được tìm kiếm bằng cách sử dụng tìm kiếm theo chiều rộng, mức sử dụng bộ nhớ tăng lên đến đỉnh một gigabyte và trung bình mất mười giây.
Tôi muốn triển khai chương trình trên một vài máy tính. Các chức năng ngoài việc tìm kiếm đồ thị có rất ít tài nguyên. Hệ thống đích của tôi rất nhỏ và chỉ có 512 megabyte RAM.
Bất kỳ đề xuất nào về cách triển khai phương thức (có thể sử dụng cơ sở dữ liệu) để tìm kiếm biểu đồ đó mà không tốn quá nhiều bộ nhớ? Chương trình hầu như không hoạt động vì nó đang truy cập thiết bị phần cứng, vì vậy việc tìm đường dẫn có thể mất khoảng 5 phút tối đa cho biểu đồ được đề cập ...
Cảm ơn mọi ý nghĩ đã được đưa ra.
CẬP NHẬT:
Chỉ tìm thấy neo4j. Có ai biết liệu nó có phù hợp với loại đồ thị khổng lồ này không?
Nếu có thể (phụ thuộc vào nhiệm vụ của bạn), bạn có thể sử dụng các lựa chọn thay thế hoàn chỉnh của BFS .. chẳng hạn như tìm kiếm chùm chẳng hạn? Giảm mặt trước của tìm kiếm của bạn thường tăng hiệu suất rất nhiều – anthares
@IVlad không, các nút chính họ chỉ là một số nguyên từ 0 đến 10000000. phần còn lại của dữ liệu được lấy từ các tệp XML theo yêu cầu – allesblinkt
điều gì đó kỳ lạ đã xảy ra.Bình luận của IVlad chỉ biến mất khi tiết kiệm mỏ của tôi – allesblinkt