การจับคู่“ ยุติธรรม” น้ำหนักสูงสุด


9

ฉันสนใจตัวแปรที่มีการจับคู่น้ำหนักสูงสุดในกราฟซึ่งฉันเรียกว่า "การจับคู่ที่ยุติธรรมสูงสุด"

สมมติว่ากราฟเต็ม (เช่น ) มีจำนวนคู่ของจุดและที่น้ำหนักจะได้รับจากการทำงานกำไรP: {V \ เลือก 2} \ to \ mathbb N กำหนดM ที่ตรงกันแสดงว่าM (v)ผลกำไรของ edge vนั้นถูกจับคู่ด้วยE=V×VE= V× Vp:(V2)→Np : (V2) →NMMM(v)M( v )vโวลต์

การจับคู่MMคือการจับคู่ที่ยุติธรรม iff สำหรับสองจุดยอดu,v∈VU , V ∈ V : (∀w∈V:  p({w,v})≥p({w,u}))→M(v)≥M(u)

( ∀ w ∈ V: p ( { w , v } ) ≥ p ( { w , u } ) ) → M  ( v ) ≥ M( u )

นั่นคือถ้าสำหรับจุดสุดยอดใด ๆw∈Vw ∈ Vจับคู่wWกับจุดสุดยอดvโวลต์จะช่วยให้ผลกำไรสูงกว่าการจับคู่จุดสุดยอดuยู , จับคู่ยุติธรรมต้องพอเพียงM(v)≥M(u)M( v ) ≥ M( u )(U)

เราสามารถหาการจับคู่ที่ยุติธรรมน้ำหนักสูงสุดได้อย่างมีประสิทธิภาพหรือไม่?


กรณีที่น่าสนใจคือเมื่อกราฟเป็น bipartite และความเป็นธรรมนั้นใช้ได้กับด้านเดียวนั่นคือG=(L∪R,L×R)G = ( L ∪ R , L × R )และเราจะได้รับฟังก์ชั่นกำไรp:L×R→Np:L×R→NN

การจับคู่สองฝ่ายที่ยุติธรรมคือการจับคู่ในGGเช่นนั้นสำหรับจุดยอดสองจุดใดu,v∈Lu,v∈L : (∀w∈R:  p({v,w})≥p({u,w}))→M(v)≥M(u)

(∀w∈R:  p({v,w})≥p({u,w}))→M(v)≥M(u)

เราจะพบการจับคู่สองฝ่ายที่มีน้ำหนักสูงสุดได้อย่างรวดเร็วแค่ไหน?


แรงจูงใจสำหรับปัญหานี้มาจากกรณีพิเศษสองฝ่าย สมมติคุณมีคนและงานและผู้ปฏิบัติงานที่สามารถผลิตกำไรจากการทำงานเจปัญหาที่นี่คือการออกแบบที่เหมาะสม (ในความรู้สึกคนงานจะไม่รู้สึก "ฉีกออก") ในขณะที่เพิ่มผลตอบแทนสูงสุด (มีการแลกเปลี่ยนระหว่างอำนาจของกลไกการมอบหมายและผลประโยชน์ทางสังคม)nnmmiipi,jpi,jjj

หากเรากำหนดสวัสดิการสังคม (หรือกำไรจากโรงงาน) ของการมอบหมายให้คนงานเป็นผลรวมของกำไร

เมื่อดูสถานการณ์ต่าง ๆ สำหรับพลังของผู้มอบหมายงานเราจะได้ผลลัพธ์ดังต่อไปนี้:

  • หากเราได้รับอนุญาตให้มอบหมายผู้ปฏิบัติงานใด ๆ เราสามารถเพิ่มประสิทธิภาพโรงงานได้อย่างมีประสิทธิภาพ (เพียงแค่หาการจับคู่น้ำหนักสูงสุด)

  • หากผู้ปฏิบัติงานทุกคนเลือกงานด้วยตัวเองสมมติว่างานของเขาจะถูกเลือก (งานเดียวเท่านั้นที่สามารถเลือกได้สำหรับแต่ละงาน) หากเขาเป็นคนที่มีคุณสมบัติเหมาะสมที่สุดที่เลือกงานคนงานจะมารวมกันเป็น '' โลภ ' 'สมดุล เหตุผลก็คือคนงานที่สามารถสร้างรายได้มากที่สุด ( ) จะเลือกงานที่ทำกำไรได้มากที่สุดและอื่น ๆ ด้วยอัตราการประมาณของอัลกอริทึมโลภสำหรับการจับคู่สิ่งนี้ควรให้ค่าประมาณ 2 เท่าของสวัสดิการสังคมสูงสุดเท่าที่จะเป็นไปได้i=argmaximaxjpi,ji=argmaximaxjpi,j

ฉันกำลังมองหาบางสิ่งบางอย่างในระหว่าง สมมติว่าเราสามารถกำหนดคนงานให้กับงานได้ แต่ต้องสัญญากับพวกเขาว่าไม่มีคนงาน "ที่มีคุณสมบัติน้อย" หารายได้มากกว่าพวกเขา

เราจะค้นหาการจับคู่น้ำหนักสูงสุดที่มีแนวโน้มว่า "ยุติธรรม" กับพนักงานได้อย่างมีประสิทธิภาพได้อย่างไร


เป็นเรื่องสำคัญสำหรับกรณีที่สอง (สองฝ่าย) ดูเหมือนง่ายในการสร้างตัวอย่างที่การจับคู่ "ยุติธรรม" ทุกครั้งให้ผลกำไรคนแรก 1 และส่วนที่เหลือเป็นศูนย์แม้ว่าจะมีการจับคู่ "ไม่ยุติธรรม" ให้กำไรแรกของคนงานและทุกคนกำไรอื่น1-ในทำนองเดียวกันตัวอย่างที่จับคู่ยุติธรรมสูงสุดน้ำหนักจะช่วยให้กำไรของผู้ปฏิบัติงานแต่ละ , แม้ว่าจะมีจ้อเป็นธรรมให้แต่ละกำไรของผู้ปฏิบัติงานใน\} 1−2ϵ1−2ϵ1−ϵ1−ϵ2/n2/n{1−ϵ,1−2ϵ}{1−ϵ,1−2ϵ}
— Neal Young

@NealYoung - ฉันถูกต้องหรือไม่ที่จะสมมติว่าสถานการณ์เหล่านี้ไม่สามารถเกิดขึ้นได้หากผลกำไรแตกต่างกันหรือไม่
— RB

ดูเหมือนว่าปัญหามาตรฐานในทฤษฎีเกมที่ไม่สามารถแยกความแตกต่างระหว่างทางเลือกอย่างมีนัยสำคัญช่วยลดสวัสดิการสังคม
— RB

อ๊ะฉันกลับความคิดเห็นของฉัน - ฉันไม่แน่ใจว่าตัวอย่างเหล่านั้นจะเกิดขึ้นได้จริง!
— Neal Young

คำตอบ:


1

ฉันเชื่อว่า "การจับคู่สองฝ่ายที่มีน้ำหนักยุติธรรมสูงสุด" ตามที่คุณกำหนดไว้ว่าเป็นเรื่องยาก ยิ่งไปกว่านั้นการพิจารณาการมีอยู่ของการจับคู่สองฝ่ายที่ยุติธรรมคือ NP-hard

ก่อนที่ฉันจะให้ภาพร่างหลักฐานสำหรับปรีชาลองพิจารณาตัวอย่างเล็ก ๆ น้อย ๆ ต่อไปนี้ ใช้ที่ ,\} ใช้นั้นสำหรับและ , ในขณะที่สำหรับและ\} จากนั้นและเทียบเท่าในแง่ที่สำหรับทั้งหมดดังนั้นการจับคู่ที่เป็นธรรมใด ๆ จะต้องให้และกำไรเท่ากัน ดังนั้นการจับคู่ที่เป็นธรรมเท่านั้นจะจับคู่กันG′=(L,R,E′=L×R)G′=(L,R,E′=L×R)L={a,b}L={a,b}R={c,d,e,f}R={c,d,e,f}ppp(u,w)=0p(u,w)=0u∈Lu∈Lw∈{c,d}w∈{c,d}p(u,w)=1p(u,w)=1u∈Lu∈Lw∈{e,f}w∈{e,f}aabbp(a,w)=p(b,w)p(a,w)=p(b,w)w∈Rw∈RaabbaaและไปและหรือพวกเขาตรงกับและจะและFการใช้อุปกรณ์ประเภทนี้เราสามารถบังคับให้มีการประสานงานของขอบในการจับคู่ นี่คือพื้นฐานของการลดbbccddaabbeeff

นี่คือความพยายามในการพิสูจน์ มันเกี่ยวข้องกับเล็กน้อย อาจมีข้อผิดพลาดบางอย่าง แต่หวังว่าจะสามารถแก้ไขข้อผิดพลาดได้

บทแทรก 1. ให้และตามที่อธิบายไว้ในปัญหาการพิจารณาว่ามีการจับคู่ที่เหมาะสมคือ NP -hardG′=(L,R,E′=L×R)G′=(L,R,E′=L×R)p:E′→R+p:E′→R+G′G′

ร่างหลักฐาน หลักฐานคือการลดลงจากชุดอิสระในกราฟลูกบาศก์ อนุญาตเป็นอินสแตนซ์ที่กำหนดโดยที่เป็นกราฟลูกบาศก์ (จุดยอดทุกอันมีระดับ 3) เราอธิบายวิธีสร้างกราฟและฟังก์ชันกำไรเช่นนั้นมีการจับคู่สองฝ่ายที่ยุติธรรมถ้าและ เฉพาะในกรณีที่มีชุดที่เป็นอิสระจากขนาดk(G=(V,E),k)(G=(V,E),k)G′G′G′=(L,R,E′=L×R)G′=(L,R,E′=L×R)p:E′→R+p:E′→R+G′G′GGkk

จุดยอดในจะมาเป็นคู่เรียกว่าคู่ค้า ในทำนองเดียวกันสำหรับจุดในRสำหรับแต่ละจุดสุดยอดเราให้หมายถึงพันธมิตรของโวลต์แต่ละจุดสุดยอดและพันธมิตรจะเท่ากันซึ่งหมายความว่าเราจะทำให้ ดังนั้นการจับคู่ยุติธรรมใด ๆ จะต้องกำหนดกำไรเดียวกันกับและell' ในสิ่งต่อไปนี้เราจะใช้ เพื่อแสดงค่าของR)LLRRv∈L∪Rv∈L∪Rv′v′vvℓ∈Lℓ∈Lℓ′∈Lℓ′∈Lp(ℓ,r)=p(ℓ′,r) for all r∈R.

p(ℓ,r)=p(ℓ′,r) for all r∈R.
ℓℓℓ′ℓ′π(ℓ,r)π(ℓ,r)p(ℓ,r)=p(ℓ′,r)p(ℓ,r)=p(ℓ′,r)

นอกจากนี้สำหรับแต่ละคู่ในและแต่ละคู่ของในเราจะสร้าง หรือเราสร้าง ในกรณีก่อนหน้านี้เราบอกว่าเราอนุญาตให้และถูกจับคู่กับและ (เพราะการทำเช่นนั้นจะกำหนดกำไรเดียวกันให้กับและตามที่ต้องการ) ในกรณีหลังนี้เราบอกว่าเราป้องกันและถูก (ทั้งคู่) จับคู่กับและℓℓLLr,r′r,r′RRπ(ℓ,r)=π(ℓ,r′)

π(ℓ,r)=π(ℓ,r′)
π(ℓ,r)≠π(ℓ,r′).
π(ℓ,r)≠π(ℓ,r′).
ℓℓℓ′ℓ′rrr′r′ℓℓℓ′ℓ′ ℓℓℓ′ℓ′rrr′r′ (เพราะการทำเช่นนั้นจะไม่ให้ผลกำไรเดียวกันกับและ )ℓℓℓ′ℓ′

เมื่อกราฟที่ระบุเป็นลูกบาศก์มันตรงกับและชุดอิสระขนาดในจะเกิดขึ้นที่ขอบสมมติเพื่อความสะดวกของโน้ตที่\}G=(V,E)G=(V,E)3|V|=2|E|3|V|=2|E|IIkkGG3k3kV={1,2,…,n}V={1,2,…,n}

สำหรับแต่ละขอบให้ทำดังนี้{i,j}∈E{i,j}∈E

  1. เพิ่มคู่ของจุดหุ้นส่วนเพื่อR r({i,j}),r′({i,j})r({i,j}),r′({i,j})RR

  2. สำหรับปลายทางเพิ่มคู่ของพันธมิตรจุดเพื่อLตั้งค่าช่วยให้และ จะได้รับการจับคู่กับและ\}) iiℓ(i,j),ℓ′(i,j)ℓ(i,j),ℓ′(i,j)LLπ(ℓ(i,j),r({i,j}))=π(ℓ(i,j),r′({i,j}))=i,

    π(ℓ(i,j),r({i,j}))=π(ℓ(i,j),r′({i,j}))=i,
    ℓ(i,j)ℓ(i,j)ℓ′(i,j)ℓ′(i,j)r({i,j})r({i,j})r′({i,j})r′({i,j})
  3. สมมาตรสำหรับจุดปลายอื่น ๆ : เพิ่มอีกคู่หนึ่งของจุดยอดพันธมิตรถึงและตั้ง อนุญาตให้และจะได้รับการจับคู่กับ และ\})jjℓ(j,i),ℓ′(j,i)ℓ(j,i),ℓ′(j,i)LLπ(ℓ(j,i),r({i,j})=π(ℓ(j,i),r′({i,j}))=j,

    π(ℓ(j,i),r({i,j})=π(ℓ(j,i),r′({i,j}))=j,
    ℓ(j,i)ℓ(j,i)ℓ′(j,i)ℓ′(j,i)r({i,j})r({i,j})r′({i,j})r′({i,j})

สำหรับและเพิ่มเข้าไปทุกครั้งหากคู่ไม่ได้รับอนุญาตอย่างชัดเจน (ด้านบน) ให้จับคู่กับจากนั้นป้องกันการแข่งขันโดยกำหนดและแต่ละหมายเลขไม่ซ้ำกันℓ∈Lℓ∈Lr∈Rr∈Rℓ,ℓ′ℓ,ℓ′r,r′r,r′π(ℓ,r)π(ℓ,r)π(ℓ,r′)π(ℓ,r′)

ถัดไปเพิ่มคู่ของฟิลเลอร์จุดที่จะRฟิลเลอร์สำหรับแต่ละจุดสุดยอดและแต่ละชุด03(|V|−k)3(|V|−k)RRrrℓ(i,j)∈Lℓ(i,j)∈Lπ(ℓ(i,j),r)=0π(ℓ(i,j),r)=0

สุดท้ายเพิ่มสองจุดและ (พันธมิตร) เพื่อพร้อมกับสองจุดและ (ยังเป็นพันธมิตร) เพื่อRชุดช่วยให้และที่จะจับคู่กับและR'_0สำหรับจุดสุดยอดอื่น ๆให้ตั้งค่าเป็นจำนวนที่ไม่ซ้ำกัน (ดังนั้นการจับคู่ที่เป็นธรรมใด ๆ จะต้องตรงกับและถึงและ ) สำหรับทุกครั้งL0L0L′0L′0LLR0R0R′0R′0RRπ(L0,R0)=π(L0,R′0)=1π(L0,R0)=π(L0,R′0)=1L0L0L′0L′0R0R0R′0R′0r∈Rr∈Rπ(L0,r)π(L0,r)L0L0L′0L′0R0R0R′0R′0i∈Vi∈Vสำหรับขอบของเหตุการณ์ชุดและ 1{i,j}∈E{i,j}∈Eπ(ℓ(i,j),R0)=iπ(ℓ(i,j),R0)=iπ(ℓ(i,j),R′0)=|V|−i+1π(ℓ(i,j),R′0)=|V|−i+1

ที่ลดลงเสร็จสมบูรณ์ เพื่อให้เสร็จสมบูรณ์เราพิสูจน์ว่าถูกต้อง


ก่อนอื่นพิจารณาสิ่งที่คู่ของ vertices หลังครอบงำอดีตนั่นคือ ℓ(i,j),ℓ(i′,j′)∈Lℓ(i,j),ℓ(i′,j′)∈L(∀r∈R) π(ℓ(i,j),r)≤π(ℓ(i′,j′),r).

(∀r∈R) π(ℓ(i,j),r)≤π(ℓ(i′,j′),r).

เมื่อพิจารณาถึงผลกำไรที่กำหนดให้กับขอบของเหตุการณ์ที่เกิดขึ้นกับและเงื่อนไขนี้สามารถพบได้ก็ต่อเมื่อและตรวจสอบคำจำกัดความของสำหรับขอบที่เหลืออยู่เงื่อนไขที่นั้นเพียงพอ ดังนั้นการจับคู่จึงมีความยุติธรรมถ้าหากมันกำหนดและให้กับและและสำหรับแต่ละตัวให้ผลกำไรเหมือนกันทุกจุดใน R0R0R′0R′0i=i′i=i′ππi=i′i=i′L0L0L′0L′0R0R0R′0R′0i∈Vi∈VN(i)={ℓ(i,j):{i,j}∈E}∪{ℓ′(i,j):{i,j}∈E}.

N(i)={ℓ(i,j):{i,j}∈E}∪{ℓ′(i,j):{i,j}∈E}.

ครั้งแรกคิดว่ามีชุดที่เป็นอิสระขนาดkรับการจับคู่ที่เหมาะสมสำหรับจากดังต่อไปนี้ GGIIkkG′G′II

Matchและเพื่อและR'_0L0L0L′0L′0R0R0R′0R′0

สำหรับแต่ละจุดสุดยอดให้เป็นขอบเหตุการณ์ทั้งสาม สำหรับแต่ละขอบให้จับคู่จุดยอดและคู่ของ กับและ\}) นี้จะช่วยให้ทุกจุดในกำไรฉันi∈Ii∈I{i,j1},{i,j2},{i,j3}{i,j1},{i,j2},{i,j3}{i,jh}{i,jh}ℓ(i,jh)ℓ(i,jh)ℓ′(i,jh)ℓ′(i,jh)r({i,jh})r({i,jh})r′({i,jh})r′({i,jh})N(i)N(i)ii

สำหรับแต่ละ vertices , สำหรับแต่ละสามขอบเหตุการณ์ที่เกิดขึ้นกับ , จับคู่และหุ้นส่วน บางคู่ที่ไม่ซ้ำกันของจุดฟิลเลอร์และพันธมิตรR'นี้จะช่วยให้ทุกจุดในกำไร0|V|−k|V|−ki∈V∖Ii∈V∖I{i,j}{i,j}iiℓ(i,j)ℓ(i,j)ℓ′(i,j)ℓ′(i,j)rrr′r′N(i)N(i)00

ดังนั้นการจับคู่นี้จึงยุติธรรม


ถัดไปสมมติว่ามีการจับคู่ยุติธรรมMG′M

Mจะต้องตรงกับและเพื่อและR'_0สำหรับแต่ละการจับคู่ต้องให้แต่ละจุดยอดใน กำไรเท่ากัน สำหรับแต่ละคู่ก็อยู่ในเช่นกัน ดังนั้นโดยการตรวจสอบการลดลงกำไรของแต่ละจุดยอดดังกล่าวจะต้องเป็น (ซึ่งในกรณีนี้จุดยอดทั้งหกในถูกจับคู่กับจุดยอดและหุ้นส่วนของพวกเขา) หรือศูนย์ (ในกรณีนี้จุดยอดทั้งหกในถูกจับคู่กับฟิลเลอร์จุดยอดใน ) ปล่อยL0L′0R0R′0i∈VN(i)ℓ(i,j)∈N(i)ℓ′(i,j)N(i)iN(i)r({i,j})N(i)RIเป็นเซตของจุดยอดที่เคสเดิมเก็บ สำหรับแต่ละขอบจุดสุดยอดและคู่ของมันจะถูกจับคู่กับหนึ่งจุดยอด มันตามมาว่าเป็นชุดอิสระ เนื่องจากจำนวนของจุดฟิลเลอร์คือขนาดของต้องมีอย่างน้อยk{i,j}r({i,j})I6(|V|−k)Ik

QED (?)


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

การลดที่กล่าวมาข้างต้นถือว่าเป็นเรื่องปกติที่จะใช้. ถ้านั่นเป็นสิ่งที่ไม่พึงประสงค์ฉันก็เดาได้ว่าเราสามารถใช้ กับจุดฟิลเลอร์, การกำหนดกำไร 0 ทั้งหมดของขอบยกเว้นขอบเพื่อและR'_0เราสามารถกำหนดผลกำไรให้กับขอบหลังเพื่อให้แน่ใจว่าจุดยอดฟิลเลอร์ไม่ได้ถูกครอบงำโดย (หรือควบคุม) จุดยอดอื่นใด|R|>|L|L|R|−|L|R0R′0

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