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

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

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

2
โครงสร้างข้อมูลนามธรรมและคอนกรีตแตกต่างกันอย่างไร?
ผมคิดว่าอาเรย์ (แผนที่เช่นหรือพจนานุกรม) และโต๊ะคร่ำเครียดเป็นแนวคิดเดียวกันจนกระทั่งผมเห็นในวิกิพีเดียว่า สำหรับพจนานุกรมที่มีการผูกจำนวนน้อยมากอาจทำให้การใช้พจนานุกรมโดยใช้รายการการเชื่อมโยงเป็นรายการเชื่อมโยงของการเชื่อมโยง ... การใช้งานวัตถุประสงค์ทั่วไปที่ใช้บ่อยที่สุดของอาเรย์แบบเชื่อมโยงคือตารางแฮช: อาเรย์ของการผูกรวมกับฟังก์ชันแฮชที่แมปคีย์ที่เป็นไปได้แต่ละอันในดัชนีอาเรย์ ... พจนานุกรมอาจถูกเก็บไว้ในแผนผังการค้นหาแบบไบนารี่หรือในโครงสร้างข้อมูลที่มีความเฉพาะเจาะจงกับคีย์บางชนิดเช่นต้นเรดิค, ลอง, จูดี้อาเรย์, หรือฟาน Emde Boas ... ดังนั้นฉันคิดว่าปัญหาของฉันอยู่ที่ฉันไม่ทราบว่าอาเรย์เชื่อมโยง (เช่นแผนที่หรือพจนานุกรม) เป็นชนิดข้อมูลนามธรรมและตาราง hashing เป็นโครงสร้างข้อมูลที่เป็นรูปธรรมและโครงสร้างข้อมูลคอนกรีตที่แตกต่างกันสามารถนำไปใช้ ชนิดข้อมูลนามธรรมเดียวกัน คำถามของฉันจะเป็น อะไรคือความแตกต่างและความสัมพันธ์ระหว่างโครงสร้างข้อมูลนามธรรมและโครงสร้างข้อมูลที่เป็นรูปธรรม? มีตัวอย่างอะไรบ้างสำหรับแต่ละคน (โครงสร้างข้อมูลนามธรรมและคอนกรีต) ยิ่งมากยิ่งดี มีรายการโครงสร้างข้อมูลที่เป็นรูปธรรมใดบ้างที่สามารถใช้เพื่อนำไปใช้กับโครงสร้างข้อมูลนามธรรมได้? มันคงจะดีถ้ามีสักอัน

2
การลดปัญหาการแยกตัวประกอบจำนวนเต็มเป็นปัญหา NP-Complete
ฉันพยายามเข้าใจความสัมพันธ์ระหว่าง NP-Intermediate และ NP-Complete ฉันรู้ว่าถ้า P! = NP ขึ้นอยู่กับทฤษฎีบทของ Ladner มีคลาสของภาษาใน NP แต่ไม่ใช่ใน P หรือใน NP-Complete ทุกปัญหาใน NP สามารถลดลงเป็นปัญหา NP-Complete ได้ แต่ฉันไม่เห็นตัวอย่างใด ๆ สำหรับการลดปัญหา NPI ที่น่าสงสัย (เช่นการแยกตัวประกอบจำนวนเต็ม) เป็นปัญหา NP-Complete ไม่มีใครทราบตัวอย่างของการลด NPI-> NPC อื่นหรือไม่?

4
สิ่งที่จำเป็นสำหรับการคำนวณแบบอนาล็อกสากล?
ต้องมีการดำเนินการใดบ้างเพื่อทำการคำนวณแบบอะนาล็อกตามอำเภอใจ? การบวกการลบการคูณและการหารจะเพียงพอหรือไม่ นอกจากนี้ไม่มีใครรู้ว่าปัญหาอะไรที่เวิ้งว้างโดยใช้การคำนวณแบบอนาล็อก แต่ไม่ใช่แบบดิจิทัล?

3
จำนวนคำในภาษาปกติ
ตามวิกิพีเดียสำหรับภาษาปกติLLLมีค่าคงที่λ1,…,λkλ1,…,λk\lambda_1,\ldots,\lambda_kและพหุนามp1(x),…,pk(x)p1(x),…,pk(x)p_1(x),\ldots,p_k(x)เช่นนั้นสำหรับทุก ๆnnnจำนวนsL(n)sL(n)s_L(n)ของคำที่มีความยาวnnnในLLLเป็นไปตามสมการ ksL(n)=p1(n)λn1+⋯+pk(n)λnksL(n)=p1(n)λ1n+⋯+pk(n)λkn\qquad \displaystyle s_L(n)=p_1(n)\lambda_1^n+\dots+p_k(n)\lambda_k^n ภาษาเป็นภาษาปกติ ( ( 00 ) ∗ตรงกัน) s L ( n ) = 1 iff n เป็นคู่และs L ( n ) = 0 เป็นอย่างอื่นL={02n∣n∈N}L={02n∣n∈N}L =\{ 0^{2n} \mid n \in\mathbb{N} \}(00)∗(00)∗(00)^*sL(n)=1sL(n)=1s_L(n) = 1sL(n)=0sL(n)=0s_L(n) = 0 อย่างไรก็ตามฉันไม่สามารถหาและp i (ที่ต้องมีอยู่ข้างต้น) ในฐานะที่เป็นs L ( n )จะต้องมีการหาอนุพันธ์และไม่คงที่มันอย่างใดต้องทำตัวเหมือนคลื่นและผมก็ไม่สามารถดูวิธีการที่คุณอาจจะสามารถทำกับพหุนามและฟังก์ชั่นโดยไม่ต้องชี้แจงสิ้นสุดกับจำนวนอนันต์ของ summands เช่น ในการขยายตัวของเทย์เลอร์ มีใครสอนฉันได้ไหมλiλi\lambda_ipipip_isL(n)sL(n)s_L(n)

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

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

3
หนังสือสูตรการเข้ารหัส SAT หรือไม่
นักแก้ปัญหา SAT ได้รับประสิทธิภาพมากขึ้นในการแก้ไขอินสแตนซ์ขนาดใหญ่และถูกใช้เป็นแบ็คเอนด์ในบริบทต่าง ๆ ทุกครั้งที่ต้องการใช้พวกเขาเพื่อแก้ปัญหาในโดเมนเฉพาะเขา / เธอต้องมากับการเข้ารหัสแบบเฉพาะกิจที่ไม่เพียง แต่มีชุดโซลูชั่นที่เหมาะสม แต่ยังวางข้อ จำกัด (แม้แต่ซ้ำซ้อน) ในรูปแบบ ที่ช่วยให้ฮิวริสติกของนักแก้ปัญหาในการหาคำตอบได้เร็ว การเข้ารหัสเช่นนี้ดูเหมือนว่าฉันจะเป็นเรื่องธรรมดามากตัวอย่างเช่น: ยืนยันว่าชุดของโหนดที่เชื่อมโยงกันเป็นต้นไม้หรือเป็น DAG หรือรายการเรียงลำดับ ... มีพื้นที่เก็บข้อมูล / ตำราสูตรของการเข้ารหัสร่วมสำหรับปัญหาที่พบบ่อยกับโซลูชันที่ปรับให้เหมาะสมหรือไม่

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

7
วิธีสร้างประตู XOR โดยใช้เกต NAND เพียง 4 ตัว
xorเกทตอนนี้ฉันต้องสร้างเกทนี้โดยใช้nandเกท4 เท่านั้น a b out 0 0 0 0 1 1 1 0 1 1 1 0 the xor = (a and not b) or (not a and b)ซึ่งก็คือ A¯¯¯¯B+AB¯¯¯¯A¯B+AB¯\begin{split}\overline{A}{B}+{A}\overline{B}\end{split} ฉันรู้คำตอบ แต่จะได้รับแผนภาพประตูจากสูตรได้อย่างไร แก้ไข xor = (a and not b) or (not a and b)ผมหมายถึงสังหรณ์ใจให้ฉันฉันควรจะได้รับอย่างใดอย่างหนึ่งถ้าผมทำทีละขั้นตอนตามคำนิยาม A¯¯¯¯B¯¯¯¯¯¯¯¯⋅AB¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯A¯B¯⋅AB¯¯¯\begin{split}\overline{\overline{\overline{A}{B}}\cdot\overline{{A}\overline{B}}}\end{split} และxorจะสร้างด้วย 5 nandประตู (ภาพแรก # …

1
Memory Consistency vs Cache Coherence
ความจริงที่ว่า Sequential Consistency เป็นคุณสมบัติที่แข็งแกร่งกว่า Cache Coherence หรือไม่? ตามที่ โซรินดาเนียลเจ; Hill, Mark D; Wood, David A: ไพรเมอร์ที่สอดคล้องกับความจำและความสอดคล้องกันของแคช , Morgan & Claypool, 2011 ความต่อเนื่องตามลำดับสามารถอธิบายได้เป็น (ไม่เป็นทางการ): แบบจำลองหน่วยความจำความสอดคล้องตามลำดับระบุว่าระบบต้องปรากฏขึ้นเพื่อดำเนินการโหลดเธรดทั้งหมดและเก็บไปยังตำแหน่งหน่วยความจำทั้งหมดในลำดับทั้งหมดที่เป็นไปตามลำดับโปรแกรมของแต่ละเธรด การโหลดแต่ละครั้งจะได้รับมูลค่าของร้านค้าล่าสุดตามลำดับทั้งหมด ในคำอื่น ๆ ระบบมีความสอดคล้องตามลำดับหากได้รับเหตุการณ์หน่วยความจำ (โหลดและร้านค้า) ของแต่ละหัวข้อเราสามารถสั่งซื้อเหตุการณ์เหล่านี้ทั้งหมดที่: 1) สำหรับแต่ละกระทู้ลำดับของกิจกรรมของมันจะถูกเก็บไว้และ 2) คำสั่งทั่วโลกคือ อนุกรม (โหลดใด ๆ ส่งคืนค่าล่าสุดที่เก็บไว้) ตอนนี้พวกเขาดำเนินการต่อและอธิบายการเชื่อมโยงกัน: คำนิยามของการเชื่อมโยงกันที่คล้ายคลึงกับคำจำกัดความของความสอดคล้องตามลำดับคือระบบที่เชื่อมโยงกันจะต้องปรากฏขึ้นเพื่อดำเนินการโหลดกระทู้และเก็บทั้งหมดไปยังตำแหน่งหน่วยความจำเดียวในลำดับทั้งหมดที่เคารพคำสั่งโปรแกรมของแต่ละกระทู้ กล่าวอีกนัยหนึ่งระบบจะเชื่อมโยงกันหากได้รับเหตุการณ์ความจำของแต่ละเธรดสำหรับแต่ละตำแหน่งเราสามารถจัดลำดับเหตุการณ์สำหรับตำแหน่งนั้นเช่น: 1) สำหรับแต่ละเธรดลำดับของเหตุการณ์ในตำแหน่งนั้นจะถูกเก็บไว้และ 2) สำหรับแต่ละ สถานที่การสั่งซื้อเป็นแบบอนุกรม ในที่สุดพวกเขาชี้ให้เห็นความแตกต่าง: คำจำกัดความนี้เน้นความแตกต่างที่สำคัญระหว่างการเชื่อมโยงและความสอดคล้องกัน: การเชื่อมโยงกันจะถูกระบุบนพื้นฐานที่ตั้งของหน่วยความจำต่อหน่วยความจำในขณะที่มีการระบุความสอดคล้องกับสถานที่หน่วยความจำทั้งหมด ดังนั้นดูเหมือนว่าความแตกต่างคือสำหรับระบบที่เชื่อมโยงกันเราจำเป็นต้องมีคำสั่งทั้งหมดในทุกเหตุการณ์สำหรับแต่ละสถานที่ …

4
ทำไมเราไม่ใช้การจัดเรียงอย่างรวดเร็วในรายการที่เชื่อมโยง?
อัลกอริทึมการเรียงลำดับด่วนสามารถแบ่งออกเป็นขั้นตอนต่อไปนี้ ระบุเดือย แบ่งพาร์ติชันรายการที่เชื่อมโยงตาม pivot แบ่งรายการที่เชื่อมโยงแบบวนซ้ำเป็น 2 ส่วน ตอนนี้ถ้าผมมักจะเลือกองค์ประกอบสุดท้ายเป็นเดือยแล้วระบุองค์ประกอบหมุน (ขั้นตอนที่ 1) ใช้เวลาเวลาO(n)O(n)\mathcal O(n) หลังจากระบุองค์ประกอบ pivot เราสามารถจัดเก็บข้อมูลและเปรียบเทียบกับองค์ประกอบอื่น ๆ ทั้งหมดเพื่อระบุจุดพาร์ติชันที่ถูกต้อง (ขั้นตอนที่ 2) เปรียบเทียบแต่ละคนจะใช้เวลาเวลาที่เราเก็บข้อมูลเดือยและแต่ละแลกเปลี่ยนใช้เวลาO ( 1 )เวลา ดังนั้นโดยรวมจะใช้เวลาO ( n )สำหรับองค์ประกอบnO(1)O(1)\mathcal O(1)O(1)O(1)\mathcal O(1)O(n)O(n)\mathcal O(n)nnn ดังนั้นความสัมพันธ์ที่เกิดซ้ำคือ: ซึ่งเป็น O ( n log n )ซึ่งเหมือนกับในการเรียงแบบผสานกับรายการที่เชื่อมโยงT(n)=2T(n/2)+nT(n)=2T(n/2)+nT(n) = 2T(n/2) + nO(nlogn)O(nlog⁡n)\mathcal O(n \log n) เหตุใดจึงต้องจัดเรียงผสานมากกว่าการจัดเรียงด่วนสำหรับรายการที่เชื่อมโยง

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

3
ผลรวมที่ใหญ่ที่สุดหารด้วย n
ฉันถามคำถามนี้กับ StackOverflowแต่ฉันคิดว่าที่นี่เป็นสถานที่ที่เหมาะสมกว่า นี่เป็นปัญหาจากหลักสูตรIntroduction to Algorithm : คุณมีอาร์เรย์aaaพร้อมnnnจำนวนเต็มบวก (อาร์เรย์ไม่จำเป็นต้องเรียงหรือองค์ประกอบที่ไม่ซ้ำกัน) แนะนำให้O(n)O(n)O(n)ขั้นตอนวิธีการที่จะหาผลรวมที่ใหญ่ที่สุดขององค์ประกอบที่หารด้วยnnnn ตัวอย่าง: = [ 6 , 1 , 13 , 4 , 9 , 8 , 25 ] , n = 7 คำตอบคือ56 (มีองค์ประกอบ6 , 13 , 4 , 8 , 25 )a=[6,1,13,4,9,8,25],n=7a=[6,1,13,4,9,8,25],n=7a = [6, 1, 13, 4, 9, 8, 25], n …

2
สำหรับทุก regex 'ความชั่วร้าย' มีทางเลือกอื่นที่ไม่ใช่ความชั่วหรือปีศาจในไวยากรณ์หรือไม่?
เห็นได้ชัดว่าการโจมตีReDosใช้ประโยชน์จากคุณลักษณะของการแสดงออกปกติบางอย่าง (มีประโยชน์) บางอย่าง ... เป็นหลักทำให้เกิดการระเบิดของเส้นทางที่เป็นไปได้ผ่านกราฟที่กำหนดโดย NFA เป็นไปได้หรือไม่ที่จะหลีกเลี่ยงปัญหาดังกล่าวโดยการเขียน regex ที่ 'ไม่เลว'? ถ้าไม่ใช่ (ดังนั้นไวยากรณ์จะไม่สามารถจัดการในพื้นที่ / เวลาที่ใช้งานได้จริงโดย NFA) วิธีการแยกวิเคราะห์แบบใดจะดีกว่า ทำไม?

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