คำถามติดแท็ก lower-bounds

3
เป็นไปได้จริงหรือที่จะพิสูจน์ขอบเขตที่ต่ำกว่า?
เมื่อพิจารณาจากปัญหาการคำนวณงานในการค้นหาขอบเขตที่ต่ำกว่าสำหรับการคำนวณดังกล่าวเป็นไปได้จริงหรือ ฉันคิดว่ามันจะทำให้ขั้นตอนการคำนวณเป็นขั้นตอนเดียวและแบบจำลองใดที่เราใช้สำหรับการพิสูจน์ แต่จากนั้นเราจะพิสูจน์ขอบเขตที่ต่ำกว่าโดยทั่วไปหรือไม่? สิ่งที่ฉันหมายถึงคือเราสามารถพิสูจน์บางสิ่งเช่น "ปัญหาไม่สามารถแก้ไขได้เร็วกว่าเวลา " มากกว่า "ปัญหาสามารถแก้ไขได้ในเวลาหรือเร็วกว่า"?t ( X ) X t ( X )XXXt(X)t(X)t(X)XXXt(X)t(X)t(X) ฉันได้พยายามค้นหาข้อมูลโดยเฉพาะเกี่ยวกับขอบเขตที่ต่ำกว่าและการพิสูจน์ของพวกเขาแล้ว แต่ฉันไม่สามารถหาข้อเสนอแนะใด ๆ ที่น่าสนใจเกี่ยวกับหนังสือ / เอกสาร / เว็บไซต์ในเรื่องนี้

4
จำนวนการเปรียบเทียบน้อยที่สุดจำเป็นต้องเรียงลำดับ (เรียงลำดับ) 5 องค์ประกอบ
ค้นหาจำนวนการเปรียบเทียบที่น้อยที่สุดที่จำเป็นในการจัดเรียง (เรียงลำดับ) ห้าองค์ประกอบและกำหนดอัลกอริทึมที่เรียงลำดับองค์ประกอบเหล่านี้โดยใช้การเปรียบเทียบจำนวนนี้ การแก้ไข :มี 5! = 120 ผลลัพธ์ที่เป็นไปได้ ดังนั้นต้นไม้ไบนารีสำหรับขั้นตอนการเรียงลำดับจะมีอย่างน้อย 7 ระดับ ที่จริงแล้ว ≥ 120 หมายถึง h ≥ 7. แต่การเปรียบเทียบ 7 ครั้งนั้นไม่เพียงพอ จำนวนการเปรียบเทียบที่น้อยที่สุดที่จำเป็นในการจัดเรียง (เรียงลำดับ) ห้าองค์ประกอบคือ 82h2ชั่วโมง2^hhชั่วโมงh นี่คือคำถามจริงของฉัน: ฉันพบอัลกอริทึมที่ทำในการเปรียบเทียบ 8 แต่ฉันจะพิสูจน์ได้อย่างไรว่าไม่สามารถทำได้ในการเปรียบเทียบ 7 รายการ

1
กำลังตรวจจับความก้าวหน้าเลขคณิต 3SUM ยากหรือไม่?
นี้เป็นแรงบันดาลใจจากคำถามสัมภาษณ์ เราได้รับอาร์เรย์จำนวนเต็มและต้องพิจารณาว่ามีที่ชัดเจนหรือไม่ i < j < ka1,…,ana1,…,ana_1, \dots, a_nฉัน< j < ki<j<ki \lt j \lt k ak-J= aJ-ผมak−aj=aj−aia_k - a_j = a_j - a_i k - j = j - ik−j=j−ik - j = j - i เช่นลำดับและทั้งคู่อยู่ในการดำเนินการทางคณิตศาสตร์{ i , j , k }{ aผม,J,k}{ai,aj,ak}\{a_i, a_j, a_k\}{ i , j …

2
วิธีการพิสูจน์ว่าการคูณเมทริกซ์ของเมทริกซ์ 2x2 สองตัวไม่สามารถทำได้ในการคูณน้อยกว่า 7 ครั้ง
ในการคูณเมทริกซ์ของ Strassen เราบอกหนึ่งข้อเท็จจริงที่แปลก (อย่างน้อยสำหรับฉัน) ว่าการคูณเมทริกซ์ของสอง 2 x 2 นั้นใช้เวลา 7 การคูณ คำถาม:จะพิสูจน์ได้อย่างไรว่ามันเป็นไปไม่ได้ที่จะคูณเมทริกซ์ 2 x 2 สองตัวในการคูณ 6 ครั้ง? โปรดทราบว่าเมทริกซ์มีจำนวนเต็มเกิน

2
ปัญหาที่พิสูจน์ได้ต้องใช้เวลากำลังสอง
ฉันกำลังมองหาตัวอย่างของปัญหาที่มีความผูกพันลดลงของ ) สำหรับการป้อนข้อมูลx xΩ ( | x |2Ω(|x|2\Omega(|x|^2xxx ปัญหาต้องมีคุณสมบัติดังต่อไปนี้: Ω ( n2)Ω(n2)\Omega(n^2)พิสูจน์รันไทม์ของสำหรับอัลกอริทึมใด ๆ - ลำดับความสำคัญอันดับแรกคือการมีอาร์กิวเมนต์ที่ต่ำกว่าง่ายที่สุดเท่าที่จะทำได้ O ( n2)O(n2)O(n^2)อัลกอริธึมถ้าเป็นไปได้ก็ทำได้ง่ายเช่นกัน ขนาดเอาต์พุตของ (หรือเล็กกว่า) เห็นได้ชัดว่าปัญหาใด ๆ ที่ต้องการเอาท์พุทยาวต้องใช้เวลาทำงานที่คล้ายกันอย่างน้อย แต่นั่นไม่ใช่สิ่งที่ฉันกำลังมองหา ขอให้สังเกตว่าปัญหาการตัดสินใจใด ๆ เหมาะกับที่นี่Ω ( n 2 )O ( n )O(n)O(n)Ω ( n2)Ω(n2)\Omega(n^2) (ถ้าเป็นไปได้) ปัญหา "ธรรมชาติ" หากไม่มีคำจำกัดความที่เป็นทางการปัญหาของผู้สำเร็จการศึกษาจาก CS จะเป็นที่ยอมรับ เมื่อไม่นานมานี้ฉันถูกถามเกี่ยวกับปัญหาดังกล่าว แต่ไม่สามารถคิดได้ง่ายๆ ปัญหาแรกที่นึกได้คือซึ่งคิดว่าเป็นปัญหารันไทม์\ Omega (n ^ 2) นี่ไม่ง่ายพอและยิ่งกว่านั้นโครงสร้างได้รับการพิสูจน์แล้วว่าเป็นเท็จ …

1
การตัดกิโยตินกับการตัดทั่วไป
ปัญหาการตัดคือปัญหาที่ควรตัดวัตถุขนาดใหญ่บางชิ้นเป็นชิ้นเล็ก ๆ ตัวอย่างเช่นสมมติว่าคุณมีโรงงานที่ทำงานร่วมกับแผ่นใหญ่แก้วดิบของความกว้างและระยะเวลาในLมีผู้ซื้อหลายรายแต่ละรายต้องการแผ่นกระจกขนาดเล็กจำนวนมาก ผู้ซื้อต้องการแผ่นความยาวและความกว้างw_iเป้าหมายของคุณคือการตัดแผ่นเล็ก ๆ จากแผ่นใหญ่ให้มีการใช้งานอย่างเต็มประสิทธิภาพและลดของเสียให้เหลือน้อยที่สุด (นอกจากนี้ยังมีปัญหาการตัดและการบรรจุประเภทอื่นด้วย )WWWLLLผมผมiล.ผมล.ผมl_iWผมWผมw_i ข้อ จำกัด ทั่วไปอย่างหนึ่งของปัญหาการตัดคือการตัดต้องใช้การตัดกิโยตินนั่นคือแต่ละสี่เหลี่ยมที่มีอยู่สามารถตัดได้เพียงสองสี่เหลี่ยมเล็ก ๆ เท่านั้น มันเป็นไปไม่ได้ที่จะสร้างรูปตัว L และอื่น ๆ เห็นได้ชัดว่าพื้นที่ใช้งานสูงสุดที่มีการตัดกิโยตินอาจเล็กกว่าพื้นที่ใช้งานสูงสุดโดยไม่มีข้อ จำกัด คำถามของฉันคือ: มีขอบเขตบนและล่างในอัตราส่วนระหว่างการตัดกิโยตินที่ดีที่สุดและการตัดทั่วไปที่ดีที่สุดหรือไม่? งานที่เกี่ยวข้อง: Song et al. (2009)อธิบายขั้นตอนวิธีการที่ใช้เป็นชนิดที่มีข้อ จำกัด ของการตัดกระดาษ - การตัดกระดาษละสองครั้ง พวกเขาพิสูจน์โดยใช้ข้อ จำกัด ทางเรขาคณิตที่อัตราส่วนระหว่างสูงสุดตัดกระดาษละสองครั้งเพื่อตัดกระดาษสูงสุดที่มีขอบเขตโดย{7} ฉันกำลังมองหาผลลัพธ์ที่เปรียบเทียบได้เกี่ยวกับอัตราส่วนระหว่างการตัดกิโยตินสูงสุดต่อการตัดทั่วไปสูงสุด6767\frac{6}{7}

6
การหาค่า XOR สูงสุดของตัวเลขสองตัวในช่วงเวลาหนึ่ง: เราจะทำได้ดีกว่าสมการกำลังสองหรือไม่?
สมมติว่าเรากำลังได้รับสองหมายเลขและและที่เราต้องการที่จะหาสำหรับL \ le i, \, J \ le Rlllrrrmax(i⊕j)max(i⊕j)\max{(i\oplus j)}l≤i,j≤rl≤i,j≤rl\le i,\,j\le r อัลกอริทึมnaïveเพียงตรวจสอบคู่ที่เป็นไปได้ทั้งหมด เช่นในทับทิมเรามี: def max_xor(l, r) max = 0 (l..r).each do |i| (i..r).each do |j| if (i ^ j > max) max = i ^ j end end end max end ฉันรู้สึกว่าเราสามารถทำได้ดีกว่าสมการกำลังสอง มีอัลกอริทึมที่ดีกว่าสำหรับปัญหานี้หรือไม่?

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

1
ผูกพันกับพื้นที่สำหรับอัลกอริทึมการเลือก?
มีอัลกอริทึมการเลือกที่แย่ที่สุดที่รู้จักกันดีในการค้นหาองค์ประกอบที่ใหญ่ที่สุดของในอาร์เรย์ของจำนวนเต็ม มันใช้วิธีการมัธยฐานของมัธยฐานเพื่อหาเดือยที่ดีพอแบ่งพาร์ติชันอาร์เรย์ที่เข้ามาและจากนั้นทำต่อไปเรื่อย ๆ เพื่อค้นหาองค์ประกอบที่ใหญ่ที่สุดของk kO ( n )O(n)O(n) kkkkkk เกิดอะไรขึ้นถ้าเราไม่ได้รับอนุญาตให้สัมผัสอาร์เรย์ใส่เท่าใดพื้นที่พิเศษจะต้องเพื่อที่จะหาสิ่งที่ 'TH องค์ประกอบที่ใหญ่ที่สุดในเวลาหรือไม่ เราสามารถหาองค์ประกอบที่ใหญ่ที่สุดของในพื้นที่พิเศษและยังคงรันไทม์ไหม? ยกตัวอย่างเช่นการหาองค์ประกอบสูงสุดหรือต่ำสุดใช้เวลาเวลาและพื้นที่ O ( n ) k O ( 1 ) O ( n ) O ( n ) O ( 1 )kkkO ( n )O(n)O(n)kkkO ( 1 )O(1)O(1)O ( n )O(n)O(n)O ( n )O(n)O(n)O ( 1 )O(1)O(1) …

1
การแยกประเภทการปรับแต่ง
ที่ทำงานฉันได้รับมอบหมายให้อนุมานข้อมูลบางประเภทเกี่ยวกับภาษาแบบไดนามิก ฉันเขียนลำดับของข้อความไปยังletนิพจน์ที่ซ้อนกันเช่น: return x; Z => x var x; Z => let x = undefined in Z x = y; Z => let x = y in Z if x then T else F; Z => if x then { T; Z } else { F; Z } เนื่องจากฉันเริ่มต้นจากข้อมูลประเภททั่วไปและพยายามอนุมานประเภทที่เฉพาะเจาะจงมากขึ้นตัวเลือกที่เป็นธรรมชาติคือประเภทการปรับแต่ง ตัวอย่างเช่นตัวดำเนินการตามเงื่อนไขส่งคืนการรวมของประเภทของสาขาที่เป็นจริงและเท็จ …
11 programming-languages  logic  type-theory  type-inference  machine-learning  data-mining  clustering  order-theory  reference-request  information-theory  entropy  algorithms  algorithm-analysis  space-complexity  lower-bounds  formal-languages  computability  formal-grammars  context-free  parsing  complexity-theory  time-complexity  terminology  turing-machines  nondeterminism  programming-languages  semantics  operational-semantics  complexity-theory  time-complexity  complexity-theory  reference-request  turing-machines  machine-models  simulation  graphs  probability-theory  data-structures  terminology  distributed-systems  hash-tables  history  terminology  programming-languages  meta-programming  terminology  formal-grammars  compilers  algorithms  search-algorithms  formal-languages  regular-languages  complexity-theory  satisfiability  sat-solvers  factoring  algorithms  randomized-algorithms  streaming-algorithm  in-place  algorithms  numerical-analysis  regular-languages  automata  finite-automata  regular-expressions  algorithms  data-structures  efficiency  coding-theory  algorithms  graph-theory  reference-request  education  books  formal-languages  context-free  proof-techniques  algorithms  graph-theory  greedy-algorithms  matroids  complexity-theory  graph-theory  np-complete  intuition  complexity-theory  np-complete  traveling-salesman  algorithms  graphs  probabilistic-algorithms  weighted-graphs  data-structures  time-complexity  priority-queues  computability  turing-machines  automata  pushdown-automata  algorithms  graphs  binary-trees  algorithms  algorithm-analysis  spanning-trees  terminology  asymptotics  landau-notation  algorithms  graph-theory  network-flow  terminology  computability  undecidability  rice-theorem  algorithms  data-structures  computational-geometry 

2
ค้นหาจุดศูนย์กลางในชุดจุดชี้วัดในพื้นที่น้อยกว่า
ฉันมีชุดของ nnnจุดที่กำหนดไว้ในช่องว่างเมตริก - ดังนั้นฉันสามารถวัด 'ระยะทาง' ระหว่างจุด แต่ไม่มีอะไรอื่น ฉันต้องการค้นหาจุดศูนย์กลางที่มากที่สุดภายในชุดนี้ซึ่งฉันกำหนดเป็นจุดที่มีผลรวมระยะทางขั้นต่ำไปยังจุดอื่นทั้งหมด การคำนวณเมทริกช้าดังนั้นจำเป็นต้องหลีกเลี่ยงหากเป็นไปได้ วิธีที่ชัดเจนในการค้นหาจุดนี้ใช้ n2n2n^2 การคำนวณระยะทางตัวชี้วัดเนื่องจากเป็นเพียง (a) คำนวณสำหรับแต่ละจุดผลรวมของระยะทางไปยังจุดอื่นทั้งหมดจากนั้น (b) ใช้จุดต่ำสุด มีวิธีการทำเช่นนี้ในเวลาน้อยกว่า โอ(n2)O(n2)O(n^2)เปรียบเทียบระยะทาง? (อาจใช้ประโยชน์จากความไม่เท่าเทียมกันของสามเหลี่ยมในบางวิธีซึ่งควรถือด้วยเมทริกของฉัน) การประมาณที่ดีอาจพอเพียงถ้าไม่มีวิธีที่แน่นอน

2
การเรียงลำดับจำนวนเต็มเป็นไปได้ใน O (n) ในโมเดล transdichotomous หรือไม่?
สำหรับความรู้ของฉันไม่มีอัลกอริทึมกรณีที่เลวร้ายที่สุดที่แก้ปัญหาต่อไปนี้:O(n)O(n)O(n) กำหนดลำดับความยาวnnnซึ่งประกอบด้วยจำนวนเต็ม จำกัด หาการเปลี่ยนแปลงที่ทุกองค์ประกอบน้อยกว่าหรือเท่ากับตัวตายตัวแทนของมัน แต่มีข้อพิสูจน์ว่ามันไม่มีอยู่ในแบบจำลองการคำนวณแบบ transdichotomous ? โปรดทราบว่าฉันไม่ได้ จำกัด ช่วงของจำนวนเต็ม ฉันไม่ได้ จำกัด การแก้ปัญหาเพื่อเปรียบเทียบทั้งสองประเภท

4
องค์ประกอบที่ไม่ซ้ำกันสามารถแก้ไขได้ในเวลาเชิงเส้นที่กำหนด?
พิจารณาปัญหาต่อไปนี้: อินพุต : แสดงของจำนวนเต็มX, วายX,YX,Y เป้าหมาย : พิจารณาว่ามีจำนวนเต็มที่อยู่ในทั้งสองรายการหรือไม่xxx สมมติว่าทั้งสองรายการมีขนาดnมีอัลกอริทึมเชิงเส้นเวลาที่กำหนดสำหรับปัญหานี้หรือไม่? คุณสามารถแก้ปัญหานี้ในเวลาแน่นอนโดยไม่ใช้การสุ่มX, วายX,YX,YnnnO ( n )O(n)O(n) น่าเสียดายที่คุณไม่สามารถสรุปได้ว่าองค์ประกอบลิสต์นั้นเล็กทั้งหมด ฉันสามารถดูวิธีการแก้ปัญหาในเวลาที่คาดหวังโดยใช้อัลกอริธึมแบบสุ่ม: สุ่มเลือกฟังก์ชันแฮชแบบ 2 สากลเก็บองค์ประกอบของลงใน hashtable (โดยใช้เป็นฟังก์ชันแฮช) แล้วค้นหา แต่ละองค์ประกอบของเพื่อดูว่ามันอยู่ใน hashtable หรือไม่ เวลาทำงานคาดว่าจะเป็น(n) อย่างไรก็ตามฉันไม่เห็นวิธีการค้นหาอัลกอริทึมที่กำหนดค่าโดยใช้เวลาหากคุณพยายามลดขนาดลงและแก้ไขฟังก์ชันแฮชที่ระบุเพียงอย่างเดียวจะมีอินพุตที่แย่ที่สุดซึ่งทำให้โพรซีเดอร์นี้รันในO ( n )O(n)O(n)ชั่วโมงhhXXXชั่วโมงhhYYYO ( n )O(n)O(n)O ( n )O(n)O(n)Θ (n2)Θ(n2)\Theta(n^2)เวลา. อัลกอริทึมที่ดีที่สุดที่ฉันสามารถหาได้เกี่ยวข้องกับการเรียงลำดับค่า แต่นั่นไม่ใช่เวลาเชิงเส้น เราสามารถใช้เวลาเชิงเส้นตรงได้หรือไม่? นอกจากนี้ฉันสามารถดูวิธีการแก้ปัญหาในเวลาเชิงเส้นถ้าคุณคิดว่าองค์ประกอบรายการทั้งหมดเป็นจำนวนเต็มในช่วง (โดยทั่วไปแล้วจะเรียงลำดับการนับ) - แต่ฉันสนใจในสิ่งที่เกิดขึ้นโดยทั่วไป กรณีเมื่อเราไม่สามารถคิดได้[ 1 , n ][1,n][1,n] หากคำตอบนั้นขึ้นอยู่กับรูปแบบการคำนวณแบบจำลอง …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.