คำถามติดแท็ก graph-theory

คำถามเกี่ยวกับกราฟโครงสร้างที่ไม่ต่อเนื่องของโหนดซึ่งเชื่อมต่อกันด้วยขอบ รสชาติที่ได้รับความนิยมคือต้นไม้และเครือข่ายที่มีขีดความสามารถสูง

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

5
การอนุญาตให้มีน้ำหนักเท่ากับศูนย์ในกราฟน้ำหนักหรือไม่
ฉันกำลังพยายามเขียนสคริปต์ที่สร้างกราฟแบบสุ่มและฉันจำเป็นต้องทราบว่าขอบในกราฟถ่วงน้ำหนักสามารถมีค่า 0 หรือไม่ จริงๆแล้วมันสมเหตุสมผลที่ 0 สามารถใช้เป็นน้ำหนักของขอบ แต่ฉันได้ทำงานกับกราฟในไม่กี่วันที่ผ่านมาและฉันไม่เคยเห็นตัวอย่างของมันมาก่อน

1
การนับจำนวนเส้นทางง่าย ๆ ระหว่างสองโหนดในกราฟที่กำกับนั้นยากเพียงใด
มีอัลกอริทึมพหุนามที่ง่ายต่อการตัดสินใจว่ามีเส้นทางระหว่างสองโหนดในกราฟกำกับ (เพียงทำกราฟข้ามประจำกับพูดการค้นหาเชิงลึกครั้งแรก) อย่างไรก็ตามดูเหมือนว่าน่าแปลกใจว่าปัญหาจะยากขึ้นมากถ้าแทนที่จะทดสอบการมีอยู่ที่เราต้องการต้องการนับจำนวนเส้นทาง หากเราอนุญาตให้เส้นทางนำจุดยอดมาใช้ใหม่ได้จะมีวิธีการเขียนโปรแกรมแบบไดนามิกเพื่อค้นหาจำนวนเส้นทางจากsถึงtด้วยขอบn อย่างไรก็ตามหากเราอนุญาตเส้นทางที่เรียบง่ายเท่านั้นซึ่งไม่ได้ใช้จุดยอดซ้ำวิธีแก้ปัญหาเดียวที่ฉันคิดได้คือการระบุเส้นทางที่โหดร้ายสิ่งที่มีความซับซ้อนของเวลาแบบทวีคูณ ดังนั้นฉันถาม การนับจำนวนเส้นทางง่าย ๆ ระหว่างจุดยอดสองจุดนั้นยากไหม? ถ้าเป็นเช่นนั้นมันเป็น NP-complete หรือไม่? (ฉันพูดชนิดเพราะในทางเทคนิคไม่ใช่ปัญหาการตัดสินใจ ... ) มีปัญหาอื่น ๆ ใน P ที่มีเวอร์ชันที่นับยากเช่นนี้อีกหรือไม่? **

2
เหตุใด C ประเภทโมฆะจึงไม่คล้ายกับประเภทที่ว่าง / ด้านล่าง
Wikipedia ตลอดจนแหล่งข้อมูลอื่น ๆ ที่ฉันได้พบรายการvoidประเภทC เป็นหน่วยประเภทซึ่งตรงข้ามกับประเภทที่ว่างเปล่า ฉันพบว่ามันสับสนเพราะฉันคิดว่าvoidเหมาะกับนิยามของประเภทที่ว่าง / ล่าง ไม่มีค่านิยมใด ๆ อยู่voidเท่าที่ฉันจะบอกได้ ฟังก์ชั่นที่มีประเภทคืนค่าเป็นโมฆะระบุว่าฟังก์ชั่นจะไม่ส่งคืนสิ่งใดดังนั้นจึงสามารถทำงานได้เพียงผลข้างเคียงเท่านั้น ตัวชี้ชนิดvoid*เป็นชนิดย่อยของชนิดตัวชี้อื่นทั้งหมด นอกจากนี้การแปลงไปยังและจากvoid*ใน C นั้นเป็นนัย ผมไม่แน่ใจว่าถ้าจุดสุดท้ายมีบุญใด ๆ ที่เป็นข้อโต้แย้งสำหรับvoidการเป็นประเภทที่ว่างเปล่าเป็นมากหรือน้อยเป็นกรณีพิเศษที่มีความสัมพันธ์ไม่มากที่จะvoid*void ในทางกลับกันvoidตัวมันเองไม่ใช่ประเภทย่อยของประเภทอื่นทั้งหมดซึ่งเท่าที่ฉันสามารถบอกได้ว่าเป็นข้อกำหนดสำหรับประเภทที่จะเป็นประเภทด้านล่าง
28 type-theory  c  logic  modal-logic  coq  equality  coinduction  artificial-intelligence  computer-architecture  compilers  asymptotics  formal-languages  asymptotics  landau-notation  asymptotics  turing-machines  optimization  decision-problem  rice-theorem  algorithms  arithmetic  floating-point  automata  finite-automata  data-structures  search-trees  balanced-search-trees  complexity-theory  asymptotics  amortized-analysis  complexity-theory  graphs  np-complete  reductions  np-hard  algorithms  string-metrics  computability  artificial-intelligence  halting-problem  turing-machines  computation-models  graph-theory  terminology  complexity-theory  decision-problem  polynomial-time  algorithms  algorithm-analysis  optimization  runtime-analysis  loops  turing-machines  computation-models  recurrence-relation  master-theorem  complexity-theory  asymptotics  parallel-computing  landau-notation  terminology  optimization  decision-problem  complexity-theory  polynomial-time  counting  coding-theory  permutations  encoding-scheme  error-correcting-codes  machine-learning  natural-language-processing  algorithms  graphs  social-networks  network-analysis  relational-algebra  constraint-satisfaction  polymorphisms  algorithms  graphs  trees 

4
ความซับซ้อนของเวลาในการหาเส้นผ่านศูนย์กลางของกราฟ
ความซับซ้อนของเวลาในการหาเส้นผ่านศูนย์กลางของกราฟ คืออะไรG=(V,E)G=(V,E)G=(V,E) O(|V|2)O(|V|2){O}(|V|^2) O(|V|2+|V|⋅|E|)O(|V|2+|V|⋅|E|){O}(|V|^2+|V| \cdot |E|) O(|V|2⋅|E|)O(|V|2⋅|E|){O}(|V|^2\cdot |E|) O(|V|⋅|E|2)O(|V|⋅|E|2){O}(|V|\cdot |E|^2) เส้นผ่านศูนย์กลางของกราฟGGGคือระยะทางที่สั้นที่สุดระหว่างชุดของจุดยอดทั้งหมดในกราฟ ฉันไม่รู้ว่าจะทำอย่างไรเกี่ยวกับเรื่องนี้ฉันต้องการการวิเคราะห์ที่สมบูรณ์เกี่ยวกับวิธีการแก้ปัญหาเช่นนี้

3
การค้นหาการตัดต่ำสุดของกราฟที่ไม่ได้บอกทิศทาง
นี่คือคำถามจากการสอบที่ผ่านมาฉันพยายามที่จะแก้ปัญหา: สำหรับ undirected กราฟ มีน้ำหนักในเชิงบวกW ( E ) ≥ 0 , ฉันพยายามที่จะหาจุดตัดขั้นต่ำ ฉันไม่รู้วิธีการอื่นนอกเหนือจากการใช้ทฤษฎีบทการลดการไหลสูงสุด แต่กราฟนั้นไม่ได้บอกทิศทางดังนั้นฉันควรจะนำมันไปยังไง? ฉันคิดถึงการกำหนดขอบที่ปลายทั้งสองด้าน แต่แล้วจุดยอดไหนที่จะเป็นต้นกำเนิดและจุดยอดไหนที่จะเป็นจุดศูนย์กลาง? หรือมีวิธีอื่นในการหาค่าต่ำสุดหรือไม่GGGw ( e ) ≥ 0w(e)≥0w(e) \geq 0

6
ต้นไม้ที่ทอดสองแห่งของกราฟอย่างง่าย ๆ มีขอบร่วมกันเสมอหรือไม่?
ฉันลองสองสามกรณีและพบต้นไม้สองอันที่ครอบคลุมของกราฟอย่างง่ายมีขอบทั่วไป ฉันหมายถึงฉันไม่พบตัวอย่างตัวนับใด ๆ แต่ฉันไม่สามารถพิสูจน์หรือหักล้างสิ่งนี้ได้ จะพิสูจน์หรือหักล้างการคาดเดานี้ได้อย่างไร

2
Logical Min-Cut NP-Complete หรือไม่
คำถามนี้ถูกโยกย้ายจาก Stack Overflow เพราะสามารถตอบได้ใน Computer Science Stack Exchange อพยพ 7 ปีที่ผ่านมา นิยามปัญหา Logical Min Cut (LMC) สมมติว่าเป็นเดี่ยวชั่ง,และมีสองจุดของและสามารถเข้าถึงได้จากsการศึกษา LMC ปัญหาว่าเราสามารถทำให้ไม่สามารถเข้าถึงได้จากโดยการกำจัดของขอบบางส่วนของต่อไปนี้ข้อ จำกัด ต่อไปนี้:G=(V,E)G=(V,E)G = (V, E)ssstttVVVtttssstttsssGGG จำนวนของขอบที่ถูกลบจะต้องน้อยที่สุด เราไม่สามารถลบขอบทางออกทุกจุดยอดของใด ๆ(กล่าวคือไม่มีจุดยอดที่มีขอบขาออกสามารถลบขอบขาออกทั้งหมดได้)GGG ข้อ จำกัด ที่สองนี้เรียกว่าการลบแบบลอจิคัล ดังนั้นเราจึงมองหาตรรกะกำจัดน้อยที่สุดของขอบของบางดังกล่าวว่าจะไม่สามารถเข้าถึงได้จากsGGGtttsss ความพยายามในการแก้ไขปัญหา หากเราเพิกเฉยต่อข้อ จำกัด การกำจัดแบบลอจิคัลของปัญหา LMC มันจะเป็นปัญหาขั้นต่ำในการขุดกราฟที่ไม่ได้ถ่วงดังนั้นมันจะสามารถแก้ไขได้แบบพหุนาม (ทฤษฎีบทสูงสุดการไหลแบบไม่ไหล)GGG ถ้าเราไม่สนใจข้อ จำกัด น้อยที่สุดของการกำจัดปัญหา LMC ก็จะแก้ปัญหาได้ polynomially อีกครั้งใน DAG: การหาจุดสุดยอดดังกล่าวว่าสามารถเข้าถึงได้จากและไม่สามารถเข้าถึงได้จากkแล้วพิจารณาเส้นทางซึ่งเป็นเส้นทางจากพลเพื่อkตอนนี้พิจารณาเส้นทางเป็น subgraph ของ : …

1
มีอัลกอริทึมที่มีประสิทธิภาพสำหรับปัญหาการครอบรอบจุดสุดยอดนี้หรือไม่?
คำถามนี้ถูกย้ายจาก Mathematics Stack Exchange เพราะสามารถตอบได้ใน Computer Science Stack Exchange อพยพ 3 ปีที่แล้ว ฉันพยายามค้นหาอัลกอริธึมเพื่อหาจุดสุดยอดวงรอบสูงสุดของกราฟกำกับ - นั่นคือชุดของวงรอบที่แยกจากกันซึ่งมีจุดยอดทั้งหมดในกับรอบที่มากที่สุดเท่าที่จะเป็นไปได้ (เราไม่พิจารณา จุดยอดบุคคลรอบที่นี่) ฉันรู้ว่าปัญหาในการค้นหาจุดสุดยอดวงรอบขั้นต่ำเช่นเดียวกับการค้นหาจุดสุดยอดวงรอบที่มีรอบคือ NP-complete แต่กรณีสูงสุดคืออะไร?G kGGGGGGkkk ในขณะที่ฉันจะหาคำตอบสำหรับสิ่งที่น่าสนใจนี้โดยทั่วไปกราฟที่ฉันต้องการใช้สำหรับสิ่งนี้ถูก จำกัด โดยการก่อสร้างของพวกเขาดังนั้นแม้ว่าปัญหานั้นจะเกิดจากปัญหา NP-complete อาจจะมีคำตอบพหุนามสำหรับอินสแตนซ์เหล่านี้ เรามีรายการจำนวนเต็ม , องค์ประกอบและเราจะใช้ , องค์ประกอบเพื่ออ้างถึงหลังจากเรียงลำดับแล้ว ตัวอย่างเช่น:ลิตรฉัน S s ฉัน LLLLล.ผมlil_iSSSsผมsis_iLLL L = ( 1 , 3 , 2 , 5 , 0 , 7 …

1
ปัญหา k-clique NP-complete หรือไม่
คำถามนี้ถูกย้ายจาก Theoretical Computer Science Exchange Exchange เนื่องจากสามารถตอบได้ใน Computer Science Stack Exchange อพยพ 7 ปีที่ผ่านมา ในบทความ Wikipedia เกี่ยวกับปัญหา Clique ในทฤษฎีกราฟนั้นระบุไว้ในตอนต้นว่าปัญหาในการค้นหากลุ่มขนาด K ในกราฟ G คือ NP-complete: กลุ่มวิชายังได้รับการศึกษาในสาขาวิทยาการคอมพิวเตอร์: การค้นหาว่ามีกลุ่มขนาดที่กำหนดในกราฟ (ปัญหากลุ่ม) คือ NP-complete แต่ถึงแม้จะมีความแข็งนี้ส่งผลให้มีการศึกษาอัลกอริธึมหลายอย่าง แต่ในบทความ Wikipedia อื่น ๆ เกี่ยวกับปัญหา Clique ใน CS มันบอกว่ามันกำลังแก้ปัญหาสำหรับขนาดคงที่ k เป็นปัญหาใน P มันสามารถถูกเดรัจฉานบังคับในเวลาพหุนาม อัลกอริทึมแรงเดรัจฉานเพื่อทดสอบว่ากราฟ G มีกลุ่ม k-vertex หรือไม่และค้นหากลุ่มใด ๆ ที่มีอยู่นั้นคือการตรวจสอบแต่ละกราฟย่อยอย่างน้อย …

3
ต้นไม้ที่ขยายครอบคลุมขั้นต่ำสำหรับกราฟจะไม่ซ้ำกันเมื่อใด
กำหนด weighted, กราฟไม่มีทิศทาง G: ซึ่งเงื่อนไขต้องถือเพื่อให้ความจริงว่ามีหลายขั้นต่ำต้นไม้ทอดของ G? ฉันรู้ว่า MST นั้นไม่เหมือนใครเมื่อตุ้มน้ำหนักทั้งหมดนั้นแตกต่างกัน แต่คุณไม่สามารถย้อนกลับข้อความนี้ได้ หากมี muliple edge ที่มีน้ำหนักเท่ากันในกราฟอาจมี MST หลายตัว แต่อาจมีเพียงอันเดียว: ในตัวอย่างนี้กราฟทางด้านซ้ายมี MST ที่ไม่ซ้ำกัน แต่อันที่ถูกต้องไม่มี สิ่งที่ใกล้เคียงที่สุดที่ฉันจะได้รับในการค้นหาเงื่อนไขสำหรับความไม่เป็นเอกลักษณ์ของ MST คือ: พิจารณารอบที่ไม่มีลำตัวทั้งหมด (รอบที่ไม่มีรอบอื่น ๆ ) ในกราฟ G หากในรอบใด ๆ เหล่านี้ขอบที่มีน้ำหนักสูงสุดมีอยู่หลายครั้งกราฟจะไม่มีต้นไม้ทอดขั้นต่ำที่ไม่ซ้ำกัน ความคิดของฉันคือสำหรับรอบเช่นนี้ ด้วย n จุดยอดคุณสามารถแยกขอบด้านใดด้านหนึ่งออกและยังคงมีจุดเชื่อมต่อทั้งหมด ดังนั้นคุณมีทางเลือกมากมายในการลบขอบด้วยน้ำหนักสูงสุดเพื่อรับ MST ดังนั้น MST จึงไม่ซ้ำกัน อย่างไรก็ตามฉันมาพร้อมกับตัวอย่างนี้: คุณจะเห็นว่ากราฟนี้มีวัฏจักรที่เหมาะกับสภาพของฉัน: (E, F, G, H)แต่เท่าที่ฉันเห็นต้นไม้สแปนนิ่งขั้นต่ำนั้นไม่เหมือนใคร: ดังนั้นดูเหมือนว่าสภาพของฉันไม่ถูกต้อง (หรืออาจไม่ถูกต้องสมบูรณ์) …

1
ระยะทางที่สั้นที่สุดเปลี่ยนไปมากแค่ไหนเมื่อเพิ่มขอบเข้ากับกราฟ
ให้เป็นกราฟที่สมบูรณ์, มีน้ำหนัก, ไม่ระบุทิศทาง เราสร้างกราฟสองG ' = ( V , E ' )โดยการเพิ่มขอบหนึ่งโดยหนึ่งจากEไปE ' เราเพิ่มขอบΘ ( | V | )ลงในG ′ทั้งหมดG=(V,E)G=(V,E)G=(V,E)G′=(V,E′)G′=(V,E′)G'=(V, E')EEEE′E′E'Θ(|V|)Θ(|V|)\Theta(|V|)G′G′G' ทุกครั้งที่เราเพิ่มอีกหนึ่งขอบเพื่อE 'เราจะพิจารณาในระยะทางที่สั้นที่สุดระหว่างคู่ทั้งหมดใน( V , E ' )และ( V , E ' ∪ { ( U , V ) } ) เรานับจำนวนของระยะทางที่สั้นที่สุดเหล่านี้มีการเปลี่ยนแปลงเป็นผลมาจากการเพิ่ม( U , V ) ให้C iเป็นระยะทางที่สั้นที่สุดที่เปลี่ยนไปเมื่อเราเพิ่มi(u,v)(u,v)(u,v)E′E′E'(V,E′)(V,E′)(V, E')(V,E′∪{(u,v)})(V,E′∪{(u,v)})(V, E' …

2
ต้นไม้ที่ทอดข้ามขั้นต่ำของกราฟถ่วงน้ำหนักมีจำนวนขอบเท่ากันกับน้ำหนักที่กำหนดหรือไม่?
หากกราฟถ่วงน้ำหนักมีต้นไม้ทอดต่ำสุดสองแบบและว่าเป็นจริงที่ขอบในจำนวนขอบในมีน้ำหนักเท่ากับ (รวมถึงเอง) เท่ากับจำนวนขอบในมีน้ำหนักเท่ากันกับ ? หากข้อความนั้นเป็นจริงเราจะพิสูจน์ได้อย่างไรT 1 = ( V 1 , E 1 ) T 2 = ( V 2 , E 2 ) e E 1 E 1 e e E 2 eGGGT1=(V1,E1)T1=(V1,E1)T_1 = (V_1, E_1)T2=(V2,E2)T2=(V2,E2)T_2 = (V_2, E_2)eeeE1E1E_1E1E1E_1eeeeeeE2E2E_2eee

2
ค้นหาอย่างน้อยสองเส้นทางที่มีความยาวเท่ากันในกราฟกำกับ
สมมติว่าเรามีที่กำกับกราฟและสองโหนดและBฉันต้องการทราบว่ามีอัลกอริทึมสำหรับคำนวณปัญหาการตัดสินใจต่อไปนี้หรือไม่:A BG=(V,E)G=(V,E)G=(V,E)AAABBB มีอย่างน้อยสองเส้นทางระหว่างและที่มีความยาวเท่ากันหรือไม่?BAAABBB แล้วความซับซ้อนล่ะ? ฉันจะแก้มันในเวลาพหุนามได้หรือไม่? ฉันต้องการเพิ่มข้อ จำกัด ใหม่บนกราฟบางทีปัญหาอาจแก้ไขได้มากกว่า ในเมทริกซ์คำคุณศัพท์ทุกคอลัมน์ไม่ว่างเปล่า ดังนั้นทุกโหนดมีลูกศรอย่างน้อยหนึ่งลูกที่อินพุตและมีอย่างน้อยหนึ่งโหนดที่เชื่อมต่อกับตัวเอง ดังนั้นถ้าโหนดคือโหนด th ดังนั้นคือขอบในกราฟ( ฉัน, ฉัน)iii(i,i)(i,i)(i,i)

1
อัลกอริธึมที่เหมาะสมที่สุดในการค้นหาเส้นรอบวงของกราฟกระจาย?
ฉันสงสัยว่าจะหาเส้นรอบวงของกราฟที่ไม่มีทิศทางโดยตรงได้อย่างไร ฉันหมายถึง ) ตามความเหมาะสมฉันหมายถึงความซับซ้อนของเวลาต่ำสุด| E| =O( | V| )|E|=O(|V|)|E|=O(|V|) ฉันคิดถึงการปรับเปลี่ยนบางอย่างในอัลกอริทึมของ Tarjanสำหรับกราฟที่ไม่ได้บอกทิศทาง แต่ฉันไม่พบผลลัพธ์ที่ดี ที่จริงฉันคิดว่าถ้าฉันสามารถหาส่วนประกอบที่เชื่อมต่อ 2 ในแล้วฉันจะพบเส้นรอบวงโดยอุปนัยบางอย่างที่สามารถทำได้จากส่วนแรก ฉันอาจผิดทาง อัลกอริทึมใด ๆ ที่ไม่มีสัญญาณดีกว่าΘ ( | V | 2 ) (เช่นo ( | V | 2 ) ) ยินดีต้อนรับO ( | V| )O(|V|)O(|V|)Θ ( | V|2)Θ(|V|2)\Theta(|V|^2)o ( | V|2)o(|V|2)o(|V|^2)

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