คำถามติดแท็ก space-complexity

การวิเคราะห์ Asymptotic ของพื้นที่ที่จำเป็นในการเรียกใช้อัลกอริทึม

2
การแลกเปลี่ยนพื้นที่เวลาสำหรับปัญหาองค์ประกอบที่ขาดหายไป
นี่เป็นปัญหาที่รู้จักกันดี รับอาร์เรย์A[1…n]A[1…n]A[1\dots n]ของจำนวนเต็มบวกเอาท์พุทจำนวนเต็มบวกที่เล็กที่สุดที่ไม่ได้อยู่ในอาร์เรย์ ปัญหาสามารถแก้ไขได้ในพื้นที่และเวลาO(n)O(n)O(n) : อ่านอาร์เรย์ติดตามในพื้นที่ไม่ว่าจะเป็นเกิดขึ้นสแกนหาองค์ประกอบที่เล็กที่สุดO(n)O(n)O(n)1,2,…,n+11,2,…,n+11,2,\dots,n+1 ฉันสังเกตเห็นว่าคุณสามารถแลกเปลี่ยนพื้นที่เวลา ถ้าคุณมีหน่วยความจำเท่านั้นคุณสามารถทำมันได้ในรอบและได้รับเวลา(kn) ในกรณีพิเศษมีอัลกอริทึมกำลังสอง - เวลาคงที่แน่นอนO(nk)O(nk)O(\frac{n}{k})kkkO(kn)O(kn)O(k n) คำถามของฉันคือ: สิ่งนี้เป็นการแลกเปลี่ยนที่ดีที่สุดหรือไม่คือ ? โดยทั่วไปแล้วเราจะพิสูจน์ขอบเขตดังกล่าวได้อย่างไรtime⋅space=Ω(n2)time⋅space=Ω(n2)\operatorname{time} \cdot \operatorname{space} = \Omega(n^2) สมมติว่ารุ่น RAM พร้อมเลขคณิตที่ จำกัด และการเข้าถึงอาร์เรย์ใน O (1) แบบสุ่ม แรงบันดาลใจสำหรับปัญหานี้: แลกเปลี่ยนพื้นที่เวลาสำหรับ palindromes ในรูปแบบเทปเดียว (ดูตัวอย่างที่นี่ )

1
ลดได้โดยตรงจาก
เรารู้ว่าอยู่ในโดยImmerman – Szelepcsényiทฤษฎีบททฤษฎีบทและเนื่องจากคือดังนั้นการเชื่อมต่อจึงเป็นพื้นที่บันทึกหลายรายการที่สามารถลดการได้ แต่มีการลดโดยตรง / combinatorial ที่ไม่ผ่านกราฟการกำหนดค่าของเครื่องทัวริงใน ?N L s T - C o n n อีคทีฉันv ฉันทีY N L - เอชR d s T - n o n - c o n n e c t ฉันv ฉันtst-non-connectivityst\text{-}non\text{-}connectivityNL\mathsf{NL}st-connectivityst\text{-}connectivityNL-hard\mathsf{NL\text{-}hard}s T - C o n n อีคทีฉันv ฉันทีY N Lst-non-connectivityst\text{-}non\text{-}connectivityst-connectivityst\text{-}connectivityNL\mathsf{NL} stConnectivity\mathsf{stConnectivity} …

7
วิธีการตรวจสอบว่าสองสายเป็นพีชคณิตของกันและกันโดยใช้พื้นที่เพิ่มเติม O (1)?
ให้สองสายคุณจะตรวจสอบได้อย่างไรว่าพวกมันเป็นการเปลี่ยนแปลงซึ่งกันและกันโดยใช้พื้นที่ O (1)? ไม่อนุญาตให้ดัดแปลงสตริงใด ๆ หมายเหตุ: พื้นที่ O (1) สัมพันธ์กับทั้งความยาวสตริงและขนาดของตัวอักษร

1
อัลกอริทึมที่มีความซับซ้อน O (sqrt (N)) SPACE หรือไม่
มีอัลกอริทึมที่รู้จักกันดีสำหรับปัญหาที่เกิดขึ้นซึ่งต้องใช้ความซับซ้อนของ O (sqrt (N)) หรือไม่? ฉันรู้ว่าอัลกอริทึมที่มีความซับซ้อนครั้งใหญ่ที่มีอยู่

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 

1
อะไรคือวิธีกะทัดรัดในการแสดงพาร์ติชั่นของชุด?
มีโครงสร้างข้อมูลที่มีประสิทธิภาพสำหรับการแสดงพาร์ทิชันที่ตั้งอยู่ โครงสร้างข้อมูลเหล่านี้มีความซับซ้อนในช่วงเวลาที่เหมาะสมสำหรับการดำเนินการเช่น Union และ Find แต่ไม่ได้มีประสิทธิภาพด้านพื้นที่โดยเฉพาะ การใช้พื้นที่อย่างมีประสิทธิภาพในการเป็นตัวแทนของพาร์ติชั่นคืออะไร? นี่คือจุดเริ่มต้นหนึ่งที่เป็นไปได้: ฉันรู้ว่าจำนวนของพาร์ทิชัน ของชุดที่มีNNNองค์ประกอบคือBNBNB_Nที่NNN -th จำนวนเบลล์ ดังนั้นความซับซ้อนของพื้นที่ที่เหมาะสมที่สุดสำหรับการแสดงพาร์ติชันของชุดที่มีองค์ประกอบNNNคือ บิตlog2(BN)log2⁡(BN)\log_2(B_N)ในการค้นหาการนำเสนอดังกล่าวเราสามารถค้นหาการทำแผนที่แบบหนึ่งต่อหนึ่งระหว่าง (ชุดพาร์ติชันของชุดองค์ประกอบNNN ) และ (ชุดจำนวนเต็มจาก111ถึงBNBNB_N ) มีการทำแผนที่ที่มีประสิทธิภาพในการคำนวณหรือไม่? สิ่งที่ผมหมายถึง "มีประสิทธิภาพ" คือว่าผมต้องการแปลงนี้เป็นตัวแทนที่มีขนาดกะทัดรัดจาก / ไปยังง่ายต่อการจัดการตัวแทน (เช่นรายการของรายการก) ในเวลาพหุนามในNNNหรือlog2(BN)log2⁡(BN)\log_2(B_N) )

1
sublinear space หมายถึงอะไรสำหรับเครื่องจักรทัวริง
ปัญหาของการตัดสินใจว่าอินพุตเป็น palindrome หรือไม่ได้รับการพิสูจน์ว่าต้องการพื้นที่บนเครื่องทัวริง อย่างไรก็ตามการจัดเก็บอินพุตใช้พื้นที่ nดังนั้นนั่นหมายความว่าเครื่องทัวริงทั้งหมดต้องการพื้นที่Ω ( n )หรือไม่?Ω ( บันทึกn )Ω(เข้าสู่ระบบ⁡n)\Omega(\log n)nnnΩ ( n )Ω(n)\Omega(n) แน่นอนว่าไม่มีข้อขัดแย้งเนื่องจากฟังก์ชันใด ๆ ที่ใช้พื้นที่เชิงเส้นอย่างน้อยก็ใช้พื้นที่ลอการิทึมอย่างน้อย แต่การเขียนแนะนำว่าเป็นไปได้ที่เครื่องทัวริงจะใช้พื้นที่เชิงเส้นน้อยกว่า - เพราะเหตุใดผู้คนจึงใช้เวลาตลอดเวลาในการพิสูจน์Ω ( log n )ถ้านั่นเป็นสิ่งเดียวกันΩ ( n )เป็นเรื่องเล็กน้อย? ดังนั้นเครื่องทัวริงหมายความว่าอย่างไรที่ใช้พื้นที่เชิงเส้นน้อยกว่าΩ ( บันทึกn )Ω(เข้าสู่ระบบ⁡n)\Omega(\log n)Ω ( บันทึกn )Ω(เข้าสู่ระบบ⁡n)\Omega(\log n)Ω ( n )Ω(n)\Omega(n)

3
ความซับซ้อนของการจำพื้นที่ Palindromes Watson-Crick
ฉันมีปัญหาเกี่ยวกับอัลกอริทึมดังต่อไปนี้: กำหนดพื้นที่ความซับซ้อนของทัวริงในการรับรู้สตริงของ DNA คือ Watson-Crick palindromes Watson-Crick palindromes เป็นสตริงที่ส่วนประกอบที่ตรงกันข้ามเป็นสตริงเดิม ส่วนเติมเต็มนั้นถูกกำหนดด้วยตัวอักษรที่ได้รับแรงบันดาลใจจาก DNA: A คือส่วนเติมเต็มของ T และ C คือส่วนเติมเต็มของ G ตัวอย่างง่ายๆสำหรับ WC-palindrome คือ ACGT ฉันคิดวิธีแก้ปัญหานี้สองวิธี หนึ่งต้องพื้นที่O(n)O(n)\mathcal{O}(n) เมื่อเครื่องเสร็จอ่านค่าอินพุทแล้ว เทปอินพุตต้องถูกคัดลอกไปยังเทปงานในลำดับย้อนกลับ เครื่องจะอ่านค่าอินพุตและเทปการทำงานจากด้านซ้ายและเปรียบเทียบแต่ละรายการเพื่อตรวจสอบเซลล์ในเทปงานคือคำชมเชยของเซลล์ในอินพุต นี้ต้องใช้พื้นที่O(n)O(n)\mathcal{O}(n) อื่น ๆ ที่ต้องใช้พื้นที่O(logn)O(log⁡n)\mathcal{O}(\log n) ในขณะที่อ่านอินพุต นับจำนวนรายการในเทปอินพุต เมื่ออ่านเทปเสร็จแล้ว คัดลอกส่วนประกอบของจดหมายไปยังเทปงาน คัดลอกตัวอักษร L ไปยังจุดสิ้นสุดของเทปงาน (จุดลูป) หากตัวนับ = 0 ให้ล้างเวิร์กเทปและเขียนใช่แล้วหยุด หากอินพุตเทปอ่าน L ย้ายหัวอินพุตไปทางซ้ายตามจำนวนครั้งที่ระบุโดยตัวนับ (ต้องใช้ตัวนับที่สอง) หากอินพุตเทปอ่าน R …

4
ภาษาใน NSPACE (O (n)) และน่าจะไม่อยู่ใน DSPACE (O (n))
จริง ๆ แล้วฉันพบว่าชุดของภาษาที่คำนึงถึงบริบท, (ภาษาที่ยอมรับ) ไม่ได้ถูกกล่าวถึงอย่างกว้างขวางว่าเป็น (ภาษาปกติ) หรือ (ภาษาที่ไม่มีบริบท) และยังเปิดปัญหาไม่ได้โด่งดังในฐานะ "ปัญหา" คล้ายคลึง: " "CSLCSL\mathbf{CSL}=NSPACE(O(n))=LBA=NSPACE(O(n))=LBA\mathbf{=NSPACE(O(n)) = LBA}REGREG\mathbf{REG}CFLCFL\mathbf{CFL}DSPACE(O(n))=?NSPACE(O(n))DSPACE(O(n))=?NSPACE(O(n))\mathbf{DSPACE(O(n))} =^{?} \mathbf{NSPACE(O(n))}P=?NPP=?NP\mathbf{P} =^{?} \mathbf{NP} มีการเปรียบเทียบเช่นนี้หรือไม่? มีภาษาในซึ่งไม่สามารถพิสูจน์ได้ว่าเป็น (เช่นภาษาทั้งหมด) หรือไม่CSLCSL\mathbf{CSL}DSPACE(O(n))DSPACE(O(n))\mathbf{DSPACE(O(n))}NPNP\mathbf{NP} นอกจากนี้: มีภาษาในซึ่งเป็น "สมบูรณ์" ในความหมายต่อไปนี้: หากเราพิสูจน์ได้ว่าอยู่ในเราได้รับ ?LLLCSLCSL\mathbf{CSL}LLLDSPACE(O(n))DSPACE(O(n))\mathbf{DSPACE(O(n))}DSPACE(O(n))=NSPACE(O(n))DSPACE(O(n))=NSPACE(O(n))\mathbf{DSPACE(O(n)) = NSPACE(O(n))} (อาจเป็นแค่เรื่องของความเห็น) ปัญหาทั้งสองในระดับความยากเท่ากันหรือไม่?

2
ความซับซ้อนของการคำนวณค่าสัมประสิทธิ์สหสัมพันธ์ของสเปียร์แมนคืออะไร?
ฉันกำลังศึกษาสัมประสิทธิ์สหสัมพันธ์ของสเปียร์แมน ρ =Σผม(xผม-x¯) (Yผม-Y¯)Σผม(xผม-x¯)2Σผม(Yผม-Y¯)2-------------------√ρ=∑i(xi−x¯)(yi−y¯)∑i(xi−x¯)2∑i(yi−y¯)2\qquad \displaystyle \rho = \frac{\sum_i(x_i-\bar{x})(y_i-\bar{y})}{\sqrt{\sum_i (x_i-\bar{x})^2 \sum_i(y_i-\bar{y})^2}}. สำหรับสองรายการ x1, … ,xnx1,…,xnx_1, \dots, x_n และ Y1, … ,Yny1,…,yny_1, \dots, y_n. อะไรคือความซับซ้อนของขั้นตอนวิธี? เนื่องจากอัลกอริทึมควรคำนวณ nnn การลบมันเป็นไปได้ไหม O ( n )O(n)O(n) ?

2
กำลังมองหาชุดการใช้งานที่มีหน่วยความจำขนาดเล็ก
ฉันกำลังมองหาการนำไปใช้ของชนิดข้อมูลชุด นั่นคือเราต้อง รักษาเซตย่อยแบบไดนามิก SSS (ขนาด nnn) จากเอกภพของขนาดด้วยยู= { 0 , 1 , 2 , 3 , … , u - 1 }ยู={0,1,2,3,...,ยู-1}U = \{0, 1, 2, 3, \dots , u – 1\}ยูยูu การดำเนินงานinsert(x)(เพิ่มองค์ประกอบxในSSS ) และfind(x)(ตรวจสอบว่าองค์ประกอบxเป็นสมาชิกของSSS ) ฉันไม่สนใจเกี่ยวกับการดำเนินงานอื่น ๆ สำหรับการวางแนวในการใช้งานฉันกำลังทำงานกับเรามีคุณ≈1010ยู≈1010u \approx 10^{10}{10} ฉันรู้ของการใช้งานที่ให้การดำเนินงานทั้งสองในเวลาO ( 1 )O(1)O(1)ดังนั้นฉันกังวลส่วนใหญ่เกี่ยวกับขนาดของโครงสร้างข้อมูล ฉันคาดว่าหลายพันล้านรายการรายการ แต่ต้องการหลีกเลี่ยงการแลกเปลี่ยนให้มากที่สุด ฉันยินดีเสียสละเวลาทำงานหากจำเป็น ค่าตัดจำหน่ายรันไทม์ของO ( …

1
ชุดย่อย NTIME (f) ของ DSPACE (f)
ดังที่คำถามระบุไว้เราจะพิสูจน์ได้อย่างไร NTIME (f( n ) ) ⊆ DSPACE ( f( n ) )NTIME(f(n))⊆DSPACE(f(n))\textbf{NTIME}(f(n)) \subseteq \textbf{DSPACE}(f(n))? ทุกคนสามารถชี้ให้ฉันเห็นหลักฐานหรือร่างที่นี่ได้หรือไม่ ขอบคุณ!
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.