วิทยาศาสตร์คอมพิวเตอร์เชิงทฤษฎี

คำถาม & คำตอบสำหรับนักวิทยาศาสตร์คอมพิวเตอร์เชิงทฤษฎีและนักวิจัยในสาขาที่เกี่ยวข้อง

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

2
ตัดออกสำหรับแคลคูลัสกับ nats หรือประเภทข้อมูลอุปนัยอื่น ๆ ?
ไม่มีใครนำฉันไปที่กระดาษที่มีรายละเอียดของทฤษฎีการตัดออกสำหรับตรรกะปรีชาเชิงประพจน์รวมถึงประเภทข้อมูลอุปนัยเช่นตัวเลขธรรมชาติ (รายการหรือต้นไม้จะดีเช่นกัน)? ตัวอย่างของชนิดของระบบฉันสนใจในการเป็นของGödel T ซึ่งมีประเภทที่กำหนดโดยไวยากรณ์: : = N ' ฉันไม่ได้สนใจเรื่องปริมาณมากกว่าตัวเลขธรรมชาติหรือภาคแสดงที่จัดทำดัชนีโดยตัวเลขธรรมชาติ: : = N|A → A'A:: =ยังไม่มีข้อความ|A→A'A ::= \mathbb{N} \;\;|\;\; A \to A' ฉันรู้วิธีพิสูจน์เบต้า - การทำให้เป็นมาตรฐานสำหรับเวอร์ชันหักธรรมชาติของระบบเหล่านี้โดยใช้อาร์กิวเมนต์ความสัมพันธ์เชิงตรรกะ (หรือเทคนิคที่เกี่ยวข้องเช่น NbE) แต่อยากรู้ว่ามีการอ้างอิงมาตรฐานเกี่ยวกับวิธีการปรับวิธีการเหล่านี้ เหตุผลที่ฉันถามคือฉันกำลังศึกษาการเพิ่มผู้ประกอบการจุดคงที่สำหรับการสอบถามซ้ำแบบมีการป้องกันให้กับภาษา แนวคิดเชิง denotational เป็นแนวคิดที่ค่อนข้างเก่า - ตีความประเภทเป็นช่องว่าง ultrametric และจุดคงที่ผ่านทางทฤษฎีบทของ Banach - แต่เทคนิค syntactic ล้วนๆที่ฉันรู้จักเพื่อพิสูจน์การกำจัดการตัดดูเหมือนจะปรับตัวไม่ได้

2
การวางหลักเกณฑ์ทั่วไปของอัลกอริธึมฮังการีเป็นกราฟทั่วไป
อัลกอริทึมฮังการีเป็นขั้นตอนวิธีการเพิ่มประสิทธิภาพ combinatorial ซึ่งจะช่วยแก้น้ำหนักสูงสุดที่ฝ่ายปัญหาที่ตรงกันในเวลาพหุนามและคาดว่าจะมีการพัฒนาต่อมาที่สำคัญวิธีการปฐม-คู่ อัลกอริทึมได้รับการพัฒนาและเผยแพร่โดย Harold Kuhn ในปี 1955 ซึ่งให้ชื่อ "อัลกอริธึมฮังการี" เนื่องจากอัลกอริทึมนั้นมาจากผลงานก่อนหน้าของนักคณิตศาสตร์ชาวฮังการีสองคน: DénesKőnigและJenőEgerváry Munkres ตรวจสอบอัลกอริทึมในปี 1957 และสังเกตว่ามันเป็น polytime แน่นอน ตั้งแต่นั้นมาอัลกอริทึมที่รู้จักกันว่าอัลกอริทึม Kuhn-Munkres แม้ว่าฮังการีจะมีแนวคิดพื้นฐานของวิธีการแบบสองเท่า แต่ก็แก้ปัญหาการจับคู่แบบสองฝ่ายที่มีน้ำหนักสูงสุดโดยตรงโดยไม่ต้องใช้เครื่องจักรเชิงเส้น (LP) ใด ๆ ดังนั้นในการตอบคำถามต่อไปนี้Jukka Suomela ให้ความเห็น แน่นอนว่าคุณสามารถแก้ไข LP ใด ๆ ได้โดยใช้ตัวแก้จุดประสงค์ทั่วไปของ LP แต่โดยทั่วไปอัลกอริทึมพิเศษจะมีประสิทธิภาพที่ดีกว่ามาก [... ] นอกจากนี้คุณยังสามารถหลีกเลี่ยงปัญหาเช่นการใช้ตัวเลขที่มีเหตุผลและจำนวนจุดลอยตัว; ทุกสิ่งสามารถทำได้อย่างง่ายดายด้วยจำนวนเต็ม กล่าวอีกนัยหนึ่งคุณไม่ต้องกังวลเกี่ยวกับวิธีการปัดเศษเหตุผล / วิธีแก้ปัญหาจุดลอยตัวจากตัวแก้ LP เพื่อให้ได้น้ำหนักสูงสุดกลับมาซึ่งการจับคู่ที่สมบูรณ์แบบที่สุดของกราฟสองส่วนที่กำหนด คำถามของฉันมีดังต่อไปนี้: มีอัลกอริธึมทั่วไปของฮังการีที่ใช้กับกราฟที่ไม่มีการบอกทิศทางทั่วไปโดยไม่ใช้เครื่องจักร LP คล้ายกับจิตวิญญาณของอัลกอริทึมดั้งเดิมของฮังการีหรือไม่? ฉันชอบงานนิทรรศการที่ทันสมัยและอ่านง่ายแทนที่จะเป็นกระดาษที่ซับซ้อนบางฉบับ แต่ตัวชี้ใด …

2
# ปัญหา P-Complete ซึ่งเวอร์ชันการตัดสินใจอยู่ใน P
1) เป็นไปได้หรือไม่ที่จะลดการจัดสรรเวลาจากปัญหา # P-complete #A เป็นปัญหาการนับ #B เมื่อ (รุ่นการตัดสินใจ) A คือ NP-complete และ B อยู่ใน P หรือไม่ ตัวอย่างเช่นจะมีการลดค่าลงจาก #SAT เป็น #B เมื่อ B อยู่ใน P หรือไม่ 2) ถ้า B อยู่ใน P ความเป็นไปได้ที่แตกต่างกันของความซับซ้อนของ #B คืออะไร

2
เหตุผลสำหรับวิธีฮังการี (Kuhn-Munkres)
ฉันเขียนการใช้งานอัลกอริทึมของ Kuhn-Munkres สำหรับปัญหาการจับคู่ที่สมบูรณ์แบบที่มีน้ำหนักน้อยที่สุดอย่างน้อยสองฝ่ายจากบันทึกการบรรยายที่ฉันพบที่นี่และที่นั่นบนเว็บ มันใช้งานได้ดีจริงๆแม้กระทั่งบนยอดเขานับพัน และฉันเห็นด้วยว่าทฤษฎีที่อยู่เบื้องหลังมันมีความสวยงามอย่างแท้จริง แต่ถึงกระนั้นฉันก็ยังสงสัยว่าทำไมฉันต้องไปให้ไกลขนาดนี้ ฉันพบว่าบันทึกการบรรยายเหล่านี้ไม่ได้อธิบายว่าทำไมเราไม่สามารถใช้โปรแกรมเชิงเส้นปฐมภูมิและส่งผ่านไปยังวิธีการแบบง่าย ๆ ได้ แน่นอนฉันสงสัยว่ามันเป็นคำถามของประสิทธิภาพที่คาดเดาได้ แต่เนื่องจากฉันไม่ได้เห็นมันระบุไว้อย่างชัดเจนฉันไม่แน่ใจเกินไป จุดเริ่มต้นที่มากของโพลีท็อปได้รับการพิสูจน์แล้วว่าอยู่ในช่วง 0-1 ดังนั้นดูเหมือนว่าเราสามารถป้อนเข้าสู่การใช้งาน simplex ได้โดยตรงโดยไม่ต้องกำหนดคู่ หรือว่าฉันเป็นคนง่ายๆ

3
ความซับซ้อนของการตรวจสอบว่า CNF สองแห่งมีจำนวนโซลูชั่นเท่ากันหรือไม่
ให้ CNF สองรายการหากพวกเขามีจำนวนที่ได้รับมอบหมายเท่ากันเพื่อทำให้เป็นจริงให้ตอบว่า "ใช่" มิฉะนั้นตอบว่า "ไม่" มันง่ายที่จะเห็นว่ามันอยู่ในเนื่องจากถ้าเรารู้จำนวนที่แน่นอนของ CNF ทั้งสองนี้เราก็แค่แค้มพวกเขาและตอบว่า "ใช่" หรือ "ไม่"P#PP#PP^{\#P} ความซับซ้อนของปัญหานี้คืออะไร?

1
การสร้างกราฟด้วยออปติกแบบ Trivial
ฉันกำลังแก้ไขรูปแบบการเข้ารหัสบางอย่าง เพื่อแสดงความไม่เพียงพอฉันได้วางแผนโปรโตคอลที่ออกแบบมาโดยอาศัยกราฟมอร์ฟิซึ่มส์ มันเป็น "ธรรมดา" (ยังเป็นที่ถกเถียงกันอยู่!) ที่จะสมมติว่าการดำรงอยู่ของอัลกอริธึม BPP สามารถสร้าง "กรณียากของปัญหากราฟ Isomorphism" (พร้อมกับพยานมอร์ฟิซึ่มส์) ในโปรโตคอลที่วางแผนไว้ของฉันฉันจะสมมติว่ามีอัลกอริทึม BPP ดังกล่าวซึ่งตรงตามข้อกำหนดเพิ่มเติมหนึ่งข้อ: ให้กราฟที่สร้างขึ้นจะและG_2มีเพียงพยานคนหนึ่ง (เปลี่ยนแปลง) ที่แมปเป็นเพื่อG_2G1G1G_1G2G2G_2G1G1G_1G2G2G_2 นี่ก็หมายความว่ามีเพียงautomorphisms จิ๊บจ๊อย ในคำอื่น ๆ ฉันสมมติว่าการดำรงอยู่ของอัลกอริทึม BPP บางอย่างซึ่งทำงานดังนี้:G1G1G_1 บนอินพุทให้สร้างกราฟ -vertexซึ่งมันจะมีออโตฟิวชั่นเพียงเล็กน้อยเท่านั้น1n1n1^nnnnG1G1G_1 เลือกการเปลี่ยนแปลงสุ่มกว่าและใช้มันในที่จะได้รับG_2ππ\pi[ n ] = { 1 , 2 , … , n }[n]={1,2,...,n}[n]=\{1,2,\ldots,n\}G1G1G_1G2G2G_2 เอาท์พุท ⟩⟨ กรัม1, ช2, π⟩⟨G1,G2,π⟩\langle G_1,G_2,\pi \rangle ฉันจะสมมติว่าในขั้นตอนที่ 1 สามารถสร้างได้ตามต้องการและ เป็นตัวอย่างที่ยากของปัญหากราฟมอร์ฟ …

1
วิธีการกำหนดฟังก์ชั่น inductively สองข้อโต้แย้งใน Coq?
ฉันจะโน้มน้าวใจให้ Coq ได้อย่างไรว่าฟังก์ชั่นวนซ้ำที่ระบุด้านล่างนี้ยุติลง? ฟังก์ชั่นใช้เวลาสองข้อโต้แย้งอุปนัย การสอบถามซ้ำจะสิ้นสุดลงเนื่องจากการโต้แย้งใด ๆ ถูกย่อยสลาย ฟังก์ชั่นนี้ใช้ต้นไม้สองต้นเป็นอินพุต Inductive Tree := | Tip: Tree | Bin: Tree -> Tree -> Tree. บนต้นไม้ฉันชอบทำรูปแบบการเหนี่ยวนำต่อไปนี้ Inductive TreePair := | TipTip : TreePair | TipBin : Tree -> Tree -> TreePair | BinTip : Tree -> Tree -> TreePair | BinBin : TreePair -> …

3
การผสมแฮชที่เกี่ยวข้อง
พิจารณารายการที่มีการเชื่อมโยงต่ำมากในการตั้งค่าการทำงานอย่างหมดจด การสรรเสริญของมันได้รับการร้องจากยอดเขาและจะยังคงสูง ที่นี่ฉันจะพูดถึงหนึ่งในจุดแข็งและคำถามว่ามันจะขยายไปสู่ระดับที่กว้างขึ้นของลำดับการทำงานที่บริสุทธิ์โดยใช้ต้นไม้ ปัญหามีดังต่อไปนี้: คุณต้องการทดสอบความเท่าเทียมกันของโครงสร้างเกือบทั้งหมดในเวลา O (1) โดยใช้วิธีการแปลงแป้นพิมพ์ที่เข้มงวด หากฟังก์ชันแฮชคือการเรียกซ้ำแบบโครงสร้างเช่น hash (x: xs) = ผสม x (hash xs) ดังนั้นคุณสามารถแคชค่าแฮชของรายการอย่างโปร่งใสและอัปเดตในเวลา O (1) เมื่อองค์ประกอบถูกพิจารณาลงในรายการที่มีอยู่ . อัลกอริทึมส่วนใหญ่สำหรับรายการที่แปลงแป้นพิมพ์มีการวนซ้ำแบบโครงสร้างดังนั้นวิธีนี้จึงใช้งานได้อย่างเด่นชัด แต่สมมติว่าแทนที่จะเป็นรายการที่เชื่อมโยงโดยลำพังคุณมีลำดับต้นไม้ที่สนับสนุนการเชื่อมโยงความยาว O (n) สองลำดับในเวลา O (log n) สำหรับการแคชแฮชให้ทำงานที่นี่ฟังก์ชันการผสมแฮชจะต้องเชื่อมโยงเพื่อเคารพองศาอิสระของต้นไม้ที่แสดงถึงลำดับเชิงเส้นเดียวกัน มิกเซอร์ควรใช้ค่าแฮชของทรีย่อยและคำนวณค่าแฮชของทรีทั้งหมด นี่คือที่ฉันเมื่อหกเดือนที่แล้วเมื่อฉันใช้เวลาหนึ่งวันครุ่นคิดและค้นคว้าปัญหานี้ ดูเหมือนว่าจะไม่ได้รับความสนใจในวรรณกรรมเกี่ยวกับโครงสร้างข้อมูล ฉันเจออัลกอริธึมการแปลงรหัส Tillich-Zemor จากการเข้ารหัส มันอาศัยการคูณเมทริกซ์ 2x2 (ซึ่งเชื่อมโยง) โดยที่บิต 0 และ 1 สอดคล้องกับเครื่องกำเนิดไฟฟ้าสอง subalgebra ที่มีรายการในฟิลด์ Galois คำถามของฉันคือฉันพลาดอะไรไป จะต้องมีเอกสารที่เกี่ยวข้องทั้งในวรรณคดีเกี่ยวกับการเข้ารหัสและโครงสร้างข้อมูลที่ฉันไม่พบในการค้นหาของฉัน …

2
การคาดเดาที่โดดเด่นและปัญหาเปิดในทฤษฎีเกม (อัลกอริทึม)?
การคาดเดาและปัญหาที่เปิดกว้างประเภทใดที่สำคัญที่สุดในทฤษฎีเกมอัลกอริทึม (หรือทฤษฎีเกมโดยทั่วไปที่เกี่ยวข้องกับ CS) ตัวอย่างเช่นความละเอียดของ NASH ว่าเป็น PPAD-complete ฉันคิดว่ามันเป็นสิ่งที่ใหญ่ที่สุดจนกระทั่งมันได้รับการแก้ไข (เพิ่มเติม: การแก้ไขความสัมพันธ์ของ PPAD กับ P และ NPเป็นปัญหาเปิดที่ดีอย่างหนึ่ง แต่คนอื่น ๆ ที่ไม่ยึดติดอยู่กับความซับซ้อนของการคำนวณก็เป็นสิ่งที่ดีเช่นกัน)

1
ลักษณะเครื่องของ
SCผมSAคผมSAC^iเป็นคลาสของปัญหาการตัดสินใจที่แก้ไขได้โดยตระกูลของวงจรความลึกพร้อมกับ fanin OR ที่ไม่มีขอบเขตและและ bounded-fanin และประตู อนุญาตให้มีการลบในระดับอินพุตเท่านั้น เป็นที่ทราบกันว่าSAC ^ iสำหรับi \ geq 1ถูกปิดภายใต้ส่วนประกอบและSAC ^ 0ไม่ได้ นอกจากนี้SAC ^ 1 = LogCFLและด้วยเหตุนี้จึงมีลักษณะของเครื่องเนื่องจากLogCFLเป็นชุดของภาษาที่ยอมรับโดยพื้นที่O ({\ log} n) ที่จำกัด ขอบเขตและเวลาเสริมโพลิโนเมียลที่ จำกัด ขอบเขต มีลักษณะของเครื่องที่คล้ายกันของSAC ^ iสำหรับi \ geq 2หรือไม่?S A C ฉัน i ≥ 1 S A C 0 S A C 1 = L o …

1
การตรวจจับความสัมพันธ์จำนวนเต็มสำหรับชุด Sum หรือ NPP
มีวิธีในการเข้ารหัสอินสแตนซ์ของผลรวมย่อยหรือปัญหาการแบ่งพาร์ติชันเพื่อให้การแก้ปัญหา (เล็ก) ของความสัมพันธ์จำนวนเต็มให้คำตอบหรือไม่? ถ้าไม่อย่างแน่นอนแล้วในแง่ความน่าจะเป็นบางอย่าง? ฉันรู้ว่า LLL (และอาจ PSLQ) ได้ถูกนำมาใช้กับความสำเร็จพอสมควรในการแก้ปัญหาระบบย่อยซำใน 'ความหนาแน่นต่ำ' ภูมิภาคที่ช่วงของตัวเลขได้รับการแต่งตั้งเป็นมากกว่าแต่วิธีการเหล่านี้ไม่ได้ดีขนาดไป กรณีของขนาดที่ใหญ่และล้มเหลวใน 'ความหนาแน่นสูง' ภูมิภาคเมื่อช่วงของตัวเลขที่เลือกมีขนาดเล็กกว่า2 N ที่นี่มีความหนาแน่นต่ำและมีความหนาแน่นสูงหมายถึงจำนวนโซลูชัน ภูมิภาคที่มีความหนาแน่นต่ำหมายถึงโซลูชันจำนวนน้อยหรือไม่มีเลยที่มีอยู่ในขณะที่ความหนาแน่นสูงหมายถึงภูมิภาคที่มีโซลูชันจำนวนมาก2N2N2^N2N2N2^N ในพื้นที่ที่มีความหนาแน่นสูง LLL ค้นหาความสัมพันธ์จำนวนเต็ม (เล็ก) ระหว่างอินสแตนซ์ที่กำหนด แต่เมื่อขนาดเพิ่มขึ้นความน่าจะเป็นของความสัมพันธ์ที่พบว่าเป็นผลรวมย่อยที่มีศักยภาพ การตรวจจับความสัมพันธ์จำนวนเต็มเป็นพหุนามภายในขอบเขตเอกซ์โพแนนเชียลของขอบเขตที่เหมาะสมในขณะที่เซตซัมและเอ็นพีพีนั้นชัดเจนว่า NP-Complete ดังนั้นโดยทั่วไปนี่อาจเป็นไปไม่ได้ แต่ถ้าอินสแตนซ์ถูกสุ่ม หรือฉันไม่ควรถามคำถามนี้ด้วยซ้ำและแทนที่จะถามว่ามีวิธีการลดขอบเขตที่อธิบายจากคำตอบที่ดีที่สุดแทนการเพิ่มเลขยกกำลังแทนหรือไม่

1
การลดชั้นในสุดอยู่ตลอดใน ty-แคลคูลัสที่ไม่มีการพิมพ์หรือไม่?
(ฉันได้ถามเรื่องนี้ที่ MathOverflow แล้ว แต่ไม่มีคำตอบอยู่ที่นั่น) พื้นหลัง ในแคลคูลัสแลมบ์ดา untyped คำที่อาจจะมี redexes จำนวนมากและทางเลือกที่แตกต่างกันเกี่ยวกับการเป็นที่หนึ่งในการลดอาจให้ผลลัพธ์ที่แตกต่างกันอย่างดุเดือด (เช่นซึ่งในทางหนึ่ง ขั้นตอน ( -) ลดทั้งหรือตัวเอง) ที่แตกต่างกัน (ลำดับ) ทางเลือกในการที่จะลดจะเรียกว่ากลยุทธ์การลด คำกล่าวจะnormalizingถ้ามีกลยุทธ์การลดลงซึ่งนำไปแบบปกติ คำกล่าวจะnormalizing อย่างยิ่งถ้ากลยุทธ์ลดทุกนำ( λ x . y) ( ( λ x . x x ) λ x . x x )(λx.Y)((λx.xx)λx.xx)(\lambda x.y)((\lambda x.xx)\lambda x.xx)ββ\betat t t tYYyเสื้อเสื้อtเสื้อเสื้อtเสื้อเสื้อtเสื้อเสื้อtสู่รูปแบบปกติ (ฉันไม่ได้กังวลเกี่ยวกับสิ่งที่ แต่การบรรจบกันรับประกันว่ามีความเป็นไปได้มากกว่าหนึ่งไม่ได้) กลยุทธ์การลดการกล่าวถึงเป็นnormalizing (และอยู่ในความรู้สึกบางอย่างที่ดีที่สุดที่เป็นไปได้) ถ้าเมื่อใดก็ตามมีรูปแบบปกติแล้วว่าของที่เราจะจบลง …

2
ลดขอบเขตใน #SAT หรือไม่
ปัญหา #SAT เป็นปัญหาแบบสมบูรณ์ # P ของ canonical มันเป็นปัญหาของฟังก์ชั่นแทนที่จะเป็นปัญหาในการตัดสินใจ มันจะถามให้สูตรบูลในตรรกะประพจน์กี่ความพึงพอใจที่ได้รับมอบหมายFมี ข้อใดคือขอบเขตที่ต่ำที่สุดใน #SATFFFFFF

1
บทความคลาสสิคจากทฤษฎีการเรียกซ้ำของทฤษฎีความซับซ้อนมีอะไรบ้าง
สองเอกสารที่ฉันจะรวมคือ: D. Kozen, "การจัดทำดัชนีของคลาสย่อย" , STOC, 1978 ร. Ladner, "ในโครงสร้างของการลดเวลาพหุนาม" , JACM, 1975

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