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

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

10
#SAT Solver ดาวน์โหลด
ใครช่วยกรุณาชี้ไปที่หนึ่งหรือมากกว่าเว็บไซต์ที่เป็นไปได้ที่จะดาวน์โหลดการใช้งานการทำงานของแก้ #SAT? ฉันสนใจที่จะคืนค่าโซลูชันที่แน่นอนไม่ใช่การประมาณ

1
ปัญหาเกือบสมบูรณ์แบบ "เกือบจะง่าย"
ให้เราบอกว่าภาษาLLLคือP -density-close หากมีอัลกอริธึมเวลาพหุนามที่ตัดสินใจLLLบนอินพุตทั้งหมดอย่างถูกต้อง A∈A∈A\in LΔALΔAL\Delta AALLlimn→∞|(LΔA)∩{0,1}n|2n=0.limn→∞|(LΔA)∩{0,1}n|2n=0.\lim_{n\rightarrow\infty} \frac{|(L\Delta A) \cap \{0,1\}^n|}{2^n}=0.AAALLLLLL โปรดทราบว่าไม่จำเป็นต้องกระจัดกระจาย ตัวอย่างเช่นหากมี บิตสตริงมันจะยังคงหายไป (ที่อัตราเอ็กซ์โปเนนเชียล) ตั้งแต่ .2 n / 2 n 2 n / 2 / 2 n = 2 - n / 2LΔALΔAL\Delta A2n/22n/22^{n/2} nnn2n/2/2n=2−n/22n/2/2n=2−n/22^{n/2}/2^n=2^{-n/2} ไม่ยากที่จะสร้างปัญหาที่ไม่สมบูรณ์(เทียม) ที่ P -density-close ตามคำนิยามข้างต้น ตัวอย่างเช่นสมมติใด ๆNPภาษาที่สมบูรณ์และกำหนด\} จากนั้นจะรักษาความสมบูรณ์ของNPแต่มีอย่างน้อย bit ใช่อินสแตนซ์ ดังนั้นอัลกอริธึมเล็กน้อยที่ตอบว่า "ไม่" สำหรับทุกอินพุตจะต้องตัดสินใจในอินพุตเกือบทั้งหมดอย่างถูกต้อง มันจะผิดพลาดในส่วนของอินพุต bitLLLL …

3
จัดเรียงโดยใช้กล่องดำ
สมมติว่าเราต้องการที่จะเรียงลำดับรายการของตัวเลขจริง สมมติว่าเราได้รับกล่องดำที่สามารถเรียงจำนวนจริงได้ทันที เราจะได้ประโยชน์มากแค่ไหนเมื่อใช้กล่องดำนี้?SSS√nnnn--√n\sqrt n ตัวอย่างเช่นเราสามารถเรียงลำดับหมายเลขด้วยการโทรไปยังกล่องดำได้หรือไม่ อัลกอริทึมที่ดีที่สุดที่ฉันพบใช้การเรียกไปยังกล่องดำ แต่ฉันไม่สามารถปรับปรุงได้อีก นี่คืออัลกอริทึมของฉันซึ่งคล้ายกับการผสานเรียง:nO ( n--√)O(n)O(\sqrt n)nnn พาร์ทิชันแรกรายการเข้าไปในรายการมีประมาณขนาด จากนั้นใช้เรียกไปยังกล่องดำเพื่อเรียงลำดับรายการเหล่านี้ ท้ายที่สุดผสานรายการที่เรียงลำดับโดยใช้กล่องดำดังนี้:√SSS s1,s2, . . ,s √n--√n\sqrt n√s1, s2, . . . , sn√s1,s2,...,sns_1, s_2, ..., s_{\sqrt n}√n--√n\sqrt nn--√n\sqrt n ใส่องค์ประกอบที่เล็กที่สุดของรายการในรายการใหม่จากนั้นเรียกกล่องดำเพื่อเรียงลำดับ จำนวนใน (ครั้งแรกและองค์ประกอบที่เล็กที่สุดของ ) จะเป็นจำนวนที่น้อยที่สุดในSเราสามารถวางไว้ในตำแหน่งแรกของรายการเอาท์พุท สมมติว่าองค์ประกอบที่ได้รับการแต่งตั้งจากเราแทนที่ด้วยองค์ประกอบที่เล็กที่สุดที่สองของรายการจัดเรียงและทำงานอีกครั้งกล่องสีดำที่มันจะคำนวณสมาชิกที่เล็กที่สุดที่สองของS เราดำเนินการต่อไปจนถึงองค์ประกอบทั้งหมดจะถูกจัดเรียง จำนวนกล่องดำทั้งหมดที่เรียกใช้สำหรับส่วนนี้คือL [ 1 ] L S s J L [ 1 …

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

2
การจับคู่รูปแบบ n- มิติ
อะไรคือผลลัพธ์ที่ทราบกันดีในการค้นหา subarray n-มิติที่แน่นอนภายในอาร์เรย์ n-Dim? ใน 1D มันเป็นเพียงปัญหาการจับคู่สตริง KMP ทำในเวลาเชิงเส้น ใน 2D บทความนี้แสดงให้เห็นว่าสามารถทำได้ในเวลาเชิงเส้นพร้อมพื้นที่เพิ่มเติมเล็กน้อย สามารถแก้ไขปัญหานี้ในกรณีที่เป็นเส้นตรงเวลาที่แย่ที่สุดสำหรับมิติข้อมูลคงที่ได้หรือไม่?

1
การค้นหาระยะห่างระหว่างชื่อพหุนามสองแบบ (แสดงเป็นต้นไม้)
เพื่อนร่วมงานที่ทำงานเกี่ยวกับการเขียนโปรแกรมทางพันธุกรรมถามคำถามต่อไปนี้ ก่อนอื่นฉันพยายามแก้มันโดยใช้วิธีโลภ แต่จากความคิดที่สองฉันพบตัวอย่างของอัลกอริทึมโลภ ดังนั้นฉันคิดว่ามันควรค่าแก่การกล่าวถึงที่นี่ พิจารณาพหุนามสองอันซึ่งแสดงโดยต้นไม้แสดงออกของพวกเขา ตัวอย่างเช่นx3−2x+1x3−2x+1x^3-2x+1และx2+4x2+4x^2 + 4มีภาพประกอบด้านล่าง: กฎ: แต่ละโหนดเป็นชื่อตัวแปร ( x,y,z,…x,y,z,…x, y, z, \ldots ), ตัวเลขหรือการดำเนินการ (+, -, ×) การสำรวจเส้นทางตามลำดับของต้นไม้ควรส่งผลให้พหุนามถูกต้อง โหนดการดำเนินการมีระดับ 2 โหนดอื่น ๆ มีระดับ -0 โหนดทั้งหมดมีระดับที่ 1 (ยกเว้นรูทซึ่งมีระดับนอกเป็น 0) บนโหนด N ของแผนผังกำหนดการดำเนินการพื้นฐานดังนี้: xxx××\times การดำเนินการขั้นพื้นฐานสามารถสร้างแผนภูมินิพจน์ด้านบนของ N (ดูตัวอย่างด้านล่าง) ค่าใช้จ่ายของการดำเนินการพื้นฐานของประเภท 1คือ 1 ค่าใช้จ่ายสำหรับประเภท 2เท่ากับจำนวนการดำเนินงาน {+, -, ×} ในต้นไม้นิพจน์ที่สร้างขึ้นใหม่ ตัวอย่างสำหรับชนิดที่ 2:ค่าใช้จ่ายของการดำเนินการพื้นฐานต่อไปนี้คือ 2 …

5
กำหนดอัลกอริทึมแบบขนานสำหรับการจับคู่ที่สมบูรณ์แบบในกราฟทั่วไป
ในคลาสความซับซ้อนมีปัญหาบางอย่างที่ไม่ควรอยู่ในคลาสN Cเช่นปัญหาของอัลกอริทึมแบบขนานที่กำหนดขึ้น ปัญหาการไหลสูงสุดเป็นหนึ่งในตัวอย่าง และมีปัญหาที่เชื่อกันว่าอยู่ในN Cแต่ยังไม่พบข้อพิสูจน์PP\mathsf{P}N CNC\mathsf{NC}N CNC\mathsf{NC} การจับคู่ที่สมบูรณ์แบบปัญหาเป็นหนึ่งในปัญหาพื้นฐานส่วนใหญ่เติบโตในทฤษฎีกราฟ: ให้กราฟเราต้องไปหาจับคู่ที่สมบูรณ์แบบสำหรับG ขณะที่ผมสามารถพบได้บนอินเทอร์เน็ตแม้จะมีเวลาพหุนามที่สวยงามอัลกอริทึม Blossomโดยเอ็ดมันด์และอัลกอริทึมแบบขนานแบบสุ่มโดยคาร์พ Upfal และ Wigderson ในปี 1986 เพียงไม่กี่ subclasses ของกราฟเป็นที่รู้จักได้N Cขั้นตอนวิธีการGGGGGGN CNC\mathsf{NC} ในมกราคม 2005 มีการโพสต์ในบล็อกคำนวณซับซ้อนว่าการเรียกร้องก็ยังคงเปิดให้บริการที่สมบูรณ์แบบไม่ว่าจะจับคู่อยู่ใน C คำถามของฉันคือ:N CNC\mathsf{NC} มีความคืบหน้าใด ๆ ตั้งแต่นั้นมาเกินสุ่มขั้นตอนวิธีการ?N CNC\mathsf{NC} เพื่อชี้แจงความสนใจของฉันอัลกอริทึมใด ๆ ที่เกี่ยวข้องกับกราฟทั่วไปนั้นดี แม้ว่าอัลกอริทึมสำหรับคลาสย่อยของกราฟก็ใช้ได้เช่นกัน แต่นั่นอาจไม่ได้อยู่ในความสนใจของฉัน ขอบคุณทุกคน! แก้ไขที่ 12/27: ขอบคุณสำหรับความช่วยเหลือทั้งหมดของคุณฉันพยายามสรุปผลลัพธ์ทั้งหมดในรูปเดียว: คลาสที่รู้จักต่ำที่สุดมีปัญหาต่อไปนี้: การจับคู่ในกราฟทั่วไป: [ KUW86 ], R N C 2 [ …

3
สำรวจอัลกอริทึม / ความซับซ้อนของพีชคณิตเชิงเส้น
ฉันกำลังมองหาการสำรวจที่ดีเกี่ยวกับอัลกอริทึมและความซับซ้อนของพีชคณิตเชิงเส้น (การดำเนินงานเช่นอันดับ, ผกผัน, ค่าลักษณะเฉพาะ, ... สำหรับ Boolean, , และเมทริกซ์จำนวนเต็ม / rationals) โดยเน้นที่ขนาน ( ลำดับชั้น ) และ ฉันไม่สามารถหาที่ผ่านมาFพีFp\mathbb{F}_pยังไม่มีข้อความคNCNC คุณรู้หรือไม่ว่าการสำรวจล่าสุดที่ดีหรือหนังสือเกี่ยวกับความซับซ้อนของพีชคณิตเชิงเส้น?

4
โทโพโลยีเชิงบวกลำดับ 3
สมมติว่าเรามีเมทริกซ์ n คูณ n เป็นไปได้ไหมที่จะจัดลำดับแถวและคอลัมน์ใหม่เพื่อให้เราได้เมทริกซ์สามเหลี่ยมบน? คำถามนี้ได้รับแรงบันดาลใจจากปัญหานี้: ลำดับโทโพโลยีเชิงบวก ปัญหาการตัดสินใจเดิมนั้นยากอย่างน้อยเท่ากับปัญหานี้ดังนั้นผลลัพธ์ความสมบูรณ์แบบของ NP จึงแก้ได้เช่นกัน แก้ไข: Laszlo Vegh และ Andras Frank เรียกร้องความสนใจของฉันต่อปัญหาที่เทียบเท่าที่ถามโดย Gunter Rote: http://lemon.cs.elte.hu/egres/open/Graphs_extendable_to_a_uniquely_matchable_bipartite_graph แก้ไข: การลดปัญหาเดิมมีดังนี้ สมมติว่า DAG มีเพียงสองระดับซึ่งจะสอดคล้องกับแถวและคอลัมน์ของเมทริกซ์ นอกจากนี้เรายังมีโหนดเดียวที่มีน้ำหนัก +1 ทุกคนที่อยู่ในระดับต่ำกว่ามีน้ำหนัก -1 และในระดับบน +1

2
การประมาณค่าเฉลี่ยในเวลาพหุนาม
ปล่อยf:{0,1}n→(2−n,1]f:{0,1}n→(2−n,1]f \colon \lbrace 0,1 \rbrace ^ n \to (2^{-n},1]เป็นฟังก์ชันเราต้องการประมาณค่าเฉลี่ยของนั่นคือ:(x)fffE[f(n)]=2−n∑x∈{0,1}nf(x)E[f(n)]=2−n∑x∈{0,1}nf(x)\mathbb{E}[f(n)]=2^{-n}\sum_{x\in \lbrace 0,1 \rbrace ^ n}f(x) NOTE: In the OP, the range of f was [0,1]. I changed this a bit for technical reasons. (This should simplify the problem; if not, forget it!) ให้เป็นอัลกอริทึมการประมาณ (แบบสุ่ม) สมมติว่ามีการเข้าถึงกล่องดำที่จะฉเราหมายถึงนี้โดยฉEEEEEEfffEfEfE^f มีสองเงื่อนไขคือ 1) เวลาทำงานของเครื่องมือประมาณการ:มีพหุนามเดียวp(⋅)p(⋅)p(\cdot)เช่นนั้นสำหรับทุกnnnและfทั้งหมดfffเวลาทำงานของEf(1n)Ef(1n)E^f(1^n)ถูก จำกัด โดยp(n)E[f(n)]p(n)E[f(n)]\frac{p(n)}{\mathbb{E}[f(n)]}(n)]} 2) …

1
แก้ไขระยะทางในพื้นที่ sublinear
ความซับซ้อนที่รู้จักกันดีที่สุดสำหรับการคำนวณระยะทางแก้ไขที่แน่นอนระหว่างสองสายของความยาวเดียวกันโดยใช้พื้นที่การทำงานซึ่งเป็นเส้นย่อยในขนาดของอินพุตคืออะไร? ฉันคิดว่าอินพุตถูกเก็บในรูปแบบอ่านอย่างเดียว นี่เป็นปัญหาที่เคยศึกษามาหรือไม่? หากต้องการทำให้คำถามมีความเฉพาะเจาะจงมากขึ้นเพียงเล็กน้อยช่องว่างที่nคือความยาวของแต่ละสตริงอินพุตΘ ( n--√)Θ(n)\Theta(\sqrt{n})nnn แก้ไข การปฏิบัติตามคำตอบของ David Eppstein ดูเหมือนว่าคำถามที่ดีคือหากระยะทางแก้ไขสามารถพบได้ในเวลาพหุนามและพื้นที่ ขอบเขตที่ต่ำกว่าก็น่าสนใจเช่นกันΘ ( n--√)Θ(n)\Theta(\sqrt{n})

1
ค้นหากราฟย่อยที่ดี
คุณจะได้กราฟพร้อมจุดยอด มันอาจจะเป็นสองฝ่ายถ้าคุณต้องการ นอกจากนี้ชุดขอบ (พูดไม่เป็นสมาชิกร่วม) ฉันสนใจในปัญหาของการค้นหาชุดย่อยที่มีขนาดเล็กที่สุดเท่าที่จะเป็นไปได้ (หรือเล็กกว่า) เช่นนั้นกราฟที่เหนี่ยวนำให้มีขอบอย่างน้อยหนึ่งชั้นจากแต่ละชั้นสำหรับ .G = ( V, E)G=(V,E)G = (V,E)nnnอี1 , ... , E เมตร ⊆ E S ⊆ V G Sม.mmE1, … , Eม.⊆ EE1,…,Em⊆EE_1,\ldots, E_m \subseteq ES⊆ VS⊆VS \subseteq VGSGSG_Sฉัน= 1 , ... , ม.EผมEiE_iฉัน= 1 , ... , มi=1,…,mi=1,\ldots, m ขณะนี้ฉันรู้ว่าปัญหานี้ได้รับการตั้งค่าอย่างหนัก ฉันยังมีไม่ชัดเจนสมบูรณ์ ( …

4
วิธีการขอรับค่าที่ไม่รู้จักรับรายการเรียงลำดับของ
ใครสามารถช่วยฉันด้วยปัญหาต่อไปนี้? ฉันต้องการหาค่าบางอย่างa i , b jai,bja_i,b_j (mod ยังไม่มีข้อความNN ) โดยที่i = 1 , 2 , … , K , j = 1 , 2 , … , Ki=1,2,…,K,j=1,2,…,Ki=1,2,…,K, j=1,2,…,K (เช่นK = 6K=6K=6 ) ให้รายการของค่าเค2K2K^2ที่ สอดคล้องกับความแตกต่างa i - b j( modไม่มี)ai−bj(modN)a_i-b_j\pmod N (เช่นN = 251N=251N=251 ) โดยไม่ทราบความสัมพันธ์ที่สอดคล้องกันอย่างเป็นรูปธรรม ตั้งแต่ค่าa i , b …

1
การรวมรายการของวัตถุที่บอบบาง
พื้นหลัง:เจ้าเสี่ยวโพสต์คำถามต่อไปนี้เวลาที่ผ่านมา " มีการเปรียบเทียบที่รู้จักกันใด ๆ เรียงลำดับขั้นตอนวิธีการที่ไม่ได้ลดไปยังเครือข่ายการเรียงลำดับเช่นว่าแต่ละองค์ประกอบจะถูกเปรียบเทียบครั้ง?O(logn)O(log⁡n)O(\log n) " ดูเหมือนว่าเราติดอยู่กับปัญหาเล็กน้อย ฉันได้พูดคุยปัญหาเดียวกันกับ Valentin Polishchuk ในปี 2009 และเราไปถึงไหนแล้ว เพื่อให้ได้แนวคิดใหม่ ๆ ฉันพยายามหาคำถามที่ง่ายที่สุดที่มีรสชาติคล้ายกันและไม่น่ารำคาญ ดังนั้นคำถามต่อไปนี้ คำถาม:คุณจะได้รับรายการที่เรียงสองรายการโดยแต่ละรายการมีองค์ประกอบnnnรายการ คุณสามารถรวมรายการต่างๆเพื่อให้แต่ละองค์ประกอบเปรียบเทียบเฉพาะO(1)O(1)O(1)ครั้งได้หรือไม่ โดยปกติเอาต์พุตควรเป็นรายการที่เรียงลำดับซึ่งมีองค์ประกอบทั้งหมด2n2n2n [สิ่งนี้กลายเป็นเรื่องไม่สำคัญคำตอบคือ "ไม่"] คำถามที่ 2:คุณได้รับสองรายการที่เรียงลำดับโดยแต่ละรายการมีองค์ประกอบnnnรายการ คุณสามารถรวมรายการต่างๆเพื่อให้แต่ละองค์ประกอบมีการเปรียบเทียบO(1)O(1)O(1)ครั้งเท่านั้นหากคุณได้รับอนุญาตให้ยกเลิกองค์ประกอบส่วนเล็ก ๆ ได้หรือไม่ ผลลัพธ์ที่ได้ควรเป็นรายการที่เรียงลำดับที่มีองค์ประกอบ2n−T(n)2n−T(n)2n-T(n)และ "ถังขยะ" ที่มีองค์ประกอบT(n)T(n)T(n)คุณสามารถทำให้ค่าขนาดเล็กแค่ไหน การได้รับนั้นไม่สำคัญ สิ่งที่ต้องการควรทำได้ในลักษณะที่ตรงไปตรงมา แต่คุณจะได้ไหมT(n)T(n)T(n)T(n)=nT(n)=nT(n) = nT(n)=n/100T(n)=n/100T(n) = n/100T(n)=o(n)T(n)=o(n)T(n) = o(n) หมายเหตุ: เราใช้รูปแบบการเปรียบเทียบที่นี่ อัลกอริทึมที่กำหนดเท่านั้นเราสนใจในการรับประกันกรณีที่เลวร้ายที่สุด โปรดทราบว่ารายการทั้งสองมีองค์ประกอบอย่างแน่นอน ถ้าเรามีหนึ่งรายการที่มีองค์ประกอบnรายการและอีกหนึ่งรายการมี1องค์ประกอบคำตอบนั้นชัดเจนว่า "ไม่" แต่ถ้าทั้งสองรายการมีความยาวมันก็ดูเหมือนว่าหนึ่งอาจจะสามารถที่จะทำบางอย่าง "สมดุลภาระ"nnnnnn111 เวลานี้อัลกอริทึมชนิดใดก็ได้ที่ถูกต้อง หากอัลกอริทึมของคุณใช้เครือข่ายการเรียงลำดับเป็นแบบเอกสารสำเร็จรูปจะถือว่าสมบูรณ์แบบ …

2
คำนวณค่าคงที่ Cheeger: เป็นไปได้สำหรับคลาสใด?
การคำนวณค่าคงที่ Cheeger ของกราฟหรือที่เรียกว่าค่าคงตัว isoperimetric (เพราะโดยพื้นฐานแล้วจะเป็นอัตราส่วนพื้นที่ / ปริมาตรขั้นต่ำ) เป็นที่รู้กันว่า NP-complete โดยทั่วไปจะประมาณ ฉันสนใจที่จะเรียนรู้ว่าอัลกอริทึมพหุนามที่แน่นอนนั้นเป็นที่รู้จักสำหรับกราฟระดับพิเศษหรือไม่ ตัวอย่างเช่นยังคงเป็น NP ที่สมบูรณ์สำหรับกราฟปกติหรือไม่ สำหรับกราฟระยะทางปกติ ? (ฉันไม่ได้ศึกษาหลักฐานพิสูจน์ความสมบูรณ์แบบ NP ที่มีอยู่เพื่อตรวจสอบสมมติฐานของพวกเขา) พอยน์เตอร์วรรณกรรมชื่นชม - ขอบคุณ!

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