2. Εισαγωγή στην βιβλιοθήκη igraph

Σχετικά έγγραφα
2. Εισαγωγή στην βιβλιοθήκη igraph. δικτύων - γραφημάτων. δικτύων - γραφημάτων. δικτύων - γραφημάτων. δικτύων - γραφημάτων

Γράφηµα (Graph) Εργαστήριο 10. Εισαγωγή

Το πιο απλό δίκτυο είναι η δυάδα ή το ζευγάρι. Οι δυάδες συνδέονται μεταξύ τους για να δημιουργήσουν μεγαλύτερα δίκτυα

Γράφοι. Ένας γράφος ή αλλιώς γράφηµα αποτελείται απο. Εφαρµογές: Τηλεπικοινωνιακά και Οδικά ίκτυα, Ηλεκτρονικά Κυκλώµατα, Β.. κ.ά.

Γράφοι. Ορολογία. Ορισµός: G = (V, E) όπου. Ορολογία (συνέχεια) γράφος ή γράφηµα (graph) V:ένα σύνολο E:µια διµελής σχέση στο V

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 1: Δικτυωτή Ανάλυση (Θεωρία Γράφων)

Στοιχεία Θεωρίας Γράφων (Graph Theory)

Γράφοι. Αλγόριθμοι και πολυπλοκότητα. Στάθης Ζάχος, Δημήτρης Φωτάκης

Κεφάλαιο 3. Γραφήµατα v1.0 ( ) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Γράφημα. Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα: Σύνολο κορυφών (vertex set) Σύνολο ακμών (edge set) 4 5 πλήθος κορυφών πλήθος ακμών

HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems

Βασικές Δοµές Δεδοµένων. Σύντοµη επανάληψη (ΕΠΛ 035).

e 2 S F = [V (H), V (H)]. 3-1 e 1 e 3

Network Science. Θεωρεία Γραφηµάτων (2)

Αλγόριθμοι και πολυπλοκότητα: 4 η σειρά ασκήσεων ΣΗΜΜΥ - Ε.Μ.Π.

Θεωρία Υπολογισμού και Πολυπλοκότητα Μαθηματικό Υπόβαθρο

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Θεωρία Υπολογισμού. Ενότητα 3 : Γραφήματα & Αποδείξεις. Αλέξανδρος Τζάλλας

ΕΠΛ 231 Δοµές Δεδοµένων και Αλγόριθµοι 11-1

Κεφάλαιο 3. Γραφήματα. v1.3 ( ) Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

1. Σε ένα τουρνουά με 8 παίκτες μπορεί οι παίκτες να συμμετείχαν σε: 6,5,4,4,4,3,1,1 αγώνες αντίστοιχα;

Κεφάλαιο 3. Γραφήµατα v1.1 ( ) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Network Science Θεωρεία Γραφηµάτων (1)

Αλγόριθμοι Γραφημάτων

Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα)

ΑΝΤΙΣΤΟΙΧΗΣΕΙΣ ΟΡΩΝ ΠΟΥ ΧΡΗΣΙΜΟΠΟΙOΥΝΤΑΙ ΣΤΟΥΣ ΤΟΜΟΥΣ Α ΚΑΙ Β ΤΗΣ ΘΕ «ΔΙΑΚΡΙΤΑ ΜΑΘΗΜΑΤΙΚΑ» Ένα γράφημα αποτελείται από ένα σύνολο 94.

Σχέσεις, Ιδιότητες, Κλειστότητες

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Σχεδιαση Αλγοριθμων -Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο

Επίπεδα Γραφήματα : Προβλήματα και Υπολογιστική Πολυπλοκότητα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ

Σημειωματάριο Τετάρτης 29 Νοε. 2017

Διάλεξη 3: Σχήμα 3.3: Το σύνολο των κόκκινων ακμών είναι ακμοδιαχωριστής αλλά όχι τομή. Το σύνολο ακμών {1, 2, 3} είναι τομή. Από

ΑΛΓΟΡΙΘΜΟΙ Άνοιξη I. ΜΗΛΗΣ

Αλγόριθμοι για Ασύρματα Δίκτυα. Θεωρία Γραφημάτων

Εισαγωγή στην Επιστήμη των Υπολογιστών

ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ

ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ

ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι Άννα Φιλίππου,

Διάλεξη 29: Γράφοι. Διδάσκων: Παναγιώτης Ανδρέου

Οπτικοποίηση με Prefuse. Δομή / Βασικά Χαρακτηριστικά / Παράδειγμα

ΔΙΑΣΧΙΣΗ ΓΡΑΦΗΜΑΤΩΝ 1

u v 4 w G 2 G 1 u v w x y z 4

Κεφάλαιο 3. Γραφήματα. ver. 21/12/2014. Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Minimum Spanning Tree: Prim's Algorithm

Network Algorithms and Complexity Παραλληλοποίηση του αλγορίθμου του Prim. Αικατερίνη Κούκιου

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Γράφοι: κατευθυνόμενοι και μη

1 (6) 9 (6) 2 (3) 10 (9) 3 (6) 11 (6) 4 (8) 12 (6) 5 (6) 13 (8) 6 (5) 14 (6) 7 (6) 15 (11) 8 (8)

ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

Κατευθυνόµενα γραφήµατα. Στοιχεία Θεωρίας Γραφηµάτων (1) Πολυγραφήµατα (Multigraphs)

Τύποι Δεδομένων και Απλές Δομές Δεδομένων. Παύλος Εφραιμίδης V1.0 ( )

Δυναμικές Δομές Δεδομένων Λίστες Δένδρα - Γράφοι

Ασκηση 1 [ ] Παράδοση : Τετάρτη , 13:00

ΔΙΑΛΕΞΗ 4 ΒΑΣΙΚΗ ΘΕΩΡΙΑ ΓΡΑΦΩΝ

Στοιχεία Θεωρίας Γραφηµάτων (1)

HY118-Διακριτά Μαθηματικά

Έξι βαθμοί διαχωρισμού

Αλγόριθμοι και Πολυπλοκότητα

Εισαγωγή στην Επιστήμη των Υπολογιστών

Θεωρία Γραφημάτων 10η Διάλεξη

4 ο Εργαστήριο Τυχαίοι Αριθμοί, Μεταβλητές Συστήματος

Ενότητα 5: Αλγόριθμοι γράφων και δικτύων

Μέγιστη ροή. Κατευθυνόμενο γράφημα. Συνάρτηση χωρητικότητας. αφετηρίακός κόμβος. τερματικός κόμβος. Ροή δικτύου. με τις ακόλουθες ιδιότητες

HY118- ιακριτά Μαθηµατικά. Θεωρία γράφων / γραφήµατα. Τι είναι οι γράφοι; Εφαρµογές των γράφων Γράφοι

Δρομολόγηση Και Πολύχρωματισμός. Γραφημάτων ΚΑΡΑΓΕΩΡΓΟΣ ΤΙΜΟΘΕΟΣ Α.Μ 1026

Εισαγωγή στο MATLAB. Κολοβού Αθανασία, ΕΔΙΠ,

Κατανεμημένα Συστήματα Ι

Τεχνολογίες Υλοποίησης Αλγορίθµων

Αναζήτηση Κατά Πλάτος

HY118- ιακριτά Μαθηµατικά. Θεωρία γράφων / γραφήµατα. Τι είναι οι γράφοι; Εφαρµογές των γράφων Γράφοι

Αλγόριθµοι και Πολυπλοκότητα

Αφηρημένες Δομές Δεδομένων. Στοίβα (Stack) Υλοποίηση στοίβας

Σειρά Προβλημάτων 5 Λύσεις

ΣΕΤ ΑΣΚΗΣΕΩΝ 4. Προθεσμία: 17/1/14, 22:00

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Συνδετικότητα γραφήματος (graph connectivity)

The DeGroot model for Social Influence and Opinions

Φροντιστήριο #9 Ασκήσεις σε Γράφους 18/5/2018

Αλγόριθμοι Γραφημάτων

Διερεύνηση γραφήματος

Θεωρία Γραφημάτων 11η Διάλεξη

Γραφικά με υπολογιστές. Διδάσκων: Φοίβος Μυλωνάς. Διάλεξη #07

Το μοντέλο DeGroot και το Παίγνιο Επιρροής

Θεωρία και Αλγόριθμοι Γράφων

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ. Δρ. Π. Νικολαΐδου

Εισαγωγή στη Βιοπληροφορική

Microsoft PowerPoint 2010 Πανεπιστήμιο Κύπρου

Μεταπτυχιακό Πρόγραμμα «Γεωχωρικές Τεχνολογίες» Ψηφιακή Επεξεργασία Εικόνας. Εισηγητής Αναστάσιος Κεσίδης

Σειρά Προβλημάτων 1 Λύσεις

Αλγόριθμοι Ταξινόμησης Μέρος 4

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές Δεδομένων. Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης

ΑΛΓΟΡΙΘΜΟΙ. Ενότητα 9: Άπληστοι Αλγόριθμοι. Ιωάννης Μανωλόπουλος, Καθηγητής Αναστάσιος Γούναρης, Επίκουρος Καθηγητής Τμήμα Πληροφορικής ΑΠΘ

Initialize each person to be free. while (some man is free and hasn't proposed to every woman) { Choose such a man m w = 1 st woman on m's list to

Boost - Boost Graph Library C++ library

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές Δεδομένων. Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης

Προγραμματισμός ΙΙ Εαρινό εξάμηνο Εργασία 3 Βιβλιοθήκη για λειτουργίες σε γράφους

ΑΛΓΟΡΙΘΜΟΙ Άνοιξη I. ΜΗΛΗΣ

Transcript:

2. Εισαγωγή στην βιβλιοθήκη igraph Βασίλης Καραγιάννης Χρόνης Μωϋσιάδης Παράδειγμα: 4 φίλοι από τα φοιτητικά χρόνια (70-ρηδες τώρα) που βρέθηκαν τυχαία μέσα από το facebook, αποφασίζουν να βαθμολογήσουν ο ένας τον άλλο στην ερώτηση «ποιος μ έκανε να γελώ συχνότερα», με βαθμούς: 1=καθόλου, ως, 5=πάρα πολύ. Αφού απάντησαν στη συνέχεια συμφώνησαν να δεχθούν ως θετική κάθε απάντηση πάνω από 2, οπότε δημιούργησαν τις επόμενες λίστες: Τι συμπεράσματα βγάζετε για την παρέα; 20/10/2015015 igraph-intro- Καραγιάννης-Μωυσιάδης 2

Τι συμπεράσματα βγάζετε για την παρέα από την εικόνα; 3 Κορυφές (nodes) Ακμές (links arrows) Βάρος (weight) A (A,B) 5 B (A,C) 3 C (B,C) 4 D (C,B) 3 (D,A) 3 (D,B) 4 4

Κατηγορίες δικτύων ως προς τον τρόπο κατασκευής τους: α) Σταθμισμένο δίκτυο (weighted): οι σχέσεις περιγράφονται με έναν συντελεστή βαρύτητας. b) Δίκτυο χωρίς βάρη (binary) δυαδικό δίκτυο ή 0-1 δίκτυο. c) Δυαδικό δίκτυο που προκύπτει από τον καθορισμό ενός κατωφλίου (μια ακμή υπάρχει αν το βάρος είναι μεγαλύτερο του 1). d) Ίδια περίπτωση με την προηγούμενη για βάρος μεγαλύτερο του 2. Κατευθυνόμενο -directed (όταν πχ αναπαριστά τη σχέση «απευθύνομαι σ αυτόν/ην για συμβουλή»)ή μη κατευθυνόμενο non-directed(όταν πχ αναπαριστά τη σχέση «o A είναι φίλος με τον Β»). 5 Στο script του εργαστηρίου αλλά και στη σελίδα του μαθήματος θα βρείτε αρκετές εντολές για τη δημιουργία δικτύων. Εδώ θα παρουσιαστούν αυτές που χρησιμοποιούμε συχνότερα. Δημιουργία directed graph από τη λίστα συνδέσεων (edge list) enl <- cbind( c(1, 1, 2, 3), c(2, 3, 3, 5)) gnn <- graph.edgelist(enl, directed=true) ## δημιουργία της λίστας ## to γράφημα από τη λίστα 6

Δημιουργία της εικόνας του γραφήματος (με βέλτιστο αυτόματο τρόπο που σχεδόν πάντα δίνει κάτι διαφορετικό) plot(gnn) 7 Δημιουργία udirected graph από τη λίστα συνδέσεων (edge list) enlu <- cbind( c(1, 1, 2, 3), c(2, 3, 3, 5)) ## δημιουργία της λίστας gnnu <- graph.edgelist(enlu, directed=false) ## to γράφημα από τη λίστα 8

Δημιουργία της εικόνας του γραφήματος plot(gnnu) 9 Ο πίνακας συνδέσεων (adjacency matrix) του κατευθυνόμενου adjgnn <- get.adjacency(gnn) 10

Ο πίνακας συνδέσεων (adjacency matrix) του μη κατευθυνόμενου adjgnnu <- get.adjacency(gnnu) 11 Δημιουργία του δικτύου από τον πίνακα συνδέσεων (adjacency matrix) gfrommatn <- graph.adjacency(adjgnnu, mode="undirected", weighted=null, diag=true, add.colnames=null, add.rownames=na) plot(gfrommatn) Είναι δίκτυο στην igraph? class(gfrommatn ) is.igraph(gfrommatn ) 12

Η λίστα συνδέσεων-γειτόνων (adjacency list) του μη κατευθυνόμενου adjlgnnu <- get.adjlist(gnnu) 13 Η λίστα συνδέσεων (adjacency list) του κατευθυνόμενου get.adjlist(gnn, mode = "out") ---- get.adjlist(gnn, mode = "in") 14

Αλλαγή της εικόνας του δικτύου, εισαγωγή χαρακτηριστικών (attributes) tkplot(gfrommatn) 15 Πριν κλείσουμε το παράθυρο σώζουμε τις νέες συντεταγμένες και τις δίνουμε ως ιδιότητες των κορυφών (για τις ακμές το V αντικαθίσταται με το E): V(δίκτυο)$ χαρακτηριστικό <- τιμή χαρακτηριστικού Γράφοντας «όνομα δικτύου» και τρέχοντάς το σαν εντολή παίρνουμε το είδος του δικτύου και τα χαρακτηριστικά του. 16

## There are much more attributes. ## Use command ## remove.vertex.attribute ## to remove some attribute ## run?set.graph.attribute 17 Δημιουργία δικτύου δεσμών (affiliation network) από αρχείο text και η αναπαράστασή του με ένα διμερές γράφημα (bipartite graph or two-mode network): edgelistb <- read.table(text="person Event ## το αρχείο text και η εντολή header=true) gbip <- graph.data.frame(edgelistb, dir=true) Amy football ## που το διαβάζει Bob picnic Sam artshow Amy picnic Bob football", ## η εντολή που δημιουργεί ## ένα αντικείμενο graph V(gBip)$type <- V(gBip)$name %in% edgelistb[,1] ## η εντολή που το ## δημιουργεί διαμέριση gbip 18

Το αποτέλεσμα: IGRAPH DN-B 6 5 -- + attr: name (v/c), type (v/x) Διαφορετικό χρώμα σε κάθε ένα από τα δυο σύνολα κορυφών: V(gBip)[V(gBip)$type==FALSE]$color="aliceblue" V(gBip)[V(gBip)$type==TRUE]$color="coral1" ## Person ## Event 19 tkplot(gbip) ## διαμόρφωση συντεταγμένων coordgbip <- tkplot.getcoords(2, norm = FALSE) ## 2: id of tkplot window Τη δεύτερη την τρέχουμε αφού διορθώσουμε τις συντεταγμένες 20

Διαμόρφωση της εικόνας του διμερούς δικτύου: plot(gbip, layout=coordgbip, ## συντεταγμένες edge.color="darkgray", ## χρώμα ακμών edge.width=1.5, ## πάχος ακμών vertex.shape="circle", ## σχήμα κορυφών vertex.frame.color= "white", ## χρώμα περιφέρειας κορυφών vertex.size=15, ## μέγεθος κορυφών vertex.label=v(gbip)$name, ## ετικέτες κορυφών vertex.label.font=2, ## γραμματοσειρά ετικετών vertex.label.dist=0) ## θέση ετικέτας 21 Το αποτέλεσμα: 22

Για να το σώσουμε σε μορφή pdf: pdf("firstbipartite.pdf") ## δημιουργία pdf plot(gbip, layout=coordgbip, edge.color="darkgray", edge.width=1.5, vertex.shape="circle", vertex.frame.color= "white", vertex.size=15, vertex.label=v(gbip)$name, vertex.label.font=2, vertex.label.dist=0) dev.off() ## τερματισμός (πρέπει να γίνεται πάντα) 23 Ένας συνηθισμένος τρόπος να εργαζόμαστε με διμερές είναι να το προβάλουμε στο ένα από τα δυο σύνολα κορυφών (στα πρόσωπα -persons), one-mode projection (οι πολλαπλές ακμές μετατρέπονται σε βάρη των ακμών). adjb <- get.adjacency(gbip) matb <-as.matrix(adjb) matb ## με χρήση του πίνακα συνδέσεων ## αλλαγή σε τυπικό πίνακα 24

Από τον πίνακα αντιστοιχιών μεταξύ των δυο συνόλων στο γράφημα των σχέσεων μεταξύ των προσώπων: foromode <- matb[c(1,2,3), c(4,5,6)] ## επιλογή των στοιχείων personnet <- foromode %*% t(foromode) ## πίνακας συνδέσεων personnetw <- graph.adjacency(personnet, ## γράφημα από τον πίνακα mode="directed", weighted=true, diag=false, add.colnames = NULL) personnetw ### αποτέλεσμα IGRAPH DNW- 3 2 -- + attr: name (v/c), weight (e/n) 25 ## From graph to data frame dfgbio <- get.data.frame(gbip, "both") dfgbio Μετατρέπουμε το δίκτυο σε data frame (λογιστικό φύλλο), από το οποίο παίρνουμε πληροφορίες ή αλλάζουμε στοιχεία ή το επεξεργαζόμαστε στατιστικά. 26

3. Πρώτα βήματα για τη διαχείριση και την περιγραφή ενός κοινωνικού δικτύου Υποσύνολο δικτύου 3.1 Τα κοινωνικά δίκτυα Τα κοινωνικά δίκτυα διαπερνούν την κοινωνική και οικονομική μας ζωή. Διαδραματίζουν κεντρικό ρόλο στη μετάδοση των πληροφοριών σχετικά με τις ευκαιρίες απασχόλησης, και είναι ζωτικής σημασίας για το εμπόριο πολλών αγαθών και υπηρεσιών. Αποτελούν τη βάση της εφαρμογής της αμοιβαίας ασφάλισης στις αναπτυσσόμενες χώρες. Τα κοινωνικά δίκτυα είναι επίσης σημαντικά για τον καθορισμό του τρόπου εξάπλωση ασθενειών, τα προϊόντα που αγοράζουμε, ποιες γλώσσες μιλάμε, πώς ψηφίζουμε, πόση εκπαίδευση αποκτούμε, την πιθανότητα επιτυχίας επαγγελματικά καθώς και κατά πόσο ή όχι αποφασίζουν κάποιοι να γίνουν εγκληματίες. Social and Economic Networks, Samuel Jackson 2008. 28

3.2 Το παράδειγμα των Μεδίκων Η οικογένεια των Μεδίκων έχει χαρακτηρισθεί ως μια οικογένεια νονών της Αναγέννησης. Αν και στην ολιγαρχία που κυβερνούσε τη Φλωρεντία στις αρχές του 15 ου αιώνα υπήρχαν πλουσιότερες και ισχυρότερες οικογένειες, ο Cosimo de Medici κατάφερε, να την κάνει την ισχυρότερη με τεράστια πολιτική και Οικονομική Δύναμη. Που οφείλεται αυτό; Οι Padgett και Ansell (1993) παρέχουν ισχυρά στοιχεία για το σκοπό αυτό από την τεκμηρίωση του δικτύου των γάμων μεταξύ βασικών οικογενειών στη Φλωρεντία της εποχής εκείνης. 29 3.2 Το παράδειγμα των Μεδίκων Εισαγωγή του αρχείου με τον πίνακα συνδέσεων που βρίσκεται στο φάκελο του project που εργαζόμαστε: t1<-read.table("florentine Family Marriage Ties E.txt ", header = TRUE) Δημιουργία του γραφήματος από το προηγούμενο αρχείο : floge<- graph.data.frame(t1, dir=false) floge ## undirected graph 30

3.2 Το παράδειγμα των Μεδίκων vcount(floge) ecount(floge) V(flogE) E(flogE) is.simple(floge) ## πλήθος κορυφών (order) ## πλήθος ακμών (size) ## διάνυσμα κορυφών (nodes - vertices) ## διάνυσμα ακμών (edges - links) ## σε περίπτωση που υπάρχουν λούπες ή ## πολλαπλές ακμές (loops or multiple edges) LflogE <- is.loop(floge, eids=e(floge)) ## για να βρεθούν οι λούπες which(lfloge == TRUE) MflogE <- is.multiple(floge, eids=e(floge)) ## και οι πολλαπλές ακμές which(mfloge == TRUE) is.connected(floge) ## είναι συνδετικό (connected or disconnected) 31 3.2 Το παράδειγμα των Μεδίκων CflogE<-clusters(flogE) ## οι συνιστώσες του δικτύου (components) ## όταν αυτό δεν είναι συνδετικό CflogE ## το αποτέλεσμα είναι μια λίστα (list) 32

3.2 Το παράδειγμα των Μεδίκων N Πυκνότητα : E (πυκνό δίκτυο αν είναι >0.25) 2 graph.density(floge) Συνδετικός (ελάχιστο πλήθος κορυφών που πρέπει να αφαιρεθούν ώστε να γίνει μη συνδετικό) και γραμμοσυνδετικός αριθμός (ελάχιστο πλήθος ακμών που πρέπει να αφαιρεθούν ώστε να γίνει μη συνδετικό) vertex.connectivity(floge) edge.connectivity(floge) ## vertex connectivity number ## edge connectivity number 33 3.2 Το παράδειγμα των Μεδίκων ApflogE <- articulation.points(floge) Cvertex <- V(flogE)[ApflogE] V(flogE)$color <- "aliceblue" V(flogE)[Cvertex]$color <- "yellow" ## κορυφές τομές (cut vertices) ## ποιοι είναι? ## χρωματίζουμε τους κόμβους ## στις κορυφές τομές δίνουμε άλλο ## χρώμα Pvertex <- V(flogE)[degree(flogE)==1] ## περιφερειακοί κόμβοι(βαθμού 1) V(flogE)[Pvertex]$color <- "cyan" ## με διαφορετικό χρώμα V(flogE)$color flogelay <- layout.fruchterman.reingold(floge) ## βρίσκουμε συντεταγμένες V(flogE)$coord1 <- flogelay [,1] ## τις δίνουμε ως χαρακτηριστικό V(flogE)$coord2 <- flogelay [,2] flogec <- cbind(v(floge)$coord1, V(flogE)$coord2) ## πίνακας 34

3.2 Το παράδειγμα των Μεδίκων Εικόνα του δικτύου plot(floge, layout = flogelay, vertex.frame.color = "white", vertex.label.cex=1.11 ) 35 3.2 Το παράδειγμα των Μεδίκων deg <- degree(floge) Deg ## ακολουθία των βαθμών neimedici<-v(floge)[ nei("medici")] neimedici ## οι γείτονες των Μεδίκων 36

3.2 Το παράδειγμα των Μεδίκων neimsubg <- induced.subgraph(floge, ## είναι οι γείτονες neimedici, impl="copy_and_delete") ## συνδεδεμένοι μεταξύ τους; plot(neimsubg, layout = cbind(v(neimsubg)$coord1, V(neiMsubg)$coord2)) Κυριαρχία της οικογένειας induced.subgraph : υπογράφημα του αρχικού, Υποσύνολο του αρχικού δικτύου 37 3.2 Το παράδειγμα των Μεδίκων Περισσότερες εντολές επεξεργασίας του δικτύου στο script του εργαστηρίου. 38

Άσκηση Δίνεται το δίκτυο γνωριμίας μεταξύ 20 εργαζομένων μιας εταιρίας. 1. Εισάγετε στην R το δίκτυο της εικόνας δεξιά (με λίστα συνδέσεων ή πίνακα συνδέσεων από αρχείο txt). 2. Χρησιμοποιήστε τις συναρτήσεις των διαφανειών 31 ως 34 για να κάνετε μια περιγραφή του δικτύου. 3. Δώστε ως ιδιότητες τα χρώματα ανά κορυφή όπως τα βλέπετε (περίπου), καθώς και τις συντεταγμένες ώστε κατά την αναπαράσταση να έχει περίπου την ίδια εικόνα. Στο επόμενο εργαστήριο να έχετε σε script τις κατάλληλες εντολές ώστε να τις τρέξουμε και να τις σχολιάσετε 39