วิทยาศาสตร์คอมพิวเตอร์

ถาม - ตอบสำหรับนักเรียนนักวิจัยและผู้ปฏิบัติงานด้านวิทยาการคอมพิวเตอร์

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

3
พิสูจน์ได้ง่ายสำหรับภาษาที่ไม่มีบริบทถูกปิดภายใต้การเปลี่ยนแปลงแบบวนรอบ
วงจรกะ (ที่เรียกว่าหมุนหรือผัน ) ของภาษาถูกกำหนดให้เป็น\} ตามวิกิพีเดีย (และที่นี่ ) ภาษาที่ไม่มีบริบทถูกปิดภายใต้การดำเนินการนี้โดยมีการอ้างอิงถึงเอกสารจาก Oshiba และจาก Maslov มีหลักฐานง่าย ๆ ของความจริงข้อนี้?{ y x ∣ x y ∈ L }LLL{yx∣xy∈L}{yx∣xy∈L}\{ yx \mid xy \in L \} สำหรับภาษาทั่วไปการปิดตัวจะถูกกล่าวถึงในแบบฟอร์มนี้เป็น " พิสูจน์ว่าภาษาปกติถูกปิดภายใต้ตัวดำเนินการรอบ "

2
ความสามารถในการตัดสินใจของปัญหาที่เกี่ยวข้องกับพหุนาม
ฉันได้พบกับปัญหาที่น่าสนใจดังต่อไปนี้: ให้เป็นพหุนามมากกว่าจำนวนจริงและขอให้เราสมมติว่าสัมประสิทธิ์ของพวกเขาเป็นจำนวนเต็มทั้งหมด หากจำเป็นเราอาจสมมติว่าระดับของพหุนามมีค่าเท่ากัน ขอให้เราแสดงโดยx p (resp. x q ) ค่าสัมบูรณ์สูงสุดของราก (จริงหรือซับซ้อน) ของพหุนามp (resp. q ) คุณสมบัติx p = x qสามารถตัดสินใจได้หรือไม่?p,qp,qp,qxpxpx_pxqxqx_qpppqqqxp=xqxp=xqx_p = x_q ถ้าไม่คุณสมบัตินี้มีไว้สำหรับตระกูลพหุนามที่มีข้อ จำกัด หรือไม่? ในบริบทที่เกิดปัญหานี้พหุนามเป็นพหุนามลักษณะเฉพาะของเมทริกซ์และรากของพวกมันคือค่าลักษณะเฉพาะ ฉันรู้ถึงอัลกอริธึมเชิงตัวเลขบางอย่างสำหรับการคำนวณรากของพหุนาม / ค่าลักษณะเฉพาะอย่างไรก็ตามสิ่งเหล่านี้ดูเหมือนจะไม่มีประโยชน์ที่นี่เนื่องจากผลลัพธ์ของอัลกอริทึมเหล่านี้เป็นเพียงค่าประมาณ สำหรับฉันแล้วดูเหมือนว่าพีชคณิตคอมพิวเตอร์อาจมีประโยชน์ที่นี่ แต่น่าเสียดายที่ฉันไม่มีความรู้ใด ๆ ในสาขานั้น ฉันไม่ได้กำลังค้นหาวิธีแก้ไขปัญหาโดยละเอียดเกี่ยวกับปัญหานี้อย่างไรก็ตามสัญชาตญาณและแนวคิดที่จะค้นหาวิธีแก้ไขปัญหาจะมีประโยชน์ ขอบคุณล่วงหน้า.

3
“ เหนี่ยวนำ” และ“ ซ้ำ ๆ ” มีความหมายคล้ายกันมากหรือไม่?
"เหนี่ยวนำ" และ "เรียกซ้ำ" หมายถึงคล้ายกันมากหรือไม่ ตัวอย่างเช่นหากมีอัลกอริทึมที่กำหนดเวกเตอร์ n-dim โดยพิจารณาส่วนประกอบ k + 1 แรกตามองค์ประกอบ k แรกที่ได้รับการพิจารณาและเริ่มต้นด้วยองค์ประกอบแรกคุณจะเรียกมันว่าทำงานซ้ำหรือเหนี่ยวนำได้หรือไม่? ฉันใช้คำว่า "ซ้ำซาก" แต่วันนี้มีคนบอกว่า "เหนี่ยวนำ"

3
การอ้างอิงการเปรียบเทียบระหว่างคอมพิวเตอร์ควอนตัมและเครื่องทัวริง
ฉันได้รับการบอกว่าคอมพิวเตอร์ควอนตัมไม่ได้คำนวณประสิทธิภาพมากกว่าเครื่องทัวริง ใครช่วยกรุณาให้การอ้างอิงวรรณกรรมอธิบายความจริงที่ว่า?

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

2
คือ
ดังนั้นฉันมีคำถามนี้เพื่อพิสูจน์คำสั่ง: O ( n ) ⊂ Θ ( n )O(n)⊂Θ(n)O(n)\subset\Theta(n) ... ผมไม่จำเป็นต้องรู้วิธีที่จะพิสูจน์มันเพียงว่าในใจของฉันนี้ทำให้รู้สึกไม่และผมคิดว่ามันค่อนข้างจะเป็นไปได้ว่า(n)Θ ( n ) ⊂ O ( n )Θ(n)⊂O(n)\Theta(n)\subset O(n) ความเข้าใจของฉันคือเป็นชุดของฟังก์ชั่นทั้งหมดที่ไม่ได้แย่ไปกว่าในขณะที่คือชุดของฟังก์ชั่นทั้งหมดที่ไม่ดีขึ้นและไม่แย่ไปกว่า nn Θ ( n )O ( n )O(n)O(n)nnnΘ ( n )Θ(n)\Theta(n) ใช้นี้ผมอาจจะคิดว่าเป็นตัวอย่างของการพูดฟังก์ชั่นอย่างต่อเนื่องค ฟังก์ชั่นนี้จะเป็นองค์ประกอบของอย่างแน่นอนเพราะจะไม่เลวร้ายยิ่งกว่าเมื่อเข้าใกล้จำนวนที่มากพอO ( n ) n nก.( n ) = cก.(n)=คg(n)=cO ( n )O(n)O(n)nnnnnn แต่ฟังก์ชั่นเดียวกันก.ก.gจะไม่เป็นองค์ประกอบของΘ ( 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 

2
พหุนามสีของสี่เหลี่ยมจัตุรัส
พิจารณารูปสี่เหลี่ยม ABCD สำหรับผมแล้วมันดูเหมือนว่าพหุนามรงค์สีที่มีสีอยู่ ..λ(λ−1)(λ−1)(λ−2)λ(λ−1)(λ−1)(λ−2)\lambda(\lambda - 1)(\lambda - 1)(\lambda - 2)λλ\lambda นั่นคือวิธีซึ่งสีสำหรับ A สามารถเลือกได้มีวิธีสำหรับสีสำหรับ B และ D ที่จะเลือก (B และ D อยู่ติดกับ A) และวิธีสำหรับสี สำหรับ C ที่จะถูกเลือกλλ\lambdaλ−1λ−1\lambda - 1λ−2λ−2\lambda - 2 อย่างไรก็ตามการใช้ทฤษฎีการสลายตัว (สไลด์ 47, ตัวอย่าง 11.33) และการย่อยสลายสี่เหลี่ยมจัตุรัสเป็นเส้นทางที่มีความยาว 3 และสามเหลี่ยมแสดงให้เห็นว่าการให้เหตุผลเบื้องต้นของฉันผิด คุณช่วยบอกฉันได้ไหมว่าฉันกำลังคิดผิดอยู่ที่ไหน

1
SAT-solvers สามารถใส่ตัวเลขได้ง่ายหรือไม่?
เครื่องมือแก้ปัญหา SAT สมัยใหม่นั้นเก่งในการแก้ปัญหาตัวอย่างจริงของหลาย ๆ กรณีของ SAT อย่างไรก็ตามเรารู้วิธีสร้างฮาร์ดไดรฟ์ตัวอย่างเช่นใช้การลดแฟ็กตอริ่งเป็น SATและให้หมายเลข RSA เป็นอินพุต นี่ทำให้เกิดคำถาม: ถ้าฉันใช้ตัวอย่างง่ายๆของการแยกตัวประกอบ แทนที่จะใช้สองช่วงเวลาขนาดใหญ่บนบิตเกิดอะไรขึ้นถ้าฉันเอาไพรม์pบนlog n bits และไพรม์คิวบนn / log nบิตให้N = p qและเข้ารหัสF A C T O R ( N )เป็นตัวอย่างของ SAT ยังไม่มีข้อความn / 2n/2n/2พีppเข้าสู่ระบบnlog⁡n\log nn /บันทึกnn/log⁡nn/\log nยังไม่มีข้อความ= p qN=pqN = pqF A C T O R (N))FACTOR(N)\mathrm{FACTOR}(N)NNNจะเป็นจำนวนที่ง่ายต่อการแยกตัวประกอบโดยวิธีการค้นหาแบบตะแกรงหรือบังคับเนื่องจากปัจจัยหนึ่งมีขนาดเล็ก SAT-modern ที่ทันสมัยพร้อมการลดมาตรฐานจากแฟคตอริ่งไปจนถึง SAT …

1
การวิเคราะห์ที่เข้มงวดขึ้นของอัลกอริทึมของBorůvkaที่ถูกแก้ไข
อัลกอริทึมของBorůvkaเป็นหนึ่งในอัลกอริธึมมาตรฐานสำหรับการคำนวณทรีสแปนนิ่งขั้นต่ำสำหรับกราฟด้วยmG=(V,E)G=(V,E)G = (V,E)|V|=n,|E|=m|V|=n,|E|=m|V| = n, |E| = m รหัสหลอกคือ: MST T = empty tree Begin with each vertex as a component While number of components > 1 For each component c let e = minimum edge out of component c if e is not in T add e to T …

2
การเขียนโปรแกรมแบบไดนามิกที่มีปัญหาย่อยจำนวนมาก
การเขียนโปรแกรมแบบไดนามิกที่มีปัญหาย่อยจำนวนมาก ดังนั้นฉันพยายามแก้ไขปัญหานี้จาก Interview Street: ตารางเดิน (คะแนน 50 คะแนน) คุณกำลังตั้งอยู่ในตารางมิติที่ตำแหน่งX_n) ขนาดของกริดคือ ) ในขั้นตอนเดียวคุณสามารถเดินไปข้างหน้าหรือข้างหลังหนึ่งก้าวในมิติใด ๆ ก็ได้ (ดังนั้นจะมีการเคลื่อนไหวต่าง ๆ ที่เป็นไปได้เสมอ) คุณสามารถทำตามขั้นตอนหลายวิธีเช่นนี้โดยที่คุณไม่ออกจากกริดในทุกจุด คุณออกจากตารางถ้าใด ๆทั้งหรือD_i( x 1 , x 2 , … , x N ) ( D 1 , D 2 , … , D N N 2 N M x ฉันx ฉัน ≤ …

2
ลดองค์ประกอบสูงสุดของผลรวมของเวกเตอร์
ฉันต้องการเรียนรู้บางอย่างเกี่ยวกับปัญหาการปรับให้เหมาะสมนี้: สำหรับตัวเลขทั้งหมดที่ไม่เป็นลบให้หาฟังก์ชันเพื่อลดนิพจน์ai,j,kai,j,ka_{i,j,k}fff maxk∑iai,f(i),kmaxk∑iai,f(i),k\max_k \sum_i a_{i,f(i),k} An example using a different formulation might make it clearer: You're given a set of sets of vectors like { {(3, 0, 0, 0, 0), (1, 0, 2, 0, 0)}, {(0, 1, 0, 0, 0), (0, 0, 0, 1, 0)}, {(0, 0, 0, 2, 0), …

4
อัลกอริทึมที่มีประสิทธิภาพที่สุดในการพิมพ์ 1-100 โดยใช้ตัวสร้างตัวเลขสุ่มที่กำหนด
เราได้รับตัวสร้างตัวเลขสุ่มRandNum50ซึ่งสร้างจำนวนเต็มแบบสุ่มในช่วงที่ 1–50 เราอาจใช้ตัวสร้างตัวเลขสุ่มนี้เท่านั้นในการสร้างและพิมพ์จำนวนเต็มทั้งหมดจาก 1 ถึง 100 ตามลำดับแบบสุ่ม ทุกหมายเลขจะต้องมาหนึ่งครั้งและความน่าจะเป็นของหมายเลขใด ๆ ที่เกิดขึ้น ณ สถานที่ใด ๆ จะต้องเท่ากัน อัลกอริทึมที่มีประสิทธิภาพที่สุดสำหรับสิ่งนี้คืออะไร?

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