Our submissions for GD contests 1995-01
Transcription
Our submissions for GD contests 1995-01
U NIVERSITY OF L JUBLJANA I NSTITUTE OF M ATHEMATICS , P HYSICS AND M ECHANICS D EPARTMENT OF T HEORETICAL C OMPUTER S CIENCE JADRANSKA 19, 1 000 L JUBLJANA , S LOVENIA Preprint series, Vol. 40 (2002), 568/2 LAYOUTS FOR GRAPH DRAWING CONTESTS 1995-2001 Vladimir Batagelj, Andrej Mrvar ISSN 1318-4865 Version 1: May 13, 1998 Version 2: December 27, 2001 Math.Subj.Class.(2000): 05 C 90, 68 R 10, 76 M 27, 68 U 05, 05 C 50, 05 C 85, 90 C 27, 92 H 30, 92 G 30, 93 A 15, 62 H 30. Supported by the Ministry of Education, Science and Sport of Slovenia, Project J1-8532. Address: Vladimir Batagelj, University of Ljubljana, FMF, Department of Mathematics, and IMFM Ljubljana, Department of TCS, Jadranska ulica 19, 1 000 Ljubljana, Slovenia e-mail: [email protected] Ljubljana, December 27, 2001 Layouts for Graph Drawing Contests 1995-2001 Vladimir Batagelj Department of Mathematics, University of Ljubljana [email protected] Andrej Mrvar Faculty of Social Sciences, University of Ljubljana [email protected] Graph drawing contests Since 1994 graph drawing contests are organized as a part of the Graph Drawing Conferences. The rules and data are described on Internet and participants send their drawings till the specified date. They can use any technique to get layouts of graphs. The primary judging criterion is how well the drawings convey the information in the graphs: vertex identifiers, vertex types, and vertex interconnectivity. A secondary criterion is the degree to which manual editing was employed to produce the layout: the less manual intervention, the better. The purpose of the contests is to monitor and challenge the current state of the art in graph-drawing technology. Data (vertices and lines) for 3 or 4 graphs are given each year. A winning entry for each graph is chosen by a panel of experts. In this paper we collected our submissions to the contests in the years 1995–2001. They are available also at http://vlado.fmf.uni-lj.si/pub/gd/gd95.htm and the original data (and their versions in Pajek format) at http://vlado.fmf.uni-lj.si/pub/networks/data/gd/gd.htm There you will find also pictures in some (dynamical) graphical formats (VRML, SVG) that can not be adequately reproduced in the paper form. 2 Layouts for Graph Drawing Contest 1995 In 1995 the Graph Drawing Conference was helt in Passau and the contest was organized by Peter Eades and Joe Marks. Rules and data are described at: http://www.uni-passau.de/agenda/gd95/contest.html Graph A95 First layout was obtained automatically using our program COORD (positioning vertices on the rectangular net so that the number of crossings of lines is as low as possible). Manual editing was performed to reposition vertices using our graph picture editor DRAW. Graph B95 Analysing graph B using our program RELCALC two central vertices were found (1 and 34). Feasible possitions for vertices were generated (two families of concentric circles). Vertices 1 and 34 were fixed in the centre of the concentric circles mentioned. Other vertices were automatically positioned around using program COORD so that the total length of the lines was minimized. Layout was then edited manually using DRAW to reposition vertices to minimize crossings (concentric circles cannot be seen any more). The layout was awarded the honorable mention. Graph C95 First layout was obtained automatically using our program ENERG (minimisation of ENERGy). Some manual editing using DRAW was performed to reposition vertices. The layout was awarded the first prize. See: http://vlado.fmf.uni-lj.si/pub/gd/gd95.htm The complete report of the contest is available in [6] and: http://www.merl.com/reports/TR95-14/index.html 3 21 27 32 29 33 31 28 34 30 36 15 14 26 4 35 16 13 11 18 10 3 9 17 12 2 20 1 19 5 6 24 8 7 25 23 Figure 1: Graph A95. 22 4 1 MUX 2 INSTRUCTION BUFFER (4 x 16) 3 RCV 4 DRV 5 ROM REG 6 MUX 7 ROM ADDR 8 MACRO INSTRUCTION ROM 9 MUX 10 L2 11 MUX 12 GENERAL REGISTER FILE (32 x 32) 13 ALU 14 A STAGE 15 MUX 16 L1 17 MUX 18 SHIFTER 19 MUX 20 J REG 21 PROGRAM COUNTER 22 PSW SSW 23 B STAGE 24 C STAGE 25 PIPELINE CONTROL 26 OUTPUT 27 ALIGN 28 INPUT 29 MUX INSTRUCTION BUS INTERFACE 30 R MACRO INSTRUCTION UNIT 31 ALU INTEGER EXECUTION UNIT 32 ACCUMULATOR 33 INSTRUCTION CONTROL UNIT FPU REGISTER FILE (8 X 64) 34 ENCODER 35 INSTRUCTION BUS TO I-CAMMU 36 DATA BUS TO D-CAMMU DATA BUS INTERFACE FLOATING POINT UNIT EXTERNAL Figure 2: Graph A95 descriptions. 5 24 37 26 23 27 32 2 3 1 33 20 4 13 19 18 17 29 21 11 22 9 56 16 5 15 6 12 7 8 58 28 54 14 10 57 55 30 53 38 52 25 51 69 50 39 66 42 61 49 62 60 44 64 59 41 40 45 65 46 43 35 34 72 70 73 31 71 48 68 67 63 36 47 Figure 3: Graph B95 (honorable mention). 6 1 graphics.c:GRDisplayPoint 38 X11/X.h:XID 2 long1.c:GRDisplayPoint 39 X11/Xlib.h:struct Xlib_h_57 3 long2.c:GRDisplayPoint 40 X11/Xlib.h:ScreenFormat 4 short.c:GRDisplayPoint 41 X11/Xlib.h:struct Xlib_h_22 5 X11/X.h:GCFont 42 X11/Xlib.h:Status 6 gremlin.h:dby_to_win 43 X11/Xlib.h:struct Xlib_h_21 7 X11/X.h:GXxor 44 X11/Xlib.h:XCharStruct 8 X11/X.h:GCFunction 45 X11/Xlib.h:XExtData 9 X11/Xlib.h:XGCValues 46 X11/X.h:KeySym 10 gremlin.h:dbx_to_win 47 X11/X.h:GContext 11 graphics.c:text_pf 48 X11/Xlib.h:Screen 12 main.c:pix_gc 49 X11/Xlib.h:XModifierKeymap 13 main.c:display 50 X11/Xlib.h:XFontProp 14 X11/Xlib.h:XChangeGC 51 <void>:struct _XrmHashBucketRec 15 X11/Xlib.h:XCopyPlane 52 <void>:struct _XKeytrans 16 /usr/include/strings.h:strlen 53 <void>:struct _XIMFilter 17 main.c:Artmode 54 <void>:struct _XExten 18 main.c:SUN_YORIGIN 55 <void>:struct _XContextDB 19 main.c:SUN_XORIGIN 56 <void>:struct _XFreeFuncs 20 main.c:pix_sw 57 <void>:struct _XSQEvent 21 X11/Xlib.h:XDrawString 58 <void>:struct _XDisplayAtoms 22 /usr/include/stdio.h:sprintf 59 X11/Xlib.h:struct Xlib_h_20 23 icons/icon.littlepoint:littlepoint_pm 60 X11/Xlib.h:struct Xlib_h_7 24 X11/Xlib.h:struct Xlib_h_3 61 X11/Xlib.h:struct _XExtData 25 X11/Xlib.h:XFontStruct 62 X11/Xlib.h:XPointer 26 icondata.c:mpr_static 63 X11/Xlib.h:struct Xlib_h_6 27 gremlin.h:PMRec 64 X11/Xlib.h:struct Xlib_h_56 28 X11/Xlib.h:Display 65 X11/Xlib.h:struct Xlib_h_55 29 gremlin.h:FALSE 66 X11/X.h:Atom 30 X11/X.h:Window 67 X11/Xlib.h:Depth 31 X11/Xlib.h:GC 68 X11/X.h:Colormap 32 gremlin.h:struct PMRec 69 X11/X.h:KeyCode 33 X11/X.h:Font 70 X11/Xlib.h:Visual 34 X11/Xlib.h:struct _XDisplay 71 X11/Xlib.h:struct Xlib_h_5 35 X11/Xlib.h:Bool 72 X11/Xlib.h:struct Xlib_h_4 36 X11/Xlib.h:struct _XGC 73 X11/X.h:VisualID 37 X11/X.h:Pixmap procedure macro type variable Figure 4: Graph B95 descriptions. 7 2 20 19 30 18 12 13 21 17 5 22 16 15 23 8 14 24 39 25 38 62 37 40 61 26 57 31 36 32 33 56 27 34 28 60 52 9 51 59 10 35 42 55 58 53 46 6 45 54 50 44 7 43 4 29 47 1 11 Figure 5: Graph C95 (first prize). 49 41 48 3 8 1 t1 32 o 2 t2 33 o 3 t3 34 o 4 t4 35 o 5 t5 36 o 6 t6 37 o 7 t7 38 o 8 t8 39 o 9 t9 40 o 10 o 41 t13 11 o 42 t14 12 o 43 t15 13 o 44 o 14 o 45 o 15 o 46 o 16 o 47 o 17 o 48 o 18 o 49 o 19 o 50 o 20 o 51 o 21 o 52 o 22 o 53 o 23 o 54 o 24 o 55 o 25 o 56 o 26 o 57 o 27 o 58 o 28 t10 59 o 29 t11 60 o 30 t12 61 o o 62 o 31 Figure 6: Graph C95 descriptions. t-node o-node 9 Layouts for Graph Drawing Contest 1996 In 1996 Graph Drawing Conference was helt in Berkeley, and the contest was organized by Peter Eades, Joe Marks, and Stephen North. Rules and data are desribed at: http://portal.research.bell-labs.com/orgs/ssr/people/ north/contest.html Graph B96 First layout was obtained automatically using our program COORD. (positioning vertices on the rectangular net so that the number of crossings of lines is as low as possible). Manual editing was performed to reposition vertices using our graph picture editor DRAW. The layout was awarded the honorable mention. Graph C96 Analysing graph C using our program RELCALC two parts and 2 connecting vertices were found. Each part was handled separately using our program ENERG (minimisation of energy). One part consists of a lattice structure, and the second of a planar graph of cylindric symmetries. This spatial picture was realized in VRML (produced from the description in our graph description language NetML based on SGML). Some manual editing was done for planar representation. The layout was awarded the first prize. Graph D96 Analysing graph D using program RELCALC 17 important vertices of ’kernel graph’ were found. The first layout for these 17 vertices was obtained automatically using program COORD. Other vertices were added to the obtained picture. Some manual editing using DRAW was performed to reposition vertices to avoid crossings. 10 6 16 47 84 45 83 34 103 93 36 69 53 35 81 65 88 75 41 109 48 66 95 97 26 55 98 49 78 22 29 56 7 37 27 40 46 80 72 43 19 14 8 64 32 24 63 67 25 20 51 21 11 87 70 102 101 59 91 13 54 79 71 77 5 110 10 104 1 86 60 89 38 28 68 105 100 17 52 57 92 111 39 18 58 23 73 99 108 85 2 33 82 106 9 12 76 44 74 3 15 42 61 30 94 31 107 96 62 50 Figure 7: Graph B96 (honorable mention). See: http://vlado.fmf.uni-lj.si/pub/gd/gd96.htm The complete report of the contest is available in [10] and: http://www.merl.com/reports/TR96-24/index.html 90 4 11 207-555 415-555 303-555 617-555 313-555 406-555 304-555 603-555 Figure 8: Graph B96 types. 12 1 207-555-8248 38 303-555-4543 75 415-555-7602 2 415-555-2188 39 603-555-8148 76 415-555-1197 3 415-555-6033 40 304-555-0171 77 304-555-4660 4 303-555-4393 41 617-555-9925 78 207-555-1676 5 617-555-9765 42 313-555-9243 79 406-555-1285 6 313-555-0329 43 207-555-0740 80 303-555-2769 7 415-555-7962 44 415-555-2401 81 303-555-0275 8 313-555-8563 45 406-555-8930 82 303-555-6481 9 207-555-1803 46 207-555-0541 83 617-555-6257 10 406-555-0836 47 303-555-0357 84 313-555-2978 11 303-555-7955 48 313-555-4753 85 415-555-8812 12 617-555-9260 49 617-555-6133 86 313-555-0515 13 415-555-2398 50 415-555-6062 87 207-555-8520 14 617-555-0991 51 617-555-0414 88 303-555-7189 15 406-555-5903 52 303-555-2707 89 617-555-4734 16 207-555-4248 53 313-555-4005 90 313-555-5268 17 406-555-4676 54 415-555-0590 91 415-555-5279 18 415-555-0323 55 207-555-2669 92 603-555-1213 19 207-555-8659 56 617-555-6988 93 207-555-9822 20 313-555-3853 57 303-555-6300 94 303-555-0386 21 304-555-8484 58 617-555-5542 95 304-555-5661 22 617-555-3290 59 415-555-5266 96 207-555-7281 23 303-555-9878 60 304-555-9496 97 415-555-8355 24 415-555-4689 61 603-555-4321 98 303-555-8576 25 415-555-6317 62 303-555-6429 99 304-555-2354 26 313-555-0122 63 313-555-1356 100 617-555-1958 27 207-555-0648 64 207-555-8635 101 207-555-5013 28 303-555-6833 65 207-555-0710 102 313-555-7592 29 617-555-1436 66 617-555-5575 103 415-555-5058 30 303-555-1565 67 313-555-0778 104 617-555-9344 31 313-555-2906 68 603-555-6565 105 313-555-4790 32 415-555-8267 69 313-555-5007 106 313-555-7556 33 313-555-2583 70 304-555-5167 107 603-555-0525 34 617-555-9630 71 415-555-5908 108 406-555-5703 35 415-555-3330 72 207-555-3394 109 406-555-8517 36 207-555-7807 73 617-555-9206 110 415-555-6423 37 415-555-8627 74 303-555-9223 111 603-555-5694 Figure 9: Graph B96 labels. 32 28 48 Figure 10: Graph C96 (first prize). 44 35 64 36 15 26 1 62 43 49 39 50 10 6 17 41 14 19 46 7 12 42 24 55 11 2 25 57 23 0 40 51 52 63 56 18 60 38 37 54 31 61 3 29 58 47 22 59 21 16 30 5 13 8 27 4 45 20 34 9 53 33 13 14 Figure 11: Graph C96 / VRML snapshot. 15 Figure 12: Graph C96 with cylinder / VRML snapshot. 16 20 3 19 123 134 132 138 93 94 133 135 160 87 73 99 131 179 167 84 58 149 152 43 125 26 173 33 57 148 124 154 127 153 106 83 53 27 102 65 92 8 96 113 66 1 67 12 23 79 24 80 49 50 14 78 175 118 5 119 6 162 120 176 117 165 166 110 89 159 46 48 62 21 109 170 97 146 61 164 15 98 22 76 114 51 82 85 111 77 70 28 90 100 13 31 11 54 101 75 95 10 55 81 174 52 9 47 91 105 150 69 68 145 56 180 151 7 60 59 139 142 172 128 155 44 115 143 34 147 45 136 116 129 144 126 137 104 72 29 30 130 108 71 112 156 107 103 18 74 171 177 86 17 88 63 163 140 4 178 121 41 122 42 141 32 39 64 37 161 157 35 40 169 16 38 168 2 25 Figure 13: Graph D96. 158 36 17 1 For Your Business 37 label1 73 Surfing for Savings? 109 You Will 145 http://www.att.com/easycommerce/images/w 2 http://www.att.com/work/ 38 http://www.att.com/hr/employment/matrix. 74 http://www.att.com/indiahorizons/connect 110 http://www.att.com/youwill/ 146 http://www.att.com/images/ltbar2.gif 3 Employment 39 label2 75 On The Go 111 Write To Us 147 http://www.att.com/images/attlogo-8hw.gi 4 http://www.att.com/hr/ 40 http://www.att.com/hr/employment/prof_de 76 http://www.att.com/onthego/ 112 Copyright 148 http://www.att.com/news/../images/topnav 5 800 number 41 label3 77 Now shipping: Windows NT developer’s kit 113 AT&T WorldNet Service officially availab 149 http://www.att.com/maps/topnav.map 6 http://www.tollfree.att.net/dir800/ 42 http://www.att.com/hr/employment/support 78 http://www.att.com/press/0396/960312.gba 114 http://www.att.com/press/0396/960314.bsa 150 http://www.att.com/news/images/newshead. 7 News for the Month 43 [email protected] 79 Business Network 115 Calendar 151 http://www.att.com/news/images/newsside. 8 http://www.att.com/news/ 44 AT&T EasyLink Services (SM) 80 http://www.att.com/bnet/ 116 http://www.att.com/easycommerce/easycomc 152 http://www.att.com/news/images/newssub.g 9 AT&T Corporate Server Team 45 http://www.att.com/easycommerce/easylink 81 AT&T Home Page 117 Home 153 http://www.att.com/news/images/newsheads 10 http://www.att.com/homes/ 46 For Your Business 82 AT&T Universal Card 118 On The Net 154 http://www.att.com/news/newsside.map 11 Library 47 Net 83 http://www.att.com/ucs/ 119 On The Go 155 http://www.att.com/images/hpbut20.gif 12 http://www.att.com/library/ 48 AT&T/A-Z 84 [email protected] 120 For Your Home 156 http://www.mckinley.com/ 13 On The Net 49 http://www.att.com/atoz 85 AT&T/A-Z 121 calling plan 157 http://www.att.com/hr/employment/images/ 14 http://www.att.com/net/ 50 For Your Home 86 Search 122 http://www.att.com/true/truefacts.html 158 http://www.att.com/hr/employment/nav.map 15 Lucent Technologies 51 http://www.att.com/home 87 http://www.att.com/search.html 123 Copyright 159 http://www.att.com/images/index.gif 16 http://www.att.com/lucent 52 CNI to offer AT&T and Unisource voice an 88 TrueVoice 124 AT&T/A-Z 160 http://www.att.com/images/hpbut19.gif 17 Copyright 53 http://www.att.com/press/0396/960313.bsa 89 http://www.att.com/true/truevoice.html 125 http://www.att.com/news/../atoz.html 161 http://www.att.com/hr/employment/images/ 18 http://www.att.com/copyright.html 54 Site Map 90 On The Go 126 [email protected] 162 AT&T - Employment Opportunities 19 AT&T Home Page 55 AT&T Easy World Wide Web (SM) 91 Home Page 127 Sonet T155 service gets first add/drop m 163 http://www.att.com/images/homesolu.gif 20 http://www.att.com/ 56 http://www.att.com/easycommerce/easywww 92 http://www.att.com/index.html 128 http://www.att.com/press/0396/960313.bsb 164 http://www.att.com/images/athome.gif 21 Site Map 57 Search 93 Thanks to the new telecommunications law 129 http://www.att.com/indiahorizons/ 165 http://www.att.com/images/youwill2.gif 22 http://www.att.com/sitemap 58 http://www.att.com/news/../search.html 94 http://www.att.com/press/0296/960208.cha 130 http://www.att.com/indiahorizons/images/ 166 http://www.att.com/images/truvoice.gif 23 Conferences 59 [email protected] 95 Write To Us 131 http://www.att.com/indiahorizons/images/ 167 AT&T EasyCommerce Services 24 http://www.att.com/news/conferences.html 60 mailto:[email protected] 96 http://www.att.com/news/../write.html 132 http://www.att.com/images/hpbut28.gif 168 http://www.att.com/maps/index.map 25 Work 61 Write To Us 97 Search 133 http://www.att.com/net/yougotit.html 169 http://www.att.com/infocenter/toc.html 26 label0 62 http://www.att.com/write/ 98 http://www.att.com/search/ 134 http://www.att.com/images/lp72vcv.gif 170 http://www.att.com/microscapes/microscap 27 Globe 63 Home Solutions 99 Copyright 135 http://www.att.com/net/yougotit.html/ima 171 http://www.att.com/indiahorizons/home.ht 28 http://www.att.com/providers 64 http://www.att.com/home/homesol.html 100 AT&T Corporate Server Team 136 http://www.att.com/easycommerce/images/t 172 http://www.att.com/easycommerce/whatsnew 29 [email protected] 65 Copyright 101 [email protected] 137 http://www.att.com/easycommerce/document 173 AT&T Home Page 30 mailto:[email protected] 66 New U transceiver chips enable lower cos 102 Search 138 http://www.att.com/images/hpbut06.gif 174 AT&T Newsroom 31 On The Net 67 http://www.att.com/press/0396/960312.mea 103 What’s New! 139 http://www.att.com/easycommerce/ 175 http://www.att.com/maps/bar2.map 32 For Your Business 68 AT&T Global Alliance Marketing 104 http://www.att.com/whatsnew.html 140 http://www.att.com/images/bar.gif 176 AT&T at Home 33 Speeches Online 69 http://www.att.com/easycommerce/alliance 105 Site Map 141 http://www.att.com/maps/bar.map 177 You Got It. 34 http://www.att.com/news/speeches 70 For Your home 106 http://www.att.com/news/../sitemap.html 142 http://www.att.com/easycommerce/images/h 178 http://www.att.com/hr/employment/images/ 35 label0 71 InfoCenter 107 Index 143 http://www.att.com/easycommerce/home.map 179 AT&T India Horizons 36 http://www.att.com/hr/employment/overvie 72 http://www.att.com/infocenter 108 http://www.att.com/infocenter/attindex.h 144 http://www.att.com/easycommerce/images/m 180 http://www.att.com/press/ Figure 14: Graph D96 labels. 18 Layouts for Graph Drawing Contest 1997 In 1997 Graph Drawing Conference was helt in Rome and the contest was organised by Peter Eades, Joe Marks, and Stephen North. Rules and data are described at: http://portal.research.bell-labs.com/orgs/ssr/people/ north/contest.html Graph A97 First layout was obtained automatically using draw/eigenvalues option in program Pajek. Manual editing was used to reposition vertices in the grid to obtain orthogonal layout in plane. The layout was awarded the first prize. Manual editing in 3D was performed to get orthogonal embeddings in space: minimal, symmetric and cube. Graph B97 Analysing graph B using our program MODEL we obtained (almost) regular partition in 3 classes. The third class contains only vertex Harmony Central. The second class, represented by squares, contains 11 vertices that are connected only to the vertices in the class 1 (represented by circles). Vertices in class 1 are also connected to other vertices in the same class. We first drew all vertices in the class 1 in the center and vertices in class 2 separately – using class shrinking and circular drawing options in Pajek. Afterward we manually moved vertices of class 1 connected to only one vertex of class 2 close to this vertex. Finally we manually arranged the remaining vertices of class 1. We transformed given similarities on arcs to dissimilarities and applied Ward’s hierarchical clustering method to the obtained dissimilarity matrix. We produced a clustering into 12 clusters, shrank the graph using Pajek, and draw the obtained skeleton minimizing the number of crossings. Finally we manually arranged the vertices of original graph. The layout was awarded the first prize. See also http://vlado.fmf.uni-lj.si/pub/gd/gd97.htm The complete report is available in [7] or at http://www.merl.com/reports/TR97-16/index.html 19 111 112 109 85 86 88 89 105 25 72 47 19 75 106 108 24 56 82 44 28 95 15 14 16 40 29 13 80 66 12 90 91 30 2 60 74 23 92 93 94 79 67 63 36 84 32 81 37 5 46 83 68 73 35 58 55 98 96 3 48 64 99 97 76 41 6 18 45 65 59 87 107 17 110 71 53 61 4 34 70 54 42 11 8 77 10 26 51 117 119 27 20 7 9 33 62 43 49 52 31 39 78 22 57 115 113 1 69 38 50 21 104 103 102 101 118 120 Figure 15: Graph A97 – orthogonal layout in plane (first prize). 100 114 116 20 Figure 16: Graph A97 – 3D minimal / VRML snapshot. 21 Figure 17: Graph A97 – 3D symmetric / VRML snapshot. 22 Figure 18: Graph A97 – 3D cube / VRML snapshot. 23 Musky Muskie Lure Components Tackle Box Survival - Surface Identifying Vegetation Sandell & Associates Surface L Netscape Navigator Family Netscape Devedge: Courses & Co Netscape Devedge: Library INI International: Grocery Sec Netscape Devedge: Courses & Co Cold Front Tactics Netscape Devedge: Library 1 Janet’s Horsin’ Around On The Nada138-954 Intranet Executive: Digital Id INI International: Vitamins Designercity2 INI International: Candy Secti Designercity5 Equinet(tm) - Comments Boston At Night: Feature Story The London College Of Fashion 404 Not Found Wavelet Resources Designercity4 Wavelet Netcare Designercity1 Four Corners Hantavirus Wavelab Journal Entry Designercity6 Designercity3 Designercity Microsoft Netshow Events Calen Celery Young Designer Of The Month Onions Kasparov Vs. DeepBlue: The Rem Musky Have Teeth The Biting Truth Virtual Sound Canvas Online Microsoft Corporation Home Pag Guest Essay: David Stork Bunyaviridae Edirol Online IBM Corporation Harmony Central: Midi Tools 1997 North American Gs Develop Figure 19: Graph B97 – regular equivalence. 24 ! "$#%!&')( 687:9-;'<>=@?6BADCFEHG IKIKJJLNLNMPMPOO MTJ:STQ U$MTV RW IK\Y]_J^aLN`bMPJO MTL_STc deXYc f MZS gN[h ik\3cjHSZc MT^bVTlsc lmr3^bdtMN]bdoS n pNgNqR nu\1xP]VyVaSzvZxm`P^Nr${|MaX)MTSZc S w gN}aWg ~XY^_xJP^bOf:MTfJSTj|}adpsxc lWN^b~sSzf rqb NpN}aph x_]_ndtc ^b^Pc MTMPfmSdc Vr$rkx:nLxmO __}a[R b xMN^_]_O cMNxmd!d^P^` J:V O ^bS gNgNgbq[ r1~ fNJ:JPHP^bMTvNf_lsOMNMsMTO \1SyO JbxaSZHN^ V pNppNgp} ~~XX~~ ')cdFSyx:J:a+MPdc ` ^ ggNg} 4~j)XcJd~ L:mc xJ:f]:^b^bfsSzfx_`Ndt-v gN}Npp} 3n%Jb1VaX3PJNMTdSoxPVaLmwPxTj4 \ }ahq :P3xm^bx_f:dVTxc ^:^_s |JVad w _pNq[ }a sfmNc dRmxmX3O ' +^ -Vj g} ~XYn%\H1n XY3 JxmL_xscdtl:_MNJxsSZdJbd J lsM }Z X_YnuhP]jHVaX3vZMZST`mL Pn xmx_]_: ^P]_f dF M xgNpb}aW XYXYjHjHMZMZLL::cc QNQNdd!` } }a}aq[ XYjHMTVTjHc lmMZ^PL P c S x_q x_}aRg jHjHMTMTVTVTcc lmlm^P^PPPcc S S [g _pNp jHjHMTMTVTVTcc lmlm^P^PPPcc SaSe` } pNpNWR jHjHMTMTVTVTcc lmlm^P^PPPcc SzS p _h} +*-,+./&).10324245 Figure 20: Graph B97 – Dendrogram for Ward’s method. 25 1997 North American Gs Develop Microsoft Corporation Home Pag Edirol Online IBM Corporation Virtual Sound Canvas Guest Essay: D. Stork Kasparov Vs. DeepBlue The London College Of Fashion Microsoft Netshow Events Calen Janet’s Horsin’ Around On The Designercity4 Designercity Designercity3 Designercity6 Designercity5 Designercity2 Designercity1 Wavelab Wavelet Netcare Netscape Devedge: Library 1 Wavelet Resources Netscape Devedge: Courses & Co The Biting Truth Netscape Devedge: Library Bunyaviridae Young Designer Of The Month Musky Have Teeth Intranet Executive: Digital Id Boston At Night: Feature Story Cold Front Tactics Journal Entry Celery Onions Nada138-954 Equinet(tm) - Comments Four Corners Hantavirus Harmony Central: Midi Tools Netscape Devedge: Courses & Co 404 Not Found Netscape Navigator Family Musky Muskie Lure Components Identifying Vegetation Sandell & Associates Surface L Tackle Box Survival - Surface INI International: Vitamins INI International: Candy Secti INI International: Grocery Sec Figure 21: Graph B97 – Ward’s clustering (first prize). 26 Layouts for Graph Drawing Contest 1998 In 1998 Graph Drawing Conference was helt in Montreal and the contest was organised by Peter Eades, Joe Marks, Petra Mutzel, and Stephen North. Rules and data are described at: http://gd98.cs.mcgill.ca/contest/ All work was done using our program package Pajek, which is freely available at: http://vlado.fmf.uni-lj.si/pub/networks/pajek/ Graph A98 The data for graph A consist of addition and deletion operations that specify how the graph changes over time. In our solution addition and deletion operations were performed using macro language which is recognized by program package Pajek. Then we used Microsoft Camcorder (free software) to record the process. Selected layouts in three different time points are shown. Graph B98 Symmetries in graph (with some exceptions) can easily be noticed. We started the drawing using the layout obtained using Fruchterman-Reingold spring embedder. Later we used manual editing to maximize symmetries and made some displacements according to different sizes and shapes of nodes. Pajek was used to do all the work. The layout was awarded the first prize. Graph C98 Using spring embedders we could not get any nice layouts. Analysing graph we found that it is a symmetric cubic graph. Later we used eigenvectors approach and computed eigenvectors of neighbourhood matrix that correspond to the largest eigenvalue (which is multiple). In this way we got nice symmetric picture in space (3D). According to symmetries (equivalences) some of the nodes are drawn on the same positions and some are overlapping when selecting the certain view to see the symmetries. Since some vertices are overlapping we built a list of overlapping vertices drawn in different colors: Graph D98 There were no data available for this graph. The participants could send any picture that is inspired or related to graph drawing. We decided to generate graph from dictionary and sent some interesting subgraph of it. 27 Table 1: Overlapping vertices in graph C98 Group 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. Color Yellow Green Pink Blue Fuchsia White Orange Purple NavyBlue TealBlue OliveGreen Gray Black Maroon LightGreen Cyan Yellow Green Pink Blue Fuchsia White Orange Purple NavyBlue TealBlue OliveGreen Gray Black Vertices 13, 76 9, 12, 33,106 39, 65, 88,112 5, 20, 51, 63 68, 75, 85, 92 36, 99 21, 42 23, 24, 55, 89 30, 44, 54, 57 3, 11, 43,101 1, 18, 64, 74, 91,103,104,107 19, 26, 47, 59 17, 40, 70, 79 48, 53 25, 32, 35, 60, 66, 71, 73,105 10,102 2, 22, 81, 90 14, 58, 61, 83 4, 15, 46, 52, 77, 78,109,110 7, 8, 27, 41 6, 50, 67, 96 82, 84, 95, 97 31, 80 16, 29, 98,108 38, 72, 86, 87 37, 45 28, 62, 93,111 34, 49, 56,100 69, 94 Large graph can be generated from words in a dictionary. We constructed a graph in which two words are connected iff one can be obtained from the other by changing single character (e. g. WORK – WORD) or by adding/deleting one character (e.g. EVER – FEVER). Then we took english words graph-drawing-contest, find all shortest paths between graph and drawing and between drawing and contest, draw the obtained graph using layers option in Pajek (layers are determined by distance from drawing). Additionally we added two puzzles: one difficult: find shortest paths alone, 28 Figure 22: Graph C98. one easy: find only missing words on the paths. See also: http://vlado.fmf.uni-lj.si/pub/gd/gd98.htm Figure 23: Graph A98, after executing deletion: delete www.att.com -> www.att.com/catalog/consumer (23 operations executed). www.att.com/cgi-bin/ppps.cgi www.att.com/write www.att.com/textindex.html www.att.com/cmd/custcare www.att.com/cmd/jump www.att.com/home www.att.com/bmd/jump search.att.com www.att.com www.att.com/bmd/tollfree www.att.com/worldnet www.att.com/worldnet/wmis www.att.com/catalog/consumer www.att.com/whatsnew www.att.com/catalog/small_business www.att.com/terms.html www.att.com/cgi-bin/bmd_cart.cgi www.att.com/features www.att.com/rock www.att.com/catalog www.att.com/att www.att.com/learningnetwork 29 www.att.com/write www.att.com/textindex.html www.att.com/bmd/products www.att.com/bmd/jump search.att.com www.att.com/cmd/jump www.att.com www.att.com/home www.att.com/worldnet www.att.com/worldnet/intranet www.att.com/net www.att.com/worldnet/wmis www.att.com/worldnet/wis/sky/signup.html www.att.com/catalog/consumer www.att.com/whatsnew www.att.com/catalog/small_business www.att.com/news www.att.com/terms.html www.att.com/services www.att.com/features www.att.com/rock www.att.com/cgi-bin/bmd_cart.cgi www.att.com/catalog www.att.com/att 30 Figure 24: Graph A98, after executing deletion: delete www.att.com/whatsnew -> www.att.com/catalog/consumer (38 operations executed). www.att.com/cgi-bin/ppps.cgi Figure 25: Graph A98, after all additions/deletions done (65 operations executed). www.att.com/cgi-bin/ppps.cgi www.catalog.att.com/cmd/jump www.att.com/write www.att.com/bmd/products www.att.com/cgi-bin/cart.cgi www.att.com/textindex.html www.att.com/cmd/products www.att.com/bmd/jump search.att.com www.att.com/cmd/custcare www.att.com/cmd www.att.com/cmd/jump www.att.com www.att.com/bmd/tollfree www.att.com/home www.att.com/worldnet www.att.com/worldnet/intranet www.att.com/business www.att.com/net www.att.com/worldnet/wmis www.att.com/worldnet/wis/sky/signup.html www.att.com/catalog/consumer www.att.com/whatsnew www.att.com/catalog/small_business www.att.com/news www.att.com/terms.html www.att.com/bmd/custcare www.att.com/speeches www.att.com/speeches/index96.html www.att.com/services www.att.com/features www.att.com/catalog www.att.com/international www.att.com/rock www.att.co.uk www.att.com/att www.att.com/cgi-bin/bmd_cart.cgi www.att.com/learningnetwork 31 Tag 5 Tag 1 1 2 Tag 31 Tag 58 Tag 54 1 6 Tag 2 0 Tag 3 14F 1 3 1 Tag 29 Tag 6 2 Figure 26: Graph B98 (first prize). Tag 30 1 Tag 57 1A Tag 49 Tag 74 Tag 55 Tag 35 Tag 43 Tag 17 Tag 41 1 Tag 44 3H 11 Tag 67 1 Tag 34 1 Tag 40 Tag 36 5 Tag 64 12 Tag 45 Tag 4 13 3 Tag 33 Tag 65 Tag 63 Tag 51 Tag 50 Tag 71 Tag 56 4 2 Tag 59 Tag 32 15 4H Tag 73 1A Tag 39 Tag 60 Tag 70 Tag 48 Tag 37 Tag 61 1A Tag 14 Tag 47 Tag 46 Tag 9 1 Tag 7 2 1 Tag 13 Tag 12 3 Tag 15 1 Tag 16 Tag 8 Tag 11 3H 4H 1 Tag 10 2 Tag 66 Tag 42 Tag 68 Tag 69 Tag 75 2A 10 Tag 72 Tag 38 7 2A Tag 18 Tag 26 Tag 25 1 Tag 27 9 Tag 28 Tag 53 2A Tag 62 Tag 22 Tag 52 1 Tag 24 8 1 Tag 20 Tag 21 Tag 19 Tag 23 32 drawing Figure 27: Graph D98: Difficult puzzle. graph contest Pajek 33 drawing draping craping crating raping rating aping Figure 28: Graph D98: Easy puzzle. grating gratin pine pipe grates graph cong ripe grate graphs pong grape gripe rape cove covet cover covert convent content contest Pajek 34 drawing draping craping crating raping rating aping Figure 29: Graph D98: Solution. grating ping gratin pine gratis pipe grates cong ripe grapes grate graphs grape graph pong gripe cone rape cove covet cover covert convert convent content contest Pajek 35 36 Layouts for Graph Drawing Contest 1999 In 1999 Graph Drawing Conference was helt in Stirin (Czeck Republic) and the contest was organised by Franz Brandenburg, Michael Juenger, Joe Marks, Petra Mutzel, and Falk Schreiber. Rules and data are described at: http://www.ms.mff.cuni.cz/acad/kam/conferences/GD99/ contest/rules.html All work was done using our program package Pajek, which is freely available at: http://vlado.fmf.uni-lj.si/pub/networks/pajek/ Graph A99 Graph data were transformed to Pajek format, which enables to handle graph changes over time. The following coding of actors is used: Shapes – circle: =f= female – triangle: =m= male – yellow box: =b= female+male (Ernst+Lisl Wiesenhuber) – green box: =a= women+grandchildren (Julia von der Marwitz) – black diamond: =w= widowed – pink diamond: =d= divorced marriage – orange diamond: =m= still existing marriage – empty: =i= invisible node (white) Sizes – 0.8 - big – 0.4 - small – 0.6 - artificial Colors – =y= unactive characters (yellow) – =a= 2 persons in 2 different colors (green) – =b= active characters (blue) – =d= divorced marriage (pink) 37 – =w= characters that never showed up personally (white) – =m= still existing marriage (orange) – =g= already dead characters (grey) – =w= widowed (black) Border widths – =p= picture - border width = 2 – =s= symbol - border width = 0.5 Drawing of the current situation We started the drawing using the layout obtained by Kamada-Kawai spring embedder. Later we used manual editing to arrange them on rectangular net. Development of the graph over time We used the Pajek option for drawing graphs in different time points. Only time points where at least one vertex or one line changes according to last layout were drawn (e.g. 1, 2, 4, 5,...). After each change time the layout of the new graph was optimized starting with the previous positions. The layout was awarded the first prize. Graph B99 We used eigenvectors approach and computed eigenvectors of Laplacean matrix that correspond to the 1st, 2nd and 5th largest eigenvalue. No additional manual editing was used on the obtained spatial picture. Suitable view was selected to get planar EPS picture. Picture was exported to formats for the following 3D viewers: VRML (CosmoPlayer), kinemages (Mage), and MDLMOLfile (Chime). The layout was awarded the second prize. Graph C99 We started the drawing using the layout obtained by Fruchterman-Reingold spring embedder. Later we used manual editing to maximize ’rectangularity’ and made some displacements to accommodate for different sizes of nodes. See: http://vlado.fmf.uni-lj.si/pub/gd/gd99.htm . The complete report of the contest is available in [8]. Dr. Eva-Maria Sperling *06.08.1947 Momo Sperling *01.04.1975 Rita Bassermann *22.05.1962 Gundel Koch Professor Dr. Rudolf Tenge-Wegemmann *1947+1964 Elena Sarikakis *08.11.1939 Vasily Sarikakis *14.02.1963 Hilmar Eggers Frau Horowitz Simone Fitz Ernst+Lisl Wiesenhuber Dr. Ludwig Dressler *27.06.1933 Chromo Hoyonda *25.10.1970 *26.11.1987+18.08.1996 Figure 30: Graph A99, current situation. *18.07.1996 Zeki Kurtalan Sue Sarah Ziegler *22.10.1987 Fritjof Lothar Boedefeld *06.04.1940 Berta Griese geb.Nolte*25.06.1941 Mary Kling geb.Dankor*30.01.1969 Andy Zenker *03.07.1947 Rolf Sattler *14.11.1991 Inge Kling Harry Hajo Scholz *09.06.1944 Bolle Guenther Bollmann Anna Ziegler geb.Jenner*14.07.1959 Sophie Ziegler *25.07.1991 *1955+1965 Gabi Zenker-geb.Skawowski verw.Zimmermann*23.05.1960 Gung Pahm Kien *23.10.1958 Irina Winicki *18.10.1990 Pat Wolffson *05.05.1972 Lisa Hoffmeister *19.10.1981 Fausto Rossini Dr. Otto Pichelsteiner *10.05.1968+29.08.1991 Zorro Franz Josef Pichelsteiner *09.08.1963 Philipp Sperling *14.09.1977 Herr Panowski Nico Zenker *12.05.1994 Rosi Koch gesch.Skabowski*19.10.1927 Martha Hans Beimer *03.10.1943 Marion Beimer *21.05.1969 Marlene Schmitt *02.07.1942 Wanda Winicki geb.Kollin*17.07.1938 *30.01.1992 Tom Ziegler *27.07.1989 Theresa Zenker +1986 Friedemann Traube Tanja Schildknecht-Dressler geb.Schildknecht*19.06.1970 Phil Seegers *14.04.1961 Dora Wittich +1964 Beate Sarikakis geb.Floeter*17.08.1970 *13.03.1994 Hans Wilhelm Huelsch *29.02.1952 Olaf Kling *10.11.1955 Frank Dressler *31.10.1966 Isolde Pavarotti verw.Panowak*27.11.1936 Alfredo Francesco Bruno Skabowski Kaethe Georg Eschweiler Dani Schmitz Iffi Zenker *19.08.1978 Klaus Beimer *17.10.1078 *1969+1986 Olli Klatt *06.01.1976 Valerie Ecker geb.Zenker*08.10.1975 Canan Dagdelen Helga Beimer Schiller geb.Wittich*24.03.1940 Onkel Franz Franz Wittich *24.07.1913 Carsten Floeter *05.03.1966 *24.07.1997 Theo Klages Leo Klamm Erich-Schiller *23.07.1944 Marcella Varese Wilhelm Loesch *19.09.1996 Else Kling *14.05.1922 Unbekannter_Russe Urzula Wienicki *10.02.1963 *19.04.1996 Boris Ecker *17.06.1965 Dr. Ahmet Dagdelen Paula Madalena Francesca Winicki *29.08.1996 Paolo Varese Gina Varese Winifred Snyder Giovanna Varese 38 39 Sigi Kronmayr Vasily Sarikakis Helga Beimer Schiller Hans Beimer Marion Beimer Else Kling Elfie Kronmayr Klaus Beimer Benny Beimer Gabi Zenker-geb.Skawowski Egon Kling Gung Pahm Kien Paul Nolte Tanja Schildknecht-Dressler Joschi Bennarsch Berta Griese Lydia Nolte Chris Barnsteg Dr. Ludwig Dressler Theo Nolte Franz Schildknecht Philo Bennarsch Henny Schildknecht Stefan Nossek Sigi Kronmayr Herr Floether Der Englaender Vasily Sarikakis Helga Beimer Schiller Elisabeth Dressler Elfie Kronmayr Hans Beimer Marion Beimer Else Kling Carsten Floeter Gabi Zenker-geb.Skawowski Klaus Beimer Benny Beimer Egon Kling Gung Pahm Kien Paul Nolte Tanja Schildknecht-Dressler Joschi Bennarsch Berta Griese Lydia Nolte Chris Barnsteg Dr. Ludwig Dressler Theo Nolte Franz Schildknecht Philo Bennarsch Gottlieb Griese Henny Schildknecht Stefan Nossek Sigi Kronmayr Herr Floether Der Englaender Vasily Sarikakis Helga Beimer Schiller Elisabeth Dressler Elfie Kronmayr Marion Beimer Else Kling Carsten Floeter Gabi Zenker-geb.Skawowski Hans Beimer Klaus Beimer Benny Beimer Egon Kling Gung Pahm Kien Paul Nolte Berta Griese Lydia Nolte Chris Barnsteg Dr. Ludwig Dressler Theo Nolte Franz Schildknecht Gottlieb Griese Frank Dressler Tanja Schildknecht-Dressler Joschi Bennarsch Meike Schildknecht Philo Bennarsch Henny Schildknecht Stefan Nossek Figure 31: Graph A99, time points 5, 6 and 7 (first prize). 15241 15238 15244 15232 15148 15235 Figure 32: Graph B99 (second prize). 15220 15196 15229 15223 15217 15145 15193 15247 15199 15151 15139 15214 15226 15211 15187 15190 15127 15142 15175 15136 15208 15184 15178 15124 15172 15202 15130 15100 15154 15250 15106 15181 15118 15121 15169 15103 15094 15133 15205 15166 15082 15097 15115 15091 15163 15109 15085 15157 15079 15088 15253 15112 15073 15076 15160 15070 15256 15259 40 41 Figure 33: Graph B99 – general view. 42 Figure 34: Graph B99 – different views. PROLINE HYDROXYPROLINE GLUTAMATE ORNITHINE 5-AMINOLEVULINATE PROTOPORPHYRIN IX HEME CHLOROPHYLL CYTOCHROMES COBALAMIN 2-OXOGLUTERATE SUCCINATE UREA CYSTEINE BILE PIGMENTS Degradation FUMARATE ARGININE GLYOXYLATE CITRATE METHIONINE THREONINE OXALOACETATE ASPARTATE Figure 35: Graph C99. ALANINE ACETYL-CoA PYRUVATE LEUCINE VALINE PHOSPOLIPIDS BILE ACIDS SUCROSE ISOPRENOIDS PENTOSES GLYCOGEN URONIC ACIDS NDPGLUCOSE STARCH DEOXYRIBONUCLEIC ACID 3-P GLYCERATE CYTIDINE NUCLEOTIDE DEOXYCYTIDINE NUCLEOTIDE GLYCINE GLYCEROL FATTY ACIDS PLANT STEROIDS DEOXYURIDINE NUCLEOTIDE DEOXYTHYMIDINE NUCLEOTIDE ISOLEUCINE SERINE STEROID HORMONES URIDINE NUCLEOTIDE RIBONUCLEIC ACID TRIACYLGLYCEROLS CHOLESTEROL LYSINE FRUCTOSE AMINO SUGARS FRUCTOSE 6-P ASCORBATE TYROSINE GLYCERALDEHYDE 3-P PHENYLALANINE ERYTHROSE 4-P GLUCOSE 6-P RIBOSE 5-P GLUCOSE P-RIBOSYLPP CELLULOSE DEOXYADENOSINE NUCLEOTIDE ADENOSINE NUCLEOTIDE DEOXYRIBONUCLEIC ACID RIBONUCLEIC ACID DEOXYGUANOSINE NUCLEOTIDE GUANOSINE NUCLEOTIDE HORMONES INOSINE NUCLEOTIDE CHORISMATE LIGNIN TRYPTOPHAN HISTIDINE NAD+ Degradation XANTHOSINE NUCLEOTIDE 43 PROLINE HYDROXYPROLINE GLUTAMATE ORNITHINE 5-AMINOLEVULINATE PROTOPORPHYRIN IX HEME CHLOROPHYLL CYTOCHROMES COBALAMIN Figure 36: Graph C99 - orthogonal layout. 2-OXOGLUTERATE SUCCINATE BILE PIGMENTS Degradation FUMARATE ARGININE GLYOXYLATE CITRATE UREA CYSTEINE METHIONINE THREONINE OXALOACETATE ASPARTATE ALANINE ACETYL-CoA LEUCINE VALINE PHOSPOLIPIDS CHOLESTEROL BILE ACIDS PLANT STEROIDS ISOPRENOIDS PENTOSES GLYCOGEN URONIC ACIDS DEOXYTHYMIDINE NUCLEOTIDE DEOXYRIBONUCLEIC ACID 3-P GLYCERATE CYTIDINE NUCLEOTIDE DEOXYCYTIDINE NUCLEOTIDE GLYCINE GLYCEROL FATTY ACIDS NDPGLUCOSE STARCH DEOXYURIDINE NUCLEOTIDE ISOLEUCINE SERINE STEROID HORMONES URIDINE NUCLEOTIDE RIBONUCLEIC ACID TRIACYLGLYCEROLS CELLULOSE LYSINE PYRUVATE FRUCTOSE AMINO SUGARS FRUCTOSE 6-P ASCORBATE TYROSINE PHENYLALANINE ERYTHROSE 4-P GLUCOSE 6-P RIBOSE 5-P GLUCOSE P-RIBOSYLPP SUCROSE DEOXYADENOSINE NUCLEOTIDE ADENOSINE NUCLEOTIDE DEOXYRIBONUCLEIC ACID RIBONUCLEIC ACID DEOXYGUANOSINE NUCLEOTIDE GUANOSINE NUCLEOTIDE HORMONES GLYCERALDEHYDE 3-P INOSINE NUCLEOTIDE CHORISMATE LIGNIN TRYPTOPHAN HISTIDINE NAD+ Degradation XANTHOSINE NUCLEOTIDE 44 45 Layouts for Graph Drawing Contest 2000 In 2000 Graph Drawing Conference was helt in Colonial Williamsburg (USA) and the contest was organised by Franz Brandenburg. Rules and data are described at: http://www.infosun.fmi.uni-passau.de/GD2000/index.html Graph A00 Graph A00 was proposed by M. Himsolt. First we found out that graph consists of 26 weakly connected components. After removing loops from the graph we got acyclic graph. On the acyclic graph we used standard algorithms to compute layers and position vertices into layers in order to minimize total length of lines. Some manual repositioning of vertices was used to avoid some line crossings. Vertices having loops are drawn as ellipses other as rectangles. Since graph consists of several components and labels are very small, some additional layouts of parts of network (top, middle and bottom) containing some components are shown. We also produced pictures of this graph in Scalable Vector Graphics (SVG) format besides EPS pictures (see http://vlado.fmf.uni-lj.si/pub/gd/gd00.htm). Graph B00 Graphs B00-A and B00-B were proposed by Ulrik Brandes. The essential part of both graphs A and B are the green vertices. But there are to many arcs among them to produce a clear picture. We first tried with circular presentation. To reveal internal structure of green subgraph on the green suband to determine the ordering of vertices on the circle we computed graph and applied TSP (Travelling Salesman Problem) algorithm on this matrix. '¡ Y¡3¢ £ ¤N¥§¦¨ © ª ¢ ¢ ££¦+¦+«¬ ª ¢ ¢ ¥§¥§¦¦ © (1) ©ª ª © ª ¢ ¥§¦ is the neighborhood of vertex ¥®°¯ : ª ¢ ¥¦²±£³³¯´¢ ¥®´-£¦µ>¶¸· « ¬ ( denotes the symmetric difference, denotes union) Since there can exist different clusters inside the green set of vertices we extended the H¡ matrix with some additional vertices with equal distance to all green vertices. Some vertices were repositioned manually according to connections to yellow and blue vertices on the circular net. From obtained pictures we can see that neighbouring vertices have similar patterns of arcs. Vertices having loops are drawn as boxes (vertices 5 and 11 in graph A) other as circles. Different gray colors are used to show the frequency of contact: 46 Black: 1 - weekly 75% Gray: 2 - biweekly 50% Gray: 3 - monthly 25% Gray: 4 - quarterly The ordering of green vertices obtained by TSP algorithm we used also in matrix representation of graphs A and B. It seems that the matrix representation is more appropriate for dense (parts of) graphs. In the matrix representation the same shadowing is used as in the graph layout. The layout was awarded the first prize. The complete report of the contest is available in [9]. ConcretePrimitiveQuery EntitiesByTypeQuery PrimitiveQuery RelationsByTypeQuery SerialQuery Block list<STD_Ptr<Block>, allocator<STD_Ptr<Block>>> ParallelQuery RecursiveQuery Scope NameSpace TemplateParameter Template Constant list<ColumnDef, allocator<ColumnDef>> list<Query*, allocator<Query*>> Query STD_Ptr<Block> allocator<STD_Ptr<Block>> iterator STD_Ptr<Block> allocator<STD_Ptr<Block>> multiset<STD_Ptr<Entity>, LessByName, allocator<STD_Ptr<Entity>>> _Tree<STD_Ptr<Entity>, value_type, _Kfn, LessByName, allocator<STD_Ptr<Entity>>> set<STD_Ptr<Scope>, less<STD_Ptr<Scope>>, allocator<STD_Ptr<Scope>>> _Tree<STD_Ptr<Scope>, value_type, _Kfn, less<STD_Ptr<Scope>>, allocator<STD_Ptr<Scope>>> ColumnDef iterator allocator<ColumnDef> iterator allocator<Query*> Object const_iterator const_iterator const_iterator allocator<STD_Ptr<Entity>> iterator allocator<STD_Ptr<Scope>> iterator const_iterator const_iterator Routine Field Entity DummyRelation LocallyUsedType StaticDataMemberTemplate FunctionTemplate ClassTemplate Method Function Variable Member Accessor Call FieldAccess Inheritance TemplateInstance LocalVariableOfType HasType Parameter TypeUsedInTypeRef ReturnType Friend Element Relation Type SCPos Builtin RoutineType TypeRef Record Pointer TypeDef Array PointerToMember QualifiedType Union Class Struct InScope InNamespace InRecordScope Figure 37: Complete layout of Himsolt graph A00. _Tree<string, value_type, _Kfn, less<string>, allocator<int>> _Tree<string, value_type, _Kfn, less<ILInstanceKey>, allocator<int>> _Tree<string, value_type, _Kfn, less<PropertyName>, allocator<int>> _Tree<string, value_type, _Kfn, less<PropertyName>, allocator<int>> Measurement iterator const_iterator iterator iterator iterator _Tree<string, value_type, _Kfn, less<ILInstanceKey>, allocator<int>> allocator<int> map<string, int, less<ILInstanceKey>, allocator<int>> value_compare _Tree<string, value_type, _Kfn, less<string>, allocator<int>> iterator map<string, int, less<PropertyName>, allocator<int>> value_compare map<string, int, less<string>, allocator<int>> value_compare Log map<int, string, less<int>, allocator<string>> _Tree<PropertyName, value_type, _Kfn, less<string>, allocator<string>> _Tree<string, value_type, _Kfn, less<string>, allocator<string>> map<string, string, less<string>, allocator<string>> _Tree<int, value_type, _Kfn, less<int>, allocator<string>> value_compare iterator iterator value_compare iterator _Tree<string, value_type, _Kfn, less<string>, allocator<string>> iterator _Tree<PropertyName, value_type, _Kfn, less<string>, allocator<string>> allocator<string> _Tree<int, value_type, _Kfn, less<int>, allocator<string>> iterator _Tree<string, value_type, _Kfn, less<string>, allocator<string>> iterator _Tree<string, value_type, _Kfn, less<string>, allocator<string>> iterator const_iterator const_iterator set<string, less<string>, allocator<string>> Project list<string, allocator<string>> iterator map<string, SourceFile, less<string>, allocator<SourceFile>> value_compare set<PropertyName, less<string>, allocator<string>> CppModel Model ElementType _Tree<string, value_type, _Kfn, less<string>, allocator<SourceFile>> list<Relation*, allocator<Relation*>> set<ElementType*, less<ElementType*>, allocator<ElementType*>> const_iterator allocator<SourceFile> allocator<SourceFile> iterator const_iterator iterator const_iterator allocator<Relation*> allocator<ElementType*> _Tree<ElementType*, value_type, _Kfn, less<ElementType*>, allocator<ElementType*>> iterator _Tree<string, value_type, _Kfn, less<string>, allocator<ElementType*>> allocator<ElementType*> _Tree<string, value_type, _Kfn, less<string>, allocator<ElementType*>> iterator map<string, ElementType*, less<string>, allocator<ElementType*>> value_compare const_iterator const_iterator iterator iterator _Tree<PropertyName, value_type, _Kfn, less<PropertyName>, allocator<PropertyName>> _Tree<PropertyName, value_type, _Kfn, less<PropertyName>, allocator<PropertyName>> _Tree<PropertyName, value_type, _Kfn, less<string>, allocator<PropertyName>> set<PropertyName, less<string>, allocator<PropertyName>> const_iterator iterator iterator const_iterator iterator set<PropertyName, less<PropertyName>, allocator<PropertyName>> _Tree<PropertyName, value_type, _Kfn, less<string>, allocator<PropertyName>> _Tree<int, value_type, _Kfn, less<int>, allocator<PropertyName>> UnimportantOperationException allocator<PropertyName> iterator _Tree<int, value_type, _Kfn, less<int>, allocator<PropertyName>> iterator map<int, string, less<int>, allocator<PropertyName>> value_compare ParentScopeNotFoundException UnimportantStatementException BuildException list<string, allocator<PropertyName>> const_iterator iterator BrokenRelationException map<ILInstanceKey, ILInstance, less<string>, allocator<ILInstance>> EntryNotFoundException _Tree<ILInstanceKey, value_type, _Kfn, less<string>, allocator<ILInstance>> _Tree<ILInstanceKey, value_type, _Kfn, less<PropertyName>, allocator<ILInstance>> value_compare iterator iterator _Tree<ILInstanceKey, value_type, _Kfn, less<PropertyName>, allocator<ILInstance>> _Tree<ILInstanceKey, value_type, _Kfn, less<ILInstanceKey>, allocator<ILInstance>> _Tree<ILInstanceKey, value_type, _Kfn, less<string>, allocator<ILInstance>> _Tree<ILInstanceKey, value_type, _Kfn, less<ILInstanceKey>, allocator<ILInstance>> ILManager map<ILInstanceKey, ILInstance, less<ILInstanceKey>, allocator<ILInstance>> map<ILInstanceKey, ILInstance, less<PropertyName>, allocator<ILInstance>> allocator<ILInstance> iterator const_iterator iterator value_compare value_compare iterator _Tree<PropertyName, value_type, _Kfn, less<PropertyName>, allocator<Property>> _Tree<PropertyName, value_type, _Kfn, less<PropertyName>, allocator<Property>> map<PropertyName, Property, less<PropertyName>, allocator<Property>> allocator<BaseClass*> list<BaseClass*, allocator<BaseClass*>> iterator allocator<Property> const_iterator iterator value_compare const_iterator allocator<BaseClass*> stack<Block*, deque<Block*, allocator<Block*>>> deque<Block*, allocator<Block*>> iterator const_iterator allocator<Block*> _Tree<void*, value_type, _Kfn, less<void*>, allocator<Entity*>> _Tree<void*, value_type, _Kfn, less<void*>, allocator<Entity*>> iterator ProjectFile map<string, SectionContents, less<string>, allocator<SectionContents>> iterator allocator<Entity*>> map<void*, Entity*, less<void*>, list<Entity*, allocator<Entity*>> _Tree<string, value_type, _Kfn, less<string>, allocator<SectionContents>> list<TempResult, allocator<TempResult>> set<STD_Ptr<Cell>, CellLessByElementID, allocator<STD_Ptr<Cell>>> _Tree<STD_Ptr<Cell>, value_type, _Kfn, CellLessByElementID, allocator<STD_Ptr<Cell>>> iterator const_iterator iterator _Tree<STD_Ptr<Cell>, value_type, _Kfn, CellLessByElementID, allocator<STD_Ptr<Cell>>> const_iterator allocator<Entity*> value_compare value_compare allocator<SectionContents> iterator allocator<TempResult> iterator allocator<Entity*> iterator const_iterator const_iterator const_iterator TempResult allocator<STD_Ptr<Cell>> allocator<Element*> list<Element*, allocator<Element*>> iterator const_iterator allocator<Actual> list<Actual, allocator<Actual>> iterator const_iterator allocator<Constant*> list<Constant*, allocator<Constant*>> iterator _Tree<TypeRefHack, value_type, _Kfn, LessByReferencedType, allocator<TypeRefHack>> iterator multiset<TypeRefHack, LessByReferencedType, allocator<TypeRefHack>> allocator<TypeRefHack> _Tree<TypeRefHack, value_type, _Kfn, LessByReferencedType, allocator<TypeRefHack>> iterator basic_string<char, char_traits<char>, allocator<char>> allocator<char> const_iterator const_iterator STD_Ptr<TemplateParameter> list<STD_Ptr<TemplateParameter>, allocator<STD_Ptr<TemplateParameter>>> iterator const_iterator allocator<STD_Ptr<TemplateParameter>> CppModelFactory codecvt<wchar_t, char, mbstate_t> codecvt<char, char, state_type> num_put<char, _Iter> codecvt_base numpunct<char> failure ModelFactory multiset<RoutineTypeHack, LessByParamTypes, allocator<RoutineTypeHack>> _Tree<RoutineTypeHack, value_type, _Kfn, LessByParamTypes, allocator<RoutineTypeHack>> allocator<RoutineTypeHack> iterator const_iterator facet _Locimp underflow_error range_error overflow_error length_error out_of_range invalid_argument domain_error __non_rtti_object runtime_error vector<_Bool, _Bool_allocator> reference bad_cast bad_alloc logic_error reverse_iterator<iterator, value_type, reference, reference*, difference_type> const_iterator reverse_iterator<const_iterator, value_type, const_reference, const_reference*, difference_type> exception bad_exception bad_typeid iterator iterator _Tree<Cell*, value_type, _Kfn, less<Cell*>, allocator<Cell*>> map<Cell*, Cell*, less<Cell*>, allocator<Cell*>> value_compare _Tree<Cell*, value_type, _Kfn, less<Cell*>, allocator<Cell*>> allocator<Cell*> list<Cell*, allocator<Cell*>> const_iterator iterator iterator const_iterator SectionNotFound FileNotInProject FileException VariableNotFound Property PropertyValue Exception list<PropertyValue, allocator<PropertyValue>> basic_streambuf<char, char_traits<char>> basic_istream<wchar_t, char_traits<wchar_t>> const_iterator locale basic_ostream<wchar_t, char_traits<wchar_t>> basic_fstream<char, char_traits<char>> iterator allocator<PropertyValue> basic_filebuf<char, char_traits<char>> basic_ios<wchar_t, char_traits<wchar_t>> ios_base basic_ostream<char, char_traits<char>> basic_iostream<char, char_traits<char>> basic_istream<char, char_traits<char>> basic_streambuf<wchar_t, char_traits<wchar_t>> basic_ios<char, char_traits<char>> 47 ConcretePrimitiveQuery ColumnDef EntitiesByTypeQuery PrimitiveQuery RelationsByTypeQuery SerialQuery list<ColumnDef, allocator<ColumnDef>> iterator const_iterator allocator<ColumnDef> list<Query*, allocator<Query*>> iterator const_iterator ParallelQuery allocator<Query*> Query RecursiveQuery Object STD_Ptr<Block> allocator<STD_Ptr<Block>> Block list<STD_Ptr<Block>, allocator<STD_Ptr<Block>>> iterator const_iterator STD_Ptr<Block> allocator<STD_Ptr<Block>> Figure 38: Upper part of Himsolt graph A00. multiset<STD_Ptr<Entity>, LessByName, allocator<STD_Ptr<Entity>>> Scope _Tree<STD_Ptr<Entity>, value_type, _Kfn, LessByName, allocator<STD_Ptr<Entity>>> set<STD_Ptr<Scope>, less<STD_Ptr<Scope>>, allocator<STD_Ptr<Scope>>> NameSpace allocator<STD_Ptr<Entity>> iterator const_iterator allocator<STD_Ptr<Scope>> TemplateParameter iterator Template const_iterator _Tree<STD_Ptr<Scope>, value_type, _Kfn, less<STD_Ptr<Scope>>, allocator<STD_Ptr<Scope>>> Constant Routine Field Entity DummyRelation LocallyUsedType Accessor Element Call FieldAccess Relation Inheritance TemplateInstance LocalVariableOfType HasType Parameter TypeUsedInTypeRef StaticDataMemberTemplate ReturnType FunctionTemplate Friend ClassTemplate Method Function Variable Member Type SCPos Builtin RoutineType TypeRef Record Pointer TypeDef Array InScope PointerToMember QualifiedType Union Class Struct InNamespace InRecordScope 48 _Tree<string, value_type, _Kfn, less<string>, allocator<int>> iterator _Tree<string, value_type, _Kfn, less<ILInstanceKey>, allocator<int>> _Tree<string, value_type, _Kfn, less<PropertyName>, allocator<int>> _Tree<string, value_type, _Kfn, less<PropertyName>, allocator<int>> _Tree<string, value_type, _Kfn, less<ILInstanceKey>, allocator<int>> map<string, int, less<ILInstanceKey>, allocator<int>> _Tree<string, value_type, _Kfn, less<string>, allocator<int>> Measurement map<string, int, less<PropertyName>, allocator<int>> map<string, int, less<string>, allocator<int>> const_iterator iterator iterator iterator allocator<int> value_compare iterator value_compare value_compare Log map<int, string, less<int>, allocator<string>> value_compare _Tree<PropertyName, value_type, _Kfn, less<string>, allocator<string>> iterator _Tree<string, value_type, _Kfn, less<string>, allocator<string>> iterator map<string, string, less<string>, allocator<string>> value_compare _Tree<int, value_type, _Kfn, less<int>, allocator<string>> Figure 39: Middle part of Himsolt graph A00. _Tree<string, value_type, _Kfn, less<string>, allocator<string>> iterator iterator const_iterator _Tree<PropertyName, value_type, _Kfn, less<string>, allocator<string>> _Tree<int, value_type, _Kfn, less<int>, allocator<string>> _Tree<string, value_type, _Kfn, less<string>, allocator<string>> _Tree<string, value_type, _Kfn, less<string>, allocator<string>> allocator<string> iterator iterator const_iterator iterator set<string, less<string>, allocator<string>> Project list<string, allocator<string>> map<string, SourceFile, less<string>, allocator<SourceFile>> set<PropertyName, less<string>, allocator<string>> iterator const_iterator value_compare allocator<SourceFile> allocator<SourceFile> _Tree<string, value_type, _Kfn, less<string>, allocator<SourceFile>> CppModel Model list<Relation*, allocator<Relation*>> iterator const_iterator iterator const_iterator ElementType allocator<Relation*> set<ElementType*, less<ElementType*>, allocator<ElementType*>> allocator<ElementType*> _Tree<ElementType*, value_type, _Kfn, less<ElementType*>, allocator<ElementType*>> _Tree<string, value_type, _Kfn, less<string>, allocator<ElementType*>> iterator const_iterator allocator<ElementType*> _Tree<string, value_type, _Kfn, less<string>, allocator<ElementType*>> iterator map<string, ElementType*, less<string>, allocator<ElementType*>> value_compare const_iterator iterator iterator _Tree<PropertyName, value_type, _Kfn, less<PropertyName>, allocator<PropertyName>> _Tree<PropertyName, value_type, _Kfn, less<PropertyName>, allocator<PropertyName>> const_iterator iterator _Tree<PropertyName, value_type, _Kfn, less<string>, allocator<PropertyName>> iterator const_iterator set<PropertyName, less<string>, allocator<PropertyName>> iterator set<PropertyName, less<PropertyName>, allocator<PropertyName>> allocator<PropertyName> _Tree<PropertyName, value_type, _Kfn, less<string>, allocator<PropertyName>> _Tree<int, value_type, _Kfn, less<int>, allocator<PropertyName>> iterator _Tree<int, value_type, _Kfn, less<int>, allocator<PropertyName>> iterator map<int, string, less<int>, allocator<PropertyName>> value_compare UnimportantOperationException ParentScopeNotFoundException UnimportantStatementException list<string, allocator<PropertyName>> const_iterator BuildException iterator BrokenRelationException map<ILInstanceKey, ILInstance, less<string>, allocator<ILInstance>> value_compare EntryNotFoundException _Tree<ILInstanceKey, value_type, _Kfn, less<string>, allocator<ILInstance>> iterator _Tree<ILInstanceKey, value_type, _Kfn, less<PropertyName>, allocator<ILInstance>> iterator _Tree<ILInstanceKey, value_type, _Kfn, less<PropertyName>, allocator<ILInstance>> allocator<ILInstance> _Tree<ILInstanceKey, value_type, _Kfn, less<ILInstanceKey>, allocator<ILInstance>> _Tree<ILInstanceKey, value_type, _Kfn, less<string>, allocator<ILInstance>> _Tree<ILInstanceKey, value_type, _Kfn, less<ILInstanceKey>, allocator<ILInstance>> ILManager map<ILInstanceKey, ILInstance, less<ILInstanceKey>, allocator<ILInstance>> map<ILInstanceKey, ILInstance, less<PropertyName>, allocator<ILInstance>> iterator const_iterator iterator value_compare value_compare iterator _Tree<PropertyName, value_type, _Kfn, less<PropertyName>, allocator<Property>> const_iterator allocator<Property> _Tree<PropertyName, value_type, _Kfn, less<PropertyName>, allocator<Property>> iterator map<PropertyName, Property, less<PropertyName>, allocator<Property>> allocator<BaseClass*> list<BaseClass*, allocator<BaseClass*>> iterator value_compare const_iterator allocator<BaseClass*> stack<Block*, deque<Block*, allocator<Block*>>> deque<Block*, allocator<Block*>> iterator const_iterator allocator<Block*> iterator const_iterator _Tree<void*, value_type, _Kfn, less<void*>, allocator<Entity*>> _Tree<STD_Ptr<Cell>, value_type, _Kfn, CellLessByElementID, allocator<STD_Ptr<Cell>>> _Tree<void*, value_type, _Kfn, less<void*>, allocator<Entity*>> iterator ProjectFile allocator<Entity*> value_compare map<string, SectionContents, less<string>, allocator<SectionContents>> list<Entity*, allocator<Entity*>> list<TempResult, allocator<TempResult>> iterator const_iterator iterator map<void*, Entity*, less<void*>, allocator<Entity*>> value_compare allocator<SectionContents> iterator const_iterator _Tree<string, value_type, _Kfn, less<string>, allocator<SectionContents>> iterator const_iterator allocator<TempResult> allocator<Entity*> iterator const_iterator TempResult set<STD_Ptr<Cell>, CellLessByElementID, allocator<STD_Ptr<Cell>>> _Tree<STD_Ptr<Cell>, value_type, _Kfn, CellLessByElementID, allocator<STD_Ptr<Cell>>> allocator<STD_Ptr<Cell>> 49 allocator<Element*> list<Element*, allocator<Element*>> iterator const_iterator allocator<Actual> list<Actual, allocator<Actual>> iterator const_iterator allocator<Constant*> list<Constant*, allocator<Constant*>> iterator _Tree<TypeRefHack, value_type, _Kfn, LessByReferencedType, allocator<TypeRefHack>> iterator multiset<TypeRefHack, LessByReferencedType, allocator<TypeRefHack>> allocator<TypeRefHack> Figure 40: Bottom part of Himsolt graph A00. _Tree<TypeRefHack, value_type, _Kfn, LessByReferencedType, allocator<TypeRefHack>> iterator basic_string<char, char_traits<char>, allocator<char>> allocator<char> const_iterator const_iterator STD_Ptr<TemplateParameter> list<STD_Ptr<TemplateParameter>, allocator<STD_Ptr<TemplateParameter>>> iterator const_iterator allocator<STD_Ptr<TemplateParameter>> CppModelFactory codecvt<wchar_t, char, mbstate_t> ModelFactory multiset<RoutineTypeHack, LessByParamTypes, allocator<RoutineTypeHack>> num_put<char, _Iter> allocator<RoutineTypeHack> _Tree<RoutineTypeHack, value_type, _Kfn, LessByParamTypes, allocator<RoutineTypeHack>> codecvt<char, char, state_type> codecvt_base iterator const_iterator numpunct<char> facet _Locimp failure underflow_error runtime_error range_error vector<_Bool, _Bool_allocator> reference overflow_error bad_cast reverse_iterator<iterator, value_type, reference, reference*, difference_type> length_error iterator const_iterator bad_alloc out_of_range reverse_iterator<const_iterator, value_type, const_reference, const_reference*, difference_type> logic_error exception invalid_argument domain_error bad_exception iterator const_iterator bad_typeid _Tree<Cell*, value_type, _Kfn, less<Cell*>, allocator<Cell*>> iterator __non_rtti_object value_compare map<Cell*, Cell*, less<Cell*>, allocator<Cell*>> _Tree<Cell*, value_type, _Kfn, less<Cell*>, allocator<Cell*>> list<Cell*, allocator<Cell*>> allocator<Cell*> iterator const_iterator SectionNotFound FileNotInProject FileException Property PropertyValue VariableNotFound Exception list<PropertyValue, allocator<PropertyValue>> iterator const_iterator basic_streambuf<char, char_traits<char>> allocator<PropertyValue> basic_filebuf<char, char_traits<char>> locale basic_ostream<wchar_t, char_traits<wchar_t>> basic_ios<wchar_t, char_traits<wchar_t>> ios_base basic_istream<wchar_t, char_traits<wchar_t>> basic_fstream<char, char_traits<char>> basic_ostream<char, char_traits<char>> basic_iostream<char, char_traits<char>> basic_streambuf<wchar_t, char_traits<wchar_t>> basic_istream<char, char_traits<char>> basic_ios<char, char_traits<char>> 50 51 88 87 86 92 93 91 34 69 57 72 70 65 43 22 67 66 28 61 80 46 39 32 64 25 78 17 12 42 81 31 2 37 71 15 73 9 19 53 4 0 41 59 77 20 62 1 14 5 18 55 60 27 74 26 24 23 85 52 3 10 35 82 38 83 45 13 76 84 16 56 54 11 7 47 63 6 44 95 8 75 30 96 94 33 36 21 97 98 99 68 50 90 49 79 29 58 51 48 40 89 Figure 41: Graph B00-A - circular layout (first prize). 52 92 76 86 80 67 94 72 68 47 81 100 79 61 57 24 32 30 33 39 27 42 22 73 26 63 51 49 82 31 62 25 66 37 71 12 19 9 44 60 97 5 55 77 16 41 91 48 4 40 78 1 50 74 45 85 46 2 0 58 99 34 64 23 90 38 3 6 56 95 43 28 7 53 20 52 36 54 13 15 35 59 29 11 10 14 89 17 18 70 8 75 87 69 21 83 93 96 88 65 84 98 Figure 42: Graph B00-B - circular layout. 3 Green 13 Green 11 Green 1 Green 0 Green 17 Green 9 Green 2 Green 12 Green 81 Green 5 Green 15 Green 14 Green 18 Green 10 Green 16 Green 4 Green 8 Green 7 Green 6 Green 92 Blue 91 Blue 82 Blue 83 Blue 84 Blue 85 Blue 86 Blue 87 Blue 88 Blue 93 Blue 89 Blue 96 Blue 97 Blue 98 Blue 99 Blue 90 Blue 94 Blue 95 Blue 78 Yellow 64 Yellow 25 Yellow 32 Yellow 74 Yellow 26 Yellow 27 Yellow 52 Yellow 55 Yellow 23 Yellow 60 Yellow 62 Yellow 24 Yellow 20 Yellow 77 Yellow 46 Yellow 61 Yellow 80 Yellow 28 Yellow 39 Yellow 34 Yellow 43 Yellow 72 Yellow 22 Yellow 57 Yellow 69 Yellow 70 Yellow 65 Yellow 66 Yellow 67 Yellow 31 Yellow 37 Yellow 42 Yellow 71 Yellow 19 Yellow 41 Yellow 53 Yellow 59 Yellow 73 Yellow 29 Yellow 79 Yellow 40 Yellow 21 Yellow 36 Yellow 48 Yellow 49 Yellow 50 Yellow 51 Yellow 58 Yellow 68 Yellow 44 Yellow 45 Yellow 54 Yellow 75 Yellow 33 Yellow 63 Yellow 56 Yellow 30 Yellow 76 Yellow 47 Yellow 38 Yellow 35 Yellow 53 3 Green 13 Green 11 Green 1 Green 0 Green 17 Green 9 Green 2 Green 12 Green 81 Green 5 Green 15 Green 14 Green 18 Green 10 Green 16 Green 4 Green 8 Green 7 Green 6 Green 92 Blue 91 Blue 82 Blue 83 Blue 84 Blue 85 Blue 86 Blue 87 Blue 88 Blue 93 Blue 89 Blue 96 Blue 97 Blue 98 Blue 99 Blue 90 Blue 94 Blue 95 Blue 78 Yellow 64 Yellow 25 Yellow 32 Yellow 74 Yellow 26 Yellow 27 Yellow 52 Yellow 55 Yellow 23 Yellow 60 Yellow 62 Yellow 24 Yellow 20 Yellow 77 Yellow 46 Yellow 61 Yellow 80 Yellow 28 Yellow 39 Yellow 34 Yellow 43 Yellow 72 Yellow 22 Yellow 57 Yellow 69 Yellow 70 Yellow 65 Yellow 66 Yellow 67 Yellow 31 Yellow 37 Yellow 42 Yellow 71 Yellow 19 Yellow 41 Yellow 53 Yellow 59 Yellow 73 Yellow 29 Yellow 79 Yellow 40 Yellow 21 Yellow 36 Yellow 48 Yellow 49 Yellow 50 Yellow 51 Yellow 58 Yellow 68 Yellow 44 Yellow 45 Yellow 54 Yellow 75 Yellow 33 Yellow 63 Yellow 56 Yellow 30 Yellow 76 Yellow 47 Yellow 38 Yellow 35 Yellow Figure 43: Matrix representation of graph B00-A. 9 Green 16 Green 17 Green 8 Green 11 Green 13 Green 7 Green 6 Green 2 Green 4 Green 5 Green 19 Green 62 Green 12 Green 18 Green 14 Green 1 Green 0 Green 3 Green 20 Green 15 Green 10 Green 66 Blue 76 Blue 86 Blue 92 Blue 94 Blue 67 Blue 72 Blue 80 Blue 68 Blue 82 Blue 63 Blue 73 Blue 81 Blue 100 Blue 79 Blue 97 Blue 74 Blue 77 Blue 78 Blue 91 Blue 85 Blue 71 Blue 99 Blue 90 Blue 64 Blue 95 Blue 69 Blue 70 Blue 75 Blue 83 Blue 87 Blue 89 Blue 93 Blue 96 Blue 84 Blue 65 Blue 88 Blue 98 Blue 21 Yellow 47 Yellow 33 Yellow 55 Yellow 39 Yellow 30 Yellow 57 Yellow 24 Yellow 32 Yellow 51 Yellow 48 Yellow 26 Yellow 22 Yellow 61 Yellow 49 Yellow 31 Yellow 40 Yellow 56 Yellow 25 Yellow 44 Yellow 60 Yellow 37 Yellow 41 Yellow 23 Yellow 34 Yellow 38 Yellow 45 Yellow 46 Yellow 50 Yellow 58 Yellow 52 Yellow 53 Yellow 43 Yellow 36 Yellow 54 Yellow 28 Yellow 35 Yellow 29 Yellow 59 Yellow 42 Yellow 27 Yellow 54 9 Green 16 Green 17 Green 8 Green 11 Green 13 Green 7 Green 6 Green 2 Green 4 Green 5 Green 19 Green 62 Green 12 Green 18 Green 14 Green 1 Green 0 Green 3 Green 20 Green 15 Green 10 Green 66 Blue 76 Blue 86 Blue 92 Blue 94 Blue 67 Blue 72 Blue 80 Blue 68 Blue 82 Blue 63 Blue 73 Blue 81 Blue 100 Blue 79 Blue 97 Blue 74 Blue 77 Blue 78 Blue 91 Blue 85 Blue 71 Blue 99 Blue 90 Blue 64 Blue 95 Blue 69 Blue 70 Blue 75 Blue 83 Blue 87 Blue 89 Blue 93 Blue 96 Blue 84 Blue 65 Blue 88 Blue 98 Blue 21 Yellow 47 Yellow 33 Yellow 55 Yellow 39 Yellow 30 Yellow 57 Yellow 24 Yellow 32 Yellow 51 Yellow 48 Yellow 26 Yellow 22 Yellow 61 Yellow 49 Yellow 31 Yellow 40 Yellow 56 Yellow 25 Yellow 44 Yellow 60 Yellow 37 Yellow 41 Yellow 23 Yellow 34 Yellow 38 Yellow 45 Yellow 46 Yellow 50 Yellow 58 Yellow 52 Yellow 53 Yellow 43 Yellow 36 Yellow 54 Yellow 28 Yellow 35 Yellow 29 Yellow 59 Yellow 42 Yellow 27 Yellow Figure 44: Matrix representation of graph B00-B. 9 Green 16 Green 17 Green 8 Green 11 Green 13 Green 7 Green 6 Green 2 Green 4 Green 5 Green 19 Green 62 Green 12 Green 18 Green 14 Green 1 Green 0 Green 3 Green 20 Green 15 Green 10 Green 66 Blue 76 Blue 86 Blue 92 Blue 94 Blue 67 Blue 72 Blue 80 Blue 68 Blue 82 Blue 63 Blue 73 Blue 81 Blue 100 Blue 79 Blue 97 Blue 74 Blue 77 Blue 78 Blue 91 Blue 85 Blue 71 Blue 99 Blue 90 Blue 64 Blue 95 Blue 69 Blue 70 Blue 75 Blue 83 Blue 87 Blue 89 Blue 93 Blue 96 Blue 84 Blue 65 Blue 88 Blue 98 Blue 21 Yellow 47 Yellow 33 Yellow 55 Yellow 39 Yellow 30 Yellow 57 Yellow 24 Yellow 32 Yellow 51 Yellow 48 Yellow 26 Yellow 22 Yellow 61 Yellow 49 Yellow 31 Yellow 40 Yellow 56 Yellow 25 Yellow 44 Yellow 60 Yellow 37 Yellow 41 Yellow 23 Yellow 34 Yellow 38 Yellow 45 Yellow 46 Yellow 50 Yellow 58 Yellow 52 Yellow 53 Yellow 43 Yellow 36 Yellow 54 Yellow 28 Yellow 35 Yellow 29 Yellow 59 Yellow 42 Yellow 27 Yellow 3 Green 13 Green 11 Green 1 Green 0 Green 17 Green 9 Green 2 Green 12 Green 81 Green 5 Green 15 Green 14 Green 18 Green 10 Green 16 Green 4 Green 8 Green 7 Green 6 Green 92 Blue 91 Blue 82 Blue 83 Blue 84 Blue 85 Blue 86 Blue 87 Blue 88 Blue 93 Blue 89 Blue 96 Blue 97 Blue 98 Blue 99 Blue 90 Blue 94 Blue 95 Blue 78 Yellow 64 Yellow 25 Yellow 32 Yellow 74 Yellow 26 Yellow 27 Yellow 52 Yellow 55 Yellow 23 Yellow 60 Yellow 62 Yellow 24 Yellow 20 Yellow 77 Yellow 46 Yellow 61 Yellow 80 Yellow 28 Yellow 39 Yellow 34 Yellow 43 Yellow 72 Yellow 22 Yellow 57 Yellow 69 Yellow 70 Yellow 65 Yellow 66 Yellow 67 Yellow 31 Yellow 37 Yellow 42 Yellow 71 Yellow 19 Yellow 41 Yellow 53 Yellow 59 Yellow 73 Yellow 29 Yellow 79 Yellow 40 Yellow 21 Yellow 36 Yellow 48 Yellow 49 Yellow 50 Yellow 51 Yellow 58 Yellow 68 Yellow 44 Yellow 45 Yellow 54 Yellow 75 Yellow 33 Yellow 63 Yellow 56 Yellow 30 Yellow 76 Yellow 47 Yellow 38 Yellow 35 Yellow Figure 45: Matrix representation of non empty part of graphs B00-A and B00-B. 55 3 Green 13 Green 11 Green 1 Green 0 Green 17 Green 9 Green 2 Green 12 Green 81 Green 5 Green 15 Green 14 Green 18 Green 10 Green 16 Green 4 Green 8 Green 7 Green 6 Green 92 Blue 91 Blue 82 Blue 83 Blue 84 Blue 85 Blue 86 Blue 87 Blue 88 Blue 93 Blue 89 Blue 96 Blue 97 Blue 98 Blue 99 Blue 90 Blue 94 Blue 95 Blue 78 Yellow 64 Yellow 9 Green 25 Yellow 16Yellow Green 32 17Yellow Green 74 8 26 Green Yellow 11 Green 27 Yellow 13 Green 52 Yellow 7 Green 55 Yellow 6 Green 23 Yellow 2 Yellow Green 60 4 Yellow Green 62 5 Yellow Green 24 19Yellow Green 20 62Yellow Green 77 12Yellow Green 46 18Yellow Green 61 14Yellow Green 80 1 Green 28 Yellow 0 Green 39 Yellow 3 Green 34 Yellow 20Yellow Green 43 15Yellow Green 72 10Yellow Green 22 66Yellow Blue 57 76Yellow Blue 69 86Yellow Blue 70 92Yellow Blue 65 94Yellow Blue 66 67Yellow Blue 67 72 Blue 31 Yellow 80 Blue 37 Yellow 68 Blue 42 Yellow 82 Blue 71 Yellow 63 Blue 19 Yellow 73Yellow Blue 41 81Yellow Blue 53 100Yellow Blue 59 79Yellow Blue 73 97Yellow Blue 29 74Yellow Blue 79 77Yellow Blue 40 78Yellow Blue 21 91Yellow Blue 36 85 Blue 48 Yellow 71 Blue 49 Yellow 99 Blue 50 Yellow 90Yellow Blue 51 64Yellow Blue 58 95Yellow Blue 68 69Yellow Blue 44 70Yellow Blue 45 75Yellow Blue 54 83Yellow Blue 75 87Yellow Blue 33 89 Blue 63 Yellow 93 Blue 56 Yellow 96 Blue 30 Yellow 84 Blue 76 Yellow 65 Blue 47 Yellow 88Yellow Blue 38 98Yellow Blue 35 21 Yellow 47 Yellow 33 Yellow 55 Yellow 39 Yellow 30 Yellow 57 Yellow 24 Yellow 32 Yellow 56 Layouts for Graph Drawing Contest 2001 In 2001 Graph Drawing Conference was helt in Vienna and the contest was organised by Franz Brandenburg. Rules and data are described at: http://www.ads.tuwien.ac.at/gd2001/ Graph A01 ¶ÂÁö In a given set of units ¶ Ä Ä (articles, books, works, . . . ) we introduce a ¹ºT»bºT¼k½ relation ¾À¿ Ä ¾ÆÅÇÈÅ cites Ä Ä Ä Ä isÄ usually irreflexive, Ê É ¢ ¶ ¤ ¾ ¦ . A citing relation which determines a citation network ¶Ë´Ì ¾ , and (almost) acyclic, Ê @¶ ÊÍ IN ´Ì ¾8Î . The citation network is standardized by adding, if necessary, artificial source vertex and sink or terminal vertex » ¢¤ ¦ and the arc » (see figure). An approach to the analysis of citation network is to determine for each unit / arc its importance or weight. These values are used afterwards to determine the essential substructures in the network. Hummon and Doreian (1989, 1990) [1, 2, 3] proposed three methods of assigning weights IR to arcs: Ï ´ ¾@Ð Ñ 57 Ï ¢ £Ò¤N¥¦ © ¾ÔÓ ¢ £¦ ©1ÕH© ¾ ¢ ¥§¦ © ¡3¢ £Ò¤N¥¦Ö ª ¢ £Ò¤N¥§¦ , where ª ¢ £Ò¤N¥¦ denotes the number of Paths count method: Ï ¢ £Ò¤N¥¦ different paths from ׳ØoÙ¾ to ׳Ú1Ûܾ (or from to » ) through the arc ¢ £ ¤N¥§¦ß ªÖà ¢ £Ò¤N¥§¦ , where ªÖà ¢ £Ò¤N¥§¦ equals to ª ¢ £Ò¤N¥¦ from paths SPLC method: ÏÞÝ ¢É¶¤ ¾ à ¦ , ¾ à ´¢ ¾ ¬á± ·1¦âÁ¢É¶äãK± ¤ » ·1¦ count method over the network The last two methods are efficiently (Batagelj, 1991, 1994) [4] implemented in Pajek ¢ ¥¦ denotes the number and can be applied also on (very) large acyclic networks. Let ª Ó ¥ ¢ ¥§¦ denotes the number of different paths from ¥ to of different paths from to , and ª ¢ Ò £ N ¤ ¥ u ¦ ¢ £ ¦ ¢ ¥ : ¦ ¤ ¢ £Ò¤N¥§¦Ü ¾ . ª Ó Õª » . Then ª ª and ªÖà are flows in the network since they obey the Kirchoff’s node law: ¥ ¢É¶¤ ¾ ¦ in standard form it holds For every node in a citation network incoming flow outgoing flow ¢¤ ¦ Therefore the total flow through the citation network equals ª » . This gives us a natural way to normalize the weights ¢Ï £Ò¤N¥¦u ª ¢ ¢ £Ò¤ ¤N¥¦ ¦ å æç Ï ¢ £ ¤N¥§¦ ç²è ª » If é is a minimal cut-set it also holds ê ¢ £Ò¤N¥¦ è Ï ëì-í î:ïZðñ NPCC method: We can assign weights also to vertices ¢Ï ¥¦uáª Ó ¢ ¥§¦ ¢ Õ ¤ ª ¦ ¢ ¥§¦ ª » References Layouts of graph A In graph A the relation is the reverse of the citing relation. The original graph A has 311 vertices. It has 6 weak components. Searching for strong components (testing acyclicity) it turns out that the graph A is not acyclic. A large strong component was generated by an erroneous arc ( GD94/143 Eades, GD98/423 Eades). After reversing it 4 small strong components remained, corresponding to mutual references GD94/286 Garg, GD94/298 Papakostas , GD94/328 Di Battista, GD94/340 Bose, GD94/352 ElGindy , GD95/8 Alt, GD95/234 Fekete and GD95/140 Chandramouli, GD95/300 Heath . To obtain an acyclic graph, required by citations analysis method, we applied the following ’preprint’ transformation: · ± · ± ± · · ± 58 Each paper from a strong component is duplicated with its ’preprint’ version. The papers inside strong component cite preprints. The pictures were exported as nested partitions into SVG format that allows interactive display of different slices – subgraphs induced by arcs with weights larger than a threshold value. These pictures are available at http://vlado.fmf.uni-lj.si/pub/GD/GD01.htm. In the paper form we can present only some snapshots. The first picture displays complete network after ’preprint’ transformations (320 vertices). The vertices are put in layers (vertical position and color of vertices) according to the years of publication. The placement of vertices inside the layer was determined by local optimization. The width and the color density of an arc and the size of a vertex are proportional to their citation weights. The second and the third picture display the main parts (slices) of the citation network at threshold values 0.02 and 0.05. The red arcs belong to the ’main path’. 59 Figure 46: Graph A – complete graph. 60 Figure 47: Graph A – level 0.02. 61 Figure 48: Graph A – level 0.05. 62 Graph B To obtain the ’central symmetric’ picture of graph B energy drawing was used, followed by manual grid positioning of vertices. To save the space the lower part of the picture was manually mirrored across the vertical axis. T8- T0+ T9+ +90 pos P+90 T8+ turn right turn left T8+ T9- T9+ +22 - +90 intermediate P-22 T9+ turn right equalizer +22 pos T9+ 0 - +22 intermediate T8- T9+ turn right equalizer 0 pos T8+ P+22 P0 T9- T8+ turn left equalizer T9- P0 0 - -22 intermediate T8T8+ T8+ turn left equalizer P-22 -22 pos T8+ -60 pos T9+ T8+ P-90 T9+ turn right turn left P-60 -90 pos T8+ T9+ T9+ T8- P-22 T9+ -22 - -90 intermediate T9- Figure 49: Graph B – ’central symmetric’. Graph C Graph C is an acyclic directed graph. Such graphs can be topologically sorted. The corresponding adjacency matrix has zero lower triangle and diagonal. Since the graph is rather dense we decided to use the matrix representation to visualize the graph structure. Layers are represented by blocks divided by blue lines. 63 T8- turn left T8+ T0+ T9- T9+ +22 - +90 intermediate P+90 P-22 +90 pos T8+ T9+ turn right T9+ turn right equalizer +22 pos T9+ P0 0 - +22 intermediate T8- P+22 T9- T8+ T8+ turn left equalizer 0 pos turn right equalizer T9+ 0 - -22 intermediate T8T8+ P-22 turn left equalizer T8+ -22 pos T9+ P-90 P-60 T8+ T8+ -90 pos -22 - -90 intermediate -60 pos T9+ T8+ turn left T8- T9- P-22 P0 T9+ T9+ T9+ T9- Figure 50: Graph B – mirror. turn right 64 Pajek - shadow [0.00,1.00] RGC LGN V1 V2 V3 VP PIP V3A MDP MIP PO MT V4t V4 VOT VIP LIP MST FST PIT 7a FEF STPp CIT 46 STPa AIT OFC 36 TF TH ER HC RGC LGN V1 V2 V3 VP PIP V3A MDP MIP PO MT V4t V4 VOT VIP LIP MST FST PIT 7a FEF STPp CIT 46 STPa AIT OFC 36 TF TH ER HC Figure 51: Graph C – matrix representation. REFERENCES 65 References [1] Hummon N.P., Doreian P. (1989): Connectivity in a Citation Network: The Development of DNA Theory. Social Networks, 11 39-63. [2] Hummon N.P., Doreian P. (1990): Computational Methods for Social Network Analysis. Social Networks, 12 273-288. [3] Hummon N.P., Doreian P., Freeman L.C. (1990): Analyzing the Structure of the Centrality-Productivity Literature Created Between 1948 and 1979. Knowledge: Creation, Diffusion, Utilization, 11(4), 459-480. [4] Batagelj V. (1991): An Efficient Algorithm for Citation Networks Analysis. Presented at EASST’94, Budapest, Hungary, August 28-31, 1994. First presented at the Seminar on social networks. University of Pittsburgh, January 1991. [5] Batagelj V., Doreian P., and Ferligoj A. (1992): An Optimizational Approach to Regular Equivalence. Social Networks 14, 121-135. [6] Brandenburg, F. J. (1996): Graph Drawing. Proceedings of Symposium on Graph Drawing, GD95, Passau, Germany, September 1995, Springer-Verlag, Lecture Notes in Computer Science, vol. 1027, 224-233. [7] DiBattista, G. (1998): Graph Drawing. Proceedings of Symposium on Graph Drawing, GD97, Rome, Italy, September 1997, Springer-Verlag, Lecture Notes in Computer Science, vol. 1353, 438-445. [8] Kratochvil, J. (1999): Graph Drawing. Proceedings of Symposium on Graph Drawing, GD99, Stirin Castle, Czeck Republic. September 15-19, 1999. Springer-Verlag, Lecture Notes in Computer Science, vol. 1731, 400-409. [9] Marks, J. (2001): Graph Drawing. Proceedings of the 8th Symposium on Graph Drawing, GD00, Colonial Williamsburg, USA. September 20-23, 2000. Springer-Verlag, Lecture Notes in Computer Science, vol. 1984, 410-418. [10] North, S. (1997): Graph Drawing. Proceedings of Symposium on Graph Drawing, GD96, Berkeley, California, USA, September 1996, Springer-Verlag, Lecture Notes in Computer Science, vol. 1190, 129-138.
Similar documents
Banco Santander (Brasil)
initiatives (Forums, Campaigns Library, Benchmarking, etc.)
More information