Finding and evaluating community structure in networks

合集下载

问题建议型英语作文

问题建议型英语作文

问题建议型英语作文Title: Addressing Issues: A Suggested Approach。

In today's interconnected world, addressing various issues effectively is crucial for societal progress and individual well-being. Whether it's environmental concerns, social inequality, or technological advancements, finding solutions requires careful consideration and proactive measures. This essay aims to explore strategies fortackling prevalent issues and proposes actionable steps for resolution.Identifying the Problem: The first step in resolving any issue is to accurately identify and understand its underlying causes and implications. For instance, in the case of environmental degradation, factors such as deforestation, pollution, and climate change contribute to the crisis. By conducting thorough research and analysis, stakeholders can gain insights into the root causes of the problem.Raising Awareness: Once the problem is identified, raising awareness among the public is essential. Through education campaigns, media outreach, and community engagement, individuals can be informed about the issue and its potential impact. For example, initiatives like workshops, seminars, and social media campaigns can help disseminate information and mobilize support for action.Promoting Collaboration: Collaboration among various stakeholders is key to addressing complex issues effectively. Governments, NGOs, businesses, and communities must work together to develop comprehensive solutions. By pooling resources, expertise, and networks, stakeholders can leverage collective strength to implement sustainable interventions. Collaboration also fosters innovation and allows for the exchange of best practices.Implementing Policies: Policy intervention plays a critical role in addressing systemic issues and driving change at scale. Governments can enact regulations, incentives, and enforcement mechanisms to encourageresponsible behavior and discourage harmful practices. For instance, policies promoting renewable energy, waste management, and conservation efforts can mitigate environmental degradation and promote sustainability.Empowering Communities: Empowering communities to take ownership of the issues affecting them is essential forlong-term sustainability. By involving local stakeholdersin decision-making processes and capacity-building initiatives, communities can develop tailored solutionsthat address their specific needs and challenges. This bottom-up approach fosters inclusivity, resilience, and cultural sensitivity.Harnessing Technology: Technology can be a powerfultool for addressing a wide range of issues, from healthcare to education to environmental conservation. By leveraging innovations such as artificial intelligence, blockchain,and renewable energy, stakeholders can optimize resource allocation, streamline processes, and scale impact. However, it's essential to ensure equitable access to technology and mitigate potential risks such as data privacy concerns.Measuring Impact: Monitoring and evaluation arecritical for assessing the effectiveness of interventions and refining strategies over time. By establishing clear metrics and benchmarks, stakeholders can track progress, identify gaps, and make informed decisions. Additionally, transparency and accountability are essential for building trust and credibility among stakeholders.Continued Advocacy: Resolving complex issues often requires sustained advocacy and activism. Even when progress is made, challenges may persist, requiring ongoing commitment and resilience. By staying engaged, raising voices, and advocating for change, individuals can contribute to shaping a better future for themselves and future generations.In conclusion, addressing prevalent issues requires a multifaceted approach that encompasses awareness-raising, collaboration, policy intervention, community empowerment, technological innovation, impact measurement, and continued advocacy. By working together and taking proactive steps,we can overcome challenges and build a more sustainable and equitable world for all.。

寻求建议英文作文高级句子

寻求建议英文作文高级句子

寻求建议英文作文高级句子英文,As a language enthusiast, I'm excited to share some advanced sentence structures and expressions that can elevate your English writing. Here are some tips and examples:1. Incorporate complex sentence structures:Example: "Despite the challenges posed by the pandemic, the company managed to not only survive but also thrive in the market."中文,尽管受到疫情的挑战,但公司不仅存活下来了,而且在市场上蓬勃发展。

2. Use varied sentence beginnings:Example: "With a keen eye for detail, she meticulously crafted her argument, leaving no room for doubt."中文,凭借着对细节的敏锐观察,她精心构思了她的论点,不给人留下任何疑虑。

3. Employ sophisticated vocabulary:Example: "The protagonist's erudition and perspicacity were evident throughout the novel, captivating readers with its intellectual depth."中文,小说中主人公的博学与洞察力贯穿始终,以其深厚的智慧吸引着读者。

4. Utilize idiomatic expressions:Example: "He hit the ground running in his new job, proving himself to be a valuable asset to the team from day one."中文,他在新工作中立马就上手,从第一天起就证明了自己是团队中的宝贵资产。

寻找不一样的地方英文作文

寻找不一样的地方英文作文

寻找不一样的地方英文作文Title: Exploring Uniqueness: Finding the Differences。

In the vast tapestry of our world, there lies a multitude of wonders waiting to be discovered. Each corner of the globe possesses its own unique charm, its own distinct characteristics that set it apart from the rest. Today, let us embark on a journey to explore the differences, to delve into the nuances that make each place special in its own right.One of the most intriguing aspects of traveling is uncovering the subtle contrasts between destinations. From the bustling streets of metropolitan cities to the tranquil serenity of remote villages, every locale presents a new perspective, a fresh lens through which to view the world. It is in these differences that we find the true essence of exploration.In bustling cities like New York City and Tokyo, thepulse of life beats with a frenetic energy unmatched anywhere else. Skyscrapers tower into the sky, casting long shadows over bustling streets filled with people from all walks of life. The neon glow of Times Square in New York City and the vibrant chaos of Shibuya Crossing in Tokyo are iconic images that encapsulate the unique spirit of these metropolises.Contrast this with the serene beauty of rural landscapes, where time seems to slow to a gentle crawl. Rolling hills dotted with grazing sheep, quaint cottages nestled amidst fields of wildflowers – these are the scenes that evoke a sense of peace and tranquility. Places like the Cotswolds in England and the Provence region in France are renowned for their picturesque countryside, offering a stark contrast to the urban jungle.Cultural differences also play a significant role in shaping the identity of a place. From the language spoken to the customs observed, each culture brings its own flavor to the global tapestry. In Japan, the tradition of bowing as a sign of respect is deeply ingrained in society, whilein Italy, the ritual of enjoying a leisurely meal with family and friends is cherished as a cornerstone of Italian culture.Religious practices further contribute to the diversity of our world, with sacred sites serving as a testament to humanity's spiritual journey. The serene majesty of Angkor Wat in Cambodia, the grandeur of the Vatican City in Rome – these places of worship stand as symbols of devotion and faith, each with its own unique story to tell.Even within nature, diversity abounds. From the lush rainforests of the Amazon to the stark beauty of the Sahara Desert, the natural world is a treasure trove of contrasts. The vibrant hues of coral reefs in the Great Barrier Reef and the icy expanse of Antarctica's glaciers are but a few examples of nature's endless creativity.In conclusion, the world is a mosaic of differences, each one adding depth and richness to the tapestry of human experience. By embracing these contrasts, we gain a deeper understanding of ourselves and the world around us. So letus continue to explore, to seek out the differences that make each place special, for it is in these differences that we find the true beauty of our world.。

试图找到解决办法英语作文

试图找到解决办法英语作文

试图找到解决办法英语作文Searching for Solutions。

In today’s complex and ever-changing world, problems are inevitable. However, what sets successful individuals and organizations apart is their ability to find solutions to these problems. Whether it’s a personal or professional issue, there are several steps that can be taken toidentify and resolve the problem at hand.The first step in finding a solution is to clearly define the problem. This involves asking questions, gathering information, and analyzing the situation. It’s important to understand the root cause of the problem and the factors that contribute to it. Once the problem is clearly defined, it’s easier to identify potential solutions.The next step is to brainstorm potential solutions. This involves generating as many ideas as possible, withoutjudging or dismissing any of them. It’s important to involve others in the brainstorming process, as different perspectives can lead to more creative and effective solutions. Once a list of potential solutions is generated, it’s important t o evaluate each one based on its feasibility, effectiveness, and potential consequences.After evaluating potential solutions, it’s time to select the best one. This involves weighing the pros and cons of each solution and determining which one is most likely to solve the problem and have the least negative consequences. It’s important to consider the resources and time required to implement the solution, as well as the potential impact on stakeholders.Once a solution is selected, it’s important to develop an action plan. This involves outlining the steps required to implement the solution, assigning responsibilities, and setting deadlines. It’s important to communicate the action plan to all relevant stakeholders and to monitor progress regularly.Finally, it’s important to evaluate the effectiveness of the solution. This involves measuring the results and determining whether the problem has been fully resolved. If the solution was not effective, it’s important to go back to the previous steps and identify a new solution.In conclusion, finding solutions to problems requires a systematic and thoughtful approach. By clearly defining the problem, brainstorming potential solutions, evaluating and selecting the best one, developing an action plan, and evaluating the effectiveness of the solution, individuals and organizations can overcome even the most complex challenges.。

Finding Strength in Vulnerability

Finding Strength in Vulnerability

Finding Strength in Vulnerability As human beings, we often associate vulnerability with weakness. We are conditioned to believe that showing vulnerability is a sign of fragility and incapacity. However, the truth is that vulnerability can actually be a source of strength. It takes courage to be vulnerable, to open ourselves up to thepossibility of getting hurt, and to show our true selves to others. In this essay, I will explore the concept of finding strength in vulnerability from various perspectives, including personal experiences, psychological research, and societal implications. From a personal standpoint, I have come to understand the power of vulnerability through my own experiences. There have been moments in my life when I felt compelled to hide my true emotions and put on a facade of strength. I believed that showing vulnerability would make me appear weak and incapable. However, as I have grown and matured, I have realized that it takes great strength to be vulnerable. It takes courage to express our true feelings, fears, and insecurities. By allowing ourselves to be vulnerable, we open ourselves up to deeper connections with others and create opportunities for empathy and understanding. Psychological research also supports the idea that vulnerability can be a source of strength. Brene Brown, a research professor at the University of Houston, has conducted extensive research on the topic of vulnerability. In her famous TED Talk, "The Power of Vulnerability," she discusses how embracing vulnerability can lead to a more fulfilling and authentic life. Brown argues that vulnerability is not a sign of weakness, but rather a measure of courage. She emphasizes the importance of allowing ourselves to be seen, even when it is uncomfortable or scary. This research highlights the idea that vulnerability is not something to be feared, but rather embraced as a source of strength and authenticity. From a societal perspective, the idea of finding strength in vulnerability has important implications. In a world that often values stoicism and emotional detachment, the concept of vulnerability can be seen as revolutionary. By embracing vulnerability, individuals can create more meaningful and authentic connections with others. This can lead to greater empathy, understanding, and compassion within communities. Additionally, by allowing ourselves to be vulnerable, we can break down the stigma surrounding mental healthand emotional well-being. This can lead to a more open and supportive society, where individuals feel empowered to seek help and support when needed. In conclusion, the concept of finding strength in vulnerability is a powerful and transformative idea. From personal experiences to psychological research to societal implications, it is clear that vulnerability is not a sign of weakness, but rather a source of courage and authenticity. By embracing vulnerability, individuals can create deeper connections with others, lead more fulfilling lives, and contribute to a more empathetic and supportive society. It is time to shift our perspective on vulnerability and recognize it for the strength that it truly is.。

如何找到大学英语作文

如何找到大学英语作文

Finding high-quality English essays in a university setting is a multifaceted process that requires strategic thinking, critical analysis, and an understanding of academic standards. This endeavor necessitates exploring various sources, honing research skills, evaluating content quality, and ensuring adherence to academic conventions. Below is a detailed guide on how to accomplish this task.**Step 1: Identifying the Right Sources**The first step towards finding a top-notch English essay is pinpointing the right resources. Universities often have digital libraries, archives, and databases like JSTOR, Academic Search Premier, or Project MUSE which house thousands of scholarly articles and essays. These platforms are excellent starting points as they ensure credibility and reliability of the content due to their rigorous peer-review processes.Moreover, don't underestimate the value of your course materials, textbooks, and recommended readings. Professors often include exemplary essays in these resources or suggest authors known for their masterful writing in English studies. Online repositories like Google Scholar can also be a goldmine if used effectively with specific search terms and filters to narrow down to university-level English essays.**Step 2: Formulating Effective Search Strategies**To find relevant essays, develop a clear and concise search strategy. Use keywords related to your topic, such as "English literature," "academic discourse," "rhetorical analysis," etc., combined with phrases like "model essays" or "best examples." Also, consider using Boolean operators (AND, OR, NOT) to refine searches and find essays that meet your criteria.**Step 3: Evaluating Quality Parameters**Once you've gathered a list of potential essays, it's time to assess their quality. A high-quality university English essay typically:- **Has a Clear Thesis Statement**: It should present a well-defined argument or perspective that guides the entire essay.- **Demonstrates Critical Thinking**: The author should engage deeply with the subject matter, offering insightful interpretations and original ideas.- **Uses Appropriate Language and Grammar**: The language should be sophisticated yet clear, adhering to standard English grammar rules without errors.- **Presents Evidence and Citation**: The arguments should be backed by credible sources, following a recognized citation style like APA, MLA, or Chicago.- **Structure and Organisation**: The essay should follow a logical structure, including an introduction, body paragraphs, and conclusion, each serving a distinct purpose.- **Clarity and Cohesion**: The essay must maintain a consistent flow of ideas, with transitions between paragraphs that show how they relate to the overall thesis.**Step 4: Ensuring Academic Integrity**While using existing essays as models, remember that plagiarism is strictly forbidden. Always acknowledge any sources used, even when using them for reference or inspiration. Make sure to understand the principles of academic integrity and apply them in your work.**Step 5: Seeking Peer Review or Expert Opinion**Lastly, one of the best ways to gauge the quality of an English essay is through feedback from peers or experts. Join study groups, discuss essays with classmates, or seek advice from professors or teaching assistants. They can provide valuable insights into what makes an essay stand out academically.In summary, locating high-quality English essays in a university context involves meticulous searching, critical evaluation, and a commitment to academic integrity. By employing these strategies, you will not only find excellent examples to learn from but also enhance your own ability to write compelling, scholarly English essays.Remember, while finding good examples is essential, the true mastery comesfrom understanding why they're considered exceptional and applying those principles to your own writing. Continuously refining your writing skills, staying up-to-date with academic trends, and practicing consistently are key to crafting outstanding English essays.。

Finding community structure in very large networks

Finding community structure in very large networksAaron Clauset,1M.E.J.Newman,2and Cristopher Moore1,31Department of Computer Science,University of New Mexico,Albuquerque,New Mexico87131,USA2Department of Physics and Center for the Study of Complex Systems,University of Michigan,Ann Arbor,Michigan48109,USA 3Department of Physics and Astronomy,University of New Mexico,Albuquerque,New Mexico87131,USA(Received30August2004;published6December2004)The discovery and analysis of community structure in networks is a topic of considerable recent interestwithin the physics community,but most methods proposed so far are unsuitable for very large networksbecause of their computational cost.Here we present a hierarchical agglomeration algorithm for detectingcommunity structure which is faster than many competing algorithms:its running time on a network with nvertices and m edges is O͑md log n͒where d is the depth of the dendrogram describing the communitystructure.Many real-world networks are sparse and hierarchical,with mϳn and dϳlog n,in which case ouralgorithm runs in essentially linear time,O͑n log2n͒.As an example of the application of this algorithm we useit to analyze a network of items for sale on the web site of a large on-line retailer,items in the network beinglinked if they are frequently purchased by the same buyer.The network has more than400000vertices and2ϫ106edges.We show that our algorithm can extract meaningful communities from this network,revealinglarge-scale patterns present in the purchasing habits of customers.DOI:10.1103/PhysRevE.70.066111PACS number(s):89.75.Hc,05.10.Ϫa,87.23.Ge,89.20.HhI.INTRODUCTIONMany systems of current interest to the scientific commu-nity can usefully be represented as networks[1–4].Ex-amples include the internet[5]and the World Wide Web [6,7],social networks[8],citation networks[9,10],food webs[11],and biochemical networks[12,13].Each of these networks consists of a set of nodes or vertices representing, for instance,computers or routers on the internet or people in a social network,connected together by links or edges,rep-resenting data connections between computers,friendships between people,and so forth.One network feature that has been emphasized in recent work is community structure,the gathering of vertices into groups such that there is a higher density of edges within groups than between them[14].The problem of detecting such communities within networks has been well studied. Early approaches such as the Kernighan-Lin algorithm[15], spectral partitioning[16,17],or hierarchical clustering[18] work well for specific types of problems(particularly graph bisection or problems with well defined vertex similarity measures),but perform poorly in more general cases[19].To combat this problem a number of new algorithms have been proposed in recent years.Girvan and Newman[20,21] proposed a divisive algorithm that uses edge betweenness as a metric to identify the boundaries of communities.This al-gorithm has been applied successfully to a variety of net-works,including networks of email messages,human and animal social networks,networks of collaborations between scientists and musicians,metabolic networks,and gene net-works[20,22–30].However,as noted in[21],the algorithm makes heavy demands on computational resources,running in O͑m2n͒time on an arbitrary network with m edges and n vertices,or O͑n3͒time on a sparse graph(one in which m ϳn,which covers most real-world networks of interest). This restricts the algorithm’s use to networks of at most a few thousand vertices with current hardware.More recently a number of faster algorithms have been proposed[31–33].In[32],one of us proposed an algorithm based on the greedy optimization of the quantity known as modularity[21].This method appears to work well both in contrived test cases and in real-world situations,and is sub-stantially faster than the algorithm of Girvan and Newman.A naive implementation runs in time O(͑m+n͒n),or O͑n2͒on a sparse graph.Here we propose a different algorithm that performs the same greedy optimization as the algorithm of[32]and there-fore gives identical results for the communities found.How-ever,by exploiting some shortcuts in the optimization prob-lem and using more sophisticated data structures,it runs far more quickly,in time O͑md log n͒where d is the depth of the“dendrogram”describing the network’s community structure.Many real-world networks are sparse,so that m ϳn;and moreover,for networks that have a hierarchical structure with communities at many scales,dϳlog n.For such networks our algorithm has essentially linear running time,O͑n log2n͒.This is not merely a technical advance but has substantial practical implications,bringing within reach the analysis of extremely large works of107vertices or more should be possible in reasonable run times.As an example, we give results from the application of the algorithm to a recommender network of books from the on-line bookseller ,which has more than400000vertices and 2ϫ106edges.II.THE ALGORITHMModularity[21]is a property of a network and a specific proposed division of that network into communities.It mea-sures when the division is a good one,in the sense that there are many edges within communities and only a few betweenPHYSICAL REVIEW E70,066111(2004)them.Let A v w be an element of the adjacency matrix of the network;thusA v w=ͭ1if vertices v and w are connected,0otherwise,͑1͒and suppose the vertices are divided into communities such that vertex v belongs to community c v.Then the fraction of edges that fall within communities,i.e.,that connect vertices that both lie in the same community,is͚v w A v w␦͑c v,c w͚͒v w A v w=12m͚v wA v w␦͑c v,c w͒,͑2͒where the␦function␦͑i,j͒is1if i=j and0otherwise,andm=12͚v w A v w is the number of edges in the graph.This quan-tity will be large for good divisions of the network,in the sense of having many within-community edges,but it is not, on its own,a good measure of community structure since it takes its largest value of1in the trivial case where all verti-ces belong to a single community.However,if we subtract from it the expected value of the same quantity in the case of a randomized network,we do get a useful measure.The degree k v of a vertex v is defined to be the number of edges incident upon it:k v=͚w A v w.͑3͒The probability of an edge existing between vertices v and w if connections are made at random but respecting vertex de-grees is k v k w/2m.We define the modularity Q to beQ=12m͚v wͫA v w−k v k w2mͬ␦͑c v,c w͒.͑4͒If the fraction of within-community edges is no different from what we would expect for the randomized network, then this quantity will be zero.Nonzero values represent de-viations from randomness,and in practice it is found that a value above about0.3is a good indicator of significant com-munity structure in a network.If high values of the modularity correspond to good divi-sions of a network into communities,then one should be able tofind such good divisions by searching through the possible candidates for ones with high modularity.Whilefinding the global maximum modularity over all possible divisions seems hard in general,reasonably good solutions can be found with approximate optimization techniques.The algo-rithm proposed in[32]uses a greedy optimization in which, starting with each vertex being the sole member of a com-munity of one,we repeatedly join together the two commu-nities whose amalgamation produces the largest increase in Q.For a network of n vertices,after n−1such joins we are left with a single community and the algorithm stops.The entire process can be represented as a tree whose leaves are the vertices of the original network and whose internal nodes correspond to the joins.This dendrogram represents a hier-archical decomposition of the network into communities at all levels.The most straightforward implementation of this idea (and the only one considered in[32])involves storing the adjacency matrix of the graph as an array of integers and repeatedly merging pairs of rows and columns as the corre-sponding communities are merged.For the case of the sparse graphs that are of primary interest in thefield,however,this approach wastes a good deal of time and memory space on the storage and merging of matrix elements with value0, which is the vast majority of the adjacency matrix.The al-gorithm proposed in this paper achieves speed(and memory efficiency)by eliminating these needless operations.To simplify the description of our algorithm let us define the following two quantities:e ij=12m͚v wA v w␦͑c v,i͒␦͑c w,j͒,͑5͒which is the fraction of edges that join vertices in community i to vertices in community j,anda i=12m͚vk v␦͑c v,i͒,͑6͒which is the fraction of ends of edges that are attached to vertices in community i.Then,writing␦͑c v,c w͒=͚i␦͑c v,i͒␦͑c w,i͒,we have,from Eq.(4),Q=12m͚v wͫA v w−k v k w2m͚ͬi␦͑c v,i͒␦͑c w,i͒=͚iͫ12m͚v w A v w␦͑c v,i͒␦͑c w,i͒−12m͚vk v␦͑c v,i͒12m͚wk w␦͑c w,i͒ͬ=͚i͑e ii−a i2͒.͑7͒The operation of the algorithm involvesfinding the changes in Q that would result from the amalgamation of each pair of communities,choosing the largest of them,and performing the corresponding amalgamation.One way to en-visage(and implement)this process is to think of the net-work as a multigraph,in which a whole community is rep-resented by a vertex,bundles of edges connect one vertex to another,and edges internal to communities are represented by self-edges.The adjacency matrix of this multigraph has elements A ijЈ=2me ij,and the joining of two communities i and j corresponds to replacing the i th and j th rows and col-umns by their sum.In the algorithm of[32]this operation is done explicitly on the entire matrix,but if the adjacency matrix is sparse(which we expect in the early stages of the process)the operation can be carried out more efficiently using data structures for sparse matrices.Unfortunately,cal-culating⌬Q ij andfinding the pair i,j with the largest⌬Q ij then becomes time consuming.In our algorithm,rather than maintaining the adjacency matrix and calculating⌬Q ij,we instead maintain and update a matrix of value of⌬Q ij.Since joining two communities with no edge between them can never produce an increase inCLAUSET,NEWMAN,AND MOORE PHYSICAL REVIEW E70,066111(2004)Q,we need only store⌬Q ij for those pairs i,j that are joined by one or more edges.Since this matrix has the same support as the adjacency matrix,it will be similarly sparse,so we can again represent it with efficient data structures.In addition, we make use of an efficient data structure to keep track of the largest⌬Q ij.These improvements result in a considerable saving of both memory and time.In total,we maintain three data structures.(1)A sparse matrix containing⌬Q ij for each pair i,j of communities with at least one edge between them.We store each row of the matrix both as a balanced binary tree[so that elements can be found or inserted in O͑log n͒time]and as a max-heap(so that the largest element can be found in con-stant time).(2)A max-heap H containing the largest element of each row of the matrix⌬Q ij along with the labels i,j of the cor-responding pair of communities.(3)An ordinary vector array with elements a i.As described above we start off with each vertex being the sole member of a community of one,in which case e ij =1/2m if i and j are connected and zero otherwise,and a i =k i/2m.Thus we initially set⌬Q ij=ͭ1/2m−k i k j/͑2m͒2if i,j are connected,0otherwise,͑8͒anda i=k i2m͑9͒for each i.(This assumes the graph is unweighted;weighted graphs are a simple generalization[34].)Our algorithm can now be defined as follows.(1)Calculate the initial values of⌬Q ij and a i according to Eq.(8)and(9),and populate the max-heap with the largest element of each row of the matrix⌬Q.(2)Select the largest⌬Q ij from H,join the corresponding communities,update the matrix⌬Q,the heap H,and a i(as described below),and increment Q by⌬Q ij.(3)Repeat step2until only one community remains.Our data structures allow us to carry out the updates in step2quickly.First,note that we need only adjust a few of the elements of⌬Q.If we join communities i and j,labeling the combined community j,say,we need only update the j th row and column,and remove the i th row and column alto-gether.The update rules are as follows.If community k is connected to both i and j,then⌬Q jkЈ=⌬Q ik+⌬Q jk.͑10a͒If k is connected to i but not to j,then⌬Q jkЈ=⌬Q ik−2a j a k.͑10b͒If k is connected to j but not to i,then⌬Q jkЈ=⌬Q jk−2a i a k.͑10c͒Note that these equations imply that Q has a single peak over the course of the algorithm,since after the largest⌬Q be-comes negative all the⌬Q can only decrease.To analyze how long the algorithm takes using our data structures,let us denote the degrees of i and j in the reduced graph—i.e.,the numbers of neighboring communities—as͉i͉and͉j͉,respectively.Thefirst operation in a step of the algo-rithm is to update the j th row.To implement Eq.(10a),weinsert the elements of the i th row into the j th row,summingthem wherever an element exists in both columns.Since westore the rows as balanced binary trees,each of these͉i͉insertions takes O͑log͉j͉͒ഛO͑log n͒time.We then update the other elements of the j th row,of which there are at most ͉i͉+͉j͉,according to Eqs.(10b)and(10c).In the k th row,we update a single element,taking O͑log͉k͉͒ഛO͑log n͒time, and there are at most͉i͉+͉j͉values of k for which we have todo this.All of this thus takes O͉͑͑i͉+͉j͉͒log n͒time.We also have to update the max-heaps for each row andthe overall max-heap H.Reforming the max-heap corre-sponding to the j th row can be done in O͉͑j͉͒time[35]. Updating the max-heap for the k th row by inserting,raising, or lowering⌬Q kj takes O͑log͉k͉͒ഛO͑log n͒time.Since we have changed the maximum element on at most͉i͉+͉j͉rows, we need to do at most͉i͉+͉j͉updates of H,each of which takes O͑log n͒time,for a total of O(͉͑i͉+͉j͉͒log n). Finally,the update a jЈ=a j+a i(and a i=0)is trivial and can be done in constant time.Since each join takes O(͉͑i͉+͉j͉͒log n)time,the total run-ning time is at most O͑log n͒times the sum over all nodes of the dendrogram of the degrees of the corresponding commu-nities.Let us make the worst-case assumption that the degree of a community is the sum of the degrees of all the vertices in the original network comprising it.In that case,each ver-tex of the original network contributes its degree to all of the communities it is a part of,along the path in the dendrogram from it to the root.If the dendrogram has depth d,there are at most d nodes in this path,and since the total degree of all the vertices is2m,we have a running time of O͑md log n͒as stated.We note that,if the dendrogram is unbalanced,some timesavings can be gained by inserting the sparser row into theless sparse one.In addition,we have found that in practicalsituations it is usually unnecessary to maintain the separatemax-heaps for each row.These heaps are used tofind thelargest element in a row quickly,but their maintenance takesa moderate amount of effort and this effort is wasted if thelargest element in a row does not change when two rows areamalgamated,which turns out often to be the case.Thus wefind that the following simpler implementation works quitewell in realistic situations:if the largest element of the k throw was⌬Q ki or⌬Q kj and is now reduced by Eq.(10b)or (10c),we simply scan the k th row tofind the new largest element.Although the worst-case running time of this ap-proach has an additional factor of n,the average-case run-ning time is often better than that of the more sophisticated algorithm.It should be noted that the dendrograms generated by these two versions of our algorithm will differ slightly as a result of the differences in how ties are broken for the maximum element in a row.However,wefind that in prac-tice these differences do not cause significant deviations in the modularity,the community size distribution,or the com-position of the largest communities.FINDING COMMUNITY STRUCTURE IN VERY LARGE…PHYSICAL REVIEW E70,066111(2004) PURCHASING NETWORKThe output of the algorithm described above is precisely the same as that of the slower hierarchical algorithm of [32].The much improved speed of our algorithm,however,makes possible studies of very large networks for which previous methods were too slow to produce useful results.Here we give one example,the analysis of a copurchasing or “recom-mender”network from the online vendor .Amazon sells a variety of products,particularly books and music,and as part of their web sales operation they list for each item A the ten other items most frequently purchased by buyers of A .This information can be represented as a di-rected network in which vertices represent items and there is an edge from item A to another item B if B was frequently purchased by buyers of A .In our study we have ignored the directed nature of the network (as is common in community structure calculations ),assuming any link between two items,regardless of direction,to be an indication of their similarity.The network we study consists of items listed onthe Amazon web site in August 2003.We concentrate on the largest component of the network,which has 409687items and 2464630edges.The dendrogram for this calculation is of course too big to draw,but Fig.1illustrates the modularity over the course of the algorithm as vertices are joined into larger and larger groups.The maximum value is Q =0.745,which is high as calculations of this type go [21,32]and indicates strong com-munity structure in the network.The maximum occurs when there are 1684communities with a mean size of 243items each.Figure 2gives a visualization of the community struc-ture,including the major communities,smaller “satellite”communities connected to them,and “bridge”communities that connect two major communities with each other.Looking at the largest communities in the network,we find that they tend to consist of items (books,music )in simi-TABLE I.The ten largest communities in the network,which account for 87%of the vertices in the network.Rank Size Description1114538General interest:politics;art/literature;general fiction;human nature;technical books;how things,people,computers,societies work,etc.292276The arts:videos,books,DVDs about the creative and performing arts378661Hobbies and interests I:self-help;self-education;popular science fiction,popular fantasy;leisure;etc.454582Hobbies and interests II:adventure books;video games/comics;some sports;some humor;some classic fiction;some western religious material;etc.59872Classical music and related items61904Children’s videos,movies,music,and books71493Church/religious music;African-descent cultural books;homoerotic imagery 81101Pop horror;mystery/adventure fiction 91083Jazz;orchestral music;easy listening 10947Engineering;practical fashionFIG.1.The modularity Q over the course of the algorithm (the x axis shows the number of joins ).Its maximum value is Q =0.745,where the partition consists of 1684communities.FIG.2.A visualization of the community structure at maximum modularity.Note that some major communities have a large number of “satellite”communities connected only to them (top,lower left,lower right ).Also,some pairs of major communities have sets of smaller communities that act as “bridges”between them (e.g.,be-tween the lower left and lower right,near the center ).CLAUSET,NEWMAN,AND MOORE PHYSICAL REVIEW E 70,066111(2004)lar genres or on similar topics.In Table I,we give informal descriptions of the ten largest communities,which account for about87%of the entire network.The remainder is gen-erally divided into small,densely connected communities that represent highly specific copurchasing habits,e.g.,major works of sciencefiction(162items),music by John Cougar Mellencamp(17items),and books about(mostly female) spies in the American Civil War(13items).It is worth noting that because few real-world networks have community meta-data associated with them to which we may compare the inferred communities,this type of manual check of the ve-racity and coherence of the algorithm’s output is often nec-essary.One interesting property recently noted in some networks [30,32]is that when partitioned at the point of maximum modularity,the distribution of community sizes s appears to have a power-law form P͑s͒ϳs−␣for some constant␣,at least over some significant range.The Amazon copurchasing network also seems to exhibit this property,as we show in Fig.3,with an exponent␣Ӎ2.It is unclear why such a distribution should arise,but we speculate that it could be a result either of the sociology of the network(a power-law distribution in the number of people interested in various topics)or of the dynamics of the community structure algo-rithm.We propose this as a direction for further research.IV.CONCLUSIONSHere,we have described an algorithm for inferring com-munity structure from network topology which works by greedily optimizing the modularity.Our algorithm runs in time O͑md log n͒for a network with n vertices and m edges where d is the depth of the dendrogram.For networks that are hierarchical,in the sense that there are communities at many scales and the dendrogram is roughly balanced,we have dϳlog n.If the network is also sparse,mϳn,then the running time is essentially linear,O͑n log2n͒.This is consid-erably faster than most previous general algorithms,and al-lows us to extend community structure analysis to networks that had been considered too large to be tractable.We have demonstrated our algorithm with an application to a large network of copurchasing data from the on-line retailer .Our algorithm discovers clear communities within this network that correspond to specific topics or genres of books or music,indicating that the copurchasing tendencies of Amazon customers are strongly correlated with subject matter.Our algorithm should allow researchers to analyze even larger networks with millions of vertices and tens of millions of edges using current computing resources,and we look forward to seeing such applications.ACKNOWLEDGEMENTSThe authors are grateful to and Eric Prom-islow for providing the purchasing network data.This work was funded in part by the National Science Foundation under Grant No.PHY-0200909(A.C.,C.M.)and by a grant from the James S.McDonell Foundation(M.E.J.N.).[1]S.H.Strogatz,Nature(London)410,268(2001).[2]R.Albert and A.-L.Barabási,Rev.Mod.Phys.74,47(2002).[3]S.N.Dorogovtsev and J.F.F.Mendes,Adv.Phys.51,1079(2002).[4]M.E.J.Newman,SIAM Rev.45,167(2003).[5]M.Faloutsos,P.Faloutsos,and C.Faloutsos,-mun.Rev.29,251(1999).[6]R.Albert,H.Jeong,and A.-L.Barabási,Nature(London)401,130(1999).[7]J.M.Kleinberg,S.R.Kumar,P.Raghavan,S.Rajagopalan,and A.Tomkins,in Proceedings of the International Confer-ence on Combinatorics and Computing,Lecture Notes in Computer Science V ol.1627,(Springer,Berlin1999),pp.1–18.[8]S.Wasserman and K.Faust,Social Network Analysis(Cam-bridge University Press,Cambridge,U.K.,1994).[9]D.J.de S.Price,Science149,510(1965).[10]S.Redner,Eur.Phys.J.B4,131(1998).[11]J.A.Dunne,R.J.Williams,and N.D.Martinez,Proc.Natl.Acad.Sci.U.S.A.99,12917(2002).[12]S.A.Kauffman,J.Theor.Biol.22,437(1969).[13]T.Ito,T.Chiba,R.Ozawa,M.Yoshida,M.Hattori,and Y.Sakaki,Proc.Natl.Acad.Sci.U.S.A.98,4569(2001). [14]Community structure is sometimes referred to as“clustering”in sociology or computer science,but this term is commonly used to mean something else in the physics literature[D.J.FIG.3.Cumulative distribution(cdf)of the sizes of communi-ties when the network is partitioned at the maximum modularity found by the algorithm.The distribution appears to follow a power-law form over two decades in the central part of its range,although it deviates in the tail.As a guide to the eye,the straight line has slope−1,which corresponds to an exponent of␣=2for the raw probability distribution.FINDING COMMUNITY STRUCTURE IN VERY LARGE…PHYSICAL REVIEW E70,066111(2004)Watts and S.H.Strogatz,Nature(London)393,440(1998)], so to prevent confusion we avoid it here.We note also that the problem offinding communities in a network is somewhat ill-posed,since we haven’t defined precisely what a commu-nity is.A number of definitions have been proposed in[8,31] and in G.W.Flake,wrence,C.L.Giles,and F.M.Coetzee,IEEE put.35,66(2002),but none is stan-dard.[15]B.W.Kernighan and S.Lin,Bell Syst.Tech.J.49,291(1970).[16]M.Fiedler,Czech.Math.J.23,298(1973).[17]A.Pothen,H.Simon,and K.-P.Liou,SIAM J.Matrix Anal.Appl.11,430(1990).[18]J.Scott,Social Network Analysis:A Handbook,2nd ed.(Sage,London,2000).[19]M.E.J.Newman,Eur.Phys.J.B38,321(2004).[20]M.Girvan and M.E.J.Newman,Proc.Natl.Acad.Sci.U.S.A.99,7821(2002).[21]M.E.J.Newman and M.Girvan,Phys.Rev.E69,026113(2004).[22]M.T.Gastner and M.E.J.Newman,Proc.Natl.Acad.Sci.U.S.A.101,7499(2004).[23]R.Guimerà,L.Danon,A.Díaz-Guilera,F.Giralt,and A.Are-nas,Phys.Rev.E68,065103(2003).[24]P.Holme,M.Huss,and H.Jeong,Bioinformatics19,532(2003).[25]P.Holme and M.Huss,in Proceedings of the3rd Workshop onComputation of Biochemical Pathways and Genetic Networks, edited by R.Gauges,U.Kummer,J.Pahle,and U.Rost (Logos,Berlin,2003),pp.3–9.[26]J.R.Tyler,D.M.Wilkinson,and B.A.Huberman,in Pro-ceedings of the First International Conference on Communities and Technologies,edited by M.Huysman,E.Wenger,and V.Wulf(Kluwer,Dordrecht,2003).[27]P.Gleiser and L.Danon,plex Syst.6,565(2003).[28]M.Boguñá,R.Pastor-Satorras,A.Díaz-Guilera,and A.Are-nas,e-print cond-mat/0309263.[29]D.M.Wilkinson and B.A.Huberman,Proc.Natl.Acad.Sci.U.S.A.101,5241(2004).[30]A.Arenas,L.Danon,A.Díaz-Guilera,P.M.Gleiser,and R.Guimerà,Eur.Phys.J.B38,373(2004).[31]F.Radicchi,C.Castellano,F.Cecconi,V.Loreto,and D.Pa-risi,Proc.Natl.Acad.Sci.U.S.A.101,2658(2004).[32]M.E.J.Newman,Phys.Rev.E69,066133(2004).[33]F.Wu and B.A.Huberman,Eur.Phys.J.B38,331(2004).[34]M.E.J.Newman,e-print cond-mat/0407503.[35]T.H.Cormen,C.E.Leiserson,R.L.Rivest,and C.Stein,Introduction to Algorithms,2nd ed.(MIT Press,Cambridge, MA,2001).CLAUSET,NEWMAN,AND MOORE PHYSICAL REVIEW E70,066111(2004)。

我们每天要面对很多社区问题英语作文

我们每天要面对很多社区问题英语作文Facing Many Community Issues Every DayIn our daily lives, we encounter a multitude of community issues that affect us directly or indirectly. These issues range from social problems such as poverty, crime, and homelessness to environmental challenges like pollution and climate change. As residents of a community, it is our responsibility to address and solve these problems to create a better society for ourselves and future generations.One of the most pressing community issues is poverty. Many people in our communities struggle to meet their basic needs, such as food, shelter, and clothing, due to financial constraints. Poverty not only affects individuals and families but also the community as a whole, as it leads to higher crime rates, poor health outcomes, and limited economic opportunities. To address poverty, community members can volunteer at local shelters, donate to food banks, and support policies that promote economic equality.Another significant community issue is crime. Crime rates vary across different neighborhoods, with some experiencing higher levels of violence and property crime. It is essential forcommunities to work together to prevent crime by promoting community policing initiatives, providing resources for at-risk youth, and improving access to mental health services. By addressing the root causes of crime, such as poverty and lack of education, communities can create safer environments for all residents.Homelessness is also a critical community issue that requires attention and action. Many individuals and families do not have a stable place to live, leading to negative health outcomes, social stigma, and barriers to employment. Communities can address homelessness by investing in affordable housing, providing support services for individuals experiencing homelessness, and advocating for policies that prioritize housing as a human right.Environmental issues are another important concern facing communities around the world. Pollution, deforestation, and climate change pose serious threats to our planet and future generations. It is crucial for communities to take steps to reduce their carbon footprint, such as promoting recycling programs, supporting renewable energy initiatives, and advocating for sustainable development practices. By working together to protect the environment, communities can ensure a healthier and more sustainable future for all.In conclusion, we face many community issues every day that require our attention and action. By addressing social, economic, environmental, and other challenges, we can create stronger, more resilient communities that benefit all residents. It is essential for each of us to do our part in contributing to the solutions and building a brighter future for ourselves and future generations. Let us work together to create a better world for all.。

社区困境分析英文翻译作文

社区困境分析英文翻译作文Community Hardship Analysis。

In many communities, poverty is a harsh reality for a large number of people. Lack of access to education, job opportunities, and basic necessities perpetuates the cycle of poverty.Mental health issues are prevalent in communities facing hardship. The stress of living in poverty, combined with limited access to mental health resources, can lead to a cycle of despair and hopelessness.Substance abuse is a common coping mechanism in communities struggling with hardship. Lack of access to affordable healthcare and support services exacerbates the problem, leading to a cycle of addiction and despair.In communities facing hardship, crime rates are often higher due to lack of economic opportunities and resources.This creates a sense of fear and insecurity among residents, further perpetuating the cycle of hardship.Access to quality education is limited in many communities facing hardship. This lack of opportunity perpetuates the cycle of poverty and limits the potentialfor upward mobility.In communities facing hardship, access to affordable housing is often limited. This leads to overcrowding and unsafe living conditions, further exacerbating the challenges faced by residents.Limited access to healthcare in communities facing hardship leads to higher rates of preventable illnesses and chronic conditions. This perpetuates the cycle of hardship, as residents struggle to maintain their health and well-being.In many communities, social isolation is a common experience for those facing hardship. Lack of resources and opportunities for social engagement can lead to feelings ofloneliness and disconnection.In communities facing hardship, environmental degradation and pollution are often more prevalent. This can lead to negative health impacts and further exacerbate the challenges faced by residents.Limited access to nutritious food is a common challenge in communities facing hardship. This can lead to higher rates of malnutrition and diet-related illnesses, perpetuating the cycle of hardship.。

介绍寻找途径的英语作文

介绍寻找途径的英语作文英文回答:Finding pathways in life is an essential journey that we all embark upon. Whether it's discovering our career paths, personal passions, or even the route to self-improvement, the ways we navigate these paths can greatly impact our experiences and outcomes.One of the most effective ways to find a pathway is through self-reflection and introspection. Taking the time to understand our strengths, weaknesses, values, and aspirations can provide valuable insights into what direction we should take. For example, if someone is passionate about helping others and has strong communication skills, they may find a pathway in fieldslike counseling, teaching, or social work.Another approach is seeking mentorship and guidance from experienced individuals who have walked similar paths.Mentors can offer valuable advice, share their experiences, and provide a roadmap for success. Networking with professionals in your desired field, attending workshops, and joining relevant communities can also open doors to new opportunities and pathways.Furthermore, continuous learning and skill development are crucial in navigating pathways. Whether it's pursuing higher education, attending workshops and seminars, or acquiring new skills through online courses, investing in self-improvement can expand our horizons and lead us to new pathways we may not have considered before.Additionally, embracing challenges and being open to change can also lead to unexpected pathways. Sometimes, the most rewarding experiences come from stepping outside our comfort zones and exploring unfamiliar territories. Taking calculated risks, learning from failures, and adapting to new circumstances can pave the way for personal and professional growth.Ultimately, finding pathways is a dynamic and ongoingprocess that requires self-awareness, learning, adaptability, and perseverance. By combining self-reflection, mentorship, continuous learning, and a willingness to embrace challenges, we can discover meaningful pathways that align with our passions, values, and goals.中文回答:在人生中寻找途径是我们必须走的重要旅程。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Finding and evaluating community structure in networksM.E.J.Newman1,2and M.Girvan2,31Department of Physics and Center for the Study of Complex Systems,University of Michigan,Ann Arbor,Michigan48109-1120,USA 2Santa Fe Institute,1399Hyde Park Road,Santa Fe,New Mexico87501,USA3Department of Physics,Cornell University,Ithaca,New York14853-2501,USA͑Received19August2003;published26February2004͒We propose and study a set of algorithms for discovering community structure in networks—natural divi-sions of network nodes into densely connected subgroups.Our algorithms all share two definitive features:first,they involve iterative removal of edges from the network to split it into communities,the edges removedbeing identified using any one of a number of possible‘‘betweenness’’measures,and second,these measuresare,crucially,recalculated after each removal.We also propose a measure for the strength of the communitystructure found by our algorithms,which gives us an objective metric for choosing the number of communitiesinto which a network should be divided.We demonstrate that our algorithms are highly effective at discoveringcommunity structure in both computer-generated and real-world network data,and show how they can be usedto shed light on the sometimes dauntingly complex structure of networked systems.DOI:10.1103/PhysRevE.69.026113PACS number͑s͒:89.75.Hc,87.23.Ge,89.20.Hh,05.10.ϪaI.INTRODUCTIONEmpirical studies and theoretical modeling of networks have been the subject of a large body of recent research in statistical physics and applied mathematics͓1–4͔.Network ideas have been applied with success to topics as diverse asthe Internet and the world wide web͓5–7͔,epidemiology ͓8–11͔,scientific citation and collaboration͓12,13͔,metabo-lism͓14,15͔,and ecosystems͓16,17͔,to name but a few.Aproperty that seems to be common to many networks is com-munity structure,the division of network nodes into groupswithin which the network connections are dense,but be-tween which they are sparser—see Fig.1.The ability tofindand analyze such groups can provide invaluable help in un-derstanding and visualizing the structure of networks.In thispaper,we show how this can be achieved.The study of community structure in networks has a longhistory.It is closely related to the ideas of graph partitioningin graph theory and computer science,and hierarchical clus-tering in sociology͓18,19͔.Before presenting our ownfind-ings,it is worth reviewing some of this preceding work tounderstand its achievements and shortcomings.Graph partitioning is a problem that arises in,for ex-ample,parallel computing.Suppose we have a number n ofintercommunicating computer processes,which we wish todistribute over a number g of computer processors.Processesdo not necessarily need to communicate with all others,andthe pattern of required communications can be represented asa graph or network in which the vertices represent processesand edges join process pairs that need to communicate.Theproblem is to allocate the processes to processors in such away as roughly to balance the load on each processor,whileat the same time minimizing the number of edges that runbetween processors,so that the amount of interprocessorcommunication͑which is normally slow͒is minimized.Ingeneral,finding an exact solution to a partitioning task of thiskind is believed to be an NP-hard problem,making it pro-hibitively difficult to solve exactly for large graphs,but awide variety of heuristic algorithms have been developed that give acceptably good solutions in many cases,the best known being perhaps the Kernighan-Lin algorithm͓20͔, which runs in time O(n3)on sparse graphs.A solution to the graph partitioning problem is,however, not particularly helpful for analyzing and understanding net-works in general.If we merely want tofind if and how a given network breaks down into communities,we probably do not know how many such communities there are going to be,and there is no reason why they should be roughly the same size.Furthermore,the number of intercommunity edges need not be strictly minimized either,since more such edges are admissible between large communities than be-tween small ones.As far as our goals in this paper are concerned,a more useful approach is that taken by social network analysis with the set of techniques known as hierarchical clustering.These techniques are aimed at discovering natural divisions of͑so-cial͒networks into groups,based on various metrics of simi-larity or strength of connection between vertices.They fall into two broad classes,agglomerative and divisive͓19͔,de-pending on whether they focus on the addition or removal of edges to or from the network.In an agglomerative method, similarities are calculated by one method or another between vertex pairs,and edges are then added to an initiallyempty FIG.1.A small network with community structure of the type considered in this paper.In this case there are three communities, denoted by the dashed circles,which have dense internal links but between which there is only a lower density of external links.PHYSICAL REVIEW E69,026113͑2004͒network ͑n vertices with no edges ͒starting with the vertex pairs with highest similarity.The procedure can be halted at any point,and the resulting components in the network are taken to be the communities.Alternatively,the entire pro-gression of the algorithm from empty graph to complete graph can be represented in the form of a tree or dendrogram such as that shown in Fig.2.Horizontal cuts through the tree represent the communities appropriate to different halting points.Agglomerative methods based on a wide variety of simi-larity measures have been applied to different networks.Some networks have natural similarity metrics built in.For example,in the widely studied network of collaborations be-tween film actors ͓21,22͔,in which two actors are connected if they have appeared in the same film,one could quantify similarity by how many films actors have appeared in to-gether ͓23͔.Other networks have no natural metric,but suit-able ones can be devised using correlation coefficients,path lengths,or matrix methods.A well known example of an agglomerative clustering method is the Concor algorithm of Breiger et al.͓24͔.Agglomerative methods have their problems,however.One concern is that they fail with some frequency to find the correct communities in networks where the community structure is known,which makes it difficult to place much trust in them in other cases.Another is their tendency to find only the cores of communities and leave out the periphery.The core nodes in a community often have strong similarity,and hence are connected early in the agglomerative process,but peripheral nodes that have no strong similarity to others tend to get neglected,leading to structures like that shown in Fig.3.In this figure,there are a number of peripheral nodes whose community membership is obvious to the eye—in most cases,they have only a single link to a specific community—but agglomerative methods often fail to place such nodes correctly.In this paper,therefore,we focus on divisive methods.These methods have been relatively little studied in the pre-vious literature,either in social network theory or elsewhere,but,as we will see,they seem to offer a lot of promise.In a divisive method,we start with the network of interest and attempt to find the least similar connected pairs of vertices and then remove the edges between them.By doing this repeatedly,we divide the network into smaller and smaller components,and again we can stop the process at any stage and take the components at that stage to be the network communities.Again,the process can be represented as a den-drogram depicting the successive splits of the network into smaller and smaller groups.The approach we take follows roughly these lines,but adopts a somewhat different philosophical viewpoint.Rather than looking for the most weakly connected vertex pairs,our approach will be to look for the edges in the network that are most ‘‘between’’other vertices,meaning that the edge is,in some sense,responsible for connecting many pairs of others.Such edges need not be weak at all in the similarity sense.How this idea works out in practice will become clear in the course of the presentation.Briefly then,the outline of this paper is as follows.In Sec.II we describe the crucial concepts behind our methods for finding community structure in networks and show how these concepts can be turned into a concrete prescription for performing calculations.In Sec.III we describe in detail the implementation of our methods.In Sec.IV we consider ways of determining when a particular division of a network into communities is a good one,allowing us to quantify the suc-cess of our community-finding algorithms.And in Sec.V we give a number of applications of our algorithms to particular networks,both real and artificial.In Sec.VI we give our conclusions.A brief report of some of the work contained in this paper has appeared previously as Ref.͓25͔.II.FINDING COMMUNITIES IN A NETWORKIn this paper,we present a class of new algorithms for network clustering,i.e.,the discovery of community struc-ture in networks.Our discussion focuses primarily on net-works with only a single type of vertex and a single type of undirected,unweighted edge,although generalizations to more complicated network types are certainly possible.There are two central features that distinguish our algo-rithms from those that have preceded them.First,ouralgo-FIG.2.A hierarchical tree or dendrogram illustrating the type of output generated by the algorithms described here.The circles at the bottom of the figure represent the individual vertices of the net-work.As we move up the tree,the vertices join together to form larger and larger communities,as indicated by the lines,until we reach the top,where all are joined together in a single community.Alternatively,the dendrogram depicts an initially connected net-work splitting into smaller and smaller communities as we go from top to bottom.A cross section of the tree at any level,such as that indicated by the dotted line,will give the communities at that level.The vertical height of the split points in the tree are indicative only of the order in which the splits ͑or joins ͒take place,although it is possible to construct more elaborate dendrograms in which these heights contain otherinformation.FIG.3.Agglomerative clustering methods are typically good at discovering the strongly linked cores of communities ͑bold vertices and edges ͒but tend to leave out peripheral vertices,even when,as here,most of them clearly belong to one community or another.M.E.J.NEWMAN AND M.GIRV AN PHYSICAL REVIEW E 69,026113͑2004͒rithms are divisive rather than agglomerative.Divisive algo-rithms have occasionally been studied in the past,but,as discussed in the Introduction,ours differ in focusing not on removing the edges between vertex pairs with the lowest similarity,but onfinding edges with the highest‘‘between-ness,’’where betweenness is some measure that favors edges that lie between communities and disfavors those that lie inside communities.To make things more concrete,we give some examples of the types of betweenness measures we will be looking at.All of them are based on the same idea.If two communities are joined by only a few intercommunity edges,then all paths through the network from vertices in one community to ver-tices in the other must pass along one of those few edges. Given a suitable set of paths,one can count how many go along each edge in the graph,and this number we then ex-pect to be largest for the intercommunity edges,thus provid-ing a method for identifying them.Our different measures correspond to various implementations of this idea as fol-lows:͑i͒The simplest example of such a betweenness measure is that based on shortest͑geodesic͒paths:wefind the short-est paths between all pairs of vertices and count how many run along each edge.To the best of our knowledge,this measure wasfirst introduced by Anthonisse in a never-published technical report in1971͓26͔.Anthonisse called it ‘‘rush,’’but we prefer the term edge betweenness,since the quantity is a natural generalization to edges of the well-known͑vertex͒betweenness measure of Freeman͓27͔, which was the inspiration for our approach.When we need to distinguish it from the other betweenness measures con-sidered in this paper,we will refer to it as shortest-path be-tweenness.A fast algorithm for calculating the shortest-path betweenness is given in Sec.III A.͑ii͒The shortest-path betweenness can be thought of in terms of signals traveling through a network.If signals travel from source to destination along geodesic network paths,and all vertices send signals at the same constant rate to all oth-ers,then the betweenness is a measure of the rate at which signals pass along each edge.Suppose,however,that signals do not travel along geodesic paths,but instead just perform a random walk about the network until they reach their desti-nation.This gives us another measure on edges,the random-walk betweenness:we calculate the expected net number of times that a random walk between a particular pair of verti-ces will pass down a particular edge and sum over all vertex pairs.The random-walk betweenness can be calculated using matrix methods,as described in Sec.III C.͑iii͒Another betweenness measure is motivated by ideas from elementary circuit theory.We consider the circuit cre-ated by placing a unit resistance on each edge of the network and unit current source and sink at a particular pair of verti-ces.The resulting currentflow in the network will travel from source to sink along a multitude of paths,those with least resistance carrying the greatest fraction of the current. The current-flow betweenness for an edge we define to be the absolute value of the current along the edge summed over all source/sink pairs.It can be calculated using Kirchhoff’s laws,as described in Sec.III B.In fact,as we will show,the current-flow betweenness turns out to be exactly equal to the random-walk betweenness of the previous paragraph,but we nonetheless consider it separately since it leads to a simpler derivation of the measure.These measures are only suggestions;many others are possible and may well be appropriate for specific applica-tions.Measures͑i͒and͑ii͒are in some sense extremes in the spectrum of possibilities,one corresponding to signals that know exactly where they are going,and the other to signals that have no idea where they are going.As we will see, however,these two measures actually give rather similar re-sults,indicating that the precise choice of betweenness mea-sure may not,at least for the types of applications considered here,be that important.The second way in which our methods differ from previ-ous ones is in the inclusion of a‘‘recalculation step’’in the algorithm.If we were to perform a standard divisive cluster-ing based on edge betweenness,we would calculate the edge betweenness for all edges in the network and then remove edges in decreasing order of betweenness to produce a den-drogram like that of Fig.2,showing the order in which the network split up.However,once thefirst edge in the network is removed in such an algorithm,the betweenness values for the remaining edges will no longer reflect the network as it now is.This can give rise to unwanted behaviors.For example,if two com-munities are joined by two edges,but,for one reason or another,most paths between the twoflow along just one of those edges,then that edge will have a high betweenness score and the other will not.An algorithm that calculated betweennesses only once and then removed edges in be-tweenness order would remove thefirst edge early in the course of its operation,but the second might not get removed until much later.Thus the obvious division of the network into two parts might not be discovered by the algorithm.In the worst case,the two parts themselves might be individu-ally broken up before the division between the two is made. In practice,problems like this crop up in real networks with some regularity and render algorithms of this type ineffective for the discovery of community structure.The solution,luckily,is obvious.We simply recalculate our betweenness measure after the removal of each edge. This certainly adds to the computational effort of performing the calculation,but its effect on the results is so desirable that we consider the price worth paying.Thus the general form of our community structurefinding algorithm is as follows:͑i͒Calculate betweenness scores for all edges in the net-work.͑ii͒Find the edge with the highest score and remove it from the network.͑If two or more edges tie for highest score, choose one of them at random and remove that.͒͑iii͒Recalculate betweenness for all remaining edges.͑iv͒Repeat from step͑ii͒.In fact,it appears that the recalculation step is the most important feature of the algorithm,as far as getting satisfac-tory results is concerned.As mentioned above,our studies indicate that,once one hits on the idea of using betweenness measures to weight edges,the exact measure one uses ap-FINDING AND EV ALUATING COMMUNITY STRUCTURE...PHYSICAL REVIEW E69,026113͑2004͒pears not to influence the results highly.The recalculation step,on the other hand,is absolutely crucial to the operation of our methods.This step was missing from previous at-tempts at solving the clustering problem using divisive algo-rithms,and yet without it the results are very poor indeed, failing tofind known community structure even in the sim-plest of cases.In Sec.V B we give an example comparing the performance of the algorithm on a particular network with and without the recalculation step.In the following sections,we discuss implementation and give examples of our algorithms forfinding community structure.For the reader who merely wants to know what algorithm they should use for their own problem,let us give an immediate answer:for most problems,we recommend the algorithm with betweenness scores calculated using the shortest-path betweenness measure͑i͒above.This measure appears to work well and is the quickest to calculate—as described in Sec.III A,it can be calculated for all edges in time O(mn),where m is the number of edges in the graph and n is the number of vertices͓48͔.This is the only version of the algorithm that we discussed in Ref.͓25͔.The other versions we discuss,while being of some pedagogical inter-est,make greater computational demands,and in practice seem to give results no better than the shortest-path method.III.IMPLEMENTATIONIn theory,the descriptions of the preceding section com-pletely define the methods we consider in this paper,but inpractice there are a number of subtleties to their implemen-tation that are important for turning the description into aworkable computer algorithm.Essentially all of the work in the algorithm is in the cal-culation of the betweenness scores for the edges;the job offinding and removing the highest-scoring edge is trivial andnot computationally demanding.Let us tackle our three sug-gested betweenness measures in turn.A.Shortest-path betweennessAtfirst sight,it appears that calculating the edge between-ness measure based on geodesic paths for all edges will take O(mn2)operations on a graph with m edges and n vertices:calculating the shortest path between a particular pair of ver-tices can be done using breadth-first search in time O(m)͓28,29͔,and there are O(n2)vertex pairs.Recently,however, new algorithms have been proposed by Newman͓30͔andindependently by Brandes͓31͔that can perform the calcula-tion faster than this,finding all betweennesses in O(mn) time.Both Newman and Brandes gave algorithms for the standard Freeman vertex betweenness,but it is trivial to adapt their algorithms for edge betweenness.We describe the resulting method here for the algorithm of Newman.Breadth-first search canfind shortest paths from a single vertex s to all others in time O(m).In the simplest case, when there is only a single shortest path from the source vertex to any other͑we will consider other cases in a mo-ment͒,the resulting set of paths forms a shortest-path tree—see Fig.4͑a͒.We can use this tree to calculate the contribu-tion to betweenness for each edge from this set of paths as follows.Wefindfirst the‘‘leaves’’of the tree,i.e.,those nodes such that no shortest paths to other nodes pass through them,and we assign a score of1to the single edge that connects each to the rest of the tree,as shown in thefigure. Then,starting with those edges that are farthest from the source vertex on the tree,i.e.,lowest in Fig.4͑a͒,we work upwards,assigning a score to each edge that is1plus the sum of the scores on the neighboring edges immediately be-low it͑i.e.,those edges with which it shares a common ver-tex͒.When we have gone though all edges in the tree,the resulting scores are the betweenness counts for the paths from vertex s.Repeating the process for all possible vertices s and summing the scores,we arrive at the full betweenness scores for shortest paths between all pairs.The breadth-first search and the process of working up through the tree both take worst-case time O(m)and there are n vertices total,so the entire calculation takes time O(mn)as claimed.This simple case serves to illustrate the basic principle behind the algorithm.In general,however,it is not the case that there is only a single shortest path between any pair of vertices.Most networks have at least some vertex pairs be-tween which there are two or more geodesic paths of equal length.Figure4͑b͒shows a simple example of a shortest path‘‘tree’’for a network with this property.The resulting structure is in fact no longer a tree,and in such cases an extra step is required in the algorithm to calculate the betweenness correctly.In the traditional definition of vertex betweenness͓27͔, multiple shortest paths between a pair of vertices are given equal weights summing to1.For example,if there are three shortest paths,each will be given weight13.We adopt the same definition for our edge betweenness͑as did Anthonisse in his original work͓26͔,although other definitions arepos-FIG. 4.Calculation of shortest-path betweenness:͑a͒When there is only a single shortest path from a source vertex s͑top͒to all other reachable vertices,those paths necessarily form a tree,which makes the calculation of the contribution to betweenness from this set of paths particularly simple,as described in the text.͑b͒For cases in which there is more than one shortest path to some vertices, the calculation is more complex.First we must calculate the number of distinct paths from the source s to each vertex͑numbers on vertices͒,and then these are used to weight the path counts as described in the text.In either case,we can check the results by confirming that the sum of the betweennesses of the edges con-nected to the source vertex is equal to the total number of reachable vertices—six in each of the cases illustrated here.M.E.J.NEWMAN AND M.GIRV AN PHYSICAL REVIEW E69,026113͑2004͒sible͓32͔͒.Note that the paths may run along the same edge or edges for some part of their length,resulting in edges with greater weight.To calculate correctly what fraction of the pathsflows along each edge in the network,we generalize the breadth-first search part of the calculation,as follows.Consider Fig.4͑b͒and suppose we are performing a breadth-first search starting at vertex s.We carry out the following steps:͑i͒The initial vertex s is given distance d sϭ0and weight w sϭ1.͑ii͒Every vertex i adjacent to s is given distance d iϭd s ϩ1ϭ1and weight w iϭw sϭ1.͑iii͒For each vertex j adjacent to one of those vertices i, we do one of three things:͑a͒If j has not yet been assigned a distance,it is assigned distance d jϭd iϩ1and weight w j ϭw i;͑b͒if j has already been assigned a distance and d j ϭd iϩ1,then the vertex’s weight is increased by w i,that is, w j←w jϩw i;and͑c͒if j has already been assigned a dis-tance and d jϽd iϩ1,we do nothing.͑iv͒Repeat from step͑iii͒until no vertices remain that have assigned distances but whose neighbors do not have assigned distances.In practice,this algorithm can be implemented most effi-ciently using a queue orfirst-in/first-out buffer to store the vertices that have been assigned a distance,just as in the standard breadth-first search.Physically,the weight on a vertex i represents the number of distinct paths from the source vertex to i.These weights are precisely what we need to calculate our edge between-nesses,because if two vertices i and j are connected,with j farther than i from the source s,then the fraction of a geo-desic path from j through i to s is given by w i/w j.Thus,to calculate the contribution to edge betweenness from all shortest paths starting at s,we need only carry out the fol-lowing steps:͑i͒Find every‘‘leaf’’vertex t,i.e.,a vertex such that no paths from s to other vertices go though t.͑ii͒For each vertex i neighboring t,assign a score to the edge from t to i of w i/w t.͑iii͒Now,starting with the edges that are farthest from the source vertex s—lower down in a diagram such as Fig. 4͑b͒—work up towards s.To the edge from vertex i to vertex j,with j being farther from s than i,assign a score that is1 plus the sum of the scores on the neighboring edges imme-diately below it͑i.e.,those with which it shares a common vertex͒,all multiplied by w i/w j.͑iv͒Repeat from step͑iii͒until vertex s is reached.Now repeating this process for all n source vertices s and summing the resulting scores on the edges gives us the total betweenness for all edges in time O(mn).We have to repeat this calculation for each edge removed from the network,of which there are m,and hence the com-plete community structure algorithm based on shortest-path betweenness operates in worst-case time O(m2n),or O(n3) time on a sparse graph.In our experience,this typically makes it tractable for networks of up to about nϭ10000 vertices,with current͑circa2003͒desktop computers.In some special cases one can do better.In particular,we note that the removal of an edge only affects the betweenness of other edges that fall in the same component,and hence that we need only recalculate betweennesses in that component. Networks with strong community structure often break apart into separate components quite early in the progress of the algorithm,substantially reducing the amount of work that needs to be done on subsequent steps.Whether this results in a change in the computational complexity of the algorithm for any commonly occurring classes of graphs is an open question,but it certainly gives a substantial speed boost to many of the calculations described in this paper.Some networks are directed,i.e.,their edges run in one direction only.The world wide web is an example;links in the web point in one direction only from one web page to another.One could imagine a generalization of the shortest-path betweenness that allowed for directed edges by count-ing only those paths that travel in the forward direction along edges.Such a calculation is a trivial variation on the one described above.However,we have found that in many cases it is better to ignore the directed nature of a network in cal-culating community structure.Often an edge acts simply asan indication of a connection between two nodes,and itsdirection is unimportant.For example,in Ref.͓25͔we ap-plied our algorithm to a food web of predator-prey interac-tions between marine species.Predator-prey interactions areclearly directed—one species may eat another,but it is un-likely that the reverse is simultaneously true.However,as faras community structure goes,we want to know only whichspecies have interactions with which others.Wefind,there-fore,that our algorithm applied to the undirected version ofthe food web works well at picking out the community struc-ture,and no special algorithm is needed for the directed case.We give another example of our method applied to a directedgraph in Sec.V D.B.Resistor networksAs examples of betweenness measures that take morethan just shortest paths into account,we proposed in Sec.IImeasures based on random walks and on currentflow inresistor networks.In fact,there are well known mathematicalconnections between random walks and resistor networks ͓33͔,and the properties of one can often be calculated by considering the other.This turns out to be the case here alsoand,as we now show,when appropriately defined,ourrandom-walk and current-flow betweenness measures areprecisely the same.Here we derive the current-flow measurefirst,since it turns out to be simpler;in the following section,we derive the random-walk measure and show that the twoare equivalent.Consider the network created by placing a unit resistanceon every edge of our network,a unit current source at vertexs,and a unit current sink at vertex t͑see Fig.5͒.Clearly,thecurrent between s and t willflow primarily along short paths,but some willflow along longer ones,roughly in inverseproportion to their length.We will use the absolute magni-tude of the currentflow along an edge,summed over allsource/sink pairs,as our betweenness score.The currentflows in the network are governed by Kirch-hoff’s laws.To solve them,we proceed as follows for eachFINDING AND EV ALUATING COMMUNITY STRUCTURE...PHYSICAL REVIEW E69,026113͑2004͒。

相关文档
最新文档