จัดเรียงเป็นโปรแกรมเชิงเส้น


24

ปัญหาที่น่าประหลาดใจมีจำนวนลดลงอย่างเป็นธรรมชาติถึงการเขียนโปรแกรมเชิงเส้น (LP) ดูบทที่ 7จาก [1] สำหรับตัวอย่างเช่นการไหลของเครือข่ายการจับคู่แบบสองทางเกมแบบรวมศูนย์เส้นทางที่สั้นที่สุดรูปแบบของการถดถอยเชิงเส้นและการประเมินวงจร!

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

  1. โปรแกรมเชิงเส้นคืออะไรที่จะเรียงลำดับของจำนวนจริง ?n
  2. เวลาในการทำงานของอัลกอริธึมการเรียงลำดับการลดและการแก้ปัญหาคืออะไร

  1. อัลกอริทึมโดย S. Dasgupta, C. Papadimitriou และ U. Vazirani (2006)

1
สปอยเลอร์: pine.cs.yale.edu/pinewiki/...
โจ

3
หากคุณรู้คำตอบแล้วทำไมคุณถามคำถาม
Yuval Filmus

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

@ ราฟาเอลถ้าไม่มีใครเขียนคำตอบแล้วฉันจะทำเมื่อฉันมีเวลา
โจ

@YuvalFilmus ถามคำถามที่คุณรู้ว่าคำตอบนั้นได้รับการสนับสนุนอย่างชัดเจนในการแลกเปลี่ยนสแต็
โจ

คำตอบ:


23

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

σ{1,,n}PσPij=1j=σ(i)Pij=0xσy=Pσxyi=xσ(i)y=Pσxσ(x)

n×nM

และความจริงข้อหนึ่งซึ่งมีความสำคัญมากในการเพิ่มประสิทธิภาพเชิงผสม - ทฤษฎีบท Birkhoff-von Neumann:

Mσ1,,σkα1,,αkM=i=1kαiPσiαi=1

ขอให้สังเกตว่าเมทริกซ์สุ่มสองครั้งถูกกำหนดโดยความไม่เท่าเทียมกัน

i:j=1nMij=1
j:i=1nMij=1
i,j:Mij0

P

a=(a1,,an)fa(M)

  • fa(Pτ)<fa(Pσ)σ(a)τ(a)

fa(M)Pσσσ(a)σPσ

fa(M)vTMav=(1,,n)

  • M
  • Pσfa(Pσ)=i=1niaσ(i)
  • σσ(a)σ(a)

และ voila คุณมีโปรแกรมเชิงเส้นสำหรับการเรียงลำดับ ดูเหมือนว่าโง่สำหรับการจัดเรียง แต่อันที่จริงแล้วนี่เป็นวิธีการที่มีประสิทธิภาพในการเพิ่มประสิทธิภาพ


1
a

1
เมื่อมีวิธีการแก้ปัญหาที่ดีที่สุดหลายอย่างบางคนอาจไม่ได้เมทริกซ์การเปลี่ยนรูป หากฟังก์ชันวัตถุประสงค์มีค่าคงที่โซลูชันที่เป็นไปได้ทั้งหมดจะเหมาะสมที่สุด
Sasho Nikolov

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

1
a

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