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

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

5
เงื่อนไขที่เพียงพอและจำเป็นเกี่ยวกับความสม่ำเสมอของภาษา
ข้อความใดต่อไปนี้ถูกต้อง มีเงื่อนไขที่เพียงพอและจำเป็นเกี่ยวกับความสม่ำเสมอของภาษา แต่ยังไม่ได้ค้นพบ ไม่มีเงื่อนไขเพียงพอและจำเป็นเกี่ยวกับความสม่ำเสมอของภาษา การปั๊มบทแทรกเป็นเงื่อนไขที่จำเป็นสำหรับความไม่สม่ำเสมอของภาษา การปั๊มบทแทรกเป็นเงื่อนไขที่เพียงพอสำหรับความไม่สม่ำเสมอของภาษา ฉันรู้ว่า# (4) ถูกต้องและ # (3) เป็นเท็จเพราะ "การสนทนาของคำสั่งนี้ไม่เป็นความจริง: ภาษาที่ตอบสนองเงื่อนไขเหล่านี้อาจยังไม่ปกติ" แต่สิ่งที่สามารถพูดเกี่ยวกับ (1) และ (2)?

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

1
อัลกอริทึม subcubic มีอยู่สำหรับปัญหาต่อไปนี้หรือไม่?
ให้สมมาตรจริงเมทริกซ์มีอัลกอริทึมที่คำนวณผลรวมทั้งหมดมีความซับซ้อนของเวลาดีกว่า ?A = ( a ฉันj ) ∑ i , j , k max ( a ฉันj , a ฉันk , a j k ) 1 ≤ ฉัน< j < k ≤ n O ( n 3 )n × nn×nn \times nA = ( aฉันเจ)A=(aij)A=(a_{ij})Σฉัน, j , kสูงสุด( aฉันเจ,ฉันk,j k)∑i,j,kmax(aij,aik,ajk)\sum_{i,j,k}\max(a_{ij},a_{ik},a_{jk})1 …

4
อะไรคือความแตกต่างทางความหมายระหว่างหมวดหมู่และชุด?
ในคำถามนี้ผมถามว่าอะไรคือความแตกต่างระหว่างชุดและประเภท คำตอบเหล่านี้ได้รับการชี้แจงอย่างชัดเจน (เช่น @AndrejBauer) ดังนั้นในความกระหายความรู้ของฉันฉันส่งไปยังสิ่งล่อใจของการถามเกี่ยวกับประเภทเดียวกัน: เวลาที่ฉันอ่านเกี่ยวกับทฤษฎีประเภท (ซึ่งเป็นที่ยอมรับค่อนข้างเป็นทางการ) ทุกฉันไม่สามารถจริงๆเข้าใจว่ามันแตกต่างจากการตั้งทฤษฎีเป็นรูปธรรม ดังนั้นในทางที่เป็นรูปธรรมมากที่สุดเท่าที่จะเป็นไปได้สิ่งที่บอกเป็นนัย เกี่ยวกับxxx C x ∈ S x x G r pว่าอยู่ในหมวดหมู่เมื่อเทียบกับการพูดว่า ? (เช่นอะไรคือความแตกต่างระหว่างการพูดว่าเป็นกลุ่มเมื่อเทียบกับที่บอกว่าอยู่ในหมวดหมู่ ?)คCCx ∈ Sx∈Sx\in Sxxxxxxจีอาร์พีGrp\mathrm {Grp} (คุณสามารถเลือกหมวดหมู่และชุดที่ทำให้การเปรียบเทียบชัดเจนที่สุด)

3
ทำไมการใช้งาน mutex ส่วนใหญ่จึงไม่ยุติธรรม?
ความเข้าใจของฉันคือการใช้งาน mutex ที่นิยมมากที่สุด (เช่น std :: mutex ใน C ++) ไม่รับประกันความเป็นธรรม - นั่นคือพวกเขาไม่รับประกันว่าในกรณีของการช่วงชิงการล็อคจะถูกรับโดยเธรดตามลำดับที่พวกเขา เรียกว่าล็อค () ในความเป็นจริงมันเป็นไปได้ (แม้จะหวังว่าผิดปกติ) ว่าในกรณีที่มีการโต้แย้งสูงบางกระทู้ที่รอรับ mutex อาจไม่เคยได้รับ นี่ดูเหมือนว่าพฤติกรรมที่ไม่ช่วยเหลือฉัน - ดูเหมือนว่า mutex ที่ยุติธรรมจะให้ผลการทำงานที่สอดคล้องกับสิ่งที่โปรแกรมเมอร์ต้องการ / คาดหวัง เหตุผลที่กำหนดว่าทำไมโดยทั่วไปแล้วการใช้งาน mutex จะไม่ถูกนำมาใช้เพื่อความยุติธรรมคือ "ประสิทธิภาพ" แต่ฉันต้องการทำความเข้าใจให้ดีขึ้นว่าอะไรคือความหมาย - โดยเฉพาะอย่างยิ่งการผ่อนคลายข้อกำหนดความเป็นธรรมของ mutex จะปรับปรุงประสิทธิภาพอย่างไร ดูเหมือนว่า mutex ที่ "ยุติธรรม" จะใช้งานได้ง่ายเพียงแค่มี lock () ต่อท้ายเธรดการเรียกไปยังส่วนท้ายของรายการที่เชื่อมโยงของ mutex ก่อนที่จะวางเธรดเข้าสู่โหมดสลีปแล้วปลดล็อก () ป๊อปเธรดถัดไปจาก หัวของรายการเดียวกันนั้นและปลุกมันขึ้นมา ฉันขาดความเข้าใจในการใช้งาน …

1
อุปนัยเหนี่ยวนำคืออะไร?
อะไรคือสิ่งที่เหนี่ยวนำเหนี่ยวนำ ? ทรัพยากรที่ฉันพบคือ: หนังสือ HoTTในตอนท้ายของบทที่ 5.7 บทความของ nLab กระดาษที่เรียกว่าคำจำกัดความอุปนัย - อุปนัย โพสต์บล็อกนี้ยังกล่าวถึงประเภทอุปนัย - อุปนัย การอ้างอิงสองรายการแรกสั้นเกินไปสำหรับฉันและการอ้างอิงสองรายการหลังเกินไปทางเทคนิค มีใครอธิบายได้บ้างในเทอมของคนธรรมดา? มันจะดีกว่าถ้ามีรหัส Agda

1
การรวบรวมปัญหา APX-hard
ทุกคนรู้ว่า "Garey & Johnson" ซึ่งเป็นข้อมูลอ้างอิงแบบ go-to ของฉันเมื่อใดก็ตามที่ฉันต้องการปัญหาในการเปลี่ยนจากการพิสูจน์ความกระด้าง NP อย่างไรก็ตามเมื่อเร็ว ๆ นี้ฉันพบว่าตัวเองต้องมีการพิสูจน์ความแข็งของ APX และฉันสงสัยว่ามีชุดของปัญหาที่คล้ายกัน (และมากขึ้นถึงวันที่ .. ?) ที่แสดงว่าเป็น APX-hard ไม่มีใครรู้เรื่องนี้บ้าง ฉันพบว่ามันยากที่จะเชื่อว่าไม่มีเว็บไซต์ที่รวบรวมปัญหาดังกล่าวอย่างเป็นระบบ แต่ทักษะ Google ของฉันดูเหมือนจะไม่เพียงพอ

2
ปริมาณสากล / การดำรงอยู่?
ฉันกำลังดิ้นรนเพื่อทำความเข้าใจกับวัตถุประสงค์ของการวัดปริมาณประเภทที่เป็นสากลและมีอยู่จริง ฉันเล่นรอบกับการเขียนภาษาของเล่นบนพื้นฐานของแคลคูลัสของการก่อสร้าง ฉันได้อ่านเกี่ยวกับMorteและHenkเพื่อช่วยให้ฉันเข้าใจมากขึ้น ฉันไม่เข้าใจว่าทำไม CoC มีทั้งแลมบ์ดาและโดยสังเขป ( ∀ x : . B )( λ x : . B )(λx:A.B)(\lambda x:A . B) ( ∀ x : . B )(∀x:A.B)(\forall x:A . B) สำหรับฉันแล้วแลมบ์ดาบอกให้รู้ว่าระบบย่อยที่ส่งผ่านด้วยตนเอง ในคำอื่น ๆ ที่ต่อไปนี้ ( ∀ x : ∗ . λ a : x . a )(∀x:∗.λa:x.a)(\forall x …

3
ส่งไปยังบูลีนสำหรับโปรแกรมเชิงเส้นจำนวนเต็ม
ฉันต้องการที่จะแสดงข้อ จำกัด ดังต่อไปนี้ในโปรแกรมเชิงเส้นจำนวนเต็ม: y={01if x=0if x≠0.y={0if x=01if x≠0.y = \begin{cases} 0 &\text{if } x=0\\ 1 &\text{if } x\ne 0. \end{cases} ฉันมีตัวแปรจำนวนเต็มและฉันสัญญาว่า100 ฉันจะแสดงข้อ จำกัด ข้างต้นได้อย่างไรในรูปแบบที่เหมาะสมสำหรับใช้กับตัวแก้โปรแกรมเชิงเส้นจำนวนเต็ม?x,yx,yx,y−100≤x≤100−100≤x≤100-100 \le x \le 100 สิ่งนี้น่าจะต้องมีการแนะนำตัวแปรเพิ่มเติมบางอย่าง ฉันต้องเพิ่มตัวแปรและข้อ จำกัด อะไรใหม่ มันสามารถทำได้อย่างหมดจดกับตัวแปรใหม่หนึ่งตัวหรือไม่? สอง? เท่านี้จะถามวิธีการบังคับใช้ข้อ จำกัด y≠0 if and only if x≠0.y≠0 if and only if x≠0.y \ne 0 \text{ …

2
มีลักษณะทั่วไปของการเข้ารหัส Huffman การเข้ารหัสทางคณิตศาสตร์หรือไม่
ในความพยายามที่จะเข้าใจความสัมพันธ์ระหว่าง Huffman Coding, เลขคณิต Coding และช่วงการเข้ารหัสที่ฉันเริ่มที่จะคิดว่าข้อบกพร่องของ Huffman การเข้ารหัสจะเกี่ยวข้องกับปัญหาของเศษส่วนบิตบรรจุ นั่นคือสมมติว่าคุณมี 240 ค่าที่เป็นไปได้สำหรับสัญลักษณ์และจำเป็นต้องเข้ารหัสนี้เป็นบิตคุณจะติดกับ 8 บิตต่อสัญลักษณ์แม้ว่าคุณไม่ต้องการ "เต็ม" 8 เนื่องจาก 8 สามารถแสดง 256 ค่าที่เป็นไปได้ ต่อสัญลักษณ์ วิธีแก้ปัญหานี้คือสิ่งที่ฉันเคยเห็นเรียกว่า "การบรรจุบิตเศษส่วน" ซึ่งคุณสามารถ "bitshift" โดยไม่ใช้กำลังสองโดยใช้การคูณ เช่นเดียวกับการเพิ่มทวีคูณของ powers-of-two x * 2 == x << 1และx * 4 == x << 2สำหรับพลังทั้งหมดของสองดังนั้นคุณสามารถ "shift" ด้วย non-power-of-2 โดยการคูณแทนและแพ็คในสัญลักษณ์เศษส่วนขนาดบิต . ปัญหาคล้ายกับการเข้ารหัส Huffman: คุณต้องจบด้วยรหัสที่ต้องมีความยาวไม่เป็นเศษส่วนขนาดบิตดังนั้นจึงมีการบรรจุที่ไม่มีประสิทธิภาพ อย่างไรก็ตามคุณไม่สามารถใช้โซลูชันของ …

2
ไม่ใช่ตัวหารสามัญน้อยที่สุด
โดยทั่วไปปัญหาคือ: สำหรับชุดของตัวเลขบวกพบจำนวนน้อยที่สุดที่ไม่ได้เป็นตัวหารขององค์ประกอบของคือxSSSdddSSS∀x∈S, d∤x∀x∈S, d∤x\forall x \in S,\ d \nmid x แสดงว่าn=|S|n=|S|n = |S|และC=max(S)C=max(S)C = \max(S) (S) พิจารณาฟังก์ชันF(x)=F(x)=F(x) = จำนวนที่สำคัญอย่างน้อยไม่หารxxxxมันเป็นเรื่องง่ายที่จะเห็นว่าF(x)≤logxF(x)≤log⁡xF(x) \leq \log xx และสำหรับชุดSSSให้F(S)=F(S)=F(S) = นายกอย่างน้อยที่ไม่ได้แบ่งองค์ประกอบของSSSSเรามีขอบเขตบน F(S)≤F(lcm(S))≤F(Cn)≤nlogC.F(S)≤F(lcm⁡(S))≤F(Cn)≤nlog⁡C.F(S) \leq F(\operatorname{lcm}(S)) \leq F(C^n) \leq n \log C. ดังนั้นขั้นตอนวิธีการแรงเดรัจฉานง่ายซึ่งระบุตัวเลขทั้งหมดจาก111ไปnlogCnlog⁡Cn \log Cและการตรวจสอบถ้ามันไม่ได้แบ่งองค์ประกอบของSSSเป็นพหุนามและมีเวลาซับซ้อนO(n2logC)O(n2log⁡C)O(n^2 \log C)C) วิธีอื่น ๆ ในการแก้ปัญหาคือการคำนวณปัจจัยทั้งหมดสำหรับองค์ประกอบของทุกSSSและใช้พวกเขาในอัลกอริทึมแรงเดรัจฉานเพื่อตรวจสอบว่าxxxเป็นคำตอบในO(1)O(1)O(1)เวลา อัลกอริทึมนี้มีความซับซ้อนของเวลาO(n⋅min(C−−√,nlogC)+nlogC)O(n⋅min(C,nlog⁡C)+nlog⁡C)O(n \cdot \min (\sqrt{C}, n \log C) + …

2
HORN-SAT อยู่ใน LIN ใช่หรือไม่ถ้าใช่เหตุใดจึงไม่บ่งชี้ว่า P = LIN
สวนสัตว์เชิงซ้อน (Complexity Zoo)ให้คำจำกัดความว่าเป็นชั้นของปัญหาการตัดสินใจที่แก้ไขได้โดยเครื่องทัวริงที่กำหนดขึ้นในเวลาเชิงเส้นLINLINLIN LIN⊆PLIN⊆PLIN \subseteq P เนื่องจาก HORN-SAT สามารถแก้ไขได้ใน (ตามที่ระบุในอัลกอริธึมเชิงเส้นเวลาสำหรับการทดสอบความพึงพอใจของสูตรฮอร์นเชิงประพจน์ (1984 )O(n)O(n)O(n) อัลกอริธึมใหม่สำหรับการตัดสินใจว่าจะนำเสนอสูตรฮอร์น (แบบมีเงื่อนไข) ที่น่าพอใจหรือไม่ หากสูตรฮอร์นมีตัวอักษรเชิงประพจน์แตกต่างกันและหากสันนิษฐานว่าพวกเขาเป็นอัลกอริธึมทั้งสองที่นำเสนอในบทความนี้จะทำงานในเวลาโดยที่คือจำนวนครั้งทั้งหมด ในAAAKKKP1,…,PKP1,…,PKP_1,…, P_KO(N)O(N)O(N)NNNAAA ฉันสงสัยว่าทำไมเราไม่สามารถสรุปได้ LIN=PLIN=PLIN = P เนื่องจาก HORN-SAT ได้รับการพิสูจน์แล้วว่าเป็น complete ภายใต้การลดพื้นที่ล็อก ? ฉันต้องคิดถึงบางสิ่ง หรือว่าเป็นข้อเท็จจริงที่รู้จักกันดี?PPP (ฉันยังอ่านบทความ 1984 อย่างถี่ถ้วนดังนั้นฉันจึงไม่เข้าใจอัลกอริธึมสำหรับการแก้ HORN-SAT ในเวลาเชิงเส้นและดังนั้นฉันอาจเข้าใจผิดเกี่ยวกับเรื่องนี้)

2
หนังสือคณิตศาสตร์ที่ดีเกี่ยวกับอัลกอริทึม [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ฉันเป็นคนดูดความสง่างามทางคณิตศาสตร์และความแม่นยำและตอนนี้ฉันกำลังมองหาวรรณกรรมดังกล่าวเกี่ยวกับอัลกอริทึมและการวิเคราะห์อัลกอริทึม ตอนนี้มันไม่สำคัญอะไรสำหรับฉันว่าอัลกอริธึมจะครอบคลุมอะไรมาก แต่วิธีการที่พวกมันถูกนำเสนอและได้รับการปฏิบัติมากที่สุด "ฉันให้ความสำคัญกับภาษาที่ชัดเจนและแม่นยำมากซึ่งกำหนดความคิดที่ใช้ทั้งหมดในลักษณะที่เข้มงวด ฉันพบว่าคลาสสิกรู้เบื้องต้นเกี่ยวกับอัลกอริทึมโดย Cormen, Leiserson, Rivest และ Stein ค่อนข้างเรียบร้อย แต่ไม่สามารถจัดการกับคณิตศาสตร์ได้ดีและค่อนข้างเป็นทางการพร้อมหลักฐานและคำจำกัดความของมัน Sipser's Introduction to Theory of Computed ดูเหมือนจะดีกว่าในเรื่องนั้น แต่ก็ยังไม่มีการเปลี่ยนจากคณิตศาสตร์เป็นอัลกอริทึม มีใครแนะนำอะไรได้บ้าง ¹: อย่างน้อยที่สุดอัลกอริธึมควรจัดการการจัดการข้อมูลที่ต้องการโดยใช้โครงสร้างข้อมูลนามธรรมแบบไม่ธรรมดาเช่นกราฟ, อาร์เรย์, ชุด, รายการ, ต้นไม้และอื่น ๆ - โดยเฉพาะควรใช้กับโครงสร้างข้อมูลเช่นนั้น ฉันจะไม่สนใจเช่นกันหากปัญหาการใช้งานและการจัดการโครงสร้างข้อมูลถูกละเลยไปโดยสิ้นเชิง แม้ว่าฉันจะไม่สนใจปัญหาที่แก้ไขได้มากนัก

3
อัลกอริทึมสำหรับการลดขนาดออโตเมติกของ Moore
อัลกอริธึมของ Brzozowski สามารถขยายไปยังออโตเมตของมัวร์ได้ แต่ความซับซ้อนของเวลานั้นมีความซับซ้อนโดยทั่วไป มีอัลกอริธึมอื่น ๆ สำหรับการลดขนาดออโตเมติกให้เล็กที่สุดหรือไม่? อะไรคือเวลาทำงานของอัลกอริทึมเหล่านี้ถ้ามี?

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

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