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

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

2
คำนวณจำนวนเต็มขนาดเล็กที่สุดอย่างมีประสิทธิภาพด้วยตัวหาร n
เพื่อที่จะแก้ไขปัญหานี้ฉันแรกสังเกตเห็นว่า ϕ (พีอี11 พีอี22⋯ พีอีkk) = (อี1+ 1 ) (อี2+ 1 ) ⋯ (อีk+ 1 )φ(พี1อี1 พี2อี2⋯ พีkอีk)=(อี1+1)(อี2+1)⋯(อีk+1)\phi(p_1^{e_1} \space p_2^{e_2} \cdots \space p_k^{e_k}) = (e_1 + 1)(e_2 + 1)\cdots(e_k +1) ที่ไหน ϕ ( m )φ(ม.)\phi(m) คือจำนวนตัวหาร (ไม่จำเป็นต้องมี) ของ ม.ม.m. ถ้าม.ม.m เป็นจำนวนเต็มเล็กที่สุดเช่นนั้น ϕ ( m ) = nφ(ม.)=n\phi(m) = nจากนั้น ϕ …

1
วิธีการวัดความซับซ้อนของปัญหาลอการิทึมไม่ต่อเนื่อง?
คำตอบสำหรับคำถามนี้ใน Crypto Stack Exchangeนั้นโดยทั่วไปบอกว่าในการวัดความซับซ้อนของปัญหาลอการิทึมเราจะต้องใช้ความยาวของตัวเลขที่แสดงขนาดของกลุ่มเข้าบัญชี ดูเหมือนว่าไม่มีเหตุผลทำไมเราไม่เลือกขนาดของกลุ่มเป็นข้อโต้แย้ง? มีเกณฑ์ที่จะรู้ว่าต้องเลือกอาร์กิวเมนต์อะไร? ในความเป็นจริงฉันรู้ว่าฉันมองข้ามบางสิ่งบางอย่างที่สำคัญเนื่องจากความซับซ้อนเปลี่ยนไปอย่างมากถ้าเราทำตามขนาดของกลุ่ม

2
เงื่อนไขสำหรับกราฟสองส่วนที่จะเป็นภาพถ่ายโดยไม่มีขอบล้อมรอบจุดยอด
กราฟสองส่วนคือระนาบถ้ามันไม่มีหรือผู้เยาว์K3 , 3K3,3K_{3, 3}K5K5K_5 ฉันกำลังมองหาเงื่อนไขที่จำเป็นหรือมีเงื่อนไขเพียงพอที่จะอนุญาตให้วาดแบบแนวระนาบที่ไม่มีขอบ ภาพวาดเหล่านี้เป็นที่น่าพอใจ: จุดยอดทั้งหมดของส่วนหนึ่งถูกวาดบนเส้นแนวตั้งเดี่ยว จุดยอดของส่วนอื่น ๆ จะถูกวาดบนเส้นแนวตั้งแบบขนาน ขอบไม่ตัดยกเว้นที่จุดยอด ขอบทั้งหมดอยู่ในแถบไม่มีที่สิ้นสุดระหว่างเส้นแนวตั้งสองเส้นในจุดที่ 1 ตัวอย่างเช่นภาพวาดทั้งหมดที่นี่ยกเว้นด้านล่างขวาไม่ใช่ตัวอย่าง กราฟด้านล่างซ้ายสามารถวาดใหม่เพื่อให้เป็นไปตามเงื่อนไขโดยการเปลี่ยนตำแหน่งของ Q และ R กราฟสองตัวที่ติดอันดับไม่สามารถถูกวาดใหม่เพื่อให้เป็นไปตามเงื่อนไข กราฟสองอันดับแรกเป็นเพียงสิ่งกีดขวางที่ฉันหาได้ คำถามของฉันคือ: ปัญหานี้มีชื่อหรือไม่? มีสิ่งกีดขวางอื่น ๆ ที่ฉันพลาดไปไหม คำแนะนำใด ๆ เกี่ยวกับวิธีที่ฉันสามารถพิสูจน์ได้ว่าสิ่งกีดขวางทั้งสองนี้ (รวมถึงสิ่งที่ฉันพลาด) ในฐานะผู้เยาว์มีความจำเป็นและเพียงพอ โปรดทราบว่านี่ไม่ใช่สิ่งเดียวกับการอยู่ด้านนอกระนาบ,เป็นระนาบด้านนอก (สามารถวาดเป็นสี่เหลี่ยมจัตุรัส) แต่ไม่สามารถวาดได้เพื่อตอบสนองเงื่อนไขที่ฉันกล่าวถึงข้างต้นK2 , 2K2,2K_{2, 2}

3
เหตุใดรัฐจึงไม่เปลี่ยนแปลงในซีแมนทิกส์การปฏิบัติการขั้นตอนเล็ก ๆ ของการวนรอบสักครู่?
ฉันมักจะเห็นว่าในการเป็นตัวแทนความหมายการดำเนินงานโครงสร้างสำหรับห่วงขณะที่สถานะของโปรแกรมจะไม่เปลี่ยนแปลง: ( w h i l eBdโอS, σ) → ( ฉันfBt h e nS; ( w h i l eBdโอS)e l s eSKผมP, σ)(whileBdoS,σ)→(ifBthenS;(whileBdoS)elseSKIP,σ)(while \> B \> do \>S, \sigma) \rightarrow (if \>B \> then \>S; (while \> B \> do \>S) \> else \> SKIP, \sigma) สำหรับฉันแล้วสิ่งนี้ไม่ง่ายหากสถานะไม่เปลี่ยนแปลง (เช่นสถานะของหน่วยความจำยังคงเหมือนเดิม) จากนั้น …

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

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

1
รูปสามเหลี่ยมคู่ที่ไม่ซ้ำกันของรูปหลายเหลี่ยมอย่างง่าย
ด้วยการกำหนดรูปสามเหลี่ยม (ไม่มีคะแนนสทิเนอร์) ของรูปหลายเหลี่ยมอย่างง่ายเราสามารถพิจารณาสมการสองตำแหน่งนี้ซึ่งกำหนดไว้ดังนี้ เราสร้างจุดสุดยอดสำหรับสามเหลี่ยมทุกรูปในการหาสามเหลี่ยมของเราและเราเชื่อมจุดยอดสองจุดถ้าสามเหลี่ยมที่สอดคล้องกันแบ่งปันขอบ กราฟคู่เป็นที่รู้จักกันว่าเป็นต้นไม้ที่มีระดับสูงสุดสามPPP สำหรับใบสมัครของฉันฉันสนใจในสิ่งต่อไปนี้ ได้รับต้นไม้ที่มีระดับสูงสุดที่สามจะมีเสมอง่ายเหลี่ยมดังกล่าวที่สองของทุกสมการ (ไม่จุดทิ) ของเท่ากับTตรงนี้สามเหลี่ยมของอาจไม่ซ้ำกัน แต่ฉันต้องการให้กราฟคู่ดูไม่ซ้ำกันTTTPPPPPPTTTPPP นี่เป็นความจริงอย่างแน่นอนเมื่อเป็นเส้นทาง แต่ไม่ชัดเจนเมื่อคุณมีจุดยอดองศาที่สามTTT

1
เมื่อใช้เป็นสแต็กการโทรสปาเก็ตตี้ที่ไม่มีขยะจะกลายเป็น DAG หรือไม่?
ฉันกำลังมองหาเทคนิคการใช้งานสำหรับภาษาการเขียนโปรแกรมและเมื่อเร็ว ๆ นี้ได้พบกับสปาเก็ตตี้สแต็คซึ่งน่าจะเหมาะสำหรับรูปแบบการส่งต่อที่ต่อเนื่อง (ให้ใช้ใน Scheme และ SML / NJ ) เพื่อให้ง่ายขึ้นลองพิจารณากระบวนการแบบเธรดเดี่ยวสำหรับคำถามนี้เท่านั้น อย่างไรก็ตามฉันรู้สึกสับสนเล็กน้อยกับ แผนภาพบน Wikipedia (และที่อื่น ๆ ) โดยเฉพาะฉันไม่เข้าใจว่าสถานการณ์ดังกล่าวสามารถเกิดขึ้นได้อย่างไร ฉันสามารถจินตนาการได้ว่ากิ่งที่เป็นสีเทานั้นไม่สามารถเข้าถึงได้และควรเก็บขยะ ในอีกทางหนึ่งด้วยความเข้าใจที่คลุมเครือของฉันเกี่ยวกับวิธีการใช้ CPS โดยใช้กองสปาเก็ตตี้ฉันไม่สามารถจินตนาการได้ว่าคุณจะได้รับการวนซ้ำในโครงสร้างนั้นได้อย่างไร ฉันต้องสรุปว่าแทนที่จะเป็น "แผนผังต้นกำเนิดของพ่อแม่" มันเป็นกราฟวงจรที่กำกับโดยมีแหล่งที่ไม่ใช่ขยะมากมายเช่นเดียวกับที่มีเธรดและมีจำนวนมากเท่าที่จะมี "จุดออก" แต่ความเข้าใจของฉันเกี่ยวกับการใช้งานนี้ค่อนข้างคลุมเครือดังนั้นฉันคิดว่าฉันอาจจะพลาดอะไรบางอย่างไป ฉันหวังว่าใครบางคนสามารถสอนฉันที่นี่ใน "spaghetti call stacks" ซึ่งฉันหมายถึงโครงสร้างข้อมูลที่ใช้ใน Scheme และ / หรือ SML / NJ เพื่อนำกระบวนการ CPS ไปใช้ รับสายสปาเก็ตตี้ดังต่อไปนี้: [exit point] <-- ... <-- [frame A] …

2
เป็นไปได้หรือไม่ว่าปัญหาการหยุดพักสามารถแก้ไขได้สำหรับอินพุตทั้งหมดยกเว้นรหัสของเครื่อง?
คำถามนี้เกิดขึ้นกับฉันเกี่ยวกับปัญหาการหยุดชะงักและฉันไม่สามารถหาคำตอบที่ดีทางออนไลน์ได้โดยสงสัยว่ามีใครสามารถช่วยได้บ้าง เป็นไปได้หรือไม่ว่าปัญหาการหยุดชะงักนั้นสามารถตัดสินใจได้สำหรับ TM ใด ๆ บนอินพุตใด ๆ ตราบใดที่อินพุตไม่ใช่ TM เอง? โดยทั่วไป: Halts(TM, I) IF TM == I: Undecidable, return a random result/throw an exception, whatever ELSE: Solve the problem Halts'(X) IF Halts(X, X): Loop infinitely ELSE: Print 'done' สิ่งนี้ดูเหมือนจะช่วยแก้ไขความขัดแย้ง เมื่อเราเรียก Halts ที่ขัดแย้งกัน (Halts ') เราไม่สามารถคาดหวังพฤติกรรมที่สอดคล้องกันได้ แต่การโทรไปยัง Halts (และ Halts') อื่น …

3
เวอร์ชันที่สร้างสรรค์ของความสามารถในการถอดรหัส?
วันนี้เวลากลางวันเราได้นำปัญหานี้กับเพื่อนร่วมงานของฉันและฉันประหลาดใจอาร์กิวเมนต์เจฟฟ์อีที่เป็นปัญหา decidable ไม่ได้โน้มน้าวให้พวกเขา ( นี่คือการโพสต์ที่เกี่ยวข้องอย่างใกล้ชิดใน mathoverflow) คำแถลงปัญหาที่อธิบายได้ง่ายขึ้น ("คือ P = NP?") ก็สามารถถอดรหัสได้เช่นกันว่าใช่หรือไม่ใช่และดังนั้นหนึ่งในสอง TMs ที่ส่งเอาต์พุตคำตอบเหล่านั้นจะตัดสินใจปัญหาเสมอ อย่างเป็นทางการเราสามารถตัดสินใจชุด : ทั้งเครื่องที่เอาท์พุทเท่านั้นสำหรับการป้อนข้อมูลและอื่น ๆตัดสินใจมันหรือเครื่องที่ไม่ได้สำหรับการป้อนข้อมูล2S: = { | { P, NP} | }S:={|{P,NP}|}S :=\{|\{P, NP\}|\}111111000222 หนึ่งในนั้นต้มลงเพื่อคัดค้านนี้: ถ้านั่นเป็นวิธีที่อ่อนแอเกณฑ์การตัดสินใจคือ - ซึ่งหมายความว่าทุกคำถามที่เราสามารถทำเป็นพิธีการเป็นภาษาที่เราสามารถแสดงให้เป็นที่แน่นอนคือ decidable - จากนั้นเราควรทำเป็นเกณฑ์ที่ ไม่ทำให้เกิดปัญหาใด ๆ กับคำตอบที่เป็นไปได้จำนวนมากที่สามารถแก้ไขได้อย่างเป็นทางการในลักษณะนี้ ในขณะที่สิ่งต่อไปนี้อาจเป็นเกณฑ์ที่แข็งแกร่งกว่านี้ฉันขอแนะนำว่าสิ่งนี้อาจทำให้แม่นยำโดยการกำหนดให้ decidability ควรขึ้นอยู่กับความสามารถในการแสดง TM โดยพื้นฐานแล้วเป็นการเสนอมุมมองของสัญชาตญาณ เพื่อนร่วมงานคนใดคนหนึ่งของฉันทุกคนยอมรับกฎหมายว่าด้วยการยกเว้นคนกลาง) มีคนทำพิธีและศึกษาทฤษฎีความสามารถในการตัดสินใจได้หรือไม่?

1
ฮีปที่หลอมรวมแบบสุ่ม - ความสูงที่คาดหวัง
Randomized Meldable Heapsมีการดำเนินการ "meld" ซึ่งเราจะใช้เพื่อกำหนดการปฏิบัติการอื่น ๆ ทั้งหมดรวมถึงส่วนแทรก คำถามคืออะไรคือความสูงที่คาดหวังของต้นไม้นั้นด้วย nnn โหนด? ทฤษฎีบทที่ 1 ของ Gambin และ Malinkowski, คิวลำดับความสำคัญที่หลอมรวมแบบสุ่ม (การดำเนินการตาม SOFSEM 1998, บันทึกการบรรยายในวิทยาการคอมพิวเตอร์ปีที่ 1521, หน้า 344–349, 1998; PDF ) ให้คำตอบสำหรับคำถามนี้พร้อมหลักฐาน อย่างไรก็ตามฉันไม่เข้าใจว่าทำไมเราถึงเขียน: E[hQ]=12((1+E[hQL])+(1+E[hQR])).E[hQ]=12((1+E[hQL])+(1+E[hQR])).\mathbb{E} [ h_Q] = \frac{1}{2} ((1 + \mathbb{E}[h_{Q_L}]) + (1 + \mathbb{E}[h_{Q_R}]))\,. สำหรับฉันความสูงของต้นไม้คือ hQ=1+max{hQL,hQR},hQ=1+max{hQL,hQR},h_Q = 1 + \max\, \{ h_{Q_L}, h_{Q_R}\}\,, …

4
ทำไมเราควรจะศึกษาทั้งสามรูปแบบของการเป็นตัวแทนของออโต จำกัด ?
DFA, NFA และ epsilon NFA ทั้งสามช่วยให้เราสามารถแสดงภาษาปกติเฉพาะ ด้วยการเป็นตัวแทนเหล่านั้นเราสามารถมาถึงการแสดงออกปกติเดียวกันแล้วทำไมเราต้องศึกษาทั้งสามรูปแบบของการเป็นตัวแทนของออโต้ จำกัด มีคำอธิบายบางอย่างเกี่ยวกับสิ่งที่ NFA สามารถทำได้ซึ่ง DFA ไม่สามารถทำได้นั่นคือ NFA อาจช่วยเราในการออกแบบความไม่แน่นอน ตัวอย่างเช่นในการออกแบบเกม (หมากรุก) เรามีตัวเลือกมากมายในการย้ายชิ้นส่วนเฉพาะจากตำแหน่งเฉพาะซึ่งสามารถแสดงได้อย่างง่ายดายโดยใช้ NFA แต่การใช้ epsilon NFA เมื่อใช้ NFA หรือ DFA แบบเดียวกันทำได้อย่างไร

2
จะพิสูจน์ได้อย่างไรว่าสี 3 สีนั้นสามารถตัดสินใจได้
เพื่อที่จะพิสูจน์ให้เห็นว่า 3 สีคือ decidable คือมันเพียงพอที่จะบอกว่า: แต่ละโหนดในกราฟมี 3 สีที่เป็นไปได้ ดังนั้นเราสามารถแจกแจงความเป็นไปได้ทั้งหมดจากนั้นตรวจสอบว่าไม่มีขอบสองอันเชื่อมต่อโหนดด้วยสีเดียวกัน3n3n3^n นั่นพิสูจน์ได้ว่าการระบายสี 3 สีนั้นสามารถตัดสินได้หรือไม่? หรือฉันต้องสร้างเครื่องทัวริงเพื่อพิสูจน์ความถูกต้อง? จากการระบายสี 3 ครั้งฉันกำลังพูดถึงปัญหาการระบายสีกราฟ เช่นกำหนดหนึ่งใน 3 สีให้กับแต่ละโหนดในกราฟที่ไม่ได้บอกทิศทางซึ่งไม่มีโหนดสองโหนดติดกันที่มีสีเดียวกัน

1
อะไรลูกศรขึ้น (
ฉันเรียนรู้ต้นไม้จุดได้เปรียบและฉันพบสิ่งนี้ในขณะที่อ่านโครงสร้างข้อมูลและอัลกอริทึมสำหรับการค้นหาเพื่อนบ้านที่ใกล้ที่สุดในช่องว่างการวัดทั่วไปโดย Peter Yianilos ( การดำเนินการของ SODA 1993 , SIAM, หน้า 311–321; PDF ) pseudocode ต่อไปนี้ปรากฏขึ้นในอัลกอริทึม 1 ฟังก์ชัน Make_vp_tree (S.)ถ้า S= ∅ แล้วกลับ ∅ใหม่ (โหนด);ปม↑.p : = Select_vp ( S);ปม↑.mu : =มัธยฐานs ∈ Sd( p , s ) ;...function Make_vp_tree(S)if S=∅ then return ∅new(node);node↑.p:=Select_vp(S);node↑.mu:=Medians∈Sd(p,s);…\begin{align*} \hspace{2em}&\hspace{-2em} \textbf{function}\text{ Make_vp_tree(}S\text{)}\\ &\textbf{if }S=\emptyset\textbf{ then return …
9 notation 

3
DFA สำหรับการยอมรับสตริงไบนารีทั้งหมดของรูปแบบพลังงานของ (ไม่หารด้วย ) คือสำหรับกำหนด
เราสามารถสร้างการยอมรับ DFA เลขฐานสองหารด้วยnnnn ตัวอย่างเช่น DFA ที่ยอมรับเลขฐานสองหารด้วย 2 สามารถเกิดขึ้นได้ดังนี้: ในทำนองเดียวกัน DFA ที่รับเลขฐานสองหารด้วย 3 สามารถเกิดขึ้นได้ดังนี้: เราสามารถทำตามขั้นตอนที่กำหนดไว้อย่างดีเพื่อจัดทำ DFA ประเภทนี้ อย่างไรก็ตามสามารถมีขั้นตอนที่กำหนดไว้ได้ดีหรือดีกว่าที่จะบอกว่าตรรกะสำหรับการสร้าง DFAs ยอมรับจำนวนรูปแบบnknkn^k ? ยกตัวอย่างเช่นให้เราพิจารณา DFA ยอมรับตัวเลขทั้งหมดของรูปแบบ k ภาษานี้จะเป็นจึงมี regex * เราสามารถสร้าง DFA ได้ดังต่อไปนี้: 2k2k2^k{1,10,100,1000,...}{1,10,100,1000,...}\{1,10,100,1000,...\}10∗10∗10^* ฉันลองสร้าง DFA เป็นเวลาและสิ่งที่คล้ายกันใช่ไหม แต่ก็ไม่สามารถที่จะทำเช่นนั้น หรือจะเป็นเพียงว่ารูปแบบของเทียบเท่าไบนารีซึ่งทำให้มันเป็นไปได้ที่จะสร้าง DFA และเราไม่สามารถสร้างการยอมรับ DFA เลขฐานสองทุกรูปแบบสำหรับเฉพาะ ?3k3k3^k2n2n2^nnknkn^knnn

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