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

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

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

3
การปฏิเสธการสุ่มตัวอย่างเป็นวิธีเดียวที่จะได้รับการแจกแจงตัวเลขที่เหมือนกันอย่างแท้จริงหรือไม่?
สมมติว่าเรามีตัวสร้างแบบสุ่มที่ส่งออกตัวเลขในช่วง[0..R−1][0..R−1][0..R-1]ด้วยการแจกแจงแบบเดียวกันและเราจำเป็นต้องสร้างตัวเลขสุ่มในช่วง[0..N−1][0..N−1][0..N-1] ด้วยการแจกแจงแบบเดียวกัน สมมติว่าN&lt;RN&lt;RN < RและNNNไม่เท่ากันแบ่งRRR ; เพื่อให้ได้การกระจายที่เหมือนกันอย่างแท้จริงเราสามารถใช้ วิธีการสุ่มตัวอย่างการปฏิเสธ : ถ้าkkkเป็นจำนวนเต็มที่มากที่สุดเช่นนั้นkN&lt;RkN&lt;Rk N < R เลือกตัวเลขสุ่มrrrใน[0..R−1][0..R−1][0..R-1] ถ้าr&lt;kNr&lt;kNr < k Nจากนั้นเอาท์พุทมิฉะนั้นก็ลองกับตัวเลขสุ่มอื่น ๆ r ', r ", ... จนกว่าจะเจอเงื่อนไขrmodNrmodNr \mod N การปฏิเสธการสุ่มตัวอย่างเป็นวิธีเดียวที่จะได้การกระจายแบบไม่ต่อเนื่องสม่ำเสมออย่างแท้จริงหรือไม่? หากคำตอบคือใช่ทำไม หมายเหตุ: หากความคิดเหมือนกัน: สร้างตัวเลขสุ่มในตัวอย่างเช่นโดยที่เป็นตัวเลขสุ่มในช่วงR ' [ 0 .. R เมตร - 1 ] , R ม &gt; = N R ' = …

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

2
ต้นไม้ที่ทอดข้ามขั้นต่ำของกราฟถ่วงน้ำหนักมีจำนวนขอบเท่ากันกับน้ำหนักที่กำหนดหรือไม่?
หากกราฟถ่วงน้ำหนักมีต้นไม้ทอดต่ำสุดสองแบบและว่าเป็นจริงที่ขอบในจำนวนขอบในมีน้ำหนักเท่ากับ (รวมถึงเอง) เท่ากับจำนวนขอบในมีน้ำหนักเท่ากันกับ ? หากข้อความนั้นเป็นจริงเราจะพิสูจน์ได้อย่างไรT 1 = ( V 1 , E 1 ) T 2 = ( V 2 , E 2 ) e E 1 E 1 e e E 2 eGGGT1=(V1,E1)T1=(V1,E1)T_1 = (V_1, E_1)T2=(V2,E2)T2=(V2,E2)T_2 = (V_2, E_2)eeeE1E1E_1E1E1E_1eeeeeeE2E2E_2eee

4
จองอัลกอริทึมนอกเหนือจาก Cormen
ฉันได้ทำเนื้อหาส่วนใหญ่ในหนังสือ Intro to Algorithms ของ Cormen แล้วและฉันกำลังมองหาหนังสืออัลกอริทึมที่ครอบคลุมเนื้อหามากกว่าหนังสือของ Corman มีคำแนะนำอะไรบ้าง? หมายเหตุ: ฉันถามสิ่งนี้ใน stackoverflow แต่ไม่พอใจกับคำตอบทั้งหมด หมายเหตุ: การดูความคิดเห็นส่วนใหญ่ฉันคิดว่าฉันควรจะหาหนังสือที่ครอบคลุมเนื้อหาของหลักสูตร 787 ในคำอธิบายหลักสูตรนี้

7
หนังสือวิทยาศาสตร์คอมพิวเตอร์สำหรับคนหนุ่มสาว
คำถามนี้ถูกย้ายจาก Theoretical Computer Science Exchange Exchange เนื่องจากสามารถตอบได้ใน Computer Science Stack Exchange อพยพ 7 ปีที่ผ่านมา หนังสือวิทยาศาสตร์คอมพิวเตอร์สำหรับผู้เริ่มต้นที่ดีสำหรับเด็กอายุ 15 ปีคืออะไร? ฉันต้องการเริ่มต้นใน CS แต่ไม่รู้ว่าจะเริ่มจากตรงไหน ฉันมีประสบการณ์ จำกัด ในการเขียนโปรแกรม

4
ความถี่ซีพียูต่อปี
ฉันรู้ว่าตั้งแต่ปี 2004 กฎของมัวร์หยุดทำงานเพื่อความเร็วสัญญาณนาฬิกาของ CPU ฉันกำลังมองหากราฟที่แสดงสิ่งนี้ แต่ไม่สามารถหาได้: แผนภูมิส่วนใหญ่ที่นั่นแสดงจำนวนทรานซิสเตอร์หรือกำลังการผลิตต่อปี ฉันจะหาข้อมูลที่แสดงความถี่ซีพียูของคอมพิวเตอร์ได้ที่ไหน (อะไรก็ได้, คอมพิวเตอร์ส่วนบุคคล, เซิร์ฟเวอร์, แล็ปท็อป, ... ) จากสองสามทศวรรษที่ผ่านมาจนถึงทุกวันนี้? ข้อมูลดิบที่ฉันสามารถพล็อตตัวเองก็น่าจะดีเช่นกัน

2
การเทียบเท่าเบต้าคืออะไร
คำถามนี้ถูกย้ายจาก Theoretical Computer Science Exchange Exchange เนื่องจากสามารถตอบได้ใน Computer Science Stack Exchange อพยพ 7 ปีที่ผ่านมา ในสคริปต์ที่ฉันกำลังอ่านเกี่ยวกับแคลคูลัสแลมบ์ดามีการนิยามเบต้าเทียบเท่าดังนี้: -equivalenceเป็นความสมดุลที่เล็กที่สุดที่มี\≡ บีตา→การบีตาββ\beta≡β≡β\equiv_\beta→β→β\rightarrow_\beta ฉันไม่รู้ว่ามันหมายถึงอะไร ใครสามารถอธิบายมันในแง่ง่ายกว่า? อาจจะด้วยตัวอย่าง? ฉันต้องการมันสำหรับบทแทรกตามทฤษฎีบทโบสถ์ - รัสเซอร์พูด หาก M N แล้วมี L กับ M L และ N \ twoheadrightarrow_ \ เบต้าลิตร≡β≡β\equiv_\beta↠β↠β\twoheadrightarrow_\beta↠β↠β\twoheadrightarrow_\beta

3
ความเหมือนและความแตกต่างในจีบราส์กระบวนการที่สำคัญ
สำหรับความรู้ของฉันมีจีบราส์กระบวนการสำคัญสามประการที่เป็นแรงบันดาลใจให้มีการวิจัยมากมายในรูปแบบที่เป็นทางการของการเกิดพร้อมกัน เหล่านี้คือ: CCS และ -calculus ทั้งคู่โดย Robin Milnerππ\pi CSP โดย Tony Hoare และ ACP โดย Jan Bergstra และ Jan Willem Klop ทั้งสามดูเหมือนจะมีมาจนถึงทุกวันนี้มีงานวิจัยจำนวนมากและมีงานวิจัยมากมาย อะไรคือความคล้ายคลึงและความแตกต่างที่สำคัญของวิธีการเหล่านี้? ทำไมการวิจัยในพีชคณิตของกระบวนการถูกแยกออกแทนที่จะมารวมกันในแง่ที่ว่าไม่มีรูปแบบสากลที่จะรวมเป็นหนึ่งเดียวในสนาม

3
มีอัลกอริทึมที่ค้นหาการเรียงลำดับขนาดที่สามในเวลาหรือไม่?
คำถามนี้ถูกย้ายจาก Theoretical Computer Science Exchange Exchange เนื่องจากสามารถตอบได้ใน Computer Science Stack Exchange อพยพ 7 ปีที่ผ่านมา ฉันต้องการที่จะพิสูจน์หรือหักล้างการดำรงอยู่ของอัลกอริทึมที่ได้รับอาร์เรย์ของจำนวนเต็มพบสามดัชนีและดังกล่าวว่าและ (หรือพบว่าไม่มีสามเท่า) ในเวลาเชิงเส้นi , j k i &lt; j &lt; k A [ i ] &lt; A [ j ] &lt; A [ k ]AAAฉัน, Ji,ji, jkkkฉัน&lt; j &lt; ki&lt;j&lt;ki < j < kA[i]&lt;A[j]&lt;A[k]A[i]&lt;A[j]&lt;A[k]A[i] < A[j] …

2
นิยามแบบเรียกซ้ำมากกว่าชนิดอุปนัยที่มีส่วนประกอบซ้อนอยู่
พิจารณาประเภทอุปนัยที่มีเกิดขึ้นซ้ำในบางตำแหน่งที่ซ้อนกัน แต่เป็นบวกอย่างเคร่งครัด ตัวอย่างเช่นต้นไม้ที่มีการ จำกัด การแยกด้วยโหนดโดยใช้โครงสร้างข้อมูลรายการทั่วไปเพื่อจัดเก็บเด็ก ๆ Inductive LTree : Set := Node : list LTree -&gt; LTree. วิธีที่ไร้เดียงสาของการกำหนดฟังก์ชั่นแบบเรียกซ้ำผ่านต้นไม้เหล่านี้โดยการเรียกซ้ำกว่าต้นไม้และรายการต้นไม้ไม่ทำงาน นี่คือตัวอย่างของsizeฟังก์ชันที่คำนวณจำนวนโหนด Fixpoint size (t : LTree) : nat := match t with Node l =&gt; 1 + (size_l l) end with size_l (l : list LTree) : nat := match l with …

1
เครื่องจักรสำหรับภาษาที่ไม่มีบริบทซึ่งไม่มีอำนาจพิเศษจาก nondeterminism
เมื่อพิจารณาถึงรูปแบบการคำนวณของเครื่องจักรลำดับชั้นของ Chomsky นั้นมีลักษณะตามปกติ (ตามลำดับ), ออโตไฟไนต์, ออโตมาตาแบบกดลง, ออโตเมต้าที่มีขอบเขตเชิงเส้น สำหรับครั้งแรกและครั้งสุดท้ายในระดับที่1 (ภาษาที่ปกติและภาษานับซ้ำ) มันทำให้ความแตกต่างในการใช้พลังงานของรูปแบบไม่ว่าจะเป็นเครื่องที่เราพิจารณากำหนดหรือ nondeterministic ไม่มี DFAs คือเทียบเท่ากับ NFAs และเจเทียบเท่ากับ NTMs 2 อย่างไรก็ตามสำหรับ PDA และ LBAs สถานการณ์จะแตกต่างกัน พีดีเอที่กำหนดได้จะรับรู้ชุดของภาษาที่เล็กกว่าอย่างเข้มงวดกว่าพีดีเอที่กำหนดไว้ นอกจากนี้ยังเป็นคำถามเปิดที่สำคัญว่า LBA ที่กำหนดขึ้นมีประสิทธิภาพเท่ากับ LBA ที่ไม่ระบุชื่อหรือไม่ [1] สิ่งนี้จะถามคำถามของฉัน: มีรูปแบบของเครื่องที่แสดงลักษณะของภาษาที่ไม่มีบริบท แต่ไม่มีการกำหนดระดับใดที่ไม่เพิ่มพลังพิเศษ? (ถ้าไม่มีคุณสมบัติของ CFL ที่แนะนำเหตุผลสำหรับการนี้) ดูเหมือนว่าเป็นไปไม่ได้ (สำหรับฉัน) ที่จะพิสูจน์ได้ว่าภาษาที่ไม่มีบริบทต้องมีความไม่เชื่อในลัทธินิยม แต่อย่างใดแต่ดูเหมือนว่าจะไม่เป็นแบบจำลองเครื่อง คำถามส่วนขยายเหมือนกัน แต่สำหรับภาษาที่คำนึงถึงบริบท อ้างอิง S.-Y. Kuroda, "คลาสของภาษาและ Linear Bata Automata" , …

4
คลาสความซับซ้อนที่
แรงจูงใจที่เป็นไปได้อย่างหนึ่งสำหรับการเรียนคลาสความซับซ้อนในการคำนวณคือการเข้าใจพลังของทรัพยากรการคำนวณประเภทต่าง ๆ (การสุ่มแบบไม่กำหนดระดับผลกระทบเชิงควอนตัม ฯลฯ ) หากเรามองจากมุมมองนี้ดูเหมือนว่าเราจะได้รับสัจพจน์ที่เป็นไปได้สำหรับความพยายามในการอธิบายลักษณะการคำนวณที่เป็นไปได้ในบางรุ่น: การคำนวณที่เป็นไปได้ใด ๆ สามารถเรียกใช้การคำนวณที่เป็นไปได้อื่น ๆ เป็นรูทีนย่อย กล่าวอีกนัยหนึ่งสมมติว่าโปรแกรมถือว่าเป็นไปได้ที่จะดำเนินการ จากนั้นถ้าเราสร้างโปรแกรมใหม่โดยการเชื่อมโยงและด้วยกันเพื่อให้ทำการเรียกรูทีนย่อยไปที่โปรแกรมใหม่นี้ก็เป็นไปได้เช่นกันP,QP,QP,QPPPQQQPPPQQQ แปลเป็นภาษาของคลาสความซับซ้อนความจริงนี้มีจำนวนตามข้อกำหนดดังต่อไปนี้: ถ้าเป็นชั้นความซับซ้อนที่มีวัตถุประสงค์ในการจับภาพซึ่งการคำนวณจะเป็นไปในรูปแบบบางส่วนแล้วเราจะต้องมีCCCCCC=CCC=CC^C = C (นี่หมายถึงการคำนวณในที่สามารถเรียกใช้ oracle จาก . ที่ระดับความซับซ้อน oracle) ดังนั้นขอเรียกชั้นซับซ้อนเป็นไปได้ถ้ามันตอบสนอง CCCCCC^CCCCCCCCCC CC=CCC=CC^C=C คำถามของฉัน: เราทราบความซับซ้อนของคลาสใดที่เป็นไปได้ (ตามคำจำกัดความที่น่าเชื่อถือนี้) ยกตัวอย่างเช่นจะเป็นไปได้เนื่องจาก P เรามีหรือไม่ แล้วล่ะ คลาสความซับซ้อนอื่น ๆ ที่ตรงตามเกณฑ์นี้มีอะไรบ้าง?PPPPP=PPP=PP^P=PBPPBPP=BPPBPPBPP=BPPBPP^{BPP} = BPPBQPBQP=BQPBQPBQP=BQPBQP^{BQP} = BQP ฉันสงสัยว่า (หรืออย่างน้อยนั่นก็เป็นการคาดเดาที่ดีที่สุดของเราแม้ว่าเราจะไม่สามารถพิสูจน์ได้) มีระดับความซับซ้อนที่รวบรวมการคำนวณที่ไม่ได้กำหนดไว้และเป็นไปได้ภายใต้คำจำกัดความนี้หรือไม่? ถ้าเราปล่อยให้แสดงคลาสความซับซ้อนที่เล็กที่สุดเช่นและมีลักษณะที่ชัดเจนของนี้หรือไม่?NPNP≠NPNPNP≠NPNP^{NP} \ne NPCCCNP⊆CNP⊆CNP \subseteq CCC⊆CCC⊆CC^C \subseteq CCCC

2
ลดปัญหาต่อไปนี้เป็น SAT
นี่คือปัญหา ได้รับซึ่งแต่ละ\} มีชุดย่อยมีขนาดสูงสุดซึ่งสำหรับทั้งหมดหรือไม่ ฉันพยายามลดปัญหานี้เป็น SAT ความคิดของฉันของการแก้ปัญหาจะมีตัวแปรสำหรับแต่ละ 1 ถึงnสำหรับแต่ละสร้างประโยคถ้า\} จากนั้นและข้อเหล่านี้ทั้งหมดเข้าด้วยกัน แต่สิ่งนี้เห็นได้ชัดว่าไม่ใช่วิธีการแก้ปัญหาที่สมบูรณ์เนื่องจากไม่ได้แสดงถึงข้อ จำกัด ที่T ฉัน ⊆ { 1 , ... , n } S ⊆ { 1 , ... , n } k S ∩ T ฉัน ≠ ∅ ฉันx ฉัน n T ฉัน ( x ฉัน1 ∨ ⋯ ∨ x i …

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

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