Xây dựng chu kỳ trong hình chữ nhật


7

Tôi phải xây dựng một chu kỳ với độ dài cố định bao gồm chính xác góc bên trong hình chữ nhật x .nkwh

Ví dụ:
w=5h=3

n=12k=6

Hình chữ nhật

Tôi đã phát hiện ra rằng tôi cần ít nhất góc và số góc và số phần tử không góc cần là số chẵn.4

Sau đó, tôi viết một thuật toán đệ quy chạy theo độ phức tạp theo thời gian theo cấp số nhân, nhưng tôi có cảm giác mạnh mẽ rằng việc này có thể được thực hiện nhanh hơn nhiều.

Vấn đề là tôi không biết hình vuông nào chắc chắn sẽ có trong chu kỳ nên tôi chạy thuật toán của mình trên các trường đầu tiên để bao quát tất cả các cơ hội, nhưng tôi biết rằng tôi tìm kiếm một số nhánh nhiều lần.w2

Tôi cũng đã phát hiện ra rằng nếu chu trình tồn tại, nó sẽ bắt đầu bằng góc trong (0, 0) hoặc góc trong (0, 1)

Có ai có ý tưởng làm thế nào để tăng tốc điều này không?

Chúc một ngày tốt lành!


Tôi không biết cách tiếp cận này có thành công hay không, nhưng tôi sẽ cố gắng tìm tất cả các bộ dữ liệu mà vấn đề có thể giải quyết được. Để bắt đầu, bạn có thể giả sử rằng và xem liệu bạn có thể giải quyết ít nhất biến thể đó không. (w,h,n,k)w=h=
Yuval Filmus

Tôi đã làm những gì bạn đề xuất và tôi đã phát hiện ra rằng tôi có thể bắt đầu ở quảng trường thứ nhất hoặc trên quảng trường thứ hai, nếu tôi không thành công thì chu trình không tồn tại. Tôi vẫn phải chứng minh giả định này.
AJ

1
Được phép băng qua đường? Một cái gì đó như +? Nếu có nó không được tính là góc?
Ác

1
Không, vượt qua là không được phép.
AJ

1
Là câu hỏi: "đưa ra , tìm bất kỳ một trong các chu kỳ như vậy"? Hay là "được cho , đếm số chu kỳ có thể"? (w,h,n,k)(w,h,n,k)
Apiwat Chantawibul

Câu trả lời:


-1

vấn đề của bạn có vẻ như theo cấp số nhân đối với tôi để tìm tất cả các giải pháp. một bản phác thảo thô để chỉ ra rằng đó là tạo ra một số lượng lớn các vật thể tương tự. các đối tượng là giống nhau dưới sự dịch và xoay. họ (dường như?) cũng có thể được thu nhỏ. Vì vậy, trong một ý nghĩa sơ bộ, không có cách nào để "tăng tốc" nếu bạn đã có một thuật toán thời gian theo cấp số nhân. bạn yêu cầu một thuật toán tốt hơn nhưng cũng yêu cầu những ý tưởng chung. Dưới đây là một số ý tưởng / đề xuất.

  • youve trừu tượng hóa vấn đề nhưng nó có thể giúp lùi lại và mô tả nền tảng đã truyền cảm hứng cho nó. có phải từ một số lĩnh vực cụ thể? rất có thể có những bài nghiên cứu về khu vực chung.

  • nó trông giống như trong NP bởi vì nó dễ dàng xác minh các giải pháp. nghĩ về việc giải quyết nó theo NP. một vấn đề kinh điển trong lĩnh vực này là vấn đề thỏa đáng . nhiều vấn đề đã được chuyển đổi sang nó và người giải SAT là "trạng thái nghệ thuật" để giải quyết các vấn đề NP. Người giải SAT có thể khám phá và xử lý các đối xứng nội tại trong vấn đề không phải là "hiệu quả" về mặt kỹ thuật (theo nghĩa là thời gian P được bảo đảm) mà theo "cách hiệu quả nhất được biết" dựa trên phương pháp phỏng đoán, "thực tiễn tốt nhất" và hàng thập kỷ nghiên cứu tối ưu hóa / học thuyết. vì vậy hãy xem xét dịch nó sang SAT và nghiên cứu nó theo cách đó.

  • nếu bạn muốn có một ý tưởng chung về hành vi thuật toán, bạn có thể chạy nó ở các tỷ lệ khác nhau và vẽ đồ thị # của các giải pháp để tìm các thuộc tính tỷ lệ cơ bản.

  • nếu bạn chỉ muốn bất kỳ giải pháp nào , bạn có thể thử một cách tiếp cận xác suất trong đó bạn đặt một hình bắt đầu đơn giản là hình vuông / hình chữ nhật và sau đó thay đổi ngẫu nhiên cho đến khi nó gần hơn với yêu cầu của bạn. xem ví dụ heuristic . thuật toán di truyền cũng tốt cho việc này. bạn có thể mã hóa hình dạng theo mã hóa di truyền.

  • hãy tưởng tượng một hình tam giác có 2 cạnh thẳng ở góc bên phải và sau đó là hình thứ ba là đường chéo và có bất kỳ # góc nào được yêu cầu. nó không phải là cách sử dụng không gian "hiệu quả" vì nó có diện tích mở lớn nhưng nó đáp ứng các tiêu chí của bạn và có thể được tạo ở bất kỳ tỷ lệ nào với # góc tùy ý. bạn đã không chỉ định bất kỳ tiêu chí nào về tối thiểu hóa hoặc tối đa hóa không gian bên trong hoặc bên ngoài. vì vậy có lẽ đây là một chút thiếu hiểu biết như đã nêu.

  • thực sự nghĩ rằng điều này có thể cần phải được mô tả tốt hơn. bạn chỉ chạm vào các hình vuông ở các cạnh hình vuông và các hình vuông chạm vào các hình vuông cạnh đó? "Góc" nghĩa là gì? góc trên đối tượng của bạn? góc vuông trên hình chữ nhật? bạn chỉ đưa ra một ví dụ để nghĩ rằng mô tả của bạn hơi mơ hồ hoặc có thể diễn giải sai khi kiểm tra kỹ hơ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.