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

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

1
ความซับซ้อนของ Big-Oh time สามารถมีตัวแปรมากกว่าหนึ่งตัวได้หรือไม่?
ให้เราพูดเช่นฉันกำลังประมวลผลสตริงที่ต้องมีการวิเคราะห์สองสาย ฉันไม่ได้รับข้อมูลเกี่ยวกับความยาวของพวกเขาดังนั้นพวกเขาจึงมาจากสองครอบครัวที่แตกต่างกัน มันจะเป็นที่ยอมรับหรือไม่ที่จะเรียกความซับซ้อนของอัลกอริทึมหรือ (ขึ้นอยู่กับว่าเราใช้ความไร้เดียงสาหรืออัลกอริธึมที่เหมาะสมที่สุด)O ( n + m )O ( n ∗ m )O(n∗m)O(n * m)O ( n + m )O(n+m)O(n + m) ในหลอดเลือดดำที่คล้ายกันให้เราเข้าใจว่าอัลกอริทึมที่เราเลือกต้องใช้สองขั้นตอนจริง ๆ แล้วขั้นตอนการติดตั้งบนสตริงแรกซึ่งช่วยให้เราสามารถประมวลผลสตริงอื่น ๆ จำนวนเท่าใดก็ได้โดยไม่ต้องเสียค่าใช้จ่ายเริ่มแรก จะถือว่าเหมาะสมหรือไม่ที่จะบอกว่ามีการก่อสร้างตามด้วยการคำนวณจำนวนใด ๆO ( m )O ( n )O(n)O(n)O ( m )O(m)O(m) จะเหมาะสมไหมที่จะเรียกพวกเขาว่าเพราะการคำนวณทั้งสองเป็นแบบเชิงเส้น?O ( n )O(n)O(n)

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

1
มีปัญหาใด ๆ ที่ไม่สามารถแก้ไขได้ด้วย oracle ที่หยุดนิ่งหรือไม่?
ฉันเข้าใจว่าปัญหาส่วนใหญ่ไม่สำคัญหากมี oracle หยุดทำงาน (หรือฉันคิดว่าการคำนวณแบบไฮเปอร์) อย่างไรก็ตามการใช้อาร์กิวเมนต์ที่แสดงปัญหาการหยุดชะงักเป็นไปไม่ได้สำหรับเครื่องทัวริงยังแสดงให้เห็นว่าเป็นไปไม่ได้สำหรับ Oracle + ทัวริงในการตัดสินปัญหาการหยุดชะงักสำหรับ Oracle + ทัวริง มีตัวอย่างของปัญหาที่เกิดขึ้นจริงหรือใช้งานจริงที่ไม่สามารถแก้ไขได้ด้วย oracle หยุดทำงานหรือไม่? หมายเหตุ: โดย "oracle" ฉันหมายถึง oracle สำหรับเครื่องทัวริงมาตรฐานไม่ใช่ TM ที่มี oracle นั้น

3
ทำไมเราไม่สามารถพลิกคำตอบของ NDTM ได้อย่างมีประสิทธิภาพ?
ฉันอ่านหลายครั้งว่าไม่สามารถพลิกคำตอบของ NDTM ได้อย่างมีประสิทธิภาพ อย่างไรก็ตามฉันไม่เข้าใจว่าทำไม ยกตัวอย่างเช่นกำหนด NDTM ที่วิ่งในO ( n ) , ข้อความนี้ (มาตรา 3.3) กล่าวว่ามันเป็นที่ชัดเจนว่าอีก NDTM Tสามารถระบุได้ในO ( n 100 )เวลาวิธีพลิกMคำตอบ ‘sMMMO ( n )O(n)O(n)TTTO ( n100)O(n100)O(n^{100})MMM ปัญหาของฉันมีดังนี้: เอาต์พุต NDTM iff มีลำดับของตัวเลือกที่ไม่สามารถกำหนดค่าได้ซึ่งนำไปสู่สถานะการยอมรับ นอกจากนี้ยังมี NDTM N Uสากลที่สามารถจำลองทุก NDTM ด้วยค่าใช้จ่ายเพียงเล็กน้อย (ลอการิทึม) ดังนั้นทำไมเราไม่สามารถสร้าง T ดังต่อไปนี้: First, M จำลองกับ NDTM สากลซึ่งควรจะเป็นไปได้ในเวลาn) จากนั้นเอาต์พุต 1 - …

2
DFA ที่เล็กที่สุดที่ยอมรับสตริงที่กำหนดและปฏิเสธสตริงที่กำหนดอื่น ๆ
ป.ร. ให้ไว้สองชุด, Bของสตริงมากกว่าตัวอักษรΣเราสามารถคำนวณที่เล็กที่สุดที่กำหนดขอบเขตของรัฐหุ่นยนต์ (DFA) Mเช่นว่า⊆ L ( M )และL ( M ) ⊆ Σ * ∖ B ?A,BA,BA,BΣΣ\SigmaMMMA⊆L(M)A⊆L(M)A \subseteq L(M)L(M)⊆Σ∗∖BL(M)⊆Σ∗∖BL(M) \subseteq \Sigma^*\setminus B กล่าวอีกนัยหมายถึงชุดตัวอย่างเชิงบวก สตริงทั้งหมดในAต้องได้รับการยอมรับจาก DFA Bหมายถึงชุดตัวอย่างเชิงลบ DFA ไม่ควรยอมรับสตริงในBAAAAAABBBBBB มีวิธีแก้ปัญหานี้หรือไม่อาจใช้เทคนิคการย่อขนาด DFAหรือไม่ ฉันนึกภาพได้ว่าการสร้างหุ่นยนต์คล้าย DFA ที่มีสถานะอยู่สามแบบ: ยอมรับสถานะปฏิเสธสถานะและ "ไม่สนใจ" (ข้อมูลใด ๆ ที่ลงท้ายด้วยสถานะ "ไม่สนใจ" สามารถยอมรับได้ หรือถูกปฏิเสธ) แต่เราสามารถหาวิธีที่จะลดสิ่งนี้ให้เป็น DFA สามัญได้หรือไม่? คุณอาจคิดว่านี่เป็นปัญหาของการเรียนรู้ DFA โดยให้ตัวอย่างที่เป็นบวกและลบ นี่คือแรงบันดาลใจจาก สนามกอล์ฟ …

2
จักรวาลในทฤษฎีชนิดพึ่งพา
ฉันกำลังอ่านเกี่ยวกับทฤษฎีประเภทพึ่งพาในหนังสือออนไลน์ทฤษฎีประเภทโฮโมโทรป ในส่วนที่ 1.3 ของทฤษฎีประเภทบทจะแนะนำแนวคิดของลำดับชั้นของจักรวาล :โดยที่U0:U1:U2:⋯U0:U1:U2:⋯\mathcal{U}_0 : \mathcal{U}_1 : \mathcal{U}_2 : \cdots ทุกจักรวาลเป็นองค์ประกอบของจักรวาลถัดไป1} ยิ่งกว่านั้นเราคิดว่าเอกภพของเราสะสมนั่นคือองค์ประกอบทั้งหมดของจักรวาลเป็นองค์ประกอบของจักรวาลU ฉัน+ 1ฉันทีเอช (ฉัน+1 ) ทีเอชUiUi\mathcal{U}_iUi+1Ui+1\mathcal{U}_{i+1}ithithi^{\mathrm{th}}(i+1)th(i+1)th(i+1)^{\mathrm{th}} แต่เมื่อฉันดูกฎการก่อตัวของประเภทต่าง ๆ ในภาคผนวก A ในแวบแรกถ้าจักรวาลปรากฏขึ้นเหนือแถบเป็นหลักฐานจักรวาลเดียวกันจะปรากฏขึ้นด้านล่าง ตัวอย่างเช่นกฎการสร้างประเภท coproduct: Γ⊢A:UiΓ⊢B:UiΓ⊢A+B:Ui(+-FORM)Γ⊢A:UiΓ⊢B:UiΓ⊢A+B:Ui(+-FORM)\dfrac{\Gamma \vdash A : \mathcal{U}_i \quad \Gamma \vdash B : \mathcal{U}i}{\Gamma \vdash A + B : \mathcal{U}_i}(+\mbox{-}FORM) ดังนั้นคำถามของฉันคือทำไมลำดับชั้นจึงจำเป็น? ภายใต้สถานการณ์ใดบ้างที่คุณต้องกระโดดจากเอกภพไปยังลำดับที่สูงกว่า มันเป็นเรื่องที่ไม่ชัดเจนกับผมว่าได้รับการรวมกันของใด ๆคุณสามารถจบลงด้วยประเภทที่เป็นไม่ได้ใน\ในรายละเอียดเพิ่มเติม: กฎการก่อตัวในส่วนของภาคผนวก A.2.4, A.2.5, A.2.6, …

1
บทแทรกสำหรับภาษาที่ไม่มีบริบทกำหนดไว้หรือไม่
ศัพท์เฉพาะการปั๊มสำหรับภาษาปกติสามารถใช้เพื่อพิสูจน์ว่าภาษาบางอย่างไม่ปกติและการปั๊มบทแทรกสำหรับภาษาที่ไม่มีบริบท (พร้อมกับบทแทรกของ Ogden) สามารถใช้เพื่อพิสูจน์ว่าภาษาบางอย่างไม่บริบท มีการแทรกการสูบน้ำสำหรับการกำหนดภาษาบริบทฟรีหรือไม่ นั่นคือมีบทแทรกคล้ายกับบทแทรกที่สามารถใช้เพื่อแสดงว่าภาษาไม่ใช่ DCFL หรือไม่? ฉันอยากรู้อยากเห็นเพราะเกือบทั้งหมดของเทคนิคการพิสูจน์ที่ฉันรู้ว่าแสดงให้เห็นว่าภาษาไม่ใช่ DCFL นั้นซับซ้อนและฉันหวังว่าจะมีเทคนิคที่ง่ายกว่านี้

1
อะไรคือวิธีกะทัดรัดในการแสดงพาร์ติชั่นของชุด?
มีโครงสร้างข้อมูลที่มีประสิทธิภาพสำหรับการแสดงพาร์ทิชันที่ตั้งอยู่ โครงสร้างข้อมูลเหล่านี้มีความซับซ้อนในช่วงเวลาที่เหมาะสมสำหรับการดำเนินการเช่น Union และ Find แต่ไม่ได้มีประสิทธิภาพด้านพื้นที่โดยเฉพาะ การใช้พื้นที่อย่างมีประสิทธิภาพในการเป็นตัวแทนของพาร์ติชั่นคืออะไร? นี่คือจุดเริ่มต้นหนึ่งที่เป็นไปได้: ฉันรู้ว่าจำนวนของพาร์ทิชัน ของชุดที่มีNNNองค์ประกอบคือBNBNB_Nที่NNN -th จำนวนเบลล์ ดังนั้นความซับซ้อนของพื้นที่ที่เหมาะสมที่สุดสำหรับการแสดงพาร์ติชันของชุดที่มีองค์ประกอบNNNคือ บิตlog2(BN)log2⁡(BN)\log_2(B_N)ในการค้นหาการนำเสนอดังกล่าวเราสามารถค้นหาการทำแผนที่แบบหนึ่งต่อหนึ่งระหว่าง (ชุดพาร์ติชันของชุดองค์ประกอบNNN ) และ (ชุดจำนวนเต็มจาก111ถึงBNBNB_N ) มีการทำแผนที่ที่มีประสิทธิภาพในการคำนวณหรือไม่? สิ่งที่ผมหมายถึง "มีประสิทธิภาพ" คือว่าผมต้องการแปลงนี้เป็นตัวแทนที่มีขนาดกะทัดรัดจาก / ไปยังง่ายต่อการจัดการตัวแทน (เช่นรายการของรายการก) ในเวลาพหุนามในNNNหรือlog2(BN)log2⁡(BN)\log_2(B_N) )

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

1
ตัวอย่างที่กระชับของต้นทุนชี้แจงของการอนุมานประเภท ML
ฉันทราบว่าค่าใช้จ่ายของการอนุมานประเภทในภาษาที่ใช้งานได้เช่น OCaml อาจสูงมาก การอ้างสิทธิ์คือมีลำดับของนิพจน์เช่นนั้นสำหรับแต่ละนิพจน์ความยาวของประเภทที่สอดคล้องกันนั้นจะเป็นเลขชี้กำลังบนความยาวของนิพจน์ ฉันกำหนดลำดับด้านล่าง คำถามของฉันคือ: คุณรู้จักลำดับที่มีนิพจน์ที่กระชับกว่าซึ่งประสบความสำเร็จในประเภทเดียวกันหรือไม่? # fun a -> a;; - : 'a -> 'a = <fun> # fun b a -> b a;; - : ('a -> 'b) -> 'a -> 'b = <fun> # fun c b a -> c b (b a);; - : (('a …

2
เหตุใดจึงมักใช้ปัญหาการตัดสินใจในทฤษฎีความซับซ้อน
จากวิกิพีเดีย : ประเภทของปัญหาการคำนวณ: ปัญหาที่ใช้กันมากที่สุดคือปัญหาการตัดสินใจ อย่างไรก็ตามสามารถระบุคลาสที่ซับซ้อนได้ตามปัญหาของฟังก์ชันปัญหาการนับปัญหาการเพิ่มประสิทธิภาพปัญหาที่สัญญา ฉันยังเห็นคำจำกัดความของ NP-complete, NP-hard, NP, ... , ถูกกำหนดไว้สำหรับปัญหาการตัดสินใจเท่านั้น ฉันสงสัยว่าทำไมเป็นอย่างนั้น เป็นเพราะปัญหาอื่นใดที่สามารถแปลงให้เท่ากับปัญหาการตัดสินใจได้หรือไม่?

2
เราสามารถแสดงภาษาที่ไม่สามารถนับได้ด้วยการแสดงให้เห็นว่าไม่มีตัวยืนยันสำหรับภาษานั้นหรือไม่?
หนึ่งในคำจำกัดความของการคำนวณที่นับได้ (ce, เทียบเท่ากับการนับซ้ำซ้ำ, เทียบเท่ากับ semidecidable) คือ: เป็นซีอี IFF มีเป็นภาษา decidable V ⊆ Σ * (เรียกว่าตรวจสอบ) เซนต์สำหรับทุก x ∈ Σ * ,A⊆Σ∗A⊆Σ∗A \subseteq \Sigma^*V⊆Σ∗V⊆Σ∗V\subseteq \Sigma^*x∈Σ∗x∈Σ∗x\in \Sigma^* IFF มีอยู่ Y ∈ Σ * ST ⟨ x , y ที่⟩ ∈ Vx∈Ax∈Ax\in Ay∈Σ∗y∈Σ∗y\in\Sigma^*⟨x,y⟩∈V⟨x,y⟩∈V\langle x, y \rangle \in V ดังนั้นวิธีหนึ่งที่จะแสดงให้เห็นว่าภาษานั้นไม่ใช่ ce คือการแสดงให้เห็นว่าไม่มีตัวตรวจสอบสามารถตัดสินใจได้ วิธีนี้มีประโยชน์หรือไม่ที่จะแสดงว่าภาษาไม่ได้อยู่ในแนวปฏิบัติใช่ไหมVVV

2
ถ้า A คือการทำแผนที่ย่อได้ถึง B ดังนั้นส่วนประกอบของ A คือการทำแผนที่ย่อได้ถึงส่วนประกอบของ B
ฉันกำลังศึกษาขั้นสุดท้ายในทฤษฎีการคำนวณและฉันกำลังดิ้นรนกับวิธีที่เหมาะสมในการตอบว่าข้อความนี้เป็นจริงหรือไม่ ตามคำนิยามของเราสามารถสร้างคำสั่งต่อไปนี้≤m≤m\leq_m w∈A⟺f(w)∈B→w∉A⟺f(w)∉Bw∈A⟺f(w)∈B→w∉A⟺f(w)∉Bw \in A \iff f(w) \in B \rightarrow w \notin A \iff f(w) \notin B ซึ่งเป็นที่ที่ผมติดผมอยากจะบอกว่าตั้งแต่เรามีฟังก์ชันคำนวณดังกล่าวนั้นมันจะทำให้เรามีการทำแผนที่จาก A ไป B ถ้ามีคนอื่นมันเคยชินfff ฉันไม่รู้ว่าจะใช้วลีนี้อย่างถูกต้องได้อย่างไรหรือฉันยังอยู่ในเส้นทางที่ถูกต้อง

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

2
ทำไม DFS ถึงถูกพิจารณาให้มี
ตามบันทึกเหล่านี้ , DFSถือว่ามีความซับซ้อนของพื้นที่ที่เป็นปัจจัยที่แผ่กิ่งก้านของต้นไม้และมีความยาวสูงสุดของเส้นทางใด ๆ ในพื้นที่รัฐO ( b m )O(ขม.)O(bm)ขขbม.ม.m เป็นเหมือนกันกล่าวว่าในเรื่องนี้หน้าวิกิตำราบนไม่รู้ค้นหา ตอนนี้ "กล่องข้อมูล" ของบทความ Wikipedia บน DFSนำเสนอต่อไปนี้สำหรับความซับซ้อนของพื้นที่ของอัลกอริทึม: O ( | V| )O(|V|)O(|V|)หากกราฟทั้งหมดถูกสำรวจโดยไม่มีการทำซ้ำค้นหาความยาวพา ธ ที่ยาวที่สุดสำหรับกราฟโดยนัยโดยไม่ต้องกำจัดโหนดซ้ำโอ(O(O())) ซึ่งคล้ายกับสิ่งที่ฉันคิดว่ามีความซับซ้อนของพื้นที่ของ DFS เช่นโดยที่คือความยาวสูงสุดที่อัลกอริธึมถึงO ( m )O(ม.)O(m)ม.ม.m เหตุใดฉันจึงคิดว่าเป็นเช่นนี้ โดยพื้นฐานแล้วเราไม่จำเป็นต้องเก็บโหนดอื่น ๆ นอกเหนือจากโหนดของเส้นทางที่เรากำลังดูอยู่ในขณะนี้ดังนั้นจึงไม่มีประเด็นการคูณด้วยในการวิเคราะห์ที่จัดทำโดย Wikibook และบันทึกที่ฉันเรียกคุณ ถึง.ขขb ยิ่งไปกว่านั้นจากบทความนี้เกี่ยวกับIDA *โดยRichard Korfความซับซ้อนของพื้นที่ของ DFS คือโดยที่ถูกพิจารณาว่าเป็น "cutoff เชิงลึก"O ( d)O(d)O(d)ddd ดังนั้นความซับซ้อนของพื้นที่ที่ถูกต้องของ DFS คืออะไร? ฉันคิดว่ามันอาจขึ้นอยู่กับการนำไปใช้ดังนั้นฉันขอขอบคุณคำอธิบายเกี่ยวกับความซับซ้อนของพื้นที่สำหรับการนำไปปฏิบัติต่าง ๆ …

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