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

Σχετικά έγγραφα
Αλγόριθμοι και πολυπλοκότητα Depth-First Search

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

Αλγόριθμοι και πολυπλοκότητα Οριζόντια διερεύνηση

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

Εισαγωγή στους Αλγορίθμους

Δομές Δεδομένων Ενότητα 6

Εισαγωγή στους Αλγορίθμους

Διοικητική Λογιστική

Εισαγωγή στους Αλγορίθμους

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού σε κατάσταση Κορεσμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Μηχανική Μάθηση Hypothesis Testing

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

Εισαγωγή σε μεθόδους Monte Carlo Ενότητα 3: Δειγματοληπτικές μέθοδοι

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

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2)

Δομές Δεδομένων Ενότητα 1

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

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 3: Έλεγχοι στατιστικών υποθέσεων

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 1: Καταχώρηση δεδομένων

Ψηφιακή Επεξεργασία Εικόνων

Αλγόριθμοι και πολυπλοκότητα Συγχωνευτική Ταξινόμηση

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 2: Περιγραφική στατιστική

Αλγόριθμοι και πολυπλοκότητα Η Άπληστη Μέθοδος

Μηχανολογικό Σχέδιο Ι

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Prim

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Λογιστική Κόστους Ενότητα 8: Κοστολογική διάρθρωση Κύρια / Βοηθητικά Κέντρα Κόστους.

Αλγόριθμοι και πολυπλοκότητα Περιήγηση Πανεπιστημίων

Εισαγωγή στους Αλγορίθμους Ενότητα 10η Άσκηση Αλγόριθμος Dijkstra

Εισαγωγή σε μεθόδους Monte Carlo Ενότητα 2: Ολοκλήρωση Monte Carlo, γεννήτριες τυχαίων αριθμών

Ψηφιακή Οικονομία. Διάλεξη 11η: Markets and Strategic Interaction in Networks Mαρίνα Μπιτσάκη Τμήμα Επιστήμης Υπολογιστών

Προγραμματισμός Η/Υ. Βασικές Προγραμματιστικές Δομές. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 4

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Kruskal

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού Υπέρθερμου Ατμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Διοικητική Λογιστική

Αλγόριθμοι και πολυπλοκότητα Ταχυταξινόμηση (Quick-Sort)

Εκκλησιαστικό Δίκαιο. Ενότητα 10η: Ιερά Σύνοδος της Ιεραρχίας και Διαρκής Ιερά Σύνοδος Κυριάκος Κυριαζόπουλος Τμήμα Νομικής Α.Π.Θ.

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

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

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

Τεχνικό Σχέδιο - CAD

Αλγόριθμοι και πολυπλοκότητα NP-Completeness (2)

Κβαντική Επεξεργασία Πληροφορίας

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Γ. Ολοκληρωτικός Λογισμός

Βάσεις Περιβαλλοντικών Δεδομένων

Αλγόριθμοι και πολυπλοκότητα Bucket-Sort και Radix-Sort

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

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

1 η Διάλεξη. Ενδεικτικές λύσεις ασκήσεων

Μεθοδολογία Έρευνας Κοινωνικών Επιστημών Ενότητα 2: ΣΥΓΚΕΝΤΡΩΣΗ ΠΛΗΡΟΦΟΡΙΩΝ ΜΑΡΚΕΤΙΝΓΚ Λοίζου Ευστράτιος Τμήμα Τεχνολόγων Γεωπόνων-Kατεύθυνση

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

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Αλγόριθμοι και πολυπλοκότητα Τα συντομότερα μονοπάτια(shortest Paths)

Ιστορία της μετάφρασης

ΗΛΕΚΤΡΟΝΙΚΗ ΙIΙ Ενότητα 6

Ενότητα. Εισαγωγή στις βάσεις δεδομένων

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Μυελού των Οστών Ενότητα #1: Ερωτήσεις κατανόησης και αυτόαξιολόγησης

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Ψηφιακή Οικονομία. Διάλεξη 10η: Basics of Game Theory part 2 Mαρίνα Μπιτσάκη Τμήμα Επιστήμης Υπολογιστών

Διοίκηση Εξωτερικής Εμπορικής Δραστηριότητας

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 1

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Ψηφιακή Οικονομία. Διάλεξη 7η: Consumer Behavior Mαρίνα Μπιτσάκη Τμήμα Επιστήμης Υπολογιστών

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Ψηφιακή Οικονομία. Διάλεξη 8η: Producer Behavior Mαρίνα Μπιτσάκη Τμήμα Επιστήμης Υπολογιστών

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

Κοινωνία & Υγεία Υγεία Πρόληψη Προαγωγή υγείας: Βαθμίδες πρόληψης

Δομές Δεδομένων Ενότητα 3

Λογιστική Κόστους Ενότητα 11: Λογισμός Κόστους

Τεχνικό Σχέδιο - CAD

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 5

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Κβαντική Επεξεργασία Πληροφορίας

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Βάσεις Περιβαλλοντικών Δεδομένων

Εισαγωγή στους Η/Υ. Ενότητα 2β: Αντίστροφο Πρόβλημα. Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών

Λογιστική Κόστους Ενότητα 11: Λογισμός Κόστους (1)

Λογιστική Κόστους Ενότητα 10: Ασκήσεις Προτύπου Κόστους Αποκλίσεων.

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

Γραμμική Άλγεβρα και Μαθηματικός Λογισμός για Οικονομικά και Επιχειρησιακά Προβλήματα

Έλεγχος και Διασφάλιση Ποιότητας Ενότητα 4: Μελέτη ISO Κουππάρης Μιχαήλ Τμήμα Χημείας Εργαστήριο Αναλυτικής Χημείας

ΟΡΟΛΟΓΙΑ -ΞΕΝΗ ΓΛΩΣΣΑ

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

Διδακτική Πληροφορικής

Ενδεικτικές λύσεις ασκήσεων διαχείρισης έργου υπό συνθήκες αβεβαιότητας

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Fractional Colorings and Zykov Products of graphs

Τεχνικό Σχέδιο - CAD. Τόξο Κύκλου. Τόξο Κύκλου - Έλλειψη. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

ΟΡΟΛΟΓΙΑ -ΞΕΝΗ ΓΛΩΣΣΑ

Γενικά Μαθηματικά Ι. Ενότητα 12: Κριτήρια Σύγκλισης Σειρών. Λουκάς Βλάχος Τμήμα Φυσικής ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

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

Εκκλησιαστικό Δίκαιο

Βέλτιστος Έλεγχος Συστημάτων

Πολιτική (και) επικοινωνία

Γραμμική Άλγεβρα και Μαθηματικός Λογισμός για Οικονομικά και Επιχειρησιακά Προβλήματα

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

Transcript:

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Αλγόριθμοι και πολυπλοκότητα Directed Graphs Ιωάννης Τόλλης Τμήμα Επιστήμης Υπολογιστών

Directed Graphs BOS ORD JFK SFO LAX DFW MIA Directed Graphs 1

Outline and Reading ( 6.4) Reachability ( 6.4.1) Directed DFS Strong connectivity Transitive closure ( 6.4.2) The Floyd-Warshall Algorithm Directed Acyclic Graphs (DAG s) ( 6.4.4) Topological Sorting Directed Graphs 2

Digraphs A digraph is a graph whose edges are all directed Short for directed graph Applications one-way streets flights task scheduling A C E D B Directed Graphs 3

E Digraph Properties D A graph G=(V,E) such that Each edge goes in one direction: Edge (a,b) goes from a to b, but not b to a. If G is simple, m < n(n-1). If we keep in-edges and out-edges in separate adjacency lists, we can perform listing of of the sets of in-edges and out-edges in time proportional to their size. C A B Directed Graphs 4

Digraph Application Scheduling: edge (a,b) means task a must be completed before b can be started ics21 ics22 ics23 ics51 ics53 ics52 ics161 ics131 ics141 ics121 ics171 ics151 The good life Directed Graphs 5

Directed DFS We can specialize the traversal algorithms (DFS and BFS) to digraphs by traversing edges only along their direction In the directed DFS algorithm, we have four types of edges discovery edges back edges forward edges cross edges A directed DFS starting at a vertex s determines the vertices reachable from s C E A D B Directed Graphs 6

Reachability DFS tree rooted at v: vertices reachable from v via directed paths E D E D C A C B F A E C D F A Directed Graphs 7 B

Strong Connectivity Each vertex can reach all other vertices a c g d e f b Directed Graphs 8

Strong Connectivity Algorithm Pick a vertex v in G. Perform a DFS from v in G. If there s a w not visited, print no. G: a c g Let G be G with edges reversed. d e Perform a DFS from v in G. If there s a w not visited, print no. f b Else, print yes. G : a c g Running time: O(n+m). d e f b Directed Graphs 9

Strongly Connected Components Maximal subgraphs such that each vertex can reach all other vertices in the subgraph Can also be done in O(n+m) time using DFS, but is more complicated (similar to biconnectivity). a c g { a, c, g } d e { f, d, e, b } f b Directed Graphs 10

Transitive Closure Given a digraph G, the transitive closure of G is the digraph G* such that G* has the same vertices as G if G has a directed path from u to v (u v), G* has a directed edge from u to v The transitive closure provides reachability information about a digraph B A B A D C D C E G E G* Directed Graphs 11

Computing the Transitive Closure We can perform DFS starting at each vertex O(n(n+m)) If there's a way to get from A to B and from B to C, then there's a way to get from A to C. Alternatively... Use dynamic programming: the Floyd-Warshall Algorithm Directed Graphs 12

Floyd-Warshall Transitive Closure Idea #1: Number the vertices 1, 2,, n. Idea #2: Consider paths that use only vertices numbered 1, 2,, k, as intermediate vertices: i Uses only vertices numbered 1,,k (add this edge if it s not already in) Uses only vertices numbered 1,,k-1 k j Uses only vertices numbered 1,,k-1 Directed Graphs 13

Floyd-Warshall s Algorithm Floyd-Warshall s algorithm numbers the vertices of G as v 1,, v n and computes a series of digraphs G 0,, G n G 0 =G G k has a directed edge (v i, v j ) if G has a directed path from v i to v j with intermediate vertices in the set {v 1,, v k } We have that G n = G* In phase k, digraph G k is computed from G k 1 Running time: O(n 3 ), assuming areadjacent is O(1) (e.g., adjacency matrix) Algorithm FloydWarshall(G) Input digraph G Output transitive closure G* of G i 1 for all v G.vertices() denote v as v i i i + 1 G 0 G for k 1 to n do G k G k 1 for i 1 to n (i k) do for j 1 to n (j i, k) do if G k 1.areAdjacent(v i, v k ) G k 1.areAdjacent(v k, v j ) if G k.areadjacent(v i, v j ) G k.insertdirectededge(v i, v j, k) return G n Directed Graphs 14

Floyd-Warshall Example BOS v 7 ORD v 4 v 2 SFO JFK v6 v 1 LAX DFW v3 MIA v 5 Directed Graphs 15

Floyd-Warshall, Iteration 1 BOS v 7 ORD v 4 v 2 SFO JFK v6 v 1 LAX DFW v3 MIA v 5 Directed Graphs 16

Floyd-Warshall, Iteration 2 BOS v 7 ORD v 4 v 2 SFO JFK v6 v 1 LAX DFW v3 MIA v 5 Directed Graphs 17

Floyd-Warshall, Iteration 3 BOS v 7 ORD v 4 v 2 SFO JFK v6 v 1 LAX DFW v3 MIA v 5 Directed Graphs 18

Floyd-Warshall, Iteration 4 BOS v 7 ORD v 4 v 2 SFO JFK v6 v 1 LAX DFW v3 MIA v 5 Directed Graphs 19

Floyd-Warshall, Iteration 5 BOS v 7 ORD v 4 v 2 SFO JFK v6 v 1 LAX DFW v3 MIA v 5 Directed Graphs 20

Floyd-Warshall, Iteration 6 BOS v 7 ORD v 4 v 2 SFO JFK v6 v 1 LAX DFW v3 MIA v 5 Directed Graphs 21

Floyd-Warshall, Conclusion BOS v 7 ORD v 4 v 2 SFO JFK v6 v 1 LAX DFW v3 MIA v 5 Directed Graphs 22

DAGs and Topological Ordering A directed acyclic graph (DAG) is a digraph that has no directed cycles A topological ordering of a digraph is a numbering v 1,, v n of the vertices such that for every edge (v i, v j ), we have i < j Example: in a task scheduling digraph, a topological ordering a task sequence that satisfies the precedence constraints Theorem A digraph admits a topological ordering if and only if it is a DAG v 2 v 1 B A B A Directed Graphs 23 D C E DAG G v 4 v 5 D E C v3 Topological ordering of G

Topological Sorting Number vertices, so that (u,v) in E implies u < v 1 wake up 2 3 eat study computer sci. A typical student day 4 5 nap more c.s. 7 play 8 write c.s. program 6 9 work out make cookies for professors 10 sleep 11 dream about graphs Directed Graphs 24

Algorithm for Topological Sorting Note: This algorithm is different than the one in Goodrich-Tamassia Method TopologicalSort(G) H G // Temporary copy of G n G.numVertices() while H is not empty do Let v be a vertex with no outgoing edges Label v n n n - 1 Remove v from H Running time: O(n + m). How? Directed Graphs 25

Topological Sorting Algorithm using DFS Simulate the algorithm by using depth-first search Algorithm topologicaldfs(g) Input dag G Output topological ordering of G n G.numVertices() for all u G.vertices() setlabel(u, UNEXPLORED) for all e G.edges() setlabel(e, UNEXPLORED) for all v G.vertices() if getlabel(v) = UNEXPLORED topologicaldfs(g, v) O(n+m) time. Algorithm topologicaldfs(g, v) Input graph G and a start vertex v of G Output labeling of the vertices of G in the connected component of v setlabel(v, VISITED) for all e G.incidentEdges(v) if getlabel(e) = UNEXPLORED w opposite(v,e) if getlabel(w) = UNEXPLORED setlabel(e, DISCOVERY) topologicaldfs(g, w) else {e is a forward or cross edge} Label v with topological number n n n - 1 Directed Graphs 26

Topological Sorting Example Directed Graphs 27

Topological Sorting Example 9 Directed Graphs 28

Topological Sorting Example 8 9 Directed Graphs 29

Topological Sorting Example 8 7 9 Directed Graphs 30

Topological Sorting Example 6 8 7 9 Directed Graphs 31

Topological Sorting Example 6 5 8 7 9 Directed Graphs 32

Topological Sorting Example 6 4 5 8 7 9 Directed Graphs 33

Topological Sorting Example 3 6 4 5 8 7 9 Directed Graphs 34

Topological Sorting Example 2 3 6 4 5 8 7 9 Directed Graphs 35

Topological Sorting Example 2 1 3 6 4 5 8 7 9 Directed Graphs 36

Τέλος Ενότητας

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Πανεπιστήμιο Κρήτης» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.

Σημειώματα

Σημείωμα αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εμπορική Χρήση, Όχι Παράγωγο Έργο 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] http://creativecommons.org/licenses/by-nc-nd/4.0/ Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί.

Σημείωμα Αναφοράς Copyright Πανεπιστήμιο Κρήτης, Ιωάννης Τόλλης 2015. «Αλγόριθμοι και πολυπλοκότητα. Directed Graphs». Έκδοση: 1.0. Ηράκλειο 2015. Διαθέσιμο από τη δικτυακή διεύθυνση: https://opencourses.uoc.gr/courses/course/view.php?id=368

Διατήρηση Σημειωμάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει: το Σημείωμα Αναφοράς το Σημείωμα Αδειοδότησης τη δήλωση Διατήρησης Σημειωμάτων το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει) μαζί με τους συνοδευόμενους υπερσυνδέσμους.