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

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

2
"การรวมหน่วยความจำ" คืออะไร?
ฉันรู้ว่าหน่วยประมวลผลกราฟิกมีบางสิ่งที่เรียกว่าการรวมหน่วยความจำ เมื่ออ่านมันฉันไม่ชัดเจนในหัวข้อ นี่เป็นวิธีใดที่เกี่ยวข้องกับ Memory Level Parallelism ฉันค้นหาใน Google แล้ว แต่ไม่สามารถรับคำตอบที่น่าพอใจ มันจะมีประโยชน์ถ้ามีคนให้คำอธิบายที่ครอบคลุมและเข้าใจง่ายกว่า

3
ศึกษาทฤษฎีภาษาโปรแกรม
เมื่อไม่นานมานี้ฉันมีความสนใจอย่างมากในการทำความเข้าใจและพิสูจน์แง่มุมของภาษาโปรแกรม (หน้าที่) อย่างไรก็ตามในขณะที่ฉันดำดิ่งลงไปสิ่งต่าง ๆ เช่นแคลคูลัสทฤษฎีหมวดหมู่และความหมายเชิง Denotational นั้นค่อนข้างยากที่จะติดตามโดยไม่มีคำอธิบายที่เหมาะสมλλ\lambda ฉันอ่าน SICP (ค่อนข้างเป็นหนังสือที่รู้แจ้ง) แต่ฉันต้องการดำน้ำลึกลงไปในทฤษฎีของการเขียนโปรแกรมเชิงฟังก์ชั่น มีหนังสือ / บล็อก / ไซต์ / คุณชื่อมันที่จะหารือทฤษฎีของภาษาโปรแกรมการทำงานจากพื้นดินขึ้นหรือไม่

4
ฉันพูดถูกเกี่ยวกับความแตกต่างระหว่างอัลกอริทึม Floyd-Warshall, Dijkstra และ Bellman-Ford หรือไม่?
ฉันกำลังศึกษาทั้งสามและฉันได้ระบุข้อสรุปจากพวกเขาด้านล่าง มีใครบอกฉันได้ไหมว่าฉันเข้าใจถูกต้องเพียงพอหรือไม่ ขอขอบคุณ. อัลกอริทึม Dijkstraจะใช้เมื่อคุณมีแหล่งเดียวและคุณต้องการทราบเส้นทางที่เล็กที่สุดจากโหนดหนึ่งไปยังอีกโหนดหนึ่ง แต่ล้มเหลวในกรณีเช่นนี้นี้ อัลกอริทึม Floyd-Warshallถูกใช้เมื่อโหนดใด ๆ ทั้งหมดสามารถเป็นต้นทางดังนั้นคุณต้องการให้ระยะทางที่สั้นที่สุดในการเข้าถึงโหนดปลายทางใด ๆ จากโหนดต้นทางใด ๆ สิ่งนี้จะล้มเหลวก็ต่อเมื่อมีรอบการลบเท่านั้น Bellman-Fordถูกใช้เช่น Dijkstra เมื่อมีเพียงแหล่งเดียว สิ่งนี้สามารถรองรับน้ำหนักเชิงลบและการทำงานของมันเหมือนกับ Floyd-Warshall ยกเว้นแหล่งเดียวใช่ไหม (นี่คือสิ่งที่ฉันไม่แน่ใจ)

3
อัลกอริทึมของ Brzozowski สำหรับการลด DFA
อัลกอริทึมการลดขนาด DFA ของ Brzozowski สร้าง DFA ขั้นต่ำสำหรับ DFA GGGโดย: การกลับขอบทั้งหมดในGGGทำให้สถานะเริ่มต้นเป็นสถานะยอมรับและยอมรับสถานะเริ่มต้นเพื่อรับ NFA ยังไม่มีข้อความ'N′N'สำหรับภาษาย้อนกลับ ใช้การสร้าง powerset เพื่อรับG'G′G'สำหรับภาษาย้อนกลับ ย้อนกลับขอบ (และเริ่มต้นยอมรับสลับ) ในG'G′G'ที่จะได้รับ NFA ยังไม่มีข้อความNNสำหรับภาษาต้นฉบับและ GนาทีGminG_{\min} แน่นอนเนื่องจาก DFA บางตัวมี DFA ใหญ่แบบย้อนกลับแบบทวีคูณอัลกอริทึมนี้จะทำงานในเวลาเอ็กซ์โพเนนเชียลในกรณีที่เลวร้ายที่สุดในแง่ของขนาดของอินพุตดังนั้นให้ติดตามขนาดของ DFA ย้อนกลับ ถ้าคือขนาดของอินพุต DFA,คือขนาดของ DFA ที่น้อยที่สุดและที่มีขนาดของ DFA ย้อนกลับน้อยที่สุดดังนั้นเวลารันไทม์ของอัลกอริทึมของ Brzozowski ในแง่ของ ,และคืออะไร?ยังไม่มีข้อความยังไม่มีข้อความNnnnม.ม.mn เมตรยังไม่มีข้อความยังไม่มีข้อความNnnnม.ม.m โดยเฉพาะอย่างยิ่งภายใต้ความสัมพันธ์ระหว่างและอัลกอริทึมของ Brzozowski มีประสิทธิภาพเหนือกว่าอัลกอริทึมของ Hopcroft หรือ Moore หรือไม่มnnnม.ม.m ฉันเคยได้ยินว่าในตัวอย่างทั่วไปในทางปฏิบัติ / แอปพลิเคชันอัลกอริทึมของ Brzozowski มีประสิทธิภาพเหนือกว่าผู้อื่น …

3
การฝึกเขียนโปรแกรมแบบไดนามิกบนสตริงการตัด
ฉันทำงานเกี่ยวกับปัญหาต่อไปนี้จากหนังสือเล่มนี้ ภาษาการประมวลผลสตริงที่แน่นอนมีการดำเนินการดั้งเดิมซึ่งแยกสตริงออกเป็นสองชิ้น เนื่องจากการดำเนินการนี้เกี่ยวข้องกับการคัดลอกสตริงดั้งเดิมจึงใช้เวลา n หน่วยสำหรับสตริงที่มีความยาว n โดยไม่คำนึงถึงตำแหน่งของการตัด สมมติว่าตอนนี้คุณต้องการแบ่งสตริงออกเป็นหลาย ๆ ส่วน ลำดับการหยุดพักอาจส่งผลต่อเวลาการทำงานทั้งหมด ตัวอย่างเช่นหากคุณต้องการตัดสตริงอักขระ 20 ตัวที่ตำแหน่ง333และ101010ดังนั้นการตัดครั้งแรกที่ตำแหน่ง333จะมีค่าใช้จ่ายรวม20+17=3720+17=3720 + 17 = 37ขณะทำตำแหน่ง 10 ก่อนจะมีต้นทุนที่ดีกว่า20+10=3020+10=3020 + 10 = 30. ฉันต้องการอัลกอริธึมการเขียนโปรแกรมแบบไดนามิกที่ให้การตัดค้นหาค่าใช้จ่ายขั้นต่ำของการตัดสตริงเป็นm + 1ชิ้นmม.mm+1ม.+1m +1

4
Quicksort อธิบายให้เด็ก ๆ ฟัง
ปีที่แล้วผมได้อ่านที่ยอดเยี่ยมบนกระดาษ“กลศาสตร์ควอนตัสำหรับอนุบาล” มันไม่ใช่กระดาษง่าย ๆ ตอนนี้ฉันสงสัยว่าจะอธิบายอย่างรวดเร็วด้วยคำพูดที่ง่ายที่สุดเท่าที่จะเป็นไปได้ ฉันจะพิสูจน์ (หรืออย่างน้อยก็ด้วยมือ) ว่าความซับซ้อนโดยเฉลี่ยคือและกรณีที่ดีที่สุดและเลวร้ายที่สุดคืออะไรกับชั้นอนุบาล หรืออย่างน้อยในโรงเรียนประถม?O ( n บันทึกn )O(nเข้าสู่ระบบ⁡n)O(n \log n)

5
ทำไมฐานแปดและเลขฐานสิบหก? คอมพิวเตอร์ใช้ทศนิยมฐานสองและมนุษย์
ทำไมเราถึงใช้ฐานอื่น ๆ ที่ไม่ใช่ฐานสอง (สำหรับคอมพิวเตอร์) หรือทศนิยม (สำหรับมนุษย์) คอมพิวเตอร์กลายเป็นตัวแทนของพวกเขาในรูปแบบไบนารีและมนุษย์ต้องการที่จะได้รับการแทนทศนิยมของพวกเขา ทำไมไม่ยึดฐานทั้งสองนี้

3
ภาษาไม่มีที่สิ้นสุดกับภาษาที่ จำกัด
ฉันไม่ชัดเจนเกี่ยวกับการใช้วลีภาษา "อนันต์" หรือ "จำกัด " ในทฤษฎีคอมพิวเตอร์ ฉันคิดว่ารากของปัญหาคือภาษาเช่นนั้นไม่มีที่สิ้นสุดในแง่ที่ว่ามันสามารถสร้างจำนวนของสตริงที่ไม่ จำกัด (แต่นับได้) กระนั้นก็ยังสามารถรับรู้ได้โดยสถานะออโตเมติกจำกัดL={ab}∗L={ab}∗L=\{ab\}^* นอกจากนี้ยังไม่ได้ช่วยว่าหนังสือ Sipser ไม่ได้ทำให้เกิดความแตกต่างนี้ (อย่างน้อยที่สุดเท่าที่ฉันสามารถบอกได้) คำถามเกี่ยวกับภาษาที่ไม่มีขีด จำกัด / จำกัด และความสัมพันธ์กับภาษาปกติเกิดขึ้นในการสอบตัวอย่าง

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

1
การโน้มน้าวใจ 2 มิติ: พลิกเคอร์เนลหรือไม่
ทำไมเราต้องพลิกเคอร์เนลในรูปแบบ 2D ในตอนแรก? ประโยชน์ของสิ่งนี้คืออะไร? ดังนั้นทำไมเราไม่ปล่อยทิ้งไว้ไม่เปิด http://www.songho.ca/dsp/convolution/convolution2d_example.html อินพุต เมล็ด เอาท์พุต "ขั้นแรกให้พลิกเคอร์เนลซึ่งเป็นกล่องสีเทาทั้งในแนวนอนและแนวตั้ง"

5
เครื่องจักรทัวริง + การขยายเวลา = แก้ปัญหาการหยุดพักหรือไม่
มีความสัมพันธ์ระหว่างกาลอวกาศ (เช่น MH spacetimes; ดู Hogarth 1994) ซึ่งเป็นช่วงเวลาที่ไม่มีที่สิ้นสุดของโลกที่สามารถบรรจุไว้ในอดีตของผู้สังเกตการณ์ที่มีขอบเขต ซึ่งหมายความว่าผู้สังเกตการณ์ปกติสามารถเข้าถึงจำนวนขั้นตอนการคำนวณได้ไม่ จำกัด สมมติว่าเป็นไปได้ที่คอมพิวเตอร์จะทำงานได้อย่างสมบูรณ์แบบในระยะเวลาไม่ จำกัด (และฉันรู้ว่ามันเป็นคำถามที่ยิ่งใหญ่): เราสามารถสร้างคอมพิวเตอร์ HM ที่เดินทางไปตามโลกที่ไม่มีที่สิ้นสุดนี้ HM ส่งสัญญาณไปยังผู้สังเกตการณ์ที่แน่นอน ถ้าหลังจากผู้สังเกตการณ์ไม่ได้รับสัญญาณจำนวนก้าวที่ไม่สิ้นสุดผู้สังเกตจะรู้ว่าเอ็มลูปแก้ปัญหาการหยุดชะงัก จนถึงตอนนี้ฟังดูโอเคสำหรับฉัน คำถามของฉันคือ: ถ้าสิ่งที่ฉันพูดไปนั้นถูกต้องแล้วสิ่งนี้จะเปลี่ยนแปลงข้อพิสูจน์ของทัวริงได้อย่างไรว่าปัญหาการหยุดพักไม่สามารถตัดสินใจได้ ทำไมหลักฐานของเขาล้มเหลวในการ spacetimes เหล่านี้ ?

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

1
ปัญหา NP-complete ที่มีจำนวนพหุนามใช่กรณี?
ผมมีความรู้สึกว่าทุกปัญหา NP-สมบูรณ์สำหรับการป้อนข้อมูลเพียบหลายขนาดจำนวนใช่กรณีมากกว่าปัจจัยการผลิตที่เป็นไปได้ทั้งหมดขนาดเป็น (อย่างน้อย) ชี้แจงในnnnnnnnnnn มันเป็นเรื่องจริงเหรอ? มันสามารถพิสูจน์ได้ (อาจเป็นเพียงภายใต้สมมติฐานที่ )? หรือว่าเราอาจจะพบปัญหาที่ซึ่งทั้งหมด (ใหญ่พอ)จำนวนอินสแตนซ์ของ yes- นั้นมีจำนวนมากที่สุดใน ?P≠ NPP≠ยังไม่มีข้อความPP\neq NPnnnnnn เหตุผลของฉันคือโดยทั่วไปที่ให้อินสแตนซ์ yes สำหรับ 3-SAT เราสามารถระบุตัวอักษรในแต่ละประโยคที่ทำให้เป็นจริงและแทนที่ตัวแปรอื่นในประโยคด้วยตัวแปรอื่นโดยไม่เปลี่ยนแปลงว่าเป็นที่น่าพอใจ เนื่องจากเราสามารถทำสิ่งนั้นกับแต่ละประโยคมันจะนำไปสู่การชี้แจงกรณี - ใช่ สิ่งเดียวกันถือสำหรับปัญหาอื่น ๆ เช่นเส้นทาง hamiltonian: เราสามารถเปลี่ยนขอบที่ไม่ได้อยู่บนเส้นทางได้อย่างอิสระ จากนั้นฉันก็บอกเหตุผลอย่างไม่ชัดเจนว่าเนื่องจากการลดความสัมพันธ์นั้นเกี่ยวข้องกับการแก้ปัญหาด้วยวิธีใดวิธีหนึ่งจึงต้องถือสำหรับปัญหา NP-complete ทั้งหมด ดูเหมือนว่าจะถือสำหรับปัญหา NP กลางของกราฟ isomorphism (ที่เราสามารถใช้การเปลี่ยนแปลงเดียวกันกับกราฟทั้งสองอย่างอิสระหากเรารู้การทำแผนที่) ฉันสงสัยว่ามันยังมีตัวประกอบจำนวนเต็มหรือไม่

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

1
กริดครอบคลุมด้วยรูปสี่เหลี่ยมผืนผ้า
เรามีตารางเรามีคอลเลกชันของรูปสี่เหลี่ยมในตารางนี้แต่ละรูปสี่เหลี่ยมผืนผ้าสามารถแสดงเป็น -by-ไบนารีเมทริกซ์Rเราต้องการครอบคลุมกริดด้วยสี่เหลี่ยมเหล่านั้นN 1 N 2 Rยังไม่มีข้อความ1× N2ยังไม่มีข้อความ1×ยังไม่มีข้อความ2N_1 \times N_2ยังไม่มีข้อความ1ยังไม่มีข้อความ1N_1ยังไม่มีข้อความ2ยังไม่มีข้อความ2N_2RRR เวอร์ชันการตัดสินใจของชุดนี้ครอบคลุมปัญหา NP-complete หรือไม่ อินพุต: คอลเล็กชันของรูปสี่เหลี่ยมบนกริด (ขนาดอินพุต: ) และN 1 N 2 L K ∈ N +ค= { R1, ร.ต.2, … , RL}ค={R1,R2,...,RL}\mathcal{C}=\{R_1,R_2,\dots,R_L\}ยังไม่มีข้อความ1ยังไม่มีข้อความ2Lยังไม่มีข้อความ1ยังไม่มีข้อความ2LN_1N_2LK∈N+K∈N+K \in \mathbb{N}^+ เอาท์พุท: เซตย่อยกับและที่มีแต่ละเซลล์อย่างน้อยหนึ่งรูปสี่เหลี่ยมผืนผ้าครอบคลุมมัน| S | ≤ K SS⊂CS⊂ค\mathcal{S}\subset\mathcal{C}|S|≤K|S|≤K|\mathcal{S}|\leq KSS\mathcal{S} ฉันพบว่ากรณี 1D ( ) สามารถแก้ไขได้ในเวลาพหุนามโดยการโปรแกรมแบบไดนามิก: ปกที่ดีที่สุดใด ๆ จะเป็นสหภาพของN2=1N2=1N_2=1 ครอบคลุมที่ดีที่สุดสำหรับปัญหาย่อยของการครอบคลุมเซลล์แรกN1−n1N1−n1N_1-n_1 …

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