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

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

3
การรักษากราฟที่ไม่ได้บอกทางเป็นหมวดหมู่ย่อยของกราฟที่กำกับ
โดยประมาณแล้วกราฟที่ไม่ได้บอกทิศทางนั้นคล้ายกับกราฟกำกับที่แต่ละขอบ (v, w) มีขอบเสมอ (w, v) นั่นเป็นการชี้ให้เห็นว่าอาจเป็นที่ยอมรับได้หากดูกราฟที่ไม่ได้บอกทิศทางเป็นส่วนย่อยของกราฟกำกับ (อาจมีข้อ จำกัด เพิ่มเติมที่การเพิ่ม / ลบขอบสามารถทำได้ในคู่ที่ตรงกันเท่านั้น) อย่างไรก็ตามตำรามักจะไม่ปฏิบัติตามการรักษานี้และชอบที่จะกำหนดกราฟที่ไม่ได้บอกทิศทางเป็นแนวคิดแยกต่างหากแทนที่จะเป็นประเภทย่อยของกราฟกำกับ มีเหตุผลอะไรบ้าง?

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

2
หนึ่งจะสร้างลำดับไบนารีทั้งหมดได้อย่างมีประสิทธิภาพด้วยจำนวนที่เท่ากันของ 0 และ 1 อย่างไร
ลำดับไบนารีของความยาวเป็นเพียงลำดับเพื่อให้แต่ละเป็นทั้งหรือ1เพื่อสร้างลำดับไบนารีดังกล่าวทั้งหมดเราสามารถใช้โครงสร้างต้นไม้ไบนารีที่เห็นได้ชัดในวิธีต่อไปนี้: รากคือ "ว่าง" แต่ลูกซ้ายแต่ละคนสอดคล้องกับการเพิ่มถึงสตริงที่มีอยู่และแต่ละลูกที่เหมาะสมกับ . ทีนี้ลำดับของไบนารีแต่ละคู่เป็นเพียงเส้นทางที่มีความยาวเริ่มต้นที่รูทและจบที่ลีฟnnnx1,…,xnx1,…,xnx_1,\ldots,x_nxjxjx_j000111000111n+1n+1n+1 นี่คือคำถามของฉัน: เราสามารถทำได้ดีกว่าถ้าเราเพียง แต่ต้องการสร้างสตริงไบนารีทั้งหมดของความยาวที่มีได้อย่างแม่นยำศูนย์และคน?2n2n2nnnnnnn โดย "เราทำได้ดีกว่า" ฉันหมายความว่าเราควรมีความซับซ้อนต่ำกว่าอัลกอริธึมโง่ที่สร้างต้นไม้ทั้งหมดขึ้นด้านบนแล้วพยายามหาเส้นทางเหล่านั้นด้วยขอบซ้ายและขวา

2
NP-ครบถ้วนของปัญหาการระบายสีกราฟ
สูตรทางเลือก ฉันคิดสูตรทางเลือกสำหรับปัญหาด้านล่าง การกำหนดทางเลือกเป็นจริงกรณีพิเศษของปัญหาการร้องและใช้กราฟสองฝ่ายเพื่ออธิบายปัญหา อย่างไรก็ตามฉันเชื่อว่าสูตรทางเลือกยังคงเป็นปัญหายาก การกำหนดทางเลือกใช้ชุด disjoint ของโหนดขาเข้าและขาออกที่ทำให้การกำหนดปัญหาง่ายขึ้น ได้รับออกและโหนดเข้า (โหนดสีแดงและสีน้ำเงินในรูปตามลำดับ) และชุด 's ขนาดของน้ำหนักขอบระหว่างจุดออกและขาเข้า เป้าหมายของปัญหาคือสีขอบหนาในรูปเพื่อให้ทุกโหนดที่เข้ามามีเงื่อนไขnnnnnnwijwijw_{ij}n×nn×nn \times n ได้รับชุดจุดยอดขาออก, ชุดของจุดยอดอินพุท,น้ำหนัก ระหว่าง 's และ ' s สำหรับ , และค่าคงที่บวก , หา จำนวนขั้นต่ำของสีสำหรับขอบ (ขอบหนาในรูปด้านบน) เช่นว่าทุก ,{Oi|i=1…n}{Oi|i=1…n}\{ O_i \; | \; i=1 \dots n \}{Ii|i=1…n}{Ii|i=1…n}\{ I_i\; | \; i=1 \dots n \}n×nn×nn \times nwij≥0wij≥0w_{ij} \ge 0OiOiO_iIjIjI_ji,j=1…ni,j=1…ni,j=1 …

2
อัลกอริทึม Dijkstras ถูกใช้ในระบบค้นหาเส้นทางที่ทันสมัยหรือไม่?
อัลกอริทึมของ Dijkstra ใช้ในระบบค้นหาเส้นทางที่ทันสมัยเช่น Google maps หรือ satnav ในรถยนต์ของคุณหรือไม่? ถ้าไม่เช่นนั้นจะเกิดอะไรขึ้น?

5
การแปลงกราฟไปเป็นกราฟที่ไม่ได้บอกทิศทางด้วยวิธีย้อนกลับได้
ฉันกำลังมองหาอัลกอริทึมในการแปลงดิจิกราฟ (กราฟกำกับ) เป็นกราฟที่ไม่ได้บอกทิศทางในวิธีที่สามารถย้อนกลับได้นั่นคือดิจิกราฟควรจะสร้างใหม่ได้หากเราได้กราฟที่ไม่ได้เปลี่ยนทิศทาง ฉันเข้าใจว่านี่จะเป็นค่าใช้จ่ายของกราฟที่ไม่ได้บอกทิศทางซึ่งมีจุดยอดมากขึ้น แต่ฉันก็ไม่สนใจ มีใครรู้วิธีการทำเช่นนี้หรือสามารถแนะนำการอ้างอิงใด ๆ ขอบคุณล่วงหน้า. อัปเดต: เกี่ยวกับคำตอบของ AdrianN ด้านล่าง อาจเป็นจุดเริ่มต้นที่ดี แต่ฉันไม่คิดว่ามันจะทำงานในรูปแบบปัจจุบัน นี่คือภาพว่าทำไมฉันจึงคิดว่าไม่: อัปเดตหลังจากความคิดเห็นของ DW: ฉันถือว่าจุดยอดของกราฟเป็นแบบไม่มีป้ายกำกับ หากวิธีการแก้ปัญหาเกี่ยวข้องกับการติดฉลากจุดยอด (เช่นเดียวกับที่ AdrianN ทำ) ก็ควรให้กราฟที่ไม่มีการเปลี่ยนทิศทางแบบเดียวกัน คำจำกัดความของ "isomorphic" สำหรับกราฟที่มีเครื่องหมายจุดยอดคือมีการเรียงสับเปลี่ยนของการติดฉลากที่เกี่ยวข้องกับกราฟทั้งสอง แต่ฉันไม่แน่ใจเกี่ยวกับคำจำกัดความที่แน่นอนสำหรับกราฟที่ไม่มีป้ายกำกับ ...

1
มีอัลกอริธึมที่มีประสิทธิภาพสำหรับการพิจารณาว่ากราฟมีออโต้มอร์ฟิซึ่มเล็กน้อยหรือไม่?
ฉันกำลังทำงานกับปัญหาที่เกี่ยวข้องกับละตินสแควร์สและฉันต้องการวิธีการที่จำเป็นอย่างยิ่งในการตัดสินใจปัญหา: การป้อนข้อมูล : การ จำกัด กราฟง่ายกรัม เอาท์พุท : YESถ้า G มี automorphism ไม่น่ารำคาญNOเป็นอย่างอื่น ดังนั้น ... คำถาม : มีอัลกอริธึมที่มีประสิทธิภาพสำหรับการพิจารณาว่ากราฟมีออโต้มอร์ฟิซึ่มเล็กน้อยหรือไม่? เราสามารถใช้ Nauty หรือ Bliss (และแพ็คเกจอื่น ๆ ) เพื่อคำนวณกลุ่ม automorphism ทั้งหมด แต่ฉันไม่ต้องการ สิ่งที่ฉันต้องพิจารณาก็คือมันไม่สำคัญหรือไม่ เป็นไปได้ว่าปัญหาการตัดสินใจนี้มีความซับซ้อนทางทฤษฎีเทียบเท่ากับ "การคำนวณกลุ่มออโตมอร์ฟิซึมทั้งหมด" ในทางใดทางหนึ่ง ฉันไม่แน่ใจ. สำหรับจุดประสงค์ของฉัน "ประสิทธิภาพ" โดยทั่วไปหมายถึง "เร็วกว่าในทางปฏิบัติมากกว่าการคำนวณกลุ่ม automorphism ทั้งหมด" แต่ฉันก็สนใจในทฤษฎีที่อยู่เบื้องหลัง

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

1
เกี่ยวกับกราฟที่ขอบชุดแตกออกเป็นการจับคู่ที่สมบูรณ์แบบ
มีลักษณะของกราฟที่ขอบชุดสลายตัวเป็นสหภาพที่ลงตัวสำหรับการจับคู่ที่สมบูรณ์แบบหรือไม่? หนึ่งชั้นเล็กน้อยของกราฟดังกล่าวคือกราฟสม่ำเสมอทวิภาคี ชุดขอบของพวกเขาจะสลายลงในจ้อที่สมบูรณ์แบบเคลื่อน ddd( n , n )(n,n)(n,n)ddd

3
วิธีแก้ปัญหาการจัดการที่ Archive Nationale of France โดยใช้ทฤษฎีกราฟ?
สวัสดีตอนเย็น! จริงๆแล้วฉันกำลังฝึกงานที่ Archives Nationales of France และฉันพบสถานการณ์ที่ฉันต้องการแก้ปัญหาโดยใช้กราฟ ... I. สถานการณ์ที่เต็มไปด้วยฝุ่น เราต้องการเพิ่มประสิทธิภาพการจัดเรียงหนังสือในห้องสมุดของฉันตามความสูงเพื่อลดต้นทุนการเก็บถาวร ความสูงและความหนาของหนังสือเป็นที่รู้จัก เราได้จัดเรียงหนังสือตามลำดับความสูง (ฉันไม่รู้ว่ามันเป็นสิ่งที่ดีที่สุด แต่ ... นั่นคือวิธีที่เราทำ) เมื่อทราบความหนาของหนังสือแต่ละเล่มเราสามารถกำหนดความหนาที่จำเป็นสำหรับแต่ละชั้นสำหรับการจัดเรียงเรียกว่า (ตัวอย่างเช่นหนังสือที่สูงอาจมีความหนารวม )H1,H2, … ,HnH1,H2,…,HnH_1,H_2,\dots,H_nHผมHiH_iLผมLiL_iHผม= 23คเมตรHi=23cmH_i = 23\,\mathrm{cm}Lผม= 300คเมตรLi=300cmL_i = 300\,\mathrm{cm} ห้องสมุดสามารถผลิตชั้นวางที่กำหนดเองโดยระบุความยาวและความสูงที่ต้องการ ชั้นวางของความสูงและความยาวค่าใช้จ่าย โดยที่เป็นต้นทุนคงที่และคือต้นทุนของชั้นวางต่อหน่วยความยาวHผมHiH_ixผมxix_iFผม+คผมxผมFi+CixiF_i+C_ix_iFผมFiF_iคผมCiC_i โปรดทราบว่าการเก็บรักษาของความสูงสามารถใช้ในการเก็บหนังสือของความสูง กับฉัน เราต้องการลดต้นทุนHผมHiH_iHJHjH_jj ≤ ฉันj≤ij\leq i ผู้สอนของฉันแนะนำว่าฉันทำแบบจำลองปัญหานี้เป็นปัญหาในการค้นหาเส้นทาง รูปแบบที่อาจเกี่ยวข้องกับการจุดจัดทำดัชนีแบบฟอร์มเพื่อnพี่เลี้ยงของฉันแนะนำให้ผมทำงานออกเงื่อนไขที่มีอยู่แต่ละขอบหมายและวิธีการในการทำงานจากการประเมินค่าที่เกี่ยวข้องกับขอบj) ฉันก็จะตกลงกับโซลูชั่นอื่น ๆ เช่นเดียวกับข้อมูลเชิงลึกn + 1n+1n+1000nnnv ( i , j )v(i,j)v(i,j)( i …

1
อัลกอริทึมและโครงสร้างข้อมูลที่มีประสิทธิภาพที่สุดสำหรับการบำรุงรักษาข้อมูลส่วนประกอบที่เชื่อมต่อบนกราฟแบบไดนามิกคืออะไร
สมมติว่าฉันมีกราฟหร็อมแหร็มไม่ จำกัด ทิศทางและจำเป็นต้องสามารถเรียกใช้แบบสอบถามต่อไปนี้ได้อย่างมีประสิทธิภาพ: ผมs Co n n e c t e d(ยังไม่มีข้อความ1,ยังไม่มีข้อความ2)IsConnected(N1,N2)IsConnected(N_1, N_2) - ส่งคืนหากมีเส้นทางระหว่างถึงมิฉะนั้นTTTยังไม่มีข้อความ1N1N_1ยังไม่มีข้อความ2N2N_2FFF คo n n e c t e dยังไม่มีข้อความo de s ( N)ConnectedNodes(N)ConnectedNodes(N) - ส่งคืนชุดของโหนดที่สามารถเข้าถึงได้จากยังไม่มีข้อความNN สิ่งนี้ทำได้ง่ายโดยการคำนวณส่วนประกอบที่เชื่อมต่อของกราฟไว้ล่วงหน้า คำสั่งทั้งสองสามารถทำงานในเวลาO ( 1 )O(1)O(1) ถ้าฉันยังต้องสามารถเพิ่มขอบโดยพลการ - - จากนั้นฉันสามารถเก็บส่วนประกอบไว้ในโครงสร้างข้อมูลที่ไม่จัดวางได้ เมื่อใดก็ตามที่มีการเพิ่มขอบถ้ามันเชื่อมต่อสองโหนดในองค์ประกอบที่แตกต่างกันฉันจะรวมองค์ประกอบเหล่านั้น สิ่งนี้จะเพิ่มค่าใช้จ่ายให้กับและราคาเป็นและ (ซึ่งอาจเป็น )ddEdก.e (ยังไม่มีข้อความ1,ยังไม่มีข้อความ2)AddEdge(N1,N2)AddEdge(N_1, N_2)O ( 1 )O(1)O(1)ddEdก.อีAddEdgeAddEdgeO ( ฉันn วีอีอาร์เอสอีคk …

1
ปัญหาคืออะไร (การแบ่งกราฟออกเป็นสามส่วน)
ฉันสงสัยว่าปัญหานี้มีชื่อ: ให้กราฟง่าย ๆ ที่มีขอบเป็นสีแดงน้ำเงินและเขียวมีจุดยอดสีเช่นนั้น ขอบทุกอันมีจุดปลายที่มีสีเดียวกันG=(V,B∪R∪G)G=(V,B∪R∪G)G=(V,B\cup R\cup G)c:V→{B,R,G}c:V→{B,R,G}c:V\to \{B,R,G\} นอกจากนี้ยังเป็นที่รู้จักกันว่าเป็น NP-complete? สิ่งนี้สามารถถูกมองว่าเป็นกรณีพิเศษของ CSP (หรือการวางนัยทั่วไปของ 2SAT) โดยที่แต่ละข้อ จำกัด เป็นการแยกความแตกต่างของตัวแปร 2 ตัวที่สามารถรับหนึ่งในสามค่าและไม่มีข้อ จำกัด สองประการในคู่ตัวแปรเดียวกัน

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

1
ค้นหาเส้นทาง k-shortest ระหว่างสองโหนด
รับ digraph ถ่วงน้ำหนัก G = V, EG=V,EG=V,Eและฟังก์ชั่นน้ำหนัก d( u , v )d(ยู,โวลต์)d(u,v)โดยปกติเราสามารถใช้อัลกอริทึมของ Dijkstra เพื่อรับเส้นทางที่สั้นที่สุด สิ่งที่ฉันสนใจคือทำอย่างไรจึงจะได้2ไม่มีวัน2nd2^{nd}เส้นทางที่สั้นที่สุด 3R d3Rd3^{rd}- สั้นที่สุดและอื่น ๆ คำถาม: มีอัลกอริทึมที่มีประสิทธิภาพในการรับเส้นทางที่สั้นที่สุดระหว่างสองโหนดในกราฟถ่วงน้ำหนักหรือไม่ มีอัลกอริธึมที่มีประสิทธิภาพในการรับเส้นทางที่สั้นที่สุดระหว่างสองโหนดในกราฟถ่วงน้ำหนักหรือไม่? คำตอบของทั้งคู่ก็โอเค แต่ฉันสงสัยว่าคำตอบของคำถามที่สองนั้นสามารถทำได้อย่างมีประสิทธิภาพมากกว่า kkk โทรหาคำตอบสำหรับคำถามแรก

2
การออกแบบการคัดเกรดแบบ Peer - การเลือกกราฟเพื่อให้ได้อันดับ / การจัดอันดับที่แม่นยำ
พื้นหลัง. ฉันกำลังเขียนโค้ดบางส่วนสำหรับการให้คะแนนแบบกึ่งอัตโนมัติโดยใช้การให้คะแนนแบบเพียร์เป็นส่วนหนึ่งของกระบวนการให้คะแนน นักเรียนจะได้รับเรียงความคู่หนึ่งครั้งและนักเรียนมีแถบเลื่อนเพื่อเลือกว่าจะดีกว่าและดีกว่ามากแค่ไหน เช่นแถบเลื่อนอาจมีลักษณะดังนี้: A---X-B ขึ้นอยู่กับผลลัพธ์ของการให้คะแนนเพื่อนเรียงความจะถูกจัดอันดับและครูจะจัดเกรด X% และ X ล่างสุดและคะแนนสำหรับเรียงความทั้งหมดจะถูกคำนวณโดยอัตโนมัติตามสิ่งนี้ ฉันคิดวิธีการจัดอันดับ / การให้คะแนนนี้แล้ว ส่วนนั้นทำงานได้ดี คำถามของฉัน. ฉันจะเลือกเรียงความที่จะให้กับนักเรียนได้อย่างไร การจำลองแนะนำว่าเราต้องมีการเขียนเรียงความอย่างน้อย 3 ครั้งเพื่อให้ได้อันดับที่ถูกต้อง ดังนั้นการเขียนเรียงความแต่ละครั้งควรปรากฏในคู่อย่างน้อย 3 คู่ที่มีการจัดลำดับเพียร์ เราคิดว่านี่เป็นปัญหากราฟ คิดว่าบทความเป็นโหนด แต่ละขอบแสดงถึงคู่ของบทความที่นำเสนอในระหว่างกระบวนการคัดเกรดเพื่อน ผลลัพธ์ความแม่นยำข้างต้นชี้ให้เห็นว่าระดับของแต่ละโหนด (หรือของโหนดส่วนใหญ่) ควรมีอย่างน้อย 3 กราฟที่ฉันควรใช้ ฉันจะสร้างกราฟที่จะใช้ในระหว่างการให้คะแนนเพื่อนได้อย่างไร สิ่งหนึ่งที่ท้าทายคือถ้าคุณมีกลุ่มในกราฟสิ่งนี้จะเอียงการไล่ระดับสีแบบเพียร์ ตัวอย่างเช่นเราไม่ต้องการให้เรียงความที่มีคุณภาพสูงเป็นแบบคัดเกรดกับส่วนใหญ่เป็นเรียงความที่มีคุณภาพสูงเพราะนั่นจะบิดเบือนผลลัพธ์ของการคัดเกรดเพื่อน คุณจะแนะนำอะไร ฉันคิดว่าปัญหานี้สามารถสร้างแบบจำลองด้วยกราฟที่ไม่ได้บอกทิศทางโดยใช้สิ่งต่อไปนี้: เริ่มต้นด้วยการใช้โหนดที่มีระดับน้อยที่สุดและเชื่อมโยงกับโหนดถัดไป ดำเนินการต่อไปจนกระทั่งระดับเฉลี่ยของคุณอย่างน้อย 3 เพิ่มการเชื่อมต่อโหนดให้สูงสุด ลดจำนวน cliques ให้น้อยที่สุด นี่เป็นวิธีที่ดีหรือไม่? ถ้าไม่ใช่คุณจะแนะนำอะไรแทน

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