คำถามติดแท็ก ds.algorithms

คำถามเกี่ยวกับคำแนะนำที่กำหนดไว้อย่างดีสำหรับการทำงานให้สำเร็จและการวิเคราะห์ที่เกี่ยวข้องในแง่ของเวลา / หน่วยความจำ / ฯลฯ

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

3
ชุดที่เล็กที่สุดที่ตัดชุดที่ให้มาบางชุด
ให้เป็นเซตที่อาจมีองค์ประกอบเหมือนกัน ฉันกำลังมองหาชุดที่มีขนาดเล็กที่สุดXดังกล่าวว่า∀ ฉัน,S1, S2, ... , SnS1,S2,...,SnS_1,S_2,\ldots,S_nXXX ∅∀ ฉัน,X∩ Sผม≠ ∅∀ผม,X∩Sผม≠∅\forall i,\,X\cap S_i \ne \emptyset ปัญหานี้มีชื่อหรือไม่? หรือลดปัญหาที่ทราบบางอย่าง ในบริบทของฉันอธิบายวงจรเบื้องต้นขององค์ประกอบที่เกี่ยวโยงกันอย่างมากและฉันกำลังมองหาชุดที่มีขนาดเล็กที่สุดของจุดXที่ตัดวงจรทั้งหมดS1, ... , SnS1,...,SnS_1,\ldots,S_nXXX

2
เมทริกซ์ที่คล้ายกัน
ให้เมทริกซ์n × สองตัวกับAและBปัญหาในการตัดสินใจว่ามีเมทริกซ์การเปลี่ยนแปลงP อยู่หรือไม่นั่นคือB = P - 1 A Pเทียบเท่ากับ(กราฟ Isomorphism) แต่ถ้าเราผ่อนคลายPให้เป็นเมทริกซ์กลับด้านแล้วความซับซ้อนคืออะไร? มีข้อ จำกัด อื่น ๆ เกี่ยวกับเมทริกซ์P invertible นอกเหนือจากการเปลี่ยนแปลงซึ่งเกี่ยวข้องกับปัญหานี้หรือปัญหาที่ยากอื่น ๆ ?n×nn×nn \times nAAABBBPPPB=P−1APB=P−1APB = P^{-1}APGIPPPPPPGI

1
?
ในขณะที่อ่านบล็อกของ Dick Lipton ฉันพบความจริงต่อไปนี้ใกล้ถึงจุดจบของBourne Factorของเขา: ถ้าสำหรับทุกมีความสัมพันธ์ของแบบฟอร์ม ( 2 n ) อยู่! = m - 1 ∑ k = 0 a k b c k k โดยที่m = p o l y ( n )และแต่ละa k , b kและc kเป็นp o l y ( n )ในความยาวบิตจากนั้น แฟคตอริ่งมีวงจรขนาดพหุนามnnn(2n)!=∑k=0m−1akbckk(2n)!=∑k=0m−1akbkck (2^n)! = \sum_{k=0}^{m-1} a_k …

1
จะคำนวณพลังของเมทริกซ์สี่เหลี่ยมได้อย่างไร?
สมมติว่าเราจะได้รับเมทริกซ์∈ R N × Nและให้ม∈ N 0 เราสามารถคำนวณพลังงานA mของเมทริกซ์นั้นเร็วแค่ไหน?A∈RN×NA∈RN×NA \in \mathbb R^{N\times N}m∈N0m∈N0m \in \mathbb N_0AmAmA^m สิ่งที่ดีที่สุดถัดไปเมื่อเปรียบเทียบกับการคำนวณผลิตภัณฑ์คือการใช้การยกกำลังอย่างรวดเร็วซึ่งต้องใช้ผลิตภัณฑ์เมทริกซ์O ( log m )mmmO(logm)O(log⁡m)\mathcal O(\log m ) สำหรับเมทริกซ์แบบทแยงมุมสามารถใช้การแยกสลายค่าลักษณะเฉพาะ มันเป็นเรื่องธรรมดาตามธรรมชาติการสลายตัวของจอร์แดนไม่เสถียรภายใต้การซึมผ่านและดังนั้นจึงไม่นับ (afaik) เมทริกซ์การยกกำลังในกรณีทั่วไปสามารถเร่งความเร็วได้หรือไม่? การยกกำลังอย่างรวดเร็วชี้ให้เห็นว่ารูปแบบของคำถามนี้มีประโยชน์เช่นกัน: กำลังสองของเมทริกซ์ทั่วไปสามารถคำนวณได้เร็วกว่าอัลกอริธึมการคูณเมทริกซ์ที่รู้จักหรือไม่?AAA

4
อัลกอริทึม Parametrized สำหรับการค้นหา Bicliques
เมื่อพิจารณากราฟที่ไม่ระบุทิศทางnnnจุดยอดรันไทม์ที่รู้จักกันดีที่สุดสำหรับการค้นหากราฟย่อยซึ่งเป็นk×kk×kk\times k -biclique คืออะไร? จะมีขั้นตอนวิธีการ parametrized เร็วกว่า อัลกอริทึมเวลาของการ "คาดเดา" อีกด้านหนึ่งของ biclique และดูว่ามีอย่างน้อยเหตุการณ์ที่เกิดขึ้นจุดอื่น ๆ ทั้งหมดของพวกเขา?(nk)poly(n)(nk)poly(n)\binom{n}{k}\mbox{poly}(n)kkk

2
การระบุปัญหาที่อัลกอริธึมเวลาเชิงเส้นย่อยมีอยู่
ฉันสงสัยว่าปัญหาที่อัลกอริธึมเวลา (ในขนาดอินพุต) มีอยู่สามารถระบุได้ว่ามีคุณสมบัติเฉพาะหรือไม่ ซึ่งรวมถึงเวลาย่อย (เช่นการทดสอบคุณสมบัติความคิดทางเลือกของการประมาณปัญหาการตัดสินใจ) พื้นที่ย่อย (เช่นอัลกอริธึมการร่าง / การสตรีมที่อัลกอรึทึมมีเทปอ่านอย่างเดียวพื้นที่ทำงานเชิงเส้นย่อยและเอาต์พุตแบบเขียนอย่างเดียว) เทป) และการวัดระดับต่ำกว่า (เช่นการกู้คืนแบบเบาบาง / การตรวจจับแรงอัด) โดยเฉพาะอย่างยิ่งฉันสนใจที่จะอธิบายลักษณะของทั้งสองกรอบของอัลกอริทึมการทดสอบคุณสมบัติและในรูปแบบคลาสสิกของอัลกอริทึมแบบสุ่มและการประมาณ ตัวอย่างเช่นปัญหาการแก้ปัญหาการเขียนโปรแกรมแบบไดนามิกที่มีอยู่แสดงโครงสร้างย่อยที่ดีที่สุดและปัญหาย่อยที่ทับซ้อนกัน; ที่มีวิธีการแก้ปัญหาโลภจะแสดงโครงสร้างพื้นฐานที่ดีที่สุดและโครงสร้างของ matroid และอื่น ๆ การอ้างอิงใด ๆ ที่เกี่ยวข้องกับหัวข้อนี้ยินดีต้อนรับ ด้วยข้อยกเว้นของปัญหาเล็กน้อยที่ยอมรับอัลกอริธึมย่อยเชิงเส้นย่อยที่กำหนดขั้นตอนวิธีเชิงเส้นย่อยเกือบทั้งหมดที่ฉันเคยเห็นถูกสุ่ม มีระดับความซับซ้อนเฉพาะที่เกี่ยวข้องกับปัญหาในการยอมรับอัลกอริธึมเวลาเชิงเส้นย่อยหรือไม่? ถ้าใช่คลาสนี้รวมอยู่ใน BPP หรือ PCP หรือไม่

6
เมื่อใดที่อัลกอริทึมทั้งสองพูดว่า "คล้ายกัน"
ฉันไม่ได้ทำงานในทางทฤษฎี แต่งานของฉันต้องการการอ่าน (และความเข้าใจ) เอกสารทางทฤษฎีทุกครั้ง เมื่อฉันเข้าใจผลลัพธ์ (ชุด) ฉันจะพูดถึงผลลัพธ์เหล่านี้กับคนที่ฉันทำงานด้วยซึ่งส่วนใหญ่ไม่ทำงานในทางทฤษฎีเช่นกัน ในช่วงหนึ่งของการสนทนาคำถามต่อไปนี้เกิดขึ้น: เมื่อใดที่ไม่บอกว่าอัลกอริธึมที่ให้มาสองตัวนั้น "คล้ายกัน"? ฉันหมายถึงอะไร "คล้ายกัน"? ให้เราบอกว่าอัลกอริธึมทั้งสองนั้นมีความคล้ายคลึงกันถ้าคุณสามารถเรียกร้องข้อใดข้อหนึ่งต่อไปนี้ในกระดาษโดยไม่ทำให้ผู้ตรวจสอบเกิดความสับสน / น่ารำคาญ (ให้คำจำกัดความที่ดีขึ้น) การอ้างสิทธิ์ 1. "อัลกอริทึมซึ่งคล้ายกับอัลกอริทึมBก็สามารถแก้ปัญหาX ได้เช่นกัน "AAABBBXXX อ้างสิทธิ์ 2 "อัลกอริทึมของเราคล้ายกับอัลกอริทึม "CCC ขอผมเจาะจงหน่อยหน่อย สมมติว่าเรากำลังทำงานกับอัลกอริธึมกราฟ เงื่อนไขแรกที่จำเป็นบางประการสำหรับอัลกอริทึมทั้งสองจะคล้ายกัน: พวกเขาจะต้องแก้ไขปัญหาเดียวกัน พวกเขาจะต้องมีความคิดที่ใช้งานง่ายในระดับสูงเดียวกัน ตัวอย่างเช่นการพูดคุยเกี่ยวกับการสำรวจเส้นทางด้วยกราฟการสำรวจเส้นทางแบบกว้างแรกและลึกแรกตรงตามเงื่อนไขสองข้อข้างต้น สำหรับการคำนวณเส้นทางที่สั้นที่สุดอัลกอริธึมที่กว้างที่สุดและ Dijkstra เป็นไปตามเงื่อนไขสองประการข้างต้น เป็นต้น เงื่อนไขเหล่านี้เพียงพอหรือไม่ โดยเฉพาะอย่างยิ่งสมมติว่าอัลกอริธึมสองประการเป็นไปตามเงื่อนไขที่จำเป็นเพื่อให้คล้ายคลึงกัน คุณจะเรียกมันว่าคล้ายกันได้ไหมถ้า พวกมันมีประสิทธิภาพแบบซีมโทติคแตกต่างกันอย่างไร สำหรับการเรียนพิเศษของกราฟหนึ่งขั้นตอนวิธีการต้องเวลาในขณะที่คนอื่น ๆ ต้องใช้O ( n 1 / 3 )Ω (n)Ω(n)\Omega(n)โอ(n1 /3)O(n1/3)O(n^{1/3})เวลาหรือไม่ …

2
วลีการเปลี่ยนแปลงกับ LR การแยก
วลีเปลี่ยนแปลงเป็นส่วนขยายมาตรฐาน (E) BNF บริบทฟรีไวยากรณ์คำจำกัดความ: วลีเปลี่ยนแปลงมีnโปรดักชั่น (หรือเท่ากัน nonterminals) 1ผ่านn ที่ตำแหน่งของวลีการเปลี่ยนรูปเราต้องการเห็นทุกการผลิตเหล่านี้เพียงครั้งเดียว แต่เราไม่สนใจที่จะจัดลำดับของผู้ไม่ประสงค์ออกนามเหล่านี้{ A1, … , An}{A1,...,An}\{ A_1, \dots, A_n \}nnnA1A1A_1AnAnA_n ตัวอย่างเช่น: S <- X { A, B, C } Y เทียบเท่ากับ: S <- X A B C Y S <- X A C B Y S <- X B A C Y …

1
ทำให้การย่อยสลายต้นไม้ที่มีความกว้างน้อยที่สุดโน้มตัวในเวลาพหุนาม
ในฐานะที่เป็นที่รู้จักกันดีต้นไม้สลายตัวของกราฟประกอบด้วยต้นไม้Tกับถุงที่เกี่ยวข้องT v ⊆ V ( G )สำหรับแต่ละจุดสุดยอดv ∈ V ( T )GGGTTTTv⊆V(G)Tv⊆V(G)T_v \subseteq V(G)v∈V(T)v∈V(T)v \in V(T)ซึ่งเป็นไปตามเงื่อนไขต่อไปนี้: จุดยอดของทุกจุดเกิดขึ้นในถุงTGGGTTT T สำหรับทุก ๆ ขอบของGGGจะมีถุงบรรจุจุดปลายทั้งสองของขอบ ทุกจุดสุดยอด , กระเป๋าที่มีโวลต์ทำให้เกิดทรีย่อยที่เกี่ยวโยงกันของTv∈V(G)v∈V(G)v \in V(G)vvvTTT นอกจากนี้เรายังอาจเรียกร้องเงื่อนไขต่อไปนี้ที่เรียกว่าleannessจากการย่อยสลายของเรา: สำหรับกระเป๋า , T bของTทุกคู่หากA ⊆ T aและB ⊆ T bด้วย| A | = | B | = k , จากนั้น a) มีkจุดยอด - …

2
การค้นหาเส้นทางที่สั้นที่สุดด้วยอัลกอริทึมของ Eppstein
ฉันพยายามที่จะหาว่ากราฟเส้นทางP(G)P(G)P(G)ตามอัลกอริทึมของ Eppstein ในบทความนี้ทำงานอย่างไรและฉันสามารถสร้างเส้นทางที่สั้นที่สุดkkkจากsssถึงtttด้วยการสร้างฮีปที่สอดคล้องกันH(G)H(G)H(G)ได้อย่างไร จนถึงตอนนี้: out(v)out(v)out(v)มีขอบทั้งหมดออกจากจุดสุดยอดvvvในกราฟGGGที่ไม่ได้เป็นส่วนหนึ่งของเส้นทางที่สั้นที่สุดในGGGGพวกเขาจะได้รับคำสั่งจากกอง "เสียเวลา" ที่เรียกว่าδ(e)δ(e)\delta(e)เมื่อใช้ขอบนี้แทนที่จะเป็นหนึ่งในเส้นทางที่สั้นที่สุด โดยใช้ Dijkstra ฉันหาเส้นทางที่สั้นที่สุดเพื่อทุกจุดสุดยอดจากเสื้อttt ฉันสามารถคำนวณโดยการใช้ความยาวของขอบ + (ค่าของจุดสุดยอดหัว (ที่ขอบกำกับชี้) ที่ -. ค่าของยอดหาง (ที่ขอบกำกับจะเริ่มต้น) ถ้าเป็นมัน ไม่ได้อยู่ในเส้นทางที่สั้นที่สุดหากเป็น= 0มันอยู่ในเส้นทางที่สั้นที่สุด>0>0> 0=0=0= 0 ตอนนี้ผมสร้าง 2 นาทีกองโดย heapifying ชุดของขอบo ยูที( วี)ตามที่พวกเขาδ ( E )สำหรับการใด ๆวี∈ Vที่รากo U T r o o t ( v )มีลูกเพียงคนเดียว (= ทรีย่อย)Hout(v)Hout(v)H_{out}(v)out(v)out(v)out(v)δ(e)δ(e)\delta(e)v∈Vv∈Vv \in Voutroot(v)outroot(v)outroot(v) เพื่อที่จะสร้างผมแทรกo ยูทีR …

1
อัลกอริทึมสำหรับปรับการตัดสินใจต้นไม้ให้เหมาะสม
พื้นหลัง ต้นไม้ตัดสินใจเลขฐานสองTTTเป็นต้นไม้ที่ถูกรูตซึ่งแต่ละโหนดภายใน (และรูท) จะมีป้ายกำกับโดยดัชนีซึ่งไม่มีเส้นทางจากรากหนึ่งไปยังอีกใบหนึ่งทำดัชนี จะมีป้ายกำกับโดยเอาท์พุทในและแต่ละขอบจะมีป้ายกำกับสำหรับลูกซ้ายและสำหรับลูกขวา ในการใช้ต้นไม้กับอินพุต :{ A , B } 0 1 xเจ∈ { 1 , . . , n }J∈{1,...,n}j \in \{1,..., n\}{ A , B }{A,B}\{A,B\}000111xxx เริ่มต้นที่รูท ถ้าคุณอยู่ที่ลีฟคุณจะส่งเอาท์พุตฉลากหรือBและยุติAAABBB อ่านเลเบลJJjของโหนดปัจจุบันของคุณหากxJ= 0xJ=0x_j = 0ให้เลื่อนไปที่ลูกด้านซ้ายและหากxJ= 1xJ=1x_j = 1ให้ย้ายไปที่ลูกที่ถูกต้อง ข้ามไปที่ขั้นตอน (2) ต้นไม้ที่ถูกนำมาใช้เป็นวิธีการประเมินผลการทำงานโดยเฉพาะอย่างยิ่งที่เราบอกว่าต้นไม้TTTหมายถึงฟังก์ชั่นรวมฉฉfถ้าสำหรับแต่ละx∈{0,1}nx∈{0,1}nx \in \{0,1\}^nเรามีT(x)=f(x)T(x)=f(x)T(x) = f(x) ) ความซับซ้อนของแบบสอบถามของต้นไม้คือความลึกของมันและความซับซ้อนของแบบสอบถามของฟังก์ชันคือความลึกของต้นไม้ที่เล็กที่สุดที่แสดงถึงมัน ปัญหา รับแผนภูมิการตัดสินใจแบบสองจุด T …

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

3
ทำไมอัตราส่วนการประมาณค่าที่แตกต่างกันจึงไม่ได้รับการศึกษาที่ดีเมื่อเปรียบเทียบกับค่ามาตรฐานแม้ว่าจะได้รับสิทธิประโยชน์
supAOPTsupAOPT\sup\frac{A}{OPT}MINMINMINAAAAAAOPTOPTOPTinfΩ−AΩ−OPTinfΩ−AΩ−OPT\inf\frac{\Omega-A}{\Omega-OPT}ΩΩ\Omega มันให้อัตราส่วนการประมาณเดียวกันสำหรับปัญหาเช่นฝาครอบจุดยอดขั้นต่ำและชุดอิสระสูงสุดซึ่งเป็นที่ทราบกันว่าเป็นเพียงการรับรู้ที่แตกต่างกันของปัญหาเดียวกัน มันให้อัตราส่วนเท่ากันสำหรับรุ่นสูงสุดและต่ำสุดของปัญหาเดียวกัน ในขณะเดียวกันเรารู้ในทฤษฎีมาตรฐาน MIN TSP และ MAX TSP มีอัตราส่วนที่แตกต่างกันมาก มันมาตรการระยะไม่เพียง แต่จะเหมาะสม แต่ยัง pessimum \ดังนั้นในกรณีของ Vertex Cover ทฤษฎีการประมาณมาตรฐานบอกว่าเป็นขอบเขตบนที่ดีที่สุด แต่สิ่งจำเป็นคืออัตราส่วนสูงสุดระหว่างค่า pessimum และค่าที่เหมาะสม ดังนั้นอัลกอริทึมดังกล่าวรับประกันว่าจะส่งออกโซลูชั่นที่มีค่าที่เลวร้ายที่สุดΩΩ\Omega222222 ข้อโต้แย้งของฉันคือ: ในการวิเคราะห์เชิงเส้นประสาทเราไม่คำนึงถึงค่าคงที่และเงื่อนไขต่ำ (ที่นี่ฉันจำคำพูดของ Avi Widgerson: "เราประสบความสำเร็จเพราะเราใช้ระดับที่เหมาะสมของนามธรรม") และนี่คือ ระดับของสิ่งที่เป็นนามธรรมสำหรับการเปรียบเทียบการใช้ทรัพยากรของอัลกอริทึม แต่เมื่อเราศึกษาการประมาณเราด้วยเหตุผลบางอย่างแนะนำความแตกต่างในสถานที่เหล่านั้นที่เราสามารถหลีกเลี่ยงได้ คำถามของฉันคือ ทำไมทฤษฎีการประมาณค่าแตกต่างจึงศึกษาไม่ดี หรือข้อโต้แย้งที่เกี่ยวข้องไม่แข็งแรงพอ?

2
การค้นหาจุดที่มีเส้นผ่านศูนย์กลาง จำกัด ที่ใหญ่ที่สุด
รับคะแนนในR dและเป็นระยะทางต่อลิตรพบว่าส่วนย่อยที่ใหญ่ที่สุดของจุดเหล่านี้เช่นว่าระยะห่าง Euclidian ไม่มีสองของพวกเขาเกินลิตรp1,…,pnp1,…,pnp_1,\ldots,p_nRdRd\mathbb{R}^{d}llllll ความซับซ้อนของปัญหานี้คืออะไร? ในกราฟเหนือจุดที่มีขอบเมื่อใดก็ตามที่ระยะทางของจุดสองจุดมากที่สุดปัญหาจะเทียบเท่ากับการค้นหากลุ่มสูงสุด การสนทนาอาจไม่สามารถทำได้เนื่องจากไม่ใช่ทุกกราฟที่สามารถรับได้ด้วยวิธีนี้ (ตัวอย่างคือดาวK 1 , 7สำหรับd = 2 ) ดังนั้นคำถามที่เกี่ยวข้องคือ: สิ่งที่เป็นที่รู้จักเกี่ยวกับกราฟของชั้นนี้?lllK1,7K1,7K_{1,7}d=2d=2d=2

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