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

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

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

3
P, NP และเครื่องจักรทัวริงเฉพาะ
ฉันเป็นคนใหม่ แต่สนใจในสาขาการคำนวณและทฤษฎีความซับซ้อนและฉันต้องการที่จะอธิบายความเข้าใจของฉันเกี่ยวกับวิธีการแก้ปัญหาในชั้นเรียนและปัญหาที่เกี่ยวข้องกับเครื่องจักรที่ใช้ในการแก้ปัญหาอย่างมาก ความเข้าใจของฉัน เครื่องทัวริงมาตรฐาน - เครื่องทัวริงที่มีตัวอักษร จำกัด จำนวน จำกัด ของรัฐและเทปขวาไม่มีที่สิ้นสุดเดียว เครื่องจักรทัวริง - เทียบเท่า - เครื่องจักรทัวริงซึ่งสามารถเลียนแบบและเลียนแบบโดยเครื่องทัวริงมาตรฐาน (ค่อนข้างบ่อยกับการแลกเปลี่ยนระหว่างพื้นที่และเวลาที่ประสบความสำเร็จโดยการจำลอง) P - ระดับของปัญหาที่สามารถแก้ไขได้ในเวลาพหุนามโดยใช้เครื่องทัวริงมาตรฐาน (กำหนดไว้ข้างต้น) NP - ระดับของปัญหาที่สามารถตรวจสอบได้ในเวลาพหุนามโดยใช้เครื่องทัวริงมาตรฐาน NP-complete- ปัญหาที่ยากที่สุดที่ยังอยู่NPซึ่งNPปัญหาทั้งหมดสามารถเปลี่ยนเป็นเวลาพหุนาม คำถามของฉัน เรียนซับซ้อน ( P, NP, NP-completeฯลฯ ) ที่เกี่ยวข้องกับขั้นตอนวิธีการหรือขั้นตอนวิธีการและเครื่อง? กล่าวอีกนัยหนึ่งถ้าคุณสามารถสร้างเครื่องทัวริงเทียบเท่า (ที่สามารถแก้ปัญหาทั้งหมดที่ Standard TM สามารถ แต่ในเวลา / พื้นที่ที่แตกต่างกัน) และเครื่องใหม่นี้สามารถแก้NP-completeปัญหาในเวลาที่เติบโตเป็น พหุนามที่เกี่ยวกับการป้อนข้อมูลที่จะบ่งบอกP=NP? หรือNP-completeปัญหาจะต้องได้รับการแก้ไขในทัวริงเครื่องจักรที่เป็นไปได้ทั้งหมดในเวลาพหุนามเพื่อพิจารณาP? หรือฉันเข้าใจผิดสิ่งพื้นฐานด้านบน ฉันมีรูปลักษณ์ (อาจไม่ตรงกับคำค้นหาที่ถูกต้องฉันไม่รู้ศัพท์แสงทั้งหมดค่อนข้างดี) แต่ดูเหมือนว่าการบรรยาย / โน้ตส่วนใหญ่ …

4
อัลกอริธึมคำนวณถ้าตัวเลขมีค่าเท่ากับ 3
เมื่อทำแคลคูลัสจิตหนึ่งสามารถทำ: กำหนดจำนวนเต็ม k รวมตัวเลขทั้งหมด (ในฐาน 10) และหากผลลัพธ์คือผลคูณของ 3 ดังนั้น k คือผลคูณของ 3 คุณรู้หรือไม่ว่าอัลกอริทึมทำงานคล้ายกัน แต่ทำงานกับตัวเลขฐานสอง (บิต) หรือไม่ ตอนแรกฉันคิดว่าการใช้ฟังก์ชั่นสำเร็จรูปของภาษาของฉันการแปลงจำนวนเต็มเป็น ascii เพื่อทำการแปลงจากฐาน 2 เป็นฐาน 10 จากนั้นใช้เคล็ดลับแคลคูลัสจิต แต่แน่นอนแล้วฉันสามารถเข้ารหัสการแปลงฐาน 2 ถึง 10 ด้วยตัวเอง ฉันยังไม่ได้ทำ แต่ฉันจะลองดู จากนั้นฉันก็นึกถึงการแบ่งยูคลิเดียนในฐาน 2 ... อย่างไรก็ตามฉันสงสัยว่ามีวิธีการอื่น ๆ
13 algorithms 

7
เราสามารถพูดได้ว่า DFA มีประสิทธิภาพมากกว่า NFA หรือไม่
ฉันเพิ่งเริ่มอ่านเกี่ยวกับทฤษฎีการคำนวณ ถ้าเราเปรียบเทียบว่าอันไหนมีพลังมากกว่า (ในการรับสาย) ทั้งคู่ก็เหมือนกัน แต่สิ่งที่เกี่ยวกับประสิทธิภาพ DFA จะถูกเปรียบเทียบอย่างรวดเร็วกับ NFA เนื่องจากมีเพียงหนึ่งขอบขาออกและจะไม่มีความคลุมเครือ แต่ในกรณีของ NFA เราต้องตรวจสอบทุกกรณีที่เป็นไปได้ & นั่นต้องใช้เวลาแน่นอน ดังนั้นเราสามารถพูดได้ว่า DFA มีประสิทธิภาพมากกว่า NFA หรือไม่ แต่สมองอีกส่วนหนึ่งของฉันก็กำลังคิดว่า NFA มีอยู่ในทางทฤษฎีเท่านั้นดังนั้นเราจึงไม่สามารถเปรียบเทียบประสิทธิภาพกับ DFA ได้

1
กำแพงเซลล์ในเกมแห่งชีวิตของ Conway?
มีโครงสร้างที่แข็งแกร่งในเกมแห่งชีวิตของ Conwayหรือไม่? ยกตัวอย่างเช่นเคยมีใครสร้างยานอวกาศที่มีเกราะที่ดูดซับออสซิลเลเตอร์ขนาดเล็กและเครื่องร่อนที่มันชนกันอยู่หรือไม่?

3
การพิสูจน์ P = NP โดยไม่มีคำสั่งทางคณิตศาสตร์ / โปรแกรมคอมพิวเตอร์
นี่คือการโพสต์ครั้งแรกของฉันหลังจากที่ได้เป็นผู้ใช้ชั่วคราวในขณะนี้ ฉันต้องการถามคำถามถ้าฉันสามารถ ฉันไม่ใช่นักคณิตศาสตร์ แต่คำถามของฉันเกี่ยวข้องกับสาขาคณิตศาสตร์ / วิทยาศาสตร์คอมพิวเตอร์ โดยเฉพาะอย่างยิ่งปัญหา P vs NP ฉันทราบว่านี่เป็นปัญหาที่ผู้เชี่ยวชาญระดับสูงยังไม่สามารถแก้ไขได้ ... ไม่ว่าฉันจะถามว่า: หากบุคคลที่ไม่ใช่นักคณิตศาสตร์หรือโปรแกรมเมอร์ต้องมีผังงานหรือขั้นตอนต่าง ๆ ที่เขียนด้วยภาษาอังกฤษขั้นพื้นฐานซึ่งถูกกล่าวหาว่าให้วิธีการแก้ปัญหาหนึ่งในปัญหาของ P vs NP ซึ่งจะนับเป็น 'การพิสูจน์' ที่ P = NP .. เพื่อรับรางวัล Clays Institute :) หรือมันเป็นสิ่งจำเป็นสำหรับคนที่จะเขียนวิธีการแก้ปัญหาเป็นโปรแกรมพิสูจน์ทางคณิตศาสตร์ / คอมพิวเตอร์? ขอขอบคุณ.

4
การลดความแปรปรวนของ DAG
ฉันกำลังมองหาอัลกอริทึม O (V + E) สำหรับการค้นหาการลดขนาดสกรรมกริยาจาก DAG นั่นคือการลบขอบมากที่สุดเท่าที่จะเป็นไปได้เพื่อที่ว่าถ้าคุณสามารถเข้าถึง v จาก u, สำหรับ v และ u ตามอำเภอใจคุณยังคงสามารถเข้าถึงได้หลังจากการลบขอบ หากนี่เป็นปัญหามาตรฐานโปรดบอกฉันถึงวิธีแก้ไขปัญหาแบบบางอย่าง
13 algorithms  graphs  dag 

3
ต้นกำเนิดของโมเดลเซิร์ฟเวอร์ไคลเอ็นต์คืออะไร
ฉันสงสัยว่ามีบางคนรู้ที่มาของโมเดลเซิร์ฟเวอร์ลูกค้าหรือไม่ คำนี้มาจากไหน (กระดาษแอปพลิเคชันซอฟต์แวร์หนังสือ)

1
ความหมายคืออะไร?
มีภาษายอดนิยมมากมาย แต่นักวิทยาศาสตร์คอมพิวเตอร์บอกเราว่าเพื่อให้เข้าใจถึงพฤติกรรมของโปรแกรมในภาษาเหล่านั้นอย่างแน่นอนและโต้แย้งอย่างไร้เหตุผลกับพฤติกรรมของโปรแกรม (เช่นพิสูจน์ตัวตนของพวกเขา) เราจำเป็นต้องแปลมันเป็นภาษาอื่นที่เข้าใจกันดี พวกเขาเรียกภาษานี้ว่า "ความหมาย" ผู้เขียนเสนอหนึ่งในหลายความหมาย พวกเขาอธิบายความหมายของสิ่งปลูกสร้างและวิธีที่คุณสามารถแปลภาษาของคุณเป็นของพวกเขา เมื่อคุณทำอย่างนั้นทุกคนจะเข้าใจโปรแกรมของคุณแน่นอนพวกเขาจะพูด ดูดี แต่ฉันไม่เข้าใจบางสิ่ง พวกเขาบอกเราหรือไม่ว่าพวกเขาแนะนำภาษาอื่นให้เข้าใจภาษาแรก ทำไมเราเข้าใจดีกว่าต้นฉบับ? ทำไมความหมายนี้ดีกว่านั้น ทำไมไม่เรียนรู้ความหมายของ C ทันทีแทนที่จะประดิษฐ์ภาษาอื่นเพื่ออธิบายความหมายของ C? เช่นเดียวกับไวยากรณ์ ทำไมฉันไม่ถามคำถามเดียวกันเกี่ยวกับไวยากรณ์ ป.ล.ในความคิดเห็นที่ฉันได้ยินว่าความหมายไม่ได้หมายถึงภาษาอื่นหรือการแปลเป็น แต่ความหมายที่เป็นทางการสำหรับ VHDL บอกว่าถ้าคุณเข้าใจบางสิ่งในทางเดียวคุณจะไม่เข้าใจและสามารถระบุ "ความหมายของความหมาย" ถ้าเราจัดหาภาษาที่มีกลไกที่แปลมันเป็นภาษาอื่น (ที่รู้จัก) นั่นคือ "ความหมายคือความสัมพันธ์ระหว่างระบบที่เป็นทางการ" Hennessy ในซีแมนทิกส์ของ Programming Languagesกล่าวว่าซีแมนติกส์อนุญาตให้มีการประมวลผลอย่างเป็นทางการของโปรแกรม "ความหมาย" เมื่อซีแมนทิกส์ถูกจัดให้เป็น BNF หรือ Syntax Diagram ระบบที่เป็นทางการคืออะไรถ้าไม่ใช่ภาษา? PS2ฉันสามารถพูดได้ว่าการสังเคราะห์ HW ของโปรแกรม HDL ที่กำหนดให้เป็นการเชื่อมต่อโครงข่ายประตูเป็นกระบวนการสกัดความหมายหรือไม่? เราแปลคำอธิบาย (ระดับสูง) เป็นภาษา (ระดับต่ำ) ที่เราเข้าใจหลังจากนั้น

1
ผลที่ตามมาของอัลกอริทึมของสูตรพีชคณิตสำหรับฟังก์ชันพาร์ติชั่น?
Bruinier และ Onoพบสูตรเกี่ยวกับพีชคณิตสำหรับฟังก์ชันพาร์ติชั่นซึ่งมีการรายงานอย่างกว้างขวางว่าเป็นความก้าวหน้า ฉันไม่เข้าใจกระดาษ แต่มีผลต่ออัลกอริทึมสำหรับการคำนวณอย่างรวดเร็วของฟังก์ชันพาร์ติชันหรือไม่

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

1
ปรับให้เรียบในโมเดลไร้เดียงสา
ตัวทำนายไร้เดียงสาทำการทำนายโดยใช้สูตรนี้: P(Y=y|X=x)=αP(Y=y)∏iP(Xi=xi|Y=y)P(Y=y|X=x)=αP(Y=y)∏iP(Xi=xi|Y=y)P(Y=y|X=x) = \alpha P(Y=y)\prod_i P(X_i=x_i|Y=y) โดยที่เป็นปัจจัยทำให้ปกติ สิ่งนี้ต้องการประมาณพารามิเตอร์จากข้อมูล ถ้าเราทำเช่นนี้กับ -smoothing เราก็จะได้ค่าประมาณαα\alphaP(Xi=xi|Y=y)P(Xi=xi|Y=y)P(X_i=x_i|Y=y)kkk P^(Xi=xi|Y=y)=#{Xi=xi,Y=y}+k#{Y=y}+nikP^(Xi=xi|Y=y)=#{Xi=xi,Y=y}+k#{Y=y}+nik\hat{P}(X_i=x_i|Y=y) = \frac{\#\{X_i=x_i,Y=y\} + k}{\#\{Y=y\}+n_ik} ที่มีค่าเป็นไปได้สำหรับx_iฉันสบายดีกับสิ่งนี้ อย่างไรก็ตามก่อนหน้านี้เรามีninin_iXiXiX_i P^(Y=y)=#{Y=y}NP^(Y=y)=#{Y=y}N\hat{P}(Y=y) = \frac{\#\{Y=y\}}{N} โดยที่มีตัวอย่างในชุดข้อมูล ทำไมเราไม่ทำให้เรียบก่อนหน้านี้ด้วย? หรือค่อนข้างไม่เราเรียบก่อน? ถ้าเป็นเช่นนั้นเราเลือกพารามิเตอร์การปรับให้เรียบอะไร ดูเหมือนโง่เล็กน้อยที่จะเลือกเนื่องจากเราทำการคำนวณที่แตกต่างกัน มีฉันทามติหรือไม่? หรือมันไม่สำคัญมากเกินไป?NNNkkk

2
ความซับซ้อนของเวลาของการวนซ้ำสามชั้น
โปรดพิจารณาการวนซ้ำสามชั้นต่อไปนี้: for (int i = 1; i <= n; ++i) for (int j = i; j <= n; ++j) for (int k = j; k <= n; ++k) // statement คำสั่งที่นี่จะถูกดำเนินการอย่างแน่นอนn(n+1)(n+2)6n(n+1)(n+2)6n(n+1)(n+2)\over6ครั้ง ใครช่วยอธิบายหน่อยได้ไหมว่าสูตรนี้ได้มาอย่างไร ขอขอบคุณ.

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

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

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