{ "cells": [ { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### 网络科学理论\n", "\n", "***\n", "***\n", "# 网络科学简介\n", "***\n", "***\n", "\n", "王成军 \n", "\n", "wangchengjun@nju.edu.cn\n", "\n", "计算传播网 http://computational-communication.com" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# FROM SADDAM HUSSEIN TO NETWORK THEORY \n", "### A SIMPLE STORY (1) The fate of Saddam and network science\n", "\n", "- SADDAM HUSSEIN: the fifth President of **Iraq**, serving in this capacity from 16 July 1979 until 9 April **2003**\n", "- Invasion that started in March 19, 2003. Many of the regime's high ranking officials, including Saddam Hussein, avoided capture. \n", "- Hussein was last spotted kissing a baby in Baghdad in April 2003, and then his trace went cold. \n", "\n", "- Designed a deck of cards, each card engraved with the images of the 55 most wanted. \n", " - It worked: by May 1, 2003, 15 men on the cards were captured, and by the end of the month another 12 were under custody. \n", " - Yet, the ace of spades, i.e. Hussein himself, remained at large.\n", "\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "slide" } }, "source": [ "" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "slide" } }, "source": [ "# The capture of Saddam Hussein\n", "\n", "- shows the strong **predictive power** of networks. \n", "\n", "- underlies the need to obtain **accurate maps of the networks** we aim to study; \n", "- and the often heroic **difficulties of the mapping** process.\n", "\n", "- demonstrates the remarkable **stability of these networks**\n", " - The capture of Hussein was not based on fresh intelligence\n", " - but rather on his **pre-invasion social links**, unearthed from old photos stacked in his family album.\n", "\n", "- shows that the choice of network we focus on makes a huge difference: \n", " - the **hierarchical tree** captured the official organization of the Iraqi government, \n", " - was of no use when it came to Saddam Hussein's whereabouts. \n" ] }, { "cell_type": "markdown", "metadata": { "ExecuteTime": { "end_time": "2017-05-20T19:50:48.430148", "start_time": "2017-05-20T19:50:48.418809" }, "slideshow": { "slide_type": "subslide" } }, "source": [ "## How about Osama bin Laden?\n", "\n", "- the founder of al-Qaeda, the organization that claimed responsibility for the September 11 attacks on the United States.\n", "\n", "> 2005年9月1日,中情局内部关于猎杀本·拉登任务的布告栏上贴出了如下信息:由于关押囚犯的强化刑讯已经没有任何意义,“我们只能继续跟踪科威特”。`中情局自此开始了对科威特长达数年的跟踪,最终成功窃听到了他本·拉登之间的移动电话,从确定了他的位置并顺藤摸瓜找到了本·拉登在巴基斯坦的豪宅`,再经过9个月的证实、部署,于2011年5月1日由海豹突击队发动突袭、击毙本·拉登。" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "slide" } }, "source": [ "# A SIMPLE STORY (2): August 15, 2003 blackout.\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "slide" } }, "source": [ "# VULNERABILITY \n", "DUE TO INTERCONNECTIVITY \n", "\n", "- The 2003 blackout is a typical example of a cascading failure. \n", "- 1997, when the International Monetary Fund pressured the central banks of several Pacific nations to limit their credit. \n", "- 2009-2011 financial melt-down" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "slide" } }, "source": [ "An important theme of this class: \n", "\n", "- we must understand **how network structure affects the robustness of a complex system**. \n", "\n", "- develop quantitative tools to assess the interplay between network structure and the dynamical processes on the networks, and their impact on failures. \n", "\n", "- We will learn that failures reality failures follow reproducible laws, that can be quantified and even predicted using the tools of network science.\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "slide" } }, "source": [ "NETWORKS AT THE HEART OF \n", "# COMPLEX SYSTEMS \n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "slide" } }, "source": [ "# Complex\n", "\n", "[adj., v. kuh m-pleks, kom-pleks; n. kom-pleks] \n", "–adjective \n", "- composed of many interconnected parts; compound; composite: a complex highway system. \n", "- characterized by a very complicated or involved arrangement of parts, units, etc.: complex machinery. \n", "- so complicated or intricate as to be hard to understand or deal with: a complex problem. \n", "\t\t\t\tSource: Dictionary.com\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "slide" } }, "source": [ "\n", "# Complexity\n", "\n", "a scientific theory which asserts that some systems display behavioral phenomena that are completely inexplicable by any conventional analysis of the systems’ constituent parts. These phenomena, commonly referred to as emergent behaviour, seem to occur in many complex systems involving living organisms, such as a stock market or the human brain.\n", " \n", "Source: John L. Casti, Encyclopædia Britannica\n", " \n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "slide" } }, "source": [ "# COMPLEX SYSTEMS\n", "\n", "- society\n", "- brain\n", "- market\n", "- cell\n", "\n", "## Stephen Hawking: I think the next century will be the century of complexity. " ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "slide" } }, "source": [ "# Behind each complex system there is a network, that defines the interactions between the component. \n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "slide" } }, "source": [ "" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "slide" } }, "source": [ "- Social graph\n", "- Organization\n", "- Brain\n", "- finantial network\n", "- business \n", "- Internet\n", "- Genes" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "slide" } }, "source": [ "Behind each system studied in complexity there is an intricate wiring diagram, or a network, that defines the interactions between the component.   \n", "\n", "# We will never understand complex system unless we map out and understand the networks behind them.\n", "  \n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "slide" } }, "source": [ "# TWO FORCES HELPED THE EMERGENCE OF NETWORK SCIENCE \n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "slide" } }, "source": [ "# THE HISTORY OF NETWORK ANALYSIS\n", "\n", "- Graph theory: 1735, Euler\n", "\n", "- Social Network Research: 1930s, Moreno\n", "\n", "- Communication networks/internet: 1960s\n", "\n", "- Ecological Networks: May, 1979.\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "slide" } }, "source": [ "\n", "While the study of networks has a long history from graph theory to sociology, **the modern chapter of network science emerged only during the first decade of the 21st century, following the publication of two seminal papers in 1998 and 1999**. \n", "\n", "The explosive interest in network science is well documented by the citation pattern of two classic network papers, the 1959 paper by Paul Erdos and Alfréd Rényi that marks the beginning of the study of random networks in graph theory [4] and the 1973 paper by Mark Granovetter, the most cited social network paper [5]. \n", "\n", "Both papers were hardly or only moderately cited before 2000. The explosive growth of citations to these papers in the 21st century documents the emergence of network science, drawing a new, interdisciplinary audience to these classic publications. \n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "slide" } }, "source": [ "" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "slide" } }, "source": [ "# THE EMERGENCE OF NETWORK SCIENCE\n", "- Movie Actor Network, 1998;\n", "- World Wide Web, 1999.\n", "- C elegans neural wiring diagram 1990\n", "- Citation Network, 1998\n", "- Metabolic Network, 2000; \n", "- PPI network, 2001\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "slide" } }, "source": [ "# The universality of network characteristics: \n", "The architecture of networks emerging in various domains of science, nature, and technology are more similar to each other than one would have expected. \n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "slide" } }, "source": [ "# THE CHARACTERISTICS OF NETWORK SCIENCE \n", "- Interdisciplinary \n", "- Empirical\n", "- Quantitative and Mathematical \n", "- Computational \n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "slide" } }, "source": [ "# THE IMPACT OF NETWORK SCIENCE \n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "slide" } }, "source": [ "# Google\n", "Market Cap(2010 Jan 1): \n", "$189 billion\n", "\n", "# Cisco Systems\n", "networking gear Market cap (Jan 1, 2919): \n", "$112 billion\n", "\n", "# Facebook\n", "market cap: \n", "$50 billion\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "slide" } }, "source": [ "# Health: From drug design to metabolic engineering. \n", "The human genome project, completed in 2001, offered the first comprehensive list of all human genes. \n", "\n", "- Yet, to fully understand how our cells function, and the origin of disease, \n", "- we need accurate maps that tell us how these genes and other cellular components interact with each other. " ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "slide" } }, "source": [ "# Security: Fighting Terrorism. \n", "Terrorism is one of the maladies of the 21st century, absorbing significant resources to combat it worldwide. \n", "\n", "- **Network thinking** is increasingly present in the arsenal of various law enforcement agencies in charge of limiting terrorist activities. \n", " - To disrupt the financial network of terrorist organizations\n", " - to map terrorist networks\n", " - to uncover the role of their members and their capabilities. \n", " \n", "- Using social networks to capture Saddam Hussein\n", "- Capturing of the individuals behind the March 11, 2004 Madrid train bombings **through the examination of the mobile call network**. \n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "slide" } }, "source": [ "# Epidemics: From forecasting to halting deadly viruses. \n", "\n", "While the **H1N1 pandemic** was not as devastating as it was feared at the beginning of the outbreak in 2009, it gained a special role in the history of epidemics: it was **the first pandemic whose course and time evolution was accurately predicted months before the pandemic reached its peak**. \n", "\n", "- Before 2000 epidemic modeling was dominated by **compartment models**, assuming that everyone can infect everyone else one word the same socio-physical compartment. \n", "- The emergence of a network-based framework has fundamentally changed this, offering a new level of predictability in epidemic phenomena. \n", "\n", "### In January 2010 network science tools have predicted the conditions necessary for the emergence of viruses spreading through mobile phones. \n", "\n", "### The first major mobile epidemic outbreak\n", " in the fall of 2010 in China, infecting over 300,000 phones each day, closely followed the predicted scenario. \n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "slide" } }, "source": [ "# Brain Research: Mapping neural network. \n", "The human brain, consisting of hundreds of billions of interlinked neurons, is one of the least understood networks from the perspective of network science. \n", "\n", "The reason is simple: \n", "- we lack maps telling us which neurons link to each other. \n", "- The only fully mapped neural map available for research is that of the C.Elegans worm, with only 300 neurons. \n", "\n", "Driven by the potential impact of such maps, in 2010 the **National Institutes of Health** has initiated the Connectome project, aimed at developing the technologies that could provide an accurate neuron-level map of mammalian brains. \n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "slide" } }, "source": [ "# The Bridges of Konigsberg\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "slide" } }, "source": [ "" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "# Can one walk across the seven bridges and never cross the same bridge twice and get back to the starting place? \n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Can one walk across the seven bridges and never cross the same bridge twice and get back to the starting place? \n", "\n", "" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "slide" } }, "source": [ "# Euler’s theorem (1735):\n", "\n", "- If a graph has more than two nodes of odd degree, there is no path. \n", "- If a graph is connected and has no odd degree nodes, it has at least one path.\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "COMPONENTS OF A COMPLEX SYSTEM\n", "\n", "# Networks and graphs\n", " - components: nodes, vertices\t\t N\n", " - interactions: links, edges\t\t\t L\n", " - system: \t network, graph\t\t(N,L)\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "network often refers to real systems\n", "- www, \n", "- social network\n", "- metabolic network. \n", "\n", "Language: (Network, node, link)\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "graph: mathematical representation of a network\n", "- web graph, \n", "- social graph (a Facebook term)\n", "\n", "Language: (Graph, vertex, edge)\n", "\n", "\n", "# G(N, L)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "# CHOOSING A PROPER REPRESENTATION\n", "\n", "The choice of the proper network representation determines our ability to use network theory successfully.\n", "\n", "In some cases there is a unique, unambiguous representation. \n", "In other cases, the representation is by no means unique.\n", " \n", "For example, the way we assign the links between a group of individuals will determine the nature of the question we can study.\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "If you connect individuals that work with each other, you will explore the professional network.\n", "\n", "http://www.theyrule.net" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "subslide" } }, "source": [ "If you connect those that have a romantic and sexual relationship, you will be exploring the sexual networks.\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "subslide" } }, "source": [ "If you connect individuals based on their first name (all Peters connected to each other), you will be exploring what? \n", "\n", "# It is a network, nevertheless.\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "subslide" } }, "source": [ "# UNDIRECTED VS. DIRECTED NETWORKS\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "subslide" } }, "source": [ "# Undirected\n", "Links: undirected\n", "- co-authorship \n", "- actor network\n", "- protein interactions" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "ExecuteTime": { "end_time": "2019-06-15T08:57:53.918950Z", "start_time": "2019-06-15T08:57:53.064659Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "image/png": "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HAABhqKtpb59+1K0dZhlWfrP//xPNWnSRK+88orpOAACEEVbS6cmWi51100vv/yy1q1bp/fff1/16tUzHQdAAKJoa+nSSy9VWFiYduzYYToKamjBggV6++23lZaWposuush0HAABiqKtJTauqJu+/fZbPfjgg1qyZInatWtnOg6AAEbRegFFW7fs3LlTw4YN04wZM9SjRw/TcQAEOIrWCyjauqOwsFCJiYn6n//5Hw0ePNh0HABBgA0rvKC4uFjNmzdXbm4u1/r8WGlpqRITE9WxY0e99dZbPHUJgE8w0XpBeHi4YmJi2LjCj1mWpd/+9rcKCQnRG2+8QckC8BmK1kvY99i/vfHGG/rqq6/0wQcfKCwszHQcAEGEovUSrtP6r7S0NL388stKT09XkyZNTMcBEGS4Ruslu3btUs+ePZWbm8tpST+SlZWl/v37Kz09Xb179zYdB0AQYqL1kksvvVQNGzbU9u3bTUfBT3bv3q0hQ4bo7bffpmQBGEPRehH7HvuPo0ePavDgwXrooYd01113mY4DIIhRtF7EdVr/UFZWpnvvvVdxcXF67LHHTMcBEOQoWi+iaP3D//7v/+rw4cP6v//7P66XAzCOxVBedOLECTVr1kz79+9Xo0aNTMcJStOmTdNrr72mlStXqlmzZqbjAAATrTc1bNhQ3bt316pVq0xHCUp/+9vf9MwzzygjI4OSBeA3KFov4/SxGZs2bdLo0aM1f/58XXnllabjAMBpFK2XUbS+t3//fiUmJuq1117TTTfdZDoOAFTANVov2717t7p37668vDwW4vhAUVGRbr31VvXv31/PPvus6TgAUAlFa4PLLrtMn376qTp16mQ6SkArLy/XqFGjFBoaqtTUVH6wAeCXOHVsA04f+8bTTz+tnJwczZgxg5IF4LcoWhtQtPZ799139f7772vJkiUKDw83HQcAzoqitQFFa68VK1bo0UcfVXp6ulq2bGk6DgCcE9dobVBSUqJmzZpp7969aty4sek4AeWHH37QTTfdpNTUVN12222m4wDAeTHR2qBBgwaKi4vTd999ZzpKQDl48KASExP1wgsvULIA6gyK1iacPvaukpISDR8+XHfccYccDofpOABQbRStTSha77EsSw6HQ82aNdOf/vQn03EAoEa4RmuTvXv3qlu3bjpw4AC3ntTSiy++qEWLFmnFihW66KKLTMcBgBphorXJxRdfrMaNG+uHH34wHaVO++CDDzRt2jQtXbqUkgVQJ1G0NuL0ce2sXLlSv/nNb5SWlqa2bduajgMAF4SitRFFe+F27NihO++8UykpKerevbvpOABwwShaG/Xp00eZmZmmY9Q5hYWFSkxM1OOPP66EhATTcQCgVlgMZaNTG1fs3r1bUVFRpuPUCSdPnlRCQoI6d+6sqVOnmo4DALXGRGujBg0aqEePHmxcUU2WZenhhx9WWFiY/vKXv5iOAwBeQdHajOu01feXv/xFmZmZmjt3rsLCwkzHAQCvoGht1rdvX4q2GpYsWaLgRDhFAAAKQklEQVQ///nPSk9PV5MmTUzHAQCv4Rqtzfbv368uXbrowIEDCg3l55qqrF27VrfffruWLVumXr16mY4DAF7Fd36btW7dWk2bNtWWLVtMR/FL//73vzV06FBNmzaNkgUQkChaH+A6bdWOHj2qwYMH6+GHH9bw4cNNxwEAW1C0PkDRVlZWVqZRo0bp2muv1aOPPmo6DgDYhqL1AYq2skmTJunYsWN6++23eegCgIDGPRQ+EBsbq3/9618qLCxk4wpJb7/9tpYvX67MzEw1aNDAdBwAsBUTrQ/Ur19fPXv21Lfffms6inHLly/X888/r/T0dEVHR5uOAwC2o2h9hNPH0saNG3XfffdpwYIFuuKKK0zHAQCfoGh9JNgfMLBv3z4lJibq9ddfV79+/UzHAQCfYcMKH8nNzVWnTp2Un58fdBtXHD9+XLfccosGDRqkZ555xnQcAPCp4PqOb1CrVq3UokULbd682XQUnyovL9fYsWN15ZVX6umnnzYdBwB8jqL1oWC8Tvvkk09q7969Sk5O5jYeAEGJovWhYCvamTNnat68eVq0aJHCw8NNxwEAIyhaHwqmov3888/12GOPKT09XS1btjQdBwCMYTGUD5WWlio6Olo5OTkBfQ/pli1b9Ktf/Upz5szRrbfeajoOABjFROtDYWFhuu666wJ644oDBw4oISFBL730EiULAKJofS6QTx+fOHFCw4YN04gRIzRhwgTTcQDAL1C0PhaoRWtZlpKSktSqVSu99NJLpuMAgN/gGq2P5eXl6aqrrgq4jSuef/55paWl6YsvvlBkZKTpOADgNwLnO30d0bJlS7Vs2VL//Oc/TUfxmjlz5ig5OVlLly6lZAHgDBStAYG073FmZqb++7//W2lpaWrTpo3pOADgdyhaAwLlOu2PP/6oO++8U++++65iYmJMxwEAv0TRGtC3b986X7SHDh1SQkKCnnzySQ0cONB0HADwWyyGMqCsrEzR0dHauXOnmjVrZjpOjZ08eVIDBw5U165d9de//tV0HADwa0y0BtSrV0+9evXSN998YzpKjVmWpYceekjh4eF67bXXTMcBAL9H0RpSV6/T/vnPf9aqVas0Z84c1atXz3QcAPB7FK0hdbFoFy1apNdff11paWlq3Lix6TgAUCdwjdaQgwcPqmPHjsrPz68Tk+Hq1as1cOBALV++XNdee63pOABQZzDRGtK8eXO1adNGmzZtMh3lvHbt2qWhQ4fK7XZTsgBQQxStQXXh9PGRI0eUmJioiRMn6o477jAdBwDqHIrWIH8v2tLSUo0cOVK9e/fWI488YjoOANRJFK1B/l60jzzyiEpKSvTWW28pJCTEdBwAqJPCTAcIZl27dtXevXt14MABtWjRwnScCt5880198sknyszMVP369U3HAYA6i4nWoHr16un666/3u40rli1bphdffFEZGRlq2rSp6TgAUKdRtIb5277H2dnZGjt2rD788ENdfvnlpuMAQJ1H0RrmT9dp9+7dq8GDB+uNN95Q3759TccBgIDAhhWGFRQUqH379srPz1dYmLlL5sePH9fNN9+sIUOG6KmnnjKWAwACDROtYdHR0WrXrp02btxoLEN5ebnGjBmjLl266MknnzSWAwACEUXrB0yfPn7iiSeUl5cnt9vNbTwA4GUUrR8wWbTTp0/Xhx9+qEWLFqlhw4ZGMgBAIKNo/YCpov373/+uP/zhD0pPT1fz5s19/vUBIBiwGMoPlJeXq1mzZtq6datatmzpk6+5efNm3XzzzZo3b57i4+N98jUBIBgx0fqB0NBQn25ckZeXp8TERL3yyiuULADYjKL1E746fVxcXKxhw4Zp5MiRGjdunO1fDwCCHUXrJ/r06aPMzExbv4ZlWZowYYLatm2r559/3tavBQDw4KECfqJ3795as2aNSktLbdu44tlnn9X27dv1+eefKzSUn7EAwBf4busnoqOjddlllyk7O9uW46empiolJUVLlixRRESELV8DAFAZRetH7LpO+/XXX2vixIlKT09X69atvX58AMDZUbR+xI6i3b59u0aMGKHZs2erW7duXj02AOD8KFo/4u2iLSgoUEJCgp555hndfvvtXjsuAKD62LDCj5SXl6t58+basmWLWrVqVatjlZSUaMCAAYqLi9Nrr73mpYQAgJpiovUjoaGh6t27d62nWsuy9NBDD6lRo0Z69dVXvZQOAHAhKFo/443Tx6+88orWrFmj999/X/Xq1fNSMgDAhaBo/Uxti3bBggV68803lZaWpkaNGnkxGQDgQnCN1s8UFhaqXbt2KigoUP369Wv03u+++04JCQn6+OOP1bNnT5sSAgBqgonWz0RFRalDhw413rgiJydHw4YNU3JyMiULAH6EovVDNd33+PDhw0pMTNSkSZM0ZMgQG5MBAGqKovVDNblOW1paqpEjR6pfv3763e9+Z3MyAEBNUbR+qG/fvtUqWsuy9Lvf/U5lZWV64403FBIS4oN0AICa4Ok9fqhTp06qX1Cgw089pSY7dkiFhVJUlBQbK40fL7VsKUmaOnWqPv/8c2VmZtZ44RQAwDdYdexvVq2SJk9WyZIlCg0LU1hJyc+fi4iQLEsaOFBf3Xij7p4yRZmZmerQoYOxuACAc6No/ck770iTJklFRZ5CPQsrJERFlqV9jz6qjq+84sOAAICa4hqtvzhVssePny7ZjZImS1pzxktDLEuRkjq+9ZbnfQAAv8VE6w9WrZLi4z0l+5NYSfskHZa0QFLi2d4bGSmtWCFdd53dKQEAF4CJ1h9Mnuw5XfwLbnmKts353ltU5Hk/AMAvUbSm5eZKH31U6Zpsb1XzP45lScuWSXl5dqQDANQSRWtaSkrtjxES4p3jAAC8jqI1LTtbKi6u3TGKiqQNG7yTBwDgVRStaYWF3jlOQYF3jgMA8CqK1rSoKO8cJzraO8cBAHgVRWtabKwUHl67Y0RESDEx3skDAPAq7qM1LTdXat++0nXaDpL+dcZLZ0oaV9UxwsOlnJzTeyADAPwHE61prVpJAwd6Vg7/wk5J1hm/xlX1/pAQadAgShYA/BQTrT+oYmeoamNnKADwa0y0/qBXL2nKFE9p1kRkpOd9lCwA+C2eR+svHnzQ889qPL1HISGeBVBTpvz8PgCAX+LUsb9Zvdqzd/GyZZ5C/eUeyKeeRztokPT440yyAFAHULT+Ki/Ps63ihg2ezSiioz238Iwbx8InAKhDKFoAAGzEYigAAGxE0QIAYCOKFgAAG1G0AADYiKIFAMBGFC0AADaiaAEAsBFFCwCAjShaAABsRNECAGAjihYAABtRtAAA2IiiBQDARhQtAAA2omgBALARRQsAgI0oWgAAbETRAgBgI4oWAAAbUbQAANiIogUAwEYULQAANqJoAQCwEUULAICNKFoAAGxE0QIAYCOKFgAAG1G0AADYiKIFAMBGFC0AADaiaAEAsBFFCwCAjShaAABsRNECAGAjihYAABtRtAAA2IiiBQDARhQtAAA2+v+KkWmhPF5KpwAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "\n", "import networkx as nx\n", "Gu = nx.Graph()\n", "for i, j in [(1, 2), (1, 4), (4, 2), (4, 3)]:\n", " Gu.add_edge(i,j)\n", "nx.draw(Gu, with_labels = True)\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "subslide" } }, "source": [ "# Directed\n", "Links: directed\n", "- urls on the www\n", "- phone calls\n", "- metabolic reactions" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "ExecuteTime": { "end_time": "2019-06-15T08:58:37.492794Z", "start_time": "2019-06-15T08:58:37.347665Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "image/png": "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38y6dev69DeCZvLSMdTUvO/dHjiQ3HVXcuhQMbBXjmySTE0VXzt0qLjfgQN55ZVXcuTIkVy4cCFJcv78+Xzxi1/s298HmkrRQgNcWbf/9kMfyqrHHkveffeq+7yZZH2Sh5Lsn/4Ew8P5xu235/G33sqGDRuyfv363HHHHfnoRz+aDRs29OcvAQ1laKEhJicn843778/Dr7yS4Vn+b70tyfEk/zyzDG2SDA8nr72WbNpU7oFCy3jpGBpiZGQkj33gA1k1y23fS/K3ST4+3xNMTRXv6QI9ZWihKU6dSo4cyXXTarab5OEk+5J05nt8t5scPpxMTJR3jNBChhaaYnx81i//WZK/l2vU7CWdzpzPAyzNikEfANAjJ07M+HTxVJIvJvkvC32Oqank5MkeHxi0m6KFppicnPGlryX5pyk+bbxgp0/36ICARNFCc4yMzPjSnyf5eZL/fPHP76b41/XPk/ynuZ5nzZoSDg7aS9FCU4yNJauu/szxXyV5J8n/u/jfHyf5V5lnZIeGktHREg8S2sfQQlNs37785+h2e/M8wPsMLTTFzTcX1y7uzP1DPOOZ42IVSfG4rVtn/KIBYHlcGQqa5Pjx4trF0y6/uCCuDAWlULTQJJs3J/v3F6O5GMPDxeOMLPScTx1D0+zeXfzvI48UPxc734tWnU7xAaj9+y8/DugpLx1DU/3FXxTXLj58uBjUqanLt136fbRbtxa/j1bJQmkMLTTdxERxWcWTJ4uLUaxZU/wIz/btPvgEfWBoAaBEPgwFACUytABQIkMLACUytABQIkMLACUytABQIkMLACUytABQIkMLACUytABQIkMLACUytABQIkMLACUytABQIkMLACUytABQIkMLACUytABQIkMLACUytABQIkMLACUytABQIkMLACUytABQIkMLACUytABQIkMLACUytABQIkMLACUytABQIkMLACUytABQIkMLACUytABQIkMLACUytABQIkMLACUytABQIkMLACUytABQov8PmtrW3zan7PEAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import networkx as nx\n", "Gd = nx.DiGraph()\n", "for i, j in [(1, 2), (1, 4), (4, 2), (4, 3)]:\n", " Gd.add_edge(i,j)\n", "nx.draw(Gd, with_labels = True, pos=nx.circular_layout(Gd))" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "subslide" } }, "source": [ "" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "subslide" } }, "source": [ "# Degree, Average Degree and Degree Distribution\n" ] }, { "cell_type": "code", "execution_count": 175, "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "image/png": "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\nANMjAV5n165dmjBhgnbv3q0XXnhBd999N5/w5CUIsZf78ccf9eCDD6q8vFxvvfWWmjdvbnokwKut\nXbtWcXFxCgoKUlJSkrp06WJ6JLgYp6a92CeffKKIiAj16tVLa9euJcKAB+jXr58yMzM1atQo3XXX\nXbr//vv1/fffmx4LLkSIvVBJSYkSEhI0evRopaWlacqUKfL19TU9FoBf+fr6atSoUcrNzVVoaKg6\nd+6shIQEFRQUmB4NLkCIvcz333+vXr16aefOncrKylLv3r1NjwSgEoGBgZo6daqys7N19OhR2Ww2\nvfbaayopKTE9GmoQIfYiy5cv10033aR77rlHq1atUtOmTU2PBKAKmjdvrgULFmjNmjVasWKFwsLC\n9OGHH4otPnUDm7W8QFFRkeLi4rR69WqlpaXppptuMj0SgEvkdDr18ccfKz4+Xtdcc42SkpLUqVMn\n02PhMrAiruNyc3N188036+jRo8rKyiLCQC1nsVg0cOBAZWdn6+6779btt9+ukSNH6tChQ6ZHwyUi\nxHVYamqqevToodjYWC1btkzBwcGmRwJQQ+rXr69HHnlEubm5atasmcLCwjR16lSdOnXK9GioJk5N\n10EnT57Uo48+qm3btuntt99Wx44dTY8EwMW+//57Pf3009qwYYOeffZZDR8+nLshaglWxHXMN998\no8jISPn6+iojI4MIA16iZcuWWrJkiZYvX64FCxYoIiJCa9euNT0WqoAVcR3hdDqVnJysKVOm6JVX\nXtEDDzxgeiQAhjidTi1fvlwJCQkKDQ3Viy++qBtuuKFKxx45ckSpKSnKy87WyYICBQYHyxYWpuEj\nR3KnhYsQ4jrgp59+0ujRo7Vv3z6lpaXJZrOZHgmAByguLtbrr7+umTNn6p577tG0adN05ZVXVvja\n9PR0zU5M1EerV+suSVFFRQqSVChpm9WqFU6nBkZH6/GJExUVFeXOb6PO49R0LffVV18pPDxc11xz\njb788ksiDOB3fn5+evLJJ5WTkyM/Pz/dcMMNSkxMlMPh+MPr5iUna1CfPopcuVL7ior0r6IijZX0\ngKSxkhY4HNpXVKTOK1dqUJ8+mpecbOLbqbNYEddS5eXlstvtSkpK0htvvKE777zT9EgAPNyePXuU\nkJCg7du3KzExUYMHD9abb7yhF+Ljteb0abWuwtfYK6l/QIAS7HaNiY119chegRDXQkeOHNGwYcNU\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "nx.draw(Gu, with_labels = True)" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "subslide" } }, "source": [ "# Undirected network: \n", "Node degree: the number of links connected to the node.\n", "## $k_1 = k_2 = 2, k_3 = 3, k_4 = 1$" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "ExecuteTime": { "end_time": "2018-05-05T10:48:27.253744Z", "start_time": "2018-05-05T10:48:27.170334Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAd4AAAFECAYAAACJY1/mAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAFA9JREFUeJzt3W2IXYeB3vHnOjLSzFqeSsFmFyPb/VCnizwDQtI2WQg4G5XYyi5UYe2UhbqyIhIJV/7gWAG3djYfQmwiOdklbOXaSjwm3WVZv0TgIikgU5zQBEdbTCSyC3FLdkO8TTSN1bGIRolk3X44kiWN5l33nntefj8wQXNfOGLIefS/986ZTrfb7QYAKMV1gz4AAGgTwwsAJTK8AFAiwwsAJTK8AFAiwwsAJTK8AFAiwwsAJTK8AFAiwwsAJTK8AFAiwwsAJTK8AFAiwwsAJTK8AFAiwwsAJTK8AFAiwwsAJTK8AFAiwwsAJTK8AFAiwwsAJTK8AFAiwwsAJTK8AFCiZYM+AKDPTpxIxseTY8eSyclkZCQZG0seeCC56aZBHx20Tqfb7XYHfRBAHxw9mjzxRHLoUPHnM2cu3TY0lHS7yT33JI8+mmzcOJhjhBYyvNBE+/YljzySTE0VAzubTqcY4b17k507yzs+aDHv8ULTXBzd06ffG92/SrIuyQ1JRpP894v37XaL+z3ySPE4oO8ULzTJ0aPJXXcVY3qZe5P8xyQfSPJfknwxyU+T/NbldxoeTl57LdmwoZxjhZYyvNAkn/hEcuDAVS8vn8+ll7e6KQb3O0mumNhOJ9myJXnppTKOFFrL8EJTnDiR3HbblR+imsE7SVYl+V9J/vn0G1esSH76U592hj7yHi80xfj4gu7250k+lBlGNymqd4HPAyyNn+OFpjh2bN7a/U6Sryb57mx3mJpKjh/v8YEBl1O80BSTk3Pe/PdJ/jjJ80nWznXHkyd7d0zAVQwvNMXIyKw3vZXk7iRPJvmj+Z5n1areHRNwFcMLTTE2Vnw4apqTST6W5KEk2+Z7jqGhZHS098cGvMenmqEpZvlU8/NJts5w958kuX36F32qGfpO8UJT3Hxzce3lTueKL//7FD+7O/2/26c9vNvp5MTGjZlI4t/j0D+GF5rk0UeLl4uX4NedTjZ/97u55ZZbsnz58qxZsyZf+MIXent8gOGFRtm4sfiFB8PDi3vc8HDOPvlkfrRiRc6ePZuzZ89mYmIit9xyS3+OE1rM8ELT7Nx5aXynvex8lU6nuN/evVm5e3e++MUvZnh4OJ1OJ91uN2vWrCnnmKFFDC800c6dxS882LKl+MDU9Jefh4aKr2/ZUtzvwq8E3LVrV1atWpUVK1bkueeey44dO7J9+/ZMzvMzwsDC+VQzNN3ERM4/91xe+tM/zYfvvDO//bu/W/zI0NatM356+fXXX88vf/nLbN68OadOncru3btz8ODBPPvss/nYxz5W/vFDwxheaIEXX3wx9957b8bGxvLDH/5w0Y8/cuRItm/fnk2bNuWpp57KyBwX6wDm5qVmaLjz58/nc5/7XJLkxz/+cb73ve8t+jk2bdqU48ePZ9myZRkdHc23v/3tXh8mtIbhhYZ7+eWXMzExkSQ5c+ZMdu/evaTnWblyZZ5++ul84xvfyGc+8xnv/cISGV5ouP3792dqaiqdTifXX399vv/97+fnP//5kp9P/cK18R4vNNyvf/3r/OpXv8pHPvKRfPWrX82GDRty44039uS5vfcLi6d4oeGWL1+e1atXZ9myZRkZGenZ6CbqF5bC8ALXxHu/sDiGF+gJ9QsLY3iBnlG/MD/DC/Sc+oXZGV6gL9QvzMzwAn2lfuFKhhfoO/ULlxheoDTqFwwvUDL1S9sZXmAg1C9tZXiBgVG/tJHhBQZO/dImhheoBPVLWxheoFLUL01neIHKUb80meEFKkv90kSGF6g09UvTGF6gFtQvTWF4gdpQvzSB4QVqR/1SZ4YXqCX1S10ZXqDW1C91Y3iB2lO/1InhBRpD/VIHhhdoFPVL1RleoJHUL1VleIHGUr9UkeEFGk/9UiWGF2gF9UtVGF6gVdQvg2Z4gdZRvwyS4QVaS/0yCIYXaDX1S9kML0DUL+UxvAAXqF/KYHgBplG/9JPhBZiB+qVfDC/AHNQvvWZ4AeahfuklwwuwQOqXXjC8AIugfrlWhhdgCdQvS2V4AZZI/bIUhhfgGqlfFsPwAvSA+mWhDC9AD02v38OHDw/6kKgYwwvQY5fX744dO/KpT31K/fIewwvQJxfr9/rrr1e/vMfwAvSR+mU6wwtQAvXLRYYXoCTql8TwApRO/bab4QUYAPXbXoYXYIDUb/sYXoABU7/tYngBKkL9toPhBagQ9dt8hheggtRvcxlegIpSv81keAEqTv02i+EFqAH12xyGF6BG1G/9GV6AmlG/9WZ4AWpK/daT4QWoMfVbP4YXoAHUb30YXoCGUL/1YHgBGkb9VpvhBWgg9VtdhhegwdRv9RhegIZTv9VieAFaQv1Wg+EFaBH1O3iGF6CF1O/gGF6AllK/g2F4AVpO/ZbL8AKgfktkeAF4j/rtP8MLwBXUb38ZXgBmpH77w/ACMCv123uGF4B5qd/eMbwALIj67Q3DC8CiqN9rY3gBWDT1u3SGF4AlU7+LZ3gBuCbqd3EMLwA9oX4XxvAC0DPqd36GF4CeU7+zM7wA9IX6nZnhBaCv1O+VDC8Afad+LzG8AJRG/SbLBn0AlXXiRDI+nhw7lkxOJiMjydhY8sADyU03DfroAGrrYv0eOXIk27dvz0c/+tF85StfycjIyOwPatA5udPtdruDPohKOXo0eeKJ5NCh4s9nzly6bWgo6XaTe+5JHn002bhxMMcIS7B+/fo888wzWb9+/aAPBd5z6tSp7N69OwcPHswzzzyTu++++8o7NPCc7KXmy+3bl9x1V3LgQPHNvfwbnCRTU8XXDhwo7rdv3yCOEqAx5nzvt6HnZMN70b59ySOPJKdPF/+CuuA/JfmdJCuT/GGS/5MUt58+Xdy/Jt9ogCqb/t7vj3btmvGc/KMkTyT5n5c/uGbnZC81J8VLGXfdVXzjpnkxyUeSvJvk3yW5Ock3L7/D8HDy2mvJhg0lHCgsnZeaqYsf/MVf5M5duzI8bZ7Gkvw8yTspzs1/ONODa3BOVrxJ8f7B1NSMN/1xkvenGNw/SvLW9DtMTRWPB6Anfu/VVzM0w9efTTG8vz3Xg2twTja8J04Ub9rPEf7vJvm7JM8n2T79xm43OXgwmZjo3zECtMWFc3JnhnPyv8oCRqsG52TDOz4+582HU/zM1dokG5LcO9OdOp15nweABejFubTi52TDe+zY1Z+Uu8zdSc4m+fsk/5DkT2a609RUcvx4P44OoF3mOScvSMXPyS6gsYBLli1L8i+TfC3Jv0gymeSqH/M+ebLXRwbQPr26jGSFz8mKd64rpUxzXZL3JVk+042rVvXogABabBHn5DlV+JxseMfGkhUrZrzpzST/Ocn/TfJPSR5O8okkV917aCgZHe3jQQK0xBzn5AWr+DnZ8G7dOutNNyT5yyS3JVmf4keKnp3pjt3unM8DwALNcS69PUknyT+m+PHOTpLxme5Y8XOy4b355uI6n53OVTf9TpL/keRXKa5Y9Uyufm+32+nkZ2Nj+d/vvJPf/OY3fT9cgCab6HTy+urVeXeG2/4hSXfaf1un36nTSTZvrvQvTjC8SXFx7aGZflx7ft0VK/JvfvCD3HHHHRkeHs7q1auzfv36vPXWVZfaAGAOL7zwQkZHR/P6H/xBrlviOTlDQ8U5vcIMb1L8Rou9e4tLjS3G8HCue+qpfPDBB9PpdPLuu+/m5MmT+cUvfpHVq1f351gBGmZiYiL33XdfHn/88Rw4cCAPffOb6Tz11JLOydm7t9KXi0wM7yU7d14a3xledr5Cp3PpG7xzZ770pS/lhhtuuHBTJxs2bMi5c+dKOGiAertYubfffnveeOONfPCDHyxuuIZzctUZ3svt3FlcXHvLluJTddNf6hgaKr6+ZUtxvwvf4BtvvDF79uxJkmzfvj3vf//7Mzo6miNHjpT9NwCohemV++UvfzlD08+5SzwnV50LaEy3YUPy0kvFdT7Hx4urn5w8WfxM2Oho8Um5Gd6037ZtW95+++089NBDGRoayuHDh7Nt27Zs3rw5e/bsycqVK0v/qwBU0QsvvJBdu3bl/vvvz/PPP3/14F5uiefkKvNrAftocnIyDz/8cF599dXs378/mzZtGvQh0WJ+LSCDNjExkQcffDDHjh3L+Pj4pZeVW8ZLzX00MjKSr3/963n66aezbdu27NixI6dOnRr0YQGUbtb3clvI8Jbg7rvvzvHjx3P27Fnv/QKtsqD3clvG8JZE/QJto3JnZnhLpn6BplO5czO8A6B+gaZSufMzvAOkfoGmULkLZ3gHTP0CdadyF8fwVoT6BepG5S6N4a0Q9QvUhcpdOsNbQeoXqKrLK/db3/qWyl0Cw1tR6heomouVe9ttt+WNN97Ihz70oUEfUi0Z3opTv8CgTa/cPXv2qNxrYHhrQP0Cg6Jye8/w1oj6BcqicvvH8NaM+gX6TeX2l+GtKfUL9JrKLYfhrTH1C/SKyi2P4W0A9Qsslcotn+FtCPULLJbKHQzD2zDqF5iPyh0sw9tA6heYjcodPMPbYOoXuEjlVofhbTj1C6jcajG8LaF+oX1UbjUZ3hZRv9AeKre6DG8LqV9oLpVbfYa3pdQvNI/KrQfD23LqF+pvYmIin/zkJ1VuTRhe1C/U2IsvvpixsbHceuutKrcmDC/vUb9QHxcr97HHHsvLL7+scmvE8HIF9QvVp3LrzfAyI/UL1aNym8HwMiv1C9WhcpvD8DIv9QuDo3Kbx/CyIOoXyqdym8nwsijqF/pP5Tab4WXR1C/0j8ptPsPLkqlf6B2V2x6Gl2uifuHaqdx2Mbz0hPqFxVO57WR46Rn1CwunctvL8NJz6hdmp3IxvPSF+oWrqVwSw0ufqV9QuVzJ8NJ36pc2U7lMZ3gpjfqlTVQuszG8lEr90gYql7kYXgZC/dJEKpeFMLwMjPqlSVQuC2V4GTj1S52pXBbL8FIJ6pc6UrksheGlUi7W77lz59QvlaVyuRaGl8oZGRnJ/v371S+VpHK5VoaXyvLeL1WicukVw0ulee+XKlC59JLhpRbUL4OgcukHw0ttqF/KpHLpF8NL7ahf+knl0m+Gl1pSv/SDyqUMhpdaU7/0gsqlTIaX2lO/XAuVS9kML42hflkMlcugGF4aRf2yECqXQTK8NJL6ZSYqlyowvDSW+uVyKpeqMLw0nvptN5VL1RheWkH9tpPKpYoML62ifttB5VJlhpfWUb/NpnKpOsNLa6nfZlG51IXhpdXUbzOoXOrE8ELUb12pXOrI8MIF6rdeVC51ZXhhGvVbbSqXujO8MAP1W00qlyYwvDAH9VsNKpcmMbwwD/U7WCqXpjG8sEDqt1wql6YyvLAI6rccKpcmM7ywBBfr99y5c+q3h1QubWB4YYlGRkayf/9+9dsjKpe2MLxwjdTvtVG5tI3hhR5Qv0ujcmkjwws9pH4XRuXSZoYXekz9zk3l0naGF/pE/V5J5ULB8EIfqd+CyoVLDC+UoK31q3LhaoYXStK2+lW5MDPDCyVrev2qXJib4YUBaGr9qlyYn+GFAWpK/apcWDjDCwNW9/pVubA4hhcqom71q3JhaQwvVEhd6lflwtIZXqigqtavyoVrZ3ihoqpWvyoXesPwQsUNun5VLvSW4YUaKLN+H3/88dx3331JVC70Q6fb7XYHfRDAwk1OTuazn/1sjhw5kv3792fTpk1zP+DEiWR8PAeffDK/f+ed+We33pqMjSUPPJDcdNMVd/3JT36StWvXptvtZt26dXn77bfz3HPPGVzoIcMLNXX48OF8+tOfzubNm7Nnz56sXLnyyjscPZo88URy6FDx5zNnLt02NJR0u8k99ySPPpps3Jgk+fjHP57Dhw/n/PnzWb58ed58882sWbOmpL8RtIOXmqGm5nzvd9++5K67kgMHisG9fHSTZGqq+NqBA8X99u3LK6+8kkOHDuX8+fNJknPnzuXzn/98aX8faAvFCw1wef3+2Qc+kBWPPZacPn3Ffd5MsjbJQ0n2Tn+C4eF87fbb8/hbb2XdunVZu3Zt7rjjjnz4wx/OunXryvlLQEsYXmiIycnJfO3++/PwK69keIb/W29JcjTJv80Mw5skw8PJa68lGzb090Ch5bzUDA0xMjKSx973vqyY4bbvJPnHJB+d6wmmpor3hIG+MrzQFCdOJIcO5bpptdtN8tkke5J05np8t5scPJhMTPTvGAHDC40xPj7jl/9rkpszT+1e1OnM+jxAbywb9AEAPXLs2FWfXp5K8vkk/22hzzE1lRw/3uMDAy6neKEpJiev+tJXkvzrFJ9mXrCTJ3t0QMBMFC80xcjIVV/6yyQ/S/I3F/58OsW/tn+W5K9ne55Vq/pwcMBFiheaYmwsWXHlZ5r/Lsk7Sf7fhf/+JMl/yByjOzSUjI728SABwwtNsXXrtT9Ht9ub5wFmZXihKW6+ubj2cmf2HxoazywXz0iKx23efNUvTgB6y5WroEmOHi2uvTztcpEL4spVUArFC02ycWOyd28xoosxPFw8zuhC3/lUMzTNzp3F/z7ySPFzuXO9qNXpFB+o2rv30uOAvvJSMzTV3/5tce3lgweLgZ2aunTbxd/Hu3lz8ft4lS6UxvBC001MFJeBPH68uDjGqlXFjwxt3eqDVDAAhhcASuTDVQBQIsMLACUyvABQIsMLACUyvABQIsMLACUyvABQIsMLACUyvABQIsMLACUyvABQIsMLACUyvABQIsMLACUyvABQIsMLACUyvABQIsMLACUyvABQIsMLACUyvABQIsMLACUyvABQIsMLACUyvABQIsMLACUyvABQIsMLACUyvABQIsMLACUyvABQIsMLACUyvABQIsMLACUyvABQIsMLACUyvABQIsMLACUyvABQIsMLACX6/+mb1uaWlseAAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "nx.draw(Gd, with_labels = True, pos=nx.circular_layout(Gd))" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "subslide" } }, "source": [ "# Directed network\n", "In directed networks we can define an in-degree and out-degree. The (total) degree is the sum of in-and out-degree.\n", "\n", "## $k_3^{in} = 2, k_3^{out} = 1, k_3 = 3$\n", "\n", "Source: a node with $k^{in}= 0$; Sink: a node with $k^{out}= 0$.\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "subslide" } }, "source": [ "For a sample of N values: $x_1, x_2, ..., x_N$:\n", "\n", "# Average(mean):\n", "\n", "## $ = \\frac{x_1 +x_2 + ...+x_N}{N} = \\frac{1}{N}\\sum_{i = 1}^{N} x_i$ " ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "subslide" } }, "source": [ "For a sample of N values: $x_1, x_2, ..., x_N$:\n", "\n", "# The nth moment:\n", "\n", "## $ = \\frac{x_1^n +x_2^n + ...+x_N^n}{N} = \\frac{1}{N}\\sum_{i = 1}^{N} x_i^n$ " ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "subslide" } }, "source": [ "For a sample of N values: $x_1, x_2, ..., x_N$:\n", "\n", "# Standard deviation:\n", "\n", "## $\\sigma_x = \\sqrt{\\frac{1}{N}\\sum_{i = 1}^{N} (x_i - )^2}$ " ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "ExecuteTime": { "end_time": "2017-05-20T22:52:18.822437", "start_time": "2017-05-20T22:52:18.816854" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "text/plain": [ "(1.6666666666666667, 10, 0.7453559924999299)" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import numpy as np\n", "x = [1, 1, 1, 2, 2, 3]\n", "np.mean(x), np.sum(x), np.std(x)" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "subslide" } }, "source": [ "For a sample of N values: $x_1, x_2, ..., x_N$:\n", "\n", "# Distribution of x:\n", "\n", "## $p_x = \\frac{The \\: frequency \\: of \\: x}{The\\: Number \\:of\\: Observations}$\n", "\n", "其中,$p_x 满足 \\sum_i p_x = 1$" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "ExecuteTime": { "end_time": "2017-05-20T22:52:22.051941", "start_time": "2017-05-20T22:52:21.864640" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXkAAAEACAYAAABWLgY0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAADdtJREFUeJzt3W+IXfWdx/HPR6PSRSaghaQkmoDVLZYd0t0SIy6bLEup\nEdY8EawVBB8FWVHwSRcRkn1S2Id1m5IGbGkUqYsPNLvRRai9NQoNEjMaNNlG6KrNNgOLhqIJS9p+\n9sEcu9ebmbnn3jkzN/n6fsHB8+c753w9/OYzZ34zZ+IkAgDUdNmkGwAALB9CHgAKI+QBoDBCHgAK\nI+QBoDBCHgAKGxrytq+yfdj2Udtv2/7uAnWP2z5pe8b2pu5bBQCMatWwgiT/a/tvk5y1fbmk12zf\nluS1T2tsb5d0Q5Ibbd8iaa+kLcvXNgCgjVbTNUnONqtXNR/z0UDJDkn7m9rDklbbXtNVkwCA8bQK\neduX2T4q6bSkXpJ3BkrWSfqgb/tUsw8AMEFtn+T/mORrktZL+hvbW5e3LQBAF4bOyfdL8jvbByV9\nXdIv+g6dknRd3/b6Zt9n2OYP5QDAGJJ4nI9r89s1X7S9uln/gqRvSJoZKDsg6b6mZoukM0lmF2h1\nosvU1F/ozTffVJJLftm1a9fEe6i0cD+5lxfrshRtnuS/JOkntq25LwpPJvmZ7Z2SkmRfkhds32H7\nXUmfSLp/SV0BADrR5lcoj0n6y3n2/3Bg+8EO+wIAdIA3Xi9h27Ztm3QLpXA/u8O9vHh4qfM9I13M\nztzc+ORMTU3r0KGnND09PdE+AKAt28py/eAVAHDpIuQBoDBCHgAKI+QBoDBCHgAKI+QBoDBCHgAK\nI+QBoDBCHgAKI+QBoDBCHgAKI+QBoDBCHgAKI+QBoDBCHgAKI+QBoDBCHgAKI+QBoDBCHgAKI+QB\noDBCHgAKI+QBoDBCHgAKI+QBoDBCHgAKI+QBoLChIW97ve2Xbb9t+5jth+ap2Wr7jO03muWx5WkX\nADCKVS1qfi/pkSQztq+WdMT2S0lODNS9kuTO7lsEAIxr6JN8ktNJZpr1jyUdl7RunlJ33BsAYIlG\nmpO3vVHSJkmH5zl8q+0Z2wdt39xBbwCAJWozXSNJaqZqnpX0cPNE3++IpOuTnLW9XdJzkm7qrk0A\nwDhahbztVZoL+CeTPD94vD/0k7xo+we2r0ny4YVn2923vq1ZAACf6vV66vV6nZzLSYYX2fsl/U+S\nRxY4vibJbLO+WdK/Jtk4T12k4ddbTlNT0zp06ClNT09PtA8AaMu2koz1c8+hT/K2b5N0r6Rjto9q\nLqUflbRBUpLsk3SX7QcknZd0TtLd4zQDAOjW0JBP8pqky4fU7JG0p6umAADd4I1XACiMkAeAwgh5\nACiMkAeAwgh5ACiMkAeAwgh5ACiMkAeAwgh5ACiMkAeAwgh5ACiMkAeAwgh5ACiMkAeAwgh5ACiM\nkAeAwgh5ACiMkAeAwgh5ACiMkAeAwgh5ACiMkAeAwgh5ACiMkAeAwgh5ACiMkAeAwgh5ACiMkAeA\nwgh5AChsaMjbXm/7Zdtv2z5m+6EF6h63fdL2jO1N3bcKABjVqhY1v5f0SJIZ21dLOmL7pSQnPi2w\nvV3SDUlutH2LpL2StixPywCAtoY+ySc5nWSmWf9Y0nFJ6wbKdkja39QclrTa9pqOewUAjGikOXnb\nGyVtknR44NA6SR/0bZ/ShV8IAAArrM10jSSpmap5VtLDzRP9mHb3rW9rFmDy1q7dqNnZ9ybaw5o1\nG3T69H9NtAdMXq/XU6/X6+RcTjK8yF4l6d8lvZjke/Mc3yvp50meabZPSNqaZHagLtLw6y2nqalp\nHTr0lKanpyfaBy4+tjXp8SlZbT4n8fliW0k8zse2na75kaR35gv4xgFJ9zXNbJF0ZjDgAQArb+h0\nje3bJN0r6Zjto5p71HlU0gZJSbIvyQu277D9rqRPJN2/nE0DANoZGvJJXpN0eYu6BzvpCADQGd54\nBYDCCHkAKIyQB4DCCHkAKIyQB4DCCHkAKIyQB4DCCHkAKIyQB4DCCHkAKIyQB4DCCHkAKIyQB4DC\nCHkAKIyQB4DCCHkAKIyQB4DCCHkAKIyQB4DCCHkAKIyQB4DCCHkAKIyQB4DCCHkAKIyQB4DCCHkA\nKIyQB4DCCHkAKGxoyNt+wvas7bcWOL7V9hnbbzTLY923CQAYx6oWNT+W9C+S9i9S80qSO7tpCQDQ\nlaFP8klelfTRkDJ30w4AoEtdzcnfanvG9kHbN3d0TgDAErWZrhnmiKTrk5y1vV3Sc5JuWrh8d9/6\ntmYBAHyq1+up1+t1ci4nGV5kb5D0b0mmW9T+WtJfJflwnmORhl9vOU1NTevQoac0PT30fwWfM7Y1\n6fEpWW0+J/H5YltJxpoWbztdYy0w7257Td/6Zs194bgg4AEAK2/odI3tpzU3p3Kt7fcl7ZJ0paQk\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# 直方图\n", "plt.hist(x)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "ExecuteTime": { "end_time": "2017-05-20T22:53:12.228948", "start_time": "2017-05-20T22:53:12.222577" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "text/plain": [ "defaultdict(int, {1: 3, 2: 2, 3: 1})" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from collections import defaultdict, Counter\n", "freq = defaultdict(int)\n", "for i in x:\n", " freq[i] +=1\n", "\n", "freq" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "ExecuteTime": { "end_time": "2017-05-20T22:53:16.580337", "start_time": "2017-05-20T22:53:16.575781" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "text/plain": [ "6" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "freq_sum = np.sum(freq.values())\n", "freq_sum" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "ExecuteTime": { "end_time": "2017-05-20T22:53:17.449486", "start_time": "2017-05-20T22:53:17.444514" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "text/plain": [ "[0.5, 0.3333333333333333, 0.16666666666666666]" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "px = [float(i)/freq_sum for i in freq.values()]\n", "px" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "ExecuteTime": { "end_time": "2017-05-20T22:53:30.898701", "start_time": "2017-05-20T22:53:30.717662" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "image/png": "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\nAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(freq.keys(), px, 'r-o')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Average Degree" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "## Undirected\n", "\n", "# $ = \\frac{1}{N} \\sum_{i = 1}^{N} k_i = \\frac{2L}{N}$\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "## Directed\n", "# $ = \\frac{1}{N} \\sum_{i=1}^N k_i^{in}= = \\frac{1}{N} \\sum_{i=1}^N k_i^{out} = \\frac{L}{N}$ " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Degree distribution \n", "P(k): probability that a randomly selected node has degree k\n", "\n", "\n", "$N_k = The \\:number\\: of \\:nodes\\:with \\:degree\\: k$\n", "\n", "## $P(k) = \\frac{N_k}{N}$\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Adjacency matrix\n", "$A_{ij} =1$ if there is a link between node i and j\n", "\n", "$A_{ij} =0$ if there is no link between node i and j" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "ExecuteTime": { "end_time": "2018-05-05T10:49:16.096063Z", "start_time": "2018-05-05T10:49:15.969452Z" }, "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(1)\n", "plt.subplot(121)\n", "pos = nx.nx.circular_layout(Gu) #定义一个布局,此处采用了spring布局方式\n", "nx.draw(Gu, pos, with_labels = True)\n", "plt.subplot(122)\n", "nx.draw(Gd, pos, with_labels = True)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "# Undirected\n", "$A_{ij} =1$ if there is a link between node i and j\n", "\n", "$A_{ij} =0$ if there is no link between node i and j\n", "\n", "## $A_{ij}=\\begin{bmatrix} 0&1 &0 &1 \\\\ 1&0 &0 &1 \\\\ 0 &0 &0 &1 \\\\ 1&1 &1 & 0 \\end{bmatrix}$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "# Undirected\n", "\n", "无向网络的矩阵是对称的。\n", "\n", "## $A_{ij} = A_{ji} , \\: A_{ii} = 0$\n", "\n", "## $k_i = \\sum_{j=1}^N A_{ij}, \\: k_j = \\sum_{i=1}^N A_{ij} $\n", "\n", "网络中的链接数量$L$可以表达为:\n", "\n", "## $ L = \\frac{1}{2}\\sum_{i=1}^N k_i = \\frac{1}{2}\\sum_{ij}^N A_{ij} $" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "# Directed\n", "$A_{ij} =1$ if there is a link between node i and j\n", "\n", "$A_{ij} =0$ if there is no link between node i and j\n", "\n", "## $A_{ij}=\\begin{bmatrix} 0&0 &0 &0 \\\\ 1&0 &0 &1 \\\\ 0 &0 &0 &1 \\\\ 1&0 &0 & 0 \\end{bmatrix}$\n", "\n", "Note that for a directed graph the matrix is not symmetric.\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Directed\n", "## $A_{ij} \\neq A_{ji}, \\: A_{ii} = 0$\n", "## $k_i^{in} = \\sum_{j=1}^N A_{ji}, \\: k_j^{out} = \\sum_{i=1}^N A_{ij} $\n", "## $ L = \\sum_{i=1}^N k_i^{in} = \\sum_{j=1}^N k_j^{out}= \\frac{1}{2}\\sum_{i,j}^N A_{ij} $" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# WEIGHTED AND UNWEIGHTED NETWORKS\n", "\n", "## $A_{ij} = W_{ij}$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# BIPARTITE NETWORKS \n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "slide" } }, "source": [ "`bipartite graph` (or bigraph) is a graph whose nodes can be divided into two disjoint sets U and V such that every link connects a node in U to one in V; that is, U and V are independent sets. \n", "\n", "- Hits algorithm\n", "- recommendation system\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "ExecuteTime": { "end_time": "2019-06-16T01:26:29.730684Z", "start_time": "2019-06-16T01:26:29.720799Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "import numpy as np\n", "edges = [('甲', '新辣道'), ('甲', '海底捞'), ('甲', '五方院'), \n", " ('乙', '海底捞'), ('乙', '麦当劳'), ('乙', '俏江南'),\n", " ('丙', '新辣道'), ('丙', '海底捞'),\n", " ('丁', '新辣道'), ('丁', '五方院'), ('丁', '俏江南')]" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "ExecuteTime": { "end_time": "2019-06-16T01:29:03.473500Z", "start_time": "2019-06-16T01:29:03.459237Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0 steps\n", "{'新辣道': 3, '俏江南': 2, '五方院': 2, '海底捞': 3, '麦当劳': 1}\n", "{'丁': 7, '丙': 6, '乙': 6, '甲': 8}\n", "1 steps\n", "{'新辣道': 21, '俏江南': 13, '五方院': 15, '海底捞': 20, '麦当劳': 6}\n", "{'丁': 49, '丙': 41, '乙': 39, '甲': 56}\n", "2 steps\n", "{'新辣道': 146, '俏江南': 88, '五方院': 105, '海底捞': 136, '麦当劳': 39}\n", "{'丁': 339, '丙': 282, '乙': 263, '甲': 387}\n", "3 steps\n", "{'新辣道': 1008, '俏江南': 602, '五方院': 726, '海底捞': 932, '麦当劳': 263}\n", "{'丁': 2336, '丙': 1940, '乙': 1797, '甲': 2666}\n", "4 steps\n", "{'新辣道': 6942, '俏江南': 4133, '五方院': 5002, '海底捞': 6403, '麦当劳': 1797}\n", "{'丁': 16077, '丙': 13345, '乙': 12333, '甲': 18347}\n" ] } ], "source": [ "h_dic = {i:1 for i,j in edges}\n", "for k in range(5):\n", " print(k, 'steps')\n", " a_dic = {j:0 for i, j in edges}\n", " for i,j in edges:\n", " a_dic[j]+=h_dic[i]\n", " print(a_dic)\n", " h_dic = {i:0 for i, j in edges}\n", " for i, j in edges:\n", " h_dic[i]+=a_dic[j]\n", " print(h_dic)" ] }, { "cell_type": "code", "execution_count": 120, "metadata": { "ExecuteTime": { "end_time": "2018-05-05T14:01:56.232039Z", "start_time": "2018-05-05T14:01:56.200950Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'海底捞': 0.2636544282409802, '俏江南': 0.17011696374819205, '五方院': 0.20624908818768029, '新辣道': 0.2861876476571226, '麦当劳': 0.07379187216602481}\n" ] } ], "source": [ "def norm_dic(dic):\n", " sumd = np.sum(list(dic.values()))\n", " return {i : dic[i]/sumd for i in dic}\n", " \n", "h = {i for i, j in edges}\n", "h_dic = {i:1/len(h) for i in h}\n", "for k in range(100):\n", " a_dic = {j:0 for i, j in edges}\n", " for i,j in edges: \n", " a_dic[j]+=h_dic[i]\n", " a_dic = norm_dic(a_dic)\n", " h_dic = {i:0 for i, j in edges}\n", " for i, j in edges:\n", " h_dic[i]+=a_dic[j]\n", " h_dic = norm_dic(h_dic)\n", "print(a_dic)" ] }, { "cell_type": "code", "execution_count": 130, "metadata": { "ExecuteTime": { "end_time": "2018-05-05T14:15:33.010759Z", "start_time": "2018-05-05T14:15:32.999634Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'麦当劳': 0.036895936147322755, '海底捞': 0.13182721414423623, '俏江南': 0.08505848191154151, '五方院': 0.10312454403576717, '新辣道': 0.14309382376113222}\n" ] } ], "source": [ "B = nx.Graph()\n", "users, items = {i for i, j in edges}, {j for i, j in edges}\n", "for i, j in edges:\n", " B.add_edge(i,j)\n", "h, a = nx.hits(B) \n", "print({i:a[i] for i in items} )\n", "# {j:h[j] for j in users}" ] }, { "cell_type": "markdown", "metadata": { "ExecuteTime": { "end_time": "2018-05-05T11:09:53.460039Z", "start_time": "2018-05-05T11:09:53.455822Z" }, "slideshow": { "slide_type": "subslide" } }, "source": [ "" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "ExecuteTime": { "end_time": "2019-06-16T01:34:57.083985Z", "start_time": "2019-06-16T01:34:56.218513Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import networkx as nx\n", "Gp = nx.DiGraph()\n", "edges = [('a', 'b'), ('a', 'c'), ('b', 'd'), ('b', 'e'), ('c', 'f'), ('c', 'g'),\n", " ('d', 'h'), ('d', 'a'), ('e', 'a'), ('e', 'h'), ('f', 'a'), ('g', 'a'), ('h', 'a')]\n", "for i, j in edges:\n", " Gp.add_edge(i,j)\n", "nx.draw(Gp, with_labels = True, font_size = 25, font_color = 'blue', alpha = 0.5,\n", " pos = nx.kamada_kawai_layout(Gp))\n", " #pos=nx.spring_layout(Gp, iterations = 5000))" ] }, { "cell_type": "code", "execution_count": 75, "metadata": { "ExecuteTime": { "end_time": "2018-05-05T11:53:11.334949Z", "start_time": "2018-05-05T11:53:11.306472Z" }, "scrolled": true, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1 : 0.5 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.125\n", "2 : 0.3125 0.25 0.25 0.03125 0.03125 0.03125 0.03125 0.0625\n", "3 : 0.15625 0.15625 0.15625 0.125 0.125 0.125 0.125 0.03125\n", "4 : 0.40625 0.078125 0.078125 0.078125 0.078125 0.078125 0.078125 0.125\n", "5 : 0.359375 0.203125 0.203125 0.0390625 0.0390625 0.0390625 0.0390625 0.078125\n", "6 : 0.1953125 0.1796875 0.1796875 0.1015625 0.1015625 0.1015625 0.1015625 0.0390625\n", "7 : 0.34375 0.09765625 0.09765625 0.08984375 0.08984375 0.08984375 0.08984375 0.1015625\n", "8 : 0.37109375 0.171875 0.171875 0.048828125 0.048828125 0.048828125 0.048828125 0.08984375\n", "9 : 0.236328125 0.185546875 0.185546875 0.0859375 0.0859375 0.0859375 0.0859375 0.048828125\n", "10 : 0.306640625 0.1181640625 0.1181640625 0.0927734375 0.0927734375 0.0927734375 0.0927734375 0.0859375\n" ] } ], "source": [ "steps = 11\n", "n = 8\n", "a, b, c, d, e, f, g, h = [[1.0/n for i in range(steps)] for j in range(n)]\n", "for i in range(steps-1):\n", " a[i+1] = 0.5*d[i] + 0.5*e[i] + h[i] + f[i] + g[i]\n", " b[i+1] = 0.5*a[i]\n", " c[i+1] = 0.5*a[i]\n", " d[i+1] = 0.5*b[i]\n", " e[i+1] = 0.5*b[i] \n", " f[i+1] = 0.5*c[i]\n", " g[i+1] = 0.5*c[i]\n", " h[i+1] = 0.5*d[i] + 0.5*e[i]\n", " print(i+1,':', a[i+1], b[i+1], c[i+1], d[i+1], e[i+1], f[i+1], g[i+1], h[i+1]) " ] }, { "cell_type": "markdown", "metadata": { "ExecuteTime": { "end_time": "2018-05-05T12:45:45.265498Z", "start_time": "2018-05-05T12:45:45.261530Z" }, "slideshow": { "slide_type": "subslide" } }, "source": [ "" ] }, { "cell_type": "code", "execution_count": 113, "metadata": { "ExecuteTime": { "end_time": "2018-05-05T12:46:43.999604Z", "start_time": "2018-05-05T12:46:43.988179Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "text/plain": [ "{0: 0.06181813973848581,\n", " 1: 0.11515299000945314,\n", " 2: 0.1100340840842764,\n", " 3: 0.10714737750289352,\n", " 4: 0.10584740866489117,\n", " 5: 0.10584740866489117,\n", " 6: 0.10714737750289352,\n", " 7: 0.11003408408427638,\n", " 8: 0.11515299000945314,\n", " 9: 0.061818139738485794}" ] }, "execution_count": 113, "metadata": {}, "output_type": "execute_result" } ], "source": [ "G = nx.DiGraph(nx.path_graph(10))\n", "pr = nx.pagerank(G, alpha=0.9)\n", "pr" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "slide" } }, "source": [ "# Ingredient-Flavor Bipartite Network\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "slide" } }, "source": [ "# Path 路径\n", "A path is a sequence of nodes in which each node is adjacent to the next one\n", " \n", " - In a directed network, the path can follow only the direction of an arrow. \n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "slide" } }, "source": [ "# Distance 距离\n", "\n", "The distance (shortest path, geodesic path) between two nodes is defined as the number of edges along the shortest path connecting them.\n", "\n", "> If the two nodes are disconnected, the distance is **infinity**.\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "slide" } }, "source": [ "# Diameter 直径\n", "\n", "**Diameter $d_{max}$** is the maximum distance between any pair of nodes in the graph. \n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "slide" } }, "source": [ "# Shortest Path 最短路径\n", "The path with the shortest length between two nodes (distance). \n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "slide" } }, "source": [ "# Average path length/distance, $$ 平均路径长度\n", "\n", "\n", "The average of the shortest paths for all pairs of nodes.\n", "\n", "\n", "- for a **directed graph**: where $d_{ij}$ is the distance from node i to node j\n", "\n", "## $ = \\frac{1}{2 L }\\sum_{i, j \\neq i} d_{ij}$ \n", "\n", "> 有向网络当中的$d_{ij}$数量是链接数量L的2倍\n", "\n", "- In an **undirected** graph $d_{ij} =d_{ji}$ , so we only need to count them once \n", "\n", "> 无向网络当中的$d_{ij}$数量是链接数量L\n", "\n", "\n", "## $ = \\frac{1}{L }\\sum_{i, j > i} d_{ij}$\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "slide" } }, "source": [ "# Cycle 环\n", "A path with the same start and end node. \n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "slide" } }, "source": [ "# CONNECTEDNESS\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "# Connected (undirected) graph\n", "\n", "> In a connected **undirected** graph, any two vertices can be joined by a path. \n", "\n", "> A disconnected graph is made up by two or more connected components. \n", "\n", "- Largest Component: Giant Component\n", "- The rest: Isolates\n", "\n", "## Bridge 桥\n", "if we erase it, the graph becomes disconnected. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "## The adjacency matrix of a network with several components can be written in a block-diagonal form, so that nonzero elements are confined to squares, with all other elements being zero:\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "# 结构洞\n", "\n", "洞在哪里?" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "洞在桥下!\n", "\n", "# 结构“坑”" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "subslide" } }, "source": [ "# Strongly connected *directed* graph 强连通有向图\n", "\n", "has a path from each node to every other node and vice versa (e.g. AB path and BA path).\n", "\n", "# Weakly connected directed graph 弱连接有向图\n", "it is connected if we disregard the edge directions.\n", "\n", "Strongly connected components can be identified, but not every node is part of a nontrivial strongly connected component. \n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "subslide" } }, "source": [ "# In-component -> SCC ->Out-component\n", "\n", "- In-component: nodes that can reach the **scc** (strongly connected component 强连通分量或强连通子图) \n", "- Out-component: nodes that can be reached from the scc. \n", "\n", "> 万维网的蝴蝶结模型🎀 bowtie model\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "subslide" } }, "source": [ "# Clustering coefficient 聚集系数\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "subslide" } }, "source": [ "# Clustering coefficient 聚集系数\n", "what fraction of your neighbors are connected? Watts & Strogatz, Nature 1998.\n", "\n", "# 节点$i$的朋友之间是否也是朋友?\n", "\n", "## Node i with degree $k_i$ 节点i有k个朋友\n", "\n", "> ## $e_i$ represents the number of links between the $k_i$ neighbors of node i.\n", "\n", "> ## 节点i的k个朋友之间全部是朋友的数量 $\\frac{k_i(k_i -1)}{2}$\n", "\n", "\n", "# $C_i = \\frac{2e_i}{k_i(k_i -1)}$\n", "\n", "$C_i$ in [0,1]\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "# 节点的**聚集系数**\n", "\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "# Global Clustering Coefficient 全局聚集系数(i.e., Transtivity 传递性)\n", "\n", "> triangles 三角形\n", "> triplets 三元组\n", "\n", "- A triplet consists of three connected nodes. \n", "- A triangle therefore includes three closed triplets\n", "- A triangle forms three **connected triplets** \n", "- **A connected triplet** is defined to be a connected subgraph consisting of three vertices and **two edges**. \n", " \n", "## $C = \\frac{\\mbox{number of closed triplets}}{\\mbox{number of connected triplets of vertices}}$\n", "\n", "## $C = \\frac{3 \\times \\mbox{number of triangles}}{\\mbox{number of connected triplets of vertices}}$\n", " " ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "ExecuteTime": { "end_time": "2017-05-20T23:58:35.189052", "start_time": "2017-05-20T23:58:35.014423" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "image/png": "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\nasOHK1IRyw1xd3fn/fffZ/LkyXTu3JkZM2aQn59vOpZcgYpYruXnn3/m+eefx9/fn7vvvpvDhw8z\nbty4qx7SGDR4MJsiIoh9/HHqurgw0NWVhcAKYCEw0NWVei4uxD3+OJsiIlTCV6C1puWm/fjjj/Tp\n0wc3NzeWL1/OHXfcYTqSXCAnJwdXV1dycnK0OItc5rfffiMsLIwVK1bw7LPPMmrUqBtahS01NZXl\n4eEkJSRwJi0Nj4oVqd+oEX3799eJWdegIpYikZuby5QpU1i0aBGLFy+ma9eupiPJX9LS0qhTpw5/\n/PGH6ShSipw4cYLp06ezZMkS+vbty5gxY7QDmyGampYi4eTkxKRJk1i3bh1Dhgxh6NChZBWwHq2U\nPE1Ly4X++OMPJkyYQIMGDUhPT2ffvn3Mnj1bJWyQiliKVMuWLYmPj+fYsWM0a9aM77//3nQkh6e9\niAX+/HPw2muv4eXlxa+//kpMTAwLFiygZs2apqM5PBWxFLmKFSvy4YcfMmzYMFq3bs3ChQvRERBz\nNCJ2bBkZGcyYMQNPT08OHTrE119/zZIlS6hdu7bpaPIXFbEUC4vFwjPPPMNXX33Fu+++S48ePfj9\n999Nx3JIKmLHlJWVxbx58/D09CQyMpJdu3axYsUKvLy8TEeTS6iIpVg1bNiQvXv3UrduXXx8fPj8\n889NR3I4mpp2LDk5Obz77rvUr1+fzz77jC1btrBu3Tq8vQvaB0lKAxWxFLvy5cvz5ptv8t5779Gn\nTx9effVVcnJyTMdyGBoRO4bc3FzCw8Np0KAB69evZ926dXzyySf4+PiYjibXoCKWEvPoo48SFxdH\nXFwcLVu25IcffjAdySGoiO1bfn4+q1evxtvbm6VLl7Js2TK2b99OQECA6WhSSCpiKVHVq1dn8+bN\n9OrVi4CAAFasWGE6kt3Thg/2yWq1smHDBpo0acK8efOYP38+X3zxBS1btjQdTa6Tk+kA4njKlCnD\nyy+/TJs2bejduzfbt29n/vz53Hrrraaj2SVt+GBfrFYrW7ZsISQkBKvVyrRp0+jcubNWTbNhGhGL\nMT4+PkRHR+Pm5oavry/ffvut6Uh2SVPT9sFqtfLZZ5/x4IMPMnr0aF599VViYmLo0qWLStjGqYjF\nqFtuuYVFixYxffp0unfvTlhYGHl5eaZj2RVNTdu+3bt38/DDD/+9at13331Hjx49VMB2QkUspcIT\nTzxBdHQ027Zto3379vzyyy+mI9kNTU3brsjISDp27Ei/fv3o378/33//Pb1796Zs2bKmo0kRUhFL\nqXHXXXexa9cu2rZti5+fHxs3bjQdyS5oatr2xMfH0717d5544gl69OjBoUOH6N+/P05OOq3HHqmI\npVQpW7Ys48ePZ+PGjbzyyisMHjyYjIwM07FsmorYdhw4cIB//OMfdO7cmXbt2nH48GGee+45nJ2d\nTUeTYqQillKpefPmxMXFcerUKfz9/dm3b5/pSDZLK2uVfocPHyY4OJiHH36YZs2akZyczNChQ3Fx\ncTEdTUqAilhKrQoVKrBy5UpGjx7NI488wltvvaXNI26ARsSl148//sgzzzxD8+bNadiwIcnJyYwa\nNQo3NzfT0aQEqYilVLNYLPTt25dvvvmG5cuX061bN1JTU03Hsikq4tLnl19+4YUXXuD++++nRo0a\nHD58mPHjx2vmwkGpiMUmeHp6smfPHu677z58fHzYuXOn6Ug2Q1PTpcfx48cZPnw4jRs3xt3dncTE\nRKZMmULFihVNRxODVMRiM5ydnZk2bRrLly9nwIABjBo1iuzsbNOxSjWr1aoRcSnw+++/M2bMGO69\n917y8/P5/vvvmT59OlWqVDEdTUoBFbHYnEceeYS4uDgSExN58MEHSUpKMh2p1MrOzsZiseisW0NO\nnTpFaGgoDRo04I8//iA+Pp65c+dy++23m44mpYiKWGxS1apV+fjjjxkwYAAPPvggS5cu1YlcBdCq\nWmakp6czdepUPD09OXr0KJGRkbzzzjvcddddpqNJKaQiFptlsVgYMmQIn3/+OW+++Sa9e/fmjz/+\nMB2rVNGqWiUrMzOTN998E09PT/bv389XX33F0qVLqVu3ruloUoqpiMXmNWrUiKioKCpXroyPjw97\n9uwxHanU0PHhknHu3DnefvttPD09+frrr/nss89YtWoVDRo0MB1NbICKWOyCq6sr8+fPZ+7cufTo\n0YPJkyeTm5trOpZxmpouXjk5OSxevJj69euzbds2Nm3axPr167nvvvtMRxMboiIWu/LYY48RGxtL\nREQEDz/8MEePHjUdyShNTRePvLw8li9fzj333MPatWtZs2YNmzdvxs/Pz3Q0sUEqYrE7NWvWZMeO\nHXTp0oWmTZvy0UcfmY5kjKami1Z+fj5r167lvvvu47333mPx4sXs3LmT5s2bm44mNkxbeYhdKlu2\n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\nRK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "G1 = nx.complete_graph(4)\n", "pos = nx.spring_layout(G1) #定义一个布局,此处采用了spring布局方式\n", "nx.draw(G1, pos = pos, with_labels = True)" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "ExecuteTime": { "end_time": "2017-05-20T23:58:35.785051", "start_time": "2017-05-20T23:58:35.781593" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1.0\n" ] } ], "source": [ "print(nx.transitivity(G1))" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "ExecuteTime": { "end_time": "2017-05-20T23:58:36.706567", "start_time": "2017-05-20T23:58:36.550505" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "image/png": "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\nt7SrTd6HDx8GqPQyecOGDSu113RBQQH3NGnCd6WlF/xOuBjwBvYAzX+/LRJozJnJ+KyjQHNXV/L2\n79fV1L9TEQsAW7ZsYfDgwQwYMIA33nhD2xeKOIBff/210svkhYWFeHh4XHOZ/LM1azjy7rssKC29\n4J+VCXQCTp532zQgBfj0olzD3NzwnzCBl8eOrdLXby/0YToB4L/+67/IzMzk6aefpkOHDixbtox7\n7rnHdCwRuQF16tTh7rvv5u67777mYysqKvjll18uW9Q5OTmkpKRQUFBAbmYm8ReVMJwp4LoX3VaX\nMx9julhISQmZ2dl/5CU5JBWxnOPj48Mnn3zCnDlz6NixI2+++SZPPfWULuQScQI1atSgfv361K9f\n/6o/hIc/+iiea9decrsHcPyi244Bnpd5Dk/gRFHRDaR1LOYvvxObYrFYGDFiBF9++SWzZs1iwIAB\nFOkvjIj8zsPL67JTbkugDNh33m3fAP6XeewJwNP7cp86dk4qYrmse++9l9TUVG6//XYCAgLYtm2b\n6UgiYgNatmlDqqvrJbe7A/2BWM5cuPUPYA3w5GWeI83NjZatW1dlTLuii7Xkmj777DOefvpphg8f\nTkxMjPbpFXFiV7pqGi78HHED4C3gzxc9RldNX0oTsVxT79692bVrFzt27KBr1658//33piOJiCG+\nvr707tmTDy9z7Yg3sIozF259z6UlDPChxUKfXr1UwudREUul3HbbbXz++ef069ePdu3a8dFHH5mO\nJCKGjI6O5i03N/Kv8/vygUluboyOjq6KWHZLS9Ny3dLT0wkPD6djx468/fbbeHh4mI4kItVsblIS\nb0VFaa/pm0ATsVy34OBgdu3ahcViISgoiPT0dNORRKSaDR85knFTptDZ3Z3pFgtX+mzFUWCaxUJn\nlfAV1YyPj483HULsT+3atenbty8NGzYkIiICgA4dOugzxyJOpG1ICN169GD1kSOM+te/yKtVix/L\nysgFtgNJbm6MdHGh7mOPMXP+fB7t29d0ZJukpWm5Yd9//z2DBg3C3d2dhQsXctttt5mOJCLVrLCw\nkIXJyeRlZ3OiqAhPb29atm7N4CFDdGHWNaiI5aYoKysjISGBOXPmMG/ePPr06WM6koiIXVARy021\nbds2IiIi6Nu3L5MmTcL1Mh/8FxGR/9DFWnJTde7cmczMTA4dOkS7du345z//aTqSiIhNUxHLTeft\n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\nQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "G2 = nx.Graph()\n", "for i, j in [(1, 2), (1, 3), (1, 0), (3, 0)]:\n", " G2.add_edge(i,j)\n", "nx.draw(G2,pos = pos, with_labels = True)" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "ExecuteTime": { "end_time": "2017-05-21T00:00:07.271947", "start_time": "2017-05-21T00:00:07.268756" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.6\n" ] } ], "source": [ "print(nx.transitivity(G2))\n", "# 开放三元组有5个,闭合三元组有3个" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "ExecuteTime": { "end_time": "2017-05-20T23:58:41.789976", "start_time": "2017-05-20T23:58:41.629511" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "image/png": "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\n4L1TAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "G3 = nx.Graph()\n", "for i, j in [(1, 2), (1, 3), (1, 0)]:\n", " G3.add_edge(i,j)\n", "nx.draw(G3, pos =pos, with_labels = True)" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "ExecuteTime": { "end_time": "2017-05-21T00:00:29.398434", "start_time": "2017-05-21T00:00:29.394775" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.0\n" ] } ], "source": [ "print(nx.transitivity(G3))\n", "# 开放三元组有3个,闭合三元组有0个" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "THREE CENTRAL QUANTITIES IN NETWORK SCIENCE\n", "- A. Degree distribution: \t\t\t $p_k$\n", "- B. Path length: \t\t\t\t\t\t$$\t\t\t\n", "- C. Clustering coefficient: $C_i$\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "subslide" } }, "source": [ "# Typical Network Science Research\n", "\n", "- Discovering, Modeling, Verification\n", " - WATTSDJ,STROGATZSH.Collective dynamics of‘small-world’ networks. Nature, 1998, 393(6684): 440–442.\n", " - BARABÁSI A-L, ALBERT R. Emergence of scaling in random networks. Science, 1999, 286(5439): 509-512." ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "subslide" } }, "source": [ "# Typical Math Style\n", "Fan Chung & Linyuan Lu, The average distance in random graphs with given expected degree,. PNAS, 19, 15879-15882 (2002)." ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "subslide" } }, "source": [ "# Typical Physical Style\n", "A.-L.Barabási,R.Albert,H.Jeong Mean-field theory for scale-free random networks. Physica A 272, 173–187 (1999)." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "# Typical Computer Science Style\n", "\n", "- Community detection\n", "- Link prediction\n", "- Recommendation algorithms" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "# Typical control sytle\n", "Controllability of Complex Networks\n", "\n", "Liu Y Y, Slotine J J, Barabási A L. Nature, 2011, 473(7346): 167-173." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# 阅读材料\n", "- Barabasi 2016 Network Science. Cambridge\n", "- 汪小帆、李翔、陈关荣 2012 网络科学导论. 高等教育出版社\n", "- 梅拉妮·米歇尔 2011 复杂,湖南科学技术出版社\n", "- 菲利普-鲍尔 2004 预知社会:群体行为的内在法则,当代中国出版社\n", "- 巴拉巴西 2007 链接:网络新科学 湖南科技出版社" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "celltoolbar": "Slideshow", "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.3" }, "latex_envs": { "LaTeX_envs_menu_present": true, "autoclose": false, "autocomplete": true, "bibliofile": "biblio.bib", "cite_by": "apalike", "current_citInitial": 1, "eqLabelWithNumbers": true, "eqNumInitial": 0, "hotkeys": { "equation": "Ctrl-E", "itemize": "Ctrl-I" }, "labels_anchors": false, "latex_user_defs": false, "report_style_numbering": false, "user_envs_cfg": false }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": false, "sideBar": false, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": { "height": "48px", "left": "955.991px", "top": "0px", "width": "159px" }, "toc_section_display": false, "toc_window_display": true }, "toc_position": { "height": "53px", "left": "580.008px", "right": "20px", "top": "120px", "width": "531px" } }, "nbformat": 4, "nbformat_minor": 1 }