ฟังก์ชันบูลีนแบบโมโนโทนใดที่สามารถแทนได้ตามเกณฑ์ของผลรวม


16

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

ในความเป็นจริงคุณมีความละเอียดมากเกี่ยวกับเรื่องนี้และคุณได้จินตนาการถึงผลลัพธ์2 nทั้งหมดที่เป็นไปได้และตัดสินใจเลือกแต่ละข้อว่าผู้สมัครที่มีประสิทธิภาพนี้ควรผ่านหรือล้มเหลว ดังนั้นคุณมีฟังก์ชั่นบูลีนf : { 0 , 1 } n{ 0 , 1 }ที่ระบุว่าผู้สมัครควรผ่านหรือล้มเหลวขึ้นอยู่กับคำตอบที่แน่นอน แน่นอนว่าฟังก์ชั่นนี้ควรเป็นเสียงเดียว : เมื่อได้รับชุดคำถามที่ถูกต้องจะทำให้คุณผ่านการได้รับสิทธิ์ superset ใด ๆ จะต้องทำให้คุณผ่านเช่นกัน2nf:{0,1}n{0,1}

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

อย่างเป็นทางการ:มีลักษณะของฟังก์ชั่นเสียงเดียวแบบบูลที่มีอยู่W 1 , ... , W nR +เช่นว่าทุกวี{ 0 , 1 } n , เรามีf ( v ) = 1 iff ฉันw ฉันv ฉัน1f:{0,1}n{0,1}w1,,wnR+v{0,1}nf(v)=1iwivi1?

ไม่ยากที่จะเห็นว่าไม่ใช่ทุกฟังก์ชั่นที่สามารถใช้แทนได้ เช่นฟังก์ชั่นไม่สามารถ: เป็น( 1 , 1 , 0 , 0 )เป็นที่ยอมรับเราต้องมีw 1 + w 21ดังนั้นหนึ่งในw 1 , W 2จะต้อง1 / 2และเช่นเดียวกันสำหรับW 3 ,(x1x2)(x3x4)(1,1,0,0)w1+w21w1,w21/2 4 ทีนี้ถ้ามันคือ e, w 1และ w 3เรามีข้อขัดแย้งเพราะ w 1 + w 31แต่ ( 1 , 0 , 1 , 0 )ถูกปฏิเสธ; กรณีอื่นนั้นคล้ายคลึงกันw3,w4w1w3W1+W31(1,0,1,0)

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

แน่นอนว่าเราสามารถนึกถึงความหลากหลายของธีม ตัวอย่างเช่นในการสอบจริงคำถามไม่ได้เป็นอิสระ แต่มี DAG เกี่ยวกับคำถามที่บ่งบอกถึงการพึ่งพาและผู้สมัครสามารถตอบคำถามได้ก็ต่อเมื่อมีการตอบคำถามที่จำเป็นเบื้องต้นทั้งหมด เงื่อนไขของฟังก์ชั่นเสียงเดียวสามารถถูก จำกัด การประเมินค่าในที่เป็นไปตามการพึ่งพาและคำถามจะพิจารณาว่าฟังก์ชันอินพุตสามารถถูกจับได้หรือไม่เนื่องจากอินพุต DAG บนตัวแปร เราอาจนึกถึงตัวแปรที่คะแนนเป็นk -tuples สำหรับค่าคงที่k (หาผลรวมของจุดและเปรียบเทียบค่าเป็นค่าเวกเตอร์ธรณีประตู) ซึ่งสามารถจับฟังก์ชั่นได้มากกว่าk{0,1}nkk 1 หรือคุณอาจต้องการจับฟังก์ชั่นการแสดงออกที่มากกว่าซึ่งไม่ใช่บูลีน แต่ไปที่โดเมนที่สั่งทั้งหมดโดยมีขีด จำกัด ต่าง ๆ ที่ควรระบุตำแหน่งของคุณในโดเมน สุดท้ายฉันไม่แน่ใจเกี่ยวกับสิ่งที่จะเกิดขึ้นหากคุณอนุญาตให้คะแนนลบ (ดังนั้นคุณสามารถลดข้อ จำกัด เสียงเดียวเกี่ยวกับฟังก์ชั่น)k=1

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


ฟังก์ชันเหล่านี้เรียกว่าฟังก์ชันขีด จำกัด (แม้ว่าบางครั้งคำนี้จะถูกนิยามอย่าง จำกัด มากขึ้น) ฉันไม่รู้ว่ามีลักษณะที่แตกต่างกันเป็นหลักหรือไม่ เงื่อนไขที่จำเป็นอย่างชัดเจนคือและf - 1 ( 0 )เป็นนูน (นั่นคือเปลือกนูนของf - 1 ( 1 )ตัดกับ{ 0 , 1 } nรวมอยู่ในf - 1 ( 1 )และในทำนองเดียวกันสำหรับ 0) -1(1)-1(0)-1(1){0,1}n-1(1)
Emil Jeřábekสนับสนุน Monica

ที่จริงตอนนี้ฉันคิดแล้ว: ฟังก์ชั่นบูลีนเป็นฟังก์ชั่นธรณีประตู iff ตัวนูนของf - 1 ( 1 )และf - 1 ( 0 )ถูกแยกออก ff1(1)f1(0)
Emil Jeřábekสนับสนุน Monica

2
ที่จริงแล้วสิ่งเหล่านี้เป็นฟังก์ชันขีด จำกัด เชิงบวกที่แม่นยำยิ่งขึ้น
Kristoffer Arnsfelt Hansen

@KristofferArnsfeltHansen: แน่นอนขอบคุณ! ในความเป็นจริงสิ่งนี้ถูกกล่าวถึงในฟังก์ชั่นบูลีน: ทฤษฎีอัลกอริทึมและแอปพลิเคชันทฤษฎีอัลกอริทึมและการประยุกต์ใช้ ทฤษฎีบท 9.16 บอกว่าให้ DNF บวกที่เราทำได้ใน PTIME ทดสอบว่าเป็นฟังก์ชันขีด จำกัด หรือไม่และถ้าใช่สร้างเวกเตอร์ (ซึ่งจะเป็นบวกฉันคิดว่าโดยทฤษฎีบท 9.6) มีสิ่งใดที่ทราบเกี่ยวกับชุดรูปแบบที่ฉันแนะนำโดยเฉพาะชุดที่มี DAG บนตัวแปรหรือไม่ ถ้าไม่คุณยินดีที่จะให้คำตอบที่บอกว่า (และให้ความคิดเห็นของคุณ) และฉันจะยอมรับมัน :)w
a3nm

คำตอบ:


2

มันถูกกล่าวถึงในความคิดเห็นว่าสิ่งเหล่านี้เป็นฟังก์ชั่นธรณีประตูบวก

สำหรับลักษณะอื่น ๆ ฉันพบว่าสิ่งต่อไปนี้น่าสนใจ สมมติว่าเรามีฟังก์ชั่นธรณีประตูบวกโดยมีน้ำหนักลดลง : f ( v 1 , , v n ) = 1W1W2...Wn จากนั้นโดยเฉพาะชุดอินพุต(v1,,vn)ซึ่งf(v )=

(โวลต์1,...,โวลต์n)=1ΣผมWผมโวลต์ผม1
(โวลต์1,...,โวลต์n)เป็นที่เหมาะสำหรับการสั่งซื้อของตาข่าย majorization ไบนารีกับ 2 nจุดซึ่งเป็น เรียนมาแล้ว(โวลต์)=12n

Donald Knuth "ศิลปะแห่งการเขียนโปรแกรมคอมพิวเตอร์", การออกกำลังกาย 109 ของมาตรา 7.1.1

ในการใส่อย่างไม่เป็นทางการคือฟังก์ชันที่ทำให้บิตก่อนหน้านี้ 1 ทำให้fน่าจะเป็น 1: ดังนั้นเช่นf ( 0 , 1 , 1 ) f ( 1 , 0 , 1 ) f ( ) นั่นคือ "บางบิตมีความสำคัญมากกว่า" และเพื่อลบกรณี isomorphic ที่ซ้ำซ้อนเราถือว่าบิตก่อนหน้านี้มีความสำคัญมากกว่า(0,1,1)(1,0,1)(1,1,0)

อย่างไรก็ตามไม่ใช่ทุกฟังก์ชั่นดังกล่าวที่มีฟังก์ชั่นธรณีประตูบวก! นั่นเป็นเพียงเพราะคุณได้รับคำสั่งของคำถามสอบที่สำคัญที่สุดถึงอย่างน้อยก็ไม่ได้หมายความว่ากฎการผ่าน / ไม่ผ่านนั้นขึ้นอยู่กับการเพิ่มคะแนนบางส่วน

แน่นอนจำนวนฟังก์ชั่นธรณีประตูบวก (ที่มีน้ำหนักลดลง) กับตัวแปรถูกกำหนดโดยลำดับ 2 , 3 , 5 , 10 , 27 , 119 , 1113 , (ลำดับoeis.org A000617 ) ในขณะที่จำนวนอุดมคติอุดมคติเช่นนั้น คือ 2 , 3 , 5 , 10 , 27 , 119 , 1173 , (ลำดับที่oeis.org A132183 )n

2,3,5,10,27,119,1113,...
2,3,5,10,27,119,1173,

ขอบคุณ! แค่คิดว่าฉันชี้ให้เห็นว่าฟังก์ชั่นบูลีนชนิดอื่นที่กล่าวถึงในคำตอบของคุณฟังก์ชันที่มีลำดับรวมที่มีอิทธิพลต่อตัวแปรเรียกว่าฟังก์ชันบูลีน "ปกติ" สิ่งนี้ถูกกล่าวถึงในลำดับ A132183 และฟังก์ชันดังกล่าวถูกศึกษาในบทที่ 8 ของฟังก์ชันบูลีน: ทฤษฎีอัลกอริทึมและแอปพลิเคชัน
a3nm
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.