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

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

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

1
cal -culculus: ประสิทธิภาพสูงสุดในการแสดงฟังก์ชั่นหน่วยความจำคืออะไร?
ฉันต้องการเปรียบเทียบประสิทธิภาพของฟังก์ชั่นเข้ารหัส (Church's / Scott's) เทียบกับโครงสร้างข้อมูลที่เข้ารหัสคลาสสิก (แอสเซมเบลอร์ / C) แต่ก่อนที่ฉันจะทำสิ่งนั้นฉันต้องรู้ว่าประสิทธิภาพ / สามารถเป็นตัวแทนของฟังก์ชันในหน่วยความจำได้อย่างไร ฟังก์ชั่นนี้สามารถใช้งานได้บางส่วน (ปิดหรือที่รู้จัก) ฉันสนใจทั้งอัลกอริธึมการเข้ารหัสปัจจุบันภาษาการใช้งานที่ได้รับความนิยม (Haskell, ML) ใช้และในภาษาที่มีประสิทธิภาพที่สุดที่สามารถทำได้ จุดโบนัส: มีการเข้ารหัสดังกล่าวว่าแผนที่ฟังก์ชั่นการเข้ารหัสจำนวนเต็มจำนวนเต็มพื้นเมือง ( short, intฯลฯ ใน C) เป็นไปได้ไหม ฉันให้ความสำคัญกับประสิทธิภาพตามประสิทธิภาพ กล่าวอีกอย่างหนึ่งก็คือยิ่งการเข้ารหัสมีประสิทธิภาพน้อยลงก็มีผลต่อประสิทธิภาพการคำนวณด้วยโครงสร้างข้อมูลที่ใช้งานได้

2
การนับหมู่เกาะในเมทริกซ์บูลีน
ได้รับ n × mn×ม.n \times m บูลีนเมทริกซ์ XX\mathrm X, ปล่อย 000 รายการเป็นตัวแทนของทะเลและ 111รายการหมายถึงที่ดิน กำหนดเกาะเป็นแนวตั้งหรือแนวนอน (แต่ไม่ใช่แนวทแยงมุม) ที่อยู่ติดกัน111 รายการ. คำถามเดิมคือการนับจำนวนเกาะในเมทริกซ์ที่กำหนด ผู้เขียนอธิบายถึงวิธีแก้ปัญหาแบบเรียกซ้ำ (O (nm)O(nม.)\mathcal{O}(nm) หน่วยความจำ) แต่ฉันไม่ประสบความสำเร็จในการพยายามหาวิธีการสตรีม (จากซ้ายไปขวาและจากนั้นลงไปที่แถวถัดไป) โซลูชันที่นับเกาะแบบไดนามิกด้วย O (m)O(ม.)\mathcal{O}(m) หรือ O (n)O(n)\mathcal{O}(n) หรือ O (n+m)O(n+ม.)\mathcal{O}(n+m)หน่วยความจำ (ไม่มีข้อ จำกัด สำหรับความซับซ้อนของเวลา) เป็นไปได้ไหม ถ้าไม่ฉันจะพิสูจน์ได้อย่างไร ตัวอย่างของเอาต์พุตที่คาดไว้สำหรับอินพุตบางอย่างสำหรับcountฟังก์ชัน: c o u n t⎛⎝⎜010111010⎞⎠⎟= 1 ; c o u n …

2
ความสอดคล้องภายนอกกับความสามารถเชิงเส้น
ในSpanner, TrueTime และทฤษฎีบท CAP , Eric Brewer เขียน: สิ่งหนึ่งที่ละเอียดอ่อนเกี่ยวกับ Spanner ก็คือมันได้รับ serializability จากล็อค แต่ได้รับความสอดคล้องภายนอก (คล้ายกับlinearizability ) จาก TrueTime [ เน้นเพิ่ม ] คำจำกัดความของความสอดคล้องภายนอกคืออะไรและแตกต่างจากความสามารถเชิงเส้นตรงอย่างไร

1
ระบบประเภทสามารถทำหน้าที่เป็นผู้ช่วยที่พิสูจน์สำหรับฟังก์ชั่นต่างประเทศได้หรือไม่?
ระบุว่า: ภาษาที่มีระบบการพิมพ์ที่แสดงออกมาก (เช่นIdris ) สามารถมีกลไกการหลบหนีเช่นอินเตอร์เฟสของฟังก์ชันต่างประเทศ / unsafePerformIO มีผู้ช่วยที่พิสูจน์ได้ซึ่งสามารถใช้เพื่อพิสูจน์คุณสมบัติบางอย่างของโปรแกรมที่เขียนในภาษาที่ไม่มีระบบชนิดที่สามารถแสดงคุณสมบัติเหล่านั้นได้ การโต้ตอบของ Curry – Howard แสดงให้เห็นว่าการใช้งานการตรวจสอบประเภทของฟังก์ชันที่มีประเภทที่กำหนดสำเร็จนั้นเป็นเครื่องพิสูจน์ว่าประเภทนั้นแสดงออกมาอย่างไร หนึ่งสามารถแสดงหลักฐานที่ไม่น่าสนใจของคุณสมบัติของรหัสภาษาต่างประเทศในระบบชนิดของภาษาพื้นเมือง? ตัวอย่างเช่นสมมติว่าฉันมีฟังก์ชั่น C ที่เรียกว่า stable_qsort ที่เรียงลำดับตัวเลขในวิธีที่ชาญฉลาดและมีประสิทธิภาพมากในขณะที่รักษาลำดับขององค์ประกอบที่เท่ากันอยู่แล้วและโปรแกรม Idris ที่เรียก stable_qsort ผ่าน FFI ของมัน ฟังก์ชั่น C ฉันสามารถพิสูจน์ได้ว่าฟังก์ชั่นไม่ได้เรียงลำดับองค์ประกอบที่เท่ากันสำหรับอินพุตทั้งหมดในรหัส Idris ของฉันแทนที่จะใช้ตัวช่วยพิสูจน์แยกต่างหากหรือไม่

1
วิธี ws ด้วย | w | = | s | และจะไม่มีบริบทในขณะที่ w # ไม่ใช่?
ทำไม (ถ้ามี) seperatorสร้างความแตกต่างระหว่างสองภาษา##\# สมมติว่า: L = { w s : | w | = | s |w , s ∈ { 0 , 1}* * * *, w ≠ s }L={Ws:|W|=|s|W,s∈{0,1}* * * *,W≠s}L=\{ws : |w|=|s|\, w,s\in \{0,1\}^{*}, w \neq s \} L#= { w # s : | w …

2
สถานะปัจจุบันของโปรแกรมแบบขนานหรือแบบเกิดขึ้นพร้อมกันใน isomorphism Curry-Howard คืออะไร?
ในการพิสูจน์และประเภทของ Girard เราสามารถอ่านได้: จากมุมมองอัลกอริทึมแคลคูลัสที่เรียงตามลำดับไม่มีมอร์ฟิซึ่มแกงกะหรี่ - ฮาวเวิร์ดเพราะมีวิธีการมากมายในการเขียนข้อพิสูจน์เดียวกัน สิ่งนี้ป้องกันเราจากการใช้งานเป็นแบบพิมพ์λλ\lambda- แคลคูลัสแม้ว่าเราจะเห็นโครงสร้างที่ลึกของชนิดนี้ แต่อาจเชื่อมโยงกับการขนาน หลักฐานและประเภท , JY Girard (หน้า 28) แต่เรายังสามารถอ่าน (เกี่ยวกับ Linear Logic) ได้ว่า จากมุมมองของวิทยาศาสตร์คอมพิวเตอร์มันให้แนวทางใหม่สำหรับคำถามเกี่ยวกับความเกียจคร้านผลข้างเคียงและการจัดสรรหน่วยความจำ [GirLaf, Laf87, Laf88] ด้วยแอพพลิเคชั่นที่น่าเชื่อถือเพื่อการขนาน หลักฐานและประเภท , JY Girard (หน้า 149, เขียนโดย Yves Lafont) โปรแกรมคู่ขนานเชื่อมโยงกับ Curry-Howard isomorphism อย่างไร สิ่งที่เป็นความคิดในปัจจุบันเกี่ยวกับที่?

2
มีปัญหาที่แตกต่างกันของ "ห้อยต่องแต่งอย่างอื่น" นอกเหนือจาก "จับคู่ที่ใกล้ที่สุด" หรือไม่?
นำเสนอไวยากรณ์ต่อไปนี้บริบทฟรี "ห้อยอื่น" ประเภทความกำกวม (คิดว่าย่อมาและย่อมาและยืนสำหรับบางชนิดอื่น ๆ ของการเรียนการสอนหรือบล็อก): ตัวอย่างเช่นสามารถแยกวิเคราะห์เป็นหรือเป็น (นี่เป็นคำที่ไม่ชัดเจน / สั้นที่สุดสำหรับไวยากรณ์นี้)aaaif expr thenขbbelseคccS→ a SขS|S|คS→aSbS|aS|c \begin{aligned} S &\rightarrow aSbS \;|\; aS \;|\; c\\ \end{aligned} คขคaacbcaacbc( a ( a c b c ) )(a(acbc))(a(acbc))( a ( a c ) b c )(a(ac)bc)(a(ac)bc) วิธี "มาตรฐาน" เพื่อแก้ไขความกำกวม "ห้อย" อื่น ๆ นี้บังคับให้คำสั่ง "else" ( ) …

3
เงื่อนไขสำหรับอนันต์ของภาษาของออโตเมติก จำกัด
มีทฤษฎีบทที่บอกว่า: ให้ออโตเมติก จำกัด มี state หากมีสตริงที่ความยาวตรงกับดังนั้นภาษาที่ยอมรับโดยหุ่นยนต์จะไม่มีที่สิ้นสุดnnnwwwn≤|w|≤2n−1n≤|w|≤2n−1n \leq |w| \leq 2n-1 ฉันเข้าใจข้อ จำกัดแต่ฉันไม่เข้าใจว่าทำไมข้อ จำกัดอยู่ที่นั่น|w|≥n|w|≥n|w| \geq n|w|≤2n−1|w|≤2n−1|w| \leq 2n-1

1
ซุปเปอร์จักรวาลคืออะไร?
ฉันอ่านนี้กระดาษที่รู้จักกันดีในจักรวาลในประเภททฤษฎี ตอนแรกฉันคาดหวังบางอย่างที่คล้ายกันSetωใน Agda แต่ปรากฎว่ามันเป็นอะไรที่ธรรมดากว่า ดูเหมือนว่าจะพูดถึงการสร้างเอกภพจากประเภทอุปนัยแบบเรียกซ้ำ - ซ้ำไปเป็นตัวยึด (คล้ายกับและ ) คำถามหลักที่ฉันต้องการถามคือความตั้งใจเบื้องหลังคืออะไรΠΠ\PiΣΣ\Sigma นี่คือรหัส Idris บางตัวที่กำหนดจักรวาลสไตล์ Tarski ตามปกติ: mutual public export data U : (level : Nat) -> Type where GroundU : Ground -> U level BinderU : Binder -> (a : U level) -> (b : (x : T {level} a) -> …

2
ไฟล์คืออะไร?
ฉันกำลังมองหาความหมายอย่างเป็นทางการของไฟล์ที่ไม่เพียงรวมที่เก็บข้อมูล แต่ยังรวมถึง abstractions เช่น procfs หรือ / dev / null (หรือไฟล์อิงฟิวส์) ที่ไม่เกี่ยวข้องกับการจัดเก็บ จนถึงตอนนี้ฉันรู้ว่าไฟล์ทั้งหมดเป็นนามธรรมที่ สามารถระบุได้ สามารถมีชื่อ (มักจัดระเบียบในโครงสร้างแบบลำดับชั้น) สามารถเข้าถึงได้เป็นสตรีมไบต์ มักจะให้สิทธิ์และข้อมูลเมตาอื่น ๆ (เฉพาะระบบ) แต่ฉันไม่สามารถหาคำจำกัดความที่เป็นทางการที่มีประโยชน์ในหนังสือ OS ที่ฉันอ่านมา

1
คู่พื้นฐานของ combinator ที่สมบูรณ์แบบที่สุดสำหรับการแสดงผลแบบแบน
ในกระดาษของ Chris Okasaki " Flattening Combinators: Surviving Without วงเล็บ) " เขาแสดงให้เห็นว่ามีสอง combinators เพียงพอและจำเป็นสำหรับการเข้ารหัสนิพจน์ทัวริงที่สมบูรณ์โดยไม่จำเป็นต้องใช้ตัวดำเนินการหรือวงเล็บ เมื่อเทียบกับการเข้ารหัสของ combinatory ตรรกะของ John Trump ใน " Binary Lambda แคลคูลัสและ Combinatory Logic " ผ่านการเข้ารหัสคำนำหน้า S และ K combinators กับผู้ให้บริการแอปพลิเคชันเพียงต้องการ combinators สองตัวสำหรับการแสดงแบบแบนเพิ่มความหนาแน่นของรหัส ผลลัพธ์ของการกำหนดหมายเลข Goedel จะจับคู่ทุกจำนวนเต็มกับนิพจน์ระยะปิดที่มีรูปแบบที่ถูกต้องซึ่งแตกต่างจาก esolangs ที่มีความยาวแคลคูลัสและคำอธิบายน้อยที่สุดซึ่งตัวแทนที่เป็นที่ยอมรับทั่วไปมักอนุญาตให้คำอธิบายโปรแกรมที่ไม่ถูกต้อง อย่างไรก็ตามการเข้ารหัสของ Okasaki นั้นมีประโยชน์มากที่สุดในการทำแผนที่ทางเดียวจากคำศัพท์ lambda แคลคูลัสกับ bitstrings ไม่จำเป็นต้องเป็นวิธีอื่น ๆ เนื่องจาก combinators สองตัวที่ใช้ในการลดนี้ค่อนข้างซับซ้อนเมื่อใช้เป็นคำแนะนำในการทดแทนที่ใช้งานได้จริง …

2
สำหรับภาษาใด ๆมีที่แต่
ฉันกำลังพยายามหาข้อพิสูจน์สำหรับสิ่งต่อไปนี้: สำหรับภาษาใด ๆมีอยู่ภาษาBดังกล่าวว่าA \ le _ {\ mathrm {T}} Bแต่ B \ nleq _ {\ mathrm {T}}AAABBBA≤TBA≤TBA \le_{\mathrm{T}} B≰TA≰TA\nleq_{\mathrm{T}} A ฉันกำลังคิดที่จะให้BBBเป็นATMATMA_{\mathrm{TM}}แต่ฉันรู้ว่าไม่ใช่ทุกภาษาที่ทัวริงลดได้ถึงATMATMA_{\mathrm{TM}}ดังนั้นA≤TBA≤TBA \le _T Bจะไม่ถือ ฉันมีทางเลือกอื่นของBBBที่จะให้ฉันเขียน TM ซึ่งใช้ oracle เพื่อให้BBBตัดสินใจAAAหรือไม่? ขอบคุณ!

1
CFG มีประสิทธิภาพเพียงใดที่อนุญาตให้มีกฎจำนวนไม่ จำกัด
ฉันสงสัยว่าเมื่อเร็ว ๆ นี้จะเกิดอะไรขึ้นถ้าเราอนุญาตให้ไวยากรณ์แบบไม่มีบริบทมีกฎจำนวนไม่สิ้นสุด เห็นได้ชัดว่าถ้าเราอนุญาตกฎเกณฑ์ที่ไม่มีขอบเขตเช่นนั้นทุกภาษามีตัวอักษรสามารถอธิบายได้โดย CFGพร้อม\} แต่จะเกิดอะไรขึ้นถ้าเรา จำกัดให้อยู่ในชุดของกฎที่สามารถสร้างขึ้นได้โดยใช้ไวยากรณ์ฟรีLLLΣΣ\SigmaG = ( { S} , Σ , R , S)G=({S},Σ,R,S)G = (\{S\},\Sigma,R,S)R = { S→ w ∣ w ∈ L }R={S→w∣w∈L}R = \{S \rightarrow w \mid w \in L \}RRR สำหรับวัตถุประสงค์นั้นกำหนดชุดของ nonterminalsและ terminalให้เราดูกฎที่ไม่ใช่องค์ประกอบของแต่เป็นเงื่อนไขเหนือตัวอักษร\} ตอนนี้คำถามของฉันคือถ้าเรากำหนดCFG กฎที่ไม่สิ้นสุดให้เป็น tupleโดยที่ยังไม่มีข้อความNNΣΣ\Sigmaยังไม่มีข้อความ× ( N∪ Σ)* * * *N×(N∪Σ)∗N \times …

1
เคล็ดลับที่ใช้ในการพิสูจน์ความซับซ้อนทวีคูณของเลขคณิตของ Presburger
ฉันโพสต์สิ่งนี้ใน MathUnderflow แต่ไม่มีคำตอบดังนั้นฉันคิดว่าฉันลองที่นี่ ฉันกำลังอ่านกระดาษเก่าของ Rabin และ Fischer [จะโพสต์ลิงก์เมื่อเป็นไปได้] ซึ่งเหนือสิ่งอื่นใดความซับซ้อนเชิงเลขชี้กำลังของ Presburger ได้รับการพิสูจน์แล้ว หลักฐานขึ้นอยู่กับการมีอยู่ของสูตรทางการยืนยัน " " ด้วย(n) แม้ว่าการสร้างสูตรนี้จะไม่ได้รับในกระดาษซึ่งเป็นเรื่องน่าประหลาดใจสำหรับฉันเมื่อพิจารณาว่ามันเป็นเรื่องที่ไม่น่าสนใจอย่างมากเนื่องจากมีข้อ จำกัด และความจริงที่ว่าเรามี แต่เพียงการกำจัดของเราเท่านั้น! ¹ผมn( x )In(x)I_{n}(x)x &lt;22k x + 1x&lt;22kx+1x < 2^{2^{kx+1}}|ผมn| ∈O(n)|In|∈O(n)|I_{n}| \in O(n) ต่อมาฉันเรียนรู้ว่าการสร้างสูตรนี้ขึ้นอยู่กับ "เคล็ดลับ" ที่ค้นพบก่อนหน้านี้โดย Fischer และเป็นอิสระจาก Volker Strassen แต่ฉันยังไม่สามารถติดตามกระดาษที่อธิบายรายละเอียดเคล็ดลับนี้ได้! ดังนั้นหากใครรู้เกี่ยวกับกระดาษที่ฉันกำลังพูดถึงและสามารถชี้ฉันในทิศทางของมันหรือแม้กระทั่งอธิบายเคล็ดลับให้ฉัน ... โพสต์นี้จากบล็อกของลิปตันมีลิงก์ไปยังบทความและกล่าวถึง [และให้ข้อมูลคร่าวๆ แต่น่าเสียดายที่ไม่เพียงพอสำหรับฉันร่างของ] เคล็ดลับ BTW กล่าว ¹ฉันรู้ว่านี่เป็นคำอธิบายที่คลุมเครือ แม้ว่าคำอธิบายโดยละเอียดที่เพียงพอจะยาวเกินไปสำหรับโพสต์ SX …

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