Đường ray tàu Duplo có đang chịu quá nhiều lực căng không?
(puzzling.stackexchange.com)- Đường ray tàu Duplo do trẻ lắp nhìn bề ngoài là một vòng khép kín, nhưng đây là một bài đố xem xét bằng các điều kiện về góc và vị trí để biết liệu các mảnh có đang bị ép khớp với nhau hay không
- Cách phán định bằng toán học là kiểm tra xem chênh lệch giữa số mảnh cong rẽ trái và rẽ phải có phải bội số của 12 hay không, rồi tính xem tổng các vector dịch chuyển của từng mảnh có bằng 0 không
- Lời giải được đánh giá cao nhất tính ra rằng điều kiện góc thì đúng, nhưng tổng dịch chuyển là
4.5 -3 -2 0.5, không phải 0, nên đây không phải là vòng không có ứng suất - Để khớp chính xác cần bỏ bớt hoặc thêm một số mảnh; nếu chỉ thêm một mảnh đơn lẻ, có phương án đặt mảnh thẳng
2-2sau mảnh cong màu xám đầu tiên, v.v. - Trên thực tế, có thể xét thêm độ phẳng của đường ray, độ cong/khoảng hở tại các khớp nối, và việc tàu có trật bánh hay toa có bị tách ra khi chạy hay không để đánh giá liệu lực căng có quá mức không
Cách xác định đường ray Duplo có bị ép khép kín hay không
- Người hỏi thích đường ray tàu Duplo do bọn trẻ lắp, nhưng muốn kiểm tra xem các mảnh có đang chịu lực căng quá mức và có khả năng hư hỏng hay không
- Đường ray gồm các ray cong và ray thẳng
- Đoạn đường ngang qua ray về cơ bản được xem như tương đương với 1 ray thẳng
- 12 ray cong tạo thành một vòng tròn tự nhiên, nhưng nếu ép 13 ray cong thành hình tròn thì có thể sinh lực căng trong đường ray
- Trọng tâm câu hỏi có hai điểm
- Có cách nào nhanh và logic để phán định có lực căng hay không
- Nếu muốn giảm lực căng, khi bỏ bớt hoặc thêm 1 mảnh thì nên chọn mảnh nào và vị trí nào
Điều kiện góc: chênh lệch giữa các mảnh cong trái/phải
- Kiểm tra đầu tiên là xem có sai lệch góc hay không
- Vì 12 mảnh cong Duplo tạo thành một vòng tròn hoàn chỉnh, chênh lệch giữa số mảnh cong trái và số mảnh cong phải phải là bội số của 12
- Lời giải được đánh giá cao nhất bắt đầu từ giao điểm và lần theo góc ngược chiều kim đồng hồ, rồi cho rằng bố cục được đưa ra thỏa mãn điều kiện này
- Một câu trả lời khác cũng tổng kết rằng, khi chỉ xét các mảnh cong, “số mảnh cong vào trong - số mảnh cong ra ngoài” phải bằng 12 thì mới khớp gọn gàng
- Tuy nhiên điều kiện này gần với điều kiện cần; ngay cả khi thỏa mãn, bố cục chưa chắc đã không có ứng suất
Điều kiện vị trí: tổng vector dịch chuyển phải bằng 0
- Kiểm tra thứ hai là xem có sai lệch vị trí hay không, bằng cách cộng tất cả vector dịch chuyển từ điểm đầu đến điểm cuối của từng mảnh và kiểm tra xem tổng có bằng 0 không
- Nếu đặt chiều dài mảnh thẳng là 1, có thể tính vector của mảnh thẳng theo hướng của nó
- Mảnh thẳng
0-0ở góc 0 là(1, 0) - Mảnh thẳng
1-1ở góc 1, tức 30 độ, là(cos 30°, sin 30°) = (√3/2, 1/2)
- Mảnh thẳng
- Mảnh cong được xử lý như có bán kính gấp 2 lần chiều dài mảnh thẳng
- Đường cong
0-1là(2 sin 30°, 2(1 - cos 30°)) = (1, 2 - √3)
- Đường cong
- Tọa độ theo hướng của mọi mảnh có thể tách thành phần hữu tỉ và phần hữu tỉ nhân với
√3, nên lời giải biểu diễn chúng bằng danh sách 4 số rồi cộng lại - Để vòng khép kín mà không có lực căng, tổng bốn số của mọi mảnh phải là bốn số 0
Kết quả tính toán: bố cục hiện tại không khép kín chính xác
- Kết quả cộng tất cả các mảnh trong bố cục được đưa ra là
4.5 -3 -2 0.5 - Viết thành dịch chuyển thực tế thì tương ứng với
(4.5 - 3√3, -2 + 0.5√3) - Giá trị này không bằng 0, nên bố cục đó không ở trạng thái không có ứng suất
- Nếu vẽ đường đi lý tưởng theo tính toán, nó không phải là một vòng khép kín mà có hai đầu bị lệch nhau
- Câu trả lời tổng kết rằng không thể hoàn thiện vòng này bằng tổ hợp dưới 5 mảnh
Phương án chỉnh sửa: lời giải chính xác và cách thêm một mảnh đơn lẻ
- Để tạo lời giải chính xác không có ứng suất, cần loại bỏ một số mảnh cụ thể và thêm các mảnh khác
- Một lời giải dùng tổ hợp sau
- Loại bỏ
10-9,9-10,5-5 - Thêm
1-1,8-8
- Loại bỏ
- Lời giải tính rằng tổ hợp
3-4 3-4 1-1 8-8 11-11lấp được phần dịch chuyển cần thiết- Có thêm 3 tổ hợp 5 mảnh khác tạo ra cùng dịch chuyển, nhưng được cho là sẽ làm số mảnh cong thành số lẻ và tạo sai lệch góc
- Nếu muốn chỉnh thực tế bằng cách chỉ đổi một mảnh đơn lẻ, có phương án thêm mảnh
2-2- Vị trí ví dụ là sau mảnh cong màu xám đầu tiên
- Một cách căn chỉnh đơn giản hơn là đặt các mảnh thẳng thành từng cặp song song với nhau, nhưng bố trí lại ở phía đối diện, cách nhau một khoảng bằng 6 đơn vị cong ròng
Kiểm tra thực dụng nhanh: độ phẳng, khớp nối, chạy thử thực tế
- Dấu hiệu cần xem trước khi tính toán là đường ray có nằm phẳng hay không
- Một vòng bị ép khớp có thể không nằm trong mặt phẳng 2D mà hơi bị vênh theo 3D
- “Quá nhiều lực căng” mang tính chủ quan; các khớp nối cho phép một mức lệch ngang nhất định và có thể phân tán nó trên toàn bộ vòng
- Lực căng quá mức có thể lộ ra ở các khớp nối
- Một số khớp nối trông không thẳng mà bị cong
- Khoảng cách giữa các ray rộng hoặc lệch bậc như bậc thang
- Có thể kiểm tra bằng cách sờ tay
- Bài kiểm tra thực tế cuối cùng là cho tàu chạy thử
- Nếu tàu chạy khá trơn tru và ổn định, hiện tại đường ray có thể chịu được tải đó
- Một câu trả lời khác đưa ra tiêu chí thiên về vui chơi: nếu nối 2–4 toa rồi chạy mà toa bị tách ra hoặc trật bánh, thì xem như đường ray quá căng
1 bình luận
Ý kiến trên Hacker News
Tôi có một câu hỏi về Duplo/Lego: không biết bài toán tổ hợp đếm số cấu trúc có thể tạo bằng N viên Lego 1×M có tên gọi riêng không
Các mảnh có thể xoay tự do được xem là cùng một cấu trúc. Ví dụ, 2 viên Lego 1×2 được xem là có 2 cách sắp xếp: trường hợp nối trên dưới bằng hai chốt, và trường hợp nối bằng một chốt. Nối bằng một chốt có thể xoay tự do hơn 270 độ, nên nếu xét đối xứng quay thì khác biệt giữa chốt trái/phải trở thành cùng một cấu trúc
Giả định Lego “lý tưởng” với sai số chế tạo bằng 0, và không cho phép các kỹ thuật lắp ráp bất hợp lệ. Tôi cũng tò mò liệu bài toán này có được định nghĩa chặt chẽ không, có nghiệm dạng đóng không, hay có chương trình sinh cấu hình nào không
Khi N đủ lớn, các bậc tự do quay có thể tạo ra những cấu trúc bổ sung vốn bị ẩn ở các hướng quay khác, nên có lẽ bộ sinh cấu hình sẽ trở nên rất phức tạp
https://arxiv.org/abs/math/0504039
https://www.tandfonline.com/doi/abs/10.4169/amer.math.monthl...
Bài sau thì dùng sci-hub là được. Với trường hợp 2D còn có công trình của Tricia Muldoon Brown
https://www.sciencedirect.com/science/article/pii/S0012365X1...
https://arxiv.org/abs/1608.01562
Cũng có công trình của Alexander M. Haupt
https://arxiv.org/abs/1810.10428
Chỉ cần tính tay vài số hạng đầu của dãy rồi xem nó đã có trong cơ sở dữ liệu chưa
Có thể xem bối cảnh tại https://en.wikipedia.org/wiki/Lattice_protein, và chúng tôi đã mất nhiều thời gian để loại bỏ các nghiệm giống nhau sau khi quay và các trường hợp tự cắt. Việc xác định một chuỗi được chỉ định bằng các góc cục bộ có tự cắt chính nó trong không gian 3D tuyệt đối hay không cũng có nhiều toán học thú vị đến bất ngờ
Đây là vấn đề tương tự ở chỗ có các điểm liên kết bị giới hạn và phải tính trùng lặp trong 3D
Ví dụ: https://math.stackexchange.com/questions/237998/p%C3%B3lya-s...
Tôi và một người bạn thường nói về một câu hỏi tương tự: với một bộ đường ray tàu Duplo cong cố định, có thể tạo được bao nhiêu bố cục đường ray vòng kín khác nhau
Các đoạn thẳng nhìn chung có thể bỏ qua, vì có thể thêm từng cặp vào hai phía của các vòng song song. Tuy nhiên cũng có một dạng tam giác thú vị phá vỡ mẫu đó
Bạn tôi thực sự đã viết một chương trình tìm lời giải, và nhìn chung nó chạy tốt, tạo ra các bố cục thú vị. Cuối cùng vẫn không thêm được ghi rẽ
Việc xác định hai bố cục đường ray có giống nhau hay không thường rất khó, nên rốt cuộc dẫn đến toán học của bài toán vòng cổ: https://en.wikipedia.org/wiki/Necklace_problem
Với tư cách một kỹ sư cơ khí có giấy phép, nói nghiêm ngặt thì đường ray không ở trạng thái “kéo”. Nó ở trạng thái uốn, tức là sự kết hợp giữa kéo và nén
Nếu cần giải thích thêm thì tôi có thể nói tiếp
Phần giới thiệu chuyên sâu về ray Duplo trên trang được liên kết còn thú vị hơn
https://www.cailliau.org/Alphabetical/L/Lego/Duplo/Train/Rai...
Hồi nhỏ tôi có cả ray Duplo đen “kiểu mới” lẫn “kiểu cũ”. Tôi vẫn nhớ ngay cả lúc bốn tuổi, ray đen kiểu cũ đã rất bất tiện và tôi thích kiểu mới hơn nhiều
Kiểu như “gjryir frpgvbaf qb abg znxr na rknpg pvepyr, gurer vf n fznyy bireync, naq fb znxr n pv”
Tôi có con năm tuổi nên thường lắp đường ray tàu gỗ BRIO theo nhiều cấu hình khác nhau
Khi con kéo dài đường ray, tôi thường âm thầm chỉnh lại bố cục ở phía sau vài bước để nó không bị ràng buộc quá mức. Đây là một bài toán đơn giản nhưng khá thú vị, và cũng hay vì tôi được dành thời gian với con
Trông đẹp và cảm giác cầm nắm cũng tốt. Tàu chạy chậm nhưng mô-men xoắn cao, tạo cảm giác có “khối lượng” trong trải nghiệm. Khác với nhiều đồ chơi điều khiển từ xa chạy quá nhanh so với kích thước rồi bị khựng trên thảm hoặc gờ
Tôi cũng thích, nhưng tôi nhìn ra chỗ nào đang chịu lực kéo tốt hơn bọn trẻ một chút, nên tôi cố sửa những chỗ đó
Nghĩa là trong toàn bộ hệ thống, số loại chiều dài đường ray thẳng cần có chỉ là một số nguyên nhỏ. Trong khi đó TrackMaster cần nhiều loại hơn hẳn
Tôi tò mò không biết có ai từng tự phay đường ray BRIO chưa. Có thể là để tạo những hình dạng đặc biệt mà linh kiện tiêu chuẩn không làm được
Tôi từng làm một chiếc xe hình quả chuối tương thích với đường ray BRIO, nhưng vẫn chưa thử làm đường ray
Phân tích toán học có thể còn đơn giản hơn. Chỉ cần xem mỗi mảnh ray như một vector 2 chiều rồi cộng tất cả lại. Trong bố cục không có lực căng, tổng sẽ là (0, 0)
Là thước đo lực căng, có thể mô hình hóa bằng trung bình của tất cả vector, với giả định sai lệch vị trí được phân bố đều. Vì vậy cùng một độ dịch chuyển, số mảnh càng ít thì ý nghĩa càng lớn
Có thể trông như đang bỏ qua phép quay, nhưng thực ra nó đã được bao gồm. Vector hiệu dụng của một mảnh ray biểu diễn cả hướng hiện tại lẫn độ dịch chuyển mà mảnh đó thêm vào. Nếu mô hình bằng code, con trỏ sẽ có góc hướng và vị trí (x, y)
Phần toán liên quan có việc tổng góc ngoài của đa giác là 360 độ, nên độ lệch so với 360 độ có thể dùng làm một thước đo khác. Trường hợp này không hữu ích, nhưng cũng gợi nhớ đến số vòng quay trong giải tích phức. Đó là cách hiểu khi đi cục bộ dọc theo một đường cong thì phía nào là “bên trong”, và đường cong quấn quanh một điểm cụ thể bao nhiêu lần
Có thể tạo một hình hơi tự cắt, đẩy đoạn đó vào trạng thái căng, còn đoạn bổ sung thì cộng lại thành phần âm của đoạn đầu nhưng không tự cắt chẳng hạn
Vì vậy số ray cong sang phải phải nhiều hơn số ray cong sang trái 360/30 = 12 cái, hoặc ngược lại. Vẫn phải đếm, nhưng có thể nhanh chóng quen với việc đi dọc đường ray và cộng +1 hoặc -1. Nếu cuối cùng ra 12 thì hoàn hảo, còn khoảng cách tới 12 là ước lượng lực căng
Các diễn đàn StackExchange khác rất hay. Những câu hỏi kiểu này và các câu trả lời ở đó thật tuyệt
Trong nhiều năm tôi đã thấy các cuộc thảo luận rất hay ở mảng hàng không, trải nghiệm người dùng, toán học, và các câu trả lời dài, chi tiết có nhiều góc nhìn thú vị. Vài giờ trước còn có một bài về tiếng Latin được đăng lên HN
Nhưng ít nhất với tôi, Stack Overflow không còn như vậy nữa. Trước đây tôi từng hỏi và trả lời, nhưng có gì đó đã thay đổi. Tôi có cảm giác nó bị các điều phối viên quá soi xét chiếm lĩnh, và giờ gần như không tham gia nữa
Tôi hiểu điểm yếu nguy hiểm là phần cổ của chốt nối ở một trong hai ray được nối
Với Duplo, cả hai phía liên kết đều có chốt khóa và lỗ. Khi lệch quá nhiều, một bên chốt có thể chịu thêm áp lực ngang rồi biến dạng hoặc gãy
Tuy nhiên lực căng nghiêm trọng như vậy chủ yếu có khả năng xuất hiện khi cố ép nối hoặc khóa mối nối cuối cùng. Một đứa trẻ có thể thử làm vậy khi cha mẹ không ở bên giám sát xem có lắp được hay không. Khi cha mẹ nhận ra thì có thể đã quá muộn, hoặc đã lắp thành công nên không còn cần sửa nữa
Nếu cổ chốt gãy thì coi như nó vốn đã đến lúc phải vậy. Không phải chuyện lớn. Chốt thứ hai vẫn giữ mối nối. Chỉ là nếu không rút kinh nghiệm thì đoạn đó sẽ thành mắt xích yếu hơn
Nếu bằng cách nào đó đã nhét ép được thành một vòng thì tốt thôi, cứ cho đầu máy chạy. Nếu toa tàu không lật ở khe hở bị ép giãn hoặc đoạn bị vặn thì cứ chạy tiếp, còn không thì chỉnh hoặc làm lại
Hồi nhỏ tôi đã đếm dọc theo đường ray. Bắt đầu từ 0, nếu ray cong sang trái thì cộng 1, cong sang phải thì trừ 1
Đáp án phải là các giá trị như ±12, ±24. Vì 12 mảnh tạo thành một vòng tròn
Tôi nghĩ có thể kiểm tra lực căng bằng cách tách vòng ra rồi nhìn độ lệch giữa mảnh đầu và mảnh cuối. Giả sử ma sát bề mặt đủ thấp để các mảnh có thể di chuyển
Với cách giải như một bài đố, ta gán cho mỗi loại mảnh độ lệch ở đầu và góc nối của mảnh kế tiếp, bắt đầu từ tọa độ (0, 0), đi qua các mảnh và cập nhật vị trí mảnh cuối, rồi kiểm tra độ lệch giữa mảnh đầu và mảnh cuối
Kết quả sẽ trông giống hình trong câu trả lời. Tuy nhiên cập nhật đường ray sao cho giảm thiểu độ lệch thì khó hơn
Lúc đó có thể chỉnh các mảnh liên quan và thường đóng được khe hở đã lớn hơn. Bố cục giống cảnh rượt đuổi bằng tàu trong The Wrong Trousers của Wallace and Gromit
Nếu có lực căng thì các đầu ray gần chỗ tách sẽ bung ra, nhưng khó tưởng tượng là toàn bộ sẽ di chuyển
“Tôi biết là có thể tháo một mảnh ra rồi lắp lại để tự cảm nhận”
Lắp trên sàn trơn và phẳng rồi rắc bột shuffleboard cũng có vẻ là một cách