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

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

2
การเข้ารหัสด่วนของเวกเตอร์ที่สมดุล
มันเป็นเรื่องง่ายที่จะเห็นว่าสำหรับการใด ๆมีอยู่ 1-1 ทำแผนที่จาก {0,1}เป็น {0,1}ดังกล่าวว่าสำหรับการใด ๆเวกเตอร์คือ "สมดุล" คือมีจำนวนเท่ากับ 1 และ 0 เป็นไปได้ไหมที่จะกำหนดเช่นนี้เพื่อให้เราสามารถคำนวณ อย่างมีประสิทธิภาพ?nnnnFFFnn^nn+O(logn)n+O(log⁡n)^{n+O(\log n)}xxxF(x)F(x)F(x)FFFxxxF(x)F(x)F(x) ขอบคุณ

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

1
การสรุป FFT
ธรรมชาติการแบ่งและการพิชิตของ FFT สามารถทำให้เป็นรูปธรรมในการแปลงรูปอื่น (z Transform, chirp, etc) โดยอัตโนมัติได้หรือไม่? มีอัลกอริทึมที่อธิบายการแปลงรูปหรือไม่ (ฉันไม่รู้ว่าจะต้องใช้ข้อมูลใด) และสามารถสร้าง FFT ที่รวดเร็วเหมือนฟังก์ชั่นได้หรือไม่?

2
วิธีสลับลูกบอลสี
ฉันมีลูก 400 ลูกโดยที่ 100 เป็นสีแดง 40 เป็นสีเหลือง 50 สีเขียวสีเขียว 60 เป็นสีฟ้า 70 สีม่วงสีม่วง 80 เป็นสีดำ (ลูกบอลที่มีสีเดียวกันเหมือนกัน) ฉันต้องการอัลกอริทึมการสับที่มีประสิทธิภาพดังนั้นหลังจากการสับลูกอยู่ในรายการและ ลูกบอล 3 ลูกติดต่อกันใด ๆ ที่ไม่ใช่สีเดียวกัน เช่นฉันไม่สามารถมี "สีแดง, สีแดง, สีแดง, สีเหลือง .... " และการเรียงสับเปลี่ยนทั้งหมดมีความ "เท่าเทียมกัน" ที่น่าจะเกิดขึ้น (ดีถ้าการแลกเปลี่ยนประสิทธิภาพกับความเป็นกลางดีพอฉันไม่รังเกียจประสิทธิภาพมากกว่าความเป็นกลาง) ฉันพยายามดัดแปลง Fisher-Yates-Knuth แต่ผลลัพธ์ไม่เหมาะ ทำไม Fisher-Yates ไม่ดีพอ? ในฐานะที่เป็นปีที่ adopts การแปลงผกผัน Monte Carlo และการกระจายสัญญาณถือว่าลูกบอลสีเดียวกันต่างกันนั่นคือมันจะสร้างผลลัพธ์แบบเอนเอียงสำหรับความต้องการของฉัน และความคิดที่ไร้เดียงสาก็คือการกรอง / ย้อนรอยเรียงสับเปลี่ยนที่ไม่ดีทั้งหมดออกจากพื้นที่ทั้งหมด เมื่อข้อ จำกัด …

1
ประเมินวงจรบูลีนบนแบตช์ของอินพุตที่คล้ายกัน
สมมติว่าฉันมีวงจรบูลีน คCC ที่คำนวณฟังก์ชันบางอย่าง ฉ: { 0 , 1}n→ { 0 , 1 }f:{0,1}n→{0,1}f:\{0,1\}^n \to \{0,1\}. สมมติว่าวงจรประกอบด้วย AND, OR และ NOT เกตกับ fan-in และ fan-out ไม่เกิน 2 ปล่อย x ∈ { 0 , 1}nx∈{0,1}nx \in \{0,1\}^nเป็นอินพุตที่ได้รับ ป.ร. ให้ไว้คCC และ xxxฉันต้องการประเมิน คCC บน nnn อินพุตที่แตกต่างจาก xxx ในตำแหน่งบิตเดียวคือการคำนวณ nnn ค่า C(x1),C(x2),…,C(xn)C(x1),C(x2),…,C(xn)C(x^1),C(x^2),\dots,C(x^n) ที่ไหน xixix^i …

1
เหตุใดความเกียจคร้านเสริมจึงสำคัญ?
Compackary Slackness (CS) เป็นวิธีการสอนโดยทั่วไปเมื่อพูดถึงความเป็นคู่ มันสร้างความสัมพันธ์ที่ดีระหว่างข้อ จำกัด แรกและตัวแปร / คู่จากมุมมองทางคณิตศาสตร์ เหตุผลหลักสองประการสำหรับการใช้ CS (ตามที่สอนในหลักสูตรระดับบัณฑิตศึกษาและตำราเรียน): เพื่อตรวจสอบ optimality ของ LP เพื่อช่วยแก้ปัญหาทั้งคู่ ด้วยพลังการคำนวณในปัจจุบันและอัลกอริธึมเชิงพหุนามสำหรับการแก้ไข LP นั้น CS ยังมีความเกี่ยวข้องกับมุมมองเชิงปฏิบัติหรือไม่? เราสามารถแก้คู่และหาจุดทั้งสองข้างต้นได้เสมอ ฉันยอมรับว่ามันมี "ประสิทธิภาพมากกว่า" ในการแก้ปัญหาคู่ด้วยความช่วยเหลือของ CS แต่มันคืออะไร? หรือว่า CS มีมากกว่าสายตา? ที่ว่าลูกค้าจะเป็นประโยชน์นอกเหนือจากข้างต้นสองจุด ? ฉันเคยเห็นข้อความที่พูดพาดพิงถึงแนวคิดของ CS เมื่อพูดถึงอัลกอริทึมการประมาณ แต่ฉันไม่เข้าใจบทบาทของมันที่นั่น

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

1
ค่าคงที่ที่ซ่อนอยู่ในความซับซ้อนของอัลกอริทึม
สำหรับปัญหามากมายอัลกอริธึมที่มีความซับซ้อนเชิงซีมโทติคที่ดีที่สุดนั้นมีปัจจัยคงที่ที่ใหญ่มากซึ่งถูกซ่อนไว้โดยสัญกรณ์ O ขนาดใหญ่ สิ่งนี้เกิดขึ้นในการคูณเมทริกซ์, การคูณจำนวนเต็ม (โดยเฉพาะ, อัลกอริทึมการคูณจำนวนเต็ม O (n log n) ล่าสุดของฮาร์วีย์และแวนเดอร์โฮเวน), เครือข่ายการเรียงลำดับเชิงลึกและการค้นหาผู้เยาว์กราฟ อัลกอริทึมดังกล่าวบางครั้งเรียกว่าอัลกอริทึม Galactic โปรดทราบว่าสำหรับอัลกอริธึมอื่น ๆ เช่นการจัดเรียงทั่วไปและการเพิ่มจำนวนเต็มอัลกอริธึมเป็นที่รู้จักกันดีกับความซับซ้อนเชิงซ้อนที่เหมาะสมที่สุดและปัจจัยคงที่เล็ก ๆ มีการวิจัยอะไรบ้างในการแยกอัลกอริธึมเดิมออกจากอัลกอริธึมหลังจากมุมมองเชิงทฤษฎี ฉันรู้ว่าค่าคงที่ซ่อนอยู่มักถูกละเว้นเพื่อซ่อนความแตกต่างระหว่างการคำนวณแบบต่าง ๆ อย่างไรก็ตามฉันมั่นใจว่าภายใต้โมเดลที่แตกต่างหลากหลายอัลกอริทึม Galactic เหล่านี้จะช้ากว่าอัลกอริธึมที่แย่กว่า asymptotically สำหรับอินพุตขนาดหนึ่งพันล้าน ความแตกต่างนั้นไม่ละเอียดในบางกรณี มันถูกทำอย่างเข้มงวด? ตัวอย่างเช่นเราสามารถประดิษฐ์แบบจำลองการคำนวณที่ง่ายมากเช่นเครื่อง von Neumann ด้วย ISA ที่ง่ายมากจากนั้นใช้อัลกอริทึมและ จำกัด เวลาทำงานกับค่าคงที่ชัดเจน สิ่งนี้ทำมาเพื่ออัลกอริทึมที่หลากหลายหรือไม่?

2
ยกตัวอย่างอัลกอริธึม max-flow ที่มีน้ำหนักไม่ลงตัว?
เป็นที่ทราบกันว่า Ford-Fulkerson หรือ Edmonds-Karp ที่มี heuristic ของท่อไขมัน (อัลกอริธึมสำหรับ max-flow สอง) ไม่จำเป็นต้องหยุดถ้าน้ำหนักบางอย่างไม่มีเหตุผล ในความเป็นจริงพวกเขาสามารถมาบรรจบกับค่าที่ผิด ! อย่างไรก็ตามตัวอย่างทั้งหมดที่ฉันสามารถหาได้ในวรรณคดี [การอ้างอิงด้านล่างบวกการอ้างอิงในนั้น] ใช้เพียงค่าไม่มีเหตุผลเดียว: อัตราส่วนทองคำคอนจูเกตφ'= (5-√- 1 ) / 2φ'=(5-1)/2\phi' = (\sqrt{5}-1)/2และค่าอื่น ๆ ที่มีเหตุผลหรือเป็นผลคูณของ φ'φ'\phi'. คำถามหลักของฉันคือ: คำถามทั่วไป: เกิดอะไรขึ้นกับค่าที่ไม่ลงตัวอื่น ๆ ? ตัวอย่างเช่น (แต่ไม่รู้สึกว่าคุณต้องตอบคำถามเหล่านี้เพื่อโพสต์ - ฉันจะพบคำตอบที่น่าสนใจสำหรับคนใดคนหนึ่งหรือคำถามอื่น ๆ ที่อยู่ภายใต้คำถามทั่วไปด้านบน): มอบให้ใด ๆ อัลฟ่า∈ Rα∈R\alpha \in \mathbb{R}หนึ่งสามารถสร้าง (หรือแม้กระทั่งแสดงการมีอยู่) ตัวอย่างเช่น? ยิ่งอ่อนแอ: มีตัวอย่างที่รู้จักกันว่าใช้ค่าที่ไม่มีเหตุผลเป็นหลักแตกต่างจากφ'φ'\phi'? นั่นคือมีบางส่วนαα\alpha ซึ่งไม่ใช่ตัวคูณที่มีเหตุผล …

1
การทำความเข้าใจประสิทธิภาพของตัวแก้ปัญหา QFBV SMT
ตัวแก้ปัญหา SMT เช่น Z3 หรือ Boolector ใช้ชุดฮิวริสติกที่ซับซ้อนเพื่อแก้ปัญหา อย่างไรก็ตามสิ่งนี้ยังทำให้การทำนายประสิทธิภาพของตัวแก้ปัญหาดังกล่าวนั้นยากมาก คำถามของฉันคือ: คำถาม มีวิธีที่จะเข้าใจหรือรับข้อมูลเชิงลึกเกี่ยวกับประสิทธิภาพของตัวแก้ปัญหา SMT สำหรับสิ่งที่เฉพาะเจาะจงในทฤษฎีของ bitvectors ที่ไม่มีปริมาณ (QFBV) หรือไม่? นอกจากนี้ยังรวมถึงเครื่องมือสร้างภาพข้อมูลใด ๆ ที่จะช่วยให้เข้าใจว่าตัวแก้ปัญหา "ติดอยู่" / ไม่ก้าวหน้า การประยุกต์ใช้งาน ทำความเข้าใจล่วงหน้าว่าการเข้ารหัสที่แตกต่างกันของปัญหาเดียวกันมีผลต่อประสิทธิภาพการแก้ปัญหาอย่างไร (สถานะของศิลปะที่นี่ไม่สามารถเป็น "แค่ลองการเข้ารหัสที่แตกต่างกันสองสามข้อและหวังว่าจะเร็วพอ") หากปัญหาที่ระบุไม่สามารถแก้ไขได้ด้วยตัวแก้ปัญหา SMT เนื่องจากข้อ จำกัด ด้านเวลาให้หาวิธีในการแสดงปัญหาที่แตกต่างเพื่อให้สามารถแก้ไขได้ หลีกเลี่ยงการเสียเวลาในการแก้ปัญหาเฉพาะโดเมนที่จะไม่ส่งผลต่อประสิทธิภาพของตัวแก้ปัญหาทั้งหมดหรือแม้กระทั่งส่งผลเสียต่อประสิทธิภาพของตัวแก้ปัญหา การวิจัยที่มีอยู่ ฉันพยายามค้นหางานวิจัยในหัวข้อนี้ แต่ฉันไม่สามารถหาได้มากนัก ฉันยังไม่มีประสบการณ์มากนักในการแก้ปัญหา SAT / SMT ดังนั้นจึงต้องขออภัยหากฉันพลาดบางสิ่งไป SATzilla : ทำนายตัวแก้ประสิทธิภาพที่ดีที่สุดตามคุณลักษณะที่สกัดจากปัญหาโดยใช้เทคนิคการเรียนรู้ของเครื่อง สิ่งนี้ใช้กับ SAT แทน SMT เท่านั้นและไม่ได้อธิบายถึงเหตุผลในการแก้ปัญหาประสิทธิภาพการทำงาน Z3 …

5
โครงข่ายใยประสาทเทียมสามารถใช้ในการคิดอัลกอริทึมได้หรือไม่?
หลังจากความสำเร็จที่ใหม่กว่าและใหม่กว่าของเครือข่ายประสาทเทียมในการเล่นเกมกระดานเรารู้สึกว่าเป้าหมายต่อไปที่เราตั้งไว้อาจมีประโยชน์มากกว่าการตีมนุษย์ในสตาร์คราฟ แม่นยำมากขึ้นฉันสงสัยว่า โครงข่ายใยประสาทเทียมสามารถฝึกให้แก้ปัญหาอัลกอริทึมแบบคลาสสิคได้หรือไม่? นี่ฉันหมายความว่าเช่นเครือข่ายจะได้รับข้อมูลกราฟมีขอบถ่วงน้ำหนักและสองจุดและที่ระบุไว้และเราขอให้หาที่สั้นที่สุดเส้นทางให้เร็วที่สุดเท่าที่เป็นไปได้ จากนั้นฉันเดาว่าเครือข่ายประสาทจะค้นพบและฝึกฝนตัวเองให้ใช้ Dijkstra หรืออะไรทำนองนี้GGGssstttststst หนึ่งในมือเรารู้ว่ากำลังการคำนวณของเครือข่ายประสาทเป็นTC0TC0TC^0 0 ที่อื่นฉันไม่รู้ว่าสิ่งนี้เกี่ยวข้องกับคำถามของฉันหรือไม่ อย่างไรก็ตามสำหรับปัญหาส่วนใหญ่เราไม่รู้ว่าสามารถแก้ไขได้ในหรือไม่ การดูว่าเครือข่ายประสาทสามารถฝึกอบรมตัวเองได้หรือไม่อาจเป็นตัวบ่งชี้ที่ดีว่ามีอัลกอริทึมที่รวดเร็วหรือไม่ ตัวอย่างเช่นถ้าเครือข่ายประสาทไม่สามารถฝึกตัวเองเพื่อแก้ปัญหาได้อย่างรวดเร็ว SAT แล้วที่ทำให้มัน (มากขึ้น) มีแนวโน้มว่า 0 ฉันสงสัยว่าเครือข่ายประสาทจะทำอะไรกับ GRAPHISOMORPHISM หรือ FACTORIZATIONTC0TC0TC^0NP⊄TC0NP⊄TC0NP\not\subset TC^0 แน่นอนว่าการแยกอัลกอริทึมเป็นคำถามที่แตกต่างอย่างสิ้นเชิง ฉันสงสัยว่าผู้เชี่ยวชาญรู้วิธีการทำเช่นนั้น แต่การอภิปรายไม่ใช่หัวข้อของคำถามนี้ เพิ่มอีกสองวันต่อมา: หลังจากเห็นคำตอบให้ฉันระบุว่าถ้าคุณตอบในเชิงลบแล้วฉันอยากจะรู้ ทำไมการเล่นหมากรุกจึงง่ายกว่า Dijkstra หรือ Graphisomorphism?

1
อัลกอริทึมในการคำนวณระยะห่างระหว่างอำนาจ
เมื่อให้ coprime aคุณสามารถคำนวณa , ba,ขa, bนาทีx , y> 0|ax-ขY|นาทีx,Y>0|ax-ขY| \min_{x, y > 0} |a^x - b^y| ที่นี่x , yx,Yx, yเป็นจำนวนเต็ม เห็นได้ชัดว่าการx = y= 0x=Y=0x = y = 0ให้คำตอบที่ไม่น่าสนใจ; โดยทั่วไปพลังเหล่านี้จะได้ใกล้แค่ไหน นอกจากนี้เราจะคำนวณการย่อขนาด x, yได้อย่างรวดเร็วได้x , yx,Yx, yอย่างไร?

1
การจับคู่รูปแบบโดยไม่สนใจ: หลายรูปแบบ
กระดาษ SODA 2 หน้าของ Kalaiให้อัลกอริธึมที่ง่ายและมีประสิทธิภาพสำหรับการจับคู่รูปแบบโดยไม่ต้องสนใจ (wildcard ที่ตรงกับอักขระหนึ่งตัว) ในสาระสำคัญมันเป็นเรื่องง่ายเหมือนการโน้มน้าวใจ แต่จะเกิดอะไรขึ้นหากเราค้นหาลวดลายหลาย ๆรูปแบบโดยไม่สนใจ? เราสามารถยังคงแก้ปัญหาด้วยเทคนิคที่อิงกับ FFT ได้หรือไม่?

1
วงแหวนด้านในถูกเลือกในอัลกอริทึมSchönhage – Strassen อย่างไร
ฉันพยายามที่จะใช้อัลกอริทึมการคูณจำนวนเต็มของSchönhage - Strassen แต่กด stumbling block ในขั้นตอนวนซ้ำ ฉันมีค่าด้วยบิตและฉันต้องการที่จะคำนวณ1} ฉันคิดว่าแนวคิดดั้งเดิมคือการเลือกที่แยกเป็นชิ้นแต่ละชิ้นด้วยบิตใช้การโน้มน้าวใจของ SSA ขณะทำงานโมดูโล , แหวนที่มีความจุบิตต่อค่าจากนั้นนำชิ้นส่วนกลับมารวมกัน อย่างไรก็ตามเอาต์พุตของการบิดมีมากกว่าบิตเล็กน้อย(เช่นxxxnnnx2( mod2n+ 1 )x2(พอควร2n+1)x^2 \pmod {2^n+1}kkk4k≥ 2 n4k≥2n4^k \geq 2nxxx2k2k2^k2k - 12k-12^{k-1}22k+ 122k+12^{2^k}+12k2k2^k2 n2n2n>2k>2k>2^kบิตต่อค่าเอาต์พุตซึ่งมากกว่าความจุของวงแหวนเนื่องจากแต่ละค่าเอาต์พุตเป็นผลรวมของผลิตภัณฑ์หลายตัว) จึงไม่ทำงาน ฉันต้องเพิ่มปัจจัยพิเศษอีก 2 อย่างของการเติมเต็ม นั่นคือปัจจัยพิเศษของ 2 ในการทำลายที่ซับซ้อน มันทำให้ขั้นตอนแบบเรียกซ้ำของฉันแพงเกินไป แทนที่จะเป็นอัลกอริทึมฉันท้าย ด้วยF (n) = n \ lg n + \ sqrt {n} F (4 \ …

2
ช่องว่างขนาดใหญ่ระหว่าง RAM และความซับซ้อนของเครื่องทัวริง
หากเราพิจารณาเฉพาะปัญหาใน P จะมีช่องว่างขนาดใหญ่ระหว่างอัลกอริธึม word-RAM ที่รู้จักกันเร็วที่สุดและอัลกอริทึมเครื่องทัวริงที่รู้จักกันเร็วที่สุดสำหรับปัญหาเฉพาะหรือไม่ ฉันสนใจเป็นพิเศษหากมีช่องว่างที่กว้างสำหรับปัญหาทางธรรมชาติที่น่าสนใจทั่วไป

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