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

ความซับซ้อนเกี่ยวข้องกับรูปแบบต่างๆของการคำนวณความซับซ้อนของรหัส ความซับซ้อนตามวัฏจักร, ความซับซ้อนของเส้นทาง n, เวลาบิ๊กโอและความซับซ้อนของพื้นที่

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

7
วิธีจัดการความซับซ้อนโดยไม่ตั้งใจในโครงการซอฟต์แวร์
เมื่อ Murray Gell-Mann ถูกถามว่า Richard Feynman จัดการเพื่อแก้ไขปัญหาที่ยากมากมายได้อย่างไร Gell-Mann ตอบว่า Feynman มีอัลกอริทึม: จดบันทึกปัญหา คิดหนักจริง เขียนวิธีการแก้ปัญหา Gell-Mann พยายามอธิบายว่า Feynman เป็นนักแก้ปัญหาที่แตกต่างกันและไม่มีความเข้าใจที่จะได้รับจากการศึกษาวิธีการของเขา ฉันรู้สึกแบบเดียวกันกับการจัดการความซับซ้อนในโครงการซอฟต์แวร์ขนาดกลาง / ใหญ่ ผู้คนที่ดีนั้นดีโดยกำเนิดและจัดการกับเลเยอร์และสแต็ค abstractions ต่าง ๆ เพื่อให้ทุกอย่างสามารถจัดการได้โดยไม่ต้องแนะนำ cruft ที่ไม่เกี่ยวข้องใด ๆ ดังนั้นอัลกอริทึมไฟน์แมนเป็นวิธีเดียวที่จะจัดการความซับซ้อนโดยไม่ตั้งใจหรือมีวิธีการที่วิศวกรซอฟต์แวร์สามารถนำไปใช้กับความซับซ้อนที่เกิดขึ้นโดยบังเอิญได้หรือไม่?

15
เป็นไปได้หรือไม่ที่จะไปถึงสถานะข้อบกพร่องสัมบูรณ์เป็นศูนย์สำหรับซอฟต์แวร์ขนาดใหญ่?
ฉันกำลังพูดถึงโค้ดประมาณ 20-30 ล้านบรรทัดซอฟต์แวร์ในระดับและความซับซ้อนของ Autodesk Maya หากคุณหยุดการพัฒนาตราบใดที่จำเป็นต้องทำคุณสามารถแก้ไขข้อบกพร่องทั้งหมดได้จริงหรือไม่จนกว่าจะไม่มีข้อผิดพลาดเพียงครั้งเดียวหากสิ่งนั้นสามารถตรวจสอบได้ด้วยคอมพิวเตอร์? อะไรคือข้อโต้แย้งสำหรับและต่อต้านการดำรงอยู่ของระบบที่ปราศจากข้อบกพร่อง? เนื่องจากมีความคิดบางอย่างที่คุณแก้ไขทุกครั้งจะสร้างข้อบกพร่องมากขึ้น แต่ฉันไม่คิดว่าเป็นเรื่องจริง โดยข้อบกพร่องฉันหมายถึงจากการพิมพ์ผิดที่ง่ายที่สุดใน UI เพื่อข้อบกพร่องเชิงป้องกันที่รุนแรงยิ่งขึ้นที่ไม่มีวิธีแก้ปัญหา ตัวอย่างเช่นฟังก์ชั่นการเขียนสคริปต์ที่เฉพาะเจาะจงคำนวณบรรทัดฐานไม่ถูกต้อง แม้กระทั่งเมื่อมีวิธีแก้ไขปัญหาปัญหายังคงต้องได้รับการแก้ไข ดังนั้นคุณสามารถพูดได้ว่าคุณสามารถทำสิ่งนี้ด้วยตนเองแทนการใช้ฟังก์ชั่นที่ให้ไว้ แต่ฟังก์ชั่นนั้นยังคงต้องได้รับการแก้ไข

17
big-O นั้นเกี่ยวข้องกับการทำงานในอุตสาหกรรมหรือไม่?
ในการสัมภาษณ์ทุกครั้งที่ฉันเข้าร่วมฉันได้รับการวิเคราะห์ทางคณิตศาสตร์เกี่ยวกับความซับซ้อนรวมถึงสัญกรณ์ใหญ่ การวิเคราะห์ Big-O มีความเกี่ยวข้องกับการพัฒนาในอุตสาหกรรมอย่างไร คุณใช้มันบ่อยแค่ไหนและจำเป็นต้องมีความคิดที่เฉียบคมสำหรับปัญหานี้อย่างไร

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

5
เมื่อใดที่ไม่ควรใช้นักแสดงใน akka / erlang
ฉันทำงานกับ akka มา 7-8 เดือนแล้วทุกวัน เมื่อฉันเริ่มฉันจะทำงานกับแอพพลิเคชั่นและสังเกตว่านักแสดงจะถูกใช้โดยทั่วไปทุกครั้งที่อยู่ในระบบของนักแสดงเพื่อสื่อสารระหว่างวัตถุส่วนใหญ่ ดังนั้นฉันจึงทำแบบเดียวกัน - หมุนนักแสดงคนอื่นให้กับ x / y / z สำหรับฉันดูเหมือนว่านี่อาจเป็นการพิจารณาที่ไม่เจาะจงเกินไปเพิ่มความซับซ้อนในที่ที่ไม่ต้องการ - แต่ฉันไม่สามารถหาการอภิปรายว่าควรใช้นักแสดงกับซิงโครนัสธรรมดาหรือแม้แต่ async ตรรกะผ่านฟิวเจอร์ส ฉันเริ่มไตร่ตรองท่าทางของฉันหลังจากเพื่อนร่วมงานของฉันพูดถึงสิ่งที่คล้ายกัน ฉันรู้หลายกรณีเมื่อเร็ว ๆ นี้ซึ่งฉันได้ไตร่ตรองงานแล้วหลีกเลี่ยงการสร้างนักแสดงคนอื่นเพราะฉันสามารถบรรลุผลลัพธ์เดียวกันได้อย่างปลอดภัยในการใช้งานที่ไม่เปลี่ยนรูป - เช่นสิ่งที่ต้องการรับค่าการกำหนดค่าจาก db หรือไฟล์ที่คุณเข้าถึงไม่บ่อยนัก รอผลคือกรณีการใช้งานจริง โดยเฉพาะอย่างยิ่งสำหรับฉันดูเหมือนว่ากรณีใด ๆ ที่คุณเล่นกับรัฐที่ไม่เปลี่ยนรูปนักแสดงสร้างความซับซ้อนและปริมาณงานที่ จำกัด - ฟังก์ชั่นที่บริสุทธิ์ในวัตถุเช่นสามารถเรียกได้พร้อมกันโดยไม่มีความเสี่ยงในระดับเดียวกัน นักแสดงสามารถดำเนินการได้ทีละข้อความเท่านั้น ข้อควรพิจารณาอื่นคือคุณจะต้องรอเธรดถ้าคุณต้องรอผลจนกว่าคุณจะเริ่มใช้ฟิวเจอร์ส แต่กรณีที่คุณไม่ต้องกังวลเกี่ยวกับการส่งข้อความ async หรือมาตราส่วนดูเหมือนว่าอาจจะเกินจ้างนักแสดง ดังนั้นคำถามของฉันคือ - มีเวลาไม่ดีที่จะใช้นักแสดงหรือไม่? ฉันอยากรู้ว่า erlang มีลักษณะอย่างไรและจะต้องการข้อมูลเชิงลึกของผู้อื่นอย่างแท้จริง หรือถ้ามีหลักการบางอย่างที่นักแสดงใช้

4
สิ่งที่เป็นนามธรรมมากเกินไปอาจไม่ดีหรือไม่?
ในฐานะโปรแกรมเมอร์ฉันรู้สึกว่าเป้าหมายของเราคือการให้ abstractions ที่ดีในรูปแบบโดเมนที่กำหนดและตรรกะทางธุรกิจ แต่สิ่งที่เป็นนามธรรมนี้ควรหยุด วิธีที่จะทำให้การแลกเปลี่ยนระหว่างสิ่งที่เป็นนามธรรมและผลประโยชน์ทั้งหมดของมัน (ความยืดหยุ่นความสะดวกในการเปลี่ยนแปลง ฯลฯ ) และความง่ายในการทำความเข้าใจรหัสและผลประโยชน์ทั้งหมดของมัน ฉันเชื่อว่าฉันมักจะเขียนโค้ดที่เป็นนามธรรมมากเกินไปและฉันก็ไม่รู้ว่ามันดีแค่ไหน ฉันมักจะเขียนมันเหมือนว่ามันเป็นไมโครเฟรมเวิร์กซึ่งประกอบด้วยสองส่วน: โมดูลขนาดเล็กที่ติดอยู่ในกรอบขนาดเล็ก: โมดูลเหล่านี้เข้าใจง่ายพัฒนาและดูแลรักษาเป็นหน่วยเดียว รหัสนี้แสดงถึงรหัสที่ใช้งานได้จริงตามที่อธิบายไว้ในข้อกำหนด กำลังเชื่อมต่อรหัส ตอนนี้ที่นี่ฉันเชื่อว่ายืนปัญหา รหัสนี้มีแนวโน้มที่จะซับซ้อนเพราะบางครั้งก็เป็นนามธรรมและยากที่จะเข้าใจในตอนแรก; สิ่งนี้เกิดขึ้นเนื่องจากความจริงที่ว่ามันเป็นเพียงนามธรรมที่บริสุทธิ์ฐานในความเป็นจริงและตรรกะทางธุรกิจที่ถูกดำเนินการในรหัสที่นำเสนอ 1; จากเหตุผลนี้รหัสนี้ไม่คาดว่าจะมีการเปลี่ยนแปลงเมื่อทดสอบ นี่เป็นวิธีการเขียนโปรแกรมที่ดีหรือไม่? ว่ามันมีการเปลี่ยนรหัสกระจัดกระจายมากในหลายโมดูลและง่ายมากที่จะเข้าใจและไม่เปลี่ยนแปลงรหัสซับซ้อนมากจาก POV นามธรรม? รหัสทั้งหมดควรจะมีความซับซ้อนเหมือนกัน (นั่นคือรหัส 1 ซับซ้อนกว่าและเชื่อมโยงกันและรหัส 2 ง่ายขึ้น) เพื่อให้ทุกคนที่มองผ่านมันสามารถเข้าใจได้ในระยะเวลาที่เหมาะสม แต่การเปลี่ยนแปลงมีราคาแพงหรือวิธีแก้ปัญหาที่นำเสนอข้างต้น "การเปลี่ยนรหัส" นั้นง่ายต่อการเข้าใจดีบั๊กเปลี่ยนและ "การเชื่อมโยงโค้ด" นั้นยาก หมายเหตุ: นี่ไม่เกี่ยวกับการอ่านรหัส! ทั้งโค้ดที่ 1 และ 2 สามารถอ่านได้ แต่โค้ดที่ 2 มาพร้อมกับ abstractions ที่ซับซ้อนมากขึ้นในขณะที่ code 1 …

4
พยายามเข้าใจ P vs NP กับ NP Complete เทียบกับ NP Hard
ฉันพยายามที่จะเข้าใจการจำแนกประเภทเหล่านี้และสาเหตุที่มีอยู่ ความเข้าใจของฉันถูกต้องหรือไม่ ถ้าไม่อะไร P คือความซับซ้อนของพหุนามหรือสำหรับจำนวนจริงที่ไม่เป็นลบเช่นฯลฯ หากปัญหาเป็นของ P ดังนั้นจะมีอัลกอริทึมอย่างน้อยหนึ่งตัวที่สามารถแก้ไขได้ตั้งแต่เริ่มต้นในเวลาพหุนาม ตัวอย่างเช่นฉันมักจะสามารถคิดออกถ้าจำนวนเต็มบางส่วนเป็นสำคัญโดยการวนลูปและการตรวจสอบในแต่ละขั้นตอนถ้าแบ่งO(nk)kO(1), O(n1/2), O(n2), O(n3)n2 <= k <= sqrt(n)kn NP เป็นความซับซ้อนของพหุนามที่ไม่สามารถกำหนดได้ ฉันไม่รู้จริง ๆ ว่าการไม่เป็นตัวกำหนดความหมายคืออะไร ฉันคิดว่ามันง่ายต่อการตรวจสอบในเวลาพหุนาม แต่อาจหรืออาจไม่ใช่เวลาพหุนามที่จะแก้ไขตั้งแต่ต้นหากเราไม่ทราบคำตอบ เนื่องจากอาจแก้ไขได้ในเวลาพหุนามปัญหา P ทั้งหมดจึงเป็นปัญหา NP การแยกตัวประกอบจำนวนเต็มได้รับการยกมาเป็นตัวอย่างของ NP แต่ฉันไม่เข้าใจว่าทำไมมันไม่ใช่ P ส่วนตัวเนื่องจากการแยกตัวประกอบการทดลองใช้O(sqrt(n))เวลา NP-Complete ฉันไม่เข้าใจเลย แต่ปัญหาของพนักงานขายที่เดินทางถูกยกมาเป็นตัวอย่างของสิ่งนี้ แต่ในความเห็นของฉันปัญหาของ TSP อาจเป็น NP เพราะมันต้องมีการตรวจสอบว่าคุณได้รับเส้นทางล่วงหน้าหรือไม่O(2n n2) time to solve, but O(n) NP-Hard ฉันคิดว่าเต็มไปด้วยสิ่งแปลกปลอม ยากที่จะตรวจสอบและยากที่จะแก้ไข

2
O (…) คืออะไรและฉันจะคำนวณได้อย่างไร
ช่วยด้วย! ฉันมีคำถามที่ฉันต้องการวิเคราะห์ Big-O ของอัลกอริทึมหรือรหัสบางอย่าง ฉันไม่แน่ใจว่า Big-O คืออะไรหรือเกี่ยวข้องกับ Big-Theta หรือวิธีอื่น ๆ ในการวิเคราะห์ความซับซ้อนของอัลกอริทึม ฉันไม่แน่ใจว่า Big-O อ้างอิงถึงเวลาในการเรียกใช้รหัสหรือจำนวนหน่วยความจำที่ใช้ (การแลกเปลี่ยนพื้นที่ / เวลา) ฉันมีการบ้านวิทยาการคอมพิวเตอร์ที่ฉันต้องใช้ลูปบางทีอัลกอริทึมแบบเรียกซ้ำและมากับ Big-O สำหรับมัน ฉันกำลังทำงานกับโปรแกรมที่ฉันมีตัวเลือกระหว่างสองโครงสร้างข้อมูลหรืออัลกอริทึมกับ Big-O ที่รู้จักกันดีและไม่แน่ใจว่าจะเลือกตัวเลือกใด ฉันจะเข้าใจวิธีการคำนวณและใช้ Big-O กับโปรแกรมการบ้านหรือความรู้ทั่วไปของวิทยาการคอมพิวเตอร์ได้อย่างไร หมายเหตุ: คำถามนี้เป็นเป้าหมายแบบดัชชู่ที่เป็นที่ยอมรับสำหรับคำถาม Big-O อื่น ๆตามที่ชุมชนกำหนด เป็นความตั้งใจโดยทั่วไปที่จะสามารถเก็บข้อมูลที่เป็นประโยชน์จำนวนมากสำหรับคำถาม Big-O ได้ โปรดอย่าใช้ข้อเท็จจริงที่ว่านี้เป็นข้อบ่งชี้ว่าคำถามที่คล้ายกันเป็นที่ยอมรับได้

5
การพิจารณาว่าอัลกอริทึมเป็น O (บันทึก n)
ฉันรีเฟรช CS Theory ของฉันและฉันต้องการทราบวิธีระบุความซับซ้อนของอัลกอริทึม O (log n) โดยเฉพาะมีวิธีง่าย ๆ ในการระบุหรือไม่ ฉันรู้ด้วย O (n) คุณมักจะมีวงเดียว; O (n ^ 2) เป็นวงคู่ O (n ^ 3) เป็นสามวงเป็นต้นแล้ว O (log n) เป็นอย่างไร

9
การเพิ่มความซับซ้อนในการลบรหัสที่ซ้ำกัน
ฉันมีหลายคลาสที่สืบทอดมาจากคลาสพื้นฐานทั่วไป Tชั้นฐานมีการเก็บรวบรวมวัตถุหลายของชนิด แต่ละคลาสเด็กต้องสามารถคำนวณค่าที่สอดแทรกจากการรวบรวมวัตถุ แต่เนื่องจากคลาสย่อยใช้ชนิดที่แตกต่างกันการคำนวณจึงแตกต่างกันเล็กน้อยจากคลาสหนึ่งไปอีกชั้น จนถึงตอนนี้ฉันได้คัดลอก / วางรหัสของฉันจากชั้นหนึ่งไปอีกชั้นหนึ่งและทำการแก้ไขเล็กน้อยกับแต่ละรายการ แต่ตอนนี้ฉันกำลังพยายามลบรหัสที่ซ้ำกันและแทนที่ด้วยวิธีการแก้ไขทั่วไปในคลาสพื้นฐานของฉัน อย่างไรก็ตามนั่นเป็นการพิสูจน์ว่าเป็นเรื่องยากมากและวิธีแก้ปัญหาทั้งหมดที่ฉันคิดว่าดูเหมือนซับซ้อนเกินไป ฉันเริ่มคิดว่าหลักการ DRY ไม่ได้นำไปใช้มากในสถานการณ์แบบนี้ แต่ฟังดูเหมือนเป็นการดูหมิ่น ความซับซ้อนเท่าไหร่เมื่อพยายามลบการทำสำเนารหัสมากเกินไป? แก้ไข: ทางออกที่ดีที่สุดที่ฉันสามารถทำได้คือ: ชั้นฐาน: protected T GetInterpolated(int frame) { var index = SortedFrames.BinarySearch(frame); if (index >= 0) return Data[index]; index = ~index; if (index == 0) return Data[index]; if (index >= Data.Count) return Data[Data.Count - 1]; return …

7
O ใน Big O คืออะไร
Big และ O ในสัญลักษณ์ Big O คืออะไร ฉันอ่านคำจำกัดความแล้วและไม่ได้บอกว่าOออกเสียงว่า 'oh' อย่างไร ตัวอย่างเช่น - ฉันเข้าใจว่าO (n) เป็นความซับซ้อนของอัลกอริทึมเชิงเส้นโดยที่ n อาจเป็นจำนวนการดำเนินการ แต่Oคืออะไร
23 complexity  big-o 

6
สิ่งที่คุณเรียกว่าเมื่อคุณเปลี่ยนเวลาดำเนินการ Big O ของฟังก์ชั่น [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดเมื่อปีที่แล้ว สมมติว่าฉันมีฟังก์ชั่นที่เรียงลำดับฐานข้อมูลในO(n^2)เวลา ฉันต้องการที่จะทำการปรับโครงสร้างใหม่เพื่อให้มันทำงานได้O(n log(n))ทันเวลาและในการทำเช่นนั้นฉันจะเปลี่ยนวิธีพื้นฐานในการทำงานของการดำเนินการในขณะที่รักษาค่าส่งคืนและอินพุตให้เท่ากัน ฉันจะเรียกกิจกรรมการปรับโครงสร้างซ้ำนี้ว่าอะไร "Speeding-up-ifying" ดูเหมือนไม่ถูกต้องเนื่องจากคุณสามารถทำให้อัลกอริทึมเร็วขึ้นโดยไม่ต้องเปลี่ยนความเร็ว O ขนาดใหญ่ที่มันทำงาน "การทำให้เรียบง่าย" ก็ดูไม่ถูกต้องเช่นกัน ฉันจะเรียกกิจกรรมนี้ว่าอะไร ปรับปรุง คำตอบที่ดีที่สุดที่ฉันสามารถหาได้คือการลดความซับซ้อนของเวลาแบบอสมมาตร
19 complexity  big-o 

5
ผลกระทบของ P = NP คืออะไร [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัพเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน7 ปีที่ผ่านมา ฉันกำลังเตรียมตัวสำหรับการทดสอบและฉันไม่สามารถหาคำตอบที่ชัดเจนสำหรับคำถาม: สิ่งที่จะเป็นผลกระทบของการพิสูจน์ PTIME = NPTIME ฉันตรวจสอบวิกิพีเดียและเพิ่งพูดถึงว่ามันจะมี "ผลกระทบอย่างลึกซึ้งต่อคณิตศาสตร์ AI ขั้นตอนวิธี .. " เป็นต้น ใครสามารถให้คำตอบฉันได้บ้าง

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

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