ãœãŒã·ã£ã«ãããã¯ãŒã¯åæã¯ããããã¯ãŒã¯çè«ã䜿çšããŠããŸããŸãªã·ã¹ãã ãæ¢çŽ¢ããããã»ã¹ã§ããèšå€§ãªæ°ã®æ¢åã®ãããã¯ãŒã¯ïŒç€ŸäŒçãçµæžçãçç©åŠçïŒãæ®éçãªç¹æ§ãæã£ãŠããããšãæããã«ãªã£ããšããããã¯æ£ç¢ºã«åºã䜿çšããå§ããŸããã1ã€ã®ã¿ã€ããç ç©¶ãããšãä»ã®ãããã¯ãŒã¯ã®æ§é ãçè§£ãããããããäºæž¬ãè¡ãæ¹æ³ãåŠã¶ããšãã§ããŸãã
ãã¹ãŠã®ãããã¯ãŒã¯ã¯ãåã ã®åå è ïŒãããã¯ãŒã¯å ã®äººãŸãã¯ç©ïŒãšãããã®éã®é¢ä¿ã§æ§æãããŸãããããã¯ãŒã¯ã¯ãã°ã©ãïŒãããã®ãã€ã³ãéã®æ¥ç¶ã衚ãå€ãã®ãã€ã³ããšã©ã€ã³ã§æ§æãããæ§é ïŒã䜿çšããŠèŠèŠåãããããšããããããŸããåå è ã¯ãããã¯ãŒã¯ã®ããŒããšããŠè¡šãããåå è ã®é¢ä¿ã¯ããããçµã¶ç·ãšããŠè¡šãããŸãããã®ãããªèŠèŠåã¯ããããã¯ãŒã¯ã®å®æ§çããã³å®éçè©äŸ¡ãååŸããã®ã«åœ¹ç«ã¡ãŸãã
å³ïŒ 1.å€åœçºæ¿åžå Žã圢æããéè¡éã®è³éå転çãç€ºãæ¹åã°ã©ãïŒ1ïŒã EUã®éè¡ã¯èµ€ã§ãåç±³ã¯éã§ããã®ä»ã®åœã¯ç·ã§ããŒã¯ãããŠããŸãã
å³ïŒ 2. 2010ã2014幎ã®ãã³ããŒã¯ã®ç£æ»ããŒãããŒã®ååã瀺ãã°ã©ãïŒ2ïŒ
ãœãŒã·ã£ã«ãããã¯ãŒã¯ã®åæã䜿çšããŠãè³æãšæ å ±ã®äž¡æ¹ã®ãªãœãŒã¹ã®ããŸããŸãªçžäºäœçšãšäº€æããã»ã¹ãåæããããšãã§ããŸããããšãã°ãéè¡ã®ã¯ã©ã€ã¢ã³ãéã®ãã©ã³ã¶ã¯ã·ã§ã³ã®ãããã¯ãŒã¯ïŒããŒããéè¡ã®ã¯ã©ã€ã¢ã³ãã§ããããšããžããããã®éã®è»¢éã§ããå ŽåïŒãåæããããšã«ãããäžæ£ãªãã©ã³ã¶ã¯ã·ã§ã³ã«é¢äžãã人ã®èŒªãç¹å®ããããéè¡ã®åŸæ¥å¡ã«ããå éšèŠå¶ã®éåãç¹å®ãããããããšãã§ããŸãã
ãŸããïŒåŸæ¥å¡éã®ããŸããŸãªã¿ã€ãã®ã³ãã¥ãã±ãŒã·ã§ã³ã®äŸã䜿çšããŠïŒäœæ¥é¢ä¿ã®ãããã¯ãŒã¯ãæ§ç¯ããããšãã§ããŸããããã¯ãçµç¹ã®ç€ŸäŒæ§é ãšãã®æ§é ã«ãããååŸæ¥å¡ã®äœçœ®ãçè§£ããã®ã«åœ¹ç«ã¡ãŸããååŸæ¥å¡ã®ã³ãã¥ãã±ãŒã·ã§ã³ã®çš®é¡ã«é¢ããããŒã¿ãããã°ããªãŒããŒã·ãããã¡ã³ã¿ãªã³ã°ãååãªã©ã®ç¹æ§ã圌ã®ãã£ãªã¢ã«ã©ã®ããã«åœ±é¿ããããåæããåŸãããç¥èã«åºã¥ããŠãã£ãªã¢ç®æšã決å®ããããããéæããããã®ãã¬ãŒãã³ã°ããã°ã©ã ãææ¡ããããšãã§ããŸãã
ããã«ããããã¯ãŒã¯ã®äŸã䜿çšããŠã€ãã³ããäºæž¬ã§ããŸããããšãã°ããœãããŠã§ã¢é害ã®å¯èœæ§ãæšå®ããã¢ãã«ãããããã®äžã«ã¯äººãäºæž¬ã®ãœãŒã¹ãšèŠãªããã®ããããŸããçµå±ã®ãšããããªãªãŒã¹åã«è£œåãéçºããŠãã¹ãããã®ã¯äººã§ãããããã®çžäºäœçšã¯ãããã¯ãŒã¯ã圢æããŸããéçºè ãããŒããšèŠãªãããšãã§ããéçºè ãåããªãªãŒã¹ã®åããã¡ã€ã«ã§ããããã¯ãŒã¯ã®ãšããžãšããŠäžç·ã«äœæ¥ãããã©ãããèããããšãã§ããŸããçžäºäœçšãšä»¥åã®é害ã«é¢ããæ å ±ãçè§£ãããšãæçµè£œåã®ä¿¡é Œæ§ã«ã€ããŠå€ãã®ããšãããããé害ãçºçããå¯èœæ§ãæãé«ããã¡ã€ã«ãææãããŸãã
ããã§ã¯ããœãŒã·ã£ã«ãããã¯ãŒã¯ã®åæãå®éã«é©çšããŠã¿ãŸãããããããè¡ãã«ã¯ãPythonããã°ã©ãã³ã°èšèªãã€ãŸãã°ã©ããæäœããããã®networkxã©ã€ãã©ãªãèŠèŠåã®ããã®matplotlibã©ã€ãã©ãªãããã³ãããã¯ãŒã¯å ã®ã³ãã¥ããã£ã匷調衚瀺ããããã®ã³ãã¥ããã£ã©ã€ãã©ãªã䜿çšããŸããããããã€ã³ããŒãããŸãããïŒ
1. import community
2. import networkx as nx
3. import matplotlib.cm as cm
4. import matplotlib.pyplot as plt
1.ããŒã¿ãã€ã³ããŒãããŠã°ã©ãã«å€æãã
ããŒã¿ã»ãããšããŠãç ç©¶æ©é¢ã®ã¡ã³ããŒéã®ãã¹ãŠã®éåä¿¡ã¡ãŒã«ã«é¢ããå¿åæ å ±ãå«ãŸããŠããããšãŒãããã®å€§èŠæš¡ãªå€§åŠããã®ã¡ãŒã«éä¿¡ãåãäžããŸãããïŒãªã³ã¯ïŒãããŒã¿ã»ããã«ã¯ãåè¡ã«çžäºã«é¢é£ããããŒãã®ãã¢ããªã¹ããããŠããtxtãã¡ã€ã«ãå«ãŸããŠããŸãã
1. G = nx.read_edgelist('email-Eu-core.txt', create_using=nx.DiGraph())
2. print(' : {}'.format(G.number_of_nodes()))
3. print(' : {}'.format(G. number_of_edges()))
4. print(' : {}'.format(round(G.number_of_edges() / float(G.number_of_nodes()), 4)))
: 1005
: 25571
: 25.4438
äžèšã®ã³ãŒãã§ã¯ãããŒã¿ã»ãããã€ã³ããŒããããã°ã©ãã«å€æãããŠããŸããæ¬¡ã«ãã°ã©ãã®äž»ãªãã©ã¡ãŒã¿ã§ããããŒãã®æ°ããšããžãããã³ã°ã©ãå ã®ããŒãã®é£æ¥ããŒãã®å¹³åæ°ãé æ¬¡æšå®ããŸãããæåŸã®ãã©ã¡ãŒã¿ãŒã¯ãããŒããäºãã«ã©ãã ã坿¥ã«æ¥ç¶ãããŠããããåæ ããŸãã
2.ã°ã©ãã®äž»ãªç¹åŸŽ
ç¹å®ã®åã°ã©ããã©ã®ããã«æäœã§ããããçè§£ããã«ã¯ããŸãã°ã©ããã©ã®ããã«æ©èœããããçè§£ããå¿ èŠããããŸããã°ã©ãã®æ§é ãçè§£ããããã®ç¹åŸŽãç°¡åã«èŠãŠã¿ãŸãããã
ãŸããæ¥ç¶æ§ãšæ¹åæ§ã®æŠå¿µãæ€èšããŸããã°ã©ãå ã®ããŒãã®åãã¢ãçžäºæ¥ç¶ãããŠããå Žåãã°ã©ãã¯æ¥ç¶ãããŠãããšåŒã°ããŸããã©ã®ããŒãããã§ããä»ã®ããŒãã«ã¢ã¯ã»ã¹ã§ããŸããã°ã©ããåæãããŠããå Žåã¯ãæå€§ã«æ¥ç¶ããããµãã°ã©ãïŒã³ã³ããŒãã³ããšåŒã°ããïŒã«åå²ã§ããŸãããŸããã°ã©ãã¯æåããã³ç¡åã«ããããšãã§ããŸããããã¯ã2人ã®åå è éã®ãªã³ã¯ã®æ¹åæ§ã®ååšã«ãã£ãŠæ±ºå®ãããŸããæåãããã¯ãŒã¯ã®äžäŸã¯ãéè¡ã®é¡§å®¢éã®ãã©ã³ã¶ã¯ã·ã§ã³ã§ãããå顧客ã¯å ¥éãšåºéã®äž¡æ¹ãåãåãããšãã§ããŸãã
äžè¬çãªå Žåãæåã°ã©ãã§ã¯ãæ¥ç¶ã¯çžäºçã§ã¯ãããŸããããããã£ãŠãæåã°ã©ãã§ã¯ãæ¥ç¶ã®æŠå¿µã§ã¯ãªããåŒ±ãæ¥ç¶ãšåŒ·ãæ¥ç¶ã®ã³ã³ããŒãã³ãã®æŠå¿µãåºå¥ãããŸããæ¹åãç¡èŠãããšã°ã©ããæ¥ç¶ãããå Žåãã³ã³ããŒãã³ãã¯æ¥ç¶ã匱ããšèŠãªãããŸãã匷åãªæ¥ç¶ã®ã³ã³ããŒãã³ãã¯ããã®ãã¹ãŠã®é ç¹ãçžäºã«å°éå¯èœã§ããå Žåã«ãã®ãããªãã®ã«ãªãå¯èœæ§ããããŸããã¡ãŒã«ããŒã¿ã»ããã®ã°ã©ãã®æ§é ãèŠãŠã¿ãŸãããã
1. if nx.is_directed(G):
2. if nx.is_weakly_connected(G):
3. print(' .')
4. else:
5. print(' .')
6. else:
7. if nx.is_connected(G):
8. print(' .')
9. else:
10. print(' .')
ã°ã©ãã¯æ¹åæ§ããããããã€ãã®ã³ã³ããŒãã³ãã§æ§æãããŠããŸãã
ããã§ã¯ãã°ã©ãã®æ¹åæ§ãšæ¥ç¶æ§ã確èªããããŒã¿ã»ããã®ã°ã©ããæ¹åä»ããããŠãããããã€ãã®åæãããã³ã³ããŒãã³ããå«ãŸããŠããããšã確èªããŸãããåŒ·ãæ¥ç¶ãšåŒ±ãæ¥ç¶ã®æå€§ã®ã³ã³ããŒãã³ãã詳ããèŠãŠã¿ãŸãããã
1. G_weak = G.subgraph(max(nx.weakly_connected_components(G), key=len))
2. print(' : {}'.format(G_weak.number_of_nodes()))
3. print(' : {}'.format(G_weak.number_of_edges()))
4. print(' : {}'.format(round(G_weak.number_of_edges() / float(G_weak.number_of_nodes()), 4)))
5.
6. G_strong = G.subgraph(max(nx.strongly_connected_components(G), key=len))
7. print(' : {}'.format(G_strong.number_of_nodes()))
8. print(' : {}'.format(G_strong.number_of_edges()))
9. print(' : {}'.format(round(G_strong.number_of_edges() / float(G_strong.number_of_nodes()), 4)))
: 986
: 25552
: 25.9148
: 803
: 24729
: 30.7958
ããã§ãåŒ±ãæ¥ç¶ãããã³ã³ããŒãã³ããšããã«å«ãŸããåŒ·ãæ¥ç¶ãããã³ã³ããŒãã³ãã®äž»ãªç¹æ§ãååŸããŸããããã®æ®µéã§ã©ã®ãããªçµè«ãå°ãåºãããšãã§ãããèŠãŠã¿ãŸãããã 1005人ã®åå è ã®ãã¡ã986人ãçžäºã«éä¿¡ãããã®ãã¡183人ãäžæ¹çã«ä»ã®äººã«ã¡ãŒã«ãéä¿¡ãã803人ã ããåæ¹åã®éä¿¡ãç¶æããŠããããšãããããŸãã 823ä»¶ã®ã±ãŒã¹ã§ãé»åã¡ãŒã«ãä»ããéä¿¡ã®ç¢ºç«ã«å€±æããŸããããŸããæãã¢ã¯ãã£ããªåå è ïŒåŒ·åãªæ¥ç¶ã³ã³ããŒãã³ãã«å«ãŸããïŒãå¹³å30人ãšéä¿¡ããŠããããšãããããŸãã
ã°ã©ãã®æ§é ãå®çŸ©ããã°ã©ãã®ä»ã®éèŠãªç¹æ§ãèŠãŠã¿ãŸããããããŒãéã®é¢ä¿ãæ¥ç¶ã®ååšãã®ãã®ãåæ ããŠããã ãã§ãªãããã®æ¥ç¶ã®åŒ·ããåæ ããŠç¹å®ã®éã¿ãåæ ããŠããå Žåãã°ã©ãã¯éã¿ä»ããããŠãããšèŠãªãããŸããé»åã¡ãŒã«ã¡ãã»ãŒãžãå«ãããŒã¿ã»ããã¯ãéä¿¡ã®äºå®ã®ã¿ãèæ ®ããéä¿¡ãããæåã®æ°ã¯èæ ®ããªããããéã¿ä»ããããŠããŸããã
ããã«ãããŒããšãªã³ã¯ã¯ãååèãäºåèããŸãã¯ãã«ãã¬ãã«ã®ããŸããŸãªã¿ã€ãã®ãããã¯ãŒã¯ãäœæã§ããŸããååèãããã¯ãŒã¯ã¯ã1ã€ã®ã¿ã€ãã®åå è ãšãããã®éã®æ¥ç¶ã§æ§æãããŸããäºè éãããã¯ãŒã¯ã¯ã2ã€ã®ç°ãªãã¿ã€ãã®åå è ã§æ§æãããäžæ¹ã®ã¿ã€ãã®ããŒãã¯ããäžæ¹ã®ã¿ã€ãã«ã®ã¿é¢é£ä»ããããŸãããã«ãã¬ãã«ãããã¯ãŒã¯ã«ã2çš®é¡ã®åå è ãå«ãŸããŸããããªã³ã¯ã¯ãç°ãªãçš®é¡ã®åå è ãšåãçš®é¡ã®åå è ã®äž¡æ¹ãæ¥ç¶ã§ããŸãïŒããšãã°ããããŒãžã£ãŒéã®é¢ä¿ããããžã§ã¯ãéã®é¢ä¿ïŒãç§ãã¡ãç ç©¶ã®ããã«åã£ãããŒã¿ã»ããã¯ã1ã€ã®ã¿ã€ãã®åå è ãšãããã®éã®æ¥ç¶ã®ã¿ã§æ§æãããŠãããããååèã®ãããã¯ãŒã¯ã§ãã
3.ã°ã©ãã®èŠèŠå
次ã«ãååŸããããŒã¿ã»ãããèŠèŠåããŠã¿ãŸãããããã®ããã«ã¯ããã§ã«äžã§ã€ã³ããŒãããmatplotlibã©ã€ãã©ãªãå¿ èŠã§ãã
1. plt.figure(figsize=(15, 15))
2. plt.title('E-mails')
3. nx.draw(G, node_size=5)
4. plt.show()
æåã®è¡ã¯ãå°æ¥ã®ç»åã®ãµã€ãºãèšå®ããç¹å®ã®ååãå²ãåœãŠãããŸããæç»é¢æ°ã®3è¡ç®ã¯ã°ã©ããééããããŒãã®ãµã€ãºãæå®ããŸãããã®åŸãã°ã©ããç»é¢ã«è¡šç€ºãããŸãããããèŠãŠã¿ãŸãããïŒ
å³ã 3.ç ç©¶æ©é¢ã®ã¡ã³ããŒéã®ãã¹ãŠã®åä¿¡ããã³éä¿¡é»åã¡ãŒã«ã«é¢ããæ å ±ãšã®ãŠãŒã¶ãŒã€ã³ã¿ã©ã¯ã·ã§ã³ã®ã°ã©ãã
çµæã®ã°ã©ãã§ã¯ãä»ã®éä¿¡åå è ãšæ¥ç¶ãããŠããªããã€ã³ããããã€ãããããšãããããŸãããããã®äººã ã¯ãä»ã®åå è ãšã¯é¢ä¿ããªããèªåãã¡ã ãã«æçŽãéã£ãã®ã§ãã°ã©ãã«èŒããŸããããŸããåšèŸºã«ã¯ãããã€ãã®çä¿¡æ¥ç¶ã«ãã£ãŠã°ã©ãã®æ®ãã®éšåã«æ¥ç¶ãããŠãããã€ã³ããããã€ãããããšã«æ°ä»ãã§ãããããããã¯ãã°ã©ãã®åŒ±ãæ¥ç¶ãããã³ã³ããŒãã³ãã«åé¡ãããããåŒ·ãæ¥ç¶ãããã³ã³ããŒãã³ãã«ã¯åé¡ãããªãã£ãåå è ã§ãã
匷ãã€ãªããã®èŠçŽ ãã€ãŸãç ç©¶æ©é¢ã®ä»ã®ã¡ã³ããŒãšåæ¹åã®ã³ãã¥ãã±ãŒã·ã§ã³ããšã£ãŠãã人ã ã瀺ãã°ã©ããèŠãŠã¿ãŸããã
ã4.ç ç©¶æ©é¢ã®ã¡ã³ããŒéã®ãã¹ãŠã®éåä¿¡ã¡ãŒã«ã«é¢ããæ å ±ãšã®åŒ·åãªæ¥ç¶ã®ã³ã³ããŒãã³ã..ã
4.çµã³ç®ã®çšåºŠãšçµã³ç®ã®çšåºŠã®ååž
ã°ã©ãã®æ§é ãããããèŠèŠåã§ããããã«ãªã£ãã®ã§ãããã«è©³çްãªåæã«ç§»ããŸããããã°ã©ãã®åããŒãã«ã¯æ¬¡æ°ïŒãã®ããŒãã®æãè¿ã飿¥ããŒãã®æ°ïŒããããŸããæåãããã¯ãŒã¯ã§ã¯ãå ¥å£ã®çšåºŠïŒããŒããžã®çä¿¡æ¥ç¶ã®æ°ïŒãšåºå£ã®çšåºŠïŒããŒãããã®çºä¿¡æ¥ç¶ã®æ°ïŒã®äž¡æ¹ãåºå¥ã§ããŸããã°ã©ãã®åããŒãã®æ¬¡æ°ãèšç®ãããšãããŒãã®æ¬¡æ°ã®ååžã決å®ã§ããŸããã¡ãŒã«ã°ã©ããèŠãŠã¿ãŸãããã
1. degree = dict(G.degree())
2. degree_values = sorted(set(degree.values()))
3. hist = [list(degree.values()).count(x) for x in degree_values]
4. plt.figure(figsize=(10, 10))
5. plt.plot(degree_values, hist, 'ro-')
6. plt.legend(['Degree'])
7. plt.xlabel('Degree')
8. plt.ylabel('Number of nodes')
9. plt.show()
å³ïŒ5.ç ç©¶æ©é¢ã®ã¡ã³ããŒéã®ãã¹ãŠã®éåä¿¡é»åã¡ãŒã«ã«é¢ããæ å ±ãå«ãã°ã©ãå ã®åºŠæ°ã®ååž
çµæã®ã°ã©ãã«ã¯ãããŒãã®åºŠæ°ã®ååžã衚瀺ãããŸãã倿°ã®ããŒãã¯é£æ¥ããŒããšã®æ¥ç¶ãã»ãšãã©ãããŸããããä»ã®ããŒããšã®æ¥ç¶ã倿°ãã倧ããªããŒãã¯å°æ°ã§ããåå è ã¯èšå€§ã§ãããã®åŸåã¯é é»ã®é»åæ³åãšåŒã°ããå€§èŠæš¡ãªãããã¯ãŒã¯ã§ã¯éåžžã«äžè¬çã§ãããã®æ³åŸã¯ãããŸããŸãªéœåžã®äººå£ã®ååžãã€ã³ã¿ãŒãããäžã®ãµã€ãã®ã©ã³ãã³ã°ãããã«ã¯äººã ã®éã®å¯ã®ååžã説æããããšãã§ããŸãã
5.ã°ã©ãã®ãã¹ãçŽåŸãå¹³åè·é¢
次ã«ãã°ã©ãã®ã¡ã³ããŒãã©ã®çšåºŠæ¥ç¶ãããŠãããã確èªããŸãããããŸããããŸããŸãªã¿ã€ãã®ããŒãééã«ã€ããŠèª¬æããŸãã
ããŒããæ¥ç¶ãããšããžã®ã·ãŒã±ã³ã¹ã¯ããã¹ãšåŒã°ããŸããã»ãšãã©ã®å Žåãç ç©¶ã§ã¯åçŽãªãã¹ãã€ãŸããµã€ã¯ã«ãšç¹°ãè¿ãããŒãã®ãªããã¹ãèæ ®ãããŸãã 2ã€ã®ããŒãéã®æçãã¹ã¯ã枬å°è·é¢ãšåŒã°ããŸããã°ã©ãã®æé·ã®æçãã¹ã¯çŽåŸãšåŒã°ããŸãããåå·®ã«éåžžã«ææã§ãïŒæ°çŸäžãã«ã®ã°ã©ãã®1ã€ã®ãã§ãŒã³ãçŽåŸã倿Žããå¯èœæ§ããããŸãïŒãæåã°ã©ãã§ã¯ãçŽåŸã®æŠå¿µã¯ã匷åãªæ¥ç¶ã®ã³ã³ããŒãã³ãã«ã®ã¿äœ¿çšã§ããŸããçŽåŸãèšç®ããã«ã¯ãããŒãã®ãã¢ããšã«ããŒãéã«ãã¹ãååšããå¿ èŠãããããã§ããç¡åã°ã©ãã§ã¯ãæ€èšäžã®ã³ã³ããŒãã³ããæ¥ç¶ãããŠããã°ååã§ãã
ãã1ã€ã®éåžžã«æçãªç¹æ§ã¯ãããŒãéã®å¹³åè·é¢ã§ããããã¯ãã°ã©ãå ã®ãã¹ãŠã®æçãã¹ã®å¹³åå€ãååŸããããšã§ååŸã§ããŸããå¹³åè·é¢ã¯ã°ã©ãã®æ§é ã«ãã£ãŠæ±ºãŸããŸããã°ã©ãããã§ãŒã³ã®åœ¢ã§äœæãããŠããå Žåãã°ã©ãã¯å€§ãããªããŸãããããŒããæ¥ç¶ãããŠããã»ã©ãå¹³åè·é¢ã¯å°ãããªããŸããå¹³åè·é¢ã¯ãåŒ·ãæ¥ç¶ãããã³ã³ããŒãã³ããšåŒ±ãæ¥ç¶ãããã³ã³ããŒãã³ãã®äž¡æ¹ã«ã€ããŠèšç®ã§ããŸãã
1. print (': ', nx.diameter(G_strong))
2. print (' : ', nx.average_shortest_path_length(G_strong))
3. print (' : ', nx.average_shortest_path_length(G_weak))
: 6
: 2.5474824768713336
: 2.164486568301397
çµæãèŠãŠã¿ãŸãããããã®å Žåã®çŽåŸã¯ã2人ã®èŠç¥ãã¬äººã®éã®æå€§è·é¢ã瀺ããŠããŸããããã§ã¯ã6åã®ãã³ãã·ã§ã€ã¯ã®ããç¥ãããçè«ã®ããã«ããã®è·é¢ã¯6ã§ããã³ã³ããŒãã³ãã®å¹³åè·é¢ãå°ãããå¹³åããŠ2åã®ããã³ãã·ã§ã€ã¯ãã§2人ã®èŠç¥ãã¬äººã«ååã§ããããã§ãè峿·±ãçŸè±¡ãèŠãããŸããåŒ·ãæ¥ç¶ãããã³ã³ããŒãã³ãã®å¹³åè·é¢ã¯ãåŒ±ãæ¥ç¶ãããã³ã³ããŒãã³ãããããããã«çããªã£ãŠããŸããããã¯ãçµåã®æ¹åãåŒ±ãæ¥ç¶ãããã³ã³ããŒãã³ãã«å¯ŸããŠèæ ®ãããŠããªããšããäºå®ã«ãã£ãŠèª¬æã§ããŸãïŒãã®ååšã®äºå®ã®ã¿ïŒããã®ããã匱ãã³ã³ããŒãã³ãã®æ¥ç¶ã¯ã匷ãã³ã³ããŒãã³ãã«ã¯ååšããªãã£ãå Žæã«è¡šç€ºãããŸãã
6.ã³ãã¥ããã£ã®ã¯ã©ã¹ã¿ãªã³ã°ãšå²ãåœãŠ
åå è éã®è·é¢ãææ¡ããããã°ã©ãã®åå è ãäºãã«ã©ã®ããã«æ¥ç¶ãããŠããããåæ ããä»ã®çŸè±¡ãã€ãŸãã¯ã©ã¹ã¿ãªã³ã°ãšã³ãã¥ããã£ã«ç§»ããŸãããã
ã¯ã©ã¹ã¿ãŒä¿æ°ã¯ã3çªç®ã®èŠçŽ ãä»ããŠæ¥ç¶ãããŠããã°ã©ãã®2ã€ã®èŠçŽ ããé«ã確çã§çžäºã«æ¥ç¶ãããŠããããšã瀺ããŠããŸãããªã³ã¯ãããŠããªãå Žåã§ããå°æ¥ãªã³ã¯ãããå¯èœæ§ã¯ãã©ã³ãã ã«ååŸãããä»ã®2ã€ã®ããŒããããã¯ããã«é«ããªããŸããã¯ã©ã¹ã¿ãªã³ã°ãŸãã¯ãã©ã³ãžãã£ããã£ãšåŒã°ãããã®çŸè±¡ã¯ããœãŒã·ã£ã«ã°ã©ãã§ã¯éåžžã«äžè¬çã§ãã
é«åºŠãªã¯ã©ã¹ã¿ãªã³ã°ãåããã°ã©ãã¯ã倿°ã®æ¥ç¶ãããããªãã¬ããïŒ3ã€ã®ããŒããçžäºã«æ¥ç¶ãããŠããïŒã®ååšãç¹åŸŽãšããŠããŸãããããã¯ããã®ãããªäžè§åœ¢ã®æ°ãéåžžã«å€ãå€ãã®ãœãŒã·ã£ã«ãããã¯ãŒã¯ã®æ§æèŠçŽ ã§ããå€ãã®å Žåãäžè§åœ¢ã¯çºçããŸããããã³ãã¥ããã£ãšåŒã°ããã¯ã©ã¹ã¿ãŒåœ¢æå šäœãçºçããŸãããããã¯ãã°ã©ãã®ä»ã®éšåãããçžäºã«å¯æ¥ã«é¢é£ããŠããŸãã
åŒ±ãæ¥ç¶ãããã³ã³ããŒãã³ãã®ã¯ã©ã¹ã¿ãªã³ã°ãšã¯ã©ã¹ã¿ãŒä¿æ°ãèŠãŠã¿ãŸãããã
1. print (': ', nx.transitivity(G_strong))
2. print (' : ', nx.average_clustering(G_strong))
: 0.2201493109315837
: 0.37270757578876434
匷åãªæ¥ç¶ã®ã³ã³ããŒãã³ãã®å Žåãåãç¹æ§ãååŸã§ããäžå€®ããŒãïŒæ®ãã®ããŒãã«æã坿¥ã«æ¥ç¶ãããŠããããŒãïŒã®æ°ãšã°ã©ãã®åšèŸºã«ããããŒãã®æ°ã決å®ã§ããŸãã
1. print (': ', nx.transitivity(G_strong))
2. print (' : ', nx.average_clustering(G_strong))
3. print (' : ', len(nx.center(G_strong)))
4. print (' : ', len(nx.periphery(G_strong)))
: 0.2328022090200813
: 0.3905903756516427
: 46
: 3
2çªç®ã®ã±ãŒã¹ã§ã¯ã匷åã«æ¥ç¶ãããã³ã³ããŒãã³ãã«æ¥ç¶ãããããªãã¬ããã®æ°ãå€ãããšãåæ ããŠãã¯ã©ã¹ã¿ãªã³ã°ãšã¯ã©ã¹ã¿ãŒä¿æ°ãå¢å ããŸãããç·©ãçµåãããã³ã³ããŒãã³ãã§äž»èŠãªã³ãã¥ããã£ãå®çŸ©ããããã«äžç·ã«è©ŠããŠã¿ãŸãããã
1. G_undirected = G_weak.to_undirected()
2. partition = community.best_partition(G_undirected)
3. communities = set(partition.values())
4. communities_dict = {c: [k for k, v in partition.items() if v == c] for c in communities}
5. highest_degree = {k: sorted(v, key=lambda x: G.degree(x))[-5:] for k, v in communities_dict.items()}
6. print(' : ', len(highest_degree))
7. print(' :', ', '.join([str(len(highest_degree[key])) for key in highest_degree]))
: 8
: 113, 114, 125, 131, 169, 188, 54, 92
ãããã£ãŠãé»åéä¿¡ã®ããåã§ã¯ã8ã€ã®ã³ãã¥ããã£ãåºå¥ã§ããŸãããããã®ã³ãã¥ããã£ã¯ãåã®ä»ã®éšåãããçžäºã«å¯æ¥ã«é¢é£ããŠããŸããæå°ã®ã³ãã¥ããã£ã«ã¯54人ã®ã¡ã³ããŒãããŠãæå€§ã®ã³ãã¥ããã£ã«ã¯188人ã®ã¡ã³ããŒãããŸããéè€ãŸãã¯ãã¹ããããã³ãã¥ããã£ãå«ããããã¯ãŒã¯ã®å Žåãæé©ãªããŒãã£ã·ã§ãã³ã°ã決å®ããã®ãããå°é£ã«ãªãå¯èœæ§ããããŸãããããã£ãŠãã³ãŒããå®è¡ãããã³ã«ãã³ãã¥ããã£ã®æ§æãç°ãªãå ŽåããããŸããååŸããåå²ã®èŠèŠåãèŠãŠã¿ãŸãããã
1. pos = nx.spring_layout(G)
2. plt.figure(figsize=(15, 15))
3. cmap = cm.get_cmap('gist_rainbow', max(partition.values()) + 1)
4. nx.draw_networkx_nodes(G, pos, partition.keys(), node_size=20, cmap=cmap, node_color=list(partition.values()))
5. nx.draw_networkx_edges(G, pos, alpha=0.5)
6. plt.show()
å³ïŒ6.ç ç©¶æ©é¢ã®ã¡ã³ããŒéã®ãã¹ãŠã®éåä¿¡é»åã¡ãŒã«ã«é¢ããæ å ±ãå«ãããããçµåãããã³ã³ããŒãã³ãã§ã®ããŸããŸãªã³ãã¥ããã£ã®è¡šç€ºã
äžã®ã°ã©ãã§ã¯ãã³ãã¥ããã£ããšã®åå è ã®ååžã瀺ããŠããŸããããŒãã®è²ã¯ç¹å®ã®ã³ãã¥ããã£ã«å±ããŠããããšã瀺ããŠããŸãã
7.é¢ä¿ã®äºæµæ§
ãã§ã«èª¬æããããããã£ã«å ããŠãæåãããã¯ãŒã¯ã®çžäºé¢ä¿ãªã©ããããŸãããã®ç¹æ§ã¯ãçºä¿¡ãªã³ã¯ã®äœããŒã»ã³ãããã£ãŒãããã¯ãçä¿¡ãªã³ã¯ãæã£ãŠãããã衚ããŸãã調ã¹ãããã«ãnetworkxã©ã€ãã©ãªã®ç¹å¥ãªé¢æ°overall_reciprocityã䜿çšããŠãã°ã©ããšãã®ã³ã³ããŒãã³ãã®çžåæ§ã®ã¬ãã«ã調ã¹ãŸãã
1. print (' : ', nx.overall_reciprocity(G))
2. print (' : ', nx.overall_reciprocity(G_weak))
3. print (' : ', nx.overall_reciprocity(G_strong))
: 0.6933635759258535
: 0.6938791484032562
: 0.7169719762222492
ã±ãŒã¹ã®71ïŒ ã§ããŠãŒã¶ãŒã¯åŒ·åãªæ¥ç¶ã³ã³ããŒãã³ãã§ã¡ãã»ãŒãžãžã®è¿ä¿¡ãåãåããŸãããåŒ±ãæ¥ç¶ãããã³ã³ããŒãã³ããšã°ã©ãå šäœã®å Žåãã¬ãã«ã¯äºæ³ã©ããã«äœããªããŸãã
8.ãããã¯ãŒã¯ã®æ®éçãªç¹æ§
èŠçŽãããšãè€éãªãããã¯ãŒã¯ã¯äžè¬ã«ç¹å®ã®ç¹æ§ãæã¡ãããã€ãã¯å€ãã®ãããã¯ãŒã¯ã®ç¹åŸŽã§ããé»åã¡ãŒã«ããŒã¿ã»ããã®åæã¯ããããã®åŸåãååã«ãµããŒãããŠããŸãã
- . , , . : web-, , , (Wikipedia, Microsoft). , .
- . , , « ». : , .
- , , : 80% , . â , , . , , .
- , . , .
é»åã¡ãŒã«ã«å¯Ÿå¿ããããŒã¿ã»ããã«ã€ããŠãäžèšã®ãã¹ãŠã®åŸåãåæããã³ç¢ºèªããŸãããã°ã©ãã«ã¯ããã¹ãŠã®ããŒãã®80ïŒ ä»¥äžãå«ããæ¥ç¶ããã倧ããªã³ã³ããŒãã³ããèŠã€ãããŸããããã®ã³ã³ããŒãã³ãå ã§ã¯ãã»ãšãã©ã®ããŒããå°æ°ã§ããããšãç¹åŸŽã§ãããã倿°ã®ãã€ããŒãæã€åå è ã®å²åã¯ãããã§ããããŸããã°ã©ãã®åå è éã®çŽåŸãšå¹³åè·é¢ãå°ããããšãããããŸããã986人ã®åå è ãå«ãåŒ±ãæ¥ç¶ãããã³ã³ããŒãã³ãã®å¹³åè·é¢ã¯ããã2.1ã§ãããã€ãŸããã»ãšãã©ã®åå è ã¯2åã®ããã³ãã·ã§ã€ã¯ãã§äºãã«æ¥ç¶ãããŠããŸããããã«ãã°ã©ãã¯é«åºŠãªçžäºé¢ä¿ãç¹åŸŽãšããŠããŸãããã¹ãŠã®åå è ã®69ïŒ ãçžäºã«åæ¹åã®æ¥è§Šãç¶æããŠããŸãã
ããŒã
ç ç©¶ã®å šæã¯ãNikolai ViktorovichUrsulã«ããæ¬ãTheWholeTruth About ForexãïŒ2019ïŒã«ãããŸãã
ãã®ç ç©¶ã¯ãèšäºãäŒèšãšç£æ»ãžã®ãœãŒã·ã£ã«ãããã¯ãŒã¯åæã®é©çšãSlobodan KacanskiãDean LusherïŒ2017ããªã³ã¯ïŒã«èšèŒãããŠããŸãã