คำถามติดแท็ก intuition

คำถามที่ขอความช่วยเหลือในการสร้างสัญชาตญาณสำหรับแนวคิดที่เป็นทางการหรือซับซ้อน

8
สัญชาตญาณของอัลกอริทึมสำหรับความซับซ้อนลอการิทึม
ฉันเชื่อว่าฉันมีความเข้าใจที่เหมาะสมของความซับซ้อนเช่น , Θ ( n )และΘ ( n 2 )O (1)O(1)\mathcal{O}(1)Θ ( n )Θ(n)\Theta(n)Θ ( n2)Θ(n2)\Theta(n^2) ในแง่ของรายการคือการค้นหาอย่างต่อเนื่องดังนั้นมันจึงเป็นแค่การนำส่วนหัวของรายการ Θ ( n )คือที่ที่ฉันจะเดินรายการทั้งหมดและΘ ( n 2 )กำลังเดินรายการหนึ่งครั้งสำหรับแต่ละองค์ประกอบในรายการO (1)O(1)\mathcal{O}(1)Θ ( n )Θ(n)\Theta(n)Θ ( n2)Θ(n2)\Theta(n^2) มีวิธีที่เข้าใจง่ายคล้ายกันในการเข้าใจนอกเหนือจากการรู้ว่ามันอยู่ที่ไหนสักแห่งระหว่างO ( 1 )และΘ ( n )หรือไม่Θ ( บันทึกn )Θ(log⁡n)\Theta(\log n)O (1)O(1)\mathcal{O}(1)Θ ( n )Θ(n)\Theta(n)

2
ทำไมเราถึงเชื่อว่า PSPACE ≠ EXPTIME
ฉันมีปัญหาในการเข้าใจอย่างชัดเจนว่าทำไม PSPACE โดยทั่วไปเชื่อว่าแตกต่างจาก EXPTIME ถ้า PSPACE เป็นชุดของปัญหาที่แก้ไขได้ในพหุนามอวกาศในขนาดอินพุตดังนั้นจะมีคลาสของปัญหาที่ประสบกับการระเบิดเวลาแบบเอ็กซ์โพเนนเชียลมากกว่าและไม่ได้ใช้ประโยชน์จากพื้นที่ชี้แจงf(n)f(n)f(n) คำตอบของ Yuval Filmus มีประโยชน์อย่างมากแล้ว อย่างไรก็ตามทุกคนสามารถร่างข้อโต้แย้งที่หลวม ๆ ของฉันได้หรือไม่ว่าทำไมมันอาจเป็นกรณีที่ PSPACE ≠ EXPTIME (เช่น PSPACE นั้นไม่ใช่เซตย่อยที่เหมาะสมของ EXPTIME) เราไม่ต้องการพื้นที่แบบเอ็กซ์โพเนนเชียลเพื่อเอาชนะขอบเขตบนสำหรับจำนวนการกำหนดค่าระบบทั้งหมดที่ทำได้ด้วยพื้นที่ที่ขยายขนาดแบบพหุนามด้วยขนาดอินพุต เพียงแค่พูดว่าฉันสามารถเข้าใจว่าทำไม EXPTIME ≠ EXPSPACE เป็นเรื่องเปิด แต่ฉันไม่เข้าใจเกี่ยวกับความสัมพันธ์ระหว่าง PSPACE และ EXPTIME

7
มีหลักฐานที่ใช้งานง่ายมากขึ้นของความลังเลของปัญหาการหยุดชะงักกว่าแนวทแยงมุมหรือไม่?
ฉันเข้าใจหลักฐานของความลังเลของปัญหาการหยุดชะงัก (ยกตัวอย่างในตำราเรียนของ Papadimitriou) โดยยึดตามแนวทแยงมุม ในขณะที่การพิสูจน์นั้นน่าเชื่อถือ (ฉันเข้าใจในแต่ละขั้นตอนของมัน) แต่ฉันก็ไม่เข้าใจง่ายในแง่ที่ว่าฉันไม่เห็นว่าใครจะได้รับมันโดยเริ่มจากปัญหาเพียงอย่างเดียว ในหนังสือหลักฐานจะเป็นดังนี้: "สมมติว่าแก้ปัญหาการหยุดชะงักของอินพุตนั่นคือตัดสินใจว่าเครื่องทัวริงหยุดการทำงานของอินพุตหรือไม่สร้างเครื่องทัวริงที่ใช้เครื่องทัวริงเป็นอินพุต รันและกลับด้านเอาต์พุต " จากนั้นจะแสดงว่าไม่สามารถสร้างผลลัพธ์ที่น่าพอใจMHMHM_HM;xM;xM;xMMMxxxDDDMMMMH(M;M)MH(M;M)M_H(M;M)D(D)D(D)D(D) มันเป็นสิ่งก่อสร้างโดยพลการของโดยเฉพาะอย่างยิ่งความคิดในการให้อาหารให้กับตัวเองและจากนั้นเป็นของตัวเองที่ฉันต้องการมีสัญชาตญาณ อะไรที่ทำให้คนต้องกำหนดโครงสร้างและขั้นตอนเหล่านั้นตั้งแต่แรกDDDMMMDDD ใครบ้างมีคำอธิบายว่าใครบางคนจะใช้เหตุผลวิธีการของพวกเขาในการโต้แย้งเส้นทแยงมุม (หรือหลักฐานอื่น ๆ ) ถ้าพวกเขาไม่ทราบชนิดของการโต้แย้งที่จะเริ่มต้นด้วย? ภาคผนวกให้คำตอบรอบแรก: ดังนั้นคำตอบแรกชี้ให้เห็นว่าการพิสูจน์ความลังเลของปัญหาการหยุดชะงักเป็นสิ่งที่อิงจากงานก่อนหน้าของคันทอร์และรัสเซลและการพัฒนาปัญหาเส้นทแยงมุมและการเริ่มต้น "จากศูนย์" จะหมายถึงการค้นพบการโต้แย้งใหม่อีกครั้ง ยุติธรรมพอสมควร อย่างไรก็ตามแม้ว่าเรายอมรับการโต้เถียงในแนวทแยงมุมตามที่เข้าใจดี แต่ฉันก็ยังพบว่ามี "ช่องว่างปรีชา" จากปัญหาการหยุดชะงัก การพิสูจน์ของคันทอร์เกี่ยวกับจำนวนที่นับไม่ได้อันแท้จริงฉันพบว่าใช้งานง่าย ความขัดแย้งของรัสเซลยิ่งกว่านั้นอีก สิ่งที่ฉันยังไม่เห็นเป็นสิ่งที่จะกระตุ้นให้คนที่จะกำหนดขึ้นอยู่กับ 's 'โปรแกรมด้วยตนเอง'และหลังจากนั้นอีกใช้กับตัวเอง ดูเหมือนว่าจะมีความเกี่ยวข้องน้อยกว่ากับการทำให้เป็นเส้นทแยงมุม (ในแง่ที่การโต้แย้งของคันทอร์ไม่ได้มีอะไรอย่างนั้น) แม้ว่ามันจะทำงานได้ดีกับ diagonalization เมื่อคุณนิยามมันD(M)D(M)D(M)MMMM;MM;MM;MDDD PS @babou สรุปสิ่งที่ทำให้ฉันหนักใจดีกว่าตัวฉัน: "ปัญหาของการพิสูจน์หลายรุ่นคือสิ่งก่อสร้างดูเหมือนว่าจะถูกดึงออกมาจากหมวกวิเศษ"

2
กฎของหัวแม่มือที่จะรู้ว่าปัญหาอาจจะเป็นปัญหาที่สมบูรณ์
คำถามนี้ได้รับแรงบันดาลใจจากความคิดเห็นใน StackOverflow นอกเหนือจากการรู้ปัญหาที่สมบูรณ์แบบของหนังสือ Garey Johnson และอื่น ๆ อีกมากมาย; มีกฎของหัวแม่มือที่จะรู้ว่าปัญหาดูเหมือนว่าสมบูรณ์ NP ปัญหาหรือไม่ ฉันไม่ได้มองหาบางสิ่งที่เข้มงวด แต่เป็นสิ่งที่ใช้ได้ผลในกรณีส่วนใหญ่ แน่นอนทุกครั้งที่เราต้องพิสูจน์ว่าปัญหานั้นเกิดจากปัญหา NP-complete หรือตัวแปรหนึ่งของปัญหา NP-complete แต่ก่อนที่จะรีบไปพิสูจน์มันจะเป็นการดีถ้ามีความมั่นใจในผลบวกของการพิสูจน์

7
อะไรคือคุณสมบัติของอัลกอริทึมความซับซ้อนของเวลา
บางครั้งมันง่ายที่จะระบุความซับซ้อนของเวลาของอัลกอริทึมที่ฉันตรวจสอบอย่างรอบคอบ อัลกอริทึมที่มีสองวงซ้อนกันของจะเห็นได้ชัด 2 อัลกอริทึมที่สำรวจทั้งหมดรวมกันเป็นไปได้ของกลุ่มของสองค่าจะเห็นได้ชัด NNNNN2N2N^2NNN2N2N2^N อย่างไรก็ตามฉันไม่ทราบวิธี "ระบุ" อัลกอริทึมที่มีความซับซ้อนตัวอย่างการนำไปใช้การผสานแบบเรียกซ้ำเป็นแบบหนึ่ง อะไรคือคุณสมบัติทั่วไปของการรวมหรืออัลกอริทึมอื่น ๆที่จะให้เบาะแสถ้าฉันวิเคราะห์มัน?Θ(NlogN)Θ(Nlog⁡N)\Theta(N \log N)Θ(NlogN)Θ(Nlog⁡N)\Theta(N \log N) ฉันแน่ใจว่ามีมากกว่าหนึ่งวิธีที่อัลกอริทึมอาจมีความซับซ้อนดังนั้นคำตอบใด ๆ และทั้งหมดก็ได้รับการชื่นชม BTW ฉันกำลังมองหาคุณสมบัติและเคล็ดลับทั่วไปไม่ใช่หลักฐานที่เข้มงวดΘ(NlogN)Θ(Nlog⁡N)\Theta(N \log N)

4
กลยุทธ์ในการทำความเข้าใจ TCS
ฉันเป็นนักศึกษาระดับบัณฑิตศึกษาที่เรียนวิชาทฤษฎีการคำนวณและฉันมีปัญหาร้ายแรงในการผลิตเนื้อหาเมื่อฉันถูกขอให้ทำ ฉันสามารถติดตามตำราเรียน (รู้เบื้องต้นเกี่ยวกับทฤษฎีการคำนวณโดย Michael Sipser) และการบรรยาย อย่างไรก็ตามเมื่อถูกขอให้พิสูจน์บางอย่างหรือหาคำอธิบายอย่างเป็นทางการของ TM ที่เฉพาะเจาะจงฉันแค่หายใจไม่ออก ฉันจะทำอย่างไรในสถานการณ์เช่นนี้? ฉันเดาว่าปัญหาของฉันคือการเข้าใจแนวคิดนามธรรมอย่างสมบูรณ์จนถึงจุดที่ฉันสามารถใช้ได้จริง มีวิธีที่มีแบบแผนในการเข้าใกล้แนวคิดใหม่ที่เป็นนามธรรมและในที่สุดก็สร้างสัญชาตญาณ?

2
เราได้อะไรจากการมี“ ประเภทพึ่งพา”
ฉันคิดว่าฉันเข้าใจการพิมพ์ที่ถูกต้อง (DT) อย่างถูกต้อง แต่คำตอบสำหรับคำถามนี้: /cstheory/30651/why-was-there-a-need-for-martin-l%C3%% ทฤษฎีเกี่ยวกับการสร้างประเภทสัญชาตญาณ B6fทำให้ฉันคิดอย่างอื่น หลังจากอ่าน DT และพยายามเข้าใจว่าพวกเขาคืออะไรฉันพยายามสงสัยว่าเราจะได้อะไรจากความคิดของ DT นี้ ดูเหมือนว่าพวกเขาจะมีความยืดหยุ่นและมีประสิทธิภาพมากกว่าแลมบ์ดาแคลคูลัส (STLC) ที่พิมพ์ได้ง่าย ๆ ถึงแม้ว่าฉันจะไม่เข้าใจ "วิธี / เหตุผล" ก็ตาม เราสามารถทำอะไรกับ DT ที่ไม่สามารถทำได้ด้วย STLC ดูเหมือนว่าการเพิ่ม DTs ทำให้ทฤษฎีมีความซับซ้อนมากขึ้น แต่ประโยชน์คืออะไร จากคำตอบของคำถามด้านบน: ประเภทที่ขึ้นอยู่กับถูกเสนอโดยเดอ Bruijn และโฮเวิร์ดที่ต้องการที่จะขยายการติดต่อกันของแกงกะหรี่ - Howard จากแคลคูลัสเชิงประพจน์เพื่อตรรกะแรก ดูเหมือนว่าจะสมเหตุสมผลในบางระดับ แต่ฉันก็ยังไม่สามารถเข้าใจภาพรวมของ "อย่างไร / ทำไม" บางทีตัวอย่างที่แสดงให้เห็นอย่างชัดเจนว่าส่วนขยายของจดหมายโต้ตอบ CH กับตรรกะ FO นี้อาจช่วยให้ถึงจุดที่บ้านในการทำความเข้าใจเรื่องใหญ่กับ DTs คืออะไร? ฉันไม่แน่ใจว่าฉันเข้าใจสิ่งนี้ด้วยหรือไม่

3
ทำไมขนาดอินพุตที่ใหญ่ขึ้นหมายถึงอินสแตนซ์ที่ยากขึ้น?
ด้านล่างสมมติว่าเรากำลังทำงานกับเครื่องทัวริงแบบไม่มีที่สิ้นสุดเทป เมื่ออธิบายถึงความซับซ้อนของเวลากับใครบางคนและทำไมมันถึงวัดได้เมื่อเทียบกับขนาดอินพุทของอินสแตนซ์ฉันก็สะดุดกับข้อเรียกร้องต่อไปนี้: [.. ] ยกตัวอย่างเช่นเป็นเรื่องธรรมดาที่คุณจะต้องมีขั้นตอนเพิ่มเติมในการคูณจำนวนเต็มสองจำนวนด้วย 100000 บิตแทนที่จะพูดว่าคูณจำนวนเต็มสองจำนวนด้วย 3 บิต การอ้างสิทธิ์น่าเชื่อถือ แต่อย่างใดการโบกมือ ในอัลกอริทึมทั้งหมดที่ฉันเจอขนาดของอินพุตที่ใหญ่ขึ้นขั้นตอนเพิ่มเติมที่คุณต้องการ ในคำที่แม่นยำยิ่งขึ้นความซับซ้อนของเวลาคือฟังก์ชั่นที่เพิ่มขึ้นแบบ monotonicallyของขนาดอินพุต เป็นกรณีที่ความซับซ้อนของเวลาเป็นฟังก์ชั่นที่เพิ่มขึ้นในขนาดอินพุตหรือไม่? ถ้าเป็นเช่นนั้นทำไมเป็นเช่นนั้น มีข้อพิสูจน์อะไรที่นอกเหนือจากโบกมือ?

1
การแยกประเภทการปรับแต่ง
ที่ทำงานฉันได้รับมอบหมายให้อนุมานข้อมูลบางประเภทเกี่ยวกับภาษาแบบไดนามิก ฉันเขียนลำดับของข้อความไปยังletนิพจน์ที่ซ้อนกันเช่น: return x; Z => x var x; Z => let x = undefined in Z x = y; Z => let x = y in Z if x then T else F; Z => if x then { T; Z } else { F; Z } เนื่องจากฉันเริ่มต้นจากข้อมูลประเภททั่วไปและพยายามอนุมานประเภทที่เฉพาะเจาะจงมากขึ้นตัวเลือกที่เป็นธรรมชาติคือประเภทการปรับแต่ง ตัวอย่างเช่นตัวดำเนินการตามเงื่อนไขส่งคืนการรวมของประเภทของสาขาที่เป็นจริงและเท็จ …
11 programming-languages  logic  type-theory  type-inference  machine-learning  data-mining  clustering  order-theory  reference-request  information-theory  entropy  algorithms  algorithm-analysis  space-complexity  lower-bounds  formal-languages  computability  formal-grammars  context-free  parsing  complexity-theory  time-complexity  terminology  turing-machines  nondeterminism  programming-languages  semantics  operational-semantics  complexity-theory  time-complexity  complexity-theory  reference-request  turing-machines  machine-models  simulation  graphs  probability-theory  data-structures  terminology  distributed-systems  hash-tables  history  terminology  programming-languages  meta-programming  terminology  formal-grammars  compilers  algorithms  search-algorithms  formal-languages  regular-languages  complexity-theory  satisfiability  sat-solvers  factoring  algorithms  randomized-algorithms  streaming-algorithm  in-place  algorithms  numerical-analysis  regular-languages  automata  finite-automata  regular-expressions  algorithms  data-structures  efficiency  coding-theory  algorithms  graph-theory  reference-request  education  books  formal-languages  context-free  proof-techniques  algorithms  graph-theory  greedy-algorithms  matroids  complexity-theory  graph-theory  np-complete  intuition  complexity-theory  np-complete  traveling-salesman  algorithms  graphs  probabilistic-algorithms  weighted-graphs  data-structures  time-complexity  priority-queues  computability  turing-machines  automata  pushdown-automata  algorithms  graphs  binary-trees  algorithms  algorithm-analysis  spanning-trees  terminology  asymptotics  landau-notation  algorithms  graph-theory  network-flow  terminology  computability  undecidability  rice-theorem  algorithms  data-structures  computational-geometry 

1
ทัวริงเป็นที่รู้จัก => นับได้
ฉันได้รับหลักฐานการไปจากตัวแจงนับไปยังเครื่องทัวริง (รันตัวแจงนับและดูว่ามันตรงกับอินพุต) แต่ฉันไม่เห็นว่าวิธีอื่นทำงานอย่างไร ตามบันทึกของฉันและหนังสือ (แนะนำทฤษฎีการคำนวณ - Sipser) เพื่อให้ได้ทัวริง enumerator จากเครื่องทัวริงเราเขียนชุดของตัวอักษรทั้งหมด จากนั้นคุณรัน TM บนอินพุตนี้หากยอมรับการพิมพ์ออกมาแทนที่ด้วยสตริงโฆษณาที่ซ้ำกันใหม่ ปัญหาที่ฉันมีอยู่แน่นอนว่านี่ต้องใช้ภาษาในการตัดสินใจ มิฉะนั้นอาจติดอยู่กับคำที่สามในวงวนไม่สิ้นสุดที่จะไม่ยอมรับหรือปฏิเสธและแน่นอนไม่พิมพ์ทั้งภาษา ฉันกำลังคิดถึงอะไร

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

3
วิธีที่จะรู้สึกอย่างสังหรณ์ใจว่าภาษาเป็นปกติ
ให้ภาษาฉันจะพูดโดยตรงอย่างไรโดยไม่ดูกฎการผลิตภาษานี้ไม่ปกติL = {anขnคn}L={anbncn} L= \{a^n b^n c^n\} ฉันสามารถใช้เลมม่าสูบน้ำ แต่ผู้ชายบางคนบอกว่าแค่ดูไวยากรณ์ว่านี่ไม่ใช่เรื่องปกติ มันเป็นไปได้ยังไงกัน?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.