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


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,vVU , V V : (wV:  p({w,v})p({w,u}))M(v)M(u)

( w V: p ( { w , v } ) p ( { w , u } ) ) M  ( v ) M( u )

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

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


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

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

(wR:  p({v,w})p({u,w}))M(v)M(u)

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


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

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

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

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

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

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

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


เป็นเรื่องสำคัญสำหรับกรณีที่สอง (สองฝ่าย) ดูเหมือนง่ายในการสร้างตัวอย่างที่การจับคู่ "ยุติธรรม" ทุกครั้งให้ผลกำไรคนแรก 1 และส่วนที่เหลือเป็นศูนย์แม้ว่าจะมีการจับคู่ "ไม่ยุติธรรม" ให้กำไรแรกของคนงานและทุกคนกำไรอื่น1-ในทำนองเดียวกันตัวอย่างที่จับคู่ยุติธรรมสูงสุดน้ำหนักจะช่วยให้กำไรของผู้ปฏิบัติงานแต่ละ , แม้ว่าจะมีจ้อเป็นธรรมให้แต่ละกำไรของผู้ปฏิบัติงานใน\} 12ϵ12ϵ1ϵ1ϵ2/n2/n{1ϵ,12ϵ}{1ϵ,12ϵ}
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)=0uLuLw{c,d}w{c,d}p(u,w)=1p(u,w)=1uLuLw{e,f}w{e,f}aabbp(a,w)=p(b,w)p(a,w)=p(b,w)wRwRaabbaaและไปและหรือพวกเขาตรงกับและจะและFการใช้อุปกรณ์ประเภทนี้เราสามารถบังคับให้มีการประสานงานของขอบในการจับคู่ นี่คือพื้นฐานของการลดbbccddaabbeeff

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

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

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

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

p(,r)=p(,r) for all rR.
π(,r)π(,r)p(,r)=p(,r)p(,r)=p(,r)

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

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

เมื่อกราฟที่ระบุเป็นลูกบาศก์มันตรงกับและชุดอิสระขนาดในจะเกิดขึ้นที่ขอบสมมติเพื่อความสะดวกของโน้ตที่\}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})

สำหรับและเพิ่มเข้าไปทุกครั้งหากคู่ไม่ได้รับอนุญาตอย่างชัดเจน (ด้านบน) ให้จับคู่กับจากนั้นป้องกันการแข่งขันโดยกำหนดและแต่ละหมายเลขไม่ซ้ำกันLLrRrR,,r,rr,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สำหรับจุดสุดยอดอื่น ๆให้ตั้งค่าเป็นจำนวนที่ไม่ซ้ำกัน (ดังนั้นการจับคู่ที่เป็นธรรมใด ๆ จะต้องตรงกับและถึงและ ) สำหรับทุกครั้งL0L0L0L0LLR0R0R0R0RRπ(L0,R0)=π(L0,R0)=1π(L0,R0)=π(L0,R0)=1L0L0L0L0R0R0R0R0rRrRπ(L0,r)π(L0,r)L0L0L0L0R0R0R0R0iViVสำหรับขอบของเหตุการณ์ชุดและ 1{i,j}E{i,j}Eπ((i,j),R0)=iπ((i,j),R0)=iπ((i,j),R0)=|V|i+1π((i,j),R0)=|V|i+1

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


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

(rR) π((i,j),r)π((i,j),r).

เมื่อพิจารณาถึงผลกำไรที่กำหนดให้กับขอบของเหตุการณ์ที่เกิดขึ้นกับและเงื่อนไขนี้สามารถพบได้ก็ต่อเมื่อและตรวจสอบคำจำกัดความของสำหรับขอบที่เหลืออยู่เงื่อนไขที่นั้นเพียงพอ ดังนั้นการจับคู่จึงมีความยุติธรรมถ้าหากมันกำหนดและให้กับและและสำหรับแต่ละตัวให้ผลกำไรเหมือนกันทุกจุดใน R0R0R0R0i=ii=iππi=ii=iL0L0L0L0R0R0R0R0iViVN(i)={(i,j):{i,j}E}{(i,j):{i,j}E}.

N(i)={(i,j):{i,j}E}{(i,j):{i,j}E}.

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

Matchและเพื่อและR'_0L0L0L0L0R0R0R0R0

สำหรับแต่ละจุดสุดยอดให้เป็นขอบเหตุการณ์ทั้งสาม สำหรับแต่ละขอบให้จับคู่จุดยอดและคู่ของ กับและ\}) นี้จะช่วยให้ทุกจุดในกำไรฉันiIiI{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|kiVIiVI{i,j}{i,j}ii(i,j)(i,j)(i,j)(i,j)rrrrN(i)N(i)00

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


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

Mจะต้องตรงกับและเพื่อและR'_0สำหรับแต่ละการจับคู่ต้องให้แต่ละจุดยอดใน กำไรเท่ากัน สำหรับแต่ละคู่ก็อยู่ในเช่นกัน ดังนั้นโดยการตรวจสอบการลดลงกำไรของแต่ละจุดยอดดังกล่าวจะต้องเป็น (ซึ่งในกรณีนี้จุดยอดทั้งหกในถูกจับคู่กับจุดยอดและหุ้นส่วนของพวกเขา) หรือศูนย์ (ในกรณีนี้จุดยอดทั้งหกในถูกจับคู่กับฟิลเลอร์จุดยอดใน ) ปล่อยL0L0R0R0iVN(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|R0R0

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