Tối ưu hóa mô phỏng cơ thể N, tìm kiếm tên hoặc công việc hiện có


8

trong quá trình phát triển mô phỏng cơ thể N của tôi với trực quan hóa trong WebGL, tôi đã nghĩ ra một tối ưu hóa và tôi tự hỏi liệu nó có tên không. Tôi thấy rằng nó chưa bao giờ được thực hiện trước đây.

Nó hoạt động như thế này: Trong dấu thời gian đầu tiên, hãy lặp lại tất cả các cặp. Trong lần lặp đó, cho mỗi hạt:

  1. Lưu trữ tất cả các tương tác chặt chẽ trong một danh sách - đại diện cho tất cả các hạt gần với hạt này. Những tương tác này từ đó sẽ được đánh giá mỗi bước thời gian. Danh sách này thường chứa một số mục.
  2. Lặp lại trên tất cả các hạt khác và tính toán một lực xa mà bạn lưu trữ với hạt. Do đó, lực ròng này được ghi nhớ giữa các dấu thời gian và liên tục được áp dụng cho hạt.

Sau đó, khi mô phỏng tiếp tục vượt qua dấu thời gian đầu tiên của nó, theo kiểu vòng tròn, mỗi dấu thời gian cập nhật một số lượng nhỏ các danh sách các hạt tương tác chặt chẽlực lượng mạng xa . Vì vậy, qua một số bước thời gian nhất định - giả sử, 1000, tất cả các tương tác chặt chẽ của các hạt và lực xa thực sự sẽ được cập nhật. Những cái mà bạn không cập nhật sẽ chỉ kiểm tra các tương tác chặt chẽ của chúng và áp dụng lực lượng mạng xa. Trong ví dụ này, độ phức tạp tính toán của mỗi bước thời gian là một cái gì đó giống như thay vì .N 2N2/1000N2

Một mẹo để làm cho điều này chính xác hợp lý là xác định tốt hơn "tương tác chặt chẽ". Đôi khi sự gần gũi không phải là chỉ số tốt nhất - bạn cũng có thể xem xét khối lượng và vận tốc tương đối, v.v. "Hầu hết các tương tác quan trọng" có thể là một từ tốt hơn. Hoặc "rất có thể sẽ thay đổi - tương tác sớm".

Tối ưu hóa này cho phép rất nhiều các hạt tương tác hơn so với phương pháp tất cả các cặp, nhưng tôi không chắc chắn làm thế nào để mô tả nó trong thời gian O () thuật ngữ, vì nó không làm cho một giải pháp hoàn chỉnh từng bước thời gian, nhưng lần sử dụng (hơi không chính xác) cũ thông tin và lan truyền các nỗ lực tính toán theo thời gian.

( Tuyên bố miễn trừ trách nhiệm: Mô phỏng webgl của tôi cũng có các hạt "vfx" chỉ bị ảnh hưởng bởi trọng lực và không đáp ứng hiệu ứng, vì vậy nó không nhanh như nó có thể xuất hiện )

Vậy kỹ thuật tối ưu hóa này có tên không?


Chào mừng đến với SciComp.SE. Hình dung của bạn trông tuyệt vời, BTW. Những gì bạn đang mô tả dường như không phải là một kỹ thuật tối ưu hóa mà giống như một người giải quyết không có vũ lực cho vấn đề cơ thể n. Có lẽ liên quan đến phương pháp đa cực nhanh .
nicoguaro

Câu trả lời:


6

đăng nhậpN

Ôi(Nđăng nhậpN)

BIÊN TẬP:

(N/3,8)14


Rất tuyệt! Nghe có vẻ chính xác .. mặc dù tôi nghĩ rằng mức tăng tốc độ tính toán có thể cao hơn đáng kể nếu bạn chấp nhận mức độ không chính xác cao, có thể ổn nếu mô phỏng, như trong trường hợp của tôi, chủ yếu là cho hiệu ứng hình ảnh và không nhằm mục đích khoa học.
Magnus Wolffelt

Ôi(N)
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.