ระยะทางเฉลี่ยสองจุดในหน่วย hypercube มิติ n


13

วิธีง่าย ๆ ในการทำความเข้าใจหน่วย hypercube มิติ n คือการพิจารณาขอบเขตของพื้นที่ในมิติที่คุณสามารถหาได้หากองค์ประกอบพิกัดอยู่ใน [0, 1] ดังนั้นสำหรับหนึ่งมิติมันคือส่วนของเส้นตรงจาก 0 ถึง 1 สำหรับสองมิติมันคือสี่เหลี่ยมจัตุรัสที่มีมุม (0, 0) และ (1, 1) เป็นต้น

เขียนโปรแกรมหรือฟังก์ชั่นที่ให้nส่งคืนค่าปริภูมิแบบยุคลิดแบบเฉลี่ยสองจุดสุ่มอย่างสม่ำเสมอเลือกจากหน่วย hypercube มิติ n คำตอบของคุณต้องอยู่ภายใน 10 -6ของมูลค่าที่แท้จริง มันก็โอเคถ้าคำตอบของคุณล้นประเภทจุดกำเนิดภาษาของคุณสำหรับบิ๊กเอ็น

การเลือกจำนวน 'ใหญ่' แบบสุ่มและการคำนวณค่าเฉลี่ยไม่รับประกันความถูกต้องดังกล่าว

ตัวอย่าง:

1 → 0.3333333333 ...
2 → 0.5214054331 ...
3 → 0.6617071822 ...
4 → 0.7776656535 ...
5 → 0.8785309152 ...
6 → 0.9689420830 ...
7 → 1.0515838734 ...
8 → 1.1281653402 ...

ข้อมูลที่ได้มาจากแม ธ เวิลด์

นี่คือชนะน้อยที่สุดนับไบต์


ย้ำเกณฑ์การชนะในการแก้ไข
Magic Octopus Urn

เพื่อให้ชัดเจน: ระยะทางหมายถึงระยะทางแบบยุคลิดใช่หรือไม่
Dennis

3
@carusocomputing ประเด็นของความท้าทายคืออะไรถ้าคุณต้องการให้ฉันแก้ปัญหาให้คุณ?
orlp

4
@ orlp ลงทะเบียนคำคัดค้านของฉันต่อความท้าทายที่เป็นปริศนาทางคณิตศาสตร์จนกระทั่งมีคนคิดเลขออกมาจากนั้นก็จะกลายเป็นปริศนาการเขียนโปรแกรมเมื่อทุกคนคัดลอกสูตรในภาษาต่างๆ ฉันต้องถามคำถามเกี่ยวกับเมตา
Sparr

1
เมื่อคุณพูดความแม่นยำ 5 หลักคุณหมายถึงภายใน 1e-5 หรือค่าประมาณ 1.500000000000001 จะผิดเมื่อผลลัพธ์ควรเป็น 1.499999999999999 หรือไม่
xnor

คำตอบ:


5

Mathematica, 68 ไบต์

NIntegrate[(1-((E^-u^2+u*Erf@u√π-1)/u^2)^#)/u^2,{u,0,∞}]/√π&

การใช้สูตรโดยใช้NIntegrateเพื่อประมาณค่าของมัน

ภาพ


เอาชนะฉันได้ 58 วินาที :(
จองฮมินมิน

คุณพบสูตรที่ไหน
feersum

@feersum สูตรมัน (8) จากHypercube สายการหยิบสินค้า (10) เป็นตัวพิมพ์ใหญ่และไม่ควรมีอินทิกรัลสองชั้นหรือ du
ไมล์

หากคุณป้อนข้อมูลจริงนี้เป็นข้อความมันจะแยกวิเคราะห์u√πเป็นหนึ่งโทเค็นเพื่อให้คุณต้องมีพื้นที่ว่างระหว่างและu
feersum
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.