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

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

1
มีโครงสร้างข้อมูล 'สตริงสแต็ค' ที่สนับสนุนการดำเนินงานของสตริงเหล่านี้หรือไม่
ฉันกำลังมองหาโครงสร้างข้อมูลที่เก็บชุดสตริงไว้ในชุดอักขระสามารถทำการดำเนินการต่อไปนี้ได้ เราแสดงว่าเป็นโครงสร้างข้อมูลการจัดเก็บชุดของสตริงSD ( S ) SΣΣ\SigmaD (S)D(S)\mathcal{D}(S)SSS Add-Prefix-Setบน : กำหนดชุดของ (อาจว่างเปล่า) สตริงซึ่งขนาดถูก จำกัด ด้วยค่าคงที่และความยาวสตริงถูก จำกัด โดยค่าคงที่ส่งคืน\}) ทั้งสองนี้คง bounding มีทั่วโลก: พวกเขาเป็นเหมือนกันสำหรับปัจจัยการผลิตทั้งหมดTT D ( { t s | t ∈ T , s ∈ S } ) TD (S)D(S)\mathcal{D}(S)TTTD ({ts | t∈T , s ∈ S} )D({ts | t∈T,s∈S})\mathcal{D}( \{ t s\ …

2
'การเกิดขึ้นพร้อมกันที่แท้จริง' หมายถึงอะไร?
ฉันมักจะได้ยินวลีเช่น 'ความหมายที่เห็นพ้องที่แท้จริง' และ 'ความเห็นพ้องที่แท้จริงพร้อมกัน' โดยไม่มีการอ้างอิงใด ๆ คำเหล่านั้นมีความหมายว่าอะไรและทำไมจึงมีความสำคัญ ตัวอย่างของการเห็นพ้องต้องกันที่แท้จริงคืออะไรและอะไรคือสิ่งที่จำเป็นสำหรับพวกเขา เช่นในกรณีใดบ้างที่สามารถใช้งานได้มากกว่าการเทียบมาตรฐานแบบอื่น (bisimulation, การติดตามเทียบเท่า ฯลฯ )

1
การรวมกันของลำดับก่อนหลังโพสต์และลำดับที่ไม่ซ้ำกัน?
เรารู้ว่าโพสต์ - สั่ง post L(x) => [x] post N(x,l,r) => (post l) ++ (post r) ++ [x] และสั่งซื้อล่วงหน้า pre L(x) => [x] pre N(x,l,r) => [x] ++ (pre l) ++ (pre r) และการแวะผ่านตามลำดับ sequentialisation in L(x) => [x] in N(x,l,r) => (in l) ++ [x] ++ (in r) เราสามารถเห็นได้อย่างง่ายดายว่าไม่ได้อธิบายต้นไม้ที่ให้มาโดยเฉพาะแม้ว่าเราจะถือว่าคีย์ / …

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

1
Asymptotics ของจำนวนคำในภาษาปกติของความยาวที่กำหนด
สำหรับภาษาปกติLLLให้cn(L)cn(L)c_n(L)เป็นจำนวนคำในLLLความยาวnnnnใช้จอร์แดนรูปแบบที่ยอมรับ (นำไปใช้กับเมทริกซ์การเปลี่ยนแปลง unannotated ของ DFA บางอย่างสำหรับLLL ) หนึ่งสามารถแสดงให้เห็นว่าใหญ่พอnnn , cn(L)=∑i=1kPi(n)λni,cn(L)=∑i=1kPi(n)λin, c_n(L) = \sum_{i=1}^k P_i(n) \lambda_i^n, ที่มี ชื่อพหุนามแบบซับซ้อนและPiPiP_iλiλi\lambda_i"ค่าลักษณะเฉพาะ" ที่ซับซ้อน (สำหรับขนาดเล็กเราอาจมีข้อกำหนดเพิ่มเติมของแบบฟอร์มโดยที่คือถ้าและอย่างอื่นสิ่งเหล่านี้สอดคล้องกับบล็อกของจอร์แดนที่มีขนาดอย่างน้อยมีค่าลักษณะเฉพาะ )nnnCk[n=k]Ck[n=k]C_k[n=k][n=k][n=k][n=k]111n=kn=kn=k000k+1k+1k+1000 การแสดงนี้ดูเหมือนจะบ่งบอกว่าถ้าเป็นอนันต์แล้ว asymptotically,สำหรับบาง 0 อย่างไรก็ตามนี่เป็นความเท็จอย่างชัดแจ้ง: สำหรับภาษามากกว่าของทุกคำที่มีความยาวเท่ากันแต่ . นี้แสดงให้เห็นว่าบางและสำหรับทั้งหมดทั้งสำหรับขนาดใหญ่พอหรือA} นี่คือการพิสูจน์ในFlajolet & SedgewickLLLcn(L)∼Cnkλncn(L)∼Cnkλnc_n(L) \sim C n^k \lambda^nC,λ>0C,λ>0C,\lambda>0LLL{0,1}{0,1}\{0,1\}c2n(L)=22nc2n(L)=22nc_{2n}(L) = 2^{2n}c2n+1(L)=0c2n+1(L)=0c_{2n+1}(L) = 0ddda∈{0,…,d−1}a∈{0,…,d−1}a \in \{0,\ldots,d-1\}cdm+a(L)=0cdm+a(L)=0c_{dm+a}(L) = 0mmmcdm+a∼Ca(dm+a)kaλdm+aacdm+a∼Ca(dm+a)kaλadm+ac_{dm+a} \sim C_a (dm+a)^{k_a} \lambda_a^{dm+a} (ทฤษฎีบท V.3) ซึ่งเป็นผู้พิสูจน์ข้อพิสูจน์ของ Berstel …

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

2
การนับต้นไม้ไบนารี
(ฉันเป็นนักเรียนที่มีพื้นฐานทางคณิตศาสตร์และฉันต้องการทราบวิธีนับจำนวนต้นไม้ไบนารีที่เฉพาะเจาะจง) เมื่อดูที่หน้า Wikipedia สำหรับBinary Treesฉันได้สังเกตการยืนยันนี้ว่าจำนวนต้นไม้ไบนารีที่รูทขนาดจะเป็นจำนวนคาตาลันนี้: C_n = \ dfrac {1} {n + 1} {2n \ select n}nnnCn=1n+1(2nn)Cn=1n+1(2nn)C_n = \dfrac{1}{n+1}{2n \choose n} แต่ฉันไม่เข้าใจว่าฉันจะได้ผลลัพธ์เช่นนี้ด้วยตัวเองได้อย่างไร มีวิธีการค้นหาผลลัพธ์นี้หรือไม่? ทีนี้ถ้าหากคำสั่งของต้นไม้ย่อย (ซึ่งเหลืออยู่ไหนถูกต้อง) จะไม่ถูกนำมาพิจารณา? ตัวอย่างเช่นจากมุมมองของฉันฉันคิดว่าต้นไม้สองต้นนี้เหมือนกัน: /\ /\ /\ /\ มันจะเป็นไปได้ที่จะใช้วิธีการคล้ายกับการนับจำนวนของวัตถุเหล่านี้ได้ว่าnnnโหนด?

4
วิธีการหาซูเปอร์สตาในเวลาเชิงเส้น?
พิจารณากราฟกำกับ เราเรียกโหนดซุปเปอร์สตาร์และถ้าหากไม่มีโหนดอื่น ๆ ที่สามารถเข้าถึงได้จากมัน แต่โหนดอื่น ๆ ทั้งหมดที่มีขอบสระโวลต์ อย่างเป็นทางการ:โวลต์vv โวลต์vv \qquad \displaystyle v ซุปเปอร์สตาร์ : ⟺ o u t d e g ( v ) = 0 ∧ i n d e g ( v ) = n - 1 superstar :⟺outdeg(v)=0∧indeg(v)=n−1 \text{ superstar } :\Longleftrightarrow \mathrm{outdeg}(v) = 0 \land \mathrm{indeg}(v) …

6
การสร้างชุดค่าผสมจากชุดคู่โดยไม่มีการทำซ้ำองค์ประกอบ
ฉันมีชุดของคู่ แต่ละคู่เป็นรูปแบบ (x, y) เช่นว่า x, y [0,n)เป็นจำนวนเต็มจากช่วง ดังนั้นถ้า n คือ 4 ดังนั้นฉันมีคู่ต่อไปนี้: (0,1) (0,2) (0,3) (1,2) (1,3) (2,3) ฉันมีคู่แล้ว ตอนนี้ฉันต้องสร้างชุดค่าผสมโดยใช้n/2คู่ที่ไม่มีจำนวนเต็มซ้ำ (กล่าวอีกอย่างหนึ่งว่าจำนวนเต็มแต่ละค่าปรากฏอย่างน้อยหนึ่งครั้งในชุดค่าผสมสุดท้าย) ต่อไปนี้เป็นตัวอย่างของชุดค่าผสมที่ถูกต้องและไม่ถูกต้องเพื่อความเข้าใจที่ดีขึ้น 1. (0,1)(1,2) [Invalid as 3 does not occur anywhere] 2. (0,2)(1,3) [Correct] 3. (1,3)(0,2) [Same as 2] มีคนแนะนำฉันถึงวิธีในการสร้างชุดค่าผสมที่เป็นไปได้ทั้งหมดเมื่อฉันมีคู่

4
ชัดเจนและเป็นธรรมชาติของ combinator จุดคงที่ (Y combinator)
แก้ไข combinator จุดคงที่ (aka combinator Y) ในแคลคูลัสแลมบ์ดา (untyped) ( ) ถูกกำหนดเป็น:λλ\lambda FIX≜λf.(λx.f (λy.x x y)) (λx.f (λy.x x y))≜λf.(λx.f (λy.x x y)) (λx.f (λy.x x y))\triangleq \lambda f.(\lambda x. f~(\lambda y. x~x~y))~(\lambda x. f~(\lambda y. x~x~y)) ฉันเข้าใจวัตถุประสงค์และสามารถติดตามการใช้งานแอปพลิเคชันได้อย่างสมบูรณ์แบบ ฉันต้องการที่จะเข้าใจวิธีการแก้ไขเป็นผลมาจากหลักการแรก นี่คือเท่าที่ฉันได้รับเมื่อฉันพยายามที่จะได้รับมันด้วยตนเอง: FIX เป็นฟังก์ชั่น: FIX ≜λ…≜λ…\triangleq \lambda_\ldots การแก้ไขใช้ฟังก์ชันอื่นfffเพื่อทำให้เกิดการเรียกซ้ำ: FIX ≜λf.…≜λf.…\triangleq \lambda f._\ldots อาร์กิวเมนต์แรกของฟังก์ชั่นfffคือ …

1
ความแตกต่างระหว่างซีแมนติกส์ขนาดเล็กและใหญ่ในการปฏิบัติงาน
อะไรคือความแตกต่างพื้นฐานระหว่างความหมายในการดำเนินงานขนาดเล็กและขนาดใหญ่ ฉันมีเวลายากที่จะเข้าใจว่ามันคืออะไรและมีแรงบันดาลใจในการมีสองสิ่งนี้

7
อัลกอริทึมในการค้นหาเส้นผ่านศูนย์กลางของต้นไม้โดยใช้ BFS / DFS ทำไมมันทำงาน
นี้การเชื่อมโยงให้อัลกอริทึมสำหรับการหาขนาดเส้นผ่าศูนย์กลางของต้นไม้ไม่มีทิศทางใช้ BFS สรุป: รัน BFS บนโหนดใด ๆ ในกราฟโดยระลึกถึงโหนดที่ค้นพบล่าสุด รัน BFS จากการที่คุณจดจำโหนด v ที่พบล่าสุด d (u, v) คือเส้นผ่านศูนย์กลางของต้นไม้ ทำไมมันทำงาน หน้า 2 ของสิ่งนี้ให้เหตุผล แต่มันทำให้เกิดความสับสน ฉันกำลังอ้างอิงส่วนเริ่มต้นของการพิสูจน์: รัน BFS บนโหนดใด ๆ ในกราฟโดยระลึกถึงโหนดที่ค้นพบล่าสุด รัน BFS จากการที่คุณจดจำโหนด v ที่พบล่าสุด d (u, v) คือเส้นผ่านศูนย์กลางของต้นไม้ ความถูกต้อง: ให้ a และ b เป็นสองโหนดใด ๆ ที่ d (a, b) คือเส้นผ่านศูนย์กลางของต้นไม้ มีเส้นทางที่ไม่ซ้ำกันจาก …

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

7
อะไรคือตัวอย่างที่ง่ายที่สุดของโปรแกรมที่เราไม่ทราบว่ามันสิ้นสุดหรือไม่
ปัญหาการหยุดชะงักระบุว่าไม่มีอัลกอริทึมที่จะตัดสินว่าโปรแกรมที่ให้หยุดทำงานหรือไม่ ดังนั้นควรมีโปรแกรมที่เราไม่สามารถบอกได้ว่าพวกเขาจะยุติหรือไม่ ตัวอย่างที่รู้จักกันง่ายที่สุด (เล็กที่สุด) ของโปรแกรมดังกล่าวคืออะไร

2
ขายบล็อกของช่วงเวลา
รับช่วงเวลาที่คนต้องการซื้อคนที่มีค่าแต่ละครั้งสล็อตเจแต่ละคนสามารถซื้อช่วงเวลาหนึ่งช่วงติดต่อกันเท่านั้นซึ่งอาจว่างเปล่าnnnkkkiiih(i,j)≥0h(i,j)≥0h(i,j)\geq 0jjj มีวิธีคิดแบบพหุนามเวลาในการคำนวณมูลค่าสูงสุดที่ผู้ขายสามารถทำได้หรือไม่? เราสามารถให้แต่ละช่วงเวลาแก่บุคคลที่เห็นคุณค่าได้มากที่สุด นอกจากนี้หากเราแก้ไขลำดับของช่วงเวลาของผู้คนดังนั้นการเขียนโปรแกรมแบบไดนามิกสามารถใช้เพื่อแก้ปัญหาสำหรับค่าสูงสุดของคนแรกที่ซื้อเวลาครั้งแรก สล็อตkkk0≤i≤k0≤i≤k0\le i \le k0≤j≤n0≤j≤n0\le j \le n

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