An Edge-Swap Heuristic for Finding Dense Spanning Trees

Similar documents
MAXIMUM WIENER INDEX OF TREES WITH GIVEN SEGMENT SEQUENCE

An Eternal Domination Problem in Grids

An Efficient Algorithm to Test Forciblyconnectedness of Graphical Degree Sequences

Edge Colorings of Complete Multipartite Graphs Forbidding Rainbow Cycles

Sharp lower bound for the total number of matchings of graphs with given number of cut edges

Introduction to Graph Theory

Chapter 9 Graph Algorithms

Chapter 2 Graphs. 2.1 Definition of Graphs

Chapter 9 Graph Algorithms

On the Minimum k-connectivity Repair in Wireless Sensor Networks

Traveling in Networks with Blinking Nodes

Extremal chemical trees of the first reverse Zagreb beta index

On Covering a Graph Optimally with Induced Subgraphs

A 2k-Kernelization Algorithm for Vertex Cover Based on Crown Decomposition

Complementary Graph Coloring

Week 11: Minimum Spanning trees

Partha Sarathi Mandal

Use of Eigenvector Centrality to Detect Graph Isomorphism

Minimum-Spanning-Tree problem. Minimum Spanning Trees (Forests) Minimum-Spanning-Tree problem

Discrete mathematics

Induced Subgraph Saturated Graphs

Sparse Hypercube 3-Spanners

Graphs: Introduction. Ali Shokoufandeh, Department of Computer Science, Drexel University

Notes 4 : Approximating Maximum Parsimony

arxiv: v1 [cs.dm] 10 Sep 2018

REDUCING GRAPH COLORING TO CLIQUE SEARCH

On the Graceful Cartesian Product of Alpha-Trees

Applied Mathematics Letters. Graph triangulations and the compatibility of unrooted phylogenetic trees

The 3-Steiner Root Problem

Extremal Graph Theory: Turán s Theorem

HEURISTIC ALGORITHMS FOR THE GENERALIZED MINIMUM SPANNING TREE PROBLEM

Chapter 9 Graph Algorithms

11/22/2016. Chapter 9 Graph Algorithms. Introduction. Definitions. Definitions. Definitions. Definitions

A new edge selection heuristic for computing the Tutte polynomial of an undirected graph.

On the Wiener Index of Some Edge Deleted Graphs

Discrete mathematics II. - Graphs

The geometric generalized minimum spanning tree problem with grid clustering

On the Min-Max 2-Cluster Editing Problem

Chapter 23. Minimum Spanning Trees

On Geometric-Arithmetic Indices of (Molecular) Trees, Unicyclic Graphs and Bicyclic Graphs

Minimum Spanning Trees My T. UF

Average D-distance Between Edges of a Graph

Randomized rounding of semidefinite programs and primal-dual method for integer linear programming. Reza Moosavi Dr. Saeedeh Parsaeefard Dec.

Complexity Results on Graphs with Few Cliques

F-INDEX AND COINDEX OF SOME DERIVED GRAPHS

On Geometric Arithmetic Index of Graphs

Set Cover with Almost Consecutive Ones Property

Algorithmic aspects of k-domination in graphs

Greedy Algorithms. At each step in the algorithm, one of several choices can be made.

[Mahanta, 5(11): November 2018] ISSN DOI /zenodo Impact Factor

VERTEX-DEGREE-BASED TOPOLOGICAL INDICES OVER TREES WITH TWO BRANCHING VERTICES

On vertex-coloring edge-weighting of graphs

CPS 102: Discrete Mathematics. Quiz 3 Date: Wednesday November 30, Instructor: Bruce Maggs NAME: Prob # Score. Total 60

Graphs. Data Structures and Algorithms CSE 373 SU 18 BEN JONES 1

Problem Set 2 Solutions

A Note on Vertex Arboricity of Toroidal Graphs without 7-Cycles 1

Vertex Cover Approximations on Random Graphs.

Characterizations of Trees

Hardness of Subgraph and Supergraph Problems in c-tournaments

Discrete mathematics , Fall Instructor: prof. János Pach

ON WIENER INDEX OF GRAPH COMPLEMENTS. Communicated by Alireza Abdollahi. 1. Introduction

Lecture 10. Elementary Graph Algorithm Minimum Spanning Trees

Scan Scheduling Specification and Analysis

Solving Dominating Set in Larger Classes of Graphs: FPT Algorithms and Polynomial Kernels

Parameterized graph separation problems

Between Packable and Arbitrarily Packable Graphs: Packer Spoiler Games. 1 Introduction

Info 2950, Lecture 16

Spanning and weighted spanning trees. A different kind of optimization. (graph theory is cool.)

Vertex 3-colorability of claw-free graphs

is the Capacitated Minimum Spanning Tree

Introduction III. Graphs. Motivations I. Introduction IV

A NOTE ON THE NUMBER OF DOMINATING SETS OF A GRAPH

Generating edge covers of path graphs

A Note on Scheduling Parallel Unit Jobs on Hypercubes

7.3 Spanning trees Spanning trees [ ] 61

THE TOPOLOGICAL INDICES OF THE CAYLEY GRAPHS OF DIHEDRAL GROUP D 2n AND THE GENERALIZED QUATERNION GROUP Q 2 n

Advanced Data Management

arxiv: v1 [cs.dm] 24 Sep 2012

On subgraphs of Cartesian product graphs

3 No-Wait Job Shops with Variable Processing Times

Spanning Trees. Lecture 20 CS2110 Spring 2015

A generalization of Mader s theorem

A Performance Comparison of Five Algorithms for Graph Isomorphism

Characterization of Super Strongly Perfect Graphs in Chordal and Strongly Chordal Graphs

A Performance Analysis on Maximal Common Subgraph Algorithms

Triple Connected Domination Number of a Graph

Weighted Graphs and Greedy Algorithms

arxiv: v1 [cs.ds] 8 Sep 2007

These are not polished as solutions, but ought to give a correct idea of solutions that work. Note that most problems have multiple good solutions.

arxiv: v1 [math.co] 30 Nov 2015

Chordal graphs MPRI

Graph drawing in spectral layout

Minimum Spanning Trees

Introduction to Parallel & Distributed Computing Parallel Graph Algorithms

Triple Connected Complementary Tree Domination Number Of A Graph V. Murugan et al.,

arxiv:cs/ v1 [cs.cc] 28 Apr 2003

arxiv:cs/ v1 [cs.ds] 20 Feb 2003

Phylogenetics. Introduction to Bioinformatics Dortmund, Lectures: Sven Rahmann. Exercises: Udo Feldkamp, Michael Wurst

1 Random Walks on Graphs

CSE 417 Branch & Bound (pt 4) Branch & Bound

Transcription:

Theory and Applications of Graphs Volume 3 Issue 1 Article 1 2016 An Edge-Swap Heuristic for Finding Dense Spanning Trees Mustafa Ozen Bogazici University, mustafa.ozen@boun.edu.tr Hua Wang Georgia Southern University, hwang@georgiasouthern.edu Kai Wang Georgia Southern University, kwang@georgiasouthern.edu Demet Yalman Bogazici University, demet.yalman@boun.edu.tr Follow this and additional works at: https://digitalcommons.georgiasouthern.edu/tag Part of the Discrete Mathematics and Combinatorics Commons Recommended Citation Ozen, Mustafa; Wang, Hua; Wang, Kai; and Yalman, Demet (2016) "An Edge-Swap Heuristic for Finding Dense Spanning Trees," Theory and Applications of Graphs: Vol. 3 : Iss. 1, Article 1. DOI: 10.20429/tag.2016.030101 Available at: https://digitalcommons.georgiasouthern.edu/tag/vol3/iss1/1 This article is brought to you for free and open access by the Publications- Journals at Digital Commons@Georgia Southern. It has been accepted for inclusion in Theory and Applications of Graphs by an authorized administrator of Digital Commons@Georgia Southern. For more information, please contact digitalcommons@georgiasouthern.edu.

An Edge-Swap Heuristic for Finding Dense Spanning Trees Cover Page Footnote This work was partially supported by grants from the Simons Foundation (\#245307). This article is available in Theory and Applications of Graphs: https://digitalcommons.georgiasouthern.edu/tag/vol3/iss1/1

Ozen et al.: An Edge-Swap Heuristic for Finding Dense Spanning Trees Abstract Finding spanning trees under various restrictions has been an interesting question to researchers. A dense tree, from a graph theoretical point of view, has small total distances between vertices and large number of substructures. In this note, the density of a spanning tree is conveniently measured by the weight of a tree (defined as the sum of products of adjacent vertex degrees). By utilizing established conditions and relations between trees with the minimum total distance or maximum number of subtrees, an edge-swap heuristic for generating dense spanning trees is presented. Computational results are presented for randomly generated graphs and specific examples from applications. 1 Introduction Given an undirected graph G with vertex set V and edge set E, a subtree of G is a connected acyclic subgraph of G. A subtree with vertex set V is a spanning tree of G. Finding spanning trees (under various restrictions) of a given graph is of importance in many applications such as Information Technology and Network Design. Many questions have been studied in this aspect, including, but not limited to, the well-known minimum-weight spanning tree problem (MSTP), spanning trees with bounded degree, with bounded number of leaves, or with bounded number of branch vertices. The goal in such studies is usually to find efficient algorithms to produce the desired subgraphs. Recently an edge-swap heuristic for generating spanning trees with minimum number of branch vertices was presented [7], where an efficient algorithm resulted from iteratively reducing the number of branch vertices from a random spanning tree by swapping tree edges with edges not currently in the tree. A tree of given number of vertices is considered dense if the number of substructures (including isomorphic subgraphs) is large or the total distance between vertices is small. In applications, structures generated from such spanning trees are preferred as they have more choices of sub-networks and allow more efficient transfer of resources with minimum cost. In this note we discuss an edge-swap heuristic, inspired by similar work presented in [7], for finding dense spanning trees. 2 Preliminaries The number of subtrees and the total distance of a tree belong to a group of graph invariants, called topological indices, that are used in the literature as effective descriptors of graph structures. For instance: the sum of distances between all pairs of vertices, also known as the Wiener index [11], is one of the most well known distance-based index in chemical graph theory; the number of subtrees is an example of counting-based indices introduced from puremathematical point of view [8] and applications in phylogeny [2]. Published by Digital Commons@Georgia Southern, 2016 1

Theory and Applications of Graphs, Vol. 3 [2016], Iss. 1, Art. 1 These two indices have been extensively studied. In particular, it is well known that the star minimizes the Wiener index and maximizes the number of subtrees while the path maximizes the Wiener index and minimizes the number of subtrees. More interestingly, among tress of given degree sequence, the greedy tree (Definition 1) was shown to minimize the Wiener index [6, 9, 12] and maximize the number of subtrees [13], where the degree sequence is simply the nonincreasing sequence of vertex degrees. Definition 1 (Greedy trees). Given a degree sequence, the greedy tree is achieved through the following greedy algorithm: i) Start with a single vertex v = v 1 as the root and give v the appropriate number of neighbors so that it has the largest degree; ii) Label the neighbors of v as v 2, v 3,..., assign to them the largest available degrees such that deg(v 2 ) deg(v 3 ) ; iii) Label the neighbors of v 2 (except v) as v 21, v 22,... such that they take all the largest degrees available and that deg(v 21 ) deg(v 22 ), then do the same for v 3, v 4,...; iv) Repeat (iii) for all the newly labeled vertices, always start with the neighbors of the labeled vertex with largest degree whose neighbors are not labeled yet. For example, Fig. 1 shows a greedy tree with degree sequence (4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1,..., 1). v 1 v 2 v 3 v 4 v 5 v 21 v 22 v 23 v 31 v 32 v 33 v 41 v 42 v 51 v 52 Figure 1: A greedy tree. Interestingly, the greedy trees are also extremal with respect to many other graph indices, among which is the following special case of the Randić index [3], also called the weight of a tree [4]: R(T ) = deg(u)deg(v). uv E(T ) A comprehensive discussion of the extremal trees of given degree sequences with respect to functions defined on adjacent vertex degrees can be found in [10]. For trees of different given degree sequences, much work has been done in comparing the greedy trees (of the same order) of different degree sequence. In particular, for two https://digitalcommons.georgiasouthern.edu/tag/vol3/iss1/1 DOI: 10.20429/tag.2016.030101 2

Ozen et al.: An Edge-Swap Heuristic for Finding Dense Spanning Trees nonincreasing sequences π = (d 1,, d n) and π = (d 1,, d n), π is said to majorize π if for k = 1,, n 1 k d i i=0 k i=0 d i and n d i = i=0 n i=0 d i. The concept of majorization has been applied to the comparison of greedy trees of different degree sequences in order to find the dense structures (with minimal total distance or maximal number of subtrees) under various constraints. See [13] for an example of such discussions. For convenience we also say that π is higher in the majorization ladder than π if π majorizes π and π π. To find dense spanning trees, our edge-swap heuristic starts with a random spanning tree. We then continuously remove a bad edge and add a good edge in order to improve the density of the spanning tree. From the perspective of distance-based and structure-based graph indices, evaluating the corresponding index of the resulted tree at each step would be extremely time consuming. We propose an edge-swap heuristic that is based on the above results and use R(T ) instead of the distance or number of subtrees as an effective measure. In every step, we consider the degrees of the end vertices of the edge to be removed or added, as well as the resulted change in R(T ). Such a strategy simultaneously optimizes the value of the R(T ) and improves the degree sequence in the ladder of majorization. The consideration of R(T ) results in an efficient algorithm that quickly finds a dense spanning tree, which we present in the next section. Computational results will be provided for both randomly generated graphs and specific examples from applications. We also comment on improvements of the final result with the degree sequences taken into account. 3 The edge-swap heuristic In this section we present an edge-swap heuristic in detail. The following algorithm takes a graph G = (V, E) as input and returns a dense spanning tree T as output. Step 1. Input G(V, E) and generate a random spanning tree T for G. Let SPARSE be true. Step 2. Step 2-1: Find the candidate edge e to be removed from T. For each edge e = uv E(T ), let f(e) = d u d v + d u 1 i=1 d ui + where d u and d v are the degrees of the vertices u and v respectively (in T ), d ui for 1 i d u 1 (d vi for 1 j d v 1) are the degrees of the other neighbors of u (v) in T. d v 1 i=1 d vi Published by Digital Commons@Georgia Southern, 2016 3

Theory and Applications of Graphs, Vol. 3 [2016], Iss. 1, Art. 1 Let e be an edge with the minimum f(.) value. Step 2-2: Generate the spanning forest T = T e with two components T u and T v. Step 2-3: Find the candidate edge e (with end vertices in T u and T v respectively) to be added to T. For each edge e = u v E(G) with u T u and v T v, let d u g(e ) = (d u + 1)(d v + 1) + d u i + where d u and d v are the degrees of the vertices u and v respectively (in T ), d u i for 1 i d u (d v i for 1 j d v ) are the degrees of the neighbors of u (v ) in T. Let e be such an edge with the maximum g(.) value. Step 2-4: Generate the spanning tree T = T + e. Step 2-5: If f(e) < g(e ), let SPARSE be true. Otherwise let SPARSE be false. Step 3. While SPARSE is true, let T = T and repeat Step 2. Return T when SPARSE is false. Figure 2 and Figure 3 present a step by step illustration (left right and top bottom) of the algorithm, where the spanning trees in each step is shown in bold face and the removed edge in each step is shown with a dotted line. Remark 1. In the above algorithm, the value i=1 g(e ) f(e) = R(T ) R(T ) is the maximum possible improvement in R(.) over one swap. In the case of a tie (i.e., multiple edges can serve as e or e ), we simply pick one of them. Since after each swap, the value of R(T ) is strictly increasing, this process terminates after finitely many steps. 4 Computational results Of course, the heuristic proposed in the previous section does not guarantee the densest spanning tree as an output. But as experimental results show, this heuristic effectively finds a dense spanning tree within very few swaps and hence is of great practical interests. When tested on 100 randomly generated graphs, each of order 15 and containing a spanning star, the algorithm returns a star in over 60 runs. Part of this data (that is representative of the general performance) is shown in Table 1. Note that a star on 15 vertices has total distance 196. This is attainable for all graphs considered above. As shown in Table 1, all resulting spanning trees are dense (even if it is not a star) with only one exception, the graph D. In the example shown in Figure 4, 7 edge-swaps resulted in the final spanning tree from the original graph on 15 vertices and 37 edges. When applied to the US Airports data set of 332 vertices and 2126 edges [5], only 15 edge-swaps were needed to obtain the final spanning tree. In this case, total distance of the tree is reduced from 1444880 to 1421327, a reduction of 23553. d v i=1 d v i https://digitalcommons.georgiasouthern.edu/tag/vol3/iss1/1 DOI: 10.20429/tag.2016.030101 4

Ozen et al.: An Edge-Swap Heuristic for Finding Dense Spanning Trees Figure 2: Step by step illustration of the algorithm Published by Digital Commons@Georgia Southern, 2016 5

Theory and Applications of Graphs, Vol. 3 [2016], Iss. 1, Art. 1 Figure 3: The original graph (on the left) and the resulted spanning tree (on the right) Graphs Number of swaps Initial distance Final distance Returns a star A 9 386 238 N B 15 384 196 Y C 10 404 196 Y D 0 348 348 N E 10 432 196 Y F 10 382 196 Y G 8 374 232 N H 13 348 196 Y I 16 382 196 Y J 10 382 196 Y Average: 10.1 382.2 219 - Table 1: Results of ten randomly generated graphs on 15 vertices Figure 4: The original graph with first spanning tree (on the left) and the resulted spanning tree (on the right) https://digitalcommons.georgiasouthern.edu/tag/vol3/iss1/1 DOI: 10.20429/tag.2016.030101 6

Ozen et al.: An Edge-Swap Heuristic for Finding Dense Spanning Trees 5 Further improvements In earlier sections we provided a simple and efficient edge-swap heuristic to find dense spanning trees. Computational results are also presented and analyzed. A simple way of improving the likelihood of achieving denser spanning trees can be obtained by replacing Step 2-5 of the algorithm with the following: (Step 2-5) : If f(e) < g(e ) or f(e) = g(e ) and the degree sequence of T is higher in the majorization ladder than that of T, let SPARSE be true. Otherwise let SPARSE be false. In this case, after each swap, the value of R(T ) is strictly increasing or nondecreasing with the degree sequence moving up in the majorization ladder. Take, for instance, two of the randomly generated graphs on 15 vertices as discussed in the previous section, Figures 5 and 6 show improvements in the resulted spanning tree. Figure 5: The resulted spanning trees from the original algorithm (left) and the modified algorithm (right) Figure 6: The resulted spanning trees from the original algorithm (left) and the modified algorithm (right) When applying the modified algorithm to the US Airports data set, the improvement over the original algorithm is shown in Table 2. For completeness, we also describe the pseudo-code (for the modified algorithm) in Algorithm 1. Published by Digital Commons@Georgia Southern, 2016 7

Theory and Applications of Graphs, Vol. 3 [2016], Iss. 1, Art. 1 Number of swaps Total distance Decrease in distance Algorithm 15 1421327 23553 Modified algorithm 23 1412038 32842 Table 2: Comparison of the algorithms with the US Airport data set Data: G = (V, E) Result: Updated tree T 1 Load data set: G data set; 2 T MST(G); 3 sparse true; 4 while sparse is true do 5 (L remove, min f(e)) findremovaledges(t ); 6 Select removal edge: e (u, v); 7 T r T \(u, v); 8 (neighbors u, neighbors v) split(t r, (u, v)); 9 (L add, max g(e)) findinsertionedges(g,t r,neighbors u,neighbors v) 10 Select insertion edge: e (u, v ); 11 T a T r (u, v ) ; 12 if min f(e) < max g(e ) then 13 T T a 14 else if min f(e) == max g(e ) then 15 if degree sequence of T a majorizes degree sequences of T then 16 T T a; 17 else 18 sparse false; 19 end 20 else 21 sparse false; 22 end 23 end Algorithm 1: Pseudo-code for the modified edge-swap heuristic The algorithm starts with loading data set in the format of a n 3 matrix. The first two columns represent an edge with two vertices and last column shows weights between these vertices. A minimum weighted spanning tree T is then generated through the Kruskal algorithm. Each iteration of edge-swapping includes removing a bad edge and adding a good edge which is not in the current tree. Function f indremovaledges takes adjacency matrix of the tree T as an input and returns list of the candidate edges with the minimum value of f(.). From candidate list, one of the edges, e = (u, v) is chosen to be removed. After removing the edge from the adjacency matrix of the tree T, we obtain T r as the https://digitalcommons.georgiasouthern.edu/tag/vol3/iss1/1 DOI: 10.20429/tag.2016.030101 8

Ozen et al.: An Edge-Swap Heuristic for Finding Dense Spanning Trees updated graph. Function split is used to split the adjacency matrices of new two subtrees up and return the lists of vertices in each component. Function findinsertionedges takes the lists, adjacency matrices of the updated graph and the original graph as inputs. After calculating g(.) for each candidate edge, it returns minimum g(.) and list of corresponding edges. One of the candidate edges e = (u, v ) is chosen to be inserted and the updated tree T a is obtained. If f(e) < g(e ), the new tree is denser than previous and the process continues. If f(e) = g(e ), the degree sequences of the initial tree and current tree are calculated. If the degree sequence of the current tree T a majorizes that of T (and the two degree sequences are not the same), then an edge-swap is made; otherwise process is terminated. 6 Complexity Analysis For the original question of finding a spanning tree that maximizes the number of subtrees or minimizes the total distance, the complexity appears to be difficult to determine. To our best knowledge, the complexity of this problem is not yet determined. However, given that dense trees usually have large number of leaves and the problem of finding spanning trees with the most leaves is NP-hard [1], it is natural to guess that finding dense spanning trees is also hard. On the other hand, the complexity can be easily deduced for our algorithm described in Section 3. It is easy to see that it takes O(n) time to find an edge to remove in Step 2-1. The total number of edges in G is at most ( n 2), implying that Step 2-3 takes O(n 2 ) time to complete. Since each iteration the original algorithm strictly increase the value of R(.) and the largest possible R(T ) on an n-vertex tree is achieved by R(K 1,n 1 ) = (n 1) 2, there are at most O(n 2 ) iterations. Thus the complexity of the original algorithm is O(n 4 ). Note that this is just worst case analysis. In practice the algorithm usually runs much faster. As shown in the previous section, the results can be improved by implementing a slightly different Step 2-5 as shown in the modified algorithm (Algorithm 1). Note that each degree sequence of a tree on n vertices is equivalent to (after removing 1 from each degree and only keeping non-zero entries) a non-increasing sequence of positive integers that sum up to 2n 2. For example, a degree sequence (5, 4, 3, 3, 3, 2, 1,..., 1) of a tree on 16 vertices is mapped to (4, 3, 2, 2, 2, 1) with 4 + 3 + 2 + 2 + 2 + 1 = 14. Thus the number of all possible degree sequences of a spanning tree of a graph on n vertices is the same as the number of integer partitions of n 2, which is exponential. This implies that the worst case scenario of the modified algorithm could have its number of iterations being exponential. However, as shown in Table 2 for the US Airport data set and experimentation with random graphs, the modified algorithm generally terminates much faster. References [1] M.R. Garey, D.S. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness (1979) W. H. Freeman & Co., New York, NY, USA Published by Digital Commons@Georgia Southern, 2016 9

Theory and Applications of Graphs, Vol. 3 [2016], Iss. 1, Art. 1 [2] B. Knudsen, Optimal multiple parsimony alignment with affine gap cost using a phylogenetic tree, Lecture Notes in Bioinformatics 2812, Springer Verlag, 2003, 433 446. [3] M. Randić, On characterization of molecular branching, J. Amer. Chem. Soc. 97 (1975) 6609 6615. [4] D. Rautenbach, A note on trees of maximum weight and restricted degrees, Discrete Math. 271 (2003) 335 342. [5] Pajek datasets, US Air lines: http://vlado.fmf.uni-lj.si/pub/networks/data/ [6] N. Schmuck, S. Wagner, H. Wang, Greedy trees, caterpillars, and Wiener-type graph invariants, MATCH Commun.Math.Comput.Chem. 68(1) (2012), 273 292. [7] R. Silva, D. Silva, M. Resende, G. Mateus, J. Goncalves, P. Festa, An edge-swap heuristic for generating spanning trees with minimum number of branch vertices, Optim. Lett. 8 (2014) 1225 1243. [8] L.A. Szekely, H. Wang, On subtrees of trees, Advances in Applied Mathematics 34 (2005), 138 155. [9] H. Wang, The extremal values of the Wiener index of a tree with given degree sequence, Discrete Applied Mathematics, 156 (2008), 2647 2654. [10] H. Wang, Functions on adjacent vertex degrees of trees with given degree sequence, Central European J. Math. 12 (2014) 1656 1663. [11] H. Wiener, Structural determination of paraffin boiling point, J. Amer. Chem. Soc. 69 (1947), 17 20. [12] X.-D. Zhang, Q.-Y. Xiang, L.-Q. Xu, R.-Y. Pan, The Wiener index of trees with given degree sequences, MATCH Commun.Math.Comput.Chem., 60 (2008), 623 644. [13] X.-M. Zhang, X.-D. Zhang, D. Gray, H. Wang, The number of subtrees of trees with given degree sequence, J. Graph Theory, 73(3) (2013), 280 295. https://digitalcommons.georgiasouthern.edu/tag/vol3/iss1/1 DOI: 10.20429/tag.2016.030101 10