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

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

2
ขอบเขตส่วนบนที่แน่นของ asymptotically คืออะไร
จากสิ่งที่ฉันได้เรียนรู้ขอบเขตที่แน่นแบบไม่มีความหมายหมายความว่ามันถูกผูกไว้จากด้านบนและด้านล่างในสัญกรณ์ที แต่ขอบเขตบนที่มีความตึงเชิงเส้นตรงหมายถึงอะไรสำหรับสัญลักษณ์ Big-O

1
อัลกอริทึม
ปัญหา Clique เป็นปัญหาที่ไม่สมบูรณ์ของรู้จักกันดีซึ่งขนาดของ clique ที่ต้องการนั้นเป็นส่วนหนึ่งของอินพุต อย่างไรก็ตามปัญหา k-clique มีอัลกอริทึมเวลาพหุนามเล็กน้อย ( O ( n k )เมื่อkคงที่) ฉันสนใจในขอบเขตบนที่รู้จักกันดีที่สุดเมื่อ k คงที่NPNPNPO(nk)O(nk)O(n^k)kkk มีอัลกอริทึมพร้อมรันไทม์หรือไม่ o ( n k )เรียลไทม์อัลกอริทึมยังเป็นที่ยอมรับ นอกจากนี้มีความซับซ้อนทางทฤษฎีใด ๆ ที่มีผลต่อการดำรงอยู่ของอัลกอริทึมดังกล่าวหรือไม่?O(nk−1)O(nk−1)O(n^{k-1})o(nk)o(nk)o(n^k)

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

3
มีความแตกต่างที่แท้จริงระหว่างคอมไพเลอร์และแอสเซมเบลอร์ไหม?
มีความแตกต่างระหว่างสองคนนี้ไหม? ตามหนังสือของ Ullmanคอมไพเลอร์จะแปลงภาษาหนึ่งเป็นภาษาอื่น (โดยปกติอยู่ในระดับต่ำ) และแอสเซมเบลอร์ก็เช่นกัน ทั้งสองแตกต่างกันอย่างไร

2
ฮีป - ให้อัลกอริทึมเวลา
อาจเป็นไปได้ว่าคำถามนี้ถูกถามมาก่อน มันมาจาก CLRS (2nd Ed) ปัญหา 6.5-8 - ให้อัลกอริทึมเวลาเพื่อรวมรายการที่เรียงลำดับkไว้ในรายการที่เรียงลำดับหนึ่งรายการโดยที่nคือจำนวนองค์ประกอบทั้งหมดในรายการอินพุตทั้งหมด (คำแนะนำ: ใช้ min-heap สำหรับการรวมk -way)O(nlgk)O(nlg⁡k)O(n \lg k)kkknnnkkk เนื่องจากมีรายการที่เรียงลำดับและค่าnทั้งหมดให้เราสมมติว่าแต่ละรายการมีnkkknnnหมายเลข kยิ่งไปกว่านั้นแต่ละรายการจะเรียงตามลำดับจากน้อยไปหามากและผลลัพธ์จะถูกเก็บไว้ในลำดับจากน้อยไปหามากnknk\frac{n}{k} โค้ดหลอกของฉันดูเหมือนว่านี้ - list[k] ; k sorted lists heap[k] ; an auxiliary array to hold the min-heap result[n] ; array to store the sorted list for i := 1 to k ; O(k) …

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

2
ภาษาที่ไม่ไวต่อบริบทที่สามารถตัดสินใจได้
เป็นที่ถกเถียงกันอยู่ว่าภาษาส่วนใหญ่ที่สร้างขึ้นเพื่ออธิบายปัญหาในชีวิตประจำวันมีความไวต่อบริบท ในทางกลับกันก็เป็นไปได้และไม่ยากที่จะหาบางภาษาที่ไม่ซ้ำหรือแม้กระทั่งไม่นับซ้ำ ระหว่างสองประเภทนี้เป็นภาษาที่ไม่ไวต่อบริบทแบบเรียกซ้ำ Wikipedia ให้ตัวอย่างหนึ่งที่นี่ : ตัวอย่างของภาษาแบบเรียกซ้ำที่ไม่คำนึงถึงบริบทคือภาษาแบบวนซ้ำที่การตัดสินใจเป็นปัญหาที่ยากลำบาก EXPSPACE กล่าวคือชุดของคู่ของนิพจน์ทั่วไปที่เทียบเท่ากับการยกกำลัง ดังนั้นคำถาม: ปัญหาอื่น ๆ ที่มีอยู่ที่สามารถตัดสินใจได้ แต่ยังไม่ไวต่อบริบท? ปัญหาระดับนี้เหมือนกับ EXPSPACE ยากหรือไม่?

3
ชุดความยาวของคำที่เป็นไปได้ในภาษาปกติมีอะไรบ้าง
ให้ภาษาLLLให้นิยามชุดความยาวของLLLเป็นชุดของความยาวของคำในLLL : L S (L)={ | คุณ | ∣u∈L}LS(L)={|ยู||ยู∈L}\mathrm{LS}(L) = \{|u| \mid u \in L \} ชุดจำนวนเต็มใดที่สามารถตั้งค่าความยาวของภาษาปกติได้

3
เมื่อใดที่คำ adjacency หรือ matrices เป็นตัวเลือกที่ดีกว่า
ผมก็บอกว่าเราจะใช้รายการถ้ากราฟเป็นป่าโปร่งและเมทริกซ์ถ้ากราฟหนาแน่น สำหรับฉันมันเป็นเพียงคำจำกัดความดิบ ฉันไม่เห็นอะไรมากไปกว่านั้น คุณช่วยอธิบายได้ไหมว่าจะเป็นทางเลือกโดยธรรมชาติเมื่อใด ขอบคุณล่วงหน้า!

3
ทำไมไม่ลองแสดงตัวเลขในอัลกอริธึมเชิงตัวเลข?
อัลกอริธึมเวลาแบบหลอกเทียมคืออัลกอริธึมที่มีเวลาทำงานพหุนามกับค่าอินพุต (ขนาด) แต่เวลาทำงานแบบเอ็กซ์โพเนนเชียลตามขนาดอินพุต (จำนวนบิต) ตัวอย่างเช่นการทดสอบว่าตัวเลขnnnเป็นจำนวนเฉพาะหรือไม่ต้องการวนซ้ำผ่านตัวเลขตั้งแต่ 2 ถึงn−1n−1n-1และตรวจสอบว่าnnn mod iiiเป็นศูนย์หรือไม่ หากตัวดัดแปลงใช้เวลา O (1) ความซับซ้อนของเวลาโดยรวมจะเป็น O (n) แต่ถ้าเราปล่อยให้xxxเป็นจำนวนบิตที่ต้องการในการเขียนอินพุตดังนั้นx=lognx=log⁡nx = \log n (ไบนารี) ดังนั้นn=2xn=2xn = 2^xและเวลาการทำงานของปัญหาจะเป็น O ( 2x2x2^x ) ซึ่งเป็นเลขชี้กำลัง คำถามของฉันคือถ้าเราพิจารณาการเป็นตัวแทนของอินพุตnnn , ดังนั้นเสมอแล้วเวลาx=nx=nx=nหลอก - พหุนามจะเท่ากับความซับซ้อนของเวลาพหุนาม เหตุใดเราจึงไม่ทำเช่นนี้ ยิ่งไปกว่านั้นเนื่องจากมีอัลกอริธึมเวลาหลอกเทียมสำหรับเป้โดยใช้x=nx=nx=n , เป้จะเป็นพหุนามเป็นผลลัพธ์ P = NP

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

2
เป็นส่วนประกอบของ {ww | …} ไม่มีบริบทใช่ไหม
กำหนดภาษาเป็นL = { , ข} * - { W W | W ∈ { , ข} * } กล่าวอีกนัยหนึ่งLมีคำที่ไม่สามารถแสดงออกมาเป็นคำบางคำซ้ำสองครั้ง คือLบริบทฟรีหรือไม่?LLLL = { a , b }* * * *- { w w ∣ w ∈ { a , b }* * * *}L={a,b}∗−{ww∣w∈{a,b}∗}L = \{a, b\}^* - \{ww\mid w \in …

5
ความสำคัญของขอบน้ำหนักเชิงลบในกราฟคืออะไร?
ฉันทำแบบฝึกหัดการเขียนโปรแกรมแบบไดนามิกและพบอัลกอริทึม Floyd-Warshall เห็นได้ชัดว่าพบเส้นทางที่สั้นที่สุดของคู่ทั้งหมดสำหรับกราฟที่สามารถมีขอบน้ำหนักติดลบ แต่ไม่มีรอบลบ ดังนั้นฉันสงสัยว่าโลกแห่งความจริงมีความสำคัญต่อน้ำหนักเชิงลบอย่างไร? คำอธิบายภาษาอังกฤษแบบธรรมดาจะเป็นประโยชน์

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

1
การเรียงลำดับของรายการสามารถตรวจสอบได้โดยไม่ต้องเปรียบเทียบกับเพื่อนบ้านหรือไม่?
nnnรายการ -Item สามารถตรวจสอบได้ว่าเป็นเรียงโดยเปรียบเทียบทุกรายการให้กับเพื่อนบ้าน ในใบสมัครของฉันฉันจะไม่สามารถเปรียบเทียบทุกรายการกับเพื่อนบ้าน: บางครั้งการเปรียบเทียบจะอยู่ระหว่างองค์ประกอบที่อยู่ห่างไกล เนื่องจากรายการมีมากกว่าสามรายการและการเปรียบเทียบเป็นเพียงการดำเนินการที่ได้รับการสนับสนุนเท่านั้นไม่เคยมี "เครือข่าย" ของการเปรียบเทียบที่จะพิสูจน์ว่ารายการนั้นเรียงลำดับ แต่ขาดหายไปอย่างน้อยหนึ่งโดยตรงกับเพื่อนบ้าน เปรียบเทียบ? อย่างเป็นทางการสำหรับการลำดับขององค์ประกอบeieie_iฉันมีชุดของคู่ของดัชนี(j,k)(j,k)(j,k)ซึ่งผมทราบว่าej&gt;ekej&gt;eke_j > e_k , ej=ekej=eke_j = e_kหรือej&lt;ekej&lt;eke_j < e_k k มีคู่(l,l+1)(l,l+1)(l,l+1)ที่หายไปจากชุดการเปรียบเทียบ เป็นไปได้ไหมที่จะพิสูจน์ว่ามีการเรียงลำดับหรือไม่
14 sorting 

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