ฉันจะทำคะแนนความท้าทายด้วยขนาดของปัญหาที่ผันแปรได้อย่างไร


21

เมตาดาต้ามีการสนับสนุนที่แข็งแกร่งพอสมควรสำหรับคำถามการเขียนเพื่อท้าทายในหัวข้อหลักโดยที่คำถามเหล่านี้มีความเฉพาะเจาะจงและสามารถตอบได้ อย่างไรก็ตามเรายังไม่มีคำถามใด ๆ ดังนั้นฉันจึงคิดว่าฉันจะทดสอบน่านน้ำ คำถามนี้อาจเข้าสู่ดินแดนอัตนัยที่ดีและเป็นอัตนัยไม่ดีแต่ฉันคิดว่าเป็นไปได้ว่าคำถามการเขียนที่ท้าทายจะต้องเป็น เพื่อให้แน่ใจว่าพวกเขายังคงสร้างเนื้อหาที่มีคุณภาพสูงโปรดอย่าเพิ่งโพสต์แนวคิดเก็งกำไรในคำตอบ อธิบายว่าทำไมพวกเขาหลีกเลี่ยงปัญหาที่กล่าวถึงด้านล่างหรือชี้ไปที่ความท้าทายที่มีอยู่ซึ่งประสบความสำเร็จในการใช้เทคนิคที่แนะนำในอดีต

สำหรับความท้าทายในการปรับให้เหมาะสมบางอย่างพารามิเตอร์อิสระในการตั้งค่าความท้าทายคือขนาดของปัญหาที่จะปรับให้เหมาะสม โดย "การเพิ่มประสิทธิภาพความท้าทาย" ฉันไม่ได้หมายถึงสิ่งต่าง ๆ เช่นประเภทของเราซึ่งมักจะต้องตอบคำถามให้ถูกต้อง / เหมาะสมที่สุดและความท้าทายนั้นจะได้คะแนนจากขนาดของปัญหาที่คงที่ ในระยะเวลาที่แน่นอน ฉันหมายถึงความท้าทายโดยเฉพาะอย่างยิ่งที่การแก้ปัญหาที่ไม่เหมาะสมกับปัญหาพื้นฐานได้รับอนุญาตและมีโอกาสมากยิ่งขึ้นและเป้าหมายก็คือการทำเช่นนั้นให้ได้

เพื่อความชัดเจนให้พิจารณาความท้าทายของบีเวอร์ที่ยุ่งแม้ว่าโดยหลักการแล้วสิ่งนี้จะใช้กับประเภทการท้าทายอื่น ๆ ที่ไม่มีวิธีการแก้ปัญหาที่ดีที่สุดเช่นกัน (ฉันแค่ใช้บีเว่อร์ที่ไม่ว่างที่นี่ บอกเด็ก ๆ ว่าฉันต้องการท้าทายเกี่ยวกับการค้นหาบีเวอร์ Brainfuck ที่คึกคักที่สุด พารามิเตอร์อิสระในปัญหาช่องคลอดไม่ว่างคือขนาดของรหัส ฉันไม่สามารถตั้งค่าความท้าทายโดยไม่อ้างอิงขนาดรหัสในทางใดทางหนึ่ง ด้วยวิธีการแต่ละค่าของพารามิเตอร์ขนาดปัญหาNให้ความท้าทายที่แยกต่างหาก (ยากขึ้น) คำถามหลักของฉันคือฉันจะทำให้ความท้าทายนั้นทำงานได้อย่างไรโดยไม่ประสบปัญหาเรื่องความสมดุล

ทางออกที่ชัดเจนคือการแก้ไขN: "ค้นหาโปรแกรม Brainfuck ที่สิ้นสุดด้วยNไบต์ของซอร์สโค้ดซึ่งพิมพ์ตัวอักษรให้ได้มากที่สุดเท่าที่จะเป็นไปได้ นี้มีปัญหาสมดุลขนาดใหญ่: ถ้าผมเลือกขนาดเล็กเกินไปคนได้อย่างรวดเร็วอาจพบช่องคลอดที่คึกคักที่สุดและความท้าทายสิ้นสุดลง ถ้าฉันเลือกขนาดที่ใหญ่เกินไปทางออกที่ดีที่สุดจะพิมพ์จำนวนตัวละครทางดาราศาสตร์ก่อนที่จะยุติซึ่งหมายความว่ามันอาจเป็นเรื่องยากที่จะค้นหาโปรแกรมดังกล่าวและความท้าทายกลายเป็นเรื่องน่าเบื่อ / การออกกำลังกายด้วยความอดทน บีเวอร์ที่ยุ่งสามารถพบได้ในเชิงโปรแกรมและผู้คนจะต้องเริ่มพิสูจน์ผลลัพธ์ของพวกเขาอย่างเป็นทางการซึ่งผู้คนจำนวนมากอาจไม่ได้คิดว่าสนุกมาก แน่นอนปัญหานี้เด่นชัดมากขึ้นในความท้าทายช่องคลอดไม่ว่างมากกว่าประเภทอื่นเนื่องจากการเติบโตของการแก้ปัญหาที่ดีที่สุด แต่มันนำไปใช้กับความท้าทายอื่น ๆ อย่างไรก็ตาม

ตัวเลือกถัดไปคือปล่อยให้Nไม่มีข้อ จำกัด และทำให้เป็นส่วนหนึ่งของการให้คะแนนผ่านทางฟังก์ชั่นบางอย่าง แม้สำหรับความท้าทาย "ปกติ" ที่ได้รับความสมดุลของคะแนนรวมที่ถูกต้องเป็นเรื่องยากอย่างเหลือเชื่อ แต่ในกรณีของบีเว่อร์ที่ยุ่งก็จริง ๆ แล้วเป็นไปไม่ได้โดยพื้นฐานเนื่องจากความจริงที่ว่าโซลูชั่นที่ดีที่สุดจะเติบโตเร็วNกว่า นั่นหมายความว่าฉันสามารถเอาชนะคำตอบที่ดีที่สุดได้เสมอโดยไปที่ขนาดใหญ่พอNที่จะหาโปรแกรมที่ทำงานมานานจนฉันสามารถได้คะแนนที่ดีขึ้นโดยไม่ต้องใช้ความพยายามมาก

ฉันยังพิจารณาตั้งค่าคงที่Nและอนุญาตให้ผู้คนส่ง beavers สำหรับขนาดใหญ่Nซึ่งจะใช้เป็นเบรกเกอร์เน็คไทต่อเนื่อง นี้มีปัญหาที่คล้ายกันในคนที่สามารถเพียงแค่ "เกิดขึ้นเพื่อหาช่องคลอดไม่ว่างดีอย่างเท่าเทียมกัน" สำหรับNดังนั้นการสร้างผูกแล้วก็ส่งอะไรที่สวยมากสำหรับถัดไปNที่การหาคะแนนที่มีขนาดใหญ่เป็นเรื่องง่าย (แม้ว่าการหา คะแนนสูงสุดจะยากขึ้น) ในกรณีเหล่านี้คุณจะจัดการกับหลายคนโดยใช้โซลูชันเดียวกันได้อย่างไร ห้ามมันก็จะแปลกในกรณีที่ดีที่สุด

บางทีเราอาจตีพื้นกลางด้วยการคาดเดาการศึกษาที่เหมาะสมNแล้วขอบีเว่อร์ไม่ว่างสำหรับทุกขนาดภายใน (พูด) 5 ไบต์Nเพื่อให้มีระยะทางทั้งสองข้าง (จากนั้นคุณรวมคะแนนประมาณ 10 คะแนน เป็นเทคนิคทีละเทคนิคหรืออื่น ๆ ) สิ่งนี้ไม่ได้ค่อนข้างน่าพอใจเช่นกันเนื่องจากการคาดเดาเริ่มต้นของฉันNยังคงอยู่นอกขอบเขตที่ทำให้เกิดความท้าทายที่น่าสนใจ

TL; DR:ในกรณีที่ความท้าทายคือ (แก้ปัญหาชั่วคราวและ) ปรับแต่งปัญหาที่ขนาดเป็นตัวแปรฉันจะรวมขนาดเข้ากับความท้าทายได้อย่างไร เป็นการดีที่ฉันต้องการให้ผู้คนสามารถทำงานกับค่าNที่ใกล้ถึงจุดสูงสุดของช่วงขนาดที่สามารถจัดการได้ แต่ในกรณีที่ปรากฎว่าการแก้ปัญหาที่ดีที่สุดเป็นไปได้สำหรับNมันจะดีถ้าการแก้ปัญหาสำหรับขนาดใหญ่กว่าเล็กน้อยNจะเริ่มชั่งน้ำหนักเช่นนั้นความท้าทายอาจดำเนินต่อไปด้วยขนาดของปัญหาที่น่าสนใจมากขึ้น


6
ฉันชอบสิ่งนี้เป็นแบบจำลองสำหรับคำถามที่ท้าทายการเขียนเพราะมันไม่เฉพาะเจาะจงสำหรับ PPCG ไม่ใช่ "เราควรทำอย่างไร" แต่ "วิธีที่ดีในการทำเช่นนี้คืออะไร" ฉันสามารถจินตนาการถึงความท้าทายดังกล่าวที่ถูกเรียกใช้บนไซต์งานอดิเรกการเขียนโปรแกรมหรือการแข่งขันแบบตัวต่อตัว
xnor

วาง TLD ที่ด้านบน!
Majora320

1
@ Majora320 ... แต่แล้วเปลี่ยนdเป็นw :-)
Luis Mendo

คำตอบ:


3

ค้นหา N ถัดไป

ความท้าทายจะระบุNว่าการส่งควรเริ่มต้นที่

Nแล้วคนจะส่งคำตอบที่ปัจจุบัน หากการส่งที่กำหนดได้รับการพิสูจน์แล้วว่าเหมาะสมที่สุดNจะเพิ่มขึ้น 1 และกระบวนการซ้ำ

มีหลายวิธีในการให้คะแนนสิ่งนี้:

  1. คะแนนการส่งที่ดีที่สุดในปัจจุบัน N
  2. ให้คะแนนกับการส่งที่ดีที่สุดในปัจจุบันNบวกกับจุดสำหรับการแก้ปัญหาที่ดีที่สุดแต่ละข้อ
  3. เช่นเดียวกับ # 2 แต่ให้คะแนนกับบุคคลที่พิสูจน์ว่าการส่งที่กำหนดนั้นเหมาะสมที่สุด

1

ให้คะแนนสำหรับการแก้ปัญหาภายในขอบเขต N

อนุญาตให้Nอยู่ในขอบเขตที่ จำกัด ขอบเขตล่างควรแยกคำตอบที่ไม่สำคัญออกไปอย่างชัดเจนและขอบเขตที่สูงกว่านั้นไม่ควรห่างจากขอบเขตล่างมากเกินไป

จากนั้นให้ 1 คะแนนสำหรับแต่ละคนที่มีทางออกที่ดีที่สุดสำหรับแต่ละคนNภายในขอบเขต ถ้าสูงกว่าNหมายความว่าการแก้ปัญหานั้นยากกว่าให้คะแนน N คะแนนกับพวกเขา (หรือบางสูตรขึ้นอยู่กับ N)

วิธีนี้คล้ายกับวิธีที่AZsPCทำ แต่ไม่ได้รับคะแนนบางส่วน

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