ฉันจะแนะนำปัญหาด้วยตัวอย่าง สมมติว่าคุณกำลังออกแบบการทดสอบซึ่งประกอบด้วยคำถามอิสระชุดหนึ่งชุด(ซึ่งผู้สมัครจะได้รับทั้งถูกหรือผิด) คุณต้องการที่จะตัดสินใจเกี่ยวกับคะแนนที่จะให้กับคำถามแต่ละข้อโดยมีกฎว่าผู้สมัครที่มีคะแนนรวมสูงกว่าเกณฑ์ที่กำหนดจะผ่านและคนอื่น ๆ จะล้มเหลว
ในความเป็นจริงคุณมีความละเอียดมากเกี่ยวกับเรื่องนี้และคุณได้จินตนาการถึงผลลัพธ์2 nทั้งหมดที่เป็นไปได้และตัดสินใจเลือกแต่ละข้อว่าผู้สมัครที่มีประสิทธิภาพนี้ควรผ่านหรือล้มเหลว ดังนั้นคุณมีฟังก์ชั่นบูลีนf : { 0 , 1 } n → { 0 , 1 }ที่ระบุว่าผู้สมัครควรผ่านหรือล้มเหลวขึ้นอยู่กับคำตอบที่แน่นอน แน่นอนว่าฟังก์ชั่นนี้ควรเป็นเสียงเดียว : เมื่อได้รับชุดคำถามที่ถูกต้องจะทำให้คุณผ่านการได้รับสิทธิ์ superset ใด ๆ จะต้องทำให้คุณผ่านเช่นกัน
คุณสามารถตัดสินใจเกี่ยวกับคะแนน (จำนวนจริงบวก) เพื่อตั้งคำถามและในเกณฑ์เพื่อให้ฟังก์ชันของคุณถูกยึดตามกฎ "ผู้สมัครผ่านหากคะแนนรวมของคำถามที่ถูกต้องนั้นเกินเกณฑ์" ? (แน่นอนว่าเกณฑ์สามารถนำมาเป็น 1 โดยไม่สูญเสียความเอนเอียงไปจนถึงการคูณคะแนนด้วยค่าคงที่)
อย่างเป็นทางการ:มีลักษณะของฟังก์ชั่นเสียงเดียวแบบบูลที่มีอยู่W 1 , ... , W n ∈ R +เช่นว่าทุกวี∈ { 0 , 1 } n , เรามีf ( v ) = 1 iff ∑ ฉันw ฉันv ฉัน ≥ 1?
ไม่ยากที่จะเห็นว่าไม่ใช่ทุกฟังก์ชั่นที่สามารถใช้แทนได้ เช่นฟังก์ชั่นไม่สามารถ: เป็น( 1 , 1 , 0 , 0 )เป็นที่ยอมรับเราต้องมีw 1 + w 2 ≥ 1ดังนั้นหนึ่งในw 1 , W 2จะต้อง≥ 1 / 2และเช่นเดียวกันสำหรับW 3 , 4 ทีนี้ถ้ามันคือ e, w 1และ w 3เรามีข้อขัดแย้งเพราะ w 1 + w 3 ≥ 1แต่ ( 1 , 0 , 1 , 0 )ถูกปฏิเสธ; กรณีอื่นนั้นคล้ายคลึงกัน
ดูเหมือนว่าฉันจะเป็นปัญหาที่เป็นธรรมชาติมากดังนั้นคำถามหลักของฉันคือต้องรู้ภายใต้ชื่อที่ได้รับการศึกษา แน่นอนว่าการขอคำอธิบาย "ลักษณะ" นั้นคลุมเครือ คำถามของฉันคือการรู้ว่าระดับของฟังก์ชั่นที่สามารถแสดงในลักษณะนี้มีชื่อสิ่งที่เป็นที่รู้จักเกี่ยวกับความซับซ้อนของการทดสอบว่าฟังก์ชั่นอินพุตเป็นของมัน (ให้เป็นสูตรหรือเป็นวงจร) เป็นต้น
แน่นอนว่าเราสามารถนึกถึงความหลากหลายของธีม ตัวอย่างเช่นในการสอบจริงคำถามไม่ได้เป็นอิสระ แต่มี DAG เกี่ยวกับคำถามที่บ่งบอกถึงการพึ่งพาและผู้สมัครสามารถตอบคำถามได้ก็ต่อเมื่อมีการตอบคำถามที่จำเป็นเบื้องต้นทั้งหมด เงื่อนไขของฟังก์ชั่นเสียงเดียวสามารถถูก จำกัด การประเมินค่าในที่เป็นไปตามการพึ่งพาและคำถามจะพิจารณาว่าฟังก์ชันอินพุตสามารถถูกจับได้หรือไม่เนื่องจากอินพุต DAG บนตัวแปร เราอาจนึกถึงตัวแปรที่คะแนนเป็นk -tuples สำหรับค่าคงที่k (หาผลรวมของจุดและเปรียบเทียบค่าเป็นค่าเวกเตอร์ธรณีประตู) ซึ่งสามารถจับฟังก์ชั่นได้มากกว่าk 1 หรือคุณอาจต้องการจับฟังก์ชั่นการแสดงออกที่มากกว่าซึ่งไม่ใช่บูลีน แต่ไปที่โดเมนที่สั่งทั้งหมดโดยมีขีด จำกัด ต่าง ๆ ที่ควรระบุตำแหน่งของคุณในโดเมน สุดท้ายฉันไม่แน่ใจเกี่ยวกับสิ่งที่จะเกิดขึ้นหากคุณอนุญาตให้คะแนนลบ (ดังนั้นคุณสามารถลดข้อ จำกัด เสียงเดียวเกี่ยวกับฟังก์ชั่น)
(หมายเหตุ: สิ่งที่ทำให้ฉันสงสัยเกี่ยวกับเรื่องนี้คือรอบคัดเลือกของ Google Code Jam ซึ่งผู้สมัครจะได้รับการคัดเลือกถ้าถึงเกณฑ์คะแนนที่แน่นอนและคะแนนของปัญหาได้รับการออกแบบอย่างระมัดระวังเพื่อสะท้อนให้เห็นว่าปัญหาชุดใดเพียงพอที่จะเลือก . Code Jam มีโครงสร้างการพึ่งพาของคำถามโดยมีคำถาม "อินพุตขนาดใหญ่" ที่ไม่สามารถแก้ไขได้หากคุณไม่ได้แก้ไข "อินพุตขนาดเล็ก" เป็นอันดับแรก)