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

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

2
Hidoku NP สมบูรณ์หรือไม่
Hidoku เป็นตารางที่มีบางจำนวนเต็มก่อนที่เต็มไปตั้งแต่ 1 ถึง 2 เป้าหมายคือการหาเส้นทางของจำนวนเต็มต่อเนื่อง (จาก 1 ถึง ) ในตาราง ยิ่งคอนกรีตแต่ละเซลล์ของตารางจะต้องมีจำนวนเต็มที่แตกต่างกันตั้งแต่ 1 ถึงและแต่ละเซลล์ที่มีค่าจะต้องมีเซลล์เพื่อนบ้านที่มีค่า (สามารถเป็นแนวทแยงมุม)n 2 n 2 n 2 z ≠ n 2 z + 1n×nn×nn \times nn2n2n^2n2n2n^2n2n2n^2z≠n2z≠n2z ≠ n^{2}z+1z+1z + 1 NP ยากที่จะตัดสินว่า Hidoku ที่ให้นั้นสามารถแก้ไขได้หรือไม่? การลดขนาดไหนที่สามารถใช้ได้ แก้ไข: ตามความเห็นฉันให้ความกระจ่างเล็กน้อย รับเป็นตารางของเซลล์บางคนมีค่า (จำนวนเต็มจาก 1 ถึงn²) เราต้องเติมเซลล์ที่เหลือทั้งหมดที่มีจำนวนเต็มจาก 1 ถึงเช่นว่าไม่มีสองเซลล์มีค่าเดียวกันและว่าเซลล์ที่มีค่าทุกZ ≠n²มีเพื่อนบ้านที่มีค่าZ + 1 …

3
การคำนวณสตริงย่อยทั่วไปที่ยาวที่สุดของสองสตริงโดยใช้อาร์เรย์ต่อท้าย
หลังจากที่ฉันเรียนรู้วิธีสร้างอาร์เรย์ต่อท้ายในความซับซ้อนฉันสนใจที่จะค้นหาแอปพลิเคชันของอาร์เรย์ต่อท้าย หนึ่งในนั้นคือการหาย่อยทั่วไปที่ยาวที่สุดระหว่างสองสายในO ( N )เวลา ฉันพบบนอินเทอร์เน็ตอัลกอริทึมต่อไปนี้:O ( N)O(ยังไม่มีข้อความ)O(N)O ( N)O(ยังไม่มีข้อความ)O(N) รวมทั้งสองสายและBเป็นหนึ่งสายA BAAABBBBABAB คำนวณอาเรย์ต่อท้ายของBABAB คำนวณอาร์เรย์ (คำนำหน้าทั่วไปที่ยาวที่สุด)L CPLคPLCP คำตอบคือค่าที่ใหญ่ที่สุดL CP[ i ]LคP[ผม]LCP[i] ฉันพยายามที่จะใช้มัน แต่เนื่องจากรายละเอียดการใช้งานไม่ได้กล่าวไว้ (เช่นเมื่อทำการเชื่อมโยงสตริงฉันควรใส่อักขระพิเศษระหว่างพวกเขา ( ) หรือไม่) รหัสของฉันล้มเหลวในหลายกรณีทดสอบ มีคนอธิบายเพิ่มเติมเกี่ยวกับอัลกอริทึมนี้เพิ่มเติมหรือไม่คBAคBAcB ขอบคุณล่วงหน้า. หมายเหตุ:ฉันไม่รับประกันความถูกต้องของอัลกอริทึมนี้ ฉันพบมันในบล็อกและฉันไม่แน่ใจว่ามันใช้งานได้ หากคุณคิดว่ามันไม่ถูกต้องโปรดแนะนำอัลกอริทึมอื่น

2
ความผิดพลาดในอัลกอริทึมการคูณ -O (n lg n) นี้อยู่ที่ไหน
บล็อกโพสต์ปริศนาล่าสุดเกี่ยวกับการค้นหาสามช่องว่างเท่า ๆ กันนำฉันไปสู่คำถามสแต็คโอเวอร์โฟลว์พร้อมคำตอบยอดนิยมที่อ้างว่าทำในเวลา O (n lg n) ส่วนที่น่าสนใจคือว่าการแก้ปัญหาที่เกี่ยวข้องกับการ squaring พหุนาม, อ้างอิงกระดาษที่อธิบายถึงวิธีที่จะทำมันใน O (n LG n) เวลา ตอนนี้การคูณแบบพหุนามมีค่าเท่ากันกับการคูณตัวเลข ความแตกต่างที่แท้จริงเพียงอย่างเดียวคือการขาดการแบก แต่ ... การบรรทุกสามารถทำได้ในเวลา O (n lg n) ตัวอย่างเช่น: var value = 100; // = 0b1100100 var inputBitCount = value.BitCount(); // 7 (because 2^7 > 100 >= 2^6) var n = inputBitCount * …

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

3
ถ้า P = NP ทำไมจะไม่
เห็นได้ชัดว่าถ้าP = N PP=NP{\sf P}={\sf NP}ทุกภาษาในPP{\sf P}ยกเว้น∅∅\emptysetและΣ* * * *Σ∗\Sigma^*จะเป็นN PNP{\sf NP} -complete ทำไมสองภาษานี้โดยเฉพาะ เราไม่สามารถลดภาษาอื่น ๆ ในPP{\sf P}ให้พวกเขาด้วยการแสดงผลเมื่อยอมรับหรือไม่ยอมรับหรือไม่

1
ค้นหารอบง่าย ๆ ในกราฟกำกับ
ปัญหานี้สำหรับฉันดูน่าสนใจมาก มันกำลังจะหาวัฏจักรธรรมดา (เช่นวัฏจักรที่ไม่ใช่โหนดซ้ำ) ในกราฟกำกับ วิธีแก้ปัญหาของฉันเป็นเช่นนี้คือกราฟนี้เป็นปัญหากรณี: ฉันรู้ว่ามีวงรอบในกราฟเมื่อคุณสามารถหา "ขอบหลัง" ในการค้นหาครั้งแรกที่ลึก (ประในรูปภาพของฉันใน DFSTree) และในช่วงเวลาหนึ่งฉันสามารถแน่ใจได้ว่าสักสองสามรอบ แต่ไม่ใช่สำหรับ ทุกรอบง่ายๆ เพราะ egdes ที่กำกับนั้นสำคัญมากที่มาจากวัฏจักรคือ (0123)! = (0321) ฉันกำลังคิดทำ dfs สำหรับแต่ละโหนดด้วยขอบด้านหลัง แต่ฉันไม่แน่ใจและมันไม่ชัดเจน ดังนั้นฉันถามคุณถ้าคุณแนะนำฉัน ขอบคุณ !. นี่คือการนับลูปง่าย ๆ สำหรับปัญหากรณีของฉัน

3
ทัวริงที่สมบูรณ์และพลังการคำนวณ
ในการบรรยายอาจารย์กล่าวว่าคอมพิวเตอร์สมัยใหม่ไม่มีพลังในการคำนวณมากเท่ากับเครื่องทัวริงเพราะไม่มีหน่วยความจำที่ไม่มีที่สิ้นสุดและเนื่องจากคอมพิวเตอร์ไม่สามารถมีหน่วยความจำที่ไม่มีที่สิ้นสุดเครื่องทัวริงจึงไม่สามารถบรรลุได้ ของการคำนวณ มีการวัดหรือคำจำกัดความของปัญหา (หรือระดับของปัญหา) ที่เกินขอบเขตอำนาจการคำนวณของเราเนื่องจากสิ่งนี้หรือไม่?

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

2
เหตุใดจึงมีสภาพปกติในทฤษฎีบทหลัก
ฉันได้อ่านIntroduction to Algorithmsโดย Cormen และคณะ และฉันอ่านงบทฤษฎีบทปริญญาโทที่เริ่มต้นในหน้า 73 ในกรณีที่ 3 นอกจากนี้ยังมีเงื่อนไขปกติที่ต้องมีความพึงพอใจในการใช้ทฤษฎีบท: ... 3. ถ้า ฉ( n ) = Ω ( nเข้าสู่ระบบขa + ε)f(n)=Ω(nlogb⁡a+ε)\qquad \displaystyle f(n) = \Omega(n^{\log_b a + \varepsilon}) สำหรับค่าคงที่และ ifε > 0ε>0\varepsilon > 0 ฉ( n / b ) ≤ c f( n )af(n/b)≤cf(n)\qquad \displaystyle af(n/b) \leq cf(n) [ …

1
เรื่อง“ ความสูงเฉลี่ยของต้นไม้เครื่องบินที่ปลูก” โดย Knuth, de Bruijn และ Rice (1972)
ฉันพยายามหากระดาษคลาสสิกในชื่อโดยใช้วิธีการเบื้องต้นเท่านั้น (ไม่มีฟังก์ชั่นการสร้างไม่มีการวิเคราะห์ที่ซับซ้อนไม่มีการวิเคราะห์ฟูริเยร์) แม้ว่าจะมีความแม่นยำน้อยกว่ามาก ในระยะสั้นผม "เท่านั้น" ต้องการที่จะพิสูจน์ว่าค่าเฉลี่ยความสูงชั่วโมงnชั่วโมงnh_nของต้นไม้ที่มีโหนด (นั่นคือจำนวนสูงสุดของโหนดจากรากใบ) ตอบสนองความn}nnnชั่วโมงn∼ πn---√ชั่วโมงn~πnh_n \sim \sqrt{\pi n} เค้าร่างมีดังนี้ ให้เป็นจำนวนต้นไม้ที่มีความสูงน้อยกว่าหรือเท่ากับ (โดยมีแบบแผนสำหรับ ) และB_ {nh}จำนวนต้นไม้ของโหนดnที่มีความสูงมากกว่าหรือเท่ากับh + 1 (นั่นคือB_ {nh} = A_ {nn} - A_ {nh} ) จากนั้นh_n = S_n / A_ {nn}โดยที่S_nคือผลรวมแน่นอน S_n = \ sum_ {h \ geqslant 1} h (A_ {nh} - A_ {n, h-1}) …

2
ประเภทของการลดและนิยามความแข็งที่เกี่ยวข้อง
ให้ A เป็นออกซิเจน B คือB ดังนั้นเครื่องทัวริงที่รับสามารถเข้าถึง oracle สำหรับได้ ให้เครื่องทัวริงยอมรับจะและ Oracle สำหรับเป็น{B} ประเภทของการลด:A B A M A B O BA ≤ BA≤BA \leq BAAABBBAAAMAMAM_{A}BBBOBOBO_{B} ทัวริงลดลง:สามารถทำให้คำสั่งหลายที่จะ{B} O BMAMAM_{A}OBOBO_{B} การลดคาร์ป: เรียกอีกอย่างว่า "เวลาพหุนามการลดทัวริง": อินพุตไปยังจะต้องสร้างขึ้นใน polytime ยิ่งกว่านั้นจำนวนการค้นหาไปยังจะต้องถูกล้อมรอบด้วยพหุนาม ในกรณีนี้:{B} O B P A = P BOBOBO_{B}OBOBO_{B}PA= PBPA=PBP^{A} = P^{B} การลดทัวริงแบบหลายคน:สามารถสร้างแบบสอบถามได้เพียงรายการเดียวถึงระหว่างขั้นตอนสุดท้าย ดังนั้นการตอบสนองของออราเคิลไม่สามารถแก้ไขได้ อย่างไรก็ตามเวลาที่ใช้ในการสร้างอินพุตไปยังไม่จำเป็นต้องมีขอบเขตโดยพหุนาม เท่ากับ: (แสดงถึงการลดลงหลายรายการ) O B …

4
ให้ชุดของชุดค้นหาชุดที่เล็กที่สุดที่ประกอบด้วยองค์ประกอบอย่างน้อยหนึ่งจากแต่ละชุด
เมื่อได้รับเซตของชุดฉันต้องการหาชุดซึ่งทุกชุดในมีองค์ประกอบของอย่างน้อยหนึ่งรายการ ฉันต้องการให้มีองค์ประกอบให้น้อยที่สุดเท่าที่จะเป็นไปได้ในขณะที่ยังคงเป็นไปตามเกณฑ์นี้แม้ว่าอาจมีเล็กที่สุดมากกว่าหนึ่งตัวที่มีคุณสมบัตินี้ (โซลูชันไม่จำเป็นต้องมีเอกลักษณ์) M S S M M MSS\mathbf{S}MMMSSSSS\mathbf{S}MMMMMMMMM เป็นตัวอย่างที่เป็นรูปธรรมสมมติว่า setเป็นชุดธงประจำชาติและสำหรับแต่ละธงในองค์ประกอบคือสีที่ใช้ในธงประจำชาตินั้น สหรัฐอเมริกาจะมีและโมร็อกโกจะมี\} แล้วจะเป็นชุดของสีที่มีคุณสมบัติที่ว่าทุกชาติใช้ธงอย่างน้อยหนึ่งของสีในM( สีโอลิมปิกสีฟ้าสีดำสีแดงสีเขียวสีเหลืองและสีขาวเป็นตัวอย่างของมหรืออย่างน้อยก็ในปี 2463) S S S = { r e d , w h ฉันt e , b l u e } S = { r e d , g r e e n } M M MSS\mathbf{S}SSSSS\mathbf{S}S= …

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

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

1
การอนุมานประเภทด้วยประเภทผลิตภัณฑ์
ฉันกำลังทำงานกับคอมไพเลอร์สำหรับภาษาที่ต่อกันและต้องการเพิ่มการสนับสนุนการอนุมานประเภท ฉันเข้าใจ Hindley - Milner แต่ฉันได้เรียนรู้ทฤษฎีประเภทเมื่อฉันไปดังนั้นฉันไม่แน่ใจว่าจะปรับตัวอย่างไร ระบบต่อไปนี้เป็นระบบเสียงที่ดี คำคือตัวอักษรองค์ประกอบของคำพูดคำพูดของคำหรือดั้งเดิม E : : = x||อีอี||[ e ]||...e::=x|ee|[e]|… e ::= x \:\big|\: e\:e \:\big|\: [e] \:\big|\: \dots เงื่อนไขทั้งหมดแสดงถึงฟังก์ชั่น สำหรับสองฟังก์ชั่นและ ,นั่นคือ juxtaposition แสดงถึงการจัดองค์ประกอบย้อนกลับ ตัวอักษรหมายถึงฟังก์ชั่น niladice 2อี1e1e_1อี2e2e_2อี1อี2= e2∘ e1e1e2=e2∘e1e_1\:e_2 = e_2 \circ e_1 คำอื่น ๆ นอกเหนือจากการแต่งมีกฎประเภทพื้นฐาน: x : ι[Lit]แกมมา⊢อีเมล์: σแกมมา⊢ [ E ] : ∀ …

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