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

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

1
อัลกอริทึมในการทดสอบว่าภาษาปกติหรือไม่
มีอัลกอริทึม / ขั้นตอนการทดสอบอย่างเป็นระบบว่าภาษานั้นปกติหรือไม่? กล่าวอีกนัยหนึ่งระบุภาษาที่ระบุในรูปแบบพีชคณิต (คิดว่าบางอย่างเช่น ) ทดสอบว่าภาษาเป็นปกติหรือไม่ ลองนึกภาพเรากำลังเขียนบริการเว็บเพื่อช่วยนักเรียนทำการบ้านทั้งหมด ผู้ใช้ระบุภาษาและบริการบนเว็บตอบกลับด้วย "ปกติ", "ไม่ปกติ" หรือ "ฉันไม่รู้" (เราต้องการให้บริการเว็บตอบ "ฉันไม่รู้" ไม่บ่อยเท่าที่จะเป็นไปได้) มีวิธีใดที่ดีในการทำสิ่งนี้โดยอัตโนมัติหรือไม่? สิ่งนี้สามารถแก้ไขได้หรือไม่? เป็นเรื่องที่ตัดสินใจได้หรือไม่ (คือสามารถรับประกันได้ว่าเราไม่จำเป็นต้องตอบว่า "ไม่รู้" หรือไม่? มีอัลกอริทึมที่มีประสิทธิภาพพอสมควรสำหรับการแก้ปัญหานี้หรือไม่และสามารถให้คำตอบอื่นที่ไม่ใช่ "ไม่รู้"L = { anขn: n ∈ N }L={anขn:n∈ยังไม่มีข้อความ}L=\{a^n b^n : n \in \mathbb{N}\} วิธีคลาสสิกสำหรับการพิสูจน์ว่าภาษาไม่ปกติคือการแทรกบทแทรก อย่างไรก็ตามดูเหมือนว่าต้องมีความเข้าใจคู่มือในบางจุด (เช่นเพื่อเลือกคำที่จะปั๊ม) ดังนั้นฉันไม่ชัดเจนว่าจะกลายเป็นสิ่งที่เป็นอัลกอริทึม วิธีคลาสสิกสำหรับการพิสูจน์ว่าภาษาเป็นเรื่องปกติที่จะใช้ทฤษฎีบท Myhill – Nerode เพื่อให้ได้มาซึ่งสถานะออโตเมติกอัน จำกัด นี่เป็นวิธีที่มีแนวโน้ม แต่จะต้องใช้ความสามารถในการดำเนินการขั้นพื้นฐานกับภาษาในรูปแบบพีชคณิต ไม่ชัดเจนสำหรับฉันว่ามีวิธีที่เป็นระบบในการดำเนินการเชิงสัญลักษณ์ที่จำเป็นสำหรับภาษาในรูปแบบพีชคณิต เพื่อให้คำถามนี้ถูกต้องเราจำเป็นต้องตัดสินใจว่าผู้ใช้จะระบุภาษาอย่างไร …

2
เปรียบเทียบระหว่างอัลกอริทึม Aho-Corasick และอัลกอริทึม Rabin-Karp
ฉันกำลังทำงานกับอัลกอริธึมการค้นหาสตริงที่สนับสนุนการค้นหาหลายรูปแบบ ผมพบว่าทั้งสองขั้นตอนวิธีการที่ดูเหมือนผู้สมัครที่แข็งแกร่งที่สุดในแง่ของเวลาการทำงานคือAho-Corasickและราบิน-คาร์พ อย่างไรก็ตามฉันไม่พบการเปรียบเทียบแบบครอบคลุมระหว่างอัลกอริธึมทั้งสอง อัลกอริทึมใดที่มีประสิทธิภาพมากกว่า นอกจากนี้อันไหนที่เหมาะกว่าสำหรับการคำนวณแบบขนานและการค้นหาหลายรูปแบบ? ในที่สุดใครจะใช้ทรัพยากรฮาร์ดแวร์น้อย? สำหรับอัลกอริทึม AC ระยะการค้นหาใช้เวลาในขณะที่เป็น RK อย่างไรก็ตามเวลาทำงานสำหรับ RK คือซึ่งทำให้คล้ายกับ AC ข้อสรุปเบื้องต้นของฉันคือ RK ดูดีกว่าเพราะไม่ต้องการหน่วยความจำมากเท่ากับ AC ถูกต้องหรือไม่O(n+m)O(n+m)O(n+m)O(nm)O(nm)O(nm)O(n+m)O(n+m)O(n+m)

1
ความซับซ้อนของการตัดสินใจว่าสูตรใดมี 1 การมอบหมายที่น่าพอใจอย่างแน่นอน
ปัญหาการตัดสินใจ กำหนดสูตรบูลีนไม่φได้ว่าหนึ่งในความพึงพอใจที่ได้รับมอบหมาย?φφ\phiφφ\phi สามารถเห็นได้ใน , U P -hard และc o N P -hard มีอะไรที่เป็นที่รู้จักมากขึ้นเกี่ยวกับความซับซ้อนของมัน?Δ2Δ2\Delta_2คุณพียูP\mathsf{UP}c o N Pคโอยังไม่มีข้อความP\mathsf{coNP}

1
การลดลงของปัญหาที่ไม่อาจตัดสินใจได้
ฉันขอโทษถ้าคำถามนี้มีคำตอบเล็กน้อยที่ฉันหายไป เมื่อใดก็ตามที่ฉันศึกษาปัญหาที่พิสูจน์แล้วว่าไม่สามารถตัดสินใจได้ฉันสังเกตว่าการพิสูจน์นั้นอาศัยการลดลงของปัญหาอื่นซึ่งพิสูจน์แล้วว่าไม่สามารถตัดสินใจได้ ฉันเข้าใจว่ามันสร้างคำสั่งบางอย่างเกี่ยวกับระดับความยากของปัญหา แต่คำถามของฉันคือ - มีการพิสูจน์แล้วว่าปัญหาทั้งหมดที่ไม่สามารถตัดสินใจได้สามารถลดลงเป็นปัญหาอื่นซึ่งไม่สามารถตัดสินใจได้ เป็นไปไม่ได้หรือไม่ที่จะมีปัญหาที่ไม่สามารถตัดสินใจได้ซึ่งสามารถพิสูจน์ได้ว่าไม่มีการลดลงของปัญหาที่ไม่สามารถตัดสินใจได้อื่น ๆ (ดังนั้นเพื่อพิสูจน์ความสามารถในการแก้ปัญหาดังกล่าว หากเราใช้การลดเพื่อสร้างคำสั่งในระดับของความสามารถในการคำนวณปัญหานี้จะไม่สามารถกำหนดระดับดังกล่าวได้

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

1
วิธีแมปเทปของเครื่องทัวริง“ k-tape” ลงในเทปเดียวของเครื่องทัวริง“ 1-tape”
ฉันกำลังอ่านSipserและฉันพบว่ามันยากที่จะเข้าใจว่ากระบวนการนี้เป็นเช่นไรหากคุณให้เครื่องทัวริง k กับเทป k ให้ฉันฉันสามารถพ่นเครื่องทัวริงเทียบเท่ากับเทปเดียว ตัวอย่างน่าจะดี อันที่จริงตัวอย่างที่แสดงให้เห็นว่าจะไปจาก TM ที่มีเทปหนึ่งที่มี 1 เทปเป็นสิ่งที่ฉันกำลังมองหา ฉันไม่สามารถหาได้จนถึงขณะนี้ ฉันยังไม่ได้มองหาหลักฐานใด ๆkkk

2
ตัวจําแนกข้อความที่อธิบายการตัดสินใจ
ฉันกำลังสร้างตัวจัดหมวดหมู่ข้อความสำหรับประโยคสั้น ๆ นอกเหนือจากการบอกผู้ใช้ว่า "หมวดหมู่ของข้อความที่คุณป้อนคือ C" ฉันต้องการอธิบายได้ว่าทำไมฉันจึงตัดสินใจนี้ด้วยวิธีที่สั้นและเข้าใจง่าย ตัวอย่างเช่นฉันไม่ต้องการบอกผู้ใช้ว่า "ฉันใส่ประโยคของคุณลงในเครือข่ายนิวรัล 3 ชั้นที่ซับซ้อนและนั่นคือคำตอบที่ให้คะแนนดีที่สุด"; ฉันต้องการคำอธิบายเช่น "ประโยคของคุณมีคำว่า U, V และ W ซึ่งเป็นลักษณะของหมวดหมู่นี้เนื่องจากประโยคเช่น X, Y และ Z ที่ปรากฏในข้อมูลการฝึกอบรม" คำถามของฉันคือ: อัลกอริธึมการจำแนกประเภทใดที่เหมาะที่สุดสำหรับแอปพลิเคชันดังกล่าว k- เพื่อนบ้านที่อยู่ใกล้ที่สุดดูเหมือนจะเป็นผู้สมัครที่ดีเพราะฉันสามารถบอกผู้ใช้ "ประโยคของคุณมีหมวดหมู่ C เพราะมันคล้ายกับประโยค X, Y และ Z ที่มีหมวดหมู่เดียวกัน แต่ประสิทธิภาพของปัญหาการจัดหมวดหมู่ข้อความเป็นที่รู้จักกัน ไม่ดีฉันกำลังมองหา classifie ที่ถ่วงดุลประสิทธิภาพด้วยความสามารถในการอธิบาย แก้ไข: หลังจากใช้เวลามากในการค้นหาตัวจําแนกเช่นนี้ฉันเริ่มสร้างไลบรารี่การเรียนรู้ของเครื่องที่เรียกว่าlimduซึ่งช่วยให้ตัวแยกประเภทอธิบายการตัดสินใจของพวกเขา มันยังอยู่ระหว่างการพัฒนา แต่มันช่วยฉันอธิบายตัวเองและเพื่อนร่วมงานแล้วทำไมตัวจําแนกของเราล้มเหลวบ่อยครั้ง ...

1
หอคอยแห่งฮานอย แต่มีการกำหนดค่าเริ่มต้นและครั้งสุดท้ายโดยพลการ
เมื่อเร็ว ๆ นี้ฉันมาข้ามปัญหานี้การเปลี่ยนแปลงของทาวเวอร์ของฮานอย คำชี้แจงปัญหา: พิจารณารูปแบบที่แตกต่างของความรู้ดีหอคอยแห่งฮานอย: เราได้รับหอคอยและดิสก์nnnขนาดซ้อนกันในหอคอยบางแห่ง วัตถุประสงค์ของคุณคือถ่ายโอนดิสก์ทั้งหมดไปยังหอคอยด้วยการเคลื่อนไหวน้อยที่สุดเท่าที่จะทำได้ แต่คำนึงถึงกฎต่อไปนี้:1 , 2 , 3 , … , ม1,2,3,...,ม.1,2,3,\dots,mkTHkTHk^{\text{th}} การย้ายดิสก์ครั้งละหนึ่งแผ่นเท่านั้น ไม่เคยย้ายดิสก์ที่มีขนาดใหญ่กว่าไปยังดิสก์ที่เล็กกว่า การเคลื่อนย้ายระหว่างอาคารที่มีระยะทางที่มากที่สุดdddd (ข้อ จำกัด ในปัญหาดั้งเดิม: และจำนวนกรณีทดสอบคุณสามารถสรุปได้ว่าปัญหาทั้งหมดสามารถแก้ไขได้ในการเคลื่อนไหวไม่เกิน )3 ≤ n ≤ 1,0003≤n≤10003 \le n \le 1000m ≤ 100ม.≤100m \le 100≤ 1,000≤1000\le 1000200002000020000 มันเป็นสิ่งที่น่าสนใจ หอคอยคลาสสิคของปัญหาฮานอยมีแหล่งที่มาปลายทางและหอคอยชั่วคราวที่ใช้ในการย้ายดิสก์จากแหล่งที่มาไปยังปลายทาง ปัญหาที่เกิดขึ้นบนไซต์นั้นจะมีการกำหนดค่าเริ่มต้นและขั้นสุดท้าย วิธีการหนึ่งจะเข้าถึงปัญหานี้ได้อย่างไร

3
จำนวนของเซ็ตย่อยที่แต่ละหมายเลขตั้งแต่ 1 ถึง
ปัญหาของฉัน ได้รับผมต้องการที่จะนับจำนวนของมัลติถูกต้องSMultisetนั้นถูกต้องถ้าn S SnnSSSS ผลรวมขององค์ประกอบของคือและS nSSnn ตัวเลขจากทุกเพื่อสามารถแสดงไม่ซ้ำกันเป็นผลรวมของบางส่วนขององค์ประกอบของที่S1 n11nnSS ตัวอย่าง. ตัวอย่างเช่นถ้าn = 5n = 5n=5แล้ว{ 1 , 1 , 1 , 1 , 1 } , { 1 , 2 , 2 } , { 1 , 1 , 3 }{ 1 , 1 , 1 , 1 , 1 } …

2
แรงน่าดึงดูด 1 / r โดยหุ่นยนต์อัตโนมัติ
มีหุ่นยนต์เซลลูลาร์ (ใน 2D) ที่จำลองแรงระหว่างอนุภาคหรือไม่?1/r1/r1/r โดยเฉพาะอย่างยิ่งฉันต้องการทราบว่าเป็นไปได้หรือไม่ที่มีกฎการอัปเดตในท้องถิ่นอย่างเคร่งครัดเพื่อให้มีวัตถุสองชิ้น (กำหนดไว้ในแบบจำลอง) ดึงดูดกันและกันด้วยแรง1/r1/r1/rโดยที่rrrคือระยะทางที่แยกวัตถุ โดยเฉพาะอย่างยิ่งสิ่งนี้จะทำให้เกิดการเร่งความเร็วของวัตถุ (อนุภาค) เมื่อพวกเขาเข้าใกล้กันมากขึ้น โดยทั่วไปสามารถจำลองแรงดึงดูดระยะยาวระหว่างวัตถุ (blobs) ในการตั้งค่าหุ่นยนต์อัตโนมัติด้วยกฎท้องถิ่นอย่างเคร่งครัดได้หรือไม่?

2
วงจรที่ยาวที่สุดมีสองรอบ
ปัญหาต่อไปนี้เป็น NP-complete หรือไม่ (ฉันคิดว่าใช่) อินพุต: กราฟที่ไม่ได้บอกทิศทางซึ่งชุดของขอบสามารถแบ่งออกเป็นสองวงจรแบบง่าย ๆ ซึ่งแบ่งเป็นสองส่วน (นี่ไม่ใช่ส่วนหนึ่งของอินพุต)k∈N,G=(V,E)k∈N,G=(V,E)k \in \mathbb{N},G=(V,E) คำถาม:แบบง่าย ๆ ที่มีความยาวมากกว่าหรือไม่?GGGkkk เห็นได้ชัดว่าปัญหาอยู่ใน NP และระดับสูงสุดในคือแต่ดูเหมือนจะไม่ช่วยGGG≤4≤4\leq 4

1
ความยาวเฉลี่ยของเส้นทาง st (ง่าย) ในกราฟกำกับ
เนื่องจากข้อเท็จจริงที่ว่าการแจกแจงเส้นทาง - tเป็นปัญหา # P-complete จะมีวิธีที่มีประสิทธิภาพที่คำนวณ (หรืออย่างน้อยประมาณ) ความยาวเฉลี่ยของเส้นทางs - tโดยไม่ต้องแจกแจงได้หรือไม่ ถ้าเส้นทางได้รับอนุญาตให้กลับไปที่จุดยอดsssเสื้อเสื้อtsssเสื้อเสื้อt ผลลัพธ์ที่เกี่ยวข้องในกราฟพิเศษอาจมีประโยชน์เช่นกัน

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

2
การตัดเค้กที่ยุติธรรมเมื่อผู้เล่นเข้าร่วมสาย
คำสั่งปกติของปัญหาการตัดเค้กที่ยุติธรรมถือว่าผู้เล่นทั้งหมดคนได้รับส่วนแบ่งในเวลาเดียวกัน อย่างไรก็ตามในหลายกรณีผู้เล่นมาถึงแบบค่อยเป็นค่อยไป ตัวอย่างเช่นเราอาจแบ่งเค้กให้กับผู้เล่นnคน แต่จากนั้นผู้เล่นใหม่มาถึงและต้องการแบ่งปันnnnnnn โดยปกติการแบ่งเค้กที่ยุติธรรมต้องใช้ความพยายามอย่างมาก (เช่นต้องการให้ผู้เล่นตอบคำถามมากมาย) โดยเฉพาะเมื่อจำนวนผู้เล่นมีจำนวนมาก เป็นไปได้หรือไม่ที่จะใช้ส่วนที่มีอยู่ของเค้กเหนือผู้เล่นคนเพื่อสร้างส่วนใหม่ของเค้กให้กับผู้เล่นn + 1ด้วยความพยายามเพิ่มเติมน้อยที่สุดnnnn + 1n+1n+1

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

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